MythTV box is now awesome August 24, 2007
Posted by a1291762 in : mythtv , add a commentI got two more tuner cards from a guy that didn’t have enough signal to use them. They’re the same as the one I already had so I’ve now got 3 tuner cards in my box.
I also have a video solution. It’s an NVidia Riva 128 (8 MB VRAM) with both TV in/out and MPEG 2 decoding. I was playing around with other options including using Bree’s old iBook as a front end (since it can output to the TV) and using a VGA to composite adapter (which finally arrived but I haven’t tested it yet).
The video card came with a computer I bought. A workmate is going overseas and they’ve got a collection of computer junk bigger than I could have amassed (if Bree hadn’t made me throw stuff out). I got a complete system mostly for the video card but the RAM and HD are useful too. I also got a 17 inch monitor to replace the broken 19 inch beast I use as a backup screen for the non-laptop machines.
256MB RAM with my existing 2 sticks gives 640MB. Should be enough for watching TV ;)
The hard drive is interesting… It’s a Seagate and it got me experimenting. You see I’ve now got 6 IDE drives ranging from 13 to 40GB but PCs only take 4 drives at once after installing (one needs to be unplugged so I can install from CD). So far I’ve had the biggest disks in the machine but I took the time to listen to each of the disks in isolation and found that the 3 Seagate disks I’ve got are an order of magnitude quieter than any of the other disks. I’ve got 2 IBM disks (one noisier than the other, both noisier than the Seagate disks) and a Quantum disk that’s really noisy. So I’m now going to use the 3 Seagate disks and possibly the quiet IBM disk but perhaps not because it’s still significantly louder than the Seagate disks. It all depends on what happens with the CPU.
The machine I got had an Athlon chip in it running at 1200Mhz on a 133Mhz bus. It seems that I can’t change the multiplier unless I do a hack to the chip but I can change the bus. Dropping it down to 100Mhz gives me a 900Mhz Athlon that runs cooler. The heatsink has 2 fans on it. One changes speed while the other runs full. As an experiment I disabled both of them and the system booted to the BIOS just fine (whoa! stable at about 35 degrees too). I set the system to halt at 60 degrees and tried a normal boot but it got too hot. I’m currently using the variable speed fan only since it sounds “nicer” than the other fan but it’s still loud. Running without fans was perfect but well… it overheated. If I could change the multiplier I could clock the chip down even more (I’m not supposed to need much CPU to run my rig). I can run at 900Mhz with the VCORE all the down at 1.5V (the minimum) but without some sort of fan I’m never going to get very far. The machine did come with a case fan that piggybacks off a molex connector. It’s a large fan that spins more slowly but it does move air. If I could get it mounted so that it blew air over the big heatsink it might be enough…
The alternative is to use the other board which appears to be very similar. I’m not sure how a 1.3Ghz Celeron is supposed to compare to a 1200Mhz Athlon. I don’t think it’s particular quiet either but then I didn’t try underclocking it before (the frontside bus can be pushed all the way down to 66Mhz). I might try this angle first because it doesn’t require mounting a fan in the middle of nowhere.
So yeah… if I can get one of these CPUs running as quietly as the PSU does then I’ll probably drop the 13GB IBM disk but if I have to have a loud CPU fan then the extra volume from the IBM disk won’t make a difference.
Update 25 August 2007
The Celeron wins by 10 degrees and 0.3V. With the FSB clocked down to 66Mhz the huge 13x multiplier gives 866Mhz. I booted the Ubuntu CD without a fan but then I figured I should do the install with the machine running at full speed and a fan (since installing should require more grunt than normal operation).
Update 25 August 2007
So it seems the ambient temperature is quite a bit lower in the middle of the night. During the day the Celeron was hotter… I’m not sure I’m going to be able to run it fanless and with it’s fan on it’s not really any quieter than the Athlon running with one fan. If anything the Athlon fan sounds better because it doesn’t have a whine, the noise sounds like air moving through tight places (something even the big, slow case fan causes when held up against the side of the case).
So now I’ve got the Athlon in there again. I got as far as installing Ubuntu onto an LVM partition last night but the instructions I used must have missed a step because I couldn’t actually boot afterwards (oops).
I’m not sure what temperatures are considered safe for the two CPUs. I know my MacBook Pro can get up to 80 degrees when it’s maxed out. I heard that the large-multiplier Celerons have a lower tolerance (because the P3 design was pushed so hard to get the clock speed up) and given the larger heat sink on the Athlon, it might actually have the edge when it comes to quiet operation (though clearly I’ll need to do something about that fan…).
Oh yeah… and I found a 512MB stick of RAM in my old (dead) Mac so I’ve not got 1GB RAM in my box. I’m not sure how useful lots of RAM is in a box like this. Strangely the Celeron motherboard only lets 2 sticks work at once (it’s not even consistent which of the 3 slots are visible) so I’m limited to 768MB if I use that (another point for the Athlon?).
My hard disk is dying… August 24, 2007
Posted by a1291762 in : eve , add a commentYikes!
I went to play a game last night (Dark Forces 2: Jedi Knight) and it hung. That’s odd… it worked before. Perhaps it’s the new Boot Camp drivers… What’s this? The event log says I’ve got disk errors!
Quick, do a backup before it’s too late! Luckily the data on the Mac partition (about 90GB) seems to have backed up without issues. However the Windows partition (last 10GB of the disk) has bad sectors.
I ran ddrecover all day and it got most of the data off. It missed about 4MB of data which was over a thousand errors. I’m currently zeroing out the disk to try and make it usable again (the theory being that writing zeroes to the disk forces the firmware to remap bad sectors for good ones). In any case though, I’m going to have to get a new disk since the number of errors indicates the disk will begin to fail rapidly. Based on inspection of my last backup log it seems the problem has been around for some time now (stupid home-made backup script missed the error message from dd) so since Jedi Knight used to work (ater the last backup) it’s clearly already getting worse.
The trick now is that the machine is out of warranty but it seems the disk itself may not be out of warranty (ie. disk manufacturer’s warranty). That could be fun to sort out…
Update 24 August 2007
A service guy at my local Apple retailer told me that they can’t do anything about my hard disk and that I’d probably need to send the hard disk to the manufacturer (Seagate) but he wasn’t even sure that would work because the drive was most likely purchased by Apple in a country other than Australia. On top of all that, I’d need to pay for someone to take the disk in/out of my machine or do it myself.
So I’m looking at the cost of a new disk (I found a Seagate Momentus 160GB for $149) plus labour (about $60 an hour) or I can skimp on the labour and do it myself but I’m not so sure that’s a good idea, even though there’s no warranty to void.
I’m currently using my internal disk again after running on the backup disk today. I zeroed out the disk and sure enough it now has no problems reading the Windows partition. I’ve restored everything back to it but I haven’t actually checked on the health of Windows just yet. Annoyingly I was not able to exactly re-create the size of the Windows partition. It’s a little bit bigger than the image I stuck on it but Mac OS X sees the filesystem ok so hopefully it won’t be a problem.
UniMotion gets an update August 21, 2007
Posted by a1291762 in : programs , add a commentI really don’t have enough time for this…
I finally rolled some changes together to come up with a new release of UniMotion. Compared to 0.3, it’s got slightly different handling of some things (though hopefully nothing that will actually break, it is binary compatible after all) and a bunch of new things.
The API got some additions and cleanups. You can now get the raw bytes (not values) pulled from the SMS which helps when you’re debugging dead SMS hardware (yes, I’ve seen this). I noticed lots of people were doing read_sms(detect_sms(),…) which does the same work twice so I made read_sms(0,…) work (ie. give me a value, I don’t care what machine I’m on). I noticed too apps assuming that 250 == 1G which is false for non-Intel machines so I created read_sms_scaled() which returns values scaled up to 250 == 1G though of course I’d prefer people to use read_sms_real() since it uses floating point math to give 1G == 1.0. I put in some defaults (based on user feedback) so read_sms_real should now work without calibration data (though the offsets may be off). I also changed it to use multiplication rather than division since that seems to be “better”. As a consequence the [xzy]_scale values in the config file are now ignored, use [xyz]_real as the multiplier if you need to change the scale.
The motion app has a heap of new things (including -h for usage) and the calibrate app is a little less terse.
My planned doc work didn’t really go anywhere. I’ve mentioned the force vs rotation thing but that’s it. I also haven’t got around to setting up a “programs that use UniMotion” page or perhaps more useful, a “bindings for UniMotion” page (since people have made bindings for a whole heap of languages now).
Our new dishwasher August 16, 2007
Posted by a1291762 in : house , 3commentsWe got our new dishwasher today. It’s an Electrolux/Dishlex DX302. Interestingly, that’s a discontinued model but there’s a reason for that.
We wanted something good but not expensive. A brief look indicated that around $1000 is what we would be looking at. There was a good half-dozen models at that price around the place. Bree wasn’t too keen on a foreign model (more expensive repairs and parts delays) which narrowed the field a bit. I was actually keen on the DX403 but it failed our most important requirement.
Since we don’t have a dishwasher hole, we needed something that could be moved. There’s a few “freestanding” dishwashers available and many models have kits that make them suitable for freestanding operation but that still requires your machine to be relatively close to the tap/drain and in our kitchen that was not the case. What we wanted was a mobile kit which includes wheels and a tap adaptor so that the machine can be wheeled up to the sink, used and then put away in a corner.
So the DX403 had some additional safety thing on the inlet hose that meant it was not suitable for the tap adaptor. That meant we were looking at the cheaper DX303. The problem was that the DX303 was so new nobody had an information sheet on it. It turns out that the new model is built in Europe instead of Australia and for some reason they made it incompatible with the mobile kit. Not only that, there’s no plans to introduce a mobile kit for the new model. Bummer.
Luckily there were a few DX302’s around. Strangely, Clive Peeters was selling their remaining DX302’s for more than their DX303’s. Harvey Norman was much more reasonable, offering the DX302 at a real clearance price. Actually, I noticed that quite a few of the models for sale at Harvey Norman were clearance models. We happened to visit the Harvey Norman up at Garden City and it had all the new models out. Either our store took ages to sell it’s old stock or old stock comes to our store for clearing. Best of all, Harvey Norman had a mobile kit in stock so we could get the whole package at once. None of the other stores could manage that so there was really no choice.
We bought it on Sunday but we got it delivered today for logistical reasons. I was originally fairly sure it would be easy to setup but once it arrived I had some doubts. I had a look at the instructions and it looked easy after all so I ripped out a few tools and went to work. The mobile kit contains a “plastic cardboard” cover for the bottom (being on wheels exposes the motors), the wheels themselves and a counterweight. It looks like a backpack when it’s on the machine and it holds the power cord and water hoses when they’re not in use. I had to cut the end off the inlet hose and then attach the hoses to the tap adaptor. You’re meant to put this special end on your tap so the adaptor can snap on and off but the end piece doesn’t have a bubble screen and (at least on my tap) the bubble screen has to be removed to put the end piece on. I just swap the two tap ends depending on what I’m doing. The tap adaptor has a button for times when you need water while the dishwasher is connected. It’s not like a tap’s output but I suppose it’s better than having no access to water. There’s a slight leak somewhere. I checked carefully and it’s definitely not my work that’s the problem. I can’t really check how much it’s leaking for each wash run because the outlet hose connects to the tap adaptor so anything I used to catch the leak would overflow when the machine empties.
We haven’t actually had a dishwasher before so we’re not exactly sure about detergents and stuff. We’re going to try the “eco” wash for a while since it uses less water and power. Why do these companies get to advertise water/power for “eco” wash but recommend powerballs, which require a regular wash? So yeah… we can’t use powerballs, I think because the water doesn’t get hot enough to dissolve them properly. If we have problems then we’ll try powerballs and regular washes to see what the difference is.
Contributing to open source projects August 3, 2007
Posted by a1291762 in : Uncategorized , add a commentI’ve written some stuff and released it as open source but I’ve never really been involved with other projects. The biggest reason is that before you can contribute to something you need to learn the language/toolkit/style and then you need to actually be able to build the project and it’s dependencies. It can take months to do that sometimes.
Recently I’ve sent patches to 2 different open source projects. Strangely enough both patches were for Cocoa code despite my almost complete lack of experience programming Cocoa or even Objective-C.
The first was for the awesome VLC. When you view the playlist it resizes the window but it doesn’t check that the window is still on screen. If you like to keep your window on the bottom or left of the screen (or like me, the bottom left corner) this is a bit of a problem. I got the window to move back on screen and it even goes back where it was when you hide the playlist (unless you move the window, in which case it just shrinks).
Getting VLC building was an unexpected pleasure. It did take a loooong time (as the 50 or so dependencies were downloaded and built) but it actually worked with the instructions I found. Once that was done it was a relatively simple matter of finding the Mac OS X interface code and a bit of searching revealed the function I needed to tweak. One thing that was a bit of a drag, I had to subscribe to a very high volume mailing list in order to post to it. Despite being a mailman list I couldn’t get digest mode turned on so I had to unsubscribe again. Also, due to the development process those guys use I had to grab the trunk from subversion and patch that (my original patch was against the last stable release).
The VLC guys liked the patch. I think it’ll be in the 0.9 release (whatever trunk is heading towards).
The second patch was for OneButton FTP, a good, free (GPL) graphical FTP client for Mac OS X. I’ve tried the “big names” in graphical FTP clients but I either don’t like them or I can’t justify the cost of them. OneButton FTP does everything I need and it had only 1 annoyance. The problem is that it has no keep-alive functionality and my ISP’s FTP server kicks me off if I’m idle for too long. My solution was to refresh the directory listing every 60 seconds. It’s not configurable and you could probably argue that it’s not the correct solution but it works for me.
Building OneButton FTP was even easier than VLC because it’s just an XCode project. It’s also a fraction of the size of VLC so it builds in under a minute. Unlike VLC, OneButton FTP is a one-man show so there’s nothing else to do but email the patch.
I’ve only just sent off the patch so I don’t know if it’ll be accepted or not.
Safari still loses data August 2, 2007
Posted by a1291762 in : Uncategorized , add a commentNew Safari, same bug.
Type a bunch of text into a text area and some of it will be INVISIBLE to both the web site and the clipboard. If you’re very lucky you’ll eventually get the text visible to the clipboard (but never as one block).
Safari 3.0.1 is the only version I’ve used that has not had this problem (perhaps it’s just luck?).
My new remote is setup (finally) August 2, 2007
Posted by a1291762 in : remote , add a commentMy new remote is finally setup. It took me several hours, so much for being easy. To be fair though, for a person who isn’t particular about things and who just wants something to work it’s probably easier than my old remote but not by a big margin.
So it’s now setup right with the buttons all duplicated between the device page and the matching activity page. Bree can even use it! It’s still annoying though… let me count the ways.
It’s still slow. I’ve read stuff that indicates there’s a setting to make it faster but I think that’s only for the older remotes (which sent the IR command 3 times by default for some reason). I’ve tweaked all the values I can find to no avail.
Lack of macros still sucks. When I’m watching my PVR I might notice that the VCR is not displaying the time. I had a macro on my old remote that would fix this but with the Harmony remote I need to add the device to my activity (good thing it’s “always on”) so that I can map its buttons. I haven’t yet learned in the codes for other devices so that the device pages can exactly match but I seem to have the 99% of buttons mapped that I use with any frequency.
Can’t learn repeating buttons. I think I did manage once but I haven’t been able to do it again. This is something my old remote did flawlessly. The process is simple too, read the command and look for a repeating section (it may be the whole sequence or just a trailing part).
There is one good thing about everything though. Or perhaps I should say the biggest failing of the remote (activities vs macros) is mitigated by this one thing. It’s the database of IR codes. My previous remote could access an online database but I didn’t bother to buy the cable so I don’t know if this functionality is limited to the Harmony remotes or not. My remotes don’t (but the Harmony database did) have some very important codes. The codes are Power ON and Power OFF and I’ve now got them for my TV and my DVD player. The remotes don’t use these because you’d need two buttons instead of one but without these buttons it’s virtually impossible to know if the device is activated or not. My previous remote turned the TV on by pressing a number so that was ok but the Harmony doesn’t know when the DVD has been turned on by pressing the EJECT button (on the machine) which is something I do most times I go to start watching a DVD. Without the Power ON code the Harmony would turn off the player. Manual power control would have solved the problem too but it would require an extra key press to view DVDs.