How to Write Usefully
paulgraham.com
Hasnain says:
Been a while since I've read PG's stuff in detail since it's been more hit than miss lately. This one was noncontroversial and useful for just practicing and getting better at writing.
"If you narrow the topic sufficiently, you can probably find something you're an expert on. Write about that to start with. If you only have ten readers who care, that's fine. You're helping them, and you're writing. Later you can expand the breadth of topics you write about.
The other constraint you can relax is a little surprising: publication. Writing essays doesn't have to mean publishing them. That may seem strange now that the trend is to publish every random thought, but it worked for me. I wrote what amounted to essays in notebooks for about 15 years. I never published any of them and never expected to. I wrote them as a way of figuring things out. But when the web came along I'd had a lot of practice."
Posted on 2020-02-24T07:10:45+0000
Production Oriented Development
Throughout my career, I’ve developed some opinions. Some have worn particularly deep ruts, reinforced by years of experience. I tried to…
Hasnain says:
Interesting take on development practices in today's agile world. Some of the advice is sage and wise: "Having unique problems will kill a small to medium size team. It will sap you of your creative energy, which is better used creating value for customers who want to pay you monies for your software. Use your innovation tokens wisely!"
Though there's then some stuff which is, well, kinda off, like the advice on only testing in production.
Posted on 2020-02-24T07:01:36+0000
Don’t Demonize Employees Who Raise Problems
They’re identifying opportunities for growth and innovation.
Hasnain says:
Interesting read on growing both people and organizations by fighting with problems and inefficiencies upfront rather than sweeping them under the rug. Something that sounds obvious but is hard to put into practice.
“Not complainers, but champions. Problem spotters don’t especially enjoy bearing bad news, but they do it to advance the organization. To help you, the leader. Maybe it’s because they have a different perspective, or a fresh take based on that spot in the world where only they stand. Maybe it’s that they are better at expressing the issue, where others struggle. Stop making it so hard on them to help you. Don’t say “I hear you have a problem with us.” Say, “I appreciate you helping us to get better.””
Posted on 2020-02-17T05:45:13+0000
Why are we so bad at software engineering? | www.bitlog.com
Our industry's mindset grew in an environment where failure is cheap and we are incentivized to move quickly. Our processes are poorly applied when the cost of a redo is high or a redo is impossible.
Hasnain says:
Interesting and engrossing read on software engineering best practices, written in light of the recent Iowa Caucus debacle.
"But as I said earlier, “We’re decent at building software when the consequences of failure are unimportant.” It fails horribly when failure isn’t cheap, like in Iowa. Common software engineering practices grew out of the internet economic model, and when the assumptions of that model are violated, software engineers become bad at what we do."
Posted on 2020-02-15T18:24:46+0000
The Horrifically Dystopian World of Software Engineering Interviews - Blog by Jared Nelsen
A Synopsis of The Current State of Software Engineering Interviews
Hasnain says:
This is most admittedly a rant; but has good and useful insights into why the software engineering interview process today is just so bad.
“In conclusion to this point, it seems that the popular conception of what is to be a software engineer is driving the structure of the hiring process more that the traits that actually make software engineers successful on the job.”
Posted on 2020-02-15T16:43:35+0000
Build Build Build Build Build Build Build Build Build Build Build Build Build Build
When California’s housing crisis slammed into a wealthy suburb, one public servant became a convert to a radically simple doctrine.
Hasnain says:
Great read on housing, both policy wise and the human interest story of one person’s attempt to change policies in a local town.
If I could wave a magic wand...
“All cities — even small ones — have a responsibility to address the most significant challenges of our time: climate change, income inequality, and housing affordability,” Mr. Falk had written. “I believe that adding multifamily housing at the BART station is the best way for Lafayette to do its part, and it has therefore become increasingly difficult for me to support, advocate for, or implement policies that would thwart transit density. My conscience won’t allow it.””
Posted on 2020-02-15T02:41:29+0000
Slipping Away
Teacher, husband—Alzheimer's patient. Inside Jo Aubin's heartbreaking fight against time
Hasnain says:
This is such a sad and moving human interest story - interspersed with solid data around Alzheimer’s.
“People with these genetic mutations usually show symptoms around the same age as their parents. A 2012 study published in the New England Journal of Medicine traced the insidious groundwork of the disease through “biomarkers” detectable in the body long before symptoms surfaced. Twenty-five years before Jo would have noticed any major cognitive problems, the levels of amyloid in his cerebrospinal fluid would have begun to decline, as the protein began to accumulate in his brain. Jo would have been about 10 years old.”
Posted on 2020-02-14T03:50:22+0000
Rust Game Development - Ecosystem Survey
In August last year, we conducted a survey for the Rust gamedev ecosystem. After an unfortunate dela…
Hasnain says:
Interesting set of data around how Rust is as a usable programming language especially in the gamedev ecosystem.
"The language has a higher upfront cognitive load than any other mainstream language. Which means that on an established, bigger project (maybe with a team behind) the productivity is amazing compared to C++! It's much easier to express strong & safe interfaces that make bugs just harder to introduce. It really shines in network code that needs to be 100% safe and resist bad actors! My current game server code has 0 unwraps/panics/expects and so I just know it can't crash... I wish I could have that feeling in C++. C++ on the contrary makes it easy to whip up something which then has a 20% crash rate and tanks perf and takes 2 weeks to hammer into shape, and after those 2 weeks it looks like Rust code anyway."
Posted on 2020-02-14T03:37:26+0000
How Big Technical Changes Happen at Slack
We want to catch revolutions at the right time, while limiting the energy we spend chasing fads. What strategy can we follow to ensure this?
Hasnain says:
Such a good read on how to safely evaluate which technologies are worth investing in; and how to do it in a way that minimizes disruption.
“When in doubt, remember: you’re accountable for your team’s technical success, and your team’s technical success is–in the long run–judged by the people using your stuff.”
Posted on 2020-02-14T03:30:21+0000
Introduction - Roguelike Tutorial - In Rust
This tutorial is free and open source, and all code uses the MIT license - so you are free to do with it as you like. My hope is that you will enjoy the tutorial, and make great games!
Click to view the original at bfnightly.bracketproductions.com
Hasnain says:
Bookmarking for future reading and trials.The roguelike tutorial, implemented in Rust; and extended a lot further towards a fully featured game
Posted on 2020-02-10T05:18:00+0000
Build vs. Buy: How to blow $100,000 saving money - Baremetrics
Historically businesses and startups are really tightlipped. Everything is a trade secret. Everyone is constantly wondering what their competitors are doing and if they’ll suddenly get crushed by them. Things like revenue numbers and customer retention are protected like Fort Knox. But now that's ...
Hasnain says:
Such a good read, and definitely something that needs internalising. I've seen far too many instances of NIH syndrome as folks get lost in details that don't matter as much in the grand scheme of things.
"So what’s the takeaway here? It’s simple, really. Either spend the money to get the tools you need, or just focus on making your own product make more money. But don’t waste your engineering resources on things that don’t make a big, long term impact."
Posted on 2020-02-10T05:16:41+0000
distractionware » VVVVVV’s source code is now public, 10 year anniversary jam happening now!
Or possibly tomorrow is, depending on who you ask – technically, the game first went live at 3am GMT on the 11th January 2010, after a very, very long day of fixing every last bug I could, making last minute builds, and trying to slowly upload everything on an extremely unreliable internet connect...
Hasnain says:
Bookmarking this for the future.
Also a great reminder that working, successful, software is more about translating great ideas and being able to iterate fast on them rather than just crafting code for the sake of code.
"I dunno, what can I say? I was young and more interested in getting something on the screen than implementing it properly. Maybe the best thing about VVVVVV’s source code is that is stands as proof of what you can hack together even if you’re not much of a programmer.
Looking back through it myself all these years later, I find it really funny how much of it is basically just the same parts copy and pasted over and over, with the values changed. This basically makes it impossible to read and maintain ten years later, but back when I was in the thick of it, it made it really fast to iterate and add new things. I’ve gained better habits over the past decade, and I’m definitely a better programmer now – but it does seem to take me longer to do things."
Posted on 2020-02-10T00:43:22+0000
The Shoestring App Developer Behind the Iowa Caucus Debacle
Shadow, founded by a former Hillary Clinton staffer and connected to the well-funded nonprofit Acronym, brought the first major nominating contest of the election season to a halt when its app failed to work as planned.
Hasnain says:
Sigh. This whole story is nuts and keeps getting worse.
“Officials at the Democratic National Committee, who were alarmed that the rushed app might not be ready for rollout, pressed Iowa to pay for an independent security review of the Shadow app, which found very basic bugs, a person familiar with the matter said.”
Posted on 2020-02-08T13:26:08+0000
Programmer Moneyball: Challenging the Myth of Individual Programmer Productivity
A pervasive belief in the field of software engineering is that some programmers are much, much better than others (the times-10, or x10, programmer), and that the skills, abilities, and talents of these programmers exert an outsized influence on that...
Hasnain says:
Interesting analysis of data from student and employee productivity metrics - trying to debunk the 10x programmer notion.
I personally think the data is intriguing but then the jump at the end to concrete suggestions seems unfounded - they do say there’s more posts coming, however.
“The idea that top performers can easily be identified and can then be expected to improve productivity may represent a hasty conclusion based on small and insufficient data samples. It takes a substantial body of work to evaluate a programmer's true performance. We had 10 samples each in our study, with identical requirements, under controlled conditions, with no distractions, and it was barely enough data to draw meaningful conclusions. The real world, of course, is far more complex than the limited, controlled study that we conducted.”
Posted on 2020-02-02T19:09:10+0000