Cleave, cleave, glyph, stick, split and flint

I was curious why the word “cleave” has two opposite meanings so I referred to one of my favourite online resources, the Online Etymology Dictionary.

This shows the two meanings and explains how they used to be distinct in Old English, but later merged. Cleave (to stick) is related to clay and claggy. While cleave (to split) has many related words such as cleaver, cleft and cloven. It is also distantly related to glyph (Middle English cleven, from Old English clēofan; akin to Old Norse kljūfa to split, Latin glubere to peel, Greek glyphein to carve.)

He suggests that the confusion between the words may have caused them to be replaced by stick and split. This led me further down the rabbit hole: stick (as in glue) really is the same word as stick (a piece of wood) – because a pointed stick can be used to hold something in place. And split is from the same proto-IndoEuropean root as flint (which can be used to make a tool for slitting things).

When is a LED not a LED?

One of the projects I have been working on recently involved looking in more detail at display technologies, as used in computers, phones, TVs, etc. Which was pretty timely as I will need to buy a new TV soon for our house in Italy.

One of the things I learned about was the terminology used in marketing TVs. There are LCD displays, LED displays and now QLED (Quantum-dot LED) displays. It turns out these are all LCD TVs. The only difference is the source of the backlight.

LCD TVs were the original flat-screen TVs (along with plasma displays, which are no longer made). The first versions were backlit with fluorescent lamps. These were later replaced with LED lights to create the so-called LED TV. These have the advantage of being thinner and lighter, and consuming less power. They can also improve the contrast ratio by adjusting the lighting level based on the average brightness of the image.

When I first saw QLED displays being advertised, I assumed they would be “real” LED displays where the image is created by turning on red, green and blue LEDs in each pixel. But no, they are just another LCD display using quantum dot LEDs to provide improved backlighting.

There are now true LED displays available based on OLED technology. These are currently very expensive but are much brighter with much deeper blacks. They should consume less power than LCD displays for average images although they can consume more power for an image that is mainly white.

The prices of OLED TVs should drop quite quickly as fabrication techniques improve and scale up. So I think I will wait a while before buying a new TV.

Solid State Drives: is my data safe?

One of the most talked about issues with flash memory is that there are a limited number of program-erase cycles. Every article seems to mention this, and it seems quite scary.

Taken in context, though, this is not as a big a problem as it might seem. A single-level cell (SLC) flash memory may have a lifetime of about 100,000 cycles. To put this in perspective, if you were to completely fill your 256GB SSD with data 10 times a day, it would take you more than 25 years to reach the cycle limits. A hard disk would probably not survive that long either.

This ignores factors such as write amplification and garbage collection (that add extra cycles and potentially reduce the lifetime) and over-provisioning (that provides spare blocks to increases the lifetime of the flash memory). However, as consumer grade hard disk drives have an average life of 4 or 5 years so it doesn’t seem that there is any greater risk from using SSDs rather than HDD. Just make sure you have regular backups, either way. (And don’t store the latest backup in the same bag as your laptop. That will be really frustrating when the bag is stolen.)

The Tech Report website did an interesting experiment to test the lifetimes of a number of SSDs under conditions of stress. This is the last article in the series, but has a link to the first if you want to follow the whole thing: The SSD Endurance Experiment: They’re all dead.

Airtable for Project Planning

I suddenly found myself with about a dozen projects to finish in the next few weeks and was beginning to lose track of where I was with all of them. So I decided to try out Airtable as a simple project management tool. Just as well, because I found I had almost forgotten one of them!

Airtable is a really simple online database tool with apps for your phone or PC. What makes it instantly appealing is the simple user interface. I have a lot of experience coding database software from scratch. A large part of that is designing the database structure, but even more time is spent designing and implementing a user interface.

User interface

Airtable looks like a spreadsheet. The initial view is a table where you can add named columns of different types such as text, dates, various number formats, formulas and others you might expect in a spreadsheet. What makes this different from a spreadsheet is that these fields can reference other tables. This instantly creates a relational database: in other words, the displayed information will be updated when the other table is changed. Airtable call the set of related tables a “Base”.

Airtable example base

It is easy to add new tables and define the fields in each table using the interface. You can also import existing spreadsheets (in CSV format).

Views

There are several different views of the data available. The default view is a grid (spreadsheet). This can be customised by filtering on the values of one or more fields (for example, only displaying the active projects for a particular client), by grouping the rows and changing the sort criteria.

There is a calendar view, a gallery view (which shows the entries as a series of cards with only the most important information) and a kanban view. Even if you don’t use kanban for project management, it gives a useful overview of the all the tasks in the project.

An example of a kanban view

Collaboration

You can also create a form view for entering data. You can send the URL for the form to other people so they can submit data into the database.

Beyond that, Airtable supports collaboration. You can define a team of people with access to the database. There are different levels of access including view-only, edit and create.

It’s free!

But, best of all, the free version is fully functional and not time limited. There is a limit of 1,200 records (per database) in the free version. This will be enough for me for quite some time. There are various paid-for plans which extend the limits and give access to more features.

Because it is designed to be easy to use, there are some limitations in the sort of connections you can make between tables. The formatting of cells in the table view is also limited (no conditional formatting or graphs, for example). Also, there is no support for report generation – so I can’t generate invoices directly from Airbase.

The result

So now I have a simple database of all my projects, with a basic CRM with details of the clients, and a record of invoices. I can see what needs doing by when, track my delivery dates and when I get paid.

As with any web-based tool, there is a worry that the company might suddenly disappear or remove free access. You can manually export the contents of each table in the database to a CSV file but there is no built in backup of the entire database. However, there is an API, so I have knocked up a Python script to dump the contents to a text file. Just in case.

SaveSaveSaveSave

SaveSave

Coffee machine crash

Driving back from Italy the other day, we stopped for coffee at an aire in France. I spotted this BSOD on one of the vending machines.

BSOD
BSOD

I just can’t help feeling there should be a better way of handling this in an embedded system.

SaveSaveSaveSave

SaveSave