Elasticsearch, Imgix and new URL structure May 23, 2017

Three big things have happened on the site lately;

  • Searching have been switched from Algolia to Elasticsearch.
  • Images are now processed and served by Imgix.
  • URL structure have been replaced.

New domain; uctrl.io! Mar 15, 2017

I’ve been hosing my projects on uctrl.net since 2009, back then I was using MediaWiki and it looked something like this. A few years ago the site was moved to www.uctrl.net, and now it is uctrl.io. So why the moves?


Tag based navigation FTW! Feb 10, 2017

Categories, tags, or both?
Categories, tags, or both?

One of the first tables I created when I started work on this site was categories; of course posts and images needed a category. I then added a tags table and went on with my day. So posts and images could have one category and multiple tags. Great!

Well… Maybe not… As soon as I started adding content I realized that categorizing things is really hard… Yeah, somethings are clear-cut; like a project with an AVR microcontroller. But what about if a project has both an AVR microcontroller and an Arduino board?


A Christmas update Dec 22, 2016

Life have been pretty busy the last couple of months, both at work and at home. So I haven’t had much time available for projects lately… And I started re-watching Game of Thrones, damn that series is awesome, and addictive! But I have some projects in the making :)


Disk full, site crashed Aug 19, 2016

On Aug 18 03:38:37 (UTC+2) a backup script behaving badly filled up the entire server hard drive. This caused a number of services to crash, e.g. database and caching, which are pretty important parts of the system. This meant that pretty much the entire site returned 500 errors, the exceptions being pages that nginx had cached.

Nginx is set to micro-cache all pages on this site, and in the case of exceptions or other errors it serves stale (expired) versions of the cached page. Coincidentally this included the page the health checker uses to verify that the site is OK, which meant that the problem went unnoticed by the health check.

The problem was fixed 3.5 hours later. It is a pretty unfortunate series of events, but still; a few lessons learned:

  1. Don’t cache the health check URL.
  2. Keep your backup scripts in order.
  3. Notice when the hard drive is getting full…

Update; recent site changes Aug 2, 2016

Just checking in… :) Here are some recently implemented site changes and updates:

  • Some parts now have links to their datasheets, obsolete parts list their replacement and parts quantity is shown with unit on project part lists.
  • View filters are now marked as active when they are turned on.
  • Images in galleries can now be browsed in the light box with previous and next buttons.
  • The image page have now been removed and redirects to the image file, image uses in listed below the thumbnail instead.
  • Turned Disqus comments back on, read why here.
  • Some layout and styling changes; font and line height increased on posts, moved the table of content, moved away from having two columns on the home page.
  • Improved part descriptions and updated old and obsolete part supplier URLs.
  • Fixed a pretty decent number of bugs.

Moved from BitBucket to GitHub, and new deployment Jun 21, 2016

I’ve had all my private repositories on BitBucket for a number of years, but all my public/open source projects on GitHub. But after GitHub announced unlimited private repositories I figured it was time to leave BitBucket behind.

Now; BitBucket is a wonderful service, and you can have unlimited private repos for free! But I have to admit that I like the UI and community on GitHub more, a lot more actually.

After moving the entire repository and issue list to GitHub I also implemented a new way of deploying…


Major improvements to images May 9, 2016

Images are a big part of the web and, according to Http Archive, 64% of the average bytes per page are images. So optimized images are definitely a big factor when it comes to site performance and weight. However; finding the balance between filesize and quality can be difficult, enter Kraken.io!


Searching is difficult, enter Algolia Apr 15, 2016

Creating a good and fast search for your website is difficult, and very time consuming. Stop words, relevance, word weight and spelling errors…

I used full text search for a long time; but it’s far from perfect. It does handle stop words, but I found the relevance sorting to be less than ideal. And it does not at all tolerate misspellings.

Then I discovered Algolia!


Moving to jQuery 2.x, leaving IE 6/7/8 behind Feb 13, 2016

I have updated the jQuery library from 1.x to 2.2, this means that support for Internet Explorer 6, 7, and 8 browsers is removed. I don’t really view this as a problem, seeing as even Microsoft is pulling the plug on Internet Explorer 8, 9, and 10.

jQuery 2.x is smaller and faster, and lets face it; if you are still using Internet Explorer 6, 7 or 8 you really need to upgrade!


Bye bye Disqus, hello custom commenting system Feb 10, 2016

I’ve been using Disqus for comments on this site since it launched, never been happy with it though. However it did work, and it did allow me to implement comments with minimum effort.

I’ve been playing with the idea of writing a commenting system myself for some time, and about three weeks ago I got started. Today I am happy to announce that the new code has been pushed to the production server last night :)


Micro caching Oct 4, 2015

After experimenting and playing with Nginx micro caching for some time; I have turned it on for the entire domain. My server can now handle more connections with less load, awesome!

Project pages updated Sep 11, 2015

I’ve started work on refreshing some project pages. This involves creating parts lists for project that didn’t have that already, redrawing some old schematic drawings and taking some new photos with my SLR camera.


Say hello to Laravel 5! Mar 17, 2015

I’ve spent the last week or so coding and adapting the website to Laravel 5 and today it was deployed to the production server:D I’ll spent the next weeks fine-tuning and tweaking while continuing to add content.

Maintenance is complete Mar 8, 2015

Maintenance was performed as planned yesterday, with around 30 minutes of downtime. I am currently working on improving some key components of the site before adding more projects. This should, among other things, improve the response time somewhat. More information to come… :)

Things are happening on the back-end Feb 7, 2015

I have successfully merged my old logistics system with this site. A lot of development was needed on back-end features and functions that is not really visible. So although it might look like nothing has been done; the change log says otherwise :) With all the back-end data now in place; (almost) all projects will get a complete parts list and…

I have started migrating projects from the old wiki system! :D

Content is on it's way :) Nov 29, 2014

I’ve finally started to migrate content! First on the list is some resources from my previous logistics system, mostly used behind the scenes. After that I will start with the projects from the old Wiki, so stay tuned, I’ll keep you updated :)

Personal news Sep 23, 2014

It’s been a long time since my last project. A lot has happened in my personal life, the biggest you can see on the image below. This have (naturally) taken a huge bite out of my spare time, but is also very rewarding :)

My beautiful twin boys :)
My beautiful twin boys :)

Website news Sep 23, 2014

For many years I hosted all of my electronics and micro controller projects on this URL, using the MediaWiki application. Life happened and the site was taken down, and has been down for about a year. Now it’s coming back up! :)


We are online! Sep 23, 2014

This site is so newly born it still has it’s umbilical cord (figuratively speaking), so there might be some bugs that needs ironing out. And a lot of content to move, a lot! I will do my best to get it done in a timely fashion, but it is going to take some time… Stay tuned, I’ll keep you updated :)