Posts

Showing posts from July, 2018
2018. I'm tweeting technical stuff again. I'm talking about kubernetes and platform once again. I'm also tweeting about blockchain stuff because I believe it's going to be extremely relevant for distributed systems but we'll get to that later. I took a step back from kubernetes over the past couple years. In 2014 I was pretty adamant it was going to be the dominant platform. Once the hype machine kicked off though I got really burnt out on everything very quickly. In some ways I missed out on an opportunity to play a key role and be part of the community but for the sake of the introvert in me I had to really take a step back and stay focused on other things. Kubernetes is the winner now. There's no real question about that. It's going to be the thing we build on beyond the OS. And with that I feel like there's an opportunity to help with developer productivity on top of it. So I'm thinking I need to figure out wh

Why i Love Haskell

  ADVERT:  Digital Ocean is giving you two months free VPS.Try it out HERE       Recently someone asked me what I liked about Haskell and if I thought it was the best language. I said I liked it, but it wasn't the best.I like Haskell because it lets me build larger systems, more easily, and with less hassle, than any other lang I've used. It feels much more solid in the hand, like a quality hammer, compared to eg Python, which to me feels fragile, and cheap. I'll put more confidence in Haskell.Haskell solves pretty much all issues that arise for small to medium sized projects and many that arise for large and very large projects. This is unlike Python/Java/C/PHP/Bash/C#/Scala which have issues at all scales. (I will collectively call them Python#++)       As we look at ever larger Haskell codebases, while Haskell allows us to work with them orders of magnitude better than any language I have used, and while it guards us from outright bugs a

Discovery of the New World

 ADVERT:  Digital Ocean is giving you one month free VPS.Try it out HERE   Some unexpected American history for you that might challenge the way you think about the "Discovery of the New World":       When Christopher Columbus first landed in the Americas in 1492, the first language he spoke with the Natives he encountered was Arabic.Columbus thought he was headed to China's imperial court - and he knew that the Chinese would have Arabic-speakers in their court, since Arabic was a global language of trade in much of Asia.Columbus brought along Luis de Torres - an Arab Jewish translator from Iberia - who spoke Arabic to the Cuban Tainos he encountered, hoping they could help the crew find their way to the Chinese court.1492 was also the year that Spanish leaders expelled Jewish and Muslim subjects from Iberia as part of the Inquisition, leading to the forced displacement of hundreds of thousands of people, a complete ethnic cleansing.   

A little bit of npm fiction

When npm was first released in 2010, the release cycle for typical nodeJS package was 4 months, and npm restore took 15-30 seconds on an average project. By early 2018, the average release cycle for a JS package was 11 days, and the average npm restore step took 3-4 minutes. Extrapolating from historical data, scientists predicted that on 8th November 2019, the release cycle for most JS dependency packages would become shorter than the npm restore time for a typical 'hello world' app or small blog engine. Futurists were already talking about the 'nodularity' - a cultural event horizon beyond which it was impossible to make any rational predictions. With projects already out of date before they'd even finished building, software development as we knew it ceased to exist. Most projects perished. A few hardy survivors worked out how to harness the power of the infinite restore loop and run logic within the installers t

Serverless : The Architecture

ADVERT:  Digital Ocean is giving you one month free VPS.Try it out HERE       For me a serverless (S-) architecture is much more than a event-driven function as a service (FaaS)...      A S- architecture is an abstraction on top of a (potentially very complex) infrastructure, so that devs can focus on building great features and products and run their code in production without focusing on boring configuration and scalability.This doesn't mean there are no servers and there is no care for infrastructure: quite the opposite indeed.Good S- architectures are robust and resilient modular applications composed by many building blocks. They have great monitoring, operate with great performance, and are very cost effective.        An example of popular S- architectures are CDNs. CDNs are quite complex and handle scale in a transparent way so that organisations can abstract that layer of complexity and delegate a series of tasks to a third party by p

Kubernetes and Complexity

 ADVERT:  Digital Ocean is giving you one month free VPS.Try it out HERE         First off: Kubernetes *is* a complex system. It does a lot and brings new abstractions. Those abstractions aren't always justified for all problems. I'm sure that there are plenty of people using Kubernetes that could get by with something simpler.As an example my son (9yo) wanted me to teach him Kubernetes but I started with simple imperative Docker on the command line on a singleton GCE instance. Once he gets those concepts nailed we'll start talking k8s.  That being said, I think that, as engineers, we tend to discount the complexity we build ourselves vs. complexity we need to learn.When you create a complex deployment system with Jenkins, Bash, Puppet/Chef/Salt/Ansible, AWS, Terraform, etc. you end up with a unique brand of complexity that *you* are comfortable with. It grew organically so it doesn't feel complex.But bringing new people on to help on

Feature Branching and GitHub

ADVERT:  Digital Ocean is giving you one month free VPS.Try it out HERE Today I'd like to talk about feature branching and GitHub—how we got here, what they are (and aren't) good for, why that matters, and what you can do instead. Join me, friends!       First, a definition: "Continuous Integration is the practice of merging all developer working copies to a shared mainline several times a day." That's from about 1998(!).That's what CI is: developers merging to master, often working in pairs, and shipping artifacts, _at least_ once a day. Here's what it's not: a piece of infrastructure, something your DevOps team does for you, or running tests against your feature branches. Why talk about CI? Because most teams who feature branch aren't CIing. It's a process, not a tool. It is something that you as a team choose to do, or not. You don't need a CI server to do CI. You can have one and not do it.      Th

Intresting Facts About Ancient History

ADVERT :  Digital Ocean is giving you one month free VPS.Try it out HERE       Bronze Age diplomacy was pretty wild. Two rulers who were on the same footing called one another "brother" and you were supposed to refer to a superior ruler (like of Egypt) as "father" and we have records of kings getting really pissed off about this.Archaeologists looking at the early material culture of the Philistines realized that they were exiled/refugee Mycenaeans (Greeks) during the migrations which brought about the collapse of the Bronze Age     The traditional "heart shape" doesn't look like a heart b/c it's (probably!) the seed of the silphium plant. It was "worth its weight in [gold]" from the 6th c BCE til it was extinct from over-farming in the 2nd c BCE. It's demand was purely from its ability to induce abortion. "Satan" in ancient Hebrew means both "adversary" and "advocate&q

Seneca: Letters from a Stoic

 ADVERT : Digital Ocean is giving you one month free VPS.Try it out HERE      A post with my notes from ‘Seneca: Letters from a Stoic’ Background: Seneca (c.4 B.C. - A.D. 65) was a Roman advisor to Emperor Nero. These are a collection of letters written near the end of his life to his friend, Lucilius, It is not the man who has too little that is poor, but the man who hankers after more.Live in such a way that there is nothing which you could not as easily tell your enemy as keep to yourself. Limiting one’s desires actually helps to cure one of fear. The two of them march in unison like a prisoner and the escort he is handcuffed to. Both belong to a mind in suspense, to a mind in a state of anxiety through looking into the future. Wild animals run from the dangers they actually see, and once they have escaped them worry no more. We however are tormented alike by what is past and what is to come.     Retire into yourself as much as you can. Associate with people who are likely to

Cryto Currency and cashflows

   ADVERT: Digital Ocean is giving you one month free VPS.Try it out HERE         Economists and traditional valuation experts claim that for most anything to be *valued* it must have cash flows.These experts then go on to say currencies can't be valued, they can only be *priced.*   So then the "fundamental value" of stocks and other cash producing assets is based on currencies that have no fundamental value? Logic seems fragile at best, like building a castle with air. Of course, this debate comes up frequently around #crypto valuations. People addicted to their cash flows have a hard time seeing how a new asset class can have new fundamental value, without seeing the flaws in their own thinking.       For our entire history, humans have decided how to value things. Valuation methods continue to evolve for stocks and many other assets, why shouldn't new ones be born for #crypto?   What frustrates me is the lack of dexterity i

#Crypto market views

  Digital Ocean is giving you one month free VPS.Try it out HERE    #Crypto market views summary: - Past - Present - Key Themes - Price - Future  Past: - Crypto experienced the largest bubble in financial markets' history. - Bubble caused by retail euphoria, crypto virality, large players front-running CME futures open, and potentially market manipulation (i.e. USDT).   Past: - There's evidence of market manipulation, fake volume, pump-and-dump schemes, and shilling of vaporware by well known crypto promoters. - Market crashed as inflow of new investors dwindled and regulators worldwide started an onslaught. Present: - Most crypto is vaporware (aka *hitcoins). - Retail investors got burnt. - Large players, early investors, and crypto developers and founders dumped on retail (e.g. LTC's creator SatoshiLite).- HODL is the most damaging meme in history. The result of getting financial advice from those who don't know about

Blockchains will replace networks with markets.

Digital Ocean is giving you one month free VPS.Try it out HERE  Blockchains will replace networks with markets.       Humans are the networked species. The first species to network across genetic boundaries and thus seize the world. Networks allow us to cooperate when we would otherwise go it alone. And networks allocate the fruits of our cooperation. Overlapping networks create and organize our society. Physical, digital, and mental roads connecting us all. Money is a network. Religion is a network. A corporation is a network. Roads are a network. Electricity is a network...       Networks must be organized according to rules. They require Rulers to enforce these rules. Against cheaters. Networks have "network effects." Adding a new participant increases the value of the network for all existing participants. Network effects thus create a winner-take-all dynamic. The leading network tends towards becoming the only network. And the Rulers of these networks