new post: Things I read, Week 2
This commit is contained in:
parent
4d7f6dbc4b
commit
822e368589
58
_posts/2018-01-08-things-i-read-week-2.md
Normal file
58
_posts/2018-01-08-things-i-read-week-2.md
Normal file
|
@ -0,0 +1,58 @@
|
|||
extends: post.liquid
|
||||
title: "Things I read, Week 2"
|
||||
date: 08 Jan 2018 10:54:22 +0100
|
||||
path: /:year/:month/:day/things-i-read-week-2
|
||||
route: blog
|
||||
---
|
||||
|
||||
I want to try something new on this blog this year.
|
||||
I tend to read and watch a lot of things during a week, either for work, for education or for fun and entertainment.
|
||||
Sometimes I have thoughts on the content, sometimes I don't. I often rumble around a few thoughts [on Twitter](https://twitter.com/badboy_/), but that often gets lost.
|
||||
I will start collecting the things worthwhile to mention now evey week and publish them here.
|
||||
|
||||
Let's start!
|
||||
|
||||
### Article: [Some Were Meant for C](https://www.cl.cam.ac.uk/~srk31/research/papers/kell17some-preprint.pdf) (PDF)
|
||||
|
||||
|
||||
An article by [Stephen Kell](https://www.cl.cam.ac.uk/~srk31/).
|
||||
He argues that C is not popular because of performance concerns, but for reasons of communication and integration.
|
||||
He thinks it could be possible to implement C, the language, in a safe manner, while still allowing for a lot of the low-level things C can do.
|
||||
|
||||
> C is far from sacred, and I look forward
|
||||
> to its replacements—but they must not forget the importance
|
||||
> of communicating with aliens.
|
||||
|
||||
I can follow his thoughts and arguments, but I don't agree with his conclusions
|
||||
(I can't fully express my disagreement yet).
|
||||
His clear cut between C (unsafe, but low-level) and everything else (high-level, safe, managed) is too weak.
|
||||
There are things in between (I see Rust in this position).
|
||||
E.g. Rust allows unsafe wrappers around C-like things (direct memory access, re-use of in-memory data structures) plus safe interfaces on top of that.
|
||||
|
||||
### Code: [Lock-free grow-only Skiplist](https://gitlab.com/boats/skiplist/)
|
||||
|
||||
[withoutboats][] wrote an implementation of a lock-free grow-only map and set on top of a skiplist.
|
||||
After I <strike>wrote</strike> tried to write a lock-free skiplist back in the days [of my bachelor thesis](/2014/11/15/how-to-not-write-a-bachelor-thesis/), I was happy to see a reasonable, small, understandable implementation of this concept, even if it completely skips the hard part (removing of entries).
|
||||
For that reason (the removal part) his solution would not have worked back then for me, but it's still interesting.
|
||||
The code uses a lot of unsafe and might very well contain bugs, so don't use it right now.
|
||||
|
||||
[withoutboats]: https://twitter.com/withoutboats
|
||||
|
||||
### Code: [smoltcp](https://github.com/m-labs/smoltcp)
|
||||
|
||||
A standalone TCP/IP stack implementation in Rust.
|
||||
Does all the things like ARP, ICMP, IPv4 and IPv6, TCP and UDP.
|
||||
It can do `tcpdump`-like packet filtering on a raw socket or can be used as a user-land networking library through tap interfaces.
|
||||
It you're into networks it's worth to take a look.
|
||||
|
||||
### Blog post: [Rust 2018](https://www.ncameron.org/blog/rust-2018/) by Nick Cameron
|
||||
|
||||
(This is a response to [the community call for roadmap blogpost](https://blog.rust-lang.org/2018/01/03/new-years-rust-a-call-for-community-blogposts.html))
|
||||
|
||||
Nick argues for a boring year for Rust, which I can agree with when it comes to the roadmap.
|
||||
We should finish off the stuff that is already half way there and get rid of old debt.
|
||||
This does not mean that we can't experiment or try new things/ideas/areas, but they won't be the main focus of the core team's roadmap. Individuals or groups should definitely pull Rust into new fields.
|
||||
|
||||
And as tweeted before, Rust's roadmap is a community effort, weigh in with your opinion to shape [#Rust2018!](https://twitter.com/search?q=%23rust2018)
|
||||
|
||||
|
Loading…
Reference in a new issue