New work
So, I started a new job last week. I'm doing server stuff for a small startup company. It's mostly Linux, but as the world is still lagging around running Windows, I have to also... Well, at least I get to use Google Chrome while in Windows. All the machines in the company run Thunderbird to get email (imap) from a Debian Kolab Groupwise server. That makes life easy, as Thunderbird runs on all major OSes
I'm new to Kolab, but so far I'm pretty impressed. It's just a regular email server, but, being a Groupwise suite means it also does calendar, contact and task syncing.
Much more reliable than stupid Microsoft Exchange server. Debian, unlike Microsoft Exchange has an uptime that's measured in months, rebooting only occasionally for kernel updates. Back to Thunderbird... Thunderbird 3 should have come out months ago (a year ago in fact, when Firefox 3 came out)
It really sucks when an ecosystem can't progress because of lagging software (built in calendar, proper support for gmail etc...)
The perfect example is Windows XP.
In a world of HDMI, Display Port, USB 3.0, AMOLED, Blu-ray, Quad core CPUs, Navigation Systems, iPhones and Android, should people really be running a 10 year old Operating System?
Just what part of your computer (or any decent smart phone) could you imagine existing 10 years ago. Just Windows XP.
The fact that Windows XP is still around is, of course, because Windows Vista was a joke. If there's anything I hate, it's when people defend Vista. People wouldn't be against upgrading if there was something to be gained from upgrading.
There's no excuse for what they did. It's just proof of what happens when a company gets too big and loses its vision.
So, have they fixed things with Windows 7?
That isn't really a fair question. They have fixed it a lot. BUT they should have released Windows 7 three years ago and called it Vista.
Oh, and my job gave me an Android phone (HTC G1). I'll be posting more about that soon.
To sum it up, the Hardware is decent, but fairly generic. The software, however, is incredible.
I'm engaged!
A lot has happened in the last month. I graduated, and now I am engaged.
The date is likely to be the 4th of September 2009.
Here are some pictures of the day I proposed. Her family drove here for the occasion.
![]() |
| Engagement_Dinner |
I finally graduated
It's been a long time since I last posted.
Hopefully I can post more often now that I am not juggling school, work, graduation, job-hunting etc..
Here's some proof that I'm finally an Electrical Engineer!
![]() |
| Graduation |
I interviewed at a whole load of places, ranging from Microsoft, Epic Systems, Baker Hughes, Raytheon, Lockheed Martin and several Army and Airforce bases.
The best offer, however, came from Hill Airforce base in Ogden Utah.
I'll be working on Expeditionary Fighting Vehicles for the US Government, being contracted in through SoBran.
I start on the 1st of June 2009.
Google Voice
For those of you who remember, Google bought a small startup company called GrandCentral.
GrandCentral has a brilliant, simple idea that they call "one number for life"
Basically, you sign up, and they give you a phone number (you can pick your area code)
Then, you go to their website, and essentially forward that number to any number you want (or several)
So, when someone calls your GrandCentral number, it will ring on all phones you've previously put in.
It will ring simultaneously on your house and mobile phones. You decide which one to answer. If you answered your house phone and are about to leave, you press a button, and can transfer the call to your mobile.
Now that Google have taken over, they've changed the name to Google Voice. Google has also made many improvements including:
SMS forwarding, voicemail sent as email (as an mp3), voicemail transcription (sent as text to email or sms).
It's really great. This way you can access voicemail and text from anywhere (on the web).
The problem is that when I call someone, obviously, my regular number shows up, and not my Google Voice number. The way around this is to call your your Google Voice number, and then dial the persons number (then your Google Voice number will show up on their caller ID)
The other way is to go to the website (or the mobile website on your phone) and select the contact you want (from your gmail contacts) and click it. Then you get a call from your Google#, and you wait while you're connected.
This is the main problem. It's too much of a hassle. My guess is that Google will release a proper standalone application (for iPhone, Android, Windows Mobile, Palm WebOS, and Blackberry) where you dial numbers through that app, and send texts through that app.
Without this feature, I won't be using Google Voice much at all. It's amazing, and has incredible potential, but I want to directly dial and text my contacts without hassle
bugs in ext4 (Linux filesystem)
Despite the ext4 filesystem losing it's 'dev' tag and being labelled as stable in Linux 2.6.28, there are problems.
One of the ways the ext4 filesystem improves upon ext3 is delayed allocation. When a new file is created, rather than immediately write the change, the change is noted in the journal, and the data is written to the disk within the next 45-150 seconds.The problem happens after a system crash. If your machine crashes, any unwritten file can be lost. This is especially hazardous if the file being written is a system file/setting or part of grub.
I had that exact problem last night. My computer crashed, and after rebooting, it got stuck at GRUB with error 17.
I booted a recoveryCD and in the terminal typed
fsck.ext4 -y /dev/sda2
fsck is a Filesystem Check
'-y' will answer yes to fix all errors
/dev/sda2 is my first hard drive, second partition, where my /boot partition is located
Hope this helps anyone else with a corrupted partition
the truth about liquidations
So, against my better judgement, I stopped by Circuit City to see if there were any good deals.
In case you want to stop reading right now, the answer is NO.
So, what is the truth about liquidations?
Lets say the retail price on a TV is $3000. Most places, like bestbuy, might sell it for $2500. Online (e.g. Amazon) might make it $2000.
What does circuit city sell it for during liquidation?
Well, they started out offering 20% off, right? and then increased to 50%.
The problem is they first hike the price back to $3000, and then take 20% off. Which, leaves you at $2400. Still not a good deal. Certainly not as good at 20% might imply.
It's a scam, because the TV NEVER sold for $3000, but, as people fall for it, they do it.
But, what's the biggest problem with all this?
It's gullible people.
The solution is obvious, right. If a good deal on the TV is anything below $2000, that would mean you'd have to wait until Circuit City offered 40%.
The problem is, some schmuck will buy it when it's 20%, so it's a lose lose.
By the time they have 40 or 50% off, the only stuff left is junk.
I saw blu-rays going for $35 with 40% off. The problem is, Amazon sells them for $20 right now, without the scavenger hunt.
Advice, buy everything online. Occasionally there will be a good deal in a Brick and Mortar store, but it's rare.
finally, an update
This semester is my last one.
By April I'll finally be an Electrical Engineer.
Unfortunately, I decided to leave all my worst classes till the end. By worst, I don't mean hardest, but worst.
I'm in a bunch of G.E.'s....... including Chem 105.
Chem 105 isn't hard, it's just a pain. There's SO MUCH busy work.
we have to do the following (each week),
- Attend 3 lectures with the professor (with 4 iClicker quizzes per class period, so no sleeping!)
- Attend 2 TA recitation sessions (that are compulsory)
- 2 time consuming homeworks
- watch a few chemistry tutorial videos online
- do at least 1 lab on the computer
- Read around 40 pages.
- Take a 20 question exam on Blackboard (usually takes 2-4 hours depending)
Fortunately, I'm competing with freshmen.........enough said.... :)
Additionally I'm in BoM 122 (RM Version)
Sociology 111
ECEn 361 lab (my only engineering class)
Mathematics 214: Multivariate calculus. A huge pain of a class, with a bajillion formulas to memorise.
BYU Bookstore outdoes itself
I've blogged several times about being messed around by the BYU Bookstore here and here.
This time, however, they've really outdone themselves.
I went to the BYU Bookstore, and printed out my booklist.
I pick up the books and took them to checkout.
All proceeds as normal, except they overcharge me by $20 for my multi-variable calculus book.
I complain, and show them my printout. They ignore it, and say it must be wrong.
I go back to where I got the book, and get the official price, which also says $60 (instead of $80), but they again tell me that it must be a mistake, and that the real price is $80.
I'm very annoyed at this point.
They tell me if I want to complain I must go and talk to someone at the customer service counter.
They kept bouncing me around to different people (it was almost as bad as calling Sprint Tech Support!). Each person looked at me as though I was an idiot, and that the prices I had seen were 'obviously' wrong.
Finally they sent me to the person who was supposedly in charge - Tom something
He acted important, and told me that the price had changed.
I nicely told him that obviously it hadn't!
Changing the price would entail actually CHANGING IT! Changing it on the web page, changing the price tag that was next to the books etc..
He basically told me to get lost, and that the only price that mattered was the price on the bookstore's internal register. They'd just forgotten to change the price everywhere else.
Tom didn't listen to a word I said. He just kept repeating "the price has changed", so I soon just gave up.
His behaviour was rude, inappropriate, and condescending. He didn't care. He just wanted me to go away.
Had this occurred at a any other shop, I imagine the conversation would have gone something like this:
Manager: I'm really sorry that we forgot to change the price. Thanks for letting us know that we made a mistake. Since you saw the cheaper price, we'll honour it. We'll now go and update all price everywhere.
Thanks!
But that would require decency.
Obviously I didn't have a choice, as I needed the book, so I bought it.
Later I went to the BYU Bookstore website and found this.

They failed 4 of their "values"
Integrity
Exceeding Customer Expectations
Respect for all Individuals
Accountability
- Integrity and Accountability: To fullfil those, they should admit it was their mistake (Tom never admitted a mistake, nor did he apologise. He just kept repeating "the price has changed.")
- They certainly didn't exceed my expectations as a customer.
- And they certainly didn't respect me.
This is where it gets good.
So, a few days later, I find a friend who has the book and lends it to me.
I take the book I purchased back.
How much do you think they try to refund me?
that's right. It wrang up at $60.
Obviously I complain, and show my receipt with $80.
The clerk looks at me confused, and says "that's impossible. Book prices don't change. You must have brought me a different book."
After a few minutes of arguing, I finally get a refund.
The moral of the story?
Never go to the BYU Bookstore. Always buy online at Amazon, or get it from a friend.
More proof that Microsoft are incompetent
As some of you may have read, the Microsoft Zune (Microsoft's competitor to the iPod Classic) have a serious bug, where on the last day of each leap year the device is unbootable.
Such a day was yesterday, 31st December, 2008.
The cause?
An incompetent, overpaid programmer.
As is common in computing, time is calculated as seconds elapsed since a arbitrarily picked start time (midnight 1st January 1970 in unix, or 1980 for Zune/Freescale stuff)
So, quite simply, the clock would show '1' for 12:00:01 on 1st Jan 1970, and keep counting up until you run out of space and overflow. (In 32bit machines this will happen in 2038, but by then, 32bit stuff shouldn't be around)
So, what does this code do?
Since humans don't want to see the current time as a huge number of seconds since 1970, a piece of code (on bootup) converts is to years, months days etc...
The following piece of code (taken from the Freescale website, and actually used in the Zune) attempts to do that.
year = ORIGINYEAR; /* = 1980 */
while (days > 365)
{
if (IsLeapYear(year))
{
if (days > 366)
{
days -= 366;
year += 1;
}
}
else
{
days -= 365;
year += 1;
}
}
For those of you who aren't coders, let me walk you through the code.
This code works by continually subtracting 365 days until there are less than 365 days (or 366 for a leap year).
So, if you had 364 days, it would stay at 364 days, but if you had 367 days, it would give you 1 year and 2 days.
The problem though, is the way a leap year is handled. It gets stuck, as it doesn't know what to do when the days are exactly 366 (such as the last day in a leap year)
The following code is one way to fix it.
year = ORIGINYEAR; /* = 1980 */
while (days > 365)
{
if (IsLeapYear(year))
{
if (days > 366)
{
days -= 366;
year += 1;
}
else //days ==366
days -= 366;
}
else
{
days -= 365;
year += 1;
}
}
new phone

I was hoping to have an Android phone by now.
Problem is, the only Android device is for T-Mobile, the world worst cellular provider (at least as far as their data (and non-existent 3G) network are concerned.
Also, the T-Mobile (HTC) G1 hardware isn't that great. There's no 3.5mm headphone jack. No on screen keyboard, no flash for the web browser, and the screen is only 480x320.
It's still a great phone, but the best part is the software, not the hardware.
Since Sprint haven't yet announced when they will release an Android phone, or any information about it, I don't really want to wait around forever with my current phone.
I decided to buy an HTC Touch Pro (Raphael). The hardware is, in almost all respects, better than the G1 hardware.
It has a higher resolution screen 640x480 vs 480x320
288MB Ram vs 192MB
Same CPU (Qualcomm 7201A 528 Mhz)
The only thing worse is the resistive screen vs the glass (iPhone-like) capacitive screen.
There was really just one main reasons, however, that I bought this phone.
I'm on a now unnavailable Sprint Sero plan.
For just $30 /month I get:
500 anytime minutes
3 faves (unlimited anytime to any 3 numbers)
free night/weekend after 7pm
unlimited texts
unlimited internet
That's a better plan than the $90 iPhone plan.
So, it seems clear that I don't want to leave Sprint (Despite how terrible their customer service is).
So, back to the reason I got this phone. A few months ago Sprint (Samsung, really) launched the Instinct. It was a decent phone that tried to compare to the iPhone. The problem?
They restricted it to the 'Everything' plans. meaning I couldn't have activated it on my plan.
Now, I didn't want an instinct.....BUT, I'm a little worried that they may try to play that game again when they release their first Android phone.
Imagine if after waiting a year for Sprint to launch their Android phone they tell me I have to switch to a $70 plan to get one. I'm better off getting a decent phone now, and then maybe switching down the road if I can.
Since I'm not up for a contract, I had to buy the phone on eBay. I got it new (with a clean ESN) for $315 (after live.com discount). I figure I can sell my current phone (The sprint Mogul) for around $160, so it won't be too bad.
So, on to the phone.
The software, which is Windows Mobile, is pretty rubbish. It doesn't compare to OS X or Android. Fortunately, it's extremely customisable.
It's shocking that Microsoft haven't fixed it, but Windows Mobile built in alarm doesn't work (and doesn't play MP3s). Pocket Internet Explorer is awful.
HTC have fixed a massive amount of problems. They're used Opera Mobile 9.5, which is incredible, and every bit as good as Safari on an iPhone. They're got TouchFlo 3d, which is sort of a menu system, but it makes you forget you're using Windows Mobile. Your browser, music player, contacts, Calendar, Weather, Pictures/Videos etc.. can all be accessed through TouchFlo. It really is that good, and it's all finger friendly.
The other nice thing, is that there are tens of thousands of apps available. I have an RPN calculator, Spanish/English dictionary, chess programs, scriptures, Google Calendar/Contacts sync, and, best of all, TomTom 7 navigator. It's the full TomTom software found on a dedicated GPS device. It's much better than Google Maps, as it's 3D, and the maps are stored on the device (instead of downloaded each time, as in Google Maps).
I still plan on getting Android, but it likely won't happen until it's offered on better hardware, and on my Sprint Sero plan.




