There’s so much open source software in the world. Almost every conceivable problem has a solution already written and waiting to be used.
This sounds like a utopia. The problem is that we’re no longer capable of sifting through the millions of packages available to find the ones we need. It’s a needle-in-a-haystack type of problem.
There’s almost certainly one or…
OSS has very positive connotations, and companies like to be associated with that. The reason companies use OSS is usually to find the best solution (which very often happens to be OSS), as opposed to saving money.
Ways of contributing include:
Ideas to encourage contributions:
Tic-tac-toe (or noughts and crosses) is a simple game. Given two players (‘X’ and ‘O’) taking alternating turns on a 3x3 grid, which player can be the first to claim three squares on a single row, column, or diagonal?
As far as games go, tic-tac-toe isn’t terribly interesting. With perfect play, it always ends in a draw. Furthermore, there are only 26,830 unique games, so the search space is small enough that it can be solved without resorting to deep learning techniques.
At the same time, simple games are often the best way to learn how deep learning works. You…
Quitting a job is a very personal decision. Reasons range from “getting a pay raise” to “leaving a bad boss” to “taking an extended vacation”. But I think there’s a deeper, cultural reason for those who aren’t really looking for a change yet can’t seem to find the motivation to stay engaged.
Culture is a bubble. We all know people we love and would willingly follow. Their personality draws us. Public figures can have very large bubbles, as any follower of Kim Kardashian, Taylor Swift, or Elon Musk would attest.
Bubbles can be small as well. Each of us has…
When you want to build something to last a long time, simple things are better than complex things. Arrowheads are simple by nature. Clocks are not.
To maintain a complex thing, the means to maintain it must be simple. The Clock of the Long Now is designed so it can be maintained with Stone Age tools. But what about something even more complicated than a clock? Code is very complex, how could maintaining it be made simple?
Running from source makes it hard to benefit from old code. What if we put the knowledge of how to build the source…
Ninety Days is a great Rands in Repose piece about onboarding. In essence, you’re trying to build a mental map of the organization. This takes time. An interview doesn’t equal time on the job when it comes to finding your place at a new company.
The trouble begins when you think you understand how the organization works and how everyone fits into the organization. It’s a good feeling, like you’ve solved a difficult puzzle. But it’s also deceptive, because the map is constantly changing. …
I am a runner. If you’re a recreational runner like me, you’ve never won a race, you’ve never been part of the Olympic team, and you’ve never won a medal. If you’re like me, running isn’t about being the best.
If you don’t enjoy running, you won’t run. Running must make you feel alive. It must be an integral part of who you are.
The vast majority of running apps get…
Architecture is thousands of years old. Many buildings that were built hundreds of years ago are still functional, beautiful buildings today. The best buildings get even better over time, becoming something their original designers could not have anticipated.
Why isn’t modern software that way?
Most of the digital products we design have a useful life of months or years. How can we use lessons from architecture to create digital experiences that remain useful over decades, centuries, or millennia?
There are, I think, three fundamental shifts required to make this happen:
If you’ve ever written a book, or thought about writing a book, you know the feeling of exuberance at the start. It’s intoxicating.
You have a million ideas in your head, waiting to be put to paper. You picture yourself giving the final ‘ok’ and sending the proofs to the printer. The book comes out, and everyone who reads it is deeply impressed by your prose and insightfulness. You’re flooded by email and tweets from people whose lives and careers you’ve changed.
You’re a published author, and it feels amazing. That is, until your daydream ends, and you see nothing…
But first, let’s clarify these terms:
All clear? Excellent. Let’s begin.
We need to recognize that the concept of identity is fundamentally broken in modern software.
We arrange identity around users and files, not the physical things which contain those virtual objects, or the things people want to do with those objects. Principle of least privilege is important, but effective implementations are perceived as road-blocks to be avoided, not essential protection needed to protect us.
Further complicating matters, we split identity…
Product Manager at npm and student of Data Science