Or put && between them - I had "compile;run" and when compile failed, it still ran (but the old build). Took me a while to figure out. && ensures the first command succeeds. Anyway, so worth it to combine commands into one line for easy re-run.
HN user
henrik_w
Hi. My name is Henrik Warne. I am a software developer in Stockholm, Sweden. I have been programming professionally for more than 25 years, and I still love to code!
Blog: http://henrikwarne.com Twitter: @henrikwarne
https://henrikwarne.com/ - my blog about programming (started it in 2011). Happy to have had several posts hit the HN front page.
The book by Ben Macintyre, "Operation Mincemeat: How a Dead Man and a Bizarre Plan Fooled the Nazis and Assured an Allied Victory", is very good.
https://www.goodreads.com/book/show/7632329-operation-mincem...
Thanks, my mistake. Don't know how to delete, so will submit again instead.
TLDR - one email per weekday.
I love the craft of coding, and I still use ChatGPT every day to good effect. It writes the boilerplate code for me, and leaves the fun part to me. Don't underestimate the power of getting to a good, working solution faster.
I wrote a blog post about it yesterday:
https://henrikwarne.com/2024/08/25/programming-with-chatgpt/
Great to hear!!
I ran a book club for 7 years when I worked at TriOptima. We were maybe 40 developers in total at the company, and around 10 would join when we picked a new book. Towards the end of one book, some people would always drop off, but there were still enough people to make it useful.
One of the key (unexpexted) benefits of it was how it facilitated discussions about SW development practices between the different teams at the company. The content was usually good for giving us new ideas to try etc, but the usefullness of the discussions surprised me.
I've written more about it here:
That was the part of the book I found most interesting (although the whole book is a good and interesting read)
I coded professionally for more than 10 years without thinking about ergonomics, and without any problems. But then I started to feel pain in my arms, and it took a lot of effort to get it under control. In the end, what helped me the most was using a break program (to remind me to let go of the keyboard, and to do stretches), in combination with an ergonomic keyboard and mouse.
I've written more details about it here:
Interesting card game - never heard about it before. But it reminds me of the card game Set [1], which has a similar objective of finding cards that "belong together" in some sense. It also has interesting (and similar) mathematical properties, although there is no analytical solutions (as far as I know) once you start playing by removing sets. I was really fascinated by this twelve years ago, an simulate game play to find the probabilities [2]. Great fun!
1. https://en.wikipedia.org/wiki/Set_(card_game)
2. https://henrikwarne.com/2011/09/30/set-probabilities-revisit...
On the subject of beauty, I really like this quote from Joe Armstrong:
“Make it work, then make it beautiful, then if you really, really have to, make it fast. 90 percent of the time, if you make it beautiful, it will already be fast. So really, just make it beautiful!”
I'm still using a Penclic mouse. I love it, works great for me.
I worked for 14 years, coding almost every day, before I started feeling pain in my arms. Took quite a while to get better. Not saying it will happen to you (people are different), but in my case I think the problems built up over years of working with poor ergonomics. My best advice is to take it seriously if you do start feeling any pain.
I'm using MacBreakZ 5. Simple, but works well for me.
I had severe problems with RSI many years ago, to the point where I thought I had to give up programming alltogether. I also got an ergonomic keyboard, which helped, and an argonomic pen-like mouse. However, I would say that even more important in getting rid of my problems was the use of a break program. It reminds me to take regular breaks, and prompts me to to stretches throuhgout the day. The combination of these things meant that I recovered completely from my problems.
More info here: https://henrikwarne.com/2012/02/18/how-i-beat-rsi/
When I was studying the Raft algorithm a year and a half ago, I found this video on it by John Ousterhout to be a good complement:
Designing for Understandability: The Raft Consensus Algorithm
Can't resist posting this (from Classic Programmer Paintings)
“Raft Consensus Algorithm Failure”,Théodore Géricault, 1819
https://classicprogrammerpaintings.com/post/6141087496359280...
I really enjoyed reading his book Ghost in the Wires. It is the story of Mitnick’s hacking career, from the start in his teens, through becoming the FBI’s most wanted hacker, to spending years in jail before finally being released. It’s a fascinating book that at times reads like a thriller. One of the things that struck me when reading it was how often he used social engineering to gain access to systems.
I wrote more about it here:
https://henrikwarne.com/2015/12/27/social-engineering-from-k...
On the subject of Alan Partridge, I highly recommend the two books, "I, Partridge" and "Nomad".
This is my Goodreads-review of Nomad:
This is one of the funniest books I have read. I just love the Alan Partridge character, with all his insecurities and petty attempts to show off. I read the first book, I Partridge, and this is even better. In Nomad, Alan tells the story of his walk to honour his father – he will walk from Norwich to the Dungeness Nuclear Power Station. Not only is the book packed with hilarious episodes, the writing is also fabulously bad – full of examples like “the wind whistling through my hair like a wind whistle”. Highly recommended.
You forgot TikTok - Cory Doctorow wrote an interesting post on how platforms get bad ("enshittification"):
Thanks, looks fantastic. Just ordered it.
My own reasons for blogging:
- Know what I think. Writing it down makes me think a lot more about it.
- Share what I have learnt. It's nice if something I know becomes useful for somebody else.
- Venting. From time to time there are things that annoy me, or ways of working that I don’t like. Then I can write a blog post and argue how things should be instead.
- To learn. Often comments on the posts, or discussions here or at Reddit add to my understanding.
- To better remember. Reviewing a book or a course helps me remember a lot more of the content.
- The thrill of having readers
- Visibility. If people google me, hopefully the top result is my blog.
- As an archive. I can send people links to my blog if we discuss something I have written about in the past.
https://henrikwarne.com/2017/11/26/6-years-of-thoughts-on-pr...
Great blog! In addition to the technical posts, I also enjoy Eli's quarterly summaries of what he's been reading (which is a lot). The latest one is this:
https://eli.thegreenplace.net/2023/summary-of-reading-januar...
I've been blogging about programming since 2011. I can't say that it has had any direct career impact, although it hasn't hurt either. I have kept writing because it helps me clarify my thoughts. I've also reviewed books and courses, and writing those reviews makes me learn the content much better.
There are other reasons too that I have written about in this post:
https://henrikwarne.com/2017/11/26/6-years-of-thoughts-on-pr...
There is also this in a similar vein:
"The End of Programming"
https://cacm.acm.org/magazines/2023/1/267976-the-end-of-prog...
Discussion:
There is https://refined.blog/ for finding personal blogs about software engineering. Can be sorted by Hacker News upvotes too.
Agreed, it's a good book, although everything in it isn't great. I think he goes overboard when it comes to comments for example. Probably most famous for the concept of "deep modules" (the interface should be a lot simpler than the implementation), which I like. I also really liked the idea about defining errors out of existence, e.g. a substring method can be defined in a way that it never needs to throw any exceptions.
I've written a longer review of it here:
https://henrikwarne.com/2021/07/12/book-review-a-philosophy-...
A new book I read in 2022 that I can really recommend is Effective Software Testing by Maurício Aniche. Very pragmatic, useful tips on how to write tests. I have been developing SW (and tests) for a really long time, but I still learnt a lot from it.
A more detailed review here:
https://henrikwarne.com/2022/06/19/effective-software-testin...
A similar perspective from Sam Altman that I like:
"The days are long but the decades are short"
https://blog.samaltman.com/the-days-are-long-but-the-decades...