The man who brings the human touch to Google Cloud
Kelsey Hightower defied the tech sector's diversity problems to become one of the industry's leading figures. Now he wants everyone's voice to be heard.
Such a motivating human interest story.
“He closed our last interview with the story of a tech worker who learned Kubernetes while watching videos of Hightower in prison. He met Hightower at an event, and in a low voice — his boss didn't know he had been in prison — he told Hightower his story and thanked him for changing his life.
"That's how I want to be remembered," Hightower said. "I want to be remembered as this person who helped other people find out how to be better than they currently are."”Posted on 2020-10-31T06:30:12+0000
Rust Design-for-Testability: a survey
What can we do when designing Rust code to make it easier to test? This is a survey of everything I could find[^survey-method] about testing Rust with a particular focus on design for testability for correctness. Some of the articles show multiple things to do on a worked example, some are more focu...
How the West Got Covid So Wrong
Covid is a Test of Civilization, and the West is Flunking It
“Their failure teaches us something. Civilization matters. When a society gives up on the idea of being civilized, it collapses harder and faster than its most learned wise men often imagine. That is because no society can withstand a tidal wave of stupidity and violence. Is that where the West is headed?”Posted on 2020-10-31T06:06:42+0000
How to effectively use procedural generation in games
In this rich excerpt from "Procedural Storytelling in Game Design," developer and proc-gen expert Darius Kazemi shares some ways to use procedural generation more effectively in game development.
Written for a specific problem, this advice applies everywhere though.
“The last thing I’ll say is that keeping your procedural generation implementations as simple as possible has a nearly invisible long term benefit to your career as a creator. Doing so allows you to ship more things than you would otherwise. Actually putting work out into the world means your art will have viewers, your game will have players, your music will have listeners. You will probably get feedback on your algorithms, and you will discover ways that players interact with or perceive them that you could not have predicted.
This is real knowledge that you can take into your next project or your next iteration of the same project. If you spend five years building what seems like the perfect content generator, I guarantee that no matter how much testing you do you will not learn as much about its shortcomings as you will when you release it into the world.
“Posted on 2020-10-26T05:28:21+0000
Fighting Rust's Expressive Type System - TheFuntastic
Programming and other topics by Peter Cardwell-Gardner
All aboard the rust hype train. This was a good intro on how to get acclimatized to Rust coming from different views of thinking.
"Plenty of ink has been written about ownership and the borrow checker. It follows the most unprecedented feature would have the most said about it. There seems to be a common refrain: "It's really hard at first, but stick with it. You'll see, it changes everything". Sounds suspiciously like Vim or Emacs users (please don't fight me). Is it the promised land or just a severe case of Stockholm syndrome?
Nevertheless, extensive reading had prepared me to expect a big ol' messy fight with the borrow checker. We did tussle, but it went better than expected. Ironically, after years of C# game development, performance concerns have taught me much of the internal dialogue needed to reason about memory lifetimes: "Is this allocated on the stack or heap? Is this going to create allocation (garbage collection) pressure? Is this copying data or mutating it in place?"
In this sense, when the borrow checker complained I could at least appreciate what it was trying to protect me against. And as to be expected, it may be a while yet before I fully grok lifetimes. Controversially though, "Rust's expressive type system" put up a stiffer fight than I anticipated."
Themed days, Timeboxing and why you should use them.
Have you ever wondered how Elon Musk is running two billion-dollar companies at once? Musk is an interesting example of someone who manages his time so well that he can work 100 hours a week and still manage to take time out for his hobbies, family, and even Twitter! So, how does he do it?
This gets close to productivity porn territory but was quite relatable.
"Themed days could be super useful if you already have a day job and are trying to make time for your side hustle. Instead of trying to work on it one hour each day after your day job when you already feel exhausted, you dedicate a whole day for your side project.
With the one hour a day approach, the chance you could skip the scheduled hour is higher; with themed days, maintaining self-discipline is much easier."Posted on 2020-10-25T06:46:58+0000
The Emerging Architectures for Modern Data Infrastructure
Five years ago, if you were building a system, it was a result of the code you wrote. Now, it’s built around the data that is fed into that system. And a new class of tools and technologies have emerged to process data for both analytics and operational AI/ ML.
This is definitely written in traditional white-paper style, but the observations are somewhat interesting even if I don't agree with all of them.
"And yet, despite all of this energy and momentum, we’ve found that there is still a tremendous amount of confusion around what technologies are on the leading end of this trend and how they are used in practice. In the last two years, we talked to hundreds of founders, corporate data leaders, and other experts – including interviewing 20+ practitioners on their current data stacks – in an attempt to codify emerging best practices and draw up a common vocabulary around data infrastructure. This post will begin to share the results of that work and showcase technologists pushing the industry forward."Posted on 2020-10-25T05:06:31+0000
Self-Help Hacks at the End of the World
Everything is pretty terrible right now. A glut of pop psych advice wants you to think you can muscle your way out of it alone.
So much truth in this article that needed to be said.
“I suspect the reason this type of structural analysis isn’t more popular is that it makes demands that are decidedly unpalatable to supporters of American capitalism. Plus, it doesn’t make for particularly clicky articles. Once one comes to the conclusion that mental health problems are structural, not individual, one must then propose solutions in the same vein. If the problem is that people are stressed because they don’t have enough money, then it follows that wages should be raised and wealth taxed to more equitably distribute profits. If people don’t have enough power in the workplace, perhaps sectoral unions are in order. If people are anxious about paying for health care, perhaps we should have Medicare for All. If people are overworked, perhaps there should be a federal mandate that all workers must receive five weeks of paid vacation, as France has. The purpose of the Covid self-help genre, then, is to quell dissent by way of telling people that they can figure out how to cope all by themselves (or perhaps with their therapist, should they be lucky enough to afford one). It’s incredibly patronizing.”Posted on 2020-10-20T06:07:22+0000
A Disturbing Twinkie That Has, So Far, Defied Science
A Twinkie stored in a basement for eight years has been transformed by fungi, giving scientists something unusual to ponder and probe.
“He'd purchased them back in 2012 for sentimental reasons when he heard that Hostess Brands was going bankrupt and Twinkies might disappear forever.
"When there's no desserts in the house, you get desperate," says Purrington, who went down to the basement and retrieved the old box of snack cakes, fully intending to enjoy several.”Posted on 2020-10-18T08:05:28+0000
Why some onions were too sexy for Facebook
A Canadian seed store inadvertently crossed the line with a seemingly innocent advert for onions.
Whoever did the marketing here deserves a promotion.
“"We've sold more in the last three days than in the last five years," said Mr McLean, adding they are also now listed under "sexy onions" on the company website.”Posted on 2020-10-10T03:13:28+0000
Embracing a flexible workplace - The Official Microsoft Blog
Over the past few months, we have learned so much about productivity, flexibility, resilience and compassion. We have been working in ways we never thought possible, including managing necessary safety precautions, learning to connect with small or large teams while presenting to a screen, taking ca...
This is a pretty cool move
“We recognize that some employees are required to be onsite and some roles and businesses are better suited for working away from the worksite than others. However, for most roles, we view working from home part of the time (less than 50%) as now standard”Posted on 2020-10-10T02:36:54+0000
What Color is Your Function? – journal.stuffwithstuff.com
Read this a while back and came across this again. A good read on how async functions can make composition hard without good language design to back it up.
"You’ve still divided your entire world into asynchronous and synchronous halves and all of the misery that entails. So, even if your language features promises or futures, its face looks an awful lot like the one on my strawman."Posted on 2020-10-09T20:02:57+0000
Excel: Why using Microsoft's tool caused Covid-19 results to be lost
The decision to use a database format that dates back to the 1980s has proved to be unwise.
“"Thousands of people [were] blissfully unaware they've been exposed to Covid, potentially spreading this deadly virus at a time when hospital admissions are increasing," he told the House of Commons.
"This isn't just a shambles. It's so much worse."
To handle the problem, PHE is now breaking down the test result data into smaller batches to create a larger number of Excel templates. That should ensure none hit their cap.”
Thousands Of D.C. Renters Are Evicted Every Year. Do They All Know To Show Up To Court? | DCist
Process servers are supposed to deliver summonses that tell tenants about their eviction cases. But the only evidence that they actually notify tenants of their cases are sworn documents filed by the process servers themselves, and a DCist investigation uncovered hundreds of documents in the span of...
This is so depressing and a great example of why change must be made to the systems and it’s not about any one person. However in this case there’s at least one person that needs to go to jail.
TLDR: to defend themselves from an eviction a tenant needs to show up in court. To know they have to show up to court they have to be served by a process server in person - who has to try twice and only upon failure can they give a sworn affidavit that they tried, and then leave a notice at the door. Enter some people that took money and never bothered serving notices, leading hundreds of people to get unfairly evicted.
“Oddly, however, the two men almost never managed to find the tenants they were hired to serve. Despite the requirement that he make a diligent effort to serve tenants in person—visiting their apartments twice, on different days, if no one answers the first time—Buck reported, in roughly 990 eviction cases, that not a single person answered the door. According to affidavits that Stephens filed, out of roughly 1,660 cases in the first two months of 2019, he only managed to serve 11 people in person.
And in one instance, Stephens swore that he contacted more than 15 D.C. tenants in a two-hour period, when he was actually in a courtroom in Maryland, facing a charge of driving while impaired.”Posted on 2020-10-06T05:34:17+0000
On its own this is a reasonable article that's not too outstanding. But it links to a great number of sources and is worth a read
"“Transparency is a really key part of fairness for reward,” emphasises researcher McWha-Hermann. For instance, in some cases “what we found is that national staff were OK with international staff getting different salaries and benefits; it was the secrecy that was the problem.” As it will be impossible to hit upon a salary policy that pleases everyone, an abundance of information will at lease ease some friction."Posted on 2020-10-06T05:00:19+0000
Hacking Grindr Accounts with Copy and Paste
Sexuality, relationships and online dating are all rather personal things. They're aspects of our lives that many people choose to keep private or at the very least, share only with people of our choosing. Grindr is "The World's Largest Social Networking App for Gay, Bi, Trans, and Queer People" whi...
Oof. This bug...
"A couple of years ago it made headlines when Grindr was found to be sending HIV status off to third parties and given the sensitivity of this data, rightly so. This, along with many of the other fields above, is what makes it so sensational that the data was so trivially accessible by anyone who could exploit this simple flaw."Posted on 2020-10-06T04:37:00+0000
Dissecting Lemire’s nearly divisionless random — Very Serious Blog
A very late blog post announcing the readability contest winners, a new (very) annotated implementation, and a surprising sort-of security issue found along the way.
On algorithms, math, and the ever important question of code readability.
“I chose Lemire’s algorithm because it is brilliant. When I read Lemire’s code I get that kind of brain-tingling and gawk at the sheer “How on earth did someone think of this” of it all. Lemire has a mastery of code and how code is executed, and then pairs that with transcendent creativity and concision. Lemire also writes well, and the papers that accompany his code and algorithms are easily some of the most cogent and approachable you’ll find in academia. They are short and clear and avoid the jargon and obtuseness that plagues the field, while containing just enough formalism to be rigorous.”Posted on 2020-10-05T06:17:45+0000
The benefits (and costs) of corporate open source – Increment: Open Source
When—and why—should a business release an open-source project?
Interesting take on the process of producing open source software and the benefits thereof.
“Many companies hope that releasing an open-source project will pay dividends in the form of code contributions from people outside the organization—but I’ve never seen that work in practice. Responding to issues, answering usage questions, carefully planning release schedules: It all takes time. Even code contributions, despite their reputation as the big reward that’s supposed to make corporate open source worthwhile, are rarely the panacea they’re made out to be. Because new contributors have neither as much context on the existing code nor as clear an understanding of the project’s larger vision as the core team has, their contributions almost always need revisions before they can be accepted. Even the better pull requests often need several rounds of review, and as a reviewer you can’t be sure when (or whether) to expect each update. It’s usually faster to write the code yourself.”Posted on 2020-10-05T05:52:22+0000
On Engineers and Influence
(Based on yesterday’s tweetstorm and the ensuing conversation, Let’s talk about influence. As an engineer, how do you get influence? What does influence look like, what is it rooted in…
Excellent read on how to wield influence as an engineer and get things done, in companies large and small.
"One final thought. You can have a lot of say in what gets built and how it gets built, if you cultivate your influence and spend it wisely. But you can’t have a say in everything. It doesn’t work that way."
"And once you have influence, don’t forget to use it on behalf of others. Pay attention to those who aren’t being heard, and amplify their voices. Give your time, lend your patronage and credibility, and most of all teach the skills that have made you powerful to others who need them."Posted on 2020-10-04T07:56:45+0000
Developing in Production · Terse Systems
As an industry we haven't figured out how to enable a good developer experience for building distributed systems. But if one thing is clear, it's that spinning up a mini version of the *entire* production architecture on a local laptop for development is *not* the solution.
Interesting take on developing and testing systems in production; and on how to structure code and systems across organizations.
"The ideal developer experience starts off with "runs in seconds" unit tests to "runs through minutes" integration tests to "runs overnight" load tests in a production-like environment before moving to a canary rollout and production experiments. Developers also need the safety of being able to write buggy code and test edge cases for a single component in an isolated production-like environment without worrying about feature flags, running through a full CI deployment process, having to reserve access to a shared system, or being paged."Posted on 2020-10-04T07:39:59+0000
The Good, the Bad, and the Bye Bye: Why I Left My Tenured Academic Job · Yanick Fratantonio
👋 I'm Yanick `reyammer` Fratantonio. I'm a Prof at EURECOM. I often work on Android security, but I'm also interested in reverse engineering, malware analysis, binary analysis, web security, etc. I ❤️ CTFs and I hack with OOO (DEFCON CTF organizers), Shellphish, & NOPS. I am a 100% premium-qu...
This was a long and interesting read on the tradeoffs of being in academia vs (potentials of) being in industry.
"With that being said, I know that someone may be actually interested in hearing these thoughts and my experience. When I was a PhD student and I needed to take the notorious academia vs. industry decision, I would have paid big bucks to read more thoughts on the various pros/cons. One of the stupidest things you can do is to take big decisions based on what other people do and think, but reading about other people's thought process has helped me a lot. It is time I do my part."Posted on 2020-10-04T07:01:59+0000
on maintaining attention
Life is a fight against entropy, I think as I gather up Waterloo sparkling water cans, half-empty mugs of coffee and three pairs of sweatpants strewn over the sofa, grudgingly restoring the apartment to order. Thanks to lockdown I've very belatedly entered some approximation of adult domesticity, an...
Kept nodding along as this was quite relatable.
"There’s no way around it: life is a fight against entropy. There's this line I like about how most of Western philosophy is about doing and most of Eastern philosophy is about being. In order to live a good life we have to learn how to reconcile the two. To believe we don't need anything from the material world to feel joy—to perceive the essential luminousness of everything around us, which continues with no effort on our part—and then still to choose to attend, to maintain, to force our way upstream."Posted on 2020-10-03T04:43:59+0000