Thinking of upgrading my scratch-built NAS. Really would like to upgrade to a 6-disk system, but looks like I can't quite afford the ideal 6-disk layout. Probably going to go w/ the 4x 2TiB setup, increasing my current 4x 750GiB from ~2TiB to ~6TiB.

There once was a site built upon hard work and naive ideas. I rebuilt it many times, always ending up with what was really just a highly integrated CMS and site-design. Since then I've dabled in Drupal, WolfCMS and MODx. Recently I've found that all of these CMS impose too much, and require constant upkeep. Instead, I've found Hugo which gives me the automation and templating I desire and produces a static result. No worry of being hacked, even if Hugo completely fails on me, I still have a nice plain HTML website to rebuild from.

Occasionally while browsing the web I come across a website that strikes me as particularly well designed/written. Too often it’s based on Drupal, Wordpress or some other gargantuan CMS/blog system. After being fairly displeased by Drupal I switched to this site’s current backing: WolfCMS. With only a few minor bumps WolfCMS finally hit my needs for simplicity and manages to be fairly useful. That said, I’m not a huge fan of some of the design decisions underpinning how admin logins are handled: Specifically that I so infrequently log in that I forget which username and password I originally configured. This would be fine normally, except that it has a lock-out feature if I fail too many times… which is great, except that there’s no indication that you are locked out… and looks exactly the same as when the system is unable to create temp files (see previous blog post about that…).

Sooo… while I was on Notepad++’s website today (my IT department’s antivirus suddenly decided that NPP 6.6.9 is a known virus… whatever.) I noted that Don Ho has a page that lists all of the components used in Notepad++, including the CMS used to power the website. (I also learned of a really nice XML library too, TinyXML2)

Enter, MODX. Seems to be highly dynamic, while itself being fairly simple and straightforward. Hopefully I have time tonight or this weekend to give a whirl: It looks like it should be 10x what WolfCMS is, while maintaining the simplicity.

(Yes, this is mostly just a note-to-self… but then so are most of my posts ;-)

My first attempt at building the Mooltipass firmware from source didn’t go so well: There were a few defines that need to be modified in the source or provided in the Makefile to build for a particular target (Olivier’s design TODO: Link to design/pictures, v1). While writing this up, I found a simpler and slightly better way to build things properly, see commit 2856f843fda26f758c90c3a40778c70d53a1fbd6.

Even w/ the proper defines, it turned out that the version of avr-gcc in Ubuntu 12.04’s reposistories is much too old and doesn’t handle some specific tricks that MP uses to locate the executable outside of the DFU bootloader’s flash space. Trying to program the binary just gave me an error from the dfu program stating that I was about to overwrite the DFU bootloader. Next step? Build avr-gcc from source to get latest versions :-)

The avr-libc website has some excellent instructions for doing precisely this. I ended up following their instructions pretty much verbatim, using /opt/avr-gcc as my installation prefix. I download the latest stable version of each package:

Each image is commented, but apparently there's no way for the public to see my comments... I'll figure out how to export them later... for now the important bits: Heat gun was set to 210°F, waited ~10-15 minutes for everything to come up to temp, use the thinest part of plastic spudger to go around the perimeter, use progressively more of the spudger focusing mainly on the bottom end. Go VERY slow and try not to flex the acrylic too much! In retrospect, more heat might've made it much easier. I imagine a glass screen would require at least 220&degF (and lots more patience).

Most Linux distros I’ve used all have this same insane problem… just because most of your users want apache, does not mean that EVERY FOLDER that apache needs to touch should be owned BY the apache user/group! It makes no earthly sense for me to add the lighttpd user to the apache group for the system to work properly… both apache and lighttpd should be added to the www group (or something similar). Thanks to this kind of foolishness, I just spent over an hour debugging my CMS only to realize that PHP was (silently) unable to access the session directory because the ownership got switched back to apache:apache. So, thank you PHP for silently failing in a useless fashion, and thank you CentOS for having terrible permissions (and overwriting MY changes to the filesystem).

Hopefully next time, I’ll remember to check the permissions on /var/lib/php/session before tearing through WolfCMS’s source.

First off, I started a public Trello board to track my thoughts and status. This new build will definitely break away from the idea of keeping the BOM to an absolute minimum, but I still want to maintain the idea of keeping the device size to a minimum. Towards that end, I'm adding an OLED display, 3FF smart-card slot, and am still looking for a small flash/eeprom storage chip. As an alternative to "external" storage, I might bump up the Atmel (or switch to TI) to get more storage space. Not so sure on that latter bit, as I'm more concerned about PCB dimensions than storage size.
Posted 2014-01-15T16:06:52-05:00