One day, however, a new sort of ad appeared in the pages of several dailies: an appeal from a certain Prince Bil Morrison.
The prince was of noble birth and hailed from the far reaches of Nigeria. All he wanted was some American pen pals.
So moving was the wording of the ad that the papers had published his mailing address free of charge. Should not the poor prince find some good old American correspondents?
Do It Yourself
The story of how Matt Damon came to stardom is pretty interesting.
He was looking for a prominent role in a movie. Nobody would cast him in the role, so he wrote his own script and cast himself in the role. Problem solved.
Classes Suck
I am not an OOP convert. I’ve spent most of my professional life working with classes and objects, but the more time I spend, the less I understand why you’d want to combine code and data so rigidly. I want to handle data as data and write the code that best fits a particular situation.
ES6 is Over-Engineering JavaScript
Don’t let acronym fool you. npm is more than node’s package manager; it’s the package manager for all of JavaScript.
It houses great big libraries like React, Electron and socket.io. It also contains itty-bitty snippets of code. Code so small you’d expect their behavior to be native to the language.
This has turned JavaScript into a language with a small, serviceable core and lots of useful extensions available in npm.
ES6 is expanding the core of JavaScript.
Not by adding things that currently don’t exist in the JavaScript + npm realm, but by introducing new ways to do things we could already accomplish before.
This seems like a very bad idea to me.
JavaScript ES6 is Doing Too Much
This is a Swiss Army Knife. The Handyman, to be precise. According to the site, it has 24 functions. Can opener, scissors, nail file, pliers, wine opener, bottle opener, wood saw, toothpick, nail cleaner … the list goes on.
Conceptually, it’s really great to have one thing that does so much.
Realistically, Swiss Army Knives have not replaced the need for single-purpose devices in any of those categories.
It’s doing too much to be good enough at one task to replace a device crafted specifically to solve a single purpose in any of those categories.
I fear ES6 is introducing tools that make JavaScript do too much.
Deeper
Have you watched Inception?
It’s a really interesting movie where people can enter the dreams of others. I don’t wanna ruin it for anyone but the ability to enter dreams is infinite.
You can enter the dream of someone who is sleeping in a dream. Dream within a dream.
My first dream was to design for the internet.
The moment I saw the Cartoon Network website in the late nineties, I knew that’s exactly what I wanted to do. I learned how to use Photoshop, Illustrator, picked up HTML + CSS, designed MySpace pages and built a static website.
The static website was the accomplishment of my dream. I designed a website, coded it up, published it on the internet and got paid handsomely for it.
Almost immediately after, I was unsatisfied.
Expensive
I have nothing but respect for game developers. What they create are nothing short of technical feats and they tend to work with anemic budgets.
If you think a second is fast, bear in mind the benchmark to reach in game development is processing and rendering sixty times a second! To put this in perspective, most websites are unable to process and render sixty times a second despite doing far less work.
How do game developers accomplish these awesome feats? They gain a working knowledge of the environments their games run in and figure out how to take advantage of it to accomplish their goals.
More practically, they identify what makes it impossible for their code to reliably run sixty times a second. The source of the limitation is labeled expensive and they use their knowledge of the environment to create clever ways to workarounds.
As web developers we can learn a lot from this practice. We need to understand what keeps our websites from running smoothly and work around them.
Optimize Your Code for Clarity
The single biggest improvement you can make to any piece of code is to make it simpler to understand.
Why Rappers Are Smarter than Startups
Society tends to think little of rappers. Very rarely do their lyrics go beyond a certain range of topics. As Biggie Smalls once (or twice) put it: “money, hoes and clothes, blunt smoke coming out the nose is all a nigga knows“.
Despite the unflattering depiction, I feel these are individuals start-ups need to embrace as role-models. Not because Ben Horowitz loves raps and writes big cheques to start-ups. Not because rappers can get your whole team to actually come into the office. It’s a lot simpler and more important than all that:
There is no rapper who isn’t about making money.
Tips For Making Better Software
Writing code seems really easy from the outside looking in. You sit at a computer all day and get paid for it.
In a lot of minds, it’s about showing up. Sit in front of the computer and the code will flow. The longer you’re there, the more code you get. The more code the better.
Having more bags of cements doesn’t guarantee a better building. Having more salt doesn’t guarantee a better meal.