Site uses cookies to provide basic functionality.
Javascript rendering is set to off by default when visiting the site via .onion and .i2p domains. It can be enabled back again in user's settings section. Javascript rendering set to off means, that you can disable javascript in your browser now and the site will remain functional.
There is also IRC server now available via native IRC clients or non javascript web based one.
Fonts can be adjusted in user's settings section as well.
Check FAQ for more.

OK

Hello World - blog.herlein.com - 7 years ago - eng
I’ve been procrastinating setting up a real blog for… well, years. Now it’s here. Read on for the why and the how.

Hello World - blog.herlein.com - 7 years ago - eng
I’ve been procrastinating setting up a real blog for… well, years. Now it’s here. Read on for the why and the how.

Today I'm announcing Layabout , my first official Python library. Layabout is a small event handling library on top of the Slack Real Time Messaging (RTM) API . You can get it right now on PyPI .

Today I'm announcing Layabout , my first official Python library. Layabout is a small event handling library on top of the Slack Real Time Messaging (RTM) API . You can get it right now on PyPI .

Over the years I’ve learned about many of the advantages of using a modern terminal and shell. I’m talking about using bash with GNOME terminal on a modern GNU/Linux distribution. I particularly like switching between the terminal and GUI applications. It’s now even better. Automatic Hyperlinks : Occasionally, some program running in your shell might output what looked like a link: gnome terminal and vte will automati..

Over the years I’ve learned about many of the advantages of using a modern terminal and shell. I’m talking about using bash with GNOME terminal on a modern GNU/Linux distribution. I particularly like switching between the terminal and GUI applications. It’s now even better. Automatic Hyperlinks : Occasionally, some program running in your shell might output what looked like a link: gnome terminal and vte will automati..

Hello World - adriano.fyi - 7 years ago - eng
I’ve been wanting to scratch a writing itch for quite a while. Over the last twelve months I’ve had the good fortune of having visited nine countries. And every one of those trips involving some amazing stories with great people. In April, I broke my collarbone while mountain biking in Peru (I’ll do a writeup on that at another time), which provided no small amount of downtime to think about what to do with my time when I’m not out being ac....

Hello World - adriano.fyi - 7 years ago - eng
I’ve been wanting to scratch a writing itch for quite a while. Over the last twelve months I’ve had the good fortune of having visited nine countries. And every one of those trips involving some amazing stories with great people. In April, I broke my collarbone while mountain biking in Peru (I’ll do a writeup on that at another time), which provided no small amount of downtime to think about what to do with my time when I’m not out being ac....

Hello World - adriano.fyi - 7 years ago - eng
I’ve been wanting to scratch a writing itch for quite a while. Over the last twelve months I’ve had the good fortune of having visited nine countries. And every one of those trips involving some amazing stories with great people. In April, I broke my collarbone while mountain biking in Peru (I’ll do a writeup on that at another time), which provided no small amount of downtime to think about what to do with my time when I’m not out being ac....

You want to train a deep neural network. You have the data. It's labeled and wrangled into a useful format. What do you do now?

Debugging a complex problem is tough, and it can be especially difficult when it's not obvious which chunk of code is responsible. It's common to attempt to produce a reduced test case in order to narrow it down. It's tedious to do this manually, but it's also the sort of thing computers are really good at. C-Reduce is a program which automatically takes programs and pares them down to produce a reduced test case. Let's take a look at how t..

Friday Q&A 2018-06-29: Debugging with C-Reduce Friday Q&A 2018-06-29: Debugging with C-Reduce Debugging a complex problem is tough, and it can be especially difficult when it's not obvious which chunk of code is responsible. It's common to attempt to produce a reduced test case in order to narrow it down. It's tedious to do this manually, but it's also the sort of thing computers are really good at. C-Reduce is a program which auto....


This article documents developments over the last ten years at all layers of the network stack. It also highlights how vulnerable the current Internet is.

This article documents developments over the last ten years at all layers of the network stack. It also highlights how vulnerable the current Internet is.

Reality-altering platforms create new challenges for user interface designers. Devices such as the Oculus Rift and Google Daydream represent the next major evolution in interface computing, and you can get started developing it today, even if you don’t have a fancy headset.

With the external release of OCaml 4.07.0 imminent, we in Jane Street’s Tools & Compilers group have been planning what we want to work on for inclusion in OCaml 4.08. These days OCaml uses (or at least attempts) a time-based release process with releases scheduled every 6 months. We’re trying to avoid rushing in changes at the last minute – as we’ve been prone to do in the past – so this list is restricted to things we could conceivably fi..

With the external release of OCaml 4.07.0 imminent, we in Jane Street’s Tools & Compilers group have been planning what we want to work on for inclusion in OCaml 4.08. These days OCaml uses (or at least attempts) a time-based release process with releases scheduled every 6 months. We’re trying to avoid rushing in changes at the last minute – as we’ve been prone to do in the past – so this list is restricted to things we could conceivably fi..

15 CBP JMP-39 by jeaneeem is licensed under CC BY-NC-ND Migrating PostgreSQL to Aurora with near Zero-Downtime The goal here is to migrate an Amazon Web Services (AWS) Relational Database Service (RDS) PostgreSQL Database to Aurora with as little downtime as possible. The following documents the initial strategy that was considered using read replica promotion, followed by the end result using AWS's Database Migration Service (DMS). ....

Zip Slip is a form of a Directory Traversal that can be exploited by extracting files from an archive. This cheat sheet informs you of vulnerable libraries and code snippets that are exploitable to a Zip Slip attack. Additionally it provides you with the information you need to upgrade to fixed library versions and offers tips on how to find and fix your own vulnerable code.

Containers are becoming the standard form in which applications are packaged and executed, so the need to protect not only the application itself but the entire container against open source vulnerabilities is growing.

I recently did a few days of TDD training for a client. They asked me to help them test and refactor a class that created XML from an internal domain model. This gave me the opportunity to examine a bigger pattern. I wondered where the domain model came from. Looking through the code base, I found that the same or similar data structures were dealt with many places. As often is the case, I also found a bit of code that parsed an XML structu..


A while ago we decided to Open Source our JavaScript framework, Melody, which we have been using since 2016. We designed Melody to be fast, memory efficient and to be flexible enough for the future.

A while ago we decided to Open Source our JavaScript framework, Melody, which we have been using since 2016. We designed Melody to be fast, memory efficient and to be flexible enough for the future.

At the end of last month - the last day, in fact - I signed up for a Robinhood account. I signed up mostly for fun - but also for the free stock that Robinhood is currently offering. I got Chesapeake Energy (CHK), which is worth only about five bucks. However, some people get stocks worth a couple hundred dollars, such as Facebook or Apple.

PostgresOpen is just a few months away and our list of talks is now live and available on the PostgresOpen website. This year selecting the talks was the hardest yet not only due to the number of talk submissions, but also the across the board high quality of submissions. There is hopefully something for everyone among the talks, at least if you like Postgres that is. If you’re thinking about joining us I’d love to see you there and bu....

PostgresOpen is just a few months away and our list of talks is now live and available on the PostgresOpen website. This year selecting the talks was the hardest yet not only due to the number of talk submissions, but also the across the board high quality of submissions. There is hopefully something for everyone among the talks, at least if you like Postgres that is. If you’re thinking about joining us I’d love to see you there and bu....

In this post we’ll look at the most common types of vulnerabilities for two of the main ecosystems we track in our vulnerability database, namely Maven Central and npm. The Snyk Vulnerability database consists of vulnerabilities from over 1,000,000 open source packages we track that use Composer, Go, Maven Central, npm, NuGet, pip and Rubygems.


The W3C just released an updated version of the Web Content Accessibility Guidelines a month ago. It’s a pretty massive document with lots of new success criteria and recommendations. Fortunately, you don’t need to read the whole thing to understand what changes you need to make to your websites.



Introduction I teach a class called Ultimate Go . The class is three days long and teaches you the history, mechanics and semantics of the Go programming language. The idea is to teach you how to read code to the level that you can understand the behavior and impact your program is having on the machine. This helps you make better and more consistent engineering decisions. At the same time, the class is very focused on teaching you how ..


My previous blog post took off on Twitter. It pointed out a problem: Insisting on the obligation to follow certain rules at all times isn’t actually helping people work better. The most common question (or objection) I got to the blog post was: So how do we teach new coders how to code well. This blog post is about that topic. First learn to collaborate The most important skill we should teach is how to work well with others on a shared cod..

Expertly crafted, Murakami showcases the depths and width of his imagination and perspective. His writing reflects so much using…

Even having read this book a while back, this conjures up memories of precarious tightropes, tanukis, and the unmistakable sound of…

As a performance-oriented growth platform, AdRoll is always looking for ways to improve our users’ ad experience. Our Dynamic ads are the highest performing ad type, but some of the underlying systems were becoming increasingly hard to scale and change. In this post, we will talk about how moving those systems to a real-time service made our product more nimble, scalable and easy to A/B test. 15-20 minute read High Level Problem Our Dy....

I've decided to Go through (this will make sense in a bit) the Cryptopals Challenges in order to get more familiar with crypto related concepts and Golang (^_^), which I'm using to solve the problems. The code I've written for solving the challenges is published in this git repo and I'll be documenting any helpful resources on this blog.

A week or so ago, my wife’s car broke down. The pully on the A/C compressor pulley wobbled and seized, so not only did her 2004 Honda Civic have no A/C, it smoked under the hood from the belt rubbing against the belt. So I had some work to do, and in the course of the repair I had to disconnect the negative battery cable because of reasons (and if you must know, it’s because I had to move the alternator out of the way, and in doing so I sta..

ok, before you ask, my german sucks – like really I am not good at it. However, I sent this to a friend in Austria the other day, and I thought it might be of benefit to others, so I am sharing this here. So, if you need a way to manage errands and task and keep track of what’s going on in your company (less than 10 people) and you need an interface in german, here are some stuff you might find useful:

ok, before you ask, my german sucks – like really I am not good at it. However, I sent this to a friend in Austria the other day, and I thought it might be of benefit to others, so I am sharing this here. So, if you need a way to manage errands and task and keep track of what’s going on in your company (less than 10 people) and you need an interface in german, here are some stuff you might find useful:

The way get started is to quit talking and begin doing. – Walt Disney  People who are crazy enough to think they can change the world, are the ones who do. – Rob Siltanen  Whether you think you can or think you can’t, you’re right. – Henry Ford  Creativity is intelligence having fun. – Albert Einstein  You don’t have to be great to start, but you have to start to be great.

109 visitors online