Yvan Rodrigues' problogue

(like a blog, but with less effort)

Disconnected ramblings about software development, iOS, FreeBSD, anti-social networking, kittens, drosophilidae, small business, Android, web services, finches, Windows, electrical engineering, XML, rental cars, rye, or ... FIVE dollars??!... something something beer.

Newly coined word: queck

/kwɛk/ (rhymes with fleck)
A set consisting of a question and its accompanying answer(s).
Created while writing an educational video game by Yvan Rodrigues in 2012 to describe sets of questions and their answers without using the word "question".
The quiz game has a library of 500 quecks.
Each multiple-choice queck has four possible answers.
Trivial Pursuit expansion packs typically contain 1650 quecks.

The .ws TLD for web services... pass it on.

Does anyone disagree that the availability of .ws domains is pointless?

Perhaps in an attempt to generate revenues like Italy (.it), Tuvalu (.tv), Montenegro (.md), and Tonga (.to) did, Samoa (formerly Western Samoa) made available this ccTLD for general registration (that is, residency is not a requirement). Global Domains International Ltd. represents the TLD on behalf of Samoa and markets it as Your Internet Address for Life, essentially an all-purpose alternative to .com.

I'm of the opinion that the last thing the world needs is another one-TLD-for-all-your-needs. However, for the last five years I have been registering .ws domains for the purpose of web services. It's a nice way to distinguish websites-for-people from webservices-for-computers. You can even create subdomains for types of services, such as schema.example.ws, soap.example.ws, wsdl.example.ws, rest.example.ws, etc.

All the cool kids are doing it. Pass it on... it might even help out a country where the GDP per capita is about 1/10th of Canada or the U.S.A.

MonoTouch: NSUnknownKeyException - This class is not key value coding-compliant for the key

This error can occur in the constructor of AppDelegate (when it calls base.ctor()).

This occured to me when I have specified the application's entry point in Info.plist in the Main Interface setting.

A similar error will occur any time an outlet exists for a control that no longer exists in Interface Builder.

Caine's Arcade: just try not to smile.


This makes me laugh every time


Stock photography that you'd like to pitch to your client but probably shouldn't.

I'm currently creating a very visual website for a countertop retailer. I'm drawn to images like these. "It probably won't save your marriage, but it may just spice up your affair."

Look closely at the last three.

Credit: DepositPhotos

Websites that have sold my personal information or have been hacked and compromised

Whenever a website asks me to sign up or share personal information, I always use a unique, tracable e-mail address. These are those to which I now regularly receive spam.

Viewing SVG and other HTML5 content when debugging in Visual Studio


When working on modern web applications that use features that are recently supported by browsers such as SVG, you may find that images do not render correctly, or at all in the browser.


When most of use develop and test web applications locally, we use the built-in web server, called ASP.NET Development Server/ This works fine for testing, and most applications will eventually get deployed to a web server running IIS 7.0 or later.

The Problem

The ASP.NET Development Server is not aware that it should serve SVG with a MIME content-type of image/svg. Instead it uses the generic application/octet-stream. A modern web browser on the other hand will typically either request image/* or explicitly request image/svg+xml. If the response is application/octet-stream, it will ignore the response (tested in IE9, FF14).

The usual way of fixing this is to add this code block to web.config:

Unfortunately ASP.NET Development Server is unable to understand this directive.

To workaround this problem, install and use IIS 7.5 Express to serve the content locally. This will require instructing Visual Studio to use IIS instead.


Fruit fly carnage

This DIY fly trap did the trick in our kitchen. It consists of a dish of cider vinegar in plastic stretch-film with a 1cm diameter hole in the top.


Ports upgrade broke my mail server

A day or two ago I upgraded the ports in my jails. This stopped postfix from accepting mail. The problem was that postgrey, which listens for postfix on tcp/10023 stopped running. It produced an error about not being able to bind to ::1. I got it back running again by altering the flags in the startup script (/usr/local/etc/rc.d/postfix) from:

postgrey_flags=${postgrey_flags:-"--pidfile=${postgrey_pidfile}  --inet=10023 -d --user=postgrey --group=postgrey --dbdir=/var/db/postgrey  --x-greylist-header=${postgrey_greylist_header}"}


postgrey_flags=${postgrey_flags:-"--pidfile=${postgrey_pidfile}  --inet= -d --user=postgrey --group=postgrey --dbdir=/var/db/postgrey  --x-greylist-header=${postgrey_greylist_header}"}

This forces binding to the IPv4 port only.


Simple Copyright Policy: If you want to reproduce anything on this site, get my permission first.