All posts
-
QA by Child
I recently published a home project I was working on, an app to teach children to read Hebrew. I wrote it originally to help my son learn to read Hebrew. In an early version my son was very excited to play it. He quickly understood the principle – see a word, then tap one of…
-
How to hire a freelancer – 25 useful tips
Over the years I’ve had many opportunities to work with freelancers. Recently a friend had a bad experience looking for freelancers, and I tried to help her find new ones. That prompted me to write a bit about my method. While not completely foolproof, it will increase your chances of finding better freelancers. Defining the…
-
Validating Flight Networks for Drones – part 1
At Flytrex, in order to ensure drones fly only where allowed, and do not collide with each other, they are allowed to fly only in preplanned paths. However, if our goal is to deliver food to backyards, we can’t have a predefined path from our delivery center to each back yard, that would be wasteful.…
-
LearnLang – a small chrome extension for learning the German cases
I’ve been learning German for quite some time now. Some months ago, it came to the point where I was stuck – in order to progress I had to learn the German cases by heart. It’s not a lot of data, and being able to understand it is relatively straightforward, however knowing it actively as…
-
Writing a pandemic simulation
Over the last weekend I felt like programming something fun and easy, so I thought, why not write yet another pandemic/epidemic simulation. So between helping a crying child and preparing lunch, I created simpandemic. It’s small, simplistic, but easy to play with and change parameters. As a toy project, it’s far from perfect. I implemented…
-
How I learned to stop worrying and actually use StackOverflow
So apparently almost all of the developers in the world are using stackoverflow. However many developers just use StackOverflow to lookup answers, and rarely to ask their own questions. Answering other people’s questions is of course rarer still. Up until recently I was the same: I wrote a few questions in StackOverflow, and even answered…
-
Back to writing
So apparently my last blog post was from 2012. That’s quite a bit of time. Since then I’ve: Had a son Sold my startup Desti to HERE Moved with my family to Boston Moved back to Israel, join Cymmetria, first as VP R&D and later as CTO Had another son Left Cymmetria and joined Flytrex…
-
Two bugs don’t make a right
While working on my new startup, we are doing a little bit of reasoning using implications. One of the more curious forms of implications is the negative form: consider the following exaggerated example: a place being kid-friendly implies that it is not romantic. a place being a strip club implies it is not kid-friendly If…
-
Optimizing Django ORM / Postgres queries using left join
For the latest project I’m working on, we’re using Django with Postgres. I was writing some code that had to find a list of objects that weren’t processed yet. The way they were stored in the DB is like so: class SomeObject(models.Model): #some data class ProcessedObjectData(models.Model): some_object = models.ForeignKey(SomeObject, db_index = True) #some more…
-
Collision: the story of the random bug
So here I was, trying to write some Django server-side code, when every once in a while, some test would fail. Now, it is important to know that we are using any_model, a cute little library that allows you to specify only the fields you need when creating objects, and randomizes the rest (to help…