Jan 31
SSD Research
posted by: Player0 in computering on 01 31st, 2009 | | No Comments »

It’s just not the right time to buy SSDs right now.  If you’re an early adopter or have money to burn than have at it.  There are a few reasons for this.  First off, the technology costs are going to come down dramatically.  These drives should end up being much cheaper to produce than standard mechanical hard drives.  They’ll probably follow a curve similar to Moore’s Law.

The software isn’t there just yet either.  Windows can have problem installing on SSDs.  Particularly the cheaper ones with MLC technology.  The SLC ones have better write performance and longevity but less capacity and huge price tags.  The write times are just terrible and can cause the OS to lock up now and again.  Better software and caching options will fix these issues.

I don’t need epic performance on my laptop.  The reliability would be nice but not $500 nice.  But in the spirit of getting GOOD performance I did order a couple of these Western Digital 7200RPM 16m cache drives.  This should give me disk performance comparible to normal workstations and for a much more affordable cost.

SSDs will become the thing to do as soon as they become mainstream and the costs drop significantly.  This new laptop may see them eventually.

Jan 30
First Look: Alienware m17
posted by: Player0 in computering, reviews on 01 30th, 2009 | | 2 Comments »

It’s big and heavy and uncomfortable on my lap.  But that’s the sacrifice I made for the luxurious 17″ screen.  Anyway, here’s a list of what I think so far.

The machine came with a loose CrossFireX cable.  The first thing I did when the laptop arrived was to install Windows XP.  I just couldn’t get CrossFire working in XP so I assumed it was a driver issue.  Going back to Vista Home didn’t help.  I unscrewed the bottom panel and found the loose connector.  Snugging it back up seemed to make it work just fine.

It was probably rushed together but the good news is that Alienware shipped it to me very fast.  Fedex delayed shipment a bit but that’s not Alienware’s fault.  I think they were more than a week ahead of their estimated shipdate of 1/30.

Vista was crashy the moment I got it.  It could have been the loose CrossFireX cable.  Or it could have been the default software install which seemed sparse for the money spent.  I didn’t install most of that back on my Vista redo.

I’m not a fan of the keyboard layout.  I use Home and End a lot and these keys are only available on the numeric keypad.  I routinely hit keys on the numpad when hitting the backspace key because there isn’t any break between the numpad and they right of the normal keyboard.  The main keyboard and touchpad are offset to the left which actually isn’t so comfortable for me.  The unexpected depth of the laptop makes typing on this machine slightly more taxing as I have to reach.

I really love the fingerprint scanner.  It’s a modern feature I haven’t gotten to try before.  I wish I had it on all my PCs.

The 1920×1200 screen in a 17″ footprint is particularly tiny.  Color rendition isn’t spectacular on this screen.  The backlight is quite spotty.  I definitely wanted the extra screen real estate but unfortunately I feel like I’m squinting and straining to see it.

The touchpad has a texture which I’m not used to.  It feels a little strange on my fingers.  Is this a common thing on notebooks now?  I’m used to them being perfectly smooth.

WoW looks fantastic on the screen.  Shitty LCDs can give a lot of extra color saturation to games and WoW is colorful enough to benefit from it.  At 1920×1200 with no AA I’m getting about 20FPS in Northrend.  At 1600×1200 on my 8800 Ultra I get 45FPS with 2xAA enabled.  I think I could get a little better out of this on XP.  I’ve heard a rumor that ATI drivers don’t do CrossFire so well in WoW yet.

I’m getting 10881 in 3dMark06 in this configuration.  In XP with only one ATI card running I got 8896.  My record on the 8800 Ultra is 16433.  I would love to see what this laptop can do in XP with CrossFireX working.  These numbers are really respectable for what can be considered a ‘cheap’ gaming laptop.   I suspect there are overclocking options.

I can’t wait to get RAID0 on this laptop.  The 7200RPM 160G drive is still a bit slow and I think the laptop could feel much better with a better drive system.  I’m considering a second 160G drive or possibly a pair of SSD drives.  I need to do some research in to those though so I get the proper type.  Apparently the wrong SSD can cause OS halting now and then.  That’d drive me insane.

I can’t wait to get a decent cooler either!  I’m thinking about 4G of RAM which would only benefit me if I went to a 64 bit OS.  But 64 bit Vista is quite unstable and I have enough driver problems with the laptop.  With two 512m video cards and a 32 bit OS I would likely get 2.5G or less of available RAM.  It’s possible that faster RAM would be a benefit.  It’s 533MHz 7-7-7-20, Elpida brand PC3-8500F.  FSB is 1066MHz.  Chipset is PM45.  Anyway, it looks like there aren’t actually any faster options available.  And 4G of RAM is looking like a $160 upgrade.  So.  Guess RAM is out.

Jan 26
Rescinded!
posted by: Player0 in cruft on 01 26th, 2009 | | No Comments »

It took several nasty emails to LayeredTech to get them to reverse their ridiculous charges.  But they finally gave and credited my account.  I still really beleive that this policy of theirs only exists to grab an extra buck from their more casual customers.  The one off guys like me who don’t spend a lot of money there and maybe don’t pay as much attention as some other companies.  Or, maybe they’re just used to companies saying ‘aww fuck it’ and paying them that extra last month.

I wouldn’t be as sensetive to this if I didn’t work for that certain ISP in Buffalo, NY (LocalNet) that took PRIDE in getting a few extra payments out of their customers who just wanted to cancel.  Some people will just make 2-3 extra payments if they’re not paying attention or don’t want to wait 60 minutes on hold.  Companies know this and take advantage of it.  They ‘love’ autopay accounts.

Which is why I avoid them like the plague.

If you call these companies out and put the time in to it, they always seem to back down and do the right thing.  Threaten to go to the BBB and State Department of Commerce and they always seem to listen a little harder.  NY state used to really do a good job looking in to these things for the consumer and I had many a utility bill adjusted with their help.  Be an educated consumer, help us all out.  Never allowed yourself to be taken advantage of.

This is the lifeblood of those TV informercials and Made for TV products.  It’s the same principle that allows commercial banks to rape consumers with low balances by charging all sorts of NSF or Negative Balance fees.  The moment you allow someone else to control your money is the same moment that you’re at a disadvantage.

We really need laws in place to protect consumers with firm cancelation dates.  If a consumer says that they don’t want a service TODAY then the billing should stop TODAY if there isn’t some term contract in place.  It shouldn’t be up to the company to decide just when the customer is allowed to cancel their services.

Jan 22
The Thanks You Get…
posted by: Player0 in reviews on 01 22nd, 2009 | | No Comments »

Although I do beleive that any publicity is good publicity, I want to give some bad publicity to LayeredTech.  I just wanted to cancel my account today.  I have spent the past week or so migrating my websites over to Amazon’s EC2 service.  I knew today was the last day I had on my old server so I made sure everything was off, cleaned up all sensetive data, and went to cancel the server.

Without so much as a blink, LayeredTech gets back to me saying that since I didn’t cancel two days ago, two days before my monthly billing ‘due date’, that they are going to charge me for services next month.  They must have been through this many times before since right away they’re telling me how I will be going to collections even in their form mails.  They asked me if I would like to keep the server going until the end of February anyway since I’m paying no matter what.

I said to cancel it right away.  They seemed to comply.

And now they’re going to charge me for one month of service that I’ll never receive.  They point to their Terms of Service page as justification of some sort of contract for service.

Somehow it just doesn’t seem legal.  If I break a lease to an apartment and the landlords rent that apartment to someone else a week later, I’m only resposible for that week of rent missed.  If I cancel a phone bill or cable bill, I’m only charged for the days of service I’ve used.

I never exactly signed a contract with these people.  And for all I know, their terms of service has changed radically since I originally had rented my server there.  But this is the thanks I get for being a paying customer of theirs for a couple years.  I never missed a payment and I have at this time PAID for all the service I’ve ever received from them.

And now they’re skirting around firing ‘collections’ threats by following shady business practices.  It makes great economic sense to charge people for services they never provide.  I’ve watched enough Judge Judy to know that isn’t going to fly in court.

I’m not going to pay them $151.  They really just aren’t ever going to get it from me.  If it goes on my credit, it will come right off in 5-7 years anyway.  Clearly going to small claims court when they’re in Texas isn’t much of an option.  The fact that there’s no real way to prevent companies from screwing us like this without having to spend WAY more money than it’s worth to prove it in court proves that there is still something kind of wrong with our system.  But that’s really another story.

By the way, even if you don’t like Amazon EC2 hosting, I’ve priced out many other webhosts and there are plenty of competitive companies out there that beat the pants off of LayeredTech on a price versus performance basis.  That’s why I left LayeredTech to begin with.  They’re just too damn expensive.  Even the bigger hosting companies who used to be prohibitively expensive, Rackmount, Serverbeach, etc, offer competitive servers in this price range.

Jan 17
Preview: Alienware m17
posted by: Player0 in computering, reviews on 01 17th, 2009 | | No Comments »

It’s about time I got a new laptop.  My 30th birthday seemed like a good enough excuse.  I wanted one that had some decent gaming capability so I can play Second Life and World of Warcraft on it as well as Grand Theft Auto and other easy to play on the couch PC games.  Something that could hold it’s own at a LAN would also be nice.  Gaming and laptops are still, surprisingly, a bad fit.  Six years ago, I reviewed my first gaming laptop, the Prostar 5694.  It was hot, heavy, had poor battery life and was pretty much non-upgradable.  Not much has changed today.  Buying a laptop you intend to game with really limits your choices quickly since far too few come with the better GPUs.

I got the Alienware m17 with dual ATI 3870 HD cards in CrossFire mode.  It’s an interesting choice since I do usually prefer nVidia.  I recently used an ATI 4850 card in Abi’s desktop and was strongly impressed with it.  This is not the fastest laptop GPU configuration by a long shot.  Alienware’s m17x, a slightly older but slightly better model and certainly more costly model, can be got with dual nVidia 9800m GT GPUs.  Each is significantly faster than the 3870.  But this add on costs $850 and adding even the non-SLI 9800m GT adds $300 to the cost.  Dual 3870s should be faster than a single 9800m GT and was a $250 upgrade for the m17.

I don’t use the term notebook because it implies something about how I’ll be using this machine.  Notebook or desktop-replacement are terms that let people know that you’re not actually intended to use these machines on your lap.  They’re supposed to be used on a desk.  My previous experience with 10 pound gaming behemoths is that they’re really not comfortable in the least anywhere else and I swore I’d never have anything over 6 pounds again.  I lied.

The Dell I have is small, light, and games moderately well with it’s Mobility 9000 GPU.  It plays Second Life, World of Warcraft, and GTA:SA at the lowest settings.  It’s light and doesn’t damage my wrists when picking it up off the floor.  But it’s 14″ 1024×768 screen is inadequate for doing any serious work on.  I have a lot of windows up when I’m programming and I really miss the luxury of large screens.  My decision to go with a large ‘desktop-replacement’ has much more to do with the big gorgeous screen than the gaming prowess.  The 1920×1200 Wide UXGA screen was another $250 upgrade on the m17 but one that was an absolute must for what I do.

I really wanted to go with the Intel T9400 2.53GHz processor with it’s 6m of L2 cache.  But it was another $250 upgrade which just wasn’t in the budget today.  So the T8400 2.26GHz with 3m of L2, the smallest I could get, will have to do.  This is still much faster than anything I currently do work on and more than enough for most games so I’m okay with it.  It’s also something I can possibly upgrade in the future.  I also went with the base 2×1024MB of DDR3.  For Vista 32b (which was forced on me) this really isn’t adequate but I’m going to try to go with Windows XP instead.  It just performs better.  RAM is also one of those things which can always be upgraded later.

Yeah, I did opt for the $25 upgrade for an illuminated keyboard.  Sure it’s pretty, but there’s been lots of times where I’ve used the laptop in the dark and couldn’t see what I was doing.  I guess I’m not much of a touch typist still.  The 160g 8m cache 7200RPM drive I chose was the cheapest as well.  Another easily upgradable option.  I fully intend to roll with a SSD drive as soon as I can afford it.  What I’m not clear on is if there are two HD spots in the machine and if I can enable RAID0 later myself.  The only other upgrade I got was the $25 Intel Ultimate N wifi card.  It would be nice to have N support with out a dongle hanging out of my machine and the rumor on the internet is that internal wireless cards have better range than external ones due to being able to have larger antennas behind the screen.  Don’t know if it’s true or not but $25 isn’t bad for N.

Unfortunately, I couldn’t find a decent Alienware coupon code and they charge $70 for fedex ground shipping.  That seems ludicrous.  I also had to pay sales tax.  So my $1900 purchase became more like $2065.  Yep, it’s the most expensive thing I’ve ever purchased.  You can call it my midlife crisis.  It also means I’m scared shitless over it.  And for good reason.  The $1800 Prostar I had back in 2002?  It died several times and seemed to spend more time in the shop than on my lap.  So I’ve been burned before on laptops.  Alienware actually sold rebadged Prostar notebooks back then so they’re not immune from getting crummy products.  They’re Dell parent company probably won’t help matters much.  But this is the reason I didn’t by some Clevo or Whitebook or Asus or some other  ‘no-name’ machine recommended by many online… I just don’t trust them to last more than a year or two.

For $2000, I want to get five years easy out of the thing :)

Jan 16
The Vortex
posted by: Player0 in computering on 01 16th, 2009 | | No Comments »

Something has been troubling me for many months now.  I currently use an old Iogear USB KVM to switch between my fileserver and my gaming rig.  If I’m on the gaming rig (port 2) and I get up to go to the bathroom, when I come back the KVM will have selected the fileserver (port 1).

At first I thought it was my Vista install since the problem started around the same time.  Then I noticed that if I’m on the fileserver (port 1) and get up to go to the bathroom, the LCD screen blanks out a few times.  I wondered if it was some timing issue, or if I was pressing something weird when I got up, or some cable was loose.

But the cause is weirder than that.  There is a spot in my room about 4 feet back and to the left of where I sit at the desk that when I walk through it the KVM goes insane.  I walk through this spot when I get up to go to the bathroom.  Walking through this spot forces the KVM to select Port 1 if its on Port 2, or causes the screen to wig out if it’s already on Port 1.

This room is also where I have my new wireless router.  I suppose it’s possible that standing in that one spot somehow reflects radio waves back at the KVM in some unusual way.  Or perhaps I block the overhead light and something is sensitive to that.

It’s not Vista because it seems to occur when the gaming rig is off.  The fileserver is always on though.

I’m still planning on buying a new KVM with DVI support.  I just wish they weren’t so expensive.

Jan 15
I fought the trojan but the trojan won…
posted by: Player0 in computering on 01 15th, 2009 | | No Comments »

I have a serious cold going on right now.  Then I was kicked while I was down.  My laptop caught a virus somehow.  I can’t really tell you how I got it except to say that I haven’t downloaded or installed anything on it in months.  It seemed to hit me while browsing Failblog.org last night.  I was watching movies and suddenly FireFox 3 started to grind to a halt.  I used taskman to kill it.  When I restarted FireFox, AVG popped up with some virus warnings and then I started getting a bunch of popups.  The HD was being pinged hard and I noticed weird things in taskman like cmd.exe eating up 100% of my limited CPU.  I did what I always do in these cases: I held the power button down until the thing shut off.

I stand by this decision even though, in this case, it was seriously bad for the hard drive.  Windows would no longer boot and I couldn’t use my 2.5″ USB drive caddy to access the drive either.  I was able to run chkdsk /P with the Windows XP recovery console which fixed the file system up enough to be read from again.  Back in the drive caddy and AVG was able to scan and fix the following viruses/trojans:

SHeur2.KXI
SHeur2.KZU
Win32/Heur
Patched_c.AGE
Downloader.Agent.ASOS
Generic12.AVES

I’m running Avast scanner against the drive now to see if it finds anything else.  I also got Malwarebytes Anti-Malware as well.  All free tools of course.  Hopefully it’ll clean the drive off.

As for the drive corruption itself, i just don’t know.  The thing seems to be working okay again.  It’s a Toshiba 40G 4200RPM drive so nothing special and 4-5 years old already.  I put another 30G Hitachi drive in to the laptop for now and have a fresh XP install on there.  Hopefully the corruption was software based and there aren’t any serious mechanical problems.  If the old XP install isn’t completely pooched I might just go back to the way it was and pray everything was cleaned up.

Sometimes starting fresh isn’t a bad idea.  Especially since I have no idea how I got the thing.  There are some reports of infections coming from youtube videos and other flash based sources.  Even from failblog.org where I got this one.  I don’t seem to have that particular virus though and information is scarce.  It’s horrifying to think that might actually be how I got infected though.

I usually have regular virus scans off on my laptop since they’re extremely slow but I do run HijackThis once in a while if I suspect something is up.  I think it’s unlikely that this virus was sitting there already on the machine.  If I didn’t notice something strange going on, I assuredly would have noticed the slowdown, or redirects, or adware, or something.

Scanned every other PC in the house and they’re all clean so at least it didn’t spread.  Another reason to pull the plug ASAP.  I really should consider running in unpriviledged mode.  How come DEP warns me about everything BUT viruses?

Update:

The avast! antivirus software found a few that AVG missed:

Win32.FASEC
Win32.Downloader_BQA
Win32.Trojan_Generic

Jan 12
Project Review: Star Fox 2 Cartridge
posted by: Player0 in gaming, projects on 01 12th, 2009 | | No Comments »

One of the most popular projects I’ve ever done was building Star Fox 2 cartridges for the Super Nintendo.  As a kid I had seen the game in all sorts of magazines and even pre-ordered it.  It was never released though.  So 10 years later I decided to take matters in to my own hands and make my own cartridge.

Several versions of the Star Fox 2 ROMs do exist and people more knowledgable than I have done some minor bug fixes to the prerelease code and translated it in to English.  You can certainly play Star Fox 2 on most SNES emulators these days but the holy grail seems to be playing the ROM on actual hardware.

I wasn’t the first to do this so there is some information out there already.  I won’t go in to the details here but you basically need to burn the SF2 code to an EPROM and solder that ROM on to another donor cartridge such as Yoshi’s Island or Doom.  Something with a Super FX GSU-2 and some SRAM on it.

The soldering isn’t easy.  My first attempt was a total failure.  My second attempt worked but I pulled a trace while trying to overclock the cartridge.  The third cartridge I built works great and I’ve been a lot more gentle with it.  Third time is a charm I guess.

It was a neat little project that needed only a little research and a good 20w soldering iron.  I still get asked, several years later, about the project and if I can build carts for people.  I’m not really interested in doing this because it’s very time consuming and I would have to charge a lot.  But also the cartridges are fragile.

You’ll also notice that my carts, unlike the carts made by others, are built with a 40p socket and are generally bulky and unweildy.  Certainly not like the finished products of others.  This is because I wanted to maintain the ability to change ROMs out.  I may want a debugging ROM one day or a Japanese ROM the next.  Or I may just want to use the cart for any other 1Mbit ROM of my choosing.  So epoxying a permanent cart together isn’t my thing.  I don’t even have a pretty label.  There are better people to ask for this :)

I encourage you to try it yourself if you’re really interested in the hardware anyway.  Honestly, the game runs much faster on SNES9x than it does on real SNES hardware.  The best gameplay you can get is to get a USB to SNES controller adapter for $10 somewhere and play this on your PC.  Many attempts have been made at overclocking SF2 so that it runs better on the SNES.  I haven’t been very successful myself.

Ribbon cable is your friend when trying to deal with surface mount ICs.

Of course it works!  It’s just not very fun… StarFox 64 did it much better.  The open ended concept was way ahead of what the SNES could actually do with it’s pathetic CPU.

Jan 12
Oriented Objects
posted by: Player0 in computering on 01 12th, 2009 | | No Comments »

I bought orientedobject.com for no real reason what so ever.  Perhaps I found it clever at the time.  It will probably end up being in my pile of domains I really never do anything with.  It would be a good programming consulting business name if I were interested in such things.  I guess I could use it as an umbrella entity for my other DBAs.

It kind of makes me think of Second Life where you’d be positioning some object.  I really always loved SL’s use of primitives for object construction.  It’s much easier to wrap your head around than polygons I think.  Even I, with very little artistic ability, was able to build and design some pretty cool little environments there.  I know a few people who make their livings on SL.  It mostly just ended up costing me a lot of money so I stopped playing.  I’m thinking of writing a similar primitive engine though.  Just to play with.

Jan 11
The Price Is Right!
posted by: Player0 in cruft on 01 11th, 2009 | | No Comments »

I love the Monty Hall Problem.  I think it really showcases how much the average human mind (mine at least) can struggle with probability.  The fact that coin flipping is always a 50:50 probability even if you’ve thrown heads 100 times in a row seems completely opposite to what one would expect.  Just like switching your door in the Monty Hall problem increases your odds from 33% to 66%.

I guess the rule to probability is that YOU’RE ALWAYS WRONG.  Unless you’re a genius or took statistics classes.

It made for some interesting conversation on the drive up to NH, anyway.

I see that Paul Robertson has a new video.  It’s not as epic as Kings of Power 4 Billion % but it’s still pretty sick I think.  Mecha Fetus.

Jan 10
Heredoc, Sit! Stay!
posted by: Player0 in php on 01 10th, 2009 | | No Comments »

I’m still using Symfony and I find some of it’s philosophy disagreable.  But one of the things that urks me the most is it’s claim that alternate PHP templating syntax, such as if…endif, is a good idea.

Take listing 4-5 for example:

<p>Hello, world!</p>
<?php if ($test): ?>
<p><?php echo time(); ?></p>
<?php endif; ?>

For real? Do you really want to treat every problem the same? Do you really think this is readable?  I take issue with the thought that you always have to nest PHP inside of HTML.  Sometimes it makes sense to do it the other way around.  I would do it this way:

<?php
$time = $test ? time() : ”;

echo <<<TEMPLATE
<p>Hello, world</p>
<p>$time</p>
TEMPLATE;

In this simple example the benefit may not be completely obvious. But this shows a very clear separation of logic and template which most architects seem to ignore, even if you’re using Symfony.

The trick to it is to think of any PHP-rich output as a template and use the heredoc to wrap that output.  You can only include variables and object members in it.  It’s an extra step to store all the local variables needed for the heredoc but the added separation and clarity of this code is far more important.

The html p tag is an interesting choice here.  My code doesn’t do exactly the same thing as the above code because I’m always rendering the second block element.  But that’s really okay!  Leave it there and make sure your CSS is smart enough to not render silly whitespace around empty p tags.

In a more complicated example, $time itself might actually be a whole separate template which you can then tie in to another template and so on and so forth.  This format also lends itself beautifully to object oriented display.

public function output() {
echo <<<TEMPLATE
<p>{$this->time}</p>
TEMPLATE;
}

It’s just a small example but I’ve used it in many application and it really simplifies those times where you need to embed PHP in a template.  Don’t use smarty.  Don’t roll your own templating system.  Just use what PHP gives you.

And never use more than one set of <?php ?> tags to do a PHP conditional I’m begging you.  And on that subject, endif, endforeach, endwhile is ugly.  If we can’t tell what kind of brace you’re closing without you telling us than YOU’RE DOING IT WRONG.

Opinions will vary wildly.  But do give heredoc a chance.  It’s a wildly underrated feature and it really makes dealing with output much easier.

As for Symfony itself well… I’m still making the determination about just how much I like or dislike it as a whole.  I do kind of like Propel but I’m not 100% sure what Symfony itself brings to the table outside of that.  It enforces an MVC model but big whoop.  Any decent PHP programmer would build something in that pattern anyway.  YAML config is nice and all but the implementation is sloppy and it seems to add a lot of function overhead.  Caching the PHP file structure is nice though.  Propel can save a little time but it certainly doesn’t do all the things I’d like it to do.  And I’ve never agreed with abstracting the DB layer from the controller layer unless you ABSOLUTELY need to support multiple database products.  And that’s not common.

Symfony manages to abstract enough of the baseline PHP to make it a learning curve but I can only imagine how much performance this robs from the application.  Yes, I do think you can develop things much faster in this way and I think it does a lot to make PHP a bit Ruby on Rails like.    But I think it’s better geared towards virgin PHP development houses that don’t really have the architecture experience that they should.  I’m all for more people doing things the right way.  But if you already know the right ways than being shoehorned in to a slightly constrictive, buggy, and not well documented framework is a bit of a negative experience.

And it relies too heavily on PEAR to do any of the things I’d really like out of a framework.  Symfony really needs a robust library to back it up.  The kind of thing any old PHP framework has.  XML libaries, unit testing, queing, date manipulation, IP services, etc.  I haven’t used too many frameworks in the past but I know that other PHP frameworks just ‘have more’ tied in to them.

I’m just not sure there’s enough people in the community to really give any PHP framework the attention span it deserves.  Too many differences of opinion I guess.

Jan 10
Oh Neat!
posted by: Player0 in computering on 01 10th, 2009 | | No Comments »

Amazon Web Services added a web interface to EC2! This is something it sorely needed. Configuring an instance from the command line really isn’t what I wanted to be spending my time on. If I wasn’t indisposed for the next several days on a company trip I would totally be getting my new webserver up there.

Jan 2
iPhone Continued…
posted by: Player0 in reviews on 01 2nd, 2009 | | No Comments »

The camera is quite awful.  I tried to use it a lot over the holidays and most pictures come out blurry.  I hate using the button on the screen to take the picture because it seems to make things even blurrier.  If any of the other buttons work to take the picture I don’t know.  There are apps to help take the pictures at ’steady’ times but I’m not sure how well they work yet.  I’m not paying for any apps just yet.  Nor am I really bothering to research these issues on some forum somewhere.  If there are workarounds I’ll be sure to find out from my coworkers on Monday.  They’re the real iPhone experts.

I wish the Google maps application had spoken directions.  It was also a little wrong with it’s directions sometimes.  Especially with two way roads with a barrier down the middle.  The GPS isn’t smart enough to really know which side of those you’re on.  It was *awesome* for the trip though and I’m really glad I bought it.

Battery time dies quickly using apps but is relatively stable for phone calls.  It’s standby time seems quite adequate.  It’s a lot better than my old phone was.  I got a case, some screen protectors, and an overpriced bluetooth earpiece for it.  The speaker phone really isn’t loud enough for hands free car use.

I even paid retail for the Jawbone.  I did so I could get the iPhone case for free from the AT&T store.  Little did I know that I could find the damn thing so much cheaper online.  Didn’t work out in my favor but I didn’t have to wait to get it either.  In the car other people can actually hear me.  I guess the military grade technology is working.  Of course since *I* own it, and it cost $100, that makes it CONSUMER grade but I digress.  On the downside, I really seem to have trouble hearing them.  With the iPhone volume all the way up it’s just barely loud enough in my ear.  The Jawbone does have it’s own volume control, of course, but I’m not sure if it’s controlled directly by the iPhone or if I can make it any louder than the iPhone can.  I really need to review the manual.

I will be extremely happy if I can talk on the phone while stuck for an hour in traffic without having to risk an accident by physically having to hold on to the damn phone.  So far only a loud speaker phone has accommodated that.  And to the safety zealots out there, I do not actually touch buttons on the phone while driving.  I set up the call and I head out.  If there’s any more complicated driving than numbly staring straight ahead than I am paying attention to the road and ignoring my ear.  Just as you’d do with any conversation in the car.

So thumbs on the iPhone so far.  It’s been a painless upgrade and I’ve really made use of it so far.  I think I’ll definitely get my moneys worth out of it.

Jan 2
Theme Fail
posted by: Player0 in cruft on 01 2nd, 2009 | | No Comments »

I just can’t find a theme I like for wordpress.  And I can’t bring myself to custom roll one.  I have a better idea of what I like now at least.  I definitely like black text on white backgrounds.  And I definitely like an article title list on the sidebar somewhere.  And I only want one sidebar.  And I want a theme at least 950px wide.  If you still have an 800×600 screen then you deserve to scroll a little.

But to find such a theme that doesn’t look like ass for some other reason?  Very difficult.

Update: I’ve been hacking this old ‘blue’ theme a bit.  It’s a bit ugly but I did at least get it to do the main things I was hoping it’d do.  Most importantly, I find it a lot easier on the eyes.  No one is ever going to read this blog except me but at least the ability to do so is there.  The other themes were making my eyes bleed.

Jan 2
In Project Review: Video Channel
posted by: Player0 in javascript, php, projects on 01 2nd, 2009 | | No Comments »

I got talking about video in my last post and I couldn’t help but to start thinking about my endeavors with a previous employer.  In fact, it was some of the most interesting work I’ve done for any company.  In 2006, I was working for Synacor out of Buffalo, NY.  They provide web portals for major ISPs so their cable modem customers have an AOL-like experience.  Internet video was already very big with YouTube’s success and AOL’s video channel right around the corner.  Cable companies have access to all sorts of great digital media but don’t really have an avenue for delivering that to internet customers.  I was brought on to the video project to take the existing product and bring it in to modern times.

The resulting product can be seen here.  As of this writing, not much has changed from my original designs even though they are several years old.  Like all my internet creations I’m sure it will morph in to something unrecognizable soon enough.  And like most of my internet creations, management stepped in to make several surface level decisions about layout and advertising.

I should be clear about what I did on this project because I want to give credit where credit is due.  I didn’t write the framework from the ground up.  I built around what was originally there.  I made many changes to the database schema apart from the word search index which I wasn’t scheduled to get to just yet.  I beleive I rewrote most of the PHP and created all the APIs and JS from scratch.  I had nothing to do with the design of the page since we had a design team but I did do the HTML and CSS.  I did a little AS programming for the Flash Media Player but left much of that up to their talented flash developer.  And I left the company before totally completing the new version of the video product.  Integration with the flash player was not complete and there were a couple other minor features that didn’t work yet.  Mostly this revolved around tying the video product in to the Synacor’s various incomplete CMS products.

With that said, and although the credit was stolen from me, I architechted the overall product.  From getting videos on digibeta tapes for from FTP uploads, transcoding them, and feeding them in to our front end database, to ajax-ifyign the user interface with an event listener model so the page layout was modular to speccing out exactly how the flash media player should integrate with the XML for a content rich experience.  And the neat feature of having the video player pop off of the page and allow you to drag it around and change aspec ratios… that was my idea too.  I designed it to function like a stand alone media player application.  The player window would load a Flash or a Windows Media player object and make this as transparent as possible to the user.  And you’d have all the basic controls you’d expect from a standalone media player.  It’s not amazing but it’s a pretty neat user experience and not one I’ve really seen anywhere else.

The modular aspect of this page is the most underrated part.  This video product is meant to be used for a variety of customers and each wanting customizable features.  If you want a horizontal and/or a verticle channel bar, you can.  If you want multiple video indexes or just one, you can.  If you want to spotlight 10 videos or 1 video you can.  Templates control the whole thing and you simply enable modules from the CMS system.  Each module on the page, the channel bar, the video listing index, the spotlights, the channel specific ads, etc all listen to the states of the other objects that happened to be published on the page and DTRT accordingly.  The page still uses the sheep.js event handler I wrote.  And I’m singularly impressed with how fast all the ajax is on the page.  There is a lot of background preloading and caching and pagination happens on the client side.  A weird arrangement and potentially risky but the datasets are constrained and seem to be lightweight.  Perhaps they are cached and/or gzipped at this point.  The ajax is serving raw HTML as well which is a bit strange.

And I’d do things very differently these days.  I’m glad to say I’ve come a long way in the past few years.  If I could do things differently I’d have fought harder for Prototype/jQuery/YUI or some other JS standard.  I would have used JS’s event model instead of using my own.  I would have used libary JS effects from script.aculo.us or something.  I certainly would have used JSON with the ajax requests.  I certainly would have tried to get memcached working and I certainly would have tried to get them on Akamai or some other decent static content delivery system.  I still would have suffered trying to integrate this thing in to the custom CMS products though :)  Most importantly, I probably could have done this project in a quarter of the time by applying those techniques.

It was really fun work and I miss doing it.  The company just wasn’t a great fit for me at the time though.  They were waterfall method which meant I was writing a lot of useless documentation, releases were months apart and I dealt with more red tape than programming.  I could have gone at 10x the pace.  I did not get along well with my product manager who was hired as a ‘hotshot’ from AOL.  She played the game well.  She rested on the laurels of others and functioned solely as funnel for information.  A one way funnel.  My ideas became her ideas.  My timelines became hers.  My specs became hers.  My success became hers.  And when the video product was launched and there was a party, kudos were given to several management types by name.  And I, having done at least 80% of the projects work, received his thanks in the way of ‘…and everyone else who made this possible’.  An architecht who did nothing more than review my spec for about 5 minutes was thanked by name for his incredible help on the project.

This product manager left not too long after I left.  She wasn’t going to deliver much without me.  Always end on a high note I guess.  I’ve never had such a problem with a company before or since.  I honestly think I was cursed at Synacor for some reason.  I always felt so underestimated.  I always succeed very well with other companies but I just couldn’t make it work there.  I think first impressions are everything and I didn’t give a very good first impression there when I started I guess.  It had been a while since I worked for a larger company and I was a bit intimidated and I had problems communicating with the others because I was behind on the jargon.  That was rectified 6 months in but I think the stigmata stayed with me for the rest of my two years there.  And beleive me I tried.  I *always* try.  My complete and utter lack of energy to move in the AM makes it looks sometimes like I don’t try but I really do try to prove and better myself every single day.  As long as companies don’t mind me coming in at 10:15am, and staying later of course, I’ll continue to do just fine :)

Jan 2

I still haven’t set up an Amazon S3 account yet.  And my Amazon EC2 account is also sitting in limbo.  If you’re keeping track this might be the fourth month I’ve been sitting on it.  And nope, I still haven’t really backed up any of my important data to a remote data center yet either.  The bug just hasn’t bit me yet.

The stomach bug has though.

Anyway, I’m much more interested in other persuits right now.  I got a cheapo Sony camcorder for the holidays.  I don’t have the model handy at the moment but I picked it up at K-Mart for about $250.  Not cheap by any means but certainly a low end model.  The key feature is that it has i.Link output.  This is ideal for video capture to the PC.  I’ve been doing video imports for years over S-Video or other analog means since my VHS-C camcorder and VHS VCR are from the 90s, a time before digital even existed.  Well, maybe a little…

In fact my new camcorder uses a digital tape technology from the 90s, MiniDV.  It feels strange to be buying a new camcorder that still uses tapes and is only standard resolution.  No HD, hardware H.264, straight to mini DVD-R here.  Tape based camcorders actually have a lot of mechanical features that can go very broken very quickly.  My old JVC VHC-C never had a problem though it was $600 back in 1998 so it wasn’t a cheapo one either.  MiniDV tapes are very cheap and you can pretty much shoot one and store it as long as you want in a box somewhere until you’re ready to encode it.  It’s solid technology and I never really need to worry about my digital stream being compressed with some lossy algorythm just to make it fit on a limited size flash card.

It’s not that flash is bad but rather that it’s better suited for the $600 HD camcorder models that can do proper on the fly encoding and compression.

Unfortunately since my camcorder is only concerned about raw digital, I need some additional equipment for my PC to tackle it properly.  My choice is the Canopus ADVC110 video converter.  I don’t actually own it yet but I did select and use this before when I needed to do digibeta conversion when I worked for Synacor.  I’ll also need to buy a standard firewire card since my media PC doesn’t seem to have a slot, although I suspect one of my Soundblaster cards has one.

The Canopus, apart from having a funny name, makes grabbing i.Link video super easy and I know it works great with Sony Vegas which is what I prefer for editing.  It also provides analog inputs which means I can use it to import my older VHC-C tapes as well as other VHS tapes or even analog signals from video game systems and the like.  Yes, for the cost of the Canopus and my shitty MiniDV camcorder I could have got a HD camcorder which would have done all the encoding work for me.  But I still needed a good analog capture anyway.  I’ll get a better HD camcorder once I do a little more research in to what I really want one to do anyway.

I knew a lot about video codecs and compression and standards a few years ago when my day job required it.  For whatever reason a lot of that knowledge has leaked out of my brain.  A lot has changed as well.  There are a lot of new formats out there, especially ones based on MPEG-4, and others for mobile applications like 3G phones are adding to the complication.  It’s a moving target and really I find it quite fascinating.