Machinimasound Epic


Machinimasound Epic

As I work in an open-space area, I typically listen to music with noise cancelling earphone when I need to concentrate for coding. Soundtracks and electronic are types of sound that work best for me. I recently discovered the web-site which offers Creative Common licensed music, and found that the tracks labelled Epic are really nice to listen when coding, I suppose I need to feel epic about that. So if you are looking for some background music, for instance when building an animation, or simply to listen to, it is a web-site worth checking out.

Machinimasound Logo – Creative Commons Attribution 4.0

Flattr this!

Bluetooth Lightbulb

Bluetooth Lightbulb

Bluetooth Lightbulb

A lot has been said about the internet of things, but I have not yet seen the point of spending money to connect elements of my household to the net. My flat has central heating and the climate around here is temperate, so no need to control the heating remotely, light switches work fine for me.

Yet I’m curious about the concept, so when I discovered a bluetooth lightbulb on the website of a Chinese reseller, I did not resist and bought it: I have no speakers in my dining room, and no wish to have more things and wires, yet a speaker to listen to music or podcasts would be nice. Bluetooth also solves a recurring issue of connected household devices: proprietary protocols. Bluetooth audio is a mature technology that works pretty well – this is why it must be replaced by newer protocols.

Address CC-C5-0A-65-1F-05
Major Type Loudspeaker
Minor Type Audio
Paired Yes
Configured Yes
Connected Yes
Manufacturer Cambridge Silicon Radio (0x6, 0x21C8)
Class of Device 0x04 0x05 0x240414
RSSI -72
Role Master
EDR Supported Yes
eSCO Supported Yes
SSP Supported Yes

As could be expected the product I received is completely generic: no brand, no markings, nothing. In fact you could confuse it with any regular LED lightbulb. The lightbulb announces itself under the name BB Speaker and worked immediately, the light bulb basically pairs with the first devices that recognises it. You can un-pair it by turning the light off. It beeps when it pairs and un-pairs, exactly like more usual bluetooth speakers. Digging in a bit yielded the profile in the table on the side.

The sound quality is pretty average, better than the speaker of a phone, acceptable to listen to a podcast or some background music. The fact that the sound comes from the lightbulb has the advantage of having the loudspeaker in the center of the room, as opposed to the walls which is the usual position for speakers. In fact this lightbulb would be pretty good for public announcement system, except for the communication protocol.

I find it interesting that trivial applications work pretty well nowadays, but more interesting for of interactions are simply not available because of lack of standards to support them. It would not be rocket science to define Bluetooth profiles for light-bulbs and similar devices, but I doubt there will be a drive in that direction, so we will have a few more years before before the internet of things uses a sane protocol.

Flattr this!

Steam locomotive modernised by Dampflokomotiv- und Maschinenfabrik DLM of Winterthur,

Modern Steam

Steam locomotive modernised by Dampflokomotiv- und Maschinenfabrik DLM of Winterthur

While looking around for references for my dieselpunk roleplaying idea, I ended-up reading a bit about steam locomotives. While steam-engines are considered low-tech enough to be part of the romantic landscape of steampunk, they are quite complicated systems, they got constantly improved between the first prototype built by Richard Trevithick in 1804, and the demise of that technology, 150 years later.

Steam locomotive were supplanted by either electric or diesel-electric engines, with lower maintenance costs, and in the case of diesel-electric locomotives, better energy efficiency. Diesel locomotives typically have a 35% thermal efficiency, that is for each unit of energy it consumes, about a third translates into actual work (pulling trains). Steam locomotives typically had a thermal efficiency of 7%, although late prototypes reached 12%. Steam engines have the added drawback that they need water besides fuel. Unsurprisingly, steam technology appeared in a region where both water and coal were abundant.

Are steam locomotive really a thing of the past? Maybe not. There have been numerous technological advances in the last seventy years that would benefit a steam engine: better mechanical part, stronger and lighter materials, including improved insulation, computer based controls; so it seems conceivable to build locomotives with a thermal efficiency of 20%.

While this is still below the efficiency of a diesel locomotive, or even a car with a combustion engine (25%), steam locomotives have the advantage that they can run on a variety of fuels: coal, which is currently cheaper per energy unit than diesel, but also wood pellets, or even oil. It is also possible to build fireless steam locomotives that can run off some local source of steam, say the heat exhaust of a factory.

One interesting experiment is locomotive DLM 52 8055, a Kriegslok, i.e. a wartime locomotive built in occupied France, that ended up in Eastern Germany. In 1999 it was refitted in a modern way by Dampflokomotiv & Maschinenfabrik (DLM) in Winterthur, a spin off of the old Schweizerische Lokomotiv- & Maschinenfabrik (SLM). I could not get numbers about the efficiency of the new locomotive, but the conversion nearly doubled the locomotive’s power from 1176KW to 2205KW and its maximum speed was raised from 70 km/h to 100 km/h.

Currently the focus seems to be on repairing and upgrading the stock on exotic train lines (narrow gauge, cogwheels) only time will tell if the technology will do a more general come-back…

Modern Steam Dampflokomotive DLM 52 8055 © Walter Pöder – Creative Commons Attribution 3.0 Unported

Flattr this!

Falsehoods programmers believe about online shopping…


Selling stuff is a pretty old human activity, and merchants had found ways to distinguish themselves from their competition way before Archimedes had shouted Heúrēka. Trade is a complicated business, and online shopping has not made that simpler, quite the contrary. So when programmers build system to support online shopping they tend to stumble on their own erroneous, assumptions.

This post is similar to the one I made about geographic assumptions, but about online shopping, again this list is not exhaustive, and some of the falsehoods are disputable.

A product has a price
Products sold on auction site do not yet have a price. The moment the price is known is actually the moment the item will not be on sale anymore.

Except for auctioned items, products have one price
Products do not have one price, they have many prices: with or without taxes, then there is the sale price, the regular price, the list price, the manufacturer approved price, the mandatory publisher price.
Products have one final total price
The total price paid typically depends on a lot of variables: time of the transaction, location of the buyer, shipping methods, memberships, sometimes even the profiling of the buyer.
A product has a strictly positive price
Many phones are sold for “free”, there is typically a subscription behind it. Some online shops also add samplers and documentation as free items to their inventory.
A price is a number
Without a currency, a price is meaningless on the internet.
A price is a floating pointer number and a currency
Using floating points for price is incorrect: no currency is defined for transaction below two decimal points, 3.1415 is a valid floating point number value, but USD 3.1415 is not a valid price for a transaction. Some currencies like the Japanese yen don’t accept any decimal position at all (the fraction of the yen, the sen, was removed from circulation in 1953). More generally floating point representation has rounding and approximation behaviour which are bad for monetary values which need to be exact.
Currencies need to be rounded to some decimal position
The Swiss franc needs to be rounded to five centimes.
Currencies symbols uniquely identify a currency.
The peso and dollar sign $ is used my many countries: USA, Cananda, Australia, Brunei, Namibia. The ¥ sign is used both the Japanese Yen and the Chinese Yuan.
Currencies have a unicode symbol
The Swiss franc does not, and until 2010, neither did the India rupee.
Currencies have zero or one unicode symbol
The dollar and peso symbol appears three times in unicode: 0x24 ($), 0xFF04 ($), 0xFE69 (﹩)
Currencies have zero or one unicode symbol after normalisation
The Japanese yen can be represented by the following symbols: ¥, 円, 圓.
Currencies can be described by a single three letter code
The ISO 4216 code for the Russian ruble is RUB, the three letter code руб is widely used, so is CA$ for the Canadian dollar.
Each stock keeping unit translates to a product
Some bulky items have to be kept in the warehouse as two or more boxes, hence two stock keeping units, but can only sold together as one product.
Each product has an picture
Many generic, or bulky items are sold online without pictures: pocket books in Japan, but also packs of screws etc.
You can put all products in database
Increasingly products can be customised, a shop that sells T-shirts with custom text as an infinite number of products, which won’t fit in a database. Even if you consider some good whose dimensions can be customised, the combinatorial growth of possibilities will quickly go beyond the capacity of a database.
There is a common keying system for products
GTINs are the closest thing, but many smaller manufacturer do not participate in the system, some items have multiple keys. The system also does not support custom goods.
There is a common system for annotating web-pages with products
There are multiple micro-data and micro-format variants.
In stock means the item is in the warehouse
Many online sellers do not have any actual warehouse, they ship directly from their suppliers (Drop shipping)

Flattr this!

Lego Movie Poster – Hemmet running away from an explosion

Lego Movie

Lego Movie Poster – Hemmet running away from an explosion

I went to see the Lego movie, the reviews were good, and as a geek I always had some fondness for Lego bricks. This was my second 3D movie, and of course I forgot to take the glasses I had, so now I have more of them cluttering my flat.

The plot is pretty standard: completely non-interesting main character has to save the universe and in the process discovers his inner qualities, but the movie manages to treat it interestingly, giving some depth to the various secondary characters and making fun of many franchises in the process (Batman in particular) and a light take on the theme of creative chaos versus order, which, if you think about it is nature of Lego bricks as opposed to other toys.

I really appreciated the fact that the movie understands Lego both as a toy and as an historic phenomenon, the tension between the assembly according to the instruction and free-form creation, the structure and style of bricks depending on the years. Unsurprisingly I found myself rooting for the 80s spaceman with his broken helmet (they really always broke) and the faded logo. My only regret was that there did not seem any traces of pre-80’s bricks. I somehow would have like seing pre-technics gears; oh well…

The 3D felt more natural that in the Thor movie, as everything changes and moves in all directions and the soundtrack was catchy. All in all it was an entertaining movie that I recommend if you want to have a fun moment.

Flattr this!