Git log – The good parts
If you’re managing a complex git codebase with multiple developers, then you may well be using a tool like GitHub or BitBucket to delve into the history and figure out branch and merge issues.
The latest blog posts to take off on Hacker News. 14,543 posts.
If you’re managing a complex git codebase with multiple developers, then you may well be using a tool like GitHub or BitBucket to delve into the history and figure out branch and merge issues.
A few thoughts on Rust after a few months of regular use.
In the past 6 years I’ve worked on web applications in Rails, Clojure, Java and back to Rails. This is an overview of these past years, the benefits of working with such different tech stacks, and also it’s drawbacks.
Some applications, such as todo lists, need to maintain a user-defined order of items. The challenge is that the order is arbitrary and can change when the user rearranges items:
Do you remember this exact day, twenty years ago? March 20, 1998. What exactly happened that day? I'll tell you what I did then. First a quick reminder of the state of popular culture at the time: three days later, on the 23rd, the movie Titanic would tangent the record and win eleven academy awards. … Continue…
Managing complexity within an application is one of the key challenges for any software developer. Cleanly reconciling new features with existing architectures is something we strive for.
I occasionally give free Go consults and code review on top of my daily work. As such, I tend to read a lot of other peoples’ codes. And while this is really more of a feeling *Now, you should go, really? You're a statistician by training ffs, I’ve seen an increase in what I call “Java-style” interface usage. This…
The more I use CSS, the more I think it’s an absolute wild wild west. It’s mature, ubiquitous, yet lacks basic, common-sense features that come as a given in other similar tools
In the book club at work, we recently finished reading Exercises in Programming Style by Cristina Videira Lopes. The book consists of a simple program implemented in 33 different programming styles…
I've built a Slack anonymous messaging bot in Ruby on Rails and it is profitable. In this blog post I will describe what I did and tools I used to create, promote and monetize a simple SAAS product.
Recently I did a userspace implementation of the Host Identity Protokoll (HIPv2, RFC 7401) with the upcoming Diet Exchange (HIP DEX, IETF draft 6) . Doing so, I've learnt a lot about raw socktet programing under Linux and here I want to share a few things with you.
Detecting the Resonant Frequency of an Object with
In “ How I Learned to Stop Worrying and ❤️ the State Machine ,” we built an extremely basic state machine to model a bank account.
The Personal blog and musings of Chris Penner, a designer, developer and future opsimath.
There are three different types of inheritance going on. Ontological inheritance is about specialisation: this thing is a specific variety of that thing (a football is a sphere and it has this radius) Abstract data type inheritance is about substitution: this thing behaves in all the ways that thing does and has this…
A case study on how compilers decouple components from each other using data.
When coding style survives compilation: de-anonymizing programmers from executable binaries Caliskan et al., NDSS’18 As a programmer you have a unique style, and stylometry techniques can be used t…
Regex Lookahead and Lookbehind Tutorial. Explains the fine details of Lookahead and Lookbehind, including zero-width matches, overlapping matches and atomicity.
Quote: we DID get a perfectly usable C++ dialect which is also 100% safe against memory corruption and against memory leaks. Another Quote: we can (and often...
As an exercise, after finishing this article do the whole exercise again, but make a change to both origin/master and master and then do the fetch and merge to see what happens when a fast-forward is not possible.
Adil Moujahid, Bridging Tech and Art
I recently started FPGA programming and figured it would be fun to use an FPGA to implement the FizzBuzz algorithm. An FPGA ( Field-Progra...
This is an encoder (based on gifsicle ) which implements lossy LZW compression. It can reduce animgif file sizes by 30%—50% at a cost of some dithering/noise.
Update 28 Feb 2019: I added a new blog post with a slide deck containing the presentation I did for PyData Montreal. Introduction Short intro to Python extension objects in C/C++ Zero-copy PyTorch Tensor to Numpy and vice-versa Tensor Storage Shared Memory DLPack: a hope for the Deep Learning frameworks Babel…