Asus E35M1-I Motherboard w/ AMD e350 Processor & Proxmox VE 1.9

Here is a video that gives an overview of the new motherboard I installed in my home server. It uses a fan-less, dual-core processor that is capable of hardware virtualization, making it perfect for the use of a hypervisor like Proxmox VE 1.9. Those looking to purchase the board can click here to go to the product page on Amazon.

Cinnamon Rolls in the Solar Oven – A Video Demonstration



This solar oven design is based loosely on the “Minimum Box Oven” plans located at www.solarcooking.org/plans. Dimensions are about 15 x 24 (I’ll double-check this and possibly edit later).

The base was built pretty much according to the plans, but I diverged a bit on the lid.  Instead of using an oven bag to cover the opening, I opted for a piece of glass.  On a previous oven, I had tried Plexiglas, but it apparently does not stand up to the heat – after two seasons it started to get “cloudy”.

Lid DiagramFirst, I constructed the lid according to the plans, but instead of leaving the cardboard cut-out attached for use as the reflector, I removed it completely. Then I measured entire width and length of the cover and purchased the glass cut to size at my local hardware store. Then I made a second lid to fit snugly over the first one, with the glass trapped in between them as shown in the diagram.

The plans have three suggestions for improving efficiency, all of which I followed more or less:

Suggestion 1: Make pieces of foiled cardboard the same size as the oven sides and place these in the wall spaces.
My implementation: I followed this one, but I did not foil the cardboard.  I just filled the space between the boxes with layers of cardboard.  This makes the oven very sturdy.

Suggestion 2: Make a new reflector the size of the entire lid (see photo above).
My implementation: I followed this suggestion as well.  You then have to make your props in a “U” shape instead of a “Z” shape as shown in the plans.

Suggestion 3: Make the drip pan using sheet metal, such as aluminum flashing. Paint this black and elevate this off the bottom of the oven slightly with small cardboard strips.
My implementation: I used some aluminum flashing I had laying around and painted it with black paint.  I used the non-toxic type of paint that is designed for grills.

A final tip is that I have found water-activated packaging tape to work very well for cardboard projects.  I bought a roll years ago, and I have built two solar ovens, a cardboard footstool, and a cardboard boat and there is still plenty of tape left on the roll.  You just cut the length you need, brush on some water with a foam brush, and stick it on.  It is very strong, paintable, and presumably less toxic than plastic packing tape would be.

From TWAIN Device to Web Application

ScreenshotAt my place of employment we recently purchased a piece of software to design and print identification cards.  We were planning to use the software to make employee badges.  I did not have an opportunity to try out the software in advance because no trial version was offered.  However, the vendor made a good sales pitch, so I shelled out roughly a thousand dollars to purchase the software.

It turned out to be one of the most difficult-to-learn software packages I have ever attempted to use.  After laboring for  five hours, I still had not figured out how to print a single ID card.  I’m not the sharpest knife in the drawer, but I’m not the dullest, either.  There had to be a better solution.  Not wanting to spend more money, I decided to build the software myself.

Continue reading

DIY Network Attached Storage

Today I spent the afternoon building a NAS (network attached storage) appliance.  I have been looking for a better place to store virtual machine backups, and this seems like a good solution.

I started with a 2U rackmount case, the Norco RPC-230.  I like this particular case for several reasons: First, it has a shallow depth that allows it to be mounted without rails, and it is sturdy enough that it won’t sag.  Secondly, being 2U allows for a standard off-the-shelf power supply unit.  I do not like scrambling to hunt down an odd-ball power supply when my server goes down.

I went with a fan-less mini-itx motherboard from Asus that comes with a dual-core Intel Atom processor already integrated.  This is one of the few Atom boards that met my three qualifications:  four SATA ports, no fans, and a decent price.

For storage I selected two identical Seagate 1 Terabyte drives. The data on these will be mirrored (RAID 1).

I finished it by installing the fabulous and open-source FreeNAS version 8 on a 8 GB USB  thumb drive, freeing the entire RAID pair to be used for storage.

For reference, here is a list of all the hardware for the appliance, cleverly linked to my Amazon affiliate account:

My first Google Chrome application

Light BulbI am a recent convert to the Google Chrome web browser.  In my opinion, the speed and simplicity of this browser is unmatched by the other popular choices.  Although Internet Explorer 9 and Firefox 4 are fairly good as well, Chrome is still my favorite browser on both the Linux and Windows platforms.

I also recently discovered the Chrome Web Store and became interested in developing Chrome applications.  To get an idea of what is required, I ported an old web based tool for calculating electricity cost from a PHP application to a Javascript-based Chrome application.   Since it is a “packaged” Chrome application, once you have it installed you can use it even when you are not connected to the Internet.  The application is located here.

My favorite web browser becomes my favorite PDF viewer

For some time now I have been displeased with Adobe Reader.  First of all, it seems bloated and launches slower than other PDF viewers I have used.  To make up for the slow speed, recent versions also install a background process in Windows that presumably loads part of the application in advance.  Little displeases me more than a software application that includes a background process, with the obvious exception of  anti-virus programs that NEED to run in the background.

Lately I have been using the Google Chrome web browser more and more and my old favorite, Firefox, less and less.  Unlike other web browsers, Chrome has a built-in PDF viewer, eliminating the need for the Adobe Reader plug-in.   This makes viewing PDFs faster and more trouble-free than relying on the plug-in.  I have never encountered a PDF document that did not display correctly in Chrome.

A few days ago it struck me that Chrome could be used to view PDF documents on my computer as easily as those on the web.  All you have to do is set it as the default application for opening PDF documents.  To do this in Windows 7, RIGHT-click on any PDF file and select Open With > Choose default program.  A screen will appear with a list of programs.  Select Chrome from this list (you may have to browse for it), check the box beside “Always use this program to open this kind of file”, and then click OK.  In the future, Chrome will be your default PDF viewer.  These steps will be very similar in Windows XP or Vista.

Blended Threats

It had never occured to me that security bugs in multiple pieces of software could be linked together and exploited. Not that I recall very well anyhow. But after reading this article from Threatpost, It made sense. (As much sense, I suppose, as it could have considering my limited investigation of the example given and the concept in general.) Billy Rios developed one of these “Blended threats“, as they are called, and presented a talk about it at RuxCon and BayThreat last year. I would suggest that anybody interested read his blog post. Slides containing the code are available there as well. This is interesting stuff. See video below. Oh yeah, theres a live demo up as well. See slides.

Will It Blend – Ruxcon/Baythreat PoC Demo

Linked style sheet woes with Zend Framework

One of the first frustrations I ran into with Zend framework was with linking images and style sheets to a web site. In my pre-Zend days of web programming, I’d just use a relative link, such as the following:

<link rel='stylesheet' href='theme/style.css' type='text/css' media='all' />

This link works fine within the default controller and action. However, when a different controller and/or action is specified, the URL changes, and the relative link breaks.  In search for an answer, some programmers suggested that the solution is to simply add a slash at the beginning of the href to make the link absolute, like so:

<link rel='stylesheet' href='/theme/style.css' type='text/css' media='all' />

Although this may work, it still breaks if you ever store the website in a sub-directory as opposed to the root of the webserver’s public directory.  In my case, this solution was a non-starter, as my development site uses sub-directories for each project.  I use a symbolic link to link a particular sub-directory on my development site to each of the Zend projects “public” directories.

dev.mydomain.com/project1    (sym-linked to /zendapps/project1/public)
dev.mydomain.com/project2    (sym-linked to /zendapps/project2/public)
dev.mydomain.com/project3   (sym-linked to /zendapps/project3/public)

Using a non-changing absolute link would cause the code to break as soon as it is copied to my production server, where each project resides by itself in the webserver’s root directory.

The real solution to this problem is to use Zend’s built-in baseUrl() view helper.  Then your code will look like this:

<link rel='stylesheet' href='<?php echo $this->baseUrl(); ?>/theme/style.css' type='text/css' media='all' />

Doing it this way makes your code work without modification regardless of where your project ends up.  I use this anytime I’m linking to a resource (image, javascript file, or CSS file) in my Zend project’s public directory.