Hacker News new | ask | show | jobs
by onion2k 1458 days ago
The problem with dev.to, and pretty much every blogging platform like it, is that it encourages the mindset that the articles about problems you have yourself are the best articles to learn from, and that things that aren't directly applicable to other people won't get promoted. That leads people to think they should write boring, generic things about language fundamentals in order to become 'famous'. People end up rewriting the language docs in their own words. How dull.

The reality is that most interesting dev articles are about relatively unusual problems that a dev solved in an innovative way. You can learn a lot about dev work from those (approaching problems, thinking about things, some cornercase dev tools, algorithms, etc) even if you can't cut and paste code from them into your own project. This exposes a further problem though - you can't write those articles until you're sufficiently experienced to face those problems, and knowledgeable enough to solve them. If you're a new dev starting out with ambitions to be a 'thought leader' and wanting to get to the top fast, you're bound to end up writing another "Why Array.pop is the best array method ever!" article.

4 comments

IMO these social blogging platforms for developers lowered the overall quality of online technical content by a lot, and made researching technical topics a fair bit harder.

It used to be that well-researched people and passionate people blogged about technical topics they knew very well, and when they blogged about unfamiliar topics they usually declared that upfront.

Nowadays there are an order of magnitude more grifters churning out a massive amount of blind-leading-the-blind garbage to "build a presence", and they usually pose as experts even though they barely know the topics. As an example, whenever I try to compare two similar technologies/libraries I'm not familiar with, I can almost always find one or more Medium or whatever articles on the topic, but 80+% of the time it's quite clear the author basically wrote the useless crap of an article after reading the READMEs, or slightly better, the bare minimum example projects.

This is a hard problem, and I'd love someone to solve it.

I was looking recently for some guides about Docker, as some parts were confusing me -- everything on the first couple of pages of Google was clearly just badly repeating the "getting started" guide, which I'd already read!

Blogging platforms that make it easier to publish and to be discoverable contribute to the problem just by making it easier to publish and to be discoverable. When writing a blog meant writing your own HTML, or at least installing and configuring some blogging software, and you’d have to write content other people linked to get a good page rank for your website, that served as a filter for low-quality content.

I’m not advocating to abolish blogging platforms, but they’ve been a double-edged sword in that way.

This is totally a function of the experience level of the reader. When I was a beginner/intermediate dev, I was actively seeking out articles about the basics in everyday language from different people so I could grok the language. I'm much more comfortable going straight to documentation now, but there is absolutely a place for beginner explanatory blog posts.

The fact that they are generally crap is an orthogonal problem and one the author addresses pretty well IMO.

> The reality is that most interesting dev articles are about relatively unusual problems that a dev solved in an innovative way

Do you have a list of those articles? And which sites do you visit to find those articles?

And which sites do you visit to find those articles?

https://news.ycombinator.com

A few that come to mind:

Hosting SQLite databases on GitHub Pages or any static file hoster https://news.ycombinator.com/item?id=27016630

How to crawl a quarter billion webpages in 40 hours https://news.ycombinator.com/item?id=4367933

Writing an open source GPU driver without the hardware https://news.ycombinator.com/item?id=30107002

Teleforking a process onto a different computer https://news.ycombinator.com/item?id=22987747

How NAT traversal works https://news.ycombinator.com/item?id=30707711

BPF, XDP, Packet Filters, and UDP https://news.ycombinator.com/item?id=24848391

A viable solution for Python concurrency https://news.ycombinator.com/item?id=28880782

Updating the Go Memory Model https://news.ycombinator.com/item?id=27810459

zig-cc: A drop in replacement for gcc/clang https://news.ycombinator.com/item?id=22679138

Finite state machines as data structure for representing ordered sets and maps https://news.ycombinator.com/item?id=10551280

Time-lock encryption https://news.ycombinator.com/item?id=22061752

My first impressions of Web3 https://news.ycombinator.com/item?id=29845208

How to build large scale end to end encrypted video calls https://news.ycombinator.com/item?id=29570938

Secure value recovery https://news.ycombinator.com/item?id=21838413

How Google code search worked https://news.ycombinator.com/item?id=18582469

Deploying authoritative DNS with Mirage Unikernels https://news.ycombinator.com/item?id=21868589

Playing around with Fuschia OS https://news.ycombinator.com/item?id=23466564

Making tokio scheduler 10x faster https://news.ycombinator.com/item?id=21249708

JVM Anatomy Quarks https://news.ycombinator.com/item?id=22190815

The hunt for a cluster-killer Erlang bug https://news.ycombinator.com/item?id=31746090

Static B Trees https://news.ycombinator.com/item?id=30376140

Files are hard https://news.ycombinator.com/item?id=10725859

Faster JavaScript calls https://news.ycombinator.com/item?id=26143648

Firefox's new compiler https://news.ycombinator.com/item?id=16169236

Abusing Linux's firewall: The hack that allowed us to build Spectrum https://news.ycombinator.com/item?id=16821807

Million packets per second ingress https://news.ycombinator.com/item?id=9726185

Streams: A general purpose data structure for Redis https://news.ycombinator.com/item?id=15384396

Let's build a compiler https://news.ycombinator.com/item?id=20444474

Improving compression with zstandard https://news.ycombinator.com/item?id=18719592

When bloom filters don't bloom https://news.ycombinator.com/item?id=22463979

Critbit trees https://news.ycombinator.com/item?id=6920862

Mobile physical memory security https://news.ycombinator.com/item?id=25505517

How the Linux kernel works https://news.ycombinator.com/item?id=14422605

https://news.ycombinator.com/item?id=11467309 Following a select statement through postgres internals

LMAX https://news.ycombinator.com/item?id=3173993

ELF https://news.ycombinator.com/item?id=17114672

Reading privileged memory with side channels https://news.ycombinator.com/item?id=16065845

How fast are Linux pipes anyway https://news.ycombinator.com/item?id=31592934

Reverse engineering a mysterious UDP stream in my hotel https://news.ycombinator.com/item?id=11744518

io_uring examples https://news.ycombinator.com/item?id=23132549

Clojure design patterns https://news.ycombinator.com/item?id=15771561

Inside the Magic Pocket https://news.ycombinator.com/item?id=11645536

A high performance cache in Go https://news.ycombinator.com/item?id=21023949

Lockfree data structures https://news.ycombinator.com/item?id=7734202

mtime considered harmful https://news.ycombinator.com/item?id=18473744

Bracket colorization https://news.ycombinator.com/item?id=28692470

Linux load averages https://news.ycombinator.com/item?id=14959288

A bump in the wire to make your internet go faster https://news.ycombinator.com/item?id=17721496

Backblaze durability https://news.ycombinator.com/item?id=17550837

H.264 is magic https://news.ycombinator.com/item?id=12871403

Redbean: single file web server https://news.ycombinator.com/item?id=26271117

Gotchas from 2 years with Node https://news.ycombinator.com/item?id=9372303

Counting objects https://news.ycombinator.com/item?id=10259471

Idempotent APIs https://news.ycombinator.com/item?id=13707681

Norvig's auto correct https://news.ycombinator.com/item?id=42587

QuickJS https://news.ycombinator.com/item?id=20411154

...

Thank you for this list. It's ironic that I've seen so many "Awesome.. curated" lists but this is the first one I really want to go through.
The few "awesome" (and "are we X yet") lists I've seen/contributed to were terrible; they have a very low barrier to entrance, and a very high barrier to exit - which made them nothing more than landfills, essentially. I think the valuable lists are personal ones.
I've had pretty good experiences with "awesome lists", usually if the topic is language or framework and I just want a concise list of mature things related to topic. Other examples I've personally enjoyed:

https://github.com/awesome-selfhosted/awesome-selfhosted

https://github.com/255kb/stack-on-a-budget

https://github.com/cloudcommunity/Cloud-Free-Tier-Comparison

I instantly found things in your list that will solve issues with some side projects and allow me to get them up and running.

A big thanks

This is great... thanks for sharing.
I have a page called “Library” in my blog where I collect articles I find interesting. https://leite.dev/pages/library/
I’ve been putting my own on https://swizec.com/blog for over 10 years. About 15,000 people agree they’re good enough to stay subscribed.
Already subscribed to yours ;) Good newsletter content.
Lobste.rs frankly.

More programming oriented, less ego boosting.

How does one get an invite to join though? The suggestion seems to be to scroll through a list of hundreds of online handles to see if you know someone by their pseudonym, and assumes you can reach them out of band, which is obviously not going to work for the vast majority of people.
That’s the beauty of it.
I’ll invite you.

Just send me an email.

Might I email you as well? I'm a regular lobste.rs reader, but not yet a member.
Yes. You should just have gone ahead and emailed me, since now I have to respond both here and there. ;-)
Late to the party but I've been really enjoying lobste.rs and been passively trying to get an account. Would you be able to facilitate this?
Neither quality nor truth are popularity contests.