8 ms·
Ask HN: Share your favorite software blog posts of 2023
Hey folks, I'm on the lookout for standout software engineering blog posts this year! Interested in anything from system scaling to crafty architectures, optimization, programming languages, and cool features. Whether it's from open-source projects, companies, or individuals, what are your absolute favorite blogs for tech insights in 2023?
P.S. Wishing you all a Merry Christmas and Happy Holidays!
- rpac0 3y agoThis is collection of all the blogs that I found insightful. https://prashantbarahi.com.np/read-in-public https://prashantbarahi.com.np/read-in-public
- WolfOliver 3y agoThe Big TDD Misunderstanding https://linkedrecords.com/the-big-tdd-misunderstanding-8e22c2f1fc21 https://linkedrecords.com/the-big-tdd-misunderstanding-8e22c...
- GuB-42 3y agoMy opinion on methodologies is that if it is too often misunderstood, then it is wrong. The entire point of giving a methodology a name and writing about it is to get everyone on the same page. So if people have different ideas on what TDD is, then people should stop talking about TDD until everyone agree what is and what is not TDD. And only after everyone agrees, one should talk about the pros and cons and assess the success of the methodology depending on the situation. "you are doing it wrong" is not helpful. Back to the article. I think not mentioning TDD at all would make it a better article.
- bhaney 3y agoTalking about it is how we figure out what to agree on.
- throwup238 3y agoThe entire point of giving a methodology a name is making money off it as a tech influencer slash management consultant. Those people don't care one iota about whether everyone agrees or not.
- thiht 3y agoTDD cultists are awful about that, none of them do TDD the same way and if you don’t like TDD it’s because you’re wrong and are certainly doing TDD wrong. I wrote a short rant about it last week: https://dev.to/thiht/tdd-is-a-personal-practice-3o76 https://dev.to/thiht/tdd-is-a-personal-practice-3o76
- MoreQARespect 3y agoI've had this problem with team vocabulary. Once one word gets used to describe 2 or more things it becomes impossible to roll back. I tried banning a particular word once and coming up with 6 new words on the basis that you couldnt tell which of the 6 meanings somebody was using unless you used a different term for each one. That didnt work very well. People got too attached to the old, overloaded term. Expecting an entire industry to stop using a term theyve become used to is not realistic.
- quickthrower2 3y agoThey will all be misunderstood, unless the title is the manifesto. But since the title needs to be short, it won't be. Another example: Nation State. I can't get a clear answer to what that really means :-). Back to computers: REST is a great example.
- tunesmith 3y agoThe biggest missing element, in my mind, of the pro-"classicist" and anti-"mockist" view is that the practice of writing unit tests with mocking leads to refactoring your code until it works with that approach, which in turn leads to better-designed code. I don't like the emphasis of "yeah but refactoring code leads to needing to rewrite mocked tests", because if you've designed your code well, then the need to adjust an api boundary should be less frequent than the need to adjust the internal implementation details. Focusing on integration tests means you can get away with poorly designed code full of corner cases that your integration tests can't catch. Besides, "we can keep the fast feedback loop with parallel tests" really increases the demands on complicated tooling that breaks often.
- DanHulton 3y agoYou can only get away with poorly designed code if that's not caught in the code review. I'd argue that while that might be a nice side benefit of some testing practices, forcing you to rewrite your code isn't relevant to the test - in fact the opposite! Your tests should work irrespective of your code's internals! (Also, you can easily run integration tests in parallel with a little planning and attention to detail. For example, if your IDs don't rely on a sequence (like UUIDs), you can generally run them in parallel regardless of database connections.)
- deleted 3y ago[deleted]
- tunesmith 3y ago> forcing you to rewrite your code isn't relevant to the test - in fact the opposite! Your tests should work irrespective of your code's internals! Are you avoiding rewriting your code so you can write integration tests, or are you writing integration tests so you can avoid rewriting your code? Those that have been around the block of refactoring code so you can write good unit tests, tend to realize that the better-designed code isn't a side benefit. It's the entire point. The test is the side benefit. Integration tests should be avoided if the same coverage can be reached with a refactor and some unit tests. For instance, it's very common for components to rely on complicated combinations of state. For instance, imagine a nightmare component that has nine boolean state parameters. To integration-test every combination, that's 512 cases. But in cases like those, you might discover through refactoring that some of those state combinations can compressed. For instance, you might be able to refactor into three sub-components, each of which take three boolean parameters and return one boolean result, and where the parent component only depends on those three booleans, which can be mocked. So then in that case, you've reduced the amount of tests you need to write to 32 total... that's 1/16th the effort. I mean, I know that in common practice, neither are done, and people just leave the component largely untested, and then get bug reports that they close as "Can't reproduce".
- jimmaswell 3y ago> Now, you change a little thing in your code base, and the only thing the testing suite tells you is that you will be busy the rest of the day rewriting false positive test cases. Never happened to me, and we use a lot of junit tests at work. I don't see the value in "Do not isolate code". Isolating a single method or such is often necessary, especially a unit test of a Utils class. But I only tend to do this if the "user story" centric test cases don't end up covering everything.
- xwowsersx 3y agoThis is pretty good and much of it resonates with my recent thinking on testing (I seem to revisit this topic every few years and rethink testing in general). I appreciate that it's pragmatic and not dogmatic. There's a lot of "tradition" in testing that has kind of built up over the years and not a lot of questioning the assumptions. Thanks for sharing.
- tetris11 3y agoI've greatly enjoyed reading this Mainlining blog series from ichernev, about porting an Android phone to PostmarketOS: https://mainlining.dev/ https://mainlining.dev/ It teaches you how to probe the system, scrape out the proprietary microcode, and use it to build against a newer kernel (albeit with much tweaking)
- rareitem 3y agobytebytego, really good content
- linusg789 3y agohttps://justine.lol/ https://justine.lol/
- sjfjsjdjwvwvc 3y agohttps://danluu.com/ https://danluu.com/ is my all time favourite. Unfortunately hasn’t posted in 2023, but I reread old posts often.
- kyawzazaw 3y agodo you have a specific post? I think entire blog would be too big to check out, just to be in line with this post
- marcoc 3y agoMine is: https://danluu.com/p95-skill/ https://danluu.com/p95-skill/
- sjfjsjdjwvwvc 3y agoThese are some of my favourites: - https://danluu.com/culture/ https://danluu.com/culture/ - https://danluu.com/p95-skill/ https://danluu.com/p95-skill/ - https://danluu.com/wat/ https://danluu.com/wat/ - https://danluu.com/look-stupid/ https://danluu.com/look-stupid/
- fbdab103 3y agoI do not know how real-world accurate it is, but I enjoy the p95 post. For a huge number of skills in my life, I got to an acceptable level of performance, and then more or less never developed it.
- teaearlgraycold 3y agoI really like the "culture matters" and "look stupid" posts. I've been allowing myself to look stupid since I was a kid in school. Dan is humble (frequently saying things such as "If an idiot like me can [do X]"), but I think this strategy requires a certain degree of intellectual security. For me the logic isn't just "this question may sound stupid but the knowledge gained outweighs that". It's also "this question may sound stupid but anyone who thinks I'm dumb is wrong".
- Etheryte 3y ago[flagged]
- Kye 3y ago>> "what are your absolute favorite blogs" A reasonable person could infer from the title and this line that OP is fine with both.
- devta 3y agoboth of you are right :)
- Sajarin 3y agoYour comment (and hypocritically, this comment as well) is also a hilarious example of how some people on HN also disregard the actual content of the parent post and instead point out/share their negative meta-observations of the HN community at large.
- bosky101 3y agoThis post on embeddings by simonw https://simonwillison.net/2023/Oct/23/embeddings/ https://simonwillison.net/2023/Oct/23/embeddings/
- bosky101 3y agoThis one as well by a former intern from a decade ago who now writes on python and ml internals: How Many Lines of C it Takes to Execute a + b in Python? https://codeconfessions.substack.com/p/a-war-story-involving-a-python-a https://codeconfessions.substack.com/p/a-war-story-involving...
- HomeDeLaPot 3y agoOw. There's a paywall halfway through. Don't do what I did and get interested in the story if you aren't up to subscribing.
- rag-hav 3y agoMaybe the reason for CoW being triggered is reference counting. Does anyone know?
- sgeisenh 3y agoUsually from GC. Anthony Sottile has a nice explanatory video: https://youtu.be/sdmcCQ7Em04?si=9PObAJixALFiZ9vd https://youtu.be/sdmcCQ7Em04?si=9PObAJixALFiZ9vd
- abhi9u 3y agoSorry about that. Most of my posts are open, but I usually put one of these behind the paywall in a month. I opened this one.
- abhi9u 3y agoThanks for sharing Bosky. I think you gave the wrong URL :) This one talks about how CPython executes a + b: https://codeconfessions.substack.com/p/cpython-dynamic-dispatch-internals https://codeconfessions.substack.com/p/cpython-dynamic-dispa...
- neverrroot 3y agoThis post (The Techno-Optimist Manifesto), but in particular this section (that contains such gems as “Our enemy is anti-merit, anti-ambition, anti-striving, anti-achievement, anti-greatness”): https://a16z.com/the-techno-optimist-manifesto/#section--13 https://a16z.com/the-techno-optimist-manifesto/#section--13
- CPLX 3y agoOMFG I didn’t realize that guy could get even more insufferable.
- DoughnutHole 3y agoProbably the most pompous drivel I’ve read all year. This isn’t a software blog post. It’s a juvenile political screed with some tech buzzwords.
- Exoristos 3y ago"In lieu of endnotes, read the works of these people." Goes on to list 53 authors in alphabetical order.
- neverrroot 3y agoGetting to the point he’s at requires a lot of patience, dedication and effort. And money to buy time.
- sliq 3y agoTechnically not a blog, but the FIRESHIP youtube channel changed my life: https://www.youtube.com/@Fireship https://www.youtube.com/@Fireship A wild mix of super short videos about current software engineering topics, extremely well made, always on the edge of slapstick comedy, trashy memes, inside jokes, but still extremely densely packed with actual information. Plus, the nearly daily video series "the code report" is godlike: https://www.youtube.com/watch?v=GyllRd2E6fg&list=PL0vfts4VzfNjnYhJMfTulea5McZbQLM7G&index=80&ab_channel=Fireship https://www.youtube.com/watch?v=GyllRd2E6fg&list=PL0vfts4Vzf...
- samstave 3y agoHECK YES!!!! This! is up my alley. thanks. - Ill come back with more when i grok ;-) this whole channel
- healsdata 3y agoWorking With Discovery Trees: https://www.industriallogic.com/blog/discovery-trees/ https://www.industriallogic.com/blog/discovery-trees/ Happened to see Paige Watson present about FaST Agile at the PhillyXP meetup group and then tried some of the concepts with my team at work to great success. We were looking for a good way to turn high-level product asks into actionable work and Discovery Trees fit the bill for us.
- karbon0x 3y agoAnything from Brandur is usually great - https://brandur.org/ https://brandur.org/ Also, https://www.applied-cartography.com/ https://www.applied-cartography.com/ from Justin Duke
- quickthrower2 3y agoNot a blog post, but it could be one, this video about Github Actions: https://www.youtube.com/watch?v=9qljpi5jiMQ https://www.youtube.com/watch?v=9qljpi5jiMQ
- deleted 3y ago[deleted]
- steppi 3y agoThe 'eu' in eucatastrophe – Why SciPy builds for Python 3.12 on Windows are a minor miracle https://labs.quansight.org/blog/building-scipy-with-flang https://labs.quansight.org/blog/building-scipy-with-flang
- citelao 3y agoWow! Thanks for sharing. Sometimes I get disheartened about programming, then posts like this remind me how complicated the world actually is. And how much perseverance and elbow grease we put in to make the world simpler.
- tpgd 3y ago[dead]
- pjot 3y agoI enjoyed this post on pull/push based query engines - its examples were wonderfully simple. https://justinjaffray.com/query-engines-push-vs.-pull/ https://justinjaffray.com/query-engines-push-vs.-pull/
- zmgsabst 3y agoI’m a fan of Terry Tao’s blog, which while not strictly software, is both good for advice and discusses one of my passions — formal verification. https://terrytao.wordpress.com/2023/12/05/a-slightly-longer-lean-4-proof-tour/ https://terrytao.wordpress.com/2023/12/05/a-slightly-longer-... https://terrytao.wordpress.com/career-advice/ask-yourself-dumb-questions-and-answer-them/ https://terrytao.wordpress.com/career-advice/ask-yourself-du... Both previously appeared on HN.
- maroonblazer 3y agoLike some of the renegades in the comments, I'm tempted to share an entire blog. Instead I'll share some highlights from my favorite blog of 2023. It's not tech-focused per se, but rather politics/policy by a former "Last Week Tonight w/ John Oliver" writer and EPA speechwriter, Jeff Mauer. The blog is called "I Might Be Wrong". It's a perfect mix of smart and funny. Here are some highlights from this past year: "YIKES: Bing's Chatbot Made a Pass at Me After Only 90 Minutes of Relentless Prodding" https://imightbewrong.substack.com/p/yikes-bings-chatbot-made-a-pass-at https://imightbewrong.substack.com/p/yikes-bings-chatbot-mad... Six Products That Will Gently Defeat Your Baby. https://imightbewrong.substack.com/p/six-products-that-will-gently-defeat https://imightbewrong.substack.com/p/six-products-that-will-... AI Spells Doom for Incompetent Hacks. https://imightbewrong.substack.com/p/ai-spells-doom-for-incompetent-hacks https://imightbewrong.substack.com/p/ai-spells-doom-for-inco... The "Rules" About Which Actors Can Play Who Never Made Sense. https://imightbewrong.substack.com/p/the-rules-about-which-actors-can https://imightbewrong.substack.com/p/the-rules-about-which-a... Holy Moly Do We Ever Over-Value College https://imightbewrong.substack.com/p/holy-moly-do-we-ever-over-value-college https://imightbewrong.substack.com/p/holy-moly-do-we-ever-ov... Before You End Fencing Scholarships, Consider the Impact That Would Have on Major League Fencing https://imightbewrong.substack.com/p/before-you-end-fencing-scholarships https://imightbewrong.substack.com/p/before-you-end-fencing-... Why Is Homelessness a Municipal Issue? https://imightbewrong.substack.com/p/why-is-homelessness-a-municipal-issue https://imightbewrong.substack.com/p/why-is-homelessness-a-m... EDIT: Just noticed the "software" qualifier in the OP. I almost deleted this comment, but it includes a few software-adjacent articles, on AI, so I'll leave it up.
- Brajeshwar 3y agoThis is going to be a shameless plug of my own writing, not even technical but I needed to put it down in writing, so I did. I found Timers to be a perfect tool to free up my brain and reminding me when I need to do something else. Making tea but I need to walk around, or do something else; timer on and I can get back to the right brew that I wanted. Browsing HackerNews but I need to get out after a specific time; timer on and I can get out. Start a Zoom meeting but the attendant(s) are missing; timer on for 5 minute increment, then decide to ignore/cancel the meeting in either 5-min or 10-min. https://brajeshwar.com/2023/timer/ https://brajeshwar.com/2023/timer/
- latch 3y agoAnother shameless plug. I'm pretty proud of my Learning Zig series (1). It's been translated into Chinese, Russian and Korean. Some may know my other writings (e.g. Little Go/Redis/MongoDB Book). I don't feel like I captured Zig quite as well, but it's hopefully a useful resources especially if you're coming from a garbage collected language. (1) https://www.openmymind.net/learning_zig/ https://www.openmymind.net/learning_zig/
- pradeepchhetri 3y agoI have read your blogs and The Little Go Book. I must say that they are great. Thank you for writing those and keep writing.
- ashton314 3y agoShameless plug, as many others on this thread seem to have done. :) I wrote about the spectrum of macro systems available in different languages and why I think greater adoption for macros in development has been slow here: https://lambdaland.org/posts/2023-10-17_fearless_macros/ https://lambdaland.org/posts/2023-10-17_fearless_macros/ I learned a lot while writing it!
- akeck 3y agoWe're Knot Friends https://jeremykun.com/2023/04/01/were-knot-friends/ https://jeremykun.com/2023/04/01/were-knot-friends/
- ya3r 3y agoBicycle by Bartosz Ciechanowski: https://ciechanow.ski/bicycle/ https://ciechanow.ski/bicycle/ - HN post: https://news.ycombinator.com/item?id=35343495 https://news.ycombinator.com/item?id=35343495 Bartosz has many great blog posts, maybe most famously the one on mechanical watches published in 2022: https://ciechanow.ski/mechanical-watch/ https://ciechanow.ski/mechanical-watch/ HN posts for Bartosz's blog: https://news.ycombinator.com/from?site=ciechanow.ski https://news.ycombinator.com/from?site=ciechanow.ski
- samstave 3y agoThat Bicycle post is Pulitzer worthy - every middle school student should be taught that post in science. As a cyclist for decades - I still learned a lot - how to put to words that which I had innate muscle memory knowledge of, but no language for. The demonstrations are fantastic. Hands down should get some sort of IRL award of meaning. I forgot I had seen the watch as well... Man this guy is amazing! Thanks for resurrecting these for me.
- lngnmn2 3y ago[dead]
- paulgb 3y agoJake Lazaroff’s CRDT intro: https://jakelazaroff.com/words/an-interactive-intro-to-crdts/ https://jakelazaroff.com/words/an-interactive-intro-to-crdts...
- tirex 3y agoFor me, it was a post from Levels.fyi, inspiring story about simple and effective tech solutions. "How Levels.fyi scaled to millions of users with Google Sheets as a backend" https://www.levels.fyi/blog/scaling-to-millions-with-google-sheets.html https://www.levels.fyi/blog/scaling-to-millions-with-google-...
- rand846633 3y agoNew amazing web security research by James Kettle: Smashing the state machine: the true potential of web race conditions https://portswigger.net/research/smashing-the-state-machine https://portswigger.net/research/smashing-the-state-machine The talk (on YouTube) is also absolutely brilliantly done. James finds new vulnerabilities classes where others don’t even see potential for problems. Absolutely amazing!
- sam_bristow 3y agoIt's more hardware than software, but "Infra-Red, In Situ (IRIS) Inspection of Silicon" by Bunnie Huang was interesting. https://www.bunniestudios.com/blog/?p=6712 https://www.bunniestudios.com/blog/?p=6712
- ngshiheng 3y agohttps://samwho.dev/blog/ https://samwho.dev/blog/ The visualizations help with the understanding while keeping it engaging too
- kqr 3y agoI wrote a lot of articles on fundamentals (verifiable time estimation, leverage points with systems theory, using the Kelly criterion to shape project portfolio, system observability, evolution, etc.) with the intention of ending up on lists like these. None of them gained much traction, which means I need to get better at condensing the key points. In the end, I think my most popular article of the year ended up being a relatively short note on how Bill Tindall approached software development for the moon landings: https://two-wrongs.com/tindall-on-software-delays.html https://two-wrongs.com/tindall-on-software-delays.html
- planetjones 3y agoI was happy to get back into blogging in 2023 and write ‘A trip to the internet in 1996 with The Rough Guide 2.0’ -> https://www.planetjones.net/blog/10-06-2023/a-trip-to-the-internet-in-1996-with-the-rough-guide-2.0.html https://www.planetjones.net/blog/10-06-2023/a-trip-to-the-in...
- qingcharles 3y agoThat was cool, thanks :) [p.s. you have a typo in infoseek.com (.con)]
- zachmjr 3y agoI haven't found my favorite this year, but instead I was heavily into newsletters. Currently I'm subscribed to: https://www.pragmaticengineer.com/ https://www.pragmaticengineer.com/ - industry insights. https://www.workspaces.xyz/ https://www.workspaces.xyz/ - people sharing their home office setup incl. photos. https://bigtechdigest.substack.com/ https://bigtechdigest.substack.com/ - all recent tech articles from companies engineering blogs. https://leaddev.com/ https://leaddev.com/ - leadership stuff. https://hackernewsletter.com/ https://hackernewsletter.com/ - weekly hackernews summary nicely split into categories. https://www.ben-evans.com/ https://www.ben-evans.com/ - product and business around tech with nice deep dives.
- kyawzazaw 3y agoPlease share one post from each
- dsotirovski 3y agoPaul Graham's Essays keep me amused during this winter season - https://www.paulgraham.com/articles.html https://www.paulgraham.com/articles.html They go way back, and I do expect(and look forward to) new content. Came across them via multiple sources, but what got me hooked was a reference from Robert Morris' work. Kinda funny to reference this here :D.
- T3RMINATED 3y ago[dead]
- scary-size 3y agoThis book review of Kieran Egan‘s Educated Mind: https://www.astralcodexten.com/p/your-book-review-the-educated-mind https://www.astralcodexten.com/p/your-book-review-the-educat... I haven’t thought much about education and school, but this got me interested.
- ClausOliver 3y ago[dead]
- devta 3y agosharing some of my favorites - https://nullprogram.com/blog/2023/04/29/ https://nullprogram.com/blog/2023/04/29/ - https://slack.engineering/real-time-messaging/ https://slack.engineering/real-time-messaging/ - https://netflixtechblog.com/migrating-netflix-to-graphql-safely-8e1e4d4f1e72 https://netflixtechblog.com/migrating-netflix-to-graphql-saf... - https://eli.thegreenplace.net/2023/my-favorite-prime-number-generator/ https://eli.thegreenplace.net/2023/my-favorite-prime-number-...
- realprimoh 3y agoHow Instagram scaled to 14 million users with only 3 engineers: https://read.engineerscodex.com/p/how-instagram-scaled-to-14-million https://read.engineerscodex.com/p/how-instagram-scaled-to-14... Where LLMs are headed: https://blog.quastor.org/p/language-models-future https://blog.quastor.org/p/language-models-future SwiftUI at Airbnb: https://www.infoq.com/news/2023/10/airbnb-transitioning-swiftui/ https://www.infoq.com/news/2023/10/airbnb-transitioning-swif... GPU Computing Explained: https://codeconfessions.substack.com/p/gpu-computing https://codeconfessions.substack.com/p/gpu-computing Building and operating S3: https://www.allthingsdistributed.com/2023/07/building-and-operating-a-pretty-big-storage-system.html https://www.allthingsdistributed.com/2023/07/building-and-op... Meta’s new Serverless platform: https://read.engineerscodex.com/p/meta-xfaas-serverless-functions-explained https://read.engineerscodex.com/p/meta-xfaas-serverless-func...
- thelazyoxymoron 3y agoExcellent posts indeed! Thanks for sharing these.
- frostming 3y agoA Casual Discussion on L4 Load Balancing - by @laixintao(in Chinese) https://www.kawabangga.com/posts/5301 https://www.kawabangga.com/posts/5301
- tomdekan 3y agoHere’s a shameless plug for my collection of short, succinct Django articles at https://photondesigner.com/articles https://photondesigner.com/articles The latest article is: “The simplest way to build an instant messaging app with Django ” https://www.photondesigner.com/articles/instant-messenger https://www.photondesigner.com/articles/instant-messenger
- onteri 3y agoNice!
- onteri 3y agohttps://paulonteri.com/ https://paulonteri.com/
- slavabobik 3y agoBuilding a scalable Django WebSocket chat (messenger) app with Centrifugo https://centrifugal.dev/docs/tutorial/intro https://centrifugal.dev/docs/tutorial/intro
- reactiver 3y ago[dead]