Go/Rust writer and teacher 🦀. Programming is fun, and you should have fun! Join my Code Club for free Rust + Go learning resources ↓

Cornwall
The software to create the black hole in the movie 'Interstellar' is a full implementation of Einstein's equations in 40,000 lines of C++, and rendered thousands of 23-megapixel IMAX frames on a 32,000-core render farm at about 20 core-hours per frame arxiv.org/pdf/1502.03808.pdf
203
9,233
21,628
Junior dev: My code is simple and easy to understand. Mid-level dev: My code is subtle, clever, innovative, expressive, hyper-optimized, and ingenious. Senior dev: My code is simple and easy to understand.
88
1,070
4,458
I once worked with a manager who asked “Why do we all need these SREs when the site never goes down?”, and I think about that a lot.
90
395
3,902
405,925
The software industry is rapidly converging on just three languages: Go, Rust, and JS. It would be smart to learn one of those really well, and have at least a working acquaintance with the other two.
638
261
3,394
3,017,045
If you think you're on the project from hell, this will cheer you up: * 6M lines of obsolete flavour C++ * 50K classes * CORBA * 48hr build time * Average dev turnover 3 months * 35 managers for 25 developers * Fired if you arrive at 9.01am buff.ly/2FVPAiS
123
1,756
2,630
I like this.
13
356
2,308
gtop is a system monitoring dashboard that runs in a terminal, and by gosh, it's sexy. github.com/aksakalli/gtop
51
857
1,984
CI/CD is the purest expression of Conway’s Law: your CI/CD pipeline will be broken and messy in exactly the same ways your engineering org is broken and messy. info.acloud.guru/resources/b…
24
678
1,840
A paper about a C compiler which produces executables containing only printable characters, and the paper itself is produced by the compiler, and therefore is executable, and also plays music when you run it, and this is the paper: cs.cmu.edu/~tom7/abc/paper.p… /by @tom7 /via @danluu
22
931
1,731
"We haven't got time to automate this stuff, because we're too busy dealing with the problems caused by our lack of automation." —Everyone
52
2,530
1,514
Understanding uptime: 98.12% - you have a few problems 99.65% - you have no major problems 100.00% - your monitoring is broken
31
1,779
1,260
JUNIOR DEV: I'll copy and paste this code. MID-LEVEL DEV: Let’s refactor. If we add more abstractions, we can get rid of all this duplicated code! SENIOR DEV: A little copying is better than a little dependency. Copy and paste it.
34
461
1,207
“So, using whatever language you want, php, python, perl, javascript, program something that gets today’s date and time, then writes it to a file.” Me: $ date > today.txt “We don’t feel you have the right skill set.” stilldrinking.org/interviewi…
36
412
1,118
They say that every controversial political opinion you post on Twitter costs you half your followers. Well, here we go, then: • Cancel Brexit • Impeach Trump • Black lives matter • Refugees are people too • Believe women • Tabs, not spaces
118
172
970
Writing better code, in five (not so) easy steps: 1. Zero comment policy. Instead of comments, focus on code readability. 2. Zero TODO policy. Your codebase is not a project management system. 3. Self-documenting code 4. Immutables 5. One LoC per thought buff.ly/2GilvpL
45
430
827
Interviewed for a sysadmin job at a small firm. Fluffed a question on octal permissions values in chmod. Rejected: "Your Unix knowledge isn't quite strong enough". Unix user for 30 years, full-time pro sysadmin for 20, published six books on config management #ShareYourRejections
54
165
792
LeetCode is a useless interviewing tool. Very few of our jobs are actually about finding an efficient algorithmic solution on the spot, with no support, and real life generally requires days of work on a design. Why are we using riddles to hire developers? fev.al/posts/leet-code/
38
97
738
Cheer up. You could be working on Oracle: * 25 million lines of C * Thousands of flags * 30 hours to run tests * At least 100 tests always fail * 2 months for code review * 2 years to ship a feature news.ycombinator.com/item?id…
18
337
737
Carbon is a nice tool for making quick, pretty code screenshots. Just paste and save carbon.now.sh/
10
218
687
Why would you waste your time learning to use a debugger? Are you planning to write bugs?
51
86
656
74,554
There's a great interview about 'Interstellar' with Double Negative's @pauljfranklin (VFX Sup) and Oliver James (Chief Scientist), co-authors of the paper: piped.video/g7zxGeB1AVw
1
131
643
Containers! Is there any word more thrilling to the human soul?
28
490
578
People don't talk all that much about code that uses simple patterns, because it is "boring". In my view, your first task as a beginner is to learn to write "boring" code well github.com/theindigamer/not-…
12
158
587
“I didn't expect this ever to cause any problems" is probably the last thing we'll hear as the world ends unix.stackexchange.com/quest…
12
300
569
This looks brilliant. “Next time you get a dodgy email in your inbox, forward it on to me@rescam.org, and a proxy email address will start replying to the scammer for you, doing its very utmost to waste their time.” theverge.com/2017/11/10/1663…
11
295
548
The amazing PDP-11 shaped computing as we know it today. “Before the PDP-11, there was no UNIX. Before the PDP-11, there was no C. This is the computer that C was designed on.” dave.cheney.net/2017/12/04/w… /by @davecheney
23
292
551
“This is how insanely bad Bitcoin is for the environment: If you buy a Tesla with Bitcoin, the mining of those bitcoins costs around 80 tons of CO2—four times more than the Tesla itself saves over a gasoline-powered car in its lifetime.” franck-leroy.medium.com/buyi…
31
293
525
Shout out to all those installing long-overdue updates on their family's computers, phones, devices, consoles, routers, set-top boxes, fridges, and cars. Happy Patch Christmas, everybody!
5
165
507
ssh-audit is a tool for checking the security of SSH servers (think of it as like SSL Labs for your SSH server), which can warn about weak ciphers, hashes, etc github.com/arthepsy/ssh-audi… /via @michael_eder_
6
247
532
I think the watershed moment when a cool, innovative startup becomes an obese, moribund corporation is probably the adoption of JIRA.
27
327
474
"How often do we have unforeseen problems?" "One hundred percent of the time." dilbert.com/strip/2018-01-22
4
256
483
Technical writing is 10% typing and 90% trying to think of good examples.
6
104
478
"We don't have the time to do good engineering, because we need to get the company out of the hole it's in." "Gee. How'd the company get into such a hole, anyway?" "Bad engineering."
6
257
486
Homebrew is like a really boring text adventure. > INSTALL MACVIM You need to install Python first. > INSTALL PYTHON You need to update your Xcode to do that! > PUT THE JUNK MAIL ON THE SATCHEL You don't have that item. > BREW DOCTOR You were eaten by a grue!
14
118
444
Don't try to fix your company's broken culture; you can't. Just go work for a better company (or start one).
26
216
457
Joplin is an open-source, cross-platform Evernote replacement for Windows, MacOS, Linux, Android, iOS, and the command line. Supports sync, Markdown, images, attachments, and Evernote import opensource.com/article/17/12…
6
153
451
robots.txt
2
75
443
"I spent the last three days setting up my programming environment." dilbert.com/strip/2017-01-02
12
231
444
If you ever suffer from the illusion that your work is important, spending a few hours in an ICU will cure you of that pretty quickly.
16
181
444
You can master basically any skill if you're willing to commit to doing it a little bit every day. That means doing it when you're tired, or busy, or stressed, hung over, no matter what. The secret is not intelligence, talent, or even free time, but simply an effort of will.
15
125
446
The C coding standards of OpenBSD are among the highest you'll ever find. The OpenBSD source tree is a great learning resource, with clear explanatory documentation, which can also teach you something about being a good programmer in general dev.to/apotheon/openbsd-is-c…
6
134
423
"Can I work remotely?" is a great question to ask about a job, even if you don't intend to. If they say no, look for a better company.
22
256
405
Kernighan's Law: “Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” More wise and funny programming principles makeuseof.com/tag/weird-prog…
9
192
396
Finally, a mobile device I can take decent notes on.
27
156
381
Docker has freed us from the nightmare of configuration management, and replaced it with the nightmare of Dockerfiles.
20
119
391
"Should I use curl or wget?" Neither. You should use httpie httpie.org/
13
119
393
Rob Pike's rules: 1 You can't tell where a program will spend its time 2 Don't optimise until you've measured 3 Fancy algorithms are slow for small N, and N is usually small 4 Fancy algorithms are buggier than simple ones 5 Data structures, not algorithms users.ece.utexas.edu/~adnan/…
5
98
389
“This feature should be easy. It’s just a little bit of code, right?” —How to spot a non-developer.
23
85
364
“Don't use feature branches: work on master all the time. Make changes in tiny steps. Each change is itself atomic and leaves the code in a working state. We are happy to deploy changes into production that are not yet complete, but don’t break anything.” davefarley.net/?p=247
22
167
352
You think you would, but you really wouldn't.
13
65
332
If you're having trouble hiring, you might want to rethink your remote work policy. It's the choice between two talent pools: the one that lives within an hour of your physical office, or, you know, literally the ENTIRE WORLD.
- 99% of my work is done on a computer. Can I work remotely? - No, come to the office. - But my entire job is emails & conference calls! - To the office. - My project team work in another country, it won’t... - ...the office. - ...You’re not listening to me, are you? - OFFICE!
8
122
337
If you force people to work 12-hour days you won’t get any more productive work out of them than someone doing 8 hours. They’ll just read news websites for an extra four hours and take a lot of tea breaks. Ask me how I know.
24
94
323
My new book is out now! It's called "For the Love of Go: Fundamentals", and it's an introduction to test-driven Go development for complete beginners, but experienced Gophers may find it interesting too. And it's priced at a pocket-friendly $4.99. bitfieldconsulting.com/books… #golang
17
94
344
“After another three years and a few large projects in Go, I no longer like the language and wouldn’t use it for a new project. Here are 10 reasons why.” teamten.com/lawrence/writing… #golang
9
170
350
How Dropbox hacks your Mac (by faking what looks like an OS X authentication dialog): applehelpwriter.com/2016/07/…
19
536
324
Where bad decisions come from: “1. We must do something. 2. This is something. 3. Therefore we must do this.“
12
274
316
Software must be one of the only industries where workers are trying to make the product better and managers are actively stopping them.
10
112
321
“Kanban.bash is a personal, command line to-do manager / kanban board for minimalist productivity bash hackers.” github.com/coderofsalvation/…
5
156
338
"Feel like trolling a colleague? Just add 'source ~/evil.sh' to their .bash_profile and watch the chaos ensue." github.com/mathiasbynens/evi…
23
219
321
Unpopular opinion: you need a degree-level education in computer science to be a really good developer. If you have one from a university, great. If not, it's time to start educating yourself. The resources are there; all you need is willpower, effort, and time.
61
53
336
Hi, my name is John. I’ve been wrangling computers for 35 years, and I’ve learned you can’t just Google kindness, decency, and humility.
8
114
322
httpstat shows a visual breakdown of HTTP request timing, from DNS lookup to content transfer davidwalsh.name/httpstat h/t @l4rk
8
211
330
Controversial hot take: If one of your monitoring checks has been red for a week or more, get rid of the check. If the service was that important, it would have been fixed by now, and monitoring unimportant services is a waste of time.
15
119
312
Don't just say 'hi', or 'can I ask a quick question?' in chat, then wait for the other person to respond. Instead, say 'hi' and ask your question right away. It's a way to respect their time and attention. buff.ly/3o7frW5
37
94
327
Your email inbox is not your to-do list. Your open browser tabs are not your to-do list. Your starred items in Slack are not your to-do list. Your to-do list is your to-do list.
33
103
317
“Next time I interview for a job, I'm going to ask ‘What is the entire process for a one line change in code to make it to production?’ I think that will tell me a lot.” —@jeremykahne
15
49
322
”For probably 80% of the software we write, Go gets the job done just fine. Rust, on the other hand, neatly fills the gaps where Go isn’t an ideal choice: kernels, firmware, embedded devices, real-time systems.“ bitfieldconsulting.com/posts…
14
43
334
18,708
If you like PingFS, the filesystem that stores data in ICMP packets, you'll love DNSFS. “There are surely a lot of open DNS resolvers on the internet that are just asking to be used for storing random things in them.” Let's make it happen blog.benjojo.co.uk/post/dns-… /by @Benjojo12
5
181
301
If your tests are failing and you can’t figure out why, then congratulations! Your tests just found a bug that you couldn’t.
9
119
315
The skills programmers need now are drastically different from what they were in the 1990s. They need less mathematics and algorithms, and more ‘sociotech’ skills: navigating relationships between people and communities cacm.acm.org/magazines/2018/…
15
131
305
If the programmers like each other, they play a game called “pair programming”. And if not, then the game is called “peer review”. —@ashalynd
5
85
304
“The Raspberry Pi isn’t susceptible to Meltdown / Spectre, because of the particular ARM cores that we use. To see why, here’s a little primer on modern processor design. We’ll illustrate these concepts using simple programs in Python ” raspberrypi.org/blog/why-ras… /via @walter_smith
3
217
303
A regular salary is the death of self-development. Why learn new things, when you get paid regardless? Why put in effort, energy, and inspiration, when you're not rewarded for them? Why push the edge of what you can do, so long as the checks keep coming anyway?
183
75
316
"Are you done meeting with those idiots from the customer yet?" When you send someone a private Slack message, assume it's going to pop up when the recipient is screen-sharing on a conference call, because it will.
21
97
288
A primary cause of software complexity is that vendors uncritically adopt almost any feature that users want. People seem to misinterpret complexity as sophistication. The incomprehensible should cause suspicion rather than admiration. —Niklaus Wirth lvguowei.me/post/a-plea-for-…
7
164
291
"Making distributed systems reliable is inherently impossible; we cling to Byzantine fault tolerance, hoping that a series of complex software protocols will somehow protect us from the oncoming storm of furious apes tampering with our network packets." scholar.harvard.edu/files/mi…
5
111
298
"People think that web browsers are elegant, and web pages are light, fluffy things you can edit in Notepad as you trade ironic comments with your friends in the coffee shop. Nothing could be further from the truth. A modern web page is a catastrophe." scholar.harvard.edu/files/mi…
18
115
289
The real risk with remote workers is not that they might goof off, but that they might work too hard. “Five years of remote working really took a toll on my mental comfort sometimes, and had some unwanted impact on my family relationships.” medium.com/@madewulf/the-str… /by @madewulf
10
157
303
Go is too simple to write complicated programs, while Rust is too complicated to write simple programs. It all depends which problem you’d rather have. #golang #rustlang
50
15
300
38,193
“WTF is a personal terminal-based dashboard utility written in Go, designed for displaying infrequently-needed, but very important, daily data.” github.com/senorprogrammer/w…
8
113
297
Finally someone implemented the 'do what the fuck I mean' CLI we all want: github.com/nvbn/thefuck/blob… /via @jessereynolds
13
193
290
Also, if you can’t deploy your automated, resilient, self-scaling infrastructure because GitHub is down, you may have missed a step.
Github is down. This is not a drill. Civilisation died in this kind of situation. Probably.
3
231
274
“Everybody just downloads precompiled binaries from random websites. Often without any authentication or signature. You don’t need to exploit any security hole anymore. Just build a container, and have people load your malicious binary to their network.” vitavonni.de/blog/201503/201…
12
145
285
I've written a book! Essentially, it's an attempt to cut through all the Kubernetes hype and bullshit, and provide a practical guide to getting stuff *done* with containers and cloud: using PaaS, deploying real apps, CI/CD, backups, scaling, observability. amzn.to/2PEPTjc
8
41
299
Bad code has few comments. Good code has many comments. Great code needs no comments.
32
141
279
The key difference between Rust and Go: you think you can understand Go code, but you're wrong. On the other hand, you think you CAN'T understand Rust code, and you're right.
13
38
294
26,491
Proselint is a linter for prose—a command-line tool which analyzes text for redundancy, jargon, illogic, clichés, sexism, misspelling, inconsistency, misuse of symbols, malapropisms, oxymorons, security gaffes, hedging, apologizing, pretension, and more proselint.com/
9
101
274
This idea makes a lot of developers extremely angry. They presumably don't see it as their job to care whether their code actually works.
93
144
266
“Bitcoin is the worst waste of resources and energy in human history. It is physically and structurally unsustainable. This is a call to ethical hackers to help destroy Bitcoin, through computer attacks and short selling.” franck-leroy.medium.com/gree…
15
95
238
Use stable versions. Use the stack that everybody else is using. Use the big cloud provider. Monitor everything to death. Be extremely change-averse. Build everything automatically from config management. Avoid surprises. Don't get paged on the weekend. Choose life.
9
113
278
People no longer want heroes, ninjas, and rockstars; they want senior engineers who mentor, knowledge share, balance their work and life so that they don’t burn out and build sustainable and maintainable software medium.com/@bellmar/heroes-a…
6
107
288
Replying to @joe_hellerstein
I rather resent the implication that anything a journalist doesn't understand must be boring. In my experience, the opposite is more likely to be the case.
3
278
15,128
The genius of Go is that it has a garbage collector. The genius of Rust is that it doesn't need one.
14
17
284
42,004
If your UI component ever steals focus again while I'm in the middle of typing, I will end you. I will fucking end you. Got that, chief?
8
45
271
Kubris, n.: the quality of extreme or foolish pride or dangerous overconfidence in one's Kubernetes skills. See also 'clustastrophe'.
4
88
276
I'm now a certified devops consultant! Look, here's my self-signed certificate.
4
144
262
Pull requests are the de facto standard workflow, but an inefficient one. In trunk-based development, everyone commits on master, unfinished features are hidden by flags, and code reviews are per-commit. It sounds appalling, but it makes sense dev.to/shubhamjain/the-case-…
13
90
279