The long way through Software Craftsmanship

Self-Study in August 2017

Aug 1, 2017 - 3 minute read - Comments - self-study-aggregationaugust2017adrian-colyeramazonamazon-web-serviceamir-salihefendicanalogyappastasyncattack-surfaceawsbitcoinbusinesschatchris-dixonchristian-kellnerchromechromiumcljsclojurescriptcommunicationcomparisoncontractcryptocurrencydebiandeep-workdefectdistributiondistrodoistemacsethereumflashglaciergooglehackhueinge-solvolliotjames-forshawjavascriptjslinuxlspmarko-karppinenminerminingmoocomonline-communicationpassive-incomephilipsphilips-hueppapiprivate-networkproductivityproject-zeropublic-networkquoterasqreactreagentreal-timerelease-noterustsaku-panditharatnesecurityside-businessside-projectslacksmart-contractstretchtodoisttokentwistwin32win32kwindowsworkzigbee

How I ended up paying $150 for a single 60GB download from Amazon Glacier

I’ve read this article by Marko Karppinen that explains how a mistake in understanding the pricing model of AWS Glacier cost 150$ instead of the expected 0.86$

When cloud providers use uncommon and/or unpredictable pricing models, even your informed hunch about the cost can be off by several orders of magnitude, like the price differential between an iPad and a Ferrari.

The only way to avoid this is by reading, very carefully, through the laughably long passages of meandering technical trivia that constitute the Glacier FAQ or, indeed, this Medium post.

Tags: quote, glacier, amazon, aws, amazon-web-service, marko-karppinen

Debian 9 Stretch released

I’ve read the release notes for Debian 9 “Stretch”. By the Debian team

Tags: debian, release-note, stretch, linux, distribution, distro

Why we’re betting against real-time team messaging

I’ve read this article by Amir Salihefendic on why they have created a tool for online async communication, where the online presence icon is disabled and communications happen around threads.

Trying to transform the online (from real-time to async) communications to leave spaces for deep work.

Tags: amir-salihefendic, deep-work, todoist, doist, twist, app, slack, online-communication, communication, productivity, async, real-time, work, chat

Crypto Tokens: A Breakthrough in Open Network Design

I’ve read this article by Chris Dixon that explains what is a crypto currency, what is a smart contract and how this can revolutionize the market.

Also explains public vs private networks and tokens

Tags: chris-dixon, public-network, private-network, token, ethereum, bitcoin, cryptocurrency, contract, smart-contract, miner, mining, comparison

JSX vs Clojurescript: the showdown

I’ve read this article comparing the Reagent vs React (clojurescript vs javascript), going into details for both technologies. By Inge Solvoll

Conclusion: Code vs Data

Hopefully I managed to show you a few things that Reagent brings to the table:

  • Concise and compact
  • Creating functional style components is super easy
  • Immutable data is the default
  • But the thing that fundamentally separates it from React/JSX is the data focus.

JSX creates instructions: React.createElement(‘div’). Reagent creates data structures: [:div]. The former is opaque, hard to inspect at runtime. The latter is highly transparent, and easily inspectable in more than one way.

Your app is declared using nothing but pure data, using nothing but plain functions to manipulate the data. The very rich Clojure standard library with functions like map, filter and reduce at your disposal, without any funky new syntax to learn.

Tags: clojurescript, comparison, javascript, react, reagent, om, cljs, js, inge-solvoll

IoT goes nuclear: creating a ZigBee chain reaction

I’ve read this article by on the security of Philips Hue lightbulbs, a kind of IoT device that has been hacked using a defect in their protocols

Tags: adrian-colyer, zigbee, philips, hue, philips-hue, iot, defect, hack, security

Breaking the Chain

I’ve read this article by James Forshaw, in which they explain how the Chrome browser does not use the Win32k system calls (under certain conditions), to reduce the attack surface

Tags: attack-surface, rasq, security, chrome, chromium, project-zero, win32k, win32, windows, google, flash, ppapi, james-forshaw

Language Server Protocol (lsp), rust and Emacs

I’ve read this article by Christian Kellner about a common way of operating with a program’s Language Server Protocol (LSP) so all languages could benefit from standard tools. Then, a new editor would just have to implement the bindings to LSP to support those.

Similar to what LLVM is to some languages: once you specify your syntax in terms of LLVM, you can benefit from the improvements that LLVM provides.

Tags: christian-kellner, lsp, emacs, rust, ast, analogy

How to Create a MOOC in 28 Days

I’ve read this article by Saku Panditharatne on how she has created a massively open online course (MOOC).

Tags: saku-panditharatne, mooc, passive-income, business, side-project, side-business