Press "Enter" to skip to content

Category: computers

Chest Freezer First Steps

Now that I’m brewing beer again and kegging it (1 · 2 · 3 · 4), the approach of warm weather means that I have to find a way to keep the kegs cool so that I may serve them. To do this I purchased a chest freezer and am in the process of adapting it to use a more precise temperature control system so that I may try and keep the kegs at a consistant 40°F.

After receiving a Johnson Controls A419ABC-1C temperature control I opened up the 7.0 ft3 Holiday-brand chest freezer acquired from Lowes (item number 0073849) and set to understanding it’s temperature control system. It turns out that this chest freezer just has a basic on/off control that switches mains on and off for the compressor based on a temperature probe fed into the wall of the freezer. This should make it very easy to replace the controller with the A419.

Part of converting a chest freezer to beer keg holding requires one to drill holes for both CO2 and the temperature control, which is a very risky task because hitting the refrigerant lines will vent the freezer’s cooling system rendering it useless. To try and understand where the coils are I started the freezer, let it run for a bit, then placed 1L of boiling water in it with the lid closed. The result was this, a nicely frosted freezer showing that almost all of the bottom part contains coils. Knowing this I’m going to attempt to drill the gas/probe holes by first carefully removing some of the lining metal then picking away at the foam to be sure that I’m not going to hit a line when widening the hole. I will start in the corner in the upper right of this picture, as this will allow for both easy gas and temperature probe access once everything is assembled. Hopefully that’ll go well.

If you’re interested, my first photos from this project can be found here.

Leave a Comment

Friends Don’t Let Friends Buy eMachines

Danielle’s dad’s computer has been having a bunch of problems, and as some of them seem malware-related I am planning on wiping the computer and reinstalling Windows XP. Unfortunately when attempting to back up data it keeps rebooting unexpectedly, so I’ll have to pull the disk to recover data. I suspect the power supply may be going, which may cost a non-trivial amount if it’s even worth replacing.

Worse than that, when dusting out the machine I decided to pull the CPU heatsink / fan assembly as it was pretty well caked with dust. When I did this the CPU popped out along with the heatsink because the CPU was not latched in place. The downward pressure of the heatsink retention mechanism must have been allowing it to make enough contact to work. (For those that don’t know, CPUs normally sit in sockets with large latching levers which actuate contacts to ensure that all pins make contact. This wasn’t set in the socket, just on it. Here is a diagram.)

I hate working on eMachines. The cost saved up front bites you in frustration and parts later.

4 Comments

CF Card Hole in Netgate alix2d13 Enclosure

This morning when a beta version of pfSense on my PC Engines alix2d13-based firewall crashed I decided to make it easier to swap the CompactFlash card from which the OS runs. While physical access to the card is not normally required to upgrade the OS, there have been a few cases recently where I had to remove the card and image it. After the third time of removing 12 fasteners just to remove the card I decided to follow pfSense developer Jim-P’s example cut a hole in my firewall’s enclosure.

After marking the CF card location in the case and stripping it, only three cuts with a small cut-off wheel were needed to make the long cuts, then the remaining bits of metal were easy to bend out of the way with a flat-blade screwdriver. A bit of quick smoothing and deburring work with small files resulted in a nice, smooth hole through which the CF card easily fits. While the card remains not hot swappable, it’ll be much easier to remove the card should I need to access the card from another machine. Since the card sits a bit inside the face of the enclosure I had to add a tape flag to make it easy to remove. Pushing it back in is a little awkward as well, but as this won’t be done much it shouldn’t be a problem.

Here’s a few photos taken tonight while cutting the hole in the case:

· After marking the enclosure was clamped to some very dense foam for cutting with a cutoff wheel.
· More cuts made with the cutoff wheel. After this point the metal was gently bent away and the hole was filed.
· Looking at the Netgate enclosure from inside showing the nice alignment with the CF card slot.
· Front view of the Netgate enclosure with a CF card hole cut in it.
· The CF card fits very nicely in the hole.
· View from inside showing how well the CF card fits.
· Because the CF card will not hang out of the slot tape was added to facilitate extraction.
· CF card placed in the alix2d13 board via the hole in the Netgate enclosure.

Now to wait for the next build to come out and reimage my CF card. This build should contain three ftp helper changes that should resolve the issue I had this morning. Hopefully a problem that I had with disappearing certificate authorities is also fixed.

Leave a Comment

TED 5000-G Webserver is a Deal-Breaker

Last week I received a TED 5000-G from Energy, Inc., one of their The Energy Detective products. This home power monitoring device sits in one’s electrical panel and logs energy consumption, calculates cost, and displays all this info in near-real time via some web-based software called Footprints. This software runs off of the Gateway piece of the system, and a live demonstration of it can be seen here.

Unfortunately, this software has one fatal flaw in that it in normal use in my network it responds to HTTP requests with HTTP/1.1 414 Request-URI Too Long. After not very much digging I found that this happens every time the HTTP request to the Gateway includes a cookie. When your browser has a cookie for a website any websites that are visited that are on subdomains of where the cookie was set will also be sent the cookie. Therefore, cookies set by my site (https://nuxx.net) also get set when visiting the Gateway’s internal address on my network (http://ted.home.nuxx.net) and thus the device doesn’t work.

Specifically, here’s Firefox on my main machine accessing the Gateway immediately after clearing cookies. Text in red is the request from my browser, and text in blue is the response from the Gateway redirecting my browser to Footprints.html. This is normal, expected behavior:

GET / HTTP/1.1
Host: ted.home.nuxx.net
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive

HTTP/1.1 200 OK
Connection: close
Content-Type: text/html
Expires:0
pragma:no-cache

<meta http-equiv="refresh" content="0;url=Footprints.html">

After this I visited nuxx.net where some simple Google Analytics tracking cookies were set and tried to access the gateway again. Note that the only difference is cookies being sent, and the 414 response:

GET / HTTP/1.1
Host: ted.home.nuxx.net
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Cookie: __utma=23010084.1066362494.1295494794.1295494794.1295494794.1; __utmb=23010084.1.10.1295494794; __utmc=23010084; __utmz=23010084.1295494795.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)

HTTP/1.1 414 Request-URI Too Long
Connection: close

414 Request-URI Too Long: Buffer overflow detected

This problem makes the device unusable for me. There are two discussions about this issue in TED’s support forums about this issue (#1, #1 PNG Mirror, #2, #2 PNG Mirror) which indicate that there is only 100 bytes available to service the request and that the developers may be adding another 20 bytes.

As a workaround it’s proposed that the Gateway instead be accessed by only its hostname (without the domain name, eg: http://ted) or IP address (eg: http://192.168.0.17), which ensures that no cookies are sent because it’s unlikely that any would have ever been set for those addresses. I feel these workarounds are a stopgap at best and seriously fail if one ever wishes to access the TED data from the public internet or on a well-managed, convenient network. After all, we have DNS so that (potentially changing) IPs don’t need to be remembered and/or discovered, and FQDNs because hierarchal naming is good. It would be possible to use a proxy sitting in front of the Gateway to remove cookies and make the requests more acceptable to the firmware, but I’m not particularly interested running another server just to work around this device’s shortcomings.

Since a variety of cookies could end up being sent by a modern browser I don’t think that the developer’s proposed solution of adding 20 bytes to the buffer will not solve the problem. While I’ve got a limited knowledge of embedded development, I’d think that the developers should instead should simply discard the cookie when reading it into the buffer. After all, the cookie is plaintext in the frame, begins with Cookie:, is terminated with a standard \r\n, and just comes across from the Ethernet controller as serial data. I can’t see why it couldn’t be parsed out if it’s too large to stuff into a buffer. Then again, I suppose this issue could also be caused by clients that have a particularly long User-Agent, really long hostnames, or any other number of other things which could expand the size of the request.

(Thinking about this further, I also believe that only the GET / HTTP/1.1 is the URI which is the same length in both cases. Perhaps the Gateway should really be returning a 413 Request Entity Too Large if it feels the length of the request itself is too long?)

Today I called for an RMA for my TED 5000-G, and after receiving it called back to speak with tech support. I mentioned this issue to the person with whom I spoke, and unfortunately I don’t think he quite understood the problem and instead seemed to be offering to try upgrading the firmware to resolve it. He also stated that he doesn’t have access to firmware changelogs so he can’t tell me if the issue is fixed in a future or beta release, or even if it will be fixed. When I send the device back I’ll be including this letter explaining why I’m returning it. Save for this hugely annoying issue the device seemed to work rather well, so if Energy, Inc. can resolve the problem I’d love to keep it. However, something that doesn’t function with modern browsers and network setups isn’t worth $199.95.

(Mirrored forum discussions were captured at 23:09 EST on 19-Jan-2011. Software versions as reported in Footprints are as follows: Gateway Version 1.0.400, Daughterboard Version 1.0.48, Footprints Version 1.0.222, MTU Version 1.0.0. All information above is only representative of these versions.)

7 Comments

Angry Birds Without Ads Coming In 2011

A month ago I posted about my frustrations with video ads in Angry Birds on Android and how there was no pay option. At the same time I emailed Rovio to inform them of my frustration with the video ads and asked when a for-pay version of their software may be available. A couple days ago I received the following response from Rovio informing me that an option to pay and opt out of ads will become available later this year:

Hello Steve,

and thanksd for contacting us.

Sorry hear you decided to uninstall the game.

A payment option to opt out of the ads will be introduced worldwide this year.

Best Regards,

Oona Hilkamo
Angry Birds Community Champ
Rovio Mobile Ltd.

I’m anxiously looking forward to this because I do enjoy playing Angry Birds, but I simply do not want to support the software’s authors by viewing commercials.

1 Comment

Roomba is Not So Smart

Upon arriving home today I found this. Danielle’s Roomba had driven away from next to its dock, leaving telltale tire marks the whole way, and died. Before leaving for work I set the Roomba up with a virtual wall so that it’d run in a small part of my living room and the kitchen, all of which is within sight of the dock and no more than 20′ long. Once again the Roomba died before it found its way back to the dock.

I’m starting to think the battery is going dead. Thus far it hadn’t docked successfully except for the few times that I placed it in front of the dock and commanded it to charge itself.

Leave a Comment

Old Computers: Recycled

With today’s trip to Best Buy to take advantage of their recycling program I have completely done away with all my old computers, cases, and monitors. While I was able to give some away, most of it was dropped off at Best Buy where they (in Michigan) accept up to seven hard drive-less items per day (including CRTs) at zero cost.

Despite not having used some of this equipment in over ten years (such as the Dell Dimension XPS P90 pictured above, the first computer that I ever bought for myself) I can’t help but feel like I’ve given up something important. These are (were?) tools that I’d spent tens of thousands of hours building, using, and maintaining. Still, it’s just old stuff, and getting rid of it is for the best. I was not using this equipment and now instead of being clutter it’s being disposed of properly. Also, it’s probably best for me to dispose of this stuff now instead of in a few years when electronics recycling might not be so accessible or affordable.

1 Comment

Video Ads in Angry Birds on Android

Angry Birds (Rovio’s Site), the extremely popular (and quite fun) physics / artillery / puzzle game, is only available in ad-supported format on Android. Initially I didn’t mind this, as the ads started out as simple banners taking up a small portion of the top of the screen. Within the past few days (perhaps after an update?) there are now video ads present in the game. One plays on game launch and then another will play every few levels.

While the video ads can be skipped I find the idea of them terribly irritating. They play sound even if the game itself has been muted and eat up bandwidth. I’d much rather pay for the game than have to see this crap in order to play, so I’ve uninstalled it.

UPDATE: Rovio has responded to the note that I send about this, and apparantly starting some time in 2001 it will be possible to pay to circumvent the ads in Angry Birds.

6 Comments

Google Talk Doesn’t Like application/x-javascript-config for PAC Files

After a bunch of frustration I found an interesting quirk in how Google Talk uses Proxy Autoconfiguration (PAC) files (Additional Documentation). There are two MIME types which can be set for PAC files when serving them, application/x-javascript-config and application/x-ns-proxy-autoconfig, and both work with most browsers, but only the latter works properly with Google Talk.

It turns out that if the MIME type is application/x-javascript-config for the PAC file and the browser does not look directly to the PAC file itself, Google Talk will fail to connect. Looking deeper at it in a network capture (partially pictured above) I’d see the client closing the connection before it was done downloading the PAC file and thus the client would never receive a complete PAC file. Inspecting the TCP stream via Wireshark would show the data simply ending part-way through the PAC file. This resulted in a mysterious failure to connect with no useful error returned from Google Talk. If I simply changed the MIME type back to application/x-ns-proxy-autoconfig for .pac files and restarted Apache, Google Talk would then download the whole PAC file and login fine.

In both of these cases I am serving a typical PAC file off of Apache using RewriteRule ^/$ /internet.pac [R] to ensure that all requests to http://server.local/ go to http://server.local/internet.pac via an HTTP 302. Using a DirectoryIndex directive specifying internet.pac as the index file for the site also resulted in the same issue. In both cases the client was configured to look to http://server.local/ for a PAC file.

Complicating things further I found that if instead of relying on a RewriteRule or DirectoryIndex I instead pointed the config directly to the PAC file itself (in this case http://server.local/internet.pac) then the problem would not occur; Google Talk would download the entire PAC file (confirmed in a network capture) and sign in successfully regardless of MIME type.

For purposes of this testing I used the latest released version of Google Talk, 1.0.0.104, running on Windows 7. Google Talk was also set to Detect proxy automatically which reads the system’s proxy settings. In this case it is the PAC file setting is defined in either Internet Explorer or Control Panel under (Internet OptionsConnectionsLAN SettingsUse automatic configuration script).

2 Comments

Free: Computer Stuff

Here’s some free computer stuff for whoever would like to have it and save it from the landfill or whatever the ‘recyclers’ end up doing with it. The cases also contain lots of useful steel if you’re in need of some epoxy coated (or painted) flat sheet metal.

Stuff is as follows and (to the best of my knowledge) all works fine. Computers are without hard drives, but otherwise (generally) include RAM, etc. I’ve probably got enough spare other parts to get you running as well:

· 2x 17″ CRT Monitors
· 2x enterprise-class switches (1x 10mbit, 1x 100mbit)
· 2x Pizza Box Gateway Computers (Excellent Firewalls)
· 2x PATA drive enclosures. Supports hot swap if your controller does.
· 1x Compaq Deskpro EN (Good Firewall)
· 1x AMD Athlon Computer (Don’t remember specs, decent gaming computer from ~5 years ago.)
· 1x Dell Dimension XPS P90 (real vintage 5V Pentium CPU!)
· 4x ATX Cases (InWin full tower, InWin mid tower, quality generic, Doggy)
· 1x Former Gaming Computer (O/C’d Celeron, metal flake blue case, etc.)

This is all available for pickup at my house in Shelby Township, or I’ll meet you at a local trail or whatnot if you know exactly what you want. Contact me either here via PM here, via email at c0nsumer@nuxx.net, Google Talk at steve.vigneau@gmail.com, or AIM at Iamc0nsumer.

Leave a Comment