04 May 2018
I like hackathons. Hackathons are competitions that run over multiple days — typically a whole weekend — and in which the participants — programmers and designers — solve a challenges in order to win a prize. Typically, there are a few challenges that are all based around some theme — blockchains, sustainability, democracy, and so on.
27 Apr 2018
As time goes on, smart contract requirements change. Often, a feature is added or a bug is found. But, once a smart contract has been deployed on the blockchain, it can’t be upgraded. The entire value proposition of a blockchain is immutability. Yet, in the real world, contracts change all the time. For example, a labor contract will change when new labor laws are introduced. Similarly, there are many circumstances under which smart contracts change as well, such as
20 Apr 2018
When building your smart contract platform — whether on Ethereum or any other blockchain — at some you’ll be faced with the question of ownership. In this article, I will explain three different types of smart contract ownership and discuss their advantages and disadvantages.
13 Apr 2018
Have you ever wondered how your users can spend ERC20 platform tokens to buy assets and other tokens from you? Or — in more technical terms — how to make sure a smart contract executes a particular function as soon as it receives tokens? This post is all about using ERC20
transferFrom() to allow your users to do much more than just keep tokens in a wallet.
06 Apr 2018
Over the years I have found out how important it is to constantly challenge yourself. Coding is craftsmanship. A good craftsman will always try to improve the toolbox they use every day. Code patterns belong in any good toolbox. When used wisely, they allow anyone to clearly communicate their program’s intent to both people and machines. Code is not just something that machines execute — it’s also something that people read, understand, and maintain.
20 Mar 2018
I had the tremendous privilege of speaking about creating sustainable token platforms at TokenSky 2018 in Seoul, Korea. Not only did I have a great time presenting some of the ideas that I’ve come across, I also encountered a lot of stimulating questions from individuals and companies all interested in enhancing their platform using some kind of blockchain token.
09 Mar 2018
Not many things a business owner has to go through are as scrutinous and unpleasant as a data privacy audit. In the case of Germany, this will include a state commissioner for data protection putting your companies data processing and storage practices under the microscope. Luckily, as it turns out, most of the time you’ll already be doing the right thing. Salting user passwords, allowing customers to delete their account, and allowing users to request all personal data that is being stored about them should be business as usual for most of us.
02 Mar 2018
Imagine this: You’re pitching an idea for an interesting data science problem that you can solve for your client. The client is sold on the idea and wants to immediately know how fast you can get it done, and more importantly, what the project milestones will look like.
23 Feb 2018
A great method to improve memory usage of Pandas DataFrames is by converting columns with categorical variables to use the data type
06 Jan 2018
I believe that being a data scientist is about communication first, and data science second. This means that two abilities are necessary.
29 Dec 2017
.transform(), you can transform the way you aggregate DataFrames.
26 Dec 2017
The other day I caught myself writing one too many
df.groupby() in Pandas, and thought to myself:
23 Dec 2017
Scaling Pandas DataFrame aggregations can be quite tricky. I have had a very specific problem to solve that involved aggregates on group by expressions.
05 Jul 2017
I’ve now solved the first 15 Project Euler challenges in C. But then, I’ve hit a road block. Let me explain.
30 Jun 2017
After a long time of being complacent with my skills, I thought I should up my InfoSec game. So far I’ve been mainly busy with figuring out how to enhance application security in my work. That means I learned how to
27 Jun 2017
Let’s look at how 大切、大事、重要 are different.
15 Jun 2016
Uber Rush provides cost-effective on-demand courier services. It is an exciting service that will allow companies to start delivering to local customers faster. Uber tries to make the process as easy as possible by providing an API which can be easily integrated into existing shop solutions and lets customers order cheap and easy shipping. For a high-level overview, please refer to this document.
04 Jun 2016
Being part of the all-singing, all-dancing trap can make us forget our individual selves. A recent conversation with Daniel Hastik in May gave me a few jolts of inspiration to write about something that’s been bugging me.
25 Apr 2016
The other day, I found out something real fun: Not all bike lanes in Germany need to be used! Since bike lanes are quite dreadful and not at all safe, I wanted to write a handy tool to show me when to use a bicycle lane and when not. The German traffic code (StVO §2 Abs. 4 Satz 2) dictates:
06 Dec 2015
Python 3.4 introduced the
statistics module. It contains helpful methods for determining basic statistical properties, such as mean, median and standard deviation of samples and populations.
30 Nov 2015
I had this curious thought the other day: what is the byte value distribution in binary files, such as an executable? Take for example
/bin/echo on OS X 10.11.1.
22 Nov 2015
The new Python 3.5 unpacking syntax makes a programmer’s life much easier.
15 Nov 2015
I found a really neat data source online on unwanted robocalls that the FCC (Federal Communications Commission, a United States government agency) has created and published openly. The data source provides times and dates of unwanted robocalls that consumers have reported to the FCC. We can use this data source to find out all kinds of things, but today we will be content with just finding out the time of the day households are most likely to receive robocalls.
08 Nov 2015
This is a simple s-expression parser written in Python 3. It understands symbols and numbers and uses tuples to represent the data internally.
01 Nov 2015
Creating tuples from generator expression is surprisingly fast.
25 Oct 2015
Today we are going to look at how to filter items in tree data structures using Python 3. We are going to compare a stateful approach and a functional and recursive approach. In the end we will discuss the advantages of a functional implementation.
17 Oct 2015
As you might know, CPython, the most commonly used implementation of Python, uses a stack based virtual machine to run Python scripts. This means that Python script ASTs are never directly executed. Instead, CPython compiles
.py script files into byte code files first (
.pyc files). This allows for some optimizations during the byte code compilation step and shipping of byte code files to end customers instead of raw scripts. This is useful to make reverse engineering hard. Ableton Live includes a CPython interpreter for its MIDI hardware integration. It does not let users look at the actual hardware integration scripts though. Instead, all hardware integration scripts can only be found in their compiled
08 Oct 2015
This is a short evaluation on whether one can perform a series of basic tasks using the APIs that cloud photo services provide.
17 Sep 2015
With the new async syntax in Python 3.5, defining asynchronous functions has become a lot simpler. In this article, I will demonstrate a simple example for this new feature. It will involve pulling a set of homepages of popular websites and displaying the first 10 characters of every HTTP response. The example will utilize the awesome aiohttp library. Make sure that your machine has aiohttp and Python 3.5 installed.
11 Sep 2015
Given a list
items, that contains
None, produce a list that only contains the
int values with their order of appearance preserved.
10 Sep 2015
The other day I received this ominous message on Skype from an infected machine: