Tuesday, September 5, 2017

Hangout was designed to look pretty, not be usable. There's a lot of wasted space in the layout.

I spend at least 20% of my Android time chatting on hangouts with friends and family. Every time I open it on my phone I'm struck by how badly designed it is. Lots of pixels are devoted to either blank open space, or options that hardly ever get used. Did anybody bother to test this design on something smaller than a (phab/tab)let?

Here's a quick mockup showing how much more of the conversation could be shown on a 5.1" galaxy S7 with no loss of useful features. Here the percent increase in visible text is significant, but not as much as on many other phones, such as my Moto X2 which, despite having a 5.2" display has significantly less usable space due to the onscreen back/home/recent tasks buttons.

What I've done should be obvious, here's the justification:

The green header (magic bar) has been made half as tall. Active yesterday is frankly optional and could be eliminated, but getting rid of the redundant go back arrow leaves enough space for it to remain. Last active arguably should be shown down in the conversation view next to to the (j) icon. Either way, no excuse for hiding so much of the current conversation.

The second "magic bar" inside the "write a message" area contains useful but rarely used options. There's absolutely no reason why they could not be put on the upper magic bar, under the [...] menu. The whereami button is legitimately useful, and perhaps deserves to be on the main magic bar, the rest can go under [...]. Maybe you are the type to use lots of emoji's so perhaps you would mind the placement of the emoji icon in the [...] menu? Need I remind you that the keyboard has two emoji buttons of its own? Alternatively, the emoji icon could stay visible in the "write a message" area until you actually start typing.

This is all a general symptom of valuing pretty-(stylish?)-at-a-glance over useful-all-the-time. And a small dose of "easy to discover", since hiding the 2nd set of magic buttons under the menu does make discovery slightly harder. So, no big deal. Google, give us the option under settings to enable a compact view, for goodness sake. This gives you "pretty" and discoverable to start out with, and provides usability for your actual users too.

It's really too bad that hangouts no longer supports xmpp or the 3rd party api, or I'd write a simple client that didn't suck so bad. Given that there's no advertising in hangouts, it wouldn't even lose Google any money if people prefered my app over theirs.

Sunday, July 16, 2017

Inverted camera hardware mod for Sony PS2 dual-shock controllers: for purchase!!

I grew up on inverted camera controls (joystick forward to look down, etc), but for some reason there are games that don't offer inversion as a toggleable option. Very frustrating, because once you adapt to a control scheme it's hugely distracting and difficult to switch to another. I would even say it makes the games unplayable. My solution to this problem is to rewire the Sony dualshock2 controller so that the inversion happens at a hardware level. To "switch" it on and off you have to swap controllers, which is a pain, but so much better than not having inverted camera. To cut to the chase, now that I've figured out how to do this, I'm offering my services to modify your dual-shock controller to be hardwired to inverted too.

To be fair, it's all about what you are used to. Once you grow attached to inverted (or uninverted) it just feels natural and all other schemes feel wrong. An inverted dualshock controller merely swaps what is reported to the console. E.g. when you push the joystick forward it sends the signal that it was pulled back. So an inverted controller can un-invert a game that only offers inverted camera, if that's your preference.

The form of inverted camera I prefer is inverted in both X and Y. That means pushing the stick forward shifts the view down (Y inversion). X inversion means that pushing the stick left turns the view to the right. Both X and Y inversion feel especially logical in 3rd person perspective games, where the camera "rotates" around the player.

Either X, or Y, or both can be hardwired inverted. A lot of games offer Y inversion as an option, but then don't invert X, so IMHO the most useful rewiring of the dual shock controller is just inverting X on the right joystick. I can invert either joystick or both. It doesn't really matter much in terms of complexity. (In fact the easiest is to invert x and y of both left and right joysticks; unfortunate, since that's not particularly useful).

A partial list of unconfigurable games that become playable with a hardwired inverted dual-shock controller: Red Dead Revolver, Ironman, Chicken Little: ace in action. There are many more. Of course there's a completely separate list of unconfigurable games made playable if you are the type that don't like inverted camera.

I'm offering my services for $30. That's actually not a good financial return on my time but this is a issue I feel fairly passionate about, and I'm really pleased that I figured out how to do it. For that price you need to send me a genuine Sony PS2 dual-shock controller to have moded. Please make sure it has plenty of life left in it. You can also do it yourself by opening up a PS2 controller, cutting some traces, and soldering new ones. It's not hard, just time consuming, but if you can solder it's totally worth it. I'd provide detailed instructions here but I've seen the inside of a few PS2 dual-shock controllers and each were different! The key is that each joystick has 3 pins for each axis. You need to swap the voltage between the two outer pins.

You can email me for more details/shipping address with the form at the bottom of this page.

What made the Amiga special? A 5-star review of The Future was Here

This is a review of The Future Was Here: The Commodore Amiga (Platform Studies), a book I enthusiastically recommend.

Growing up I read many times about the amazing powers of the Amiga, particularly for gaming. I always wondered what it had that my 386 didn't. Turns out by then my 386 was probably a better computer (combined with a Sound Blaster and a Super-VGA card) than most Amigas, albeit at a much higher price. Prior to that generation of PC clones the Amiga had a legitimate lead, however, even without factoring in the price.

The Amiga's advantage was special purpose hardware for graphics and sound that allowed very impressive visuals if you were willing to work within the constraints (which were significant). An illustrative example: scrolling the background at reduced speed relative to the foreground was implemented just by changing the offset in video RAM that the display drew from. This would have scrolled everything except for a clever trick: the background used a limited palette that didn't overlap with the colors used for the foreground, and you could specify different starting offsets for different colors (technically, bit-planes). This kind of trick allowed very fancy, multi-layered games way before CPUs were fast enough to draw each frame of animation from scratch. By the days of the 386, however, CPUs had gained a lot of speed, allowing you to draw much more of the screen on each frame, offering the flexibility to go way beyond the hardware tricks of the Amiga.

If you found that interesting, then you will enjoy the Future was Here. While some technical details -are glossed over, by-in-large it makes clear why the early Amiga was so much better than the early PC, and why the Amiga was eventually outclassed by the much more generalist IBM PC clone market. It also has a lot of interesting history about the rise and fall of the Amiga, and a nice survey of what kinds of software it was able run, often way before the other computers of the day had anything comparable. Always wondered what was so "deluxe" about Deluxe Paint? Or what the Video Toaster was? It's all here. I do wish for a little more technical detail, but to be fair no other book out there comes close to this one in describing just what made the Amiga special. If you read just one book about the hoops early programmers had to jump through, this is the one.

Thursday, July 13, 2017

The best open-world 3D platform/adventure games of all time (2017 edition)

I'm a big fan of Zelda, Mario, and Ratchet & Clank. Though each are very different, they all share a heavy emphasis on exploration, world building, and puzzle solving. Combat plays an important role, but not the primary role, unlike a beat-em-up.  If that description is too nebulous, just look at the list below. I'm not trying to make a philosophical claim about the existence of this category, just to help folks find games they may not have played and would enjoy. I will acknowledge that nostalgia plays a role in some selections, but I'm trying to rank these according to modern sensibilities, at least in terms of gameplay (the graphics of older games is of minimal concern to me as long as it doesn't hamper gameplay).

These are ranked from all-time-favorite to still-worth-playing but-only-if-you-really-like-these-kind-of-games. Note that I take my time on acquiring gaming hardware until it's very long in the tooth (and super cheap!!) so although this list may be written in 2017, none of these games were released even remotely close to that. The newest might be 10 years old??

Legend of Zelda, Ocarina of time (N64)

Nostalgia plays a role here, but this game is still amazing. The world is huge and exploring it feels like a real adventure where you get to decide where to go next. The slow evolution of your character's abilities, though trite (especially today!), makes it feel like you are growing with the game. Combat is only moderately challenging, but never devolves into a button masher. The dungeons are full of puzzles, and are at least moderately varied. The controls are perfect. Graphically, this game is extremely dated, but the game play is not. And the graphics are not so bad as to get in the way of the game, though it probably helps that I first played this when it was relatively new. There are many remakes on recent Nintendo platforms, or you can easily play with a free emulator on a PC. Though the N64 controller was pretty different from the dualshock design that's pretty much swept the console/pc world, so it can be hard to find a elegant control scheme. 

Ratchet & Clank (PS2)

This is a great series, but the first game is arguably the best.  It's a "puzzle shooter", in that there are a huge number of guns that each behave in distinct ways. Half the challenge is deciding which would be best for the current situation. It's also a first-class platformer with lots of running, jumping, and exploring. Each level typically has several paths to explore, though to finish the game you will have to play them all, so it's not as open as a zelda game, but the design does a good job of hiding any linearity. Much like zelda your character gets more and more powerful, meaning that you can go back to earlier levels to complete challenges that were impossible before. There is a tiny bit of hidden stuff, but for the most part there are no secrets. Just blast your way through the levels and when everything is dead you win. Graphically, the game still shines; with a cartoons sci fi aesthetic. The game play is also up to modern standards, though you will find yourself repeating parts of levels more than you might like because you didn't get far enough to reach the continue point.

Mario 64 (N64)

Nostalgia may also play a role in this pick, given its age. Certainty, as the first open-world 3D platformer, it deserves to be on this list for historical reasons. And frankly, it's hard to imagine that you haven't played it, so maybe I shouldn't belabor the point much. But part of the reason to go into so much detail on the first few games is to help define what this list is about so I will spill at least a few characters. Mario 64 succeeds for several reasons. Unlike the earlier Mario games, each level has a series of challenges to complete, keeping gameplay more varied; there's a level select stage, so it's ease to jump (heh) around to different levels when you get stuck; most of the levels are fairly open and exploration oriented, rather than linear. Keeping with the Mario tradition, there's lots of secrets to discover and all kinds of tricky jumps to execute, and combat plays very little role except for bosses. It really sets the standard for pretty much all mario games that have followed. I find the controls just slightly less smooth than in later games, but perhaps that's because I played on an emulator, using a dual-shock style controler. The graphics are very crude by any standard, but don't hold the game back much. If you haven't played it, I suggest that you do for historical interest - you'll be shocked how much of the mario style was established so long ago.

The rest...

Having established the pattern of what I'm going for here, I'm going to go for more short and sweet descriptions of games; as always google for further details.

Jak and Daxter: the precursor legacy (PS2)

A really pretty "gather the magic orbs" kind of game, ala Spyro. Lots of platforming, and good level design. 

Mario Sunshine (GameCube)

What if Mario was a FPS? Would he have a gun, or a power-washer backpack that is as good at cleaning away black sludge as it is giving short hover assists for tricky jumps? Well that sounds like a weird mashup, but the game is actually quite fun. There aren't that many open worlds to explore; instead each "overworld" also has a bunch of fairly linear "challange" levels which are kind of like 3D versions of NES mario. I feel like it was kind of short.

Zelda: The Windwaker (GameCube)

Ever felt like Zelda was too epic and didn't feature enough watersports? This one is for you. I've heard that it's only got about 10 hours of traditional zelda gaming, but I haven't played it recently so that might be an exaggeration. I do recall a lot of sailing between islands that was only fun the first 200 times. The islands themselves are traditional zelda overworlds with traditional dungeons. Since there aren't that many zelda's it's still worth playing but the bang for your buck is pitiful. 

Mario Galaxy (Wii)

The gimmick here is that some levels are tiny planets that you can circumnavigate in a minute or two. It's large, it's open ended, and it's the mario you know and love from 64. For some strange reason I have fonder memories of the shooter mario (aka sunshine), though. But it's very solid

Spyro the dragon (PS1)

I'm not sure of the history of the "collect all the thingies" genre, but this is one of the best early examples. Every level has 400 gems. There are weak monsters wandering around that make it slightly hard to get all the gems, but mostly this game is about exploration, tricky jumps, and figuring out the path to platforms that cannot be reached directly It makes the most of a few very simple gameplay mechanics. I found it surprisingly sublime, and was tempted to put it higher on the list, but it is such a basic looking game with such repetitive gameplay that it found it's way down here. It looks much better on a PS2 with texture smoothing on.

Ratchet & Clank Going Commando (PS2)

More Rachet & Clank. Slightly heavier emphasis on the run and gun 3rd-person shooter aspect of the game, and less on the platforming and exploration, but not really enough to change the flavor of the game.A great looking game and a solid choice if you liked the original.

Jak II (PS2)

Jak and Daxter made over to be a lot more like Ratchet and Clank. The guns are much fewer and less interesting than R&C. The collect the thingies bit from the first game is almost entirely gone; instead you just have to get to the end of each level (many of which are rather linear, but well disguised) . Way, way, too hard for its own good, with lots and lots of replaying each level because you died.  I'm sure I died over 100 times on some levels. I would rate this one much higher if it didn't have that going on. It looks fantastic, and is a lot of fun until the difficulty level gets ramped up. I don't care too much about plot line typically, but man this one is hard to follow and there's a lot of it. Playing Jak and Daxter first helps, but I kind of think they meant for it to be confusing.

Tak and the power of the JuJu (PS2)

A collect all the thingies game, but with more interesting puzzles than most, and pretty good graphics. Sort of a Jak and Daxter + Spyro + something with puzzles + "humor".  Sometimes frustrating. Combat has a very strange place in this game - it can be hard, but you come back to life after dying without losing any progress at all. I think they could have skipped combat altogether or made it easier but given death some actual consequences. Sometimes I get lost in the levels because they are a bit visually repetitive.

Zelda Twilight princess (GameCube/wii)

Felt pretty linear for a Zelda. Otherwise sold, typical zelda style game.

Ratchet & Clank up your arsenal (PS2)

The continued evolution of R&C away from its platforming roots and towards being a 3rd person shooter. Still has a ton of interestingly different weapons, and still has plenty of platforming, so I still recommend it, but not as much as the 1st or even the 2nd of the series. 

Starfox Adventure (GameCube).

Much more Zelda than Starfox. An odd game that got it's Starfox branding late in life. Somewhat linear, and a too much emphasis on combat, but still a fun Zelda-alike.

Spyro: Ripto's Rage (PS1)

This game looks so much better than the first Spyro. Some of the levels approach PS2 level complexity, though certainly not ps2 level graphics. It might be worth seeing just as a testament to what a well-programed PS1 can do; I think it's easily one of the best looking 3D games for the system, esp. with PS2 texture smoothing turned on. Sadly, the sublime simplicity of "collect all the thingies" has been traded in for a bunch of varied challenges like animal herding or killing all the monsters. Though challenging they don't tend to be that fun. Reminds me of how Mario 64 introduced reusing each level 8 times, but requiring different tasks each time you return. The tasks are less fun but at least there are only 3-4 per level here. You can still collect all the gems, but there is no real in-game motivation plus they are not hidden as cleverly.

Games I haven't played but should probably be on this list

For being written in 2017 this list is horribly dated. Even I know of many games that should be on this list (and even own some of them), but haven't played them personally yet. Some are listed below. I'd be eager for suggestions for more in the comments section.

Mario Galaxy 2
Zelda Skyward Sword
Zelda Majora's mask
Jak 3

Sunday, June 25, 2017

The best looking PS2 output on LCD displays: retro upscaling and deinterlacing in the digital age

PS2s were built with CRT TVs in mind. They look best on those. If you can, use a CRT connected via  a YPbPr (component) cable. There are two reasons.

PS2 games are mostly output in 480i (480 pixels of vertical resolution, with 240 pixels painted each frame; first the even lines, and then on the next frame the odd ones). In between frames the game image is updated, so when there is lots of motion the odd and even lines will show significantly different views. But because CRT pixels fade quickly, you almost never see the disagreement. Because LCDs have high persistence the even and odd lines are visible at the same time, and when there is lots of motion the result is ugly. If you happen to have a PS2 game that supports 480p (progressive, as in not interlaced), put in that mode and everything will look a lot better on your LCD.

The other issue is that the PS2s doesn't do anti-aliasing by default so sharp edges can look pixelated on an LCD. This is particularly bad in 3D games, and not so much of an issue in 2D games (of course, >90% of games are 3D). On a CRT this issue is partially hidden by the fact that image is blurred a bit by TVs hardware (unavoidably). This blurring is due to the amplifier that drives the cathode ray which cannot make large transitions (say, black to white) instantaneously, and thus spreads the change over a couple pixels. Small changes in brightness/color require less change in the amplifier gain, and thus are displayed more faithfully. This is exactly what you want for a "low-fi" antialiasing . You could turn down sharpness on your LCD display, but that will make everything blurry, which is crappy antialiasing.

I realize this post would be 10 times better with pictures, but it turns out to be nearly impossible to take representative photos of an actual LCD or CRT. So I'll just give my personal experiences, from best to worst.

PS3 with PS2 hardware

Early (launch) PS3s can play PS2 because they have most (or all) of the PS2 hardware built in. The PS3 has HDMI out, and if you plug that into an HD TV you can select up to 1920x1080p as the output resolution. The PS3 doesn't do any magic at the PS2 level though - it just runs the ps2 hardware's 480i output through a built-in deinterlacer and upscaler. I found the output to be noticeably blurry, independent of settings. But interlacing artifacts basically disappeared, and aliasing was very low, because of the blur.

Both HDMI and YPbPr are supported. HDMI worked the best; I found that 720p and 1080p over YPbPr were not recognised correctly by my iScan HD+. Interestingly, you can use HDMI for video output and still use the sony "MultiAV" to output audio over RCA plugs. Handy if you are connecting to a computer LCD which does not support HDMI audio.

The PS3 will also work with games that support 480p, with sharper output presumably. Note that in the one case I tried, shadow of the colossus, 480p didn't actually look clearly better, and in some ways worse. But I find that hard to believe and presume it was entirely an anomaly.

Some downsides to the PS3 are: no built in way to plug your PS2 controllers in, and no built in way to use your PS2 memory cards (to transfer old save files). It appears that adapters exist for both of these issues. I'd be interested in suggestions in the comments section below.

The other big downside is that launch PS3s are hard to find, and have a reputation for dubious longevity. I don't know how true that is. A real ps2 costs about $20 on craigslist, and if it breaks, just get another. There's also the question of how compatible the PS3 is with ps2 games. Not all of them work, esp. if you buy the version that only has part of the ps2 hardware built in. Wikipedia has a fairly exhaustive list, and it seems that significantly more than half do work.

The big upside is you also have a PS3 out of the deal :-) It also plays PS1 games, just like the PS2.

Cost $600 in 2006, and now at least $100 used, probably more.

DVDO iScan HD+

The HD+ clearly had the sharpest image of all the solutions I tried. There is a clear tradeoff however, because some of the interlacing also made it through, and there was another artifact, which shows up when there's a lot of motion - sharp edges appear blocky because in areas of high motion the HD+ eliminates interlacing by just doing line doubling. I think the algorithm is basically as follows: When the scene is essentially static, concatenate the first and second field together such that all of the 480i pixels are visible simultaneously. When motion exceeds a threshold, show just a single field at a time,(240 pixels, stretched vertically to fill the screen). This might sound horrible, but in practice it looks ok because it only applies it to regions with high motion. So the status bar, for instance, will stay sharp the whole time. This effect is somewhat masked by motion blur, but if the lines are high contrast enough (such as a black tile floor with white grout) it's quite visible.

The other issue with the HD+ is that its default level of sharpening is too high, highlighting the lack of hardware antialiasing on the PS2. Unfortunately, they do not let you change the sharpness setting if you use the YPbPr input, which unfortunately is necessary to get the best PS2 image. To adjust sharpness you have to use composite which looks awful on the PS2, or S-Video, which looks ok except that color resolution is halved (but hey, that's not clearly bad since it helps with the aliasing). Another way to reduce the sharpness somewhat is to set the output to less than your panel's native resolution. Here the HD+ shines. It supports 20+ resolutions and then you can tweak them in single pixel increments to create resolution never before seen by man (or at least your LCD). Pro gear can be fun sometimes.

The HD+ plus supports pretty much every analog input known to man, and also lots of video formats including 480p, which makes for zero interlacing artifacts. Doesn't help with the aliasing issue tho.

The HD+ was made in the mid-2000s, and cost $1500 new. Now they go for less than $200 on ebay. It's clearly a premium device with loads of settings. It also has an extremely unintuitive interface, at least if you use the front panel (I don't have the remote). I was disappointed to find that the used one I purchased had extremely blurred & streaked VGA output suggesting that the analog display path had started to fail. There are some risks in paying $200 for a 10+ year old device.

DVDO iScan Pro

The iScan Pro output seemed "muddy". Not a technical term, I'm aware. Something like blurry and low contrast combined with a little bit of noise. Now, that sounds awful, but there are some distinct upsides. Interlacing was virtually invisible (on par with the PS3), and the lack of antialiasing was also well masked, and it's a bit sharper looking than the PS3. Though it is quite a bit older than the HD+, I find myself preferring it in games that are prone to aliasing problems. It's also dead simple to adjust - just a set of 6 knobs on the front for sharpness, brightness, etc. It has the same gotcha as the HD+ for YPrBr input though - you can't adjust the sharpness. Since it's an older device, it doesn't support anything other than 480i on the input side, though it does support  YPrBr, composite, or S-Video. It only outputs 480p over VGA, letting your LCD do the upscaling. Which seems to be fine.

Not supporting 480p is a real bummer though, since that really improves the appearance of the games (zero interlacing issues, which is after all most of the reason for this post in the first place). Perhaps your TV has decent support for 480p and you can just switch cables depending on the game. Or have two PS2s, they are that cheap after all.

The Iscan Pro was about $1000 in 2000, and now goes for around $100 on ebay.

LKV7000 / HD Box / GBS8220 

The final choice; both cheapest and something you can still buy new. The output looks kind of like the iScan Pro, but even muddier. Aliasing issues were masked very well, but interlacing was still visible at times, unlike the iScan Pro. Not so often as to be a problem, but definitely noticeable during high motion. I used this device for a year, and I got very used to it, so for the price it's a pretty good option, but it's also clearly the least good. Plus, mine has a strange green cast which I've occasionally heard other people complain about. Not clear if it's an intermittent manufacturing issue, or a universal problem that not everybody notices. It only supports YPbPr input, but that's fine for PS2 users. It supports 480p, and looks really good in that mode (better than the iScan Pro on 480i for sure). You can combine the two devices somewhat easily, because the LKV7000 has VGA passthru that is active when the YPbPr cable has no signal, but you'll need two PS2s, or to swap cables. 

The interface is also horrible. 3 hard to reach buttons on the back that don't properly debounce, so when you push one once you get anywhere from 0 (oops didn't press hard enough) to 4 effective button presses. Once you've found the settings you like, there's not much need to change them, though sometimes I like tweaking the sharpness. 

Conclusion (!?!)

I can confidently say that the LKV7000 is the least good solution, though not without merit. While I claimed the list above was ranked from best to worst, it's not entirely true because the ideal device depends at least some on the game. For instance, Shadow of the Colossus has horrible aliasing. It looks best on the iScan pro for that reason, with the LKV7000 coming in second. The HD+ highlights the aliasing to a painful degree, while the PS3 is somewhere in the middle. For Jak II, the PS3 is good, but is definitely soft looking, whereas the HD+ keeps everything sharp and the interlacing issues are minimal (and eliminated if you switch to 480p). Of the devices, the HD+ certainly offers the most options, tweaks, and supported formats, so I'd probably go with it, except that the PS3 is cheaper and plays PS3 games. So really it's a toss up. 

Except for this: none of these solutions look as good as a CRT. If you can, go that route. It's a shame that now that we have high speed LCDs (240hz according to marketing, at least) that we can't just emulate the interlaced display of a CRT properly, and display 480i as interlaced pixels, drawing half the screen at a time and leaving the alternate lines black.

Finally, I would like to acknowledge that all of this blather is in some sense derivative of http://retrogaming.hazard-city.de/, which reviewed all this equipment too (that's how I found out about these devices in the first place). The opinions here all mine, however, and are based on my actual experiences, offering a 2nd datapoint from fudoh's. 

Monday, June 12, 2017

Can you repair a scratched CD with plastx: empirical tests

I have some PS1 games that I purchased used. Unsurprisingly, 20 years on the resale market hasn't been kind to them. I purchased a cheap disk polisher (monoprice disk repair kit, which is advertised to "clean 99% of all scratches"), but my experience wasn't that great for fixing the PS1 games. I did fix one PS2 DVD that wouldn't play, but mostly it didn't seem to help. So I decided to try other cleaning solutions than provided with the kit, and to run them much longer than the 3 minutes suggested.

Here are my results with Plastx, an automotive plastic cleaner advertised primarily for headlights.

I tried several PS1 CDs, and none became playable. But perhaps I just wasn't running the polisher long enough. So used a Windows program (nero DiscSpeed) to get a summary of the error rate to see if it was improving at all. PS1 CDs are after all just regular data CDs, so my PC should serve as proxy for the PS1, although I've found the DVD reader in my laptop seems to be better at reading scratched disks than my PS1/2s.

Here is the scan result before, on a reasonably badly scratched CD (quake 2).

And here is the result after running the machine for 20 minutes:

The error rate did go down, but less than 1%, which may well be the margin of error of this test. Conclusion: 20 minutes of high speed buffing with plastx does not repair a scratched CD.

Note that these scratches were of medium depth - the disk will load on my ps2. My logic here is that if the scratches are mild-medium and the cleaning can't fix them, then deeper scratches won't be fixed either, as empirically demonstrated on disks that would not load (but without pretty plots, since I didn't use Nero to scan them before and after cleaning).

Now maybe if I used a stronger buffing agent to remove more plastic, and then finished with plastx, I might have better results. I hope to try that next, but in the mean time I'm interested in hearing anybody else's opinion.

Thursday, June 1, 2017

Is the DVDO HD+ any good for playing PS2 games on an LCD? Svideo tests.

LCD tvs can display older video formats, but usually do a pretty bad job compared to a real CRT. This is particularly true for retro video game systems, which were games were designed to look their best with some blur (and scanlines)!

Here, I look at the DVDO HD+ deinterlacer for playing playstation 2 games. In my opinion, the output can look *too* sharp when using component cables, so here I use s-video. Check out the labels at the end of this post at the end for comparison photos from other devices.

x-man copyright screen has no motion, so deinterlacing should be at it's very best, and it is:

x-man title screen has continuous background motion, so deinterlacing should be much harder. Still looks good, but the logo is much more jagged:

jack II title screen has jagged edges around the text, but is relatively soft in s-video mode:

shadow of the colossus suffers from very jagged edges. In svideo mode they are not so obvious:

Sunday, March 19, 2017

Whole house fans

First we tried a Master Flow 6000 CFM 30 in. Belt Drive Deluxe Whole House Fan with Shutter. 

 It looked to be well built, but we were a little unhappy by the low-frequency noise it produced (I would call it "choppy", which eventually convinced us to return it. Not so loud that you couldn't carry a conversation, to be sure, but annoying as a background sound while reading or using a computer, at least to me. This was with zero constraints airflow on the intake or output sides of the fan, they warn you it could be louder once it's installed and there's a limit on airflow.

 Power use was 380 watts at 6000cfm; at the lower speed it was 290 watts.

Then we tried a MaxxAir 42 in. Industrial Heavy Duty 2-Speed Belt Drive PRO Drum Fan. Not really meant as a whole house fan, but if you box it in, why not? Slightly quieter, and it moved more air too (6000 cfm vs 95000 cfm). At 9500 CFM it drew 500 watts. At 13000CFM it drew more, I think about 750 watts, but I don't recall for sure.

Tuesday, May 3, 2016

Fix Windows Update hangs on fresh install of Windows 7 SP1

Microsoft has hit on another way to make everybody switch to Win10 - a fresh install of Win7 (sp1!) can no longer download updates from Windows Update, at least out of the box (literally zero software installed or other configuration changes). It will hang saying "Checking for updates".  The very first thing it downloads an update to Windows Update, but then for some reason it cannot install that update, gives up, and goes on to checking for more updates, forever (I've tried letting it sit for 3+ hours, no change!). In total I wasted about 3 days of sporadic effort on this problem, reinstalling Win7 at least 5 times onto a wiped disk, before I hit upon this exact set of steps. I ran tons of MS Fixit apps, tried deleting the SoftwareDistribution folder, etc. No joy. What a huge waste of time and effort, almost makes me wish I had decided to go with Win10 after all.

Enough ranting! Here's what works. Install the following files, in the following order:


You can find all of these on microsoft's website (just google them!). Sorry for not providing their actual names, or what they do, but the M$ pages you download them from will explain (to the extent that MS ever tells you what's going on under the hood).

Now launch windows update for the first time. It will take a while (maybe 15 minutes) before it progresses beyond "Checking for updates". Just to be safe, I've also taken to only installing 10 updates or so at a time.

Wednesday, February 4, 2015

Online retail: who's making money at this???

I love shopping online. Good prices, good selection, and the occasional useful consumer review. Mostly, I love the prices. I wonder though, if the prices we see today are still somewhat unrealistic, and driven by an attempt to build market share. Lots has been said about this WRT Amazon, but other retailers have demonstrated that they don't particularly care about profits either, by spending way too much on shipping things to me.

I once bought a $3 mouse from staples, and it was delivered in a box that must have been 2x2x3 feet! I had added it to get free shipping, but the sent it separately from the item I really wanted. That was a Black Friday sale, so maybe they were just out of reasonable sized boxes. Better to ship the item than make the customer wait forever, might have been their thinking. Or maybe UPS only charged them by weight, so it wasn't that much more expensive for them?

More recently I bought a couple Net10 phones from Walmart (LG Fuel, just $20, which makes a great music player; I don't plan to activate it). To get free shipping I took advantage of a sale item that they were advertising: a 40lb (total) set of barbells, which cost only $15. Yes, they shipped that for free. Having shipped a few things myself I can tell you that I would have paid over $50 to send that package. Walmart certainly paid less than I would, but there's still a good chance that the shipping on that one item cost more than I paid for the entire order. The kicker is that they were damaged in shipping so I had to return them (to a physical store, so I didn't have to pay shipping). I cannot imagine a context in which selling the Barbells online makes any sense. Let alone advertising them. Somebody actually made the decision to promote that loss leader!

Not to dump on Walmart.com, but my 3rd story also involves them. I bought some blocks for my daughter, which only cost $10. Shipping would have been $5, so I looked for other items that would add up to $50 for free shipping. I added 3 other items I would have wanted at Walmart anyway. Today Walmart notified me that my order shipped. And then again, and again, and again, for a total of 4 separate tracking numbers. That means that each item I purchased is going to be shipped separately. Now, I can't really, really know that this means Walmart is losing money on this order. I can certainly suspect it, but who knows, maybe they have a great deal on shipping rates - certainly, they must have one of the very best deals. But separate from that is the idea that I somehow earned free shipping by buying enough stuff. If each item was shipped separately, they might as well have given me free shipping starting from the very first one.

So the "meet this minimum and you get free shipping" model doesn't really work that well if you have multiple fulfillment centers and differing stock at each center. A more realistic model might be too complex for consumers though. Imagine that the shipping price changed in a semi-random way each time you added an item to your cart? The only compromise I can think of is to add a free shipping icon next to an item when it's going to be added to a cart that has an item in the same warehouse.  But even that sounds pretty annoying to use. I don't know what the solution is, but the current system means that a lot of orders are going to cost more than they make.

Wednesday, September 24, 2014

13cu kenmore chest feezer real-world energy efficency

This 13cu ft. freezer (model 16342) was sold by sears in 2013, but does not currently seem to be in their catalog. It is/was made by Frigidaire; as far as I can tell they were the only one's to make a 13cu freezer; other company's just put their name on it. So far I like it, but that may be rather moot for you, if it's discontinued.Here I'm interested in how much energy it uses as a function of the ambient room temperature in our enclosed patio (much higher in the summer than winter), which presumably will generalize to other similar models. 

So, for the summer of 2014, which in San Diego was hot, hot, hot (80-90 highs), I measured it at 37 watts/hour, averaged over 33 days). That's 324kWh/year, should the efficiency stay the same year round. I'm betting, however, that it will need less electricity in the winter months, when the room is cooler, though.  The EPA estimate is 326kWh; I'm impressed that they are reporting what seems to be the upper bound. In 2014, however, when I measured over 82 days of summer, I found the watts/hour to be 54, or 476 kwH/year. Much less impressive.

In San Diego, with current electricity prices, that means the freezer will cost about $50 a year to run. I'll update this post once I've been able to test performance at lower temperatures.

Thursday, June 19, 2014

software to record time-lapse video (garden/nanny cam) under windows xp

There are lots of reasons you might want to use a webcam to record time-lapse video. In my case it was to figure out what pest was eating my butternut squash and tomato plants in the garden. I used a 33 ft usb extension cable so I could place an old webcam outside near the plant, and connect it to my old netbook inside the house. In SoCal it never rains so I didn't worry much about the equipment getting damaged, but I didn't want to leave my laptop outside just in case.

I tried several programs. So far all have issues, so I'm open to suggestions. Here they are, sorted in descending order of usefulness (to me).

AVS Video Recorder (Free) worked very well for 30fps video recording with sound, but doesn't have any options to record video without sound, and at a slower frame rate. Mp4/AVC was supported, so the file sizes were manageable if I recorded at 360x240, but it was really hard to see what was going on at that resolution.

 Webcam/Screen Video Capture (free) looks real slick, and was able to detect my camera correctly. But it doesn't offer any way to change the fps, and the video formats it can record to are somewhat dated. Plus, the installer was very eager to install ad-ware, though if you read carefully it all could be bypassed.

NCH Debut Video Capture ($40) claimed to be free for home use, but actually only a 3-day limited time demo, and is useless after that period. If it weren't so buggy, this might have worked the best of what I tried, in that it supported arbitrary resolution, frame rates, and even time lapse (10 frames a second, 1 frame a second, or slower, all recorded to MP4/AVC). The killer, however, is that it seems to occasionally write corrupted video to disk, such that any attempt to read the file after the corrupted frame fails. A bit of a show-stopper, that. I think it had to do with dropped frames, but the demo expired before I could fully investigate. I tested version 2.00, maybe they will fix this someday.

Weeny Free Video Recorder - only supports windows media (8/9) and though it advertises custom frame rates, no matter what I entered it recorded at 30 instead. It did support my webcam, but the interface was very buggy, at least under WinXP. I'd avoid this one.

One meta program is ManyCam, which allows you to combine multiple webcams into a single virtual camera. But it didn't work with my old Intel USB Video Camera (failed with no error message). So I can't recommend it.

Thursday, June 5, 2014

Pale Moon: an alternative to the FireFox 29 interface mess

Like many, I recently rebooted my computer only to discover that FireFox had updated itself once again. This time, the changes were, at the very least, cosmetic. I don't mean they were small, however; rather, the browser looks quite different (uglier) and more important to me, it forces the use of tabs, something which I've managed to avoid for the last few years. Force as in the tab bar is always open whether you want it or not.

My options: downgrade to Firefox 28 (the old interface) knowing that security holes would no longer be patched, or look for another browser. Chrome is a great alternative if you like tabs, but my goal was one window per webpage, so I looked farther afield. Or closer, perhaps: I found Pale Moon, a browser based on Firefox 24, with (some) security fixes back-ported.

The Pale Moon advantages:
  • The same look as Firefox 28 (and older) - yay, I can avoid tabs again!
  • Optimized for more modern processors
  • Features I don't use have been removed, so it should be somewhat more lightweight
Sadly, the experience hasn't been that positive.  Most notably, I've found Pale Moon to be unstable - in two days it has crashed hard once, and misbehaved to the point of needing to be restarted another time. Make that three times - it crashed again while I was composing this post (Of course, that might have been an attempt at self-preservation).

Now to be fair, I've only used it on one machine - WinXP 64. Maybe it is more stable on another setup. But I'm not going to give it another chance. In part that's because of another issue: Pale Moon is based on Firefox source, so Firefox bugs are also PaleMoon bugs. Thus, while no malware is going to target PaleMoon specifically because of its minute market share, anything written to target older versions of FireFox will also hit Palemoon (because it's not updated as fast as Firefox).

In the end, it's a shame. The interface and the web page rendering engine should be entirely separable, so that you can choose the best renderer (which presumably would be the same for pretty much all users) and the best interface (according to your personal preferences, which will likely differ from other people's).  Then it would be easy to keep the renderer up to date, and still be perfectly safe using an obscure interface. Perhaps this is how things actually are in some low-level sense, but there's no way for me to drag and drop a new rendering DLL into the PaleMoon app folder and thus have the latest and greatest security fixes.

Tuesday, February 11, 2014

Improvements on: Backup and restore Windows 7 activation status (Offline activation after reinstall)

This post is an elaboration of the necessary steps in order to backup Windows 7 activation status before doing a clean re-install and then restoring it back, with the command lines instructions to do the tricky parts. Note that a valid key is required; this does not support piracy, it just saves you from increasing the activation count on a valid key just because you are doing a clean install.
  1. Copy and save or backup the following activation-related files to external storage medium such as USB flash drive or portable hard disk drive: C:\Windows\ServiceProfiles\NetWorkService\
    Note: For 64-bit (x64) OS, C:\Windows\SysWOW64\spp\tokens\pkeyconfig\pkeyconfig.xrm-ms have to be backed up too.
  2. Retrieve and record the product key used to install and activate the current Windows 7 or Windows Server 2008 R2.
  3. Reinstall Windows 7 or Windows Server 2008 R2. When installation wizard prompts for a product key for activation, leave it blank (do not enter anything).
  4. In the newly installed Windows operating system, stop the Software Protection Service in Services.msc or with the following command (run in elevated command prompt): 
net stop sppsvc
  1. Navigate to the following folder:C:\Windows\System32\spp\tokens\pkeyconfig\
  2. Take ownership and give user full control permissions (alternatively add grant full control right click menu item) to pkeyconfig.xrm-ms file.
cd C:\Windows\System32\spp\tokens\pkeyconfig\
    takeown /f *
      cacls * /g users:f
        1. Delete the original default pkeyconfig.xrm-ms file, and replace with the backup copy.
        2. Note: In 64-bit (x64) operating system, also perform the above  actions in C:\Windows\SysWOW64\spp\tokens\pkeyconfig\ folder.
        cd C:\Windows\SysWOW64\spp\tokens\pkeyconfig\

        takeown /f *
          cacls * /g users:f
          1. Navigate to the following folder:C:\Windows\ServiceProfiles\NetWorkService\
          2. Take ownership and give user full control permissions (alternatively add grant full control right click menu item) to tokens.dat file.
          cd C:\Windows\ServiceProfiles\NetWorkService\AppData\Roaming\Microsoft\SoftwareProtectionPlatform\
          takeown /f *.dat
            cacls *.dat /g users:f

              1. Delete the original default tokens.dat file, and replace with the backup copy.
              2. Restart the Software Protection Service in Services.msc or with the following command (run in elevated command prompt):
               net start sppsvc
              1. Register the product key for Windows 7 or Windows Server 2008 R2 with the following command (run in elevated command prompt): slmgr.vbs -ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
                Replace xxxxx-xxxxx-xxxxx-xxxxx-xxxxx with the actual product key.
              2. Windows will activated instantly, off-line. To check activation status, uses of of the following commands: 
                • slmgr.vbs -dlv
                • slmgr.vbs -dli
                • slmgr.vbs -ato

              Saturday, February 8, 2014

              Install any version of Windows 7 from a single DVD

              *note* This idea should work, but it doesn't quite. Suggestions welcome!

              Any windows 7 x64 DVD has all x64 editions on it, and a single file which tells the disk which version to install. Remove that file and the installer will helpfully ask you which version you want! Note: the same is true of a x86 (32bit) disk, for all 32 bit editions of Win7.

              The file is ei.cfg and while there are tools to edit the ISO for you, wouldn't you rather know that nothing else has been done to the disk? A simple solution I tried, but which did not work is to edit the ISO with a hex editor that supports large (>2GB) files and Unicode (since filenames are stored as unicode). The hexeditor HxD works great for this. You can legally download the ISO direct from Microsoft's partner here (or see here for a list of versions).

              What does work is writing the ISO file to a USB flash drive using Rufus, and then deleting the EI.CFG file.

              For those curious on how to edit the ISO directly (which as I said, doesn't work), read on:

              In theory, all you need to do is change the file name on the disk. Search for ei.cfg (as a unicode string) and the first instance found is the file name (at offset 9D430). Change the 65 at that offset to a 64 and now it's di.cfg. Save and you are done! If you want to check, open the ISO file with a viewer (such as 7zip) and verify that the ei.cfg is now called di.cfg (it's in the \source directory). This clearly changes the name of the file. If you write the ISO to a USB flash drive, the result is as intended; the dialog box opens during install to ask what version you want. But if you burn it to DVD, the result is that halfway into the install Windows fails and claims it needs a driver to read the DVD. So somehow this hack corrupts the UDF image in a way that windows cannot recover from. I also tried searching for later references to ei.cfg, presuming these would be in the code that loads the file; there was only one additional reference in unicode, which I changed to di; the install disk now works ok, but does not load up the menu where you can change the edition. So there must be non-unicode instances of the file on the disk as well.

              Note that this has nothing to do with bypassing activation. This just allows you to use a single disk to install any version you want. You still need a valid product code for the version you installed. 

              Tuesday, January 29, 2013

              Built in PDF viewer in Chrome much better than in Firefox

              Adobe Acrobat has a new security hole found every day (OK, slight exaggeration), and is slow and bloated. The appeal of a light-weight in-browser PDF viewer is undeniable. Now both Chrome and Firefox offer this option. But the Firefox viewer produces blurry text, and I do not recommend for anything but quick on-screen previewing.

              The Firefox PDF viewer does not support "sub-pixel" font rendering which means that any text smaller than about 16 points looks blurry and is hard to read. If your only goal is to print the PDF after checking that you downloaded the right one, it's certainly good enough, but if you want to save a tree, you'll soon get tired of reading such blurry text, unless you like to read each page zoomed in so that only 1/2 of it fits on-screen at a time.

              I'd provide a screen shot but "sub-pixel" rendering means splitting each pixel into its red/green/blue components and turning on more of them or less depending on the width and locating of the stroke that passes through that pixel. So it only looks good if you know what order the colors are arranged on your LCD (RGB, GBR, etc) and if you guess wrong it actually looks much worse. So take it from me.

              Or, if you want to see yourself, here's the best step-by-step instructions I've found:


              After following those steps I still needed to go into the browser preferences and switch the content handler for PDFs from external to "Firefox". Perhaps that is all you really need to do, I don't know.

              Chrome supports sub-pixel rendering, and I find I can read an 8x11 page full-screen on my 24inch LCD with no problem. The same is true with Acrobat, of course, but Adobe's product is just too unsafe to use. The only time I've ever gotten anything like a virus was from a hole in Acrobat (that has happened twice to me, in over 20 years of computer use, meanwhile obsessive virus scanning has NEVER turned up a single virus on any file I've downloaded from the Internet).

              Thursday, October 11, 2012

              Updating Paypal IPN PHP 4.1 scripts to use HTTP 1.1: SOLVED!

              Paypal has made a change in their system which required some changes to my long-working PHP code, version 4.1. Here's the official notice:

              Action Required before February 1, 2013
              Merchants need to update their IPN and/or PDT scripts to use HTTP 1.1, and include the "Host: www.paypal.com" and "Connection: close" HTTP headers in the IPN and PDT scripts.

              Their full-sized example script is now for PHP 5.x so it wasn't easy to see how to make the changes to my older 4.1 script. Yes, they give you a four line snippet showing the new code added, but without enough context to make it work. There's several other forum posts out there suggesting that I'm not the only one confused. None of them have the complete working code posted, though. So here's the correct solution (tested and working as of today):

               // post back to PayPal system to validate
              // OLD working version
              //$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
              //$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
              //$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";

              // new working version:
              $header .="POST /cgi-bin/webscr HTTP/1.1\r\n";
              $header .="Host: www.paypal.com\r\n";
              $header .="Content-Type: application/x-www-form-urlencoded\r\n";
              $header .="Connection: close\r\n";
              $header .= "Content-Length: " . strlen($req) . "\r\n\r\n";

              // new working version changes finished, old code resumes:
              $fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30);

              One thing that tripped me up: the header needs to end with the double end-line, so the order matters at least in that one way. I'm not sure the rest of the order really matters, buy hey, this works!

              Note: this code is part of a larger package that delivers software (or anything zipped) via email to people who send you money with PayPal (or Amazon). Check it out: http://hcidesign.com/linux/

              Friday, July 27, 2012

              EVGA GTX 260 - the best driver choice under WinXP?

              I recently upgraded to a used GTX 260 (EVGA, type SC; model 896-P3-1257-AR to be specific), for the purposes of playing Minecraft, etc. more smoothly. This has been pretty successful - the GTX 260 gets about 2x the frame rate of my old ATI X800 XL, and is only slightly more noisy (because the fan is larger and runs faster). 

              But the upgrade was not without problems (since solved, see below). The moment I put the card in I started having problems with hibernating WinXP which had never occurred with the old video card.  About 1/4th of the time hibernation would appear to finish, and the screen would go blank, but the machine would not actually switch off. Worse, upon rebooting, the computer would act like it had hung, and discard the hibernation file, instead proceeding to a regular, full boot. It was like my computer was crashing about once a day. 

              Suspecting a driver incompatibility, I tried several different ones:

              301.42 - hibernate problems
              296.10 - hibernate problems
              285.58 - machine somewhat unstable
              280.26 - machine very unstable 

              275.33 - hibernate OK, but machine is now unstable (most often hanging hard while watching video).

              Other recommendations from around the net:

              EVGA forum.

              I contacted EVGA support, and they gave me a bunch of fairly basic tech support suggestions that I had little hope would fix the problem, and indeed they didn't. Then they suggested I RMA the card, which I did. Problem solved! The card is now completely stable with out any hibernate problems under the 301.42 driver (I didn't test any others). It only cost me about $5 to RMA the card, because of shipping it back to them. Turn around was super fast - they sent the replacement card out the same day it got to them, and it was in my hands the next day (note, however, both EVGA and I are in S. California).

              So to conclude: hardware problem.

              Update, again:  after about 1 month I had another crash on entering hibernate. That's a lot less than before I sent the card back, but still suggests that the problem isn't actually fixed, as my machine never had this problem with the old ATI card. Not sure what to conclude now.

              How much faster have CPUs gotten in the last 15 years?

              If you got into the PC business in the 80s or 90s, you can probably remember how each new CPU from Intel was a pretty big performance boost. In those days, a new CPU could offer two kinds of performance advances: clock speed increases, and instructions that took fewer clock cycles to complete. By the time the 486 came out, most instructions took just 1 cycle to complete (down from 4-6), and we had gone from 8mhz to 100+mhz in just a decade. With the first Pentium, Intel introduced the ability to complete instructions in parallel, which meant that a single clock cycle could sometimes result in 2 instructions executed (or more properly, completed, since at this point we had execution pipelines). Later CPUs had even more pipelines, but the gains were dimensioning. Clock speeds were still increasing, however. This did not mean that CPUs were getting faster though. Famously, Intel actually took a big step back in performance per clock cycle from the Pentium 3 to the Pentium 4, in order to push into the 4 Ghz range.  In modern times, performance per clock cycle has taken a bit of a back seat to putting more cores into your CPU - great if your software supports multithreading, but even after almost a decade of this approach, a lot of software does not.

              So, how do CPUs of the last 15 years compare on single-threaded computation? Not many people have the CPU collection to answer this question, myself included. Tom's CPU charts is the closest I could find, but in 2006 they switched to using a multi-threaded mp3 benchmark, so the best they can offer is the years 1994-2004. To extend this I replicated their benchmark (single threaded) on my desktop, which is shown at the bottom of the following list.

              Tom's cpu charts 2004 (seconds to encode a large MP3 file using LAME, so smaller is better):

              1994 Intel Pentium                      100mhz     4361
              1997 Intel Pentium MMX           233mhz     1926
              1999 Intel Pentium III                 600mhz       360
              2000 AMD Athlon thunderbird  1ghz             233
              2001 AMD Athlon XP 1500+   1.3ghz)         169
              2001 Intel Pentium 4                  1.8 ghz         162   
              2004 AMD Athlon 64 2800+    1.8ghz          119
              2003 AMD Athlon XP 2800+   2 ghz            105
              2004 Intel Pentium 4 570           3.8ghz            84
              2004 AMD Athlon 64 FX-55    2.6ghz            82
              2010 AMD Phenom II 255 X2  3.1ghz            46 (estimated)

              The most impressive gains happened in the 90s - 4300 seconds is a long time to encode an MP3 (even a long one). Since then, single threaded performance has gone up, but not so much. The difference between 82 seconds and 46 is almost half, but that's not such a huge change in how long you have to wait. We can see, however, a general trend that more is getting done per clock tick (excepting the P4, of course). 

              The weakness of this list, of course, is that there is no attempt to make sure that each of these CPUs is comparable in terms of cost to the user when they were introduced. But it does show that while raw Ghz hasn't gone up much in the last decade, compared to the 90s, single thread performance has still continued to rise somewhat faster than Ghz. 

              Radeon incompatibility with Dell LCDs (U2410)

              I recently upgraded my video card to an EVGA 260 GTX (SC), for reasons of performance and compatibility. My old video card (Radeon X800 XL) was reasonably quite, fast enough for non-gaming needs, and OK for watching flash video, but not great. Most annoying of all, it has an incompatibility with my Dell U2410 LCD, where it cannot wake the screen back up after it has been put into power saving mode by the screensaver. Apparently the video card sends a signal to the DVI port to see if there is a device there, and the DELL takes too long to respond so the ATI card stops sending a signal, and never discovers that anything is attached. I found I could get around this by opening a full-screen DOS prompt, which causes the ATI drivers to power up the DVI port whether it thinks there is a screen attached or not. I set up a hotkey to open and then close a fullscreen DOS window, thus bringing my display back to life, but what a pain! I don't think this was a problem with all Dell displays - I don't recall the same problem with my older 2408WFP.

              To be fair to ATI, this is an old card. But the drivers weren't that old; you'd think this was something that could have been fixed in software. The good news was that the upgrade to an Nvidia card fixed it. Plus, flash video no longer exhibits taring problems. You know, full screen video playback was a problem most software solved in the late 90s. Flash is such a dog - apparently it can only use hardware acceleration with fairly modern video cards - which the ATI card certainly isn't. But then every other video playback program I used was tare-free, so it certainly had the horsepower to do the job if given even half a chance.

              Monday, January 16, 2012

              VMWare player 4.0.1 review

              I just started playing with VMWare player 4.0.1, which was released in Nov 2011. It's pretty slick, and based on some lightweight benchmarks, computational performance loss turns out to be minimal. GUI performance is also quite good, and I conclude that using a VM to try out software or otherwise firewall your main machine from risky activities is a great idea with little downside.

              Program installation was easy. VMWare requests that you create an account and give them an email before you can download. I found, however, that they do not check if the email is valid before letting you download the install image. Installation does leave a few VMware services running all the time, even if you are not running the player at all, but it's only about 15MB of overhead, so all in all it's tolerable, though I don't see why they can't just run those apps as needed.

              OS installation was even easier. For supported OSes (I used winxp sp3) it knows how to automatically install the OS without any interaction from you. Just enter your license key, specify a few parameters (disk size, etc), and the rest of the install is completely unattended. Very nice for getting a good clean install of Windows for testing purposes, etc.

              Overall performance seems very good. I tried a synthetic cpu benchmark (Google's v8 javascript benchmark, version 6, on chrome 16.0.912.75 m), and found that the performance was somewhat variable, ranging from 83% to 90% of the benchmark result when run outside of the VM (that is, a 10-17% slowdown). This was on an AMD 255 CPU (X2, 3.1ghz). I doubt I'll ever notice. Visually, performance also seemed snappy for GUI interactions. I tried bubblemark, a simple javascript/dhtml benchmark, and found unbelievably good performance (http://bubblemark.com/dhtml.htm): both inside and outside the VM, performance was the same, at 200-210FPS.  Finally, I tried futuremark's peacekeeper browser benchmark. Visual performance was also good, with HTML canvas being only 1fps slower on the VM, at 28fps, however the rendersuite (dynamic updates of table colors) was slower, at 45fps (vs 75). No info on why these would be so different, but I'm guessing that table updates are for no good reason more CPU taxing. Or something.

              So to conclude, performance is very good - more than enough to use for all types of web browsing, and even compute-bound tasks. Though I did not test outside of Chome, I see little reason to think native apps would be distinctly different, though it is reasonable to wonder if GUI acceleration might be better outside the VM when using native (win32/.net) apps. Another test worth running would be 3d performance, should you want to run games in the VM. And, of course, it would be worth comparing all this to OpenBox, the other free VM out there. But with performance so good in VMware Player, I can't work up the motivation!

              Finally, what are the resources consumed? Disk space is roughly one-to-one with the VM, since the disk image itself expands as you use more of the allocated space. There is also overhead for RAM hibernation, etc, but nothing very surprising. A bare install of XP + chrome took just under 4gb. RAM use is about 256MB above what you allocate to the VM (ie about 768MB on the host OS for 512MB given over to the VM).

              Postscript: I did not try out the VM 2 HOST connectivity (shared files, clipboard, etc). It sounds like these are well supported, from what little I've read though.

              Wednesday, December 29, 2010

              Games for Netbooks: FreeCiv

              Netbooks are great for trips, but too limited to play most modern games. Lots of great games are playable, however, if you are willing to look a little further back in time. Today I discuss FreeCiv, an open source Civilization II+ clone, which is perfect for Netbook play.

              FreeCiv is a turn-based strategy game that plays a bit like a cross between Sim City and a wargame. Starting from a single city, you build up a large empire, while researching the necessary technology for fast expansion or powerful armies, or whatever suits you strategy. Towards the middle and end of the game empire building takes a back seat to fighting your opponents, trying to find the right combination of units and terrain to take their cities by force.

              The game seems very hard when you first start: in my first 3 games I couldn't win against the novice AI in the tutorial mode, even after 10+ hours of trying! This highlights one big issue with the game: it's pretty easy to pick up and mess around with the empire building, but really hard to master anything beyond that. The in-game tutorial get's you started, but leaves way to much unstated for any hope of being able to win against even a most novice computer AI. More detailed web-based tutorials fill in the gaps, but even then mysteries remain, such as how to take over even moderately defended cities.

              As it turns out, this is because there are a couple rather arbitrary game features which are critical to success, but are rather non-intuitive. One is to switch your mode of government to a republic as soon as possible, (perhaps researching ships first), and second is to incite 'celebration/rapture' once you have size 3+ cities, because this causes them to grow every two turns, independent of the amount of stored grain. That will grow your empire in a hurry, faster than anything else you can possibly do. Two unit types are also very important to military success: ironsides, because they allow you to rule the seas, and marines, combined with transports because marines can attack from a transport, making them very effective against coastal cities. Being first to get to these unit types seems to decide the game, more or less. Finally, although the tutorial suggests that you start building a military fairly early, in my experience (at least against the AI) it's better to focus on expansion until you first meet the other players. Figuring all this out takes a lot of reading of the manual, as it's rather non-obvious what's going on, in game.

              Once I mastered these techniques the AIs in the game are all quite easy to beat, though it still takes quite a while to finish a game (3-5 hours). So it seems like the game doesn't have that much long-term appeal, at least against the AI, though there are lots of game rule tweaks you could try out if you like variety. More promissing is the large online community (including play by email) which means you could play against much more challenging opponents where deeper strategy would come into play.  Plus, since it's open source, new versions are coming along all the time. So if you are into turn based play, and like playing online, this might well be worth your time.

              Sunday, November 7, 2010

              What is the best web browser for Notebooks?

              Lots of ink (bits?) have been spilled over the question of what web browser is best. I'd hazard that in most cases it's personal taste. For Netbooks, however, with their extremely limited screen size, I think there is an objective case to be made that Chrome is the best. Consider the side-by-size screenshots of FireFox, Opera, and Chrome, below (maximize this window in order to be able to see the full width of the picture).
              Assuming you use Tabs, Firefox shows the smallest amount of the page. Opera is a significant step forward, but Chrome is the clear winner. Note at right, I've marked the lines where the other browsers cut off with FF and O, respectively. This is assuming that you do something with the start menu (auto hide, or locate it on the side of your screen) so that all 600 vertical pixels are available for the browser.  If not, Chrome's relative advantage will be even bigger. On the flip side, I've adjusted WinXP's title bars to be smaller than normal, which increases the usable area in FireFox and Opera, but has no influence on Chrome's custom title bar.

              Note that I didn't include IE 8. It shows about 4 vertical pixels more than Firefox. That is, it's not a contender. To be fair to Firefox, you can hide the status bar, at the cost of knowing where your links are taking you, and other useful information, and you can always work in non-tabbed mode, thus making it competitive with Opera. Opera and Chrome have no such modes. Chrome, at least, however, puts the tabs where other browsers have the title bar and menus, which are mostly dead space.

              It's worth noting that all 3 browsers have a full-screen mode, which is worth using if you are spending a lot of time on  a single web page, but I find myself switching pages too often for that to be very user-friendly.

              One other factor to consider is that Opera has a "turbo" mode, which connects to the web via a proxy server that compresses webpages by about half. If you tend to frequent locations with limited or slow connectivity, this feature may well tip the advantage over to Opera.

              How to install Windows XP on a Netbook (use a flash drive) - a method that actually works!

              Summary: simple, industry standard tools can install WinXP onto a Netbook without a CD.

              WinXP was designed to be installed off of a CD, but Netbooks, more or less by definition, do not have a CD drive. The solution is to put the install files on a thumb drive, but it's much more complex than it sounds. There is a wealth of info on the internet with various suggestions of how to do this, and I've tried them all. Almost all fail. Shameful! In particular, don't be tempted by unetbootin (only works with Linux!), Microsoft's ISO to USB/DVD tool (only works with Win7), or trying to install from a DOS boot disk. In addition, there are various scripts around which patch your current WinXP CD in various ways to make it bootable off of a flash drive. I can't say I'm super comfortable with that (just how well tested are these scripts, anyway?), plus at least one script included a tool that was marked as having a Trojan in it. Surely there must a be a way using well-known, well-trusted tools? Yes. The major tools used here are BartPE, and the Windows install program itself, winnt32.exe. The whole process is pretty simple, assuming that you don't need to partition. No links to the software you need are included, since it's usually easier to find the most up to date website for each tool with google.

              Summary: Make a thumb drive that can boot a stripped-down windows (with BartPE) and then use that to start the WindowsXP install program, instructing it to copy all of the necessary files to your hard drive, which are then automatically fashioned into a working WinXP installation on your next reboot.

              1. does your drive need to be re-partitioned? I had Linux on my drive, so the answer was yes, unfortunately. This was a pain. If you are just wiping an old Windows install, you can skip this step. I used the HPUSBDisk.exe program to write Win98 DOS bootdisk to a thumb drive, and updated the FDISK.exe to use freedos's FDISK.exe (in order to be able to work with >128GB partitions). If you don't have a 3.5" floppy drive on your desktop, you can use vfd (virtual floppy driver) to mount the disk image. Boot your netbook off the flash drive, type fdisk, and follow the prompts. You just need one giant partition. NOTE: In theory you could do this with BartPE, but for some reason it's not possible to start diskpart when BartPE is running from flash.
              2. Build a BartPE image. BartPE is a tool that makes a bootable CD that runs a very light-weight WindowsXP, created from your WinXP install CD. Just run the PE Builder and use all the defaults, except instead of burning a CD or an ISO, just have it output to a directory on your computer.
              3. Write BartPE to your flash drive with PEtoUSB. The program is pretty self-explanatory. Make sure you check "enable file copy".  
              4. Copy the I386 folder from your Windows install CD to the thumb drive.
              5. Boot BartPE on your netbook.
              6. Format the netbook's hard drive. Start a command prompt, and type format c: /fs:ntfs /q (the /q makes it faster, if you don't need to verify your HD for errors, leave it off).
              7. "Install" a complete Windows Install onto your hard drive. Rather than installing windows directly we tell the installation to copy itself to the hard drive. Start a cmd prompt, and type:
                winnt32.exe /syspart:C: /tempdrive:C: /makelocalsource
                (note: there are spaces before each slash).
              8. Reboot without the flash drive. Installation will start automatically.
              9. Unless it doesn't. For some reason winnt32 didn't write a new MBR to my hard drive, so it tried to boot my now non-existent Linux install. Fix this using the free MBRWizard, which you can copy to your BartPE drive, and then run from the cmd prompt. You want the /repair=1 option.
              That's it. It might seem like a lot of steps, but really it's all quite simple and doesn't take much fussing around.  Certainly, it's simpler than many of the other approaches I've seen online. Plus, it actually works. I have a WinXP SP3 install on my Lenovo S10-3 to prove it.

              Thursday, April 29, 2010

              MSI 770-C45 AM3 motherboard review summary

              A good AMD motherboard should have at least  the following features: 4 DIMM slots and an AM3 socket. This MSI 770-C45 motherboard meets those requirements. Other notable specs:

              6 SATA, 0 eSATA.
              2 PS/2 port
              1 COM port
              6 USB
              No onboard video.
              6-core CPU support.
              NO Core unlocking.
              No floppy connector. 

              There aren't any mainstream reviews of this board.

              This blogger has a short post for the PRO version which doesn't say much more than you can learn from reading the specs.Note: I'm discussing the non-PRO version here, which has 1 more SATA, one less eSATA, and no crossfire support.

              Trusted Reviews - doesn't say much more than reading the specs will tell you.

              Newegg has 102 customer reviews. The following negative comments were noted:

              • 12 DOA
              • 7 people had stability problems
              • 4 failed fail in the first couple months
              • 2 people said the manual was unreadable/useless. 
              • 1 person said the on-board audio quality was "terrible"
              The NewEgg reviews are quite negative. I would avoid this board, as it doesn't seem to offer much over more highly rated boards that cost only $10 more. 

              Monday, April 26, 2010

              ASUS M4A77TD AM3 770 ATX AMD Motherboard review summary

              A good AMD motherboard should have at least  the following features: 4 DIMM slots and an AM3 socket. This ASUS M4A77TD motherboard meets those requirements. Other notable specs:

              6 SATA, 0 eSATA.
              1 PS/2 port
              1 COM port
              6 USB
              No onboard video.
              Express Gate - Instant on Linux distro.
              Turbo Key (a blast from the past!) use the power button to cycle over-clocking features on or off.
              6-core CPU support.
              Core unlocking.

              There aren't any mainstream reviews of this board.

              This blogger has a short post for the PRO version which doesn't say much more than you can learn from reading the specs.Note: I'm discussing the non-PRO version here, which has 1 more SATA, one less eSATA, and no crossfire support.

              Newegg has 103 customer reviews.

              • 3 people flat out couldn't get it to work at all;
              • 1 had problems getting windows installed
              • 1 had stability problems 
              • 1 had a failure within first week of use. 
              • 3 people complained about the sound card, but didn't explain why (not Linux users). 2 more said Linux support for the sound card was difficult - they had to make sure they used the latest ALSA drivers. 
              • several people marked their reviews down an 'egg' because it supports legacy ports (COM/PS2, parallel). What idiots. This highlights the problem with trusting newegg reviews. 
              Postscript: I decided to buy the m4a77TD, and have set up the m4a77td blog, with a full review and discussion of  various issues, etc.

                Email me


                Email *

                Message *