I Created Another On this Day API

26th September 2018

screenshot of documentation

There are multiple “On this Day” APIs built on top of Wikipedia but I created yet another one. This API can be used to retrieve birth, deaths, and events for any given day of the year.

The reason for building this was that I wanted something stable with support for things like Cross-Origin-Requests and SSL. The need wasn’t actually mine. A friend of mine sees the potential of “On this Day” information as a possible delighter in everyday contexts and I offered to help.

The data is (because it’s harvested from Wikipedia) licensed under Creative Commons Attribution-ShareAlike 3.0 Unported The API is actually just a collection of pre-generated static JSON files cached and exposed using Cloudflare. So feel free to query without limits.

API Sandbox and Documentation

Rounding Colors with Colorsnap

9th September 2018

While working on an evaluation of Generous Interfaces in the GLAM sector at the Swedish National Heritage Board we extracted colors in images to make them searchable by their palettes. For usability reasons we wanted to limit the extracted colors to a comprehensible palette.

Screenshot of our generous interface.

Colorsnap is a Python package for snapping/rounding colors to other colors/palettes. Although I could find plenty of resources and examples on how to do this, I could not find a accessible package.

So now you can do:

pip install colorsnap

Let’s take the hex color #0000ba and round it to its nearest color available as a named color in the CSS 3 specification.

from colorsnap.palettes import CSS_3
from colorsnap import snap_color

snap_color(CSS_3, '#0000ba')
# returns the following tuple ('#0000ba', 'mediumblue')

visualized (input to the left):

Colors compared.

Colorsnap comes with palettes for CSS 2, 2.1, 3, and 4 but you can also use your own:

from colorsnap import snap_color

palette = {
    'black': '#000000',
    'gray': '#808080',
    'white': '#ffffff',
}

snap_color(palette, '#0000ba')

In addition to using named colors you can also round colors to basic hex values:

from colorsnap import snap_color

palette = ['#4286f4', '#414449']

snap_color(palette, '#0000ba')

It’s available over at PyPI and Github.

A Web App for Browsing Sign Languages on Wikidata

14th August 2018

I recently built a web app for browsing and learning sign languages. The original goal was to build an interface on top of SparQL and showcase sign languages content on Wikimedia Commons. This weekend I finally took the time to deploy it. You can try it out here.

Screenshot of the application.

7 Online Web Development Tools I Use

10th August 2018

Seven of my favorite online tools for web development.

Screenshot of the Coolors tool.

Coolors

I do not think that the Coolors app helps me enough when it comes to selecting a palette for my next project, but hey, we can’t expect that. With its great user experience and useful sharing options it’s my go to tool for creating or sharing color palettes.

Screenshot of the RegExr tool.

RegExr

RegExr does not only have great UI for writing and testing Regular Expressions but it also provides a library of others solutions and a cheatsheet.

Real Favicon Generator

Safari, Chrome, Edge, they all got their own type of special icons and manifests these days. The Real Favicon Generator allows me to upload a SVG and specify some settings to generate these and icons for all common devices and environments.

JSON Editor Online

Whenever I need a non developer to edit a JSON document I send them to JSON Editor Online, It’s GUI allows for easy editing and sharing.

GeoJSON.io

It’s not uncommon that I need some static GeoJSON. GeoJSON.io allows me to draw geometries and add properties as I wish.

Keycode.info

Need a key code? Just head over to keycode.info and click the key you need the code for, especially useful when you work with custom keyboards such as remote controls.

gitignore.io

No need to patch your .gitignore files as you go. Make sure that you ignore what you need from the beginning. Nowadays I use this through an VS Code extension.

Older