Sign in

Left: Gerhard Richter’s ‘Stadtbild’ (1968). Right: Sigmar Polke’s ‘Don Quichotte’ (1968)

Last week, a video that made rounds a couple years ago caught my interest. The video is an upscaling of the Lumière brothers’ 1896 breakthrough, L’arrivée d’un train en gare de La Ciotat, done by the youtuber Denis Shiryaev whose channel is dedicated to similar exercises in AI-assisted film restoration. When I first came across this video years ago I had no context for how Shiryaev transformed the Lumière’s film experiment, which was crafted to introduce the public to the efficacy of motion pictures as a simulacrum for reality, into a demonstration of AI’s potential to extend the Lumière’s film…

Excerpt of the Rosetta Stone

Learning your first programming language can lead to tunnel vision. Sometimes the intricacies and rules of the language can obfuscate the necessity to understand the language’s purpose and how it gives instructions to machines. As an engineer it is important to be language agnostic and see the language as a set of tools rather than a religion. JavaScript is my first language and currently I still see it more as a rule set rather than a tool. …

‘united states’ attributed to Kazimir Malevich

One of the primary tenets of programming is writing clear, modular, and non-redundant code. That mission to extricate redundancy extends outside of style etiquette into the unifying ethos of the greater coding community. A virtue of software development is that no application is ever truly an island of its own making. Developers trading, integrating, and synthesizing each other’s ideas, is the bread and butter of coding and a tool within JavaScript that increases the ease of open-source developer to developer transmission of code is NPM.


NPM is short for Node Package Manager. In order to fully investigate NPM it is…

While Big O notation can sound lofty and engender a feeling of foreboding, it is actually quite simple tool in estimating the efficiency of code and algorithms. Big O’s importance is related to the way that it achieves its estimations. Big O does not strictly monitor the speed it takes a line of code to run. Speed is dependent on processing power and other variables that are not reliable and can detract from the fidelity of analysis. Big O Notation instead tests the amount of steps a code takes to execute as the algorithm’s input grows in size towards infinity.

A Brief Introduction to the Document object and DOM

Sometimes, I get lost while working on code. Not lost in the ‘hitting the wave where lines are just flowing out my fingertips’ kind-of-way, lost like I can feel my fight or flight instincts kicking in. It is an unfortunate feeling that makes me nostalgic for my halcyon days of Dreamweaver and Xanga in the early aughts. …

Berhane Cole

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store