Tuesday, February 9 2010, 09:48 pm

Same Team, Same Game

I'm repeating myself here, but it is a new year after all. The Dallas Mavericks have proven to be very reliable at starting strong and finishing flat on their face. Their record is a mask to their ugly underside. Heck even the humble owner knows they suck - at least that's a step in the right direction.

Win one, lose one. If they can win against teams above .5 and lose against the lower .5 teams then they might make the playoffs. Dirk can barely play full games and the rest of the team cannot maintain any sense of consistancy. I hope a smart, talented, and young player replaces the late Hemp Howard. Maybe this year can be saved. Maybe.

Saturday, February 6 2010, 10:23 am

Developing Openly on Proprietary Land

My programming adventures continue. Nokia's experiment into Linux with Maemo is very alluring and since I've applied myself into a few Linux projects, I felt it would be worth looking into what Nokia has put together.

The Maemo SDK runs under Scratchbox, a virtual environment created in part by Nokia. The Scratchbox toolkit can run under any Linux distribution, and it requires it. If you wish to run the SDK under Windows, your only option is to use a virtual machine. Once your SDK is running, it is nearly identical to a running Maemo device. In order to use the SDK, basic knowledge of Linux goes a long way, but since Maemo is derived from Debian there are some distribution specific programs. I've been using Red Hat based distributions for years, so it took some time to get used to using dpkg and apt-get to handle packages. After a few months of using my N900, creating and handling packages takes less work under an RPM system, but it's adequate.

Since Maemo is Linux, any Linux application has a chance of life. This makes building new applications or porting existing Linux applications a walk in the park. You can literally compile any Linux program for ARM and run it, however, the necessary screen space and physical size of a N900 can make it difficult to use a large application such as Open Office, which has dozens of menus and toolbars. This is where Maemo ports come in. A finger-friendly UI can be designed and added, even sent to the upstream authors, and makes the app you port usable everyday on your device.

I started with building a brand new application. A stopwatch seemed like an easy first project. I noticed several stopwatch applications already existed, however they were written in Python or were not maintained in a long time. The Maemo Garage is a center for Maemo projects, so I created my own project page and began work. I decided to write in C, the native language of many Linux core libraries, and use GTK for the UI, a cross-platform, and the native toolkit for Maemo 5. During the programming process, I learned the Hildon additions to GTK made by Nokia, and the dbus methods to activate and listen for accelerator changes to allow my applications to turn into portrait mode when the user turns their N900. Here's the first incarnation: Stopish 0.9.0

Other programming projects are endless. I wanted to look at fixing a few usability issues. One was the RSS reader, which used a slider that was too thin for a finger. I submitted a patch to Nokia and it will be included in the next major firmware update. The second was the lack of FLAC tags in the media player. I now enjoy FLAC as my music format of choice, and it's possible to use since the Maemo media player uses gstreamer for media codecs and tracker for tags. In order to add FLAC tags, I had to extend the tracker program to be able to read them. Someone had already created such a plugin for vorbis, and so using it as a template, I made one for FLAC.

There are two Maemo repositories for projects, Maemo Devel and Maemo Extras. Finalized applications live in Maemo Extras, while developers can play with new applications in Maemo Devel Adding my projects to Maemo's repositories was a breeze. Just create a Maemo account and request upload access. I can use scp (SSH CoPy) to send my source code to the Maemo build server and it will package my projects and makes them available on the Maemo Devel repository. From this repository a developer can choose to promote it to Maemo Extras. During this promotion, other Maemo users vote on the application and if enough positive votes are made the project is automatically pushed into Maemo Extras.

Although most of Maemo is open source and source provided through gitorious, there's still a lot left closed - such as the phone, contact, and media player. Nokia's plans include more open source goodness in Maemo 6. The future of Maemo definitely looks bright even if they are forcing Qt down everyone's collective throats.

Tuesday, February 2 2010, 11:41 pm

New Face, Same Blood

Hi there. You may remember me from such blogs as The Humble Geek. Due to a recent Blogger change, I've had to set up shop using server-side software. I looked at three different projects and ended up with Dotclear. I'll break down my selection pro/con list:

  • Wordpress

The big man in town. Unfortunately it uses MySQL for a backend and my server is PostgreSQL territory. Poor security is another minus. A Wordpress blog has probably been defaced by the time you've read this sentence.

  • blosxom

I saw this recommended as an alternative to Wordpress. It's Perl based and writes to flat files. Not very flexible for my taste.

  • Dotclear

Written in PHP, supporting PostgreSQL, themeable, plugable, and more. I couldn't ask for anything better. I have customized my own theme and added some plugins. The built-in functionality also allows me to add the Geek Tip as a widget. I don't have to manually edit the template as I had to with Blogger.

I may write about my Maemo programming shenanigans next, but don't hold your breath.

Wednesday, January 6 2010, 04:32 am

Belated Christmas Gift Ho-down

Now I can barrage the Internet with my own crappy drawings.


Powered by Wacom, the Gimp, and of course, a penguin. For less than a hundred dollars, you too can have a very thin time waster.

Saturday, December 12 2009, 08:28 pm

Maemo, Smaemo they Say

The world welcomes another Linux phone. This time around we have something a little more mature and more appealing to the eye. Behold, the Nokia N900:

As with all my blog posts, I won't bore you with details. Google is your friend. After handling the N900 for a week, I begin my review:

Hardware
  • Feel
    Plastic encased all around, the feel of the phone doesn't feel like plastic. It's a refreshing, solid, stout feel. When I first picked it up it felt heavy, but now I hardly notice the weight. The slider is solid and does not wiggle. It slides in and out of place securely. The keyboard keys are just the right size and it feels great to type on it, but if you don't want to slide out for it, an on-screen keyboard is available.
  • Screen
    While the technology of the screen is not new, I cannot find a problem with it. The 800x480 resolution alone will leave other "phones" in the dust. Most folks now-a-days want the latest and greatest technology and will spit on the N900 for using a resistive screen. I've used touchscreens for a long time starting with Palm Pilots to a Nokia 5800, iPhone, and Google G1 phone. This covers both resistive and capacitive technologies over the past 10 years. The N900 screen is extremely responsive and I cannot tell a difference between it and a G1. I've read other reviews saying the N900 is terrible, but I believe there's some fanboyism hidden under their text. In fact, I wrote brainstorm ideas for this blog post on my N900 with the included stylus. As I was writing I noticed it picked up every tiny detail of my strokes just as if I was using a real pen. Judge for yourself. I used Xournal (Maemo Extras repo) to generate it and Bluetooth'd it to my PC with two clicks of the screen.
  •  CPU/RAM
    The included Cortex A8 is in fact the same as the iPhone and is plenty fast. I have yet to benchmark it, but I have yet to find anything that stresses it too much. The phone remains responsive at all times no matter what you are running. Even when someone calls you.
    RAM isn't too much of an issue as it includes 256 megs of hardware RAM and partitions 768 megs of swap memory on the embedded flash drive.
  • Battery
    Lifetimes of the battery depend on what you do. No news there. Comparing to my N95, I get about the same battery life. One day if I am making calls, surfing the web, and using apps, or two days if I limit my usage to a phone call or two. The included micro USB port and cable allow you to charge anywhere there is a USB port and extra batteries are dirt cheap on Newegg. Battery life isn't too much of a concern to me for how much I get in return out of the device.
Software
  • Linux
    Nokia has made Maemo their Linux distribution and left most of it open source. Maemo 5, included with the N900, provides kernel 2.6.28. However, Nokia felt that IPv6 support was "bad" and left it out of the provided kernel. There's a bug report for it on Maemo.org. It was included for the WiMax N810 tablet, but now it is removed. Quite a head scratcher, especially since Nokia's Symbian OS has provided IPv6 for a long time.
    All of that aside, if enjoy what Linux has to offer and want that same freedom on your phone that is supported by a major corporation, this is your dream come true. Nokia has stuck with a standard Linux environment instead of building their own, and if you are already familiar to Maemo this isn't news to you.
  • Multi-tasking
    Switching between apps is a breeze and is as simple as if you were using a PC. The included compositing manager allows fancy transition graphics and live resizing of windows so when you view all open windows, you can see what is going on without having to bring them up fullscreen. This technology has been present with Compiz (and now finally Windows 7) so nothing too new, but it is great to have it on a device that fits in one hand.
  • Application Compatibility
    Any Linux app will run on the N900. People have Quake 3 or Duke Nukem 3D running on it. Granted, the screen resolution isn't the same as a PC, so some apps are not usable on a small screen. In that case forks of the UI's for some apps are rewritten and made useable. A big example is Firefox. Mozilla's Fennec is Firefox with a UI for mobile devices. It is a full-fledged copy of Firefox and will render every web page exactly the same as if you were on a PC. All other phones include browsers that render differently and do not provide support any where close to Fennec. In fact, I have installed Adblock Plus on my N900. It works identical to my PC. No ads! This is the first device to provides this sort of environment. Not the iPhone, not the Pre, not even the Android phones can hold a candle to it.
    I have even started my own app for Maemo and did it in just a few hours. Check it out on the Maemo Garage where all Maemo apps are hosted.
    Nokia is even providing an Ovi Store for Maemo apps so businesses who wish to sell apps can do so. All of this is centralized through the app manager and relies on Debian-derived repositories for searching and installing apps. It's brain dead simple and keeps your phone clean for easy installing and uninstalling. You don't have to google search for apps.
  • Phone
    Contact support is brilliant. It merges traditional phone contacts with IM contacts and uses the open source libraries of telepathy to do so. I have my friends with not only their phone numbers, but AIM, MSN, Skype, and Jabber accounts all on one contact. This bleeds over into a conversation app that keeps SMS and IM conversations together. It's dead simple and brilliantly put together. The phone can take contacts off of Ovi or S60 phones so I was able to easily sync with my old N95 and get all my contacts and all their details (address, birthdays, etc).
    It's not perfect though. You can't assign a ring tone per person or use provider numbers to check minutes or data information (bugs in maemo.org for them).
    In all my phone conversations, I didn't have a problem with the speaker or mic. Everyone was able to hear me clearly. It does support speaker phone. The really cool thing is that it supports face detection - the phone will blank the screen when it is next to your face (saving some battery). Other high-end, phone-only devices support this same feature so it is nice to see it available here, too.
Future
  • GTK/QT
    Maemo was originally designed for the GTK graphical interface toolkit. Nokia spent many man hours developing special add-ons to GTK for better tablet support, called Hildon. This past year, Nokia purchased Trolltech, makers of the QT graphical interface toolkit. Starting with Maemo 6, QT will take GTK's place. It was purely a high-level business decision as Nokia, with all businesses, are looking to make a profit. Nokia wants to keep Symbian and they have already invested time in bringing QT support to Symbian. With the Trolltech purchase, Nokia hopes to build a cross-platform design with QT so that all their devices they sell can run the same apps. This helps the small amount of businesses still investing in Symbian... because most of them have left to work on iPhone fart apps or work for Google now. All in all, I don't see this move as a bright business decision. I hope GTK still remains prominent in Maemo as it is the toolkit of choice for my programming both at work and at home.
  • Community
    It's a widely known fact that the Maemo distribution is gaining presence. Several Nokia employees have stated that the maemo.org site has seen huge increases in traffic with the release of the N900. Their garage and other sites have sometimes been susceptible to the heavy loads and become unresponsive. Nokia has stated they do plan on moving to better servers and better hosting ASAP.
If you've skipped to the bottom, screw you. My choice to buy this phone was a good one. I see it being a long time device in my collection, that is, until a faster one comes out. ;) There's so much more to write about the N900, but I want to get back to my life now.

Friday, November 6 2009, 03:44 am

Sports Check, 1, 2, 3, Check

Let's go over some sporting events and teams I watch, mk?

Dallas Cowboys
Possibly a terribly good season ahead. Romo set a new personal record with three consecutive games without an interception. Good job, ol' chap.

Texas Rangers
Another positively rough season is over. Pitching improved over the season but  faded with the batting towards the end of the season.

Dallas Stars
Good losses early in the season already. I don't really care any more. Retire already, Modano.

Dallas Mavericks
Old people throwing a ball around have yet another season to play. There's some nice rotations with the new players instead of the same ol', same ol' rotation, but there's no defence.

Formula 1
Decent season with interesting twists that was different then the previous year. Next season will be completely different as well. Maybe HD video feeds (if pigs fly) are coming soon. I would die a happy man after seeing a grand prix in HD.

College Football
Nuke the BS^H BCS. Favouritism helps no one. I'm looking at you USC.

Monday, October 19 2009, 05:38 am

How-To: Earn Your Carbon Credits

The past few years have showed us a boom in the fad of "going green" with everything from automobiles to your home. Some people have taken advantage of the situation and claimed the need to put a price on the amount of carbon emissions each individual puts in the air. Everyone should be given a quota and if you go over that quota you need to buy "carbon credits" otherwise you face "penalties." I'm glad we haven't reached la-la land just yet, but there are simple ways to go green without going overboard.

I run a server at home for routing, web, email, files, and almost any little idea I think of. Now that I've told you I will have to kill you as ISPs frown on this freedom of expression. Anyway, this server has been comprised of spare parts and/or whatever I could buy for $20. Now that I have a decent job, I decided I wanted a computer I could call a server and stand by it. It also had to draw less electricity and put out less heat and noise. Let's compare my setups:

Junker
  • 1.4ghz "Tualatin" Pentium III-S
  • 512mb PC-133 RAM (i815 chipset limitation)
  • ASUS TUSL2 motherboard
  • 320gb Seagate 7200.10
  • Intel 100 mbit and 1000 mbit PCI cards
  • $50 case with 350watt PSU (all-in-one)

Upgrade
  • 1.86ghz "Lynnfield" Xeon L3426
  • 4gb DDR3 1333 ECC RAM
  • Supermicro X8SIL-F motherboard
  • 2x1TB Seagate 7200.12 (RAID 1)
  • Dual on-board Intel 1gb NICs
  • Antec MicroATX case + SeaSonic 500watt 80 Plus Bronze PSU

The junker runs at a nice loud, slow pace. PHP and any disk intensive request was a several second ordeal. Most of that is due to the limited amount of RAM. I hooked up the Kill-a-watt power meter to the junker to see how much electricity I'm wasting. 62 watts - at idle. The computer is lifeless and it's eating enough energy to power an old school light bulb. Think of all the nuclear power I'm wasting; I can't sleep at night.

Putting the new server together was the fastest assembly for me yet. Most things are now on-board and the only power connections were for the motherboard and hard drives. Hitting the power switch brought forth... silence. Ah... What's this? A BIOS prompt. After installing Fedora 11 x86_64 using my USB drive (no CDs or floppies were hurt in this process, something other OSes can't say), I ran the power meter on it. A whole... 40 watts at idle. With more than 10 times the computing power (and 1 vs 4 cores) and an additional hard drive, the new system was eating 22 (woot math) less watts! Just to put this in an even more interesting twist, my one year old desktop computer pulls a hefty 96 watts out of the Earth. It has a 9800 GTX+ helping it get that high though.

What's the meaning of all this? Well, I should get some nice medal from Al Gore for saving the planet, right? Heck, I'd take just a letter. Now get out there and green up your computing environment. Doctor's orders.

Tuesday, September 1 2009, 02:35 am

Slackers 'n Motherboards

Go to an online computer hardware retailer and click over to their motherboard section. What will you find? IDE ports and, what's this? Floppy ports? Yes, you will in fact find a 3.5" floppy controller on a brand new Intel Core i5 motherboard made in the year 2009. The news gets worse when you find this on a micro ATX motherboard. Yes, a motherboard you would be putting into a case that has no room for a floppy. Were the electrical engineers trying to be funny?


This brings us to the almighty point of the blog post. It seems motherboard manufactures are continuously living in the past for no reason. There is no need for a floppy port, coaxial audio out, PS/2 ports, PCI slots or even firewire now. Yet you will still find any and sometimes even all of those outdated technologies on boards put out within the past few weeks. Let's not forget that all of this stuff is powered by BIOS technology dating back to the very first 286 PCs. That's over 15 years that the BIOS has not changed! For frakks sake let's get up to date with some EFI BIOS motherboards! A Google search will reveal MSI's feeble attempt at releasing one EFI motherboard that seemingly never made it into the hands of a real consumer.

ASUS, DFI, EVGA, Gigabyte, MSI, and XFX please listen good. Here's what should be on a motherboard made in the year 2009: Eight USB ports, two powered eSATA ports, optical out, dual Intel or Broadcom LAN (not Realtek), 1-3 16x PCI-E, 1-4 4x/8x PCI-E. EFI BIOS. That means no IDE controllers, no PCI slots, no PS/2 ports, and no floppy controllers. Oh, and lower power consumption while you're at it. I'm sure you'll find lots of nice savings by removing that legacy hardware.

Wednesday, July 8 2009, 03:30 am

Just Say No

... to Government healthcare. I should not have to even take this time to write a post about this subject, but leave it to the powers of Government wanting more power to force my hand. If I dare write another sentence (positive or negative) it will just fortify and aid the power grab of the 2008-2012 American Government. Do yourself a favor and write your congressman, senator, and the President of the United States and tell them you are a voter and you will not re-elect them if they pass a healthcare bill.

P.S. I'm a healthcare software programmer by trade. I have an eye inside of the system.

Wednesday, June 3 2009, 04:00 am

I Cannot Tell a Lie

Stating the obvious is what I do best. You see, on the Internet you cannot tell a lie. If it isn't the slack-jawed yokel who is one out of a million and knows the truth or that die hard fact checker who has sixteen Google extensions for Firefox you will be found out. Please think of the children before you make a comment on a web site. From common knowledge to the tiniest detail in quantum physics, someone is on the Internet that knows exactly what you are talking about. The Internet itself may try to lie and you might come to the conclusion that the Internet is just one big lie, but you would be wrong on both counts. Fact checkers lurk around every corner and are waiting to strike. Will your comment be next?

- page 3 of 6 -