AWS not for everyone

A website I was recently working on gave me an opportunity to get familiar with Amazon Web Services (AWS) that I have never used before. I knew nothing about it apart from its existence, so I was not particularly pleased to discover that it is not a typical web hosting, as I expected, but basically … Continue reading AWS not for everyone

MySQL: automated data upload

Working on my recent project I have had to create a database with several tables and populate them with pretty large amount of data. After a few not particularly successful attempts I have finally managed to automate the whole process. But let's start from the beginning. It happens that for this particular project I am … Continue reading MySQL: automated data upload

Why was Eve practising poor programming?

I was looking for some information about design by contract versus defensive programming and one of the first results my favourite search engine gave me was a PowerPoint presentation by professor Theodore S. Norvell, a member of the Faculty of Engineering and Applied Science of the Memorial University of Newfoundland, Canada. However, what I have … Continue reading Why was Eve practising poor programming?

Software Developer’s Career Guide

The reason for which this blog was brought into existence is a book that I read recently, The Complete Software Developer's Career Guide by John Sonmez. Self-help or self-improvement books was never my genre, but since I have been planning some radical changes in my career for quite a while, and I was aware that … Continue reading Software Developer’s Career Guide

Git for beginners

My first experiences with version control system were rather troublesome. I was introduced to Apache Subversion in a way that has not really worked for me, so it took me a while to get even the simplest basics of using it and I have abandoned the whole thing straight after the associated task was done. … Continue reading Git for beginners

Alter your inputs

In the ideal world everything is compatible, up to date and simply works out of the box, just like that. Unfortunately this is not the case, especially if you deal with web technologies. Recently I had to create a webpage with a form for entering some numerical data. Simple task, quickly done, but... There was … Continue reading Alter your inputs

What R you looking at?

It supposed to be a text about RStudio, a free and open-source integrated development environment (IDE) for R that I have recently discovered and started using. But I have changed my mind, as something else occurred to me. The reason I have turned my interest towards programming in R was a huge amount of data … Continue reading What R you looking at?

The art of hashing

Last week I wrote about Bloom filters, giving there an example of simple implementation of that data structure in Python, for which I have used three hash functions from Python hashlib library, that in fact are cryptographic hash functions, so using them is such a way is an overkill. In the meantime I have implemented … Continue reading The art of hashing

Bloom filters are O(k)

Imagine you are creating a user registration module for your website and you need a way of checking that the chosen user name is available. What are your options? Sequential search with its O(n) worst-case run-time complexity? Think about those hundreds of thousands or even millions of user you will have one day! What about … Continue reading Bloom filters are O(k)