/ #blog 

82 - Wordpress looses connection to MySql intermittently

This is more a plea for help than a real blog post. Those of you that visit this blog with a browser might have seen the “Database connection error” page instead of the content. Usually, a simple reload takes care of the problem, and the you can read my ramblings. However this is annoying. More annoying, that I have exactly the same problem on another server with the same setup. Both servers are stock Joyent Smartmachines (small ones). Nothing special is configured on them, I have used the Webmin tools to configure the domains, setup the database and uploaded the Wordpress folders. ...

Jens-Christian Fischer
/ #blog 

83 - 6502

One of the first programming environments I worked with was the 6502 CPU and its assembler. I liked it quite a bit better than the Z80 (which didn’t hinder me of course to ask for a Z80 programming book as a birthday gift - my parents surely thought I was crazy) I never, really really, grasped assembler then (although later, one of my first big software projects was to write the DES encryption for 8051. The only source I found for DES was an obscure paper that described the algorithm in APL. I learned to read APL, and started to implement the algorithm in assembler. Of course there was no good tooling available, so I wrote a 8051 Assembler in Turbo Pascal. And while I was at it, I also wrote a 8051 emulator in Turbo Pascal. I vaguely remember if…then…elsif… elsif… end constructions that spanned several 100 lines of code in the inner loop of the emulator - at that time I hadn’t yet heard of lookup tables.) ...

Jens-Christian Fischer
/ #blog 

84 - Working or Tested?

Every web application needs to do things asynchronously. Be it that messages need to be passed to other parts of the app, or tasks that take a non trivial amount of time (sending an email, calling into another web service). Ideally, you spin these tasks off from the thread that services the web request and count on them being done in good time, without holding up the request. Until recently we used Resque for this. Resque is used in large installations and seems to be battle proof - for us however, it turned into quite a bit of pain. (That is the topic for another blog post). We replaced Resque with RabbitMQ for message passing and girl_friday for sending mails etc. Both choices have turned out to be excellent so far: We are happy with the stability and the ease of use. ...

Jens-Christian Fischer
/ #blog 

85 - Security Engineering

When I did my Masters in Science, I had to take a number of modules on topics that were wasted time (“Web Programming in XHTML and PHP” being my absolute favorite time and energy wasting exercise), but one module where I learned heaps and heaps was “Security Engineering”. The course itself was so so (as - unfortunately most of the modules and courses that the University of Liverpool gave), but the book we were required to read was one of the best technical books I ever had the joy to read: Security Engineering: A Guide to Building Dependable Distributed Systems (Amazon.de) Security Engineering: A Guide to Building Dependable Distributed Systems (Amazon.com) It is a extremely accessible book, with load and loads of information presented in easy to read format, but with enough depth (and a fantastic list of sources) ...

Jens-Christian Fischer
/ #blog 

87 - Guitar stand

To all of you who wondered what the day of woodcarving produced: A guitar stand for my Telecaster and the Norman acoustic. As you can see from the detail shot, I made a mistake in the geometry of the stand. The back is angled, so the lower support should have been angled too. There’s also a cut visible, but this one I left in deliberately. It is my rendition of Wabi Sabi. This is my first piece of wood cutting and I’m more than happy to show that (both the roughness of the whole piece and the imperfections that are due to my clumsiness) ...

Jens-Christian Fischer