Born under a bad sign.

The Renaissance Mathematicus

Yesterday’s birthday boy has got to be a serious candidate for the most unfortunate astronomer of all times. Guillaume Joseph Hyacinthe Jean-Baptiste Le Gentil de la Galaisière (September 12, 1725 – October 22, 1792) was a French astronomer whose life as a scientist started auspiciously in that he was personally trained in his profession by the Cassini’s at the observatory in Paris. In order to understand when and why it all turned pear shaped we have to go back to the 16th and 17th centuries.

One of the consequences of the new cosmological models proffered by Copernicus in 1543 (heliocentrism) and Tycho in 1588 (geo-heliocentrism) was that the inner planets, Mercury and Venus, would or should cross, or as the astronomers say transit, the face of the sun. Now this does not occur by every orbit as the orbits of the planets are tilted slightly with respect to the apparent…

View original post 980 more words


Exercises in Programming Style

Henrik Warne's blog

In the book club at work, we recently finished reading Exercises in Programming Style by Cristina Videira Lopes. The book consists of a simple program implemented in 33 different programming styles. It is a great way of showing the different styles, and the book was quite popular in the book club. The book is relatively new (it was published in 2014), and I don’t think it is as well-known as it deserves to be. So here is a summary and review of it.

View original post 1,560 more words

Interactive Image Segmentation with Graph-Cut in Python


In this article, interactive image segmentation with graph-cut is going to be discussed. and it will be used to segment the source object from the background in an image. This segmentation technique was proposed by Boycov and Jolli in this paper. This problem appeared as a homework assignment here., and also in this lecture video from the Coursera image processing course by Duke university.

Problem Statement: Interactive graph-cut segmentation

Let’s implement “intelligent paint” interactive segmentation tool using graph cuts algorithm on a weighted image grid. Our task will be to separate the foreground object from the background in an image.

Since it can be difficult sometimes to automatically define what’s foreground and what’s background for an image, the user is going to help us with a few interactive scribble lines using which our algorithm is going to identify the foreground and the background, after that…

View original post 896 more words

The first English professor of mathematics

The Renaissance Mathematicus

From its origins the word professor refers to someone who professes to know something about a given subject. In the medieval universities undergraduates started their studies in the arts faculty, where they nominally learnt the seven liberal arts (the trivium consisting of grammar, logic and rhetoric and the quadrivium consisting of arithmetic, geometry, astronomy and music) and philosophy. This course of studies closed with the Bachelor of Arts or BA. Most students left the university at this point, those that stayed continued on the arts faculty working towards the Master of Arts of MA, the basic teaching qualification for the university. These masters would then teach the undergraduate courses on the arts faculty whilst simultaneously studying for a doctorate on one of the higher faculties, medicine, law or theology. The normal practice was to distribute the undergraduate teaching duties by drawing lots, the mathematics courses being regarded as having drawn…

View original post 864 more words

Designing Windows 95’s User Interface

Socket 3

win95uidesignThree years ago I came across an interesting paper written up by a Microsoft employee, Kent Sullivan, on the process and findings of designing the new user interface for Windows 95. The web page has since been taken down – one reason why I’m a bit of a digital hoarder.

It specified some of the common issues experienced from Windows 3.1’s Program Manager shell and looked at the potential of developing a separate shell for ‘beginners’. Admittedly my inclination was that this was possibly inspired by Apple’s At Ease program that was reasonably popular during the System 7 days. I remember At Ease well during my primary school years, so kids couldn’t mess with the hard disk in Finder.

So here’s what Kent had to say verbatim in his paper titled “The Windows 95 User Interface: A Case Study in Usability Engineering” so it’s not lost altogether.

View original post 4,695 more words

Python’s Weak Performance Matters

Meta Rabbit

Here is an argument I used to make, but now disagree with:

Just to add another perspective, I find many “performance” problems in
the real world can often be attributed to factors other than the raw
speed of the CPython interpreter. Yes, I’d love it if the interpreter
were faster, but in my experience a lot of other things dominate. At
least they do provide low hanging fruit to attack first.


But there’s something else that’s very important to consider, which
rarely comes up in these discussions, and that’s the developer’s
productivity and programming experience.[…]

This is often undervalued, but shouldn’t be! Moore’s Law doesn’t apply
to humans, and you can’t effectively or cost efficiently scale up by
throwing more bodies at a project. Python is one of the best languages
(and ecosystems!) that make the development experience fun, high
quality, and very efficient.

(from Barry Warsaw)


View original post 856 more words

Argumenting Client-Side Decorations


Apparently it is the season to chime in on opinions on client side decorations (CSDs) versus server side decorations (SSDs) in the context of Wayland. I normally ignore these kinds of quarrels but this is a case where I consider the dominating solution being close to the worst possible one. The two pieces of note, so far, is This post from camp Gnome and This from camp KDE.

For starters, Martin claims:

Nothing in Wayland enforces CSD. Wayland itself is as ignorant about this as X11.

Well, it is the compositor’s job to enforce it (i.e. do nothing really) and he doesn’t want to – it’s a case of bad hygiene for any implementor of a protocol to skew interpretation this blatantly as it counteracts the point of having one. You don’t have to dig deep to find the intention behind the protocol – even the first commit to the…

View original post 1,799 more words