When I left O'Reilly Media in 2005 we were just ending a period where many programmers worked with a set of physical O'Reilly books on their shelf. And everyone at O'Reilly could see that their business was being eaten away by free. Stack Overflow didn't exist yet but we could feel it coming.
At the time, we hoped that UGC would have some sort of wisdom of the crowd thing that would lead to high quality. I remember this sort of was true in the PHP documentation. The official documentation was always deeply flawed, but the comment thread attached to that documentation generally had the right info.
But that was a precursor to our current situation. To get correct info you had to read a lot of conflicting info and synthesis it yourself.
So I think we are seeing as good as the free ecosystem can get and what's sad is that we seem to have lost the paid ecosystem. It's not nearly as strong as it used to be.
What people probably don't know about O'Reilly back in the day is what went into a book.
The author was almost always a subject matter expert already. And their editor was also a subject matter expert. Then the book would go through tech review and those people were generally also pedantic luminaries. Then the book would be published and bugs would come into an errata tracking system. The vast majority of those bugs would get fixed between printings.
And then, on top of all that, there was a tech support number. And if the code in the book wasn't working for you, then you could get a live person to try to work through it with you.
That all costs a lot of money, but when you split the cost out across consumers it was only $30 or so per book.
I value my time. And there are many, many places where I wish I could pay for quality. Tech content is one of them.
I'm a big fan of books because that is where a lot of experts seem to prefer to publish their knowledge, and it's usually worth the price. Of course that's not always the case, but I feel like I get much higher quality content from books than Medium articles.
Stack Overflow is great for quick reference to small questions.
Effective Java by Joshua Bloch
Practical, actionable guidelines. The first edition was the best, the second was diluted somewhat by having to cover generics, in the third he admits that he doesn't really use Java much anymore... Despite that, it's well-written and still a good book.
The Linux Programming Interface by Michael Kerrisk
Covers some of the history of the Linux/Unix API, describes it in detail, has plenty of examples, compares different APIs that do similar things so you can make an informed choice (e.g. System V vs. POSIX message queues).
If any book in this list stands out for me, it's probably this one. It might be partly due to the surprise factor of how enjoyable and well-written a 1000+ page, near-reference book is.
Programming in Haskell by Graham Hutton
An intro to the language and how to approach problem solving from a functional P.O.V. Not as comprehensive as some other intros to Haskell, but Hutton is a good writer and educator, making it a good read.
Designing Data-Intensive Applications by Martin Kleppmann
Provides an overview of a number of topics related to databases, distributed systems, consensus, etc. Lots of references (many of them online) if you like that in a book. Enjoyable to read.
Parallel and Concurrent Programming in Haskell by Simon Marlow
Probably a must-read if you're into Haskell; probably too esoteric if you're not... Well written.
Type-Driven Development with Idris by Edwin Brady
Describes a programming language similar to Haskell, but strict by default and with dependent types designed-in from the start. Also describes techniques for leveraging the type system to construct functions (the type-driven part of the title). Well written.
Hacker's Delight by Henry S. Warren
Low-level bit twiddling. 'Nuff said.
What does he uses now?
Thanks for the rec!
I wrote two of the chapters in the SRE book but I have very mixed feelings about them. I'm glad that I got a chance to talk openly about some of the work I've been doing for the last decade, but I felt that, in the end, I couldn't devote to my chapters as much time as I would have liked, so I don't feel as proud about them as I would have liked. Boy, this really took soooo much time!
I don't know what I'm trying to say, I guess just that I find seeing someone praise the book interesting. What were your favorite chapters?
Despite that, I still recommend it to anybody new to DevOps/SRE/Cloud Engineering/whatever you call it, with a grain of salt that you don't operate at Google scale so you shouldn't implement it as is. Just reading the principles chapters helps a lot to talk the same language.
I've heard great things about it, definitely need to add it to my queue.
The SRE book is also interesting. There was a conference recently where one of the authors gave a talk  about training. Really encouraged me to at least get the PDF.
I had a Safari Books subscription for a little while, but I got rid of it. I can't remember the exact pricing, but IIRC it was around $250 / year for the cheap option that let me "borrow" 10 books a month. The problem for me was that I'd typically buy 2-3 books per year ($100-$150) and I owned more than 10 books total, so the subscription seemed like a bad deal by comparison. The "unlimited" (with limited downloads IIRC) was $500+ / year. That's a lot of books.
O'Reilly could have been the Spotify of tech books, but old school publishers were too scared to reassess their pricing. When the cost of distribution plummets, but results in a worse (ie: more expensive), product for your customers, it's not a shock to see those businesses struggle IMO, especially when the competition is free and "good enough".
If a publisher had insanely high quality articles on everything, behind a paywall, I'd subscribe to $15 a month pretty quickly.
Every hour saved would pay for itself many times over.
The problem is having a wide enough array of content that such a site becomes the single go to. O'Reilly had that catalog, but I think the tech world had gotten much more complicated since then.
But I’m unsure how impactful revenue wise for an author can make or how sustainable is it long term.
Most of the books I see on Unlimited are either older books (there are some good gems), books that are already freely found on the internet or books that are scrappily put together.
On the one hand, there are no 10 hour songs with some great part spread out randomly throughout that listeners have to find (obvious, and I think such a book wouldn't be successful either).
On the other hand there are tons of generated crap on Spotify, than sometimes sneaks into your playlists (even things contained text-to-speech advertisement).
I think all such platforms would need some kind of spam filter functionality and a good rating / statistics system so that quality content could be surfaced.
So maybe the economics would disincentivize authorship.
The "like spotify" was more in reference to pay once, get everything imaginable.
This also explains the difference between publishers and distributors, and the dissimilar risks they accept.
I'd suggest something more like Netflix as a model; they are primarily a distributor and only very rarely a publisher; their library has a selection of standard classics, recently(ish) popular content for which the original publisher has more incentive to license than sell direct, plus rotating items of interest to keep the catalog feeling fresh for ongoing customers.
(note that even so-called "Netflix Original" content is mostly produced by other companies).
It's been thought of, of course. The search history of "Netflix for e-books" is in practice a mixture of junkyards like Scribd and "what-if" questions on Quora. There's likely a causality dilemma with achieving the catalog scale necessary for success, mediated by the conservative strategies and revenue fears of existing publishers, all of whose investors/owners are entrenched incumbents that see their businesses as perpetuities (steady, low-margin cash printers) rather than growth ventures.
Basically, they won't do it, until they see it can be done.
Really, there's not much of a reason to have physical programming books anymore; it's just not practical, whatever the level of quality you get elsewhere. And you seem to have left out official documentation and stuff, which is getting really good imo.
The only reason for having a physical programming book is for totally timeless ideas, like algorithms and data structures textbooks, or introductory books to concepts like compilers.
So, if you’re only looking at a book along one dimension which is “getting the most recent fashion status” in a fast-changing industry, then paper books aren’t appealing. But that’s the saddest dimension to evaluate a book on.
For me it comes down to scale. The chances I find precisely what I'm looking for on stack overflow is much higher than even the best curated content of all kind, just because SO is much bigger.
I can't talk about book publishers like O'Really, and probably the market for books shrank. But I have several competitors that sell self published ebooks.
The plethora of free content you find online is not always a good thing for everyone. As the author of the article says, most tech content is bullshit. Most people don't care, but there are plenty of people that realize that and are willing to pay.
I’ve never been so productive as I was in those days. Good quality documentation and no distractions. A golden age that we didn’t even know we were in. The modern development paradigm is a dumpster fire in comparison. Thanks for the good work you did back then producing those materials.
Having been involved in publishing tech books, that is a beautiful way of describing tech reviewers.
I too miss the paid ecosystem. And not just in tech books. Music too. Paying someone for curation had definite value to me.
It may well be a bad habit, but I frequently don't learn new technologies through a concerted effort. Instead, there's just something I want to do, and I google it, and after doing that a bunch I eventually learn a lot.
And yes, books not being searchable is basically THE reason I never use programming books.
The problem is that "timely" bit.
A good book take 3-6 months to write, edit, review, and publish.
In that time we could have as many releases with the info in the book radically out of date.
Only solution is to go online, but that doesn't help the traditional write/edit/review cycle much.
Things change so fast, I don't see much option to Stack Overflow... Not really.
Nowadays anyone can publish a book on Amazon, digitally and get published. It's reflected a lot in their Kindle bookstore.
Sometimes, having a good barrier to entry, brings out the best and the most dedicated.
The only issue? They don't have actual experience to back this up. Because not only is most tech content bullshit, the small percentage that isn't BS may not apply to their situation. You may not be working on soft real time systems. You may not be working with big data. You may not be running a company.
I should know—I'm certainly guilty of assuming that because I read about software development, I'm a better software developer. When really there's a big big big difference between reading about development and actually practicing the craft. Especially if you've only been programming casually. There's a massive difference between writing code for fun and writing code that needs to be a value-add for the company.
Quiet, or at-arms-length, dismissal hurts self-confidence and reinforces this blogpost-driven defense mechanism.
They also often drive away any possibility of meaty conversation because everyone worth hearing from is drowning under a sea of underinformed responses written in a way that sounds like a convincing in-depth discussion to the even less informed passerbys.
I'm no sage, but it doesn't take a genius to see when Hacker News and /r/programming get swept away by a new silver bullet in software development. Then we all have to wait years before the enthusiastic youngsters are ready to hear a realistic conversation about the prima facie limitations of the new magic beans.
I try to take their opinions with a grain of salt and find my own balance of considerations/tradeoffs. A common sentiment between them that I agree with is that software is a lot of commercial software is often an order of magnitude too slow in important places and that object oriented programming is almost always taken far too far.
I also look up to a few senior programmers I work with who have in-the-same-ballpark values as them.
On a whole, I think reading and listening to them has made me a better developer than if I just fumbled around to draw my own opinions completely from scratch.
I think being that type of young dev is probably fine so long as you keep your dogmatism and humility in check, and ensure your mentors are a spread of different individuals.
I think that's better than other young devs not seeking out information to try and grow.
I have a fair amount of respect for game developers. However at the same time I feel they can make the assumption that all development should follow their practices. That everybody should be writing in C++/Zig/Jai/Rust, using data oriented programming and avoiding objects like the plague. That if other developers were just smart enough they'd make everything ridiculously fast and awesome. Not every game developer thinks this way, obviously, but there is a subset.
The problem with this line of thinking is that it assumes all developers have the same priorities. In actuality game development is an extremely rare area where there are close-to real time requirements. Not painting the screen every 1/24th of a second is a disaster in game dev. Meanwhile GitHub uses Rails in all of its object oriented, garbage collected, interpreted horror. And nobody cares!
I suspect if a troop of elite game developers were dropped into your average web development job, they'd spend an unreasonable amount of time optimizing perf, only to have their lunch eaten by someone who focused on user facing issues. Not that web development is hard or anything. It's just a different set of requirements.
Watching jblow et al is definitely great! But there might be a point where you're put on a team using OOP and asking them to refactor to DOP with bulk allocation because you gotta get that cache utilization will just earn you stares and no buy-in. Or you might be running a startup and realize that all the time you spent getting all requests under 100ms could have been spent writing features.
I believe a lot of people (myself included) don't realize they read a lot of blog posts and articles about a topic they are interested in, but have no time trying out, and feel they know something about the subject when most of these articles are copying each other to gain popularity.
There are very effective ways to get high quality recommendations, with minimal effort on your part. Want to get good medical advice? Find two highly regarded medical specialists and ask them independently for a diagnosis and treatment plan. Not two doctors next door. Not two doctors who published random blogs. Two doctors who are highly regarded by their peers and by the wider industry.
Want to get good financial advice? Do the same thing with financial advisors. Looking for good fitness advice? Do the same with fitness trainers or nutritionists. Looking for good software engineering advice? Do the same thing with developers.
Eventually the day will come when you have learnt and grown so much, that you are just as capable as the "highly regarded" experts. When that day comes, feel free to debate the merits of their arguments. But until then, don't try to be an expert at everything. Don't feel pressured to derive every single thing from first principles. That's just not scalable.
The number one characteristic that makes a developer great is their critical thinking ability.
These developers don't blindly adopt tools and business processes based on popularity. They are always able to justify their decisions with strong arguments which convincingly explain why their chosen option is better than all the other possible options. This applies to every decision they make.
Writing software is more like chess than checkers - You need to consider every reasonable option many steps ahead.
IMO software development is a complex area - Following common industry patterns and best practices without thinking about whether or not they actually apply to your particular use case is almost always the wrong approach.
There are nuances in essentially every single software project which would warrant deviating from industry norms in at least some ways.
To always follow best practices blindly without questioning them or adapting them to your use case is in itself a terrible practice.
Also, the problem with trusting experts in complex domains is that the line between an expert and snake oil salesman is incredibly blurry. Sometimes even moderately skilled insiders with domain expertise don't know how to tell apart an expert from a conman.
The software industry has grown extremely fast and now the situation is that there are a huge number of highly vocal novices who pose as experts and who are silencing the real experts.
Having worked in the blockchain space... I have seen seen the future and it looks nothing like you think.
When a company has too many conmen. The most rewarded skill becomes conmanship.
I struggle to think of a single blockchain project which is not at least partly a scam. You can start at the top with Bitcoin.
Bitcoin handles 3 to 4 transactions per second max (this is tiny), consumes the electricity of Ireland but it's the most valuable blockchain. I get it, PoW is more decentralized. But is it worth the entire electricity of Ireland? No. Even Ethereum aren't deluding themselves about this; that's why they're moving to PoS. But even Ethereum is kind of scammy... How many times did they say that sharding would be ready soon? Seems like years ago now.
Lightning network is brittle and not practical. In real life, most financial transfers are unidirectional so you constantly have to re-open new channels after they become depleted. Also it locks up most of your funds. Also Lightning requires high availability - Without it, scammers can roll-back channels to an earlier state. Lightning is so complex that if something does go wrong, it will be extremely challenging to understand what went wrong.
And no, Bitcoin is not more valuable because it costs more money to run. If a car consumes more fuel than all other cars, that car is clearly less valuable than the others. If I can complete the same work twice as fast and same quality as someone else, then I should get paid twice as much. Economic value is rooted in efficiency, not in inefficiency. Technology which does basically the same thing but which does it more cheaply should be more valuable. Why are the top 2 projects both PoW?
I could go on about pretty much any cryptocurrency project from the top 100. Just because some project has been legitimized and is valuable, it doesn't mean that it's not a scam.
I don't think that's true. Lots of global warming sceptics point to some subset of experts who are themselves sceptics. Even subject matter experts have biases. If we ignored those, we'd probably still be unlikely to find many global warming sceptics who had done their own in-depth research. It seems to me that most people in this category (whether it's global warming scepticism, anti-vax, 5G death rays or something else) merely seek to confirm already held beliefs and end up rejecting the opinions of actual experts in favour of misinformation from the kinds of people the blog post is talking about.
Beyond that there are also people with deeper issues than just a disregard for subject matter experts. If you look to extremes (e.g. flat Earth believers), some won't change their mind even when they do the experiments themselves and find proof to the contrary.
Yes, this is exactly why you should:
1. Consult more than one expert, until you've found a clear majority. And then trust in that majority
2. Pick either a couple experts who are the most highly regarded in their field. Or use random sampling to pick a couple experts from among a pool of equally qualified experts
As you yourself pointed out, people who fall for fallacies often form their own judgement first, and then cherry-pick experts to lend more support to their argument. This is precisely the danger in telling lay people to trust in their own judgement.
Cherry-picking of experts is the opposite of expert-guided decision making, because the cherry-picking part is being driven by lay judgement, not expert recommendation. A truly expert-driven approach would rely either on the most highly regarded experts, or random sampling from a pool of equally qualified experts. This leaves minimal room for cherry-picking and confirmation bias.
Knowledge from experts should feed into "think critically and figure it out", rather than replacing either with the other.
Software has an added bonus of the "works or doesn't" test, so it's easier to (in)validate the results of that thinking than, say, something on the scale of a planet and decades.
This is true, but I think the new problem that our industry is facing now is "How much effort and how many resources are required to make this software work" - This leaves a lot of room for manipulation and people do exploit it in most companies (especially large corporations). These are many tech companies these days where it takes 20 developers to produce results which could in fact have been done by just 1 developer in the same amount of time. I'm not exaggerating the numbers here.
I think the problem lies in perverse corporate incentives (or rather, the absence of meaningful incentives) and the way in which it affects how people pick their battles. Most employees pick all the wrong battles for all the wrong reasons.
The more money a company has and the more solid their monopoly is, the more employees will be focused on internal politics rather than value production.
Goddamn but that's a good observation. Upvotes to you!
This is a tangent, but I'm currently in the situation where I really need to find these two doctors, after years of suffering from a rare (combination of) medical issues. I've been searching for a doctor who has experience with treating my (or similar) conditions, for decades now, and I just can't seem to find it. Meanwhile, my problems become more and more disturbing, with me being unable to work anymore in the near future.
So please, if you know how to find the "highly regarder medical specialists", please tell me. Especially if it would take "minimal effort", because I'm steadily losing strength and soon the minimal effort will be the most I can exert.
In your case I would ask doctors for doctors recommendations, and test alternatives - through recommendation only - outside of the common doctor. The former since doctors know other doctors, the latter due to most alternatives being non invasive, and with no side effects except the perpetual disappointment you've experienced so far.
The real kicker is it seems to be self-fulfilling. If experts are no longer trusted or respected, the market / margin for expertise shrinks. You get lots of self-proclaimed experts to fill in the gaps with less investment (lower margin == lower investment, clickbait), and then the individual is justified in thinking most expertise is crap... because it is now crap (advertiser supported business model).
Maybe we wake up some day and say "Holy shit, it's all just bullshit!" and then expertise can again attract an audience that's willing to pay for it.
Old books that are still read will continue to be relevant while the current NYT best seller is more likely to fall into obscurity.
> Looking for good software engineering advice? Do the same thing with developers.
Which brings us back to the OP:
> Most tech content is bullshit
So we've now come full circle. Hence I would point you to another post that came out recently that would be useful to understand what you wrote: https://nibblestew.blogspot.com/2020/04/your-statement-is-10...
50 years ago was the beginning of Unix sure but programmable computers were already 25 years old by then, and the concepts were even older.
Except that the "subject matter experts" have a horrible track record. Also, global warming proponents misrepresent the skepticism. Nobody is really questioning the warming of the earth. People are questioning how much man is responsible for it. After all, the "globe" has been warming for thousands of years before industrialization. There are "subject matter experts" who believe the warming is mostly a natural phenomenon. There are even fringe "subject matter experts" who believe the earth will cool. You aren't a cynic, you are just agenda driven.
> Want to get good medical advice? Find two highly regarded medical specialists and ask them independently for a diagnosis and treatment plan.
Where and which ones? The one's that say you don't need to wear masks or the one's that say you need to wear masks?
I won't bother with the rest. All you are saying is believe and trust authority. But the problem with that was a time when "experts" believed in global cooling, medical experts believed in blood letting, political experts believe in racism, financial experts believe in subprime loan derivatives, etc. Blindly believing authority also tends to cause a lot of problem. The problem with the "experts" in your list is that it has become so politicized and corporaticized that one has to be skeptical by default.
The value of a healthy established pedagogy, curriculum, and canon is that these distribute the bullshit-sifting role and guard and promote the jems.
But seriously I hate working with non self critical developers because it’s exhausting trying to refute what they say. Although “asking questions” can help.
You can read an article, and figure out if it is crap for yourself.
But then you can check your work by reading the discussion around it (like HN comments). Look at the top (and bottom) comments. Match your thoughts against the opinions and comments of other critical thinkers.
A lot of critical thinking has already been done for you.
This doesn't always work, but a good comment/upvote/moderation system can be a surprising bullshit filter.
My comment does NOT apply to automated systems, or systems were money/seo/gaming have a payoff for someone. So please ignore this for facebook, for anything with sponsored results, for product reviews, or for wikipedia pages of wealthy or prominent individuals.
I remember times when we had slow internet and/or only subset of blogs we read from time to time. Most of development was done by reading books, specification of devices for writing drivers and so on.
Now, literally everyone is trying to do SEO and use lots of words in articles, kind of creating content, but in reality copying from someone else and modifying a little and trying to get lots back links. I remember when Quora had quality content, now everything is sales pitch. I feel like people are not trying to create quality content, they are trying to sell and to sell you need more back links.
Whenever I Google for something in hot new languages or frameworks, I have to sift through 10s of Medium articles from beginner developers who are trying to establish themselves as industry experts.
I don't want to read some junior developer's Medium post full of animated GIFs and a pseudo-tutorial that is really just entire source code files embedded as GitHub gists one file at a time. I just want to skip to the documentation and get to work.
I’m not trying to be elitist, but what I enjoy about HN is seeing truly novel and interesting content, and every “crappy” article on the front page bumps an interesting one downwards into oblivion.
It made rounds in the professional circles I traveled in and established myself as, while not necessarily a leader, someone at least very fluent in a particular process.
This was also in 2010 though, so the social landscape Was quite different
It has also been somewhat useful in projects where a concern with documentation has been expressed because the writing is a better example of my ability to document things than having worked on a lot of projects where you may be able to go see what we shipped but not be able to see anything of the documentation.
I think of the writing as the equivalent of a side project:
* it allows me to focus on something I want to learn
* it helps to make what I learn stick in my head
* it gives me a deadline and people who will send me emails to say how's it going with that
* it works as documentation for what I've learned
* it gives me a trivial amount of money for having taken the time to learn something. Basically the last article I wrote is paying for an annual Dropbox account, and a couple days worth of food for my family. It was way too much work for that to be worthwhile, but I did learn some things that will help with later stuff.
I recall an especially egregious one on Clojure where the author had used the language for all of about a week before writing up his detailed hot takes on some "cons" of the language, like needing to know some complicated thing called `let` in order too assign variables.
I remember feeling it while I was working with Swift (50 articles titled: "What is a Protocol?" Give me a break!) and lately I keep running into all kinds of bizarre, complicated behaviors with Jackson in my Kotlin project. It's a new kind of hell to sift through every article that describes the "hello, world" of writing a single data class and having Jackson magically turn it into JSON.
P.S., if you can avoid mixing Jackson with Kotlin, save yourself the trouble.
In any case, this project kind of didn't need any auto-magical serialization library, but the promise was reduced boilerplate. Instead, we just got way more complex boilerplate and a damn dependency forcing me to change how I want to write my code.
inline classes straight-up don't work with Jackson, and probably never will. So for every class that has a field that is an inline class, I have to write a "builder class" that's exactly the same except replacing the inline class with the class it wraps.
Also, @JsonUnwrapped doesn't work with Kotlin. And, of course, doing anything with generics is a complex nightmare with Jackson (because of JVM's type erasure).
Not to mention, all these failures happen at runtime, so you don't even know your class is going to be a problem until you run the code.
The whole thing just sucks and I actually miss the simplicity of translating by hand...
There is no greater mistake than to suppose that the last work is always the more correct; that what is written later on is in every case an improvement on what was written before; and that change always means progress....
If the reader wishes to study any subject, let him beware of rushing to the newest books upon it, and confining his attention to them alone, under the notion that science is always advancing, and that the old books have been drawn upon in the writing of the new. They have been drawn upon, it is true; but how? The writer of the new book often does not understand the old books thoroughly, and yet he is unwilling to take their exact words; so he bungles them, and says in his own bad way that which has been said very much better and more clearly by the old writers, who wrote from their own lively knowledge of the subject....
It often happens that an old and excellent book is ousted by new and bad ones, which, written for money, appear with an air of great pretension and much puffing on the part of friends. In science a man tries to make his mark by bringing out something fresh. This often means nothing more than that he attacks some received theory which is quite correct, in order to make room for his own false notions. Sometimes the effort is successful for a time; and then a return is made to the old and true theory. These innovators are serious about nothing but their own precious self: it is this that they want to put forward, and the quick way of doing so, as they think, is to start a paradox. ... Hence it frequently happens that the course of science is retrogressive.
-- Arthur Schopenhauer, "On Authorship"
This Schopenhauer essay resonates strongly with me, hitting on and unifying numerous concepts I'd been playing with. And saying it well.
Even in translation ;-)
I'm still upset that the University of Adelaide's book server was shut down, as it had a wonderfully-formatted set of the essays, shared recently to HN. See: https://news.ycombinator.com/item?id=21386663
Here are two contrary points of view. The philosoper Chrysippus dropped into his books not just passages but whole works by other authors, including in one instance the complete Medea of Euripides; and ApoUodorus said that if all that was not his own were to be cut out of his works the paper would be quite blank. Epicurus, on the other hand, did not introduce a single quotation into any of the three hundred volumes that he left behind him.
I happened the other day to light on such a passage. I had been languidly following a string of French words, so bloodless,
fleshless, and devoid of substance and meaning that they were just words of French and no more. Then at the end of this long and tiresome road I came upon a rich and lofty sentence which towered into the clouds. If I had found the slope gentle and the ascent somewhat gradual, it would have been excusable. But the rise was so sheer and precipitous that after the first six words I felt myself flying into another world, from which I recognized the depth of the abyss out of which I had come. So deep was it that I have never had the heart to plunge into it again. If I were to load one of my discourses with such rich spoils, it would throw too much light on the stupidity of the rest.
To censure my own faults in some other person seems to me no more incongruous than to censure, as I often do, another's in myself. They must be denounced everywhere, and be allowed no place of sanctuary. I know very well how boldly I myself attempt at every turn to rise to the level of my purloinings and to remain there, even rashly hoping that I can prevent the judicial eye from discovering them. In this endeavour my industry plays as great a part as my inventive powers. And then,
I do not contend with those ancient champions in the mass and hand to hand, but only in repeated brushes, in slight and trivial encounters. I do not press them hard; I merely try their strength and never go as far as I hesitatingly intend. If I could hold my own with them I should be doing well, for I only attack them at their strongest points.
To cover themselves, as I have seen some writers doing, so completely in other men's armour as not to leave even their finger-tips showing; to compose a work from pieces gathered here and there among the ancients - an easy task for a man of learning who is treating an ordinary subject - and then to attempt to conceal the theft and pass it all off as their own; this is in the first place criminal and cowardly, in that having no private resources with which to make a display, they try to boost themselves with other men's wealth; and secondly, it is very foolish to be satisfied by gaining the ignorant approbation of the vulgar through trickery, while discrediting oneself in the eyes of the intelligent. For their praise alone carries any weight,
and they turn up their noses at all this borrowed decoration.
For my part, I would do anything rather than that. I only quote others to make myself more explicit.
- Michel de Montaigne, "On the education of children" https://www.gutenberg.org/files/3585/3585.txt
Yes, that is beautiful, true, and illuminating.
Don't forget emojis! Such a waste of time! ⌛⌛⌛
And yes, sometimes they only serve the purpose of entertainment or emotional tone setting. Other times they’re actual part of the content.
Gifs are great
Edit: you downvote and yet I often get comments appreaciating how the gifs make my 2000 word emails feel like a quick short read.
I sampled your work. It's exactly what we're talking about.
I'm sure this works for you, financially and SEO-wise.. but.. maybe use 500 words and no gifs instead?
My point is that this stuff doesn’t have to be boring and dry. It’s okay for content to reflect having fun when you’re having fun.
Even my college professors used jokes in their lectures.
Actually, let me change my mind on the GIFs. Keep the best ones.
It's almost like trying to find recipes on the internet in the age of SEO and 'personal brand building'.
To get to the content you want (ingredients and method), you have to scroll through a mess of unrelated, low quality, insincere blog-like content with pictures etc..
When you actually find the recipe, half the method (always the bits you don't bloody know) is interwoven into the irritating blog content or on a separate 'blog' entry page entirely.
By the time you realise there's nothing of value and decide to turn back, it's too late; they've already won. You've given them a page view, interacted with the site, and maybe their ads have loaded, too.
At least you can find good cookbooks in op shops! Tech books are great, but they're not always the best resource when you're curious about a tool and want something like an implementation or configuration guide, or a post-implementation review.
I have random blogs to thank for clear guides with great explanations on implementing and configuring loads of things, like early versions of webpack. It seems that in only a few years, quality content has rapidly become so much harder to find amidst the mass of low quality SEO bait.
It shouldn't be this way, but it frequently is.
Experienced developers usually aren't busy writing blog posts. Nor are they engaged on HN. As the old saying goes, those who can are out doing, those who can't `teach'.
This touched a nerve, but sorry it's spot on. The more faltering the career, the less certain the skills, the more likely the person has a vigorous social media and blog presence.
Guy made a tiny, miserable little service that would have made more money if he worked at Walmart. He was the seer who provided day after day of front page content for this site, the "fake it till you make it" ruse in full effect. Because his product was so miserably unsuccessfully he instead put all of his effort into blog posts and "lessons" for people to follow, and the suckers lined up.
People with actually successful products were just off being successful.
Maybe I'm so used to it for programming queries, but I've gotten back into electronics and ham radio after a long time, and have always dreamed of owning a decent oscilloscope. Googling 'good digital hobbyist oscilloscope' just now was a frustrating waste of time. It's just pages and pages of regurgitated specs and affiliate links, no useful _actual_ reviews or anything...
Take this top 10 result. It's on Medium which is new and hip and nice so must be of high quality...
Oh cool, hmm ok - what else does the author write about? "Things to consider before buying a camera for hunting" - "Drug Rehab for Married Couples" - <<Several>> Reviews for a particular line of vaccum cleaner, Baltimore Security Cameras and Interior Design in India. I mean sure they could genuinely have diverse interests and a chaotic and international personal life - but these articles are just keyword stuffing for another bunch of 'content' that will helpfully let you 'check the price on Amazon' for just about anything...
If you don't actually recognize the channel, you can usually tell if it's worthwhile by subscriber count, the other (types of) videos they've posted, and usually just by watching for tens of seconds. Most paid reviews seem to say so (unlike written blogs), and you can judge their bias appropriately. Plus for many things, seeing it in action is much, much better than written descriptions or (carefully chosen) pictures.
For example, it's hard to disguise a crappy oscilloscope UI in a video (and if the reviewer doesn't show that, be suspicious!)
Youtube's algorithm encourages video farms that upload frequently even if they recycle content. Ann Reardon discusses this problem as it relates to recipe video's frequently on her cooking channel.
: Siraj Raval (700k subscribers!):
My pet theory why YouTube is better is that there is no incentive to make videos longer. Blog post end up bloated and thin on real information because it is considered good SEO and apparently Google really tends to rank longer articles higher. Same is true for tech books, which are often bloated because the author has to reach their target page count.
YouTube videos seem to be mostly as long as they need to be to tell the story they want to tell. This is not universally true for video content though. If you look at online learning platforms, like Udemy for example, you can find many courses that spread an hour worth of content over typically five or six hours. My fear is that Google will someday decide to make the length of a video a ranking factor and we will have the same bloated videos on YouTube too.
> Most paid reviews seem to say so (unlike written blogs), and you can judge their bias appropriately.
Producing decent video content is much more elaborate and expensive than written reviews. My suspicion is that on YouTube paid reviews are even more common than on blogs and the norm is just not to mention it. Doesn't mean they are useless of course, just as you wrote "judge their bias appropriately".
I don't think this is an accident: YouTube apparently ranks based on watch time / retention, so if you make your video too long and people don't watch to the end it hurts you.
Any kind of machine maintenance video has so much preamble, when what I'm really after is like 25 seconds of silently accessing the part, pausing to circle stuff in red, and narrating stuff that's hard to see from the video
> Best Oscilloscopes are not a common field where people would choose to spend their spare time relaxing. However, analyzing and measuring signals might be an interesting fact for most engineers or people looking for complexity, isn’t it? That’s what we actually thought about before doing our research.
Reads like it went through Google translate twice.
The king is naked!
• Available only in Grey. [Rigol]
• The color available is Grey. [Siglent]
• The devices comes only in blue. [LIUMY]
Yes, one of the main things I look for in a scope is what color it comes in!
• Works with both laptop and desktop PC. [Hantek]
Uh, why would any USB device not work with both a laptop and desktop PC?
This and the fact that Google search is actually as dumb as a sackful of hammers.
Don't get me wrong, for the longest time Google's results were "good enough", but Google has no real concept of the quality of a result (they've tried and it worked for a while - e.g., PageRank). Still, fundamentally their algorithms aren't smart enough to figure out whether any given piece of content is intrinsically worthwhile.
That's really important in a world where most content is, regardless of Google's guidelines, primarily written for the benefit of GoogleBot, to harvest clicks or drive traffic.
Unfortunately Google has literally zero incentive to change this situation (because they're making an insane amount of money off the back of the status quo), so they won't.
Logically then, the time is ripe for a new search engine to disrupt but the problem - that of determining intrinsic worth - is really hard to solve, so as yet nobody has, and Google still reigns supreme as the most popular search engine.
 It is also possible that I'm being too harsh here: they might be trying to change it - perhaps because they're worried about eventually being disrupted - but, as noted in the following paragraph, the problem is REALLY hard.
I'm sort-of trying to solve this with a recommender system approach. Search isn't my primary objective; I'm mainly focusing on the case where you want to be made aware of relevant information on an ongoing basis but you aren't necessarily looking for something specific.
But that involves building up a ratings database of lots of different URLs. If it becomes really popular, I'd like to experiment with search. It could start with a "normal" search algorithm but then adjust the results based on rating data. E.g. "the top result for this query is X, but people with similar rating data to you always down vote that link, so we'll move that result down".
I've heard people complain about how Google gives you personalized search results sometimes, but I'm not sure if the approach is actually bad. Perhaps it could work if it was focused on from the start instead of bolted on.
I've never got around to doing it and one of the reasons (excuses) is that I haven't yet figured out a way to stop bad actors exploiting it by, e.g., mass downvoting URLs of competitors. I did think about some sort of moving average, or bias toward more recent votes, which would at least somewhat mitigate against transient actions of this kind, but it's harder to deal with a sustained attack like this.
That is still exploitable: if I know you like A, B, and C, (perhaps those are popular items), I could also upvote those items and then downvote another item D. I have an idea for countering this: keep track of history. So instead of just measuring ratings overlap ("of items you've both rated, 75% of items were rated the same"), you keep track of the performance of recommendations made from that user ("of Alice's items that we recommended to Bob, Bob upvoted them 25% of the time").
I haven't thought about this super deeply yet, but I think to beat that, you'd have to actually provide valuable data to the system in the first place.
I would think the first case would result in way better data (which is why (I think) last.fm recommendation system is so good), but the latter case seems to be the natural thing to do, humans love to judge shit without actually engaging with stuff.
That brings up a key point which I'm not sure is clear to users or not: voting on items specifically means "this is/is not a good recommendation for me". It's not a judgment on the goodness of the item in general. So if findka showed me e.g. an article on pottery that looked high quality, I'd probably still downvote it since I'm not into pottery.
[I hated this] [I'm interested in this] [I liked this]
Maybe this does happen but it not weighted highly enough against SEO.
For instance, quite a few times I'll open a page in Google's results, scan the content and go back to compare it to another result. That doesn't necessarily mean I hate the first page or think it's terrible, just that I wanted to see what it had to offer.
It can also mean I did find the answer there, and am returning to Google to search for something else instead.
It's tough to distinguish cases like those from 'the content was bad' and 'the content was not what I was looking for'.
There's also the worry that it might end up hurting user incentives too, or alter the way in which users browse the internet as a whole.
After all, since finding out that YouTube rewards/punishes creators based on watch time/how much of the video someone watches, I'm now hesitant to even watch many videos at all, since I know some guy's career might potentially be put on the line.
Perhaps Google worries other people will be the same, and stop clicking as many results knowing that Google might punish the affected websites for not staying long enough.
They could hook this into Google Analytics and subtract the time you spent with that tab/window not focussed from your session duration.
I do fundamentally agree that session duration may not be the worst proxy for worthwhile content or, at least, engaging content, snd I think Google may use it as such.
* 21 years old marketer writing about life crisis in 40s
* fashion blogger explaining is Teflon harmful or not (come on, fashion and chemistry?)
* 18 years old student who never immigrated to another country or studied abroad writing about how difficult is immigrant life and what to look for in different country and many more similar content.
Then in the Q&A someone asked a "In our experience, we've had problems with X, what's your take?" (I've forgotten what X was specifically), and the guy replied with "well, actually, we haven't really used it yet, we're just looking at it".
So ... he basically just read the TypeScript "getting started" tutorial, transformed it to a presentation, and had no real knowledge of TypeScript.
The entire talk seemed pretty useless to me. I don't even know how accurate that presentation was, because there's much more to using a language effectively than the basic syntax learned from a glance at a tutorial page.
Then I was looking at other conferences lineups and saw many repeat speakers from that same conf, often with the same talk, turned me off quite a bit from going to any more conferences, lots of the same, basic content, with not much expertise behind it.
The value is mostly in hanging out with various people. The best experience has generally been when I went alone and met loads of new people, instead of going with coworkers or friends and then just hang out with them. Not that's not fun either, but I can do that next weekend anyway.
The more professionally organised ones don't tend to have that many stands, except for paying sponsors. I understand why they do that, but I think there's good value in "community stands" too.
I mean, the talks themselves are just "shut up and listen", right? Not too much socializing happening there. I think that revolving the entire conference around presentations is probably not always the best format.
There was a big space for vendors to have stalls but if you talked to them it was like talking to a sales person. Sometimes they had a tech-oriented sales person but it was still selling you their product.
So I think that repeated talks and intro talks are to be expected. Through I did not mind them, I used them to get idea about new thing X while I have time set aside for learning.
Most tech events don't in general pay for speakers or any travel. (Keynotes, scholarships, etc. are among the sometimes exceptions.)
I rarely literally re-use a presentation slide for slide but many presentations I give are based on an earlier presentation I gave. In most cases, a different conference is going to be a mostly different audience. In general, it doesn't make a lot of sense to just dump a presentation because I gave it once to a couple hundred peop,e.
To you. On the flip side, it provided an introductory level overview of a concept many watching/attending may not have looked into themselves, or were thinking of looking into. It also provided a different form of introduction, which could be valuable for attendees with a learning style preference different to that of look-at-a-how-to or check-out-the-docs.
>the guy replied with "well, actually, we haven't really used it yet, we're just looking at it".
Hey, at least he was honest and didn't try to bluff his way through an answer, as many in our industry will.
Overall, depending on the audience and context, it sounds like it may have been worthwhile for many attendees. Plus he got to work on his soft skills, and doing so with such vulnerability could inspire others to also.
It doesn't matter how eloquent and thorough the introductory tutorial is, if the presenter has not experienced the technology sufficiently to have accumulated a few scars, they will not have the ability to convey the relative importance of the various aspects of the introduction, with which can be modified simply as a matter of taste, and which should be followed unless very careful consideration of global engineering context, and a full appreciation of the consequences.
If you are unable to meet that bar, at the very least, your abstract should make that abundantly clear out of respect for your audience.
 or at least have the experience to say that normally they would have expected to get bitten by something by their point in usage, but the technology meets their requirements so thoroughly that it has been particularly smooth sailing.
For example I currently mostly work with Go, and if I would give a high-level presentation about Go I'd start with the "tour of Go" tutorial, but I'd also add some context to some things, explain where you need to be careful to avoid problems, and emphasize the usefulness of other things that may not be obvious at a glance. That kind of stuff. I think the presentation format is a great way for doing that.
Was it useful for others? Maybe; I hope so. But for me personally I consider it a wasted hour in my life.
Is this not true of most tech meetups / tech conferences though? I feel like they all carry an implicit YMMV with them, which attendees know when deciding to join.
I think Dunning-Kruger is part of it, but also excitement.
If you are the expert you probably got that way by putting in a lot of time, you are at any rate older than when you started out and you may be in fact be quite older than the average developer, often older people do not have the same enthusiasm and excitement for things (although sure there are many that do) so that cuts down the number of people who have experience who also have enthusiasm for getting up and talking.
Getting up and Talking means doing work for it, if you have kids you may not want to do that work unless your job is one where you have to do it. So if you are an older expert with kids but not employed in an evangelist role you probably are not going to go out and do talks.
The expert in a subject may see so deeply into the subject that it is difficult for them to express the gee-whiz aspects that will attract other people. Those who know more are not necessarily able to express that knowledge in an interesting way.
The expert may have lost interest in the matter as they gain in expertise, or they may think things that others will find amazing and interesting to be so obvious and trivial as to not be worth expressing.
For these reasons it may be that talks on a subject are preponderantly given by those with less than expert mastery of the subject.
Do you think or feel it is shameful for you to give introductory talk? Did you grew up in environment where such thing was mocked or did you grew up somewhere it was praised? Do you think it matters super much if someone in audiemce looks down on you or are you rather motivated by single person that likes you?
Do you think you need to be super awesome experienced speaker to make first public talk? Are you ok having public talk with primary purpose being to learn doing public talks?
These imo make the difference. It is not like there would be lines of experts wanting to talk.
Our current solution is to rely on magical black box algorithms to give us the diamonds, but it's been creaking for a while.
I'm not sure how to make this better: one person's turd is another person's diamond, and people trying to game the system will always be a problem.
As a side effect, it should really help Google and other search engines to rank those websites. External links of good quality still the best SEO.
I think the biggest problem isn't so much find "hey, that's a cool article"-type of content, but typing in [programming concept] in Google. What I want to find is things like in-depth experiences and advice regarding this which complement the manual. What I actually find it loads of "howtos" with "copy this" which just rehash the manual.
Results vary a bit depending on [programming concept], and I don't think simple "getting started with"-articles are completely useless either. But generally speaking, there are too many of them, many of them are not of high quality, and it obscures more in-depth content.
I'm not sure if maintaining a list of links would really solve that. Perhaps community projects like "awesome-foo"-lists have some potential here, but in practice I've found many of them to be dumping grounds rather than carefully curated.
But I fully agree, people should be creating their own ecosystems with links, rather than keeping huge portals happy.
Do you have an example? I’m getting strong “century of the self” vibes from this post.
If you’re referring to “fake news”, you should also acknowledge that the current protests across the nation would not exist at all without social media. People who want to characterize the effects as monolithically positive or negative leave me scratching my head, and I certainly don’t want to return to getting all my news via AP.
"Once upon a time, Little Red Riding Hood was going to go to..."
"NOT ALL RIDING HOODS ARE RED AND FRANKLY I OBJECT TO ANYONE WHO MONOLITHICALLY TRIES TO SAY SO AND I'M GETTING A VIBE... SEIZE HIM!"
To teach yourself programming in 1990 you would've gone to a bookstore or library, that employed a buyer/curator, who bought from a distributor, who bought from a publisher, who bought from an author, who probably also dealt with an agent and an editor. Other than the author and his/her own desire to produce something good, there were 3-5 other layers in the process, 3-5 other entities making the decision, should we submit this, should we publish this, should we distribute this, should we buy this and devote shelf space to selling it. Each of those steps is a gate through which only a limited quantity can pass, so whatever else it actually means, the book you pick up off the shelf in 1990 has passed through all those gates. Nowadays excellent and shitty writers alike are free of that.
The thing putting a negative spin on it is that at least in this author's opinion, "Most tech content is bullshit." I'm saying maybe that's because now we have access to the bottom 90% too along with the top 10% that we already had. (There was bullshit in the old days too of course, but it was usually found coming out of someone's mouth as opposed to in a book that someone bothered to spend money to print thousands of times. Although there are exceptions there too! It's death by a thousand disclaimers up in here!)
2) Get a subset of blogs to follow and stick to it. If you want to search in specific sites google has "site:" operator, you can search on specific sites.
3) by following 1 and 2 you can easily stop visiting shitty blogs made only for SEO, when they won't see any traffic they will fold because they will see no one is caring about what they write.
I am in process of implementing that. Got some books from humble bundle in topic that I am interested in, so no browsing crap until I get through those.
I've seen lots of articles on hacker news (and other places) that is "PART 1 of..." which does the introduction to what they plan on teaching, and then it just dies right there in the land of "PART 1's"
With a book, if you stop at part 1, no one is going to publish your book.
Another thing about books/web, is books go MUCH deeper into topics. It seems like 99% of the content on the web is "INTRO to xyz" but never "Advanced xyz"
Books are also broken into logical section so you have a learning path you can progress through; not just random content that you are to piece together yourself.
So, yes, very good advice; if you want to learn something, read the book.
blog posts are more just advertisements for buying an actual book.
If I read a really great piece of tech content it's not going to help me to use that domain in a site: query later when it's so often going to be medium.com or dev.to (which is starting to fill up with this same kind of bullshit content in the article).
Many books are not much better.
While blog posts are bloated for SEO purposes, books are bloated to reach their target page count.
Papers if you need to keep up with a topic.
I used to follow statsblogs, but that's dead now (the collection, most of the blogs still exist).
Anything that isn't covered in these forums probably isn't important enough to worry about.
Marketing is fact mixed with coercion.
But this is about plagiarism.
The author of the article, in just under 800 words, is addressing the "copypasta" nature of a specific discipline: programming. I like the author's characterization of lazy or necessary plagiarism as "consumer" mentality. That's an interesting twist.
Was this not the 1970's American Auto Industry attempting to implement Japan's earliest implementation of lean manufacturing? Is the same to be said of any "ripoff" product that cheaply imitates the original: e.g., an off-brand version of an Eames Lounger, or cheaply made webcam off Amazon which is a faulty copy of a Logitech?
His observation is a reflection of complex constraints, and while I completely agree individuals should strive for a deep understanding and mastery of what they spend their lives doing, as it benefits us all directly or indirectly by making us conscious citizens (my opinion), I think this is a largely metaphysical reflection lacking contextual nuance rather than a call to action: we've all been in the shoes of his hypothetical individual committing the sin of programmer consumerism, and for good reason.
However, I do appreciate the clarity his transformation applies to a scenario we are all intimately engaged in.
 "We know they are idiots, the question is, 'What kind of idiots?'"
I'm not saying everyone should be an expert, but I would want the whole spectrum of experience represented. Now I don't invest time in meetups any more.
I don't think it is particularly wrong, but more experienced people tend to be older and less likely to have inclination or time to prepare talk or go to pub every week or so.
Do you think it would be possible for us to have any transparency into how hard a web page has been 'advertised' and use that to inform our decision processes? I've no idea what that would even look like.
That's the real problem. There is a market for short-form clickbait crap. One can make a living writing that. There is not much of a market for long-form accurate technical material.
It's useful and interesting, but also content marketing.
"Hate the player for choosing to play the game."