Programming
MS-SQL: Cleaning up duplicates with Common Table Expressions
It is a common pattern to prefer non-semantic primary keys — auto-incremented integers or UUIDs — over semantic ones. It’s advisable to define unique indexes on the semantic identity fields, but sometimes you avoid it for performance reasons or you just forget. When things screw up, you end up with multiple records relating to the [...]
@rethinkdb dog challenge
Rethinkdb recently published a cat challenge. Well, it’s not really a challenging challenge if you can solve it by looking up Vigenère encryption from Wikipedia and following instructions. I don’t want to debate the pro and cons of the remainder operator in ANSI C and CPython: the two standards adopt one the divisor, the other the [...]
Functional vs. Object Oriented, an unusual point of view
While searching for a job, I met a proprietary trading company that uses functional languages for their own systems. Jane Street is a private equity firm, specializing in statistical arbitrage. They use algorithms to take advantage of the small inefficiencies in (or between) financial markets. Their main needs are correctness, agility and performance. Their tool [...]
F# plugin for MonoDevelop 2.6
MonoDevelop 2.6 is now stable, but there is no official port of the F# plugin. I forked it on githuband got it to compile and install properly, but there is still a lot of things to do: When you create a new F# console solution, it won’t compile cleanly out of the box. You need to [...]
Minifying CSS and Javascript automatically in ASP.NET
Nowadays, I mostly work with C# on ASP.NET code. One of the things that I find really annoying is any kind of non-automated procedure to follow in your release process. It’s the kind of thing that gets overlooked when you’re in a rush, sometimes with hideous results. CSS and JavaScript minification is one of these steps that [...]
Spreading web frameworks like epidemic diseases
I think that the adoption of a new technology, like a new web application framework, is much like the diffusion of an epidemic. Different people with different backgrounds will adopt it at different rates, depending on individual variability, past experience and the ability of existing tools to solve the new problems good enough that a [...]
Modeling apprenticeship and proficiency
This post is a bit different from the usual ones. It’s not about my opinions or observations about something, it’s about yours. I need your help. I was thinking about adoption rates in software frameworks (in particular, my focus is Python-based web frameworks). The interesting question is: what is the best learning curve to maximize [...]
GenroPy has no community
One of the key assets of every open source project is the community that supports it. The health of the community is the key factor contributing to growth and long-term viability of an open source project. If there are not enough gardeners, even the most beautiful and well-groomed park will eventually turn into an impenetrable [...]
GenroPy is not SOLID
There are five basic principles of object-oriented design and programming, known collectively as SOLID, that are very important to build code that is easy to maintain and evolve over time. These principles are: Single responsibility – an object should have only a single responsibility. Open/closed – software entities should be open for extension, but closed [...]
No longer involved in GenroPy
I am no longer affiliated with the GenroPy project. I have no conflicts with the project itself or its authors, but I won’t be able to contribute to it in the future. In the last year and half, I have been the largest GenroPy user outside Softwell, the company that created the framework. There is a lot [...]