December 27, 2014

It’s the holidays, again, already!

Filed under: General — spiro @ 2:17 pm

Hi everybody!

Now that 2014 is almost history, It’s about time to realize that I don’t really have much time and interest for writing a blog. With the abundance of content on the internet, it’s hard to realize that maintaining a good blog does take lots of time and effort, which I’d rather spend on other stuff.

The thing is I tend to write draft posts, but for whatever reason, I don’t really come back to them, and by the time i’d think about publishing them, the topic isn’t relevant anymore. I have to say this experience has given me much more appreciation for what bloggers contribute to humanity’s body of knowledge, and I encourage you to do the same: don’t get hung up on things like spelling mistakes, grammar, inaccuracies, etc. Everybody’s experience is invaluable.

But don’t worry, i’m not closing the blog or anything just yet. I’ve closed comments due to excessive amounts of spam in the moderation queue, until I figure out how to link posts and comments with Facebook or something similar. As far as posts go, I aim on keeping up the average of 1-2 posts per year.

With that, I wish you all happy, healthy prosperous new year!


April 1, 2014

Moving Violations in Washington State

Filed under: General — spiro @ 7:25 pm

As a driving enthusiast, I often get questioned by friends and coworkers about whether or not it is worth contesting traffic tickets. Of course this question is better directed to an attorney, but the general strategy is as follows: whether or not you think you are guilty or not, you contest traffic tickets because if convicted, those show up on your driving record, which then goes to your insurance company and they jack up your rates, in addition to the fine that you have to pay. If the chances of contesting a ticket are good, then it makes much more sense to hire an attorney even if it costs more than the fine, because the attorney fee is usually much less than the total insurance increase over 3 years from a ticket.

However, non-moving violations, including all violations issued by automated cameras, are not reported to insurance, so in those cases, I would just pay the fine and move on, although some courts are pretty good with reducing the fine in a mitigation hearing.

Here’s a list of moving violations:

  • Driving while under the influence of intoxicating liquor or any drug as defined by RCW 46.61.502;
  • Physical control of a motor vehicle while under the influence of intoxicating liquor or any drug, as defined by RCW 46.61.504;
  • Vehicular homicide, as defined by RCW 46.61.520;
  • Vehicular assault, as defined by RCW 46.61.522;
  • Reckless driving, as defined by RCW 46.61.500;
  • Racing, as defined by RCW 46.61.530;
  • Embracing, as defined by RCW 46.61.665;
  • Hit and run (injury, death, striking the body of a deceased person, or occupied vehicle), as defined by RCW 46.52.020;
  • Attempting to elude a police vehicle, as defined by RCW 46.61.024;
  • Driving while driving privilege suspended or revoked, as defined by RCW 46.20.342, 46.20.345, or 46.20.394;
  • Reckless endangerment of roadway workers, as defined in RCW 46.61.527;
  • Driver under twenty-one driving or being in physical control of a motor vehicle after consuming alcohol, as defined in RCW 46.61.503;
  • Driving or in physical control of commercial motor vehicle while having alcohol in system, as defined in RCW 46.25.110;
  • Open container violation (driver), as defined by RCW 46.61.519;
  • Negligent driving in the first degree, as defined by RCW 46.61.5249;
  • Negligent driving in the second degree, as defined by RCW 46.61.525 or 46.61.526;
  • Hit and run (unattended vehicle or property), as defined by RCW 46.52.010;
  • Disobey road sign, as defined by RCW 46.61.050, 46.61.070, or 46.61.450;
  • Disobey signalman, officer, or firefighter, as defined by RCW 46.61.015, 46.61.020, 46.61.021, or 46.61.022;
  • Disobey school patrol, as defined by RCW 46.61.385;
  • Speed too fast for conditions, as defined by RCW 46.61.400;
  • Speed in excess of maximum limit, as defined by RCW 46.61.400 or 46.61.460;
  • Speeding in a school zone, as defined by RCW 46.61.440;
  • Failure to stop, as defined by RCW 46.61.055, 46.61.065, 46.61.195, 46.61.200, 46.61.340, 46.61.345, 46.61.350, 46.61.365, 46.61.370, or 46.61.375;
  • Failure to yield right of way, as defined by RCW 46.61.180, 46.61.183, 46.61.185, 46.61.190, 46.61.202, 46.61.205, 46.61.210, 46.61.212, 46.61.215, 46.61.220, 46.61.235, 46.61.245, 46.61.261, 46.61.300, or 46.61.427;
  • Failure to keep to the right, as defined by RCW 46.61.100 or 46.61.105;
  • Wrong way on a one-way street or rotary traffic island, as defined by RCW 46.61.135;
  • Improper lane change or travel, as defined by RCW 46.61.140;
  • Straddling or driving over centerline, as defined by RCW 46.61.140;
  • Driving on the wrong side of the road, as defined by RCW 46.61.150;
  • Crossing divider, as defined by RCW 46.61.150;
  • Improper entrance to or exit from freeway, as defined by RCW 46.61.155;
  • Violating restrictions on a limited access highway while driving a motor vehicle, as defined by RCW 46.61.160;
  • High occupancy vehicle lane violation, as defined by RCW 46.61.165;
  • Improper overtaking or passing, as defined by RCW 46.61.110, 46.61.115, 46.61.120, 46.61.125, 46.61.130, or 46.61.428;
  • Passing stopped school bus, as defined by RCW 46.61.370;
  • Passing stopped private carrier bus, as defined by RCW 46.61.375;
  • Following too closely, as defined by RCW 46.61.145;
  • Following fire apparatus, as defined by RCW 46.61.635;
  • Crossing fire hose, as defined by RCW 46.61.640;
  • Driving on sidewalk, as defined by RCW 46.61.606;
  • Driving through safety zone, as defined by RCW 46.61.260;
  • Driving with wheels off roadway, as defined by RCW 46.61.670;
  • Impeding traffic, as defined by RCW 46.61.100, 46.61.425, or 46.20.427;
  • Improper turn, as defined by RCW 46.61.290;
  • Prohibited turn, as defined by RCW 46.61.295;
  • Failure to signal or improper signal, as defined by RCW 46.61.305, 46.61.310, or 46.61.315;
  • Improper backing, as defined by RCW 46.61.605;
  • Unlawful operation of motorcycle on roadway, as defined by RCW 46.61.608, 46.61.612, or 46.61.614;
  • Reckless endangerment, as defined by RCW 9A.36.050;
  • Failure to maintain control, as defined by RCW 46.61.445;
  • Violation of license restriction(s), as defined by RCW 46.20.041 or 46.20.740;
  • Violation of instruction permit restrictions, as defined by RCW 46.20.055;
  • Violation of out-of-service order, as defined by RCW 46.25.090;
  • Obstructed vision or control, as defined by RCW 46.61.615;
  • Carrying persons or animals outside of vehicle, as defined by RCW 46.61.660;
  • Carrying passenger in towed vehicle, as defined by RCW 46.61.625;
  • Coasting on downgrade, as defined by RCW 46.61.630;
  • Violation of child restraint requirements, as defined by RCW 46.61.687;
  • Carrying child under the age of five years old on motorcycle, as defined by RCW 46.37.530;
  • Carrying passenger improperly on motorcycle, as defined by RCW 46.61.610;
  • No helmet, goggles, mirrors, windshield or face shield, as defined by RCW 46.37.530;
  • Operating moped on freeway or sidewalk, as defined by RCW 46.61.710;
  • Driving without lights, as defined by RCW 46.37.020;
  • Failure to dim lights, as defined by RCW 46.37.230;
  • Operating motorcycle without lights, as defined by RCW 46.37.522;
  • No lamp, reflector, or flag on extended load, as defined by RCW 46.37.140;
  • Wearing earphones or viewing television in vehicle, as defined by RCW 46.37.480;
  • Failure to secure load, as defined by RCW 46.37.490;
  • Spilling load, as defined by RCW 46.61.655;
  • Improper towing, as defined by RCW 46.44.070;
  • Using a hand-held mobile telephone while driving a commercial motor vehicle, as defined by RCW 46.61.667 (1)(b); and
  • Texting while driving a commercial motor vehicle, as defined by RCW 46.61.668 (1)(b).

The official list is at

As you can see, HOV violations ARE moving violations and will go on insurance record, but driving (a non-commercial vehicle) while using a phone is not.

Disclaimer: I am not a lawyer, just a geek :)


October 31, 2012

Is there something wrong with me, or did some complete asshole write this manual?

Filed under: General — spiro @ 1:15 am

I bought a new ventilation fan to replace the one in the utility room that broke. If you’re interested, you can check out the product here.

Here’s what’s included in the box.

So, we have 3 sliding brackets. One short one, then two that combine together to span joists up to 24″ apart. Great.

Step one is straightforward. Measure joist span, center-to-center.

Step two. For under 20″, we use bracket C, the smallest one. But look, bracket C can only stretch (you have to align a hole where you’ll drive a screw later on) to joists that span maybe 14″! What about 16″ joist spacing, the most common?

Step 3.

How the fuck do you attach the screws into all four fixed holes 11″ apart when the joists are (theoretically) anything between 0-20″ apart?

Step 4 is where the manual starts making sense again.

But it only applies to 20-24″, a common spacing for roof trusses. In practice, however, this method could work for 16-24″ joist spacing.


January 31, 2012


Filed under: Technology — spiro @ 1:10 am

Last weekend I somehow got the urge to play around with security camera software.  I basically fired up my 2 webcams (Microsoft Lifecam VX 7000 & Cinema HD), pointed them out the window and spied on people going in and out of the building. It’s so addictive, it looks like I found myself a new time waster – not that I needed one.


In the past, I set up the 2 webcams to point inside before going on vacation and left a light on so I could spy on the kitty. Then, I’d logon through remote desktop, and use VLC to watch and show off.


This time, I was looking for a more serious toy. One that I could eventually use in my next home for security purposes (don’t have to worry too much about that when living in a condo full of retirees who love to people-watch :) So I started poking around. There are many small freeware apps that just grab an image from 1 camera and broadcast it over the web.


Then you have the more advanced software packages marketed for enterprise that contain a whole set of features: face tracking, record-on-motion-detection, able to view cameras remotely, etc. They’re rather expensive and if they do provide a free version, it’s extremely limited. What’s there for geeks who like to play around with stuff?


Well, I found iSpy, a rather full featured software package. It takes in multiple inputs: Ip cameras, webcams and capture cards; it does motion-detection recordings; and it’s rather fast, simple and unobtrusive. The catch? They want you to pay $8 a month to get remote access to your cameras through their service. Yes, instead of just running an HTTP server on your machine, they somehow bounce the camera feed off their servers to make a buck. Gaaaaah, why can’t life just be  perfect?


So I have to go and write a webserver now :(


March 14, 2011


Filed under: Technology — spiro @ 12:17 pm

I wrote a little tool to flatten directory structures for my needs. If that might be useful to you, the app and the source can be found here.

January 6, 2011

Security Questions

Filed under: Rant — spiro @ 11:01 pm

The first hurdle of the second new year’s resolution: logging on to Fidelity’s web site and being forced to waste 10 minutes of my time to create idiotic security questions. Wonderful.

The next prompt was to confirm my e-mail address, which was presented in all-caps. Although most e-mail systems aren’t case sensitive, displaying an e-mail in all-caps conveys that you’re a total idiot when it comes to computers.

After that, you have to go through selecting 5 predefined security questions. My favorite: The first  name of my grandfather, and you’d understand why if you’re Greek: the first-born child usually bears the name of his grandfather.

Theoretically, these questions are additional passwords. They are very weak passwords, because they consist of answers to stupid questions that can easily be guessed by somebody who knows the slightest thing about you, let alone an ex-girlfriend looking for revenge. Even if they were strong passwords, they’d contribute nothing more to security than a password that meets proper length and complexity requirements. Sadly, I’ve seen a fair share of banking web sites that won’t enforce proper password complexity and length requirements. But they have security questions!

The reasoning for this? A widespread incorrect understanding of multi-factor authentication.

The final prompt in this process was a “thank you for helping us protect your account”! Very funny indeed, but thanks for warning me about your lack of computer security expertise.

January 5, 2011

New Year’s Resolutions

Filed under: Personal — spiro @ 4:34 am

I usually don’t make new year’s resolutions. And when I do make them, I typically don’t share them, mainly because I hate being asked the question. I usually respond by saying something like this.

A good nerd comeback that won’t go away :)

But this year I am going to do things a little differently. I will take resolutions will share them, and will hold myself accountable to them.

Weight Loss

Just over 4 years ago, I decided to lose all that weight I had. Now many people who didn’t know me back then won’t know that I used to be really really big. So I shed about 100 pounds, in a little less than one year, and kept it off for two years. The problem is that the weight has started to creep up on me again, and it needs to go.

Weight loss is a little tricky, because it doesn’t quite subscribe to the traditional S.M.A.R.T. goals idea – that is, goals that you take should be specific, measurable, achievable, realistic and timely. Setting to lose X amount of pounds by D date isn’t very likely to be a successful goal. Instead people should completely forget about losing weight and instead focus on making the necessary lifestyle changes, and weight loss will come with it. I won’t go into the details in this post, but I’d highly recommend Dr. Phil’s Weight Loss book. I don’t want to give this guy more advertising than he already has, but honestly this is how I got started.

Building My Finances

As an engineer, I have not gotten much exposure to the financial world, but I do know enough about it to notice that it’s pretty hopping! I’m starting to feel increasingly lonely, tapping code on my keyboard, investigating bug reports, and attending meetings, while some others are getting filthy rich on the stock market. Don’t get me wrong, I love my job. It pays very well. I just feel as if I’m staying home on a Saturday night while my neighbors are having a huge party with lots of hot chicks next door!

Enough with the analogies, it’s time to move! I’ve got some tools to get started: a Fidelity account thanks to my employer, and I’ve recently been watching Nightly Business Report religiously.

Yes, just two for now. Let’s see how I do :p

December 22, 2010

2011 Updates!

Filed under: General — spiro @ 10:33 pm

I took some time to work on my blog before the new year…

  • New background image, courtesy of Dotter. Dotter generates a polka dot background picture based on colours you specify.
  • New CSS to make things look more web 2.0-ish.
  • You need to solve a CAPTCHA to post a comment, so spammers can’t pollute the comment moderation queue.

Let me know what you think of the new design, and most importantly, if you find display bugs.

Happy holidays and happy new year.

Edit: Here’s how the old theme looked like, for archival purposes:

Stripping Commercials Out of Media Center TV Recordings

Filed under: Microsoft,Technology — spiro @ 7:40 pm

I loathe being advertised to, and I don’t understand how ads are even effective, since I very rarely ever go buy a product/service based on an ad I’ve seen. When they appear on a DVR recording, I have to manually fast-forward them, and they waste precious space on my hard disks. Fortunately, there are tools that allow you to do that. Unfortunately, they’re generally buggy, don’t come with any documentation, and difficult for one to understand and use.

One such tool is DVRMSToolbox. Unlike other tools, it actually works on Windows 7, but it’s essentially a mish-mash of executables, with documentation for Windows Vista that’s hard to follow and to make matters worse, a web forum with loads of “me too, I can’t get this working either, please help” kind of replies instead of working solutions. I was able to get something working, though I could not figure how on earth to get it to work with .wtv files (it’s built for Vista which uses .dvr-ms files). Another issue I ran into is that it works on the recordings as they come in, which grinds the system down to a halt (even on a quad-core).

Fortunately, I was able to poke around and take a look at the package and figure out what’s going on, and how to write batch scripts to accomplish things, and wrote a nice batch file which I can trigger through the built-in Windows Scheduler at 4 am when I am sleeping and the system is idle:

@echo off
set mediafolder=%1
set wtvconverter=%systemdrive%\windows\ehome\wtvconverter.exe
set dvrmstool=%systemdrive%\Program Files (x86)\DVRMSToolbox\DVRMStoMPEG.exe

echo Usage: runcomskip.cmd [path/to/media/folder]
if mediafolder=="" goto:eof
for /r %mediafolder% %%a in (*.wtv) do call:do_conversion "%%a"

rem do conversion here args = %~1 ...
set wtvfile=%~1
set mpegfile=%dvrmsfile%.mpeg
echo *** Begin processing file %~1 ***
echo Converting to dvr-ms %dvrmsfile%
%wtvconverter% "%wtvfile%" "%dvrmsfile%"
echo Running comskip and converting to mpeg %mpegfile%
"%dvrmstool%" /if="%dvrmsfile%" /of="%mpegfile%" /p=32 /act="converttompgwocommercials"
rem Rename the wtv file so we don't attempt to re-convert it if we run the script again.
rem I'll be changing this to delete the file when I'm sure my script works 100% of the time.
rename "%wtvfile%" "%wtvfile%.old"
echo *** End processing file %~1 ***


(to use, copy this into a text file and save it as runcomskip.cmd)

I’m using the WTV to DVR-MS converter that ships with Windows to convert the files to the older DVR-MS format. There are no tools (that I know of) that will work with WTV. Once the file has been converted, DVRMStoMPEG will run Comskip, a freeware tool included with DVRMSToolbox to find commercials in the video, and will output the stripped video to MPEG. I ouptut MPEG since it’s a lot  more portable than DVR-MS and WTV, and AFAIK there’s no transcoding involved, all it should be doing is changing the container. I’m a bit wary of deleting the original files just yet. I want to make sure that the tools work right before running it on my recordings. I rename it so that the same files don’t get processed twice. The next step is to find a good batch encoder for archival purposes before my 1 TB DVR disk fills up. Right now I’m thinking of writing a simple cmd line encoder using the Expression SDK.

December 2, 2010

Hello Windows Phone 7!

Filed under: Microsoft,Technology — spiro @ 10:39 pm

After much wait, I am now proudly flaunting a Windows Phone 7.  Initially, I was planning to get the Dell Venue Pro, but the long wait for the device, and it’s bulkiness steered me towards the HTC HD7, on T-Mobile.

The Device

The HTC HD7 is a nice phone overall. I love the size of the screen on it, and its slimness: it fits better in my pocket than my older, tiny-screen HTC Touch. The 5 MP camera is totally amazing, and the LEDs do a good job as a flash, or even as a flashlight. It would be nice if they’d have a Super AMOLED screen instead of an LCD. A few disappointments, however, it uses a micro-usb instead of a standard mini-usb to sync so I have to buy new cables, and I wish the battery could hold more power.

The Carrier

In the process, I switched from Sprint to T-Mobile because Sprint doesn’t yet have WP7 devices yet, and I’ve really had enough of my HTC Touch. I’m a quite disappointed at the coverage, and the data speed. Indeed, in spite of being practically non-existent outside North America, CDMA is a much, much better cell phone system!


Finally, let’s get to Windows Phone 7. Overall I think they’ve done a great job, and my assessment is that it’s at least the equivalent, or better than the iPhone, give or take a few features. And if the rumored “January update” is true (I don’t know, I don’t work on the WP7 team), WP7 really can kick some serious iPhone ass! Sure, I think Android is way ahead in the game, but if they keep a fast-paced update release schedule, and does a good job supporting developers as well as device makers, I think WP7 has lots of potential.

  • The phone has a new UI. It works great after maybe 1-2 hours at the most of getting used to it. Perhaps a more complete setup wizard that does more than setup Hotmail would be nice.
  • I like the way the facebook/outlook/contacts/hotmail/gmail contacts sync together in the people hub. They need to include Twitter, and Ideally have an API that social netwok sites themselves can maintain.
  • It would be nice if calendar services like Google Calendar and Facebook’s events could also appear in the phone’s calendar.
  • The folder list in Outlook e-mail gets the job done, but looks very, very, very bland.
  • The marketplace is getting very crowded. That’s a good thing, but that will require at least organizing alphabetically.
  • The lock screen and password input is really nice. If you’ve used Windows Mobile, you know what I mean!
  • Internet Explorer sucks, but it’s way better than the one that shipped with Windows Mobile.
  • No ability to map the address of a Facebook event, not even on the Facebook application.
  • Bing search is quirky. Often, it will say Bing is not available after a long, long wait, even if I have a data and/or WiFi connection going on. If I try it a second later, the search results will show up quickly as expected.
  • IE has Google search as default, due to the carrier customizing it. Why the hell do we allow this? BING is the proper search engine now :p
Older Posts »