A Look as the Samsung Vibrant

This evening my wife and I transfered out service from Sprint to T-Mobile, so that means new phones. For me, I went from a Samsung Moment to the newly released Samsung Vibrant, T-Mobile’s version of the Galaxy S line of phones. I haven’t had the phone long enough to write a full review, but I do at least want to give you a preliminary look at the phone.

The first thing I noticed about the phone is how light and thin it was, especially compared to the moment. Though with that light feeling, there is that bit of a cheap plastic feel to it, but then every phone has had that cheap plastic feel to it for me ever since I had my Nokia E71, so I may be biased here. That being said, it doesn’t feel poor in quality, and aside from being plasticy, it does feel pretty good in the hand.

Once you get past the feel of the phone, it’s hard to ignore that big 4″ Super AMOLED screen. It’s big and bright with very rich colors and just looks fantastic. The big advantage over the AMOLED screen in my Moment other than size is that it should be much easier to see in direct sun light, but it’s to late in the day to test that(maybe for the full review). At 4″, the screen is probably just the right size to not be too big to be pocketable, but still big enough to be easily navigated and to type on the on screen keyboard. Playing the included copy of Avatar looked great and this phone will make a great portable media player. Overall the screen is excellent on first impression.

The software is Android 2.1 with some Samsung UI customizations. Luckily the the alterations are pretty minor updates and not a complete overhaul, so you get more home screens and the bottom bar of icons that might free up a place or two over vanilla Android. The Vibrant comes with the Swype keyboard in place of the standard Android one. While many swear by it, I still like the regular keyboard just fine, and you do have the option of swapping between the Android, Samsung, and Swype keyboards, so that should keep most people happy. Like most customizations like Sense and Blur, Samsung does include a few extra widgets to do things like social networking. I personally find these unremarkable, but they’re there if that’s you cup of tea. Overall, the experience is not far removed from that of regular Android. A nice step up from the Moment, but common in other recent Android phones, is multitouch support for things like pinch to zoom in the browser and maps. Sure 2.2 would be nice, but we can only hope Samsung rolls that out soon.

One disappointing thing on the Vibrant is the lack of flash on the camera. While the 5 megapixel camera is adequate, the lack of an LED flash seems to be a big omission on what Samsung appears to be touting as a flagship device. An LED flash practically standard now days. It’s not a huge issue for me personally, but I can see this being a deal breaker for some. Also missing in the camera department is the forward facing camera. While traditionally more popular outside of North America, they’ve started showing up here in the states and one would be nice, but it is far from a standard feature, so I suppose it can be forgiven for now.

On the rest of the hardware, the only physical buttons are the volume rocker and the power/lock button. The menu, home, back, and search “buttons” along the bottom are capacitive touch, so no clicks there. Another nice touch is the USB port cover. Where as most phones either leave the USB port permanently expose or use a flimsy rubber stopper, Samsung is using a small hard plastic sliding “door” to cover the port. It feels very sturdy and I don’t feel like I’m going to rip it off like the rubber stoppers. Samsung had also added one thing that has often been missing in Android phone, and large amount of internal storage, in this case, 16GB of built in flash memory. It also retains the SD card slot allowing you to add up to a 16GB card for a total of 32GB(I have an 8 GB card for 24GB overall). The final hardware feature worth mentioning is the snappy 1GHz processor. The phone feels very fast and fluid with none of the freezes

Overall, the Vibrant seems to be able to stand up next to all the other high end Android phones in most respects, and indeed compete head on with any smartphone on the market. If you’re on T-Mobile and looking for an Android phone, there’s almost no reason to not get the Vibrant. The only real advantage the Nexus One has is speed of update. I weighed the two against one another, and the Vibrant seems to be the better phone. We’ll see if my decision holds up in the coming weeks and months. I may actually keep this phone longer than six months.

Maybe it’s Finally Time

I have lot’s of little side projects that I devote a little bit of time to ever once in a while, just enough to feel like I’m not ignoring it, but not enough to ever finish any. So I’m still using WordPress here because my half written blogging system isn’t safe to be deployed to a public web server, I have a box of half soldered together electronic components(but I do finally have a place to work now with the right tools), one of my oldest projects, a stack of writings and drawings for a computer game I’d like to make someday along with a ton of other small things I’d like to do, some as small as finishing some of the half read books I have laying around. Of course a big part of the problem is that I keep trying to do all these things at once. Sure, some things will eventually get done, especially the small things. While a book will eventually get read, bigger projects need more focus. So I’m going to pick one big project while shelving the rest and run with it. I’m  going to make my game.

I realize that this is probably the biggest and most ambitious project, but it’s also the one I care about the most, and at going on 13 years, it’s also the oldest. This is also one of my projects that also came closest to being finished. During my freshman year of college, I took what was then the FreeCraft engine and started building my game around it. I had one playable faction nearly done, but was becoming very unhappy with what it was shaping up to be. The major problem was that at the time the engine was a very dated 2D RTS engine that was very locked into the Warcraft II game mechanics. At the end of the day, the best I could hope for was an outdated Warcraft II in space. Sure, Starcraft was still going strong, but it wouldn’t work for me in 2002/2003.

So I stopped working on it until I could either find a good open source RTS engine that was relatively modern and a bit more flexible or until I could write my own. At the time, I couldn’t find anything to satisfy the first condition, but I found and option that was a hybrid of the two.. I attempted to shoehorn the excellent CrystalSpace 3D engine into an RTS game. While it was probably possible, at the time it was a bit too ambitious for me. So since late 2003, this project has mostly been dormant aside from writing a little bit of back story or drawing some sketches.

Now I’ve decided to give it one more shot. I’m still not up to the task of writing a 3D RTS engine from scratch, but luckily the situation has improved since FreeCraft in 2002. I’m currently looking at the Spring RTS engine, which appears rather competent and includes flexible LUA scripting. I begun the process of modelling the units and am doing initial development as mod for the Spring engine before I begin warping the whole thing into a standalone game. On the whole, the entire process is not too dissimilar from the process of making the FreeCraft based game, expect I now have to create 3D models instead of 2D drawings.

Even though one of the hardest parts is done(the engine), this won’t be a simple task that I can do over the weekend. It’ll take many months, but I’ll try to post updates when I can if for no other reason than my own encouragement.

Thoughts on Fixing Congress

Over the past few weeks discussion on the UK parliamentary elections has focused a lot on the Liberal Democrats’ push for election reform. This has gotten me to think about the problems with the people’s representation here in the United States. Right now we have a House of Representatives made of only 435 people with each representative representing somewhere between 650,000 and 700,000 people. Then there is the Senate, the aristocratic upper chamber originally representing the states, now representing large corporations and special interests, whose main purpose is to keep the popular will of the people in check.

Let’s take a look at the Senate first. Originally senators were not elected, but instead they were appointed by the state legislatures of each state. The reason for its existence is largely for the same reason the president is elected by an electoral college rather than popular vote. Part of it is due to the partial sovereignty states enjoyed before the civil war, but also because the founders did not trust the popular will of the people. Despite idyllic depictions of the founders and bringers of freedom and democracy to all, they thought common people weren’t bright enough to govern themselves, thus the Senate and electoral college checks against popular power. I believe this is an anachronism of a bygone era and has no place in a modern democratic process. This can be seen in the recent healthcare debacle. The people wanted progressive healthcare reform and that was reflected in the House, but was blocked in the Senate and we got stuck with the turd of a bill that passed. There’s no fixing the Senate, it needs to be abolished, but be the House of Representatives needs to be fixed before that happens.

Now let’s look at the House of Representatives. The House is made up of 435 members directly elected by members of their district in a first past the post system where the candidate with a plurality of votes wins. There are two big problems I have with the current system. One is that 435 representatives can’t effectively represent 300 million people, and second is that current system of election discriminates against third parties and helps enforce a two party systems by creating a perception of wasted votes for third parties.

My first proposal is to increase the size of the House to 1500 members; still probably not enough for truly effective representation, but definitely a step in the right direction. Increasing the size of the House is not a new idea certainly, and not really a radical idea, but I wan’t to take things a stop further. After increasing the House to 1500 members, I don’t propose creating 1500 congressional districts, but instead create 500 districts represented by three representatives each who are to be elected in a single transferable vote system. I’m not going to repeat the Wikipedia article in the link, but basically in this system, there would be no primaries, instead all candidates from all parties would be on the ballot and voters would rank candidates by preference and those rankings from all voters are used to choose three winners.

One of the biggest advantages of this system is that it removes the perception of wasted votes, allowing voters to vote for their truly preferred candidate, but also pick “safe” strategic options as well. Another major advantage is that is would give constituents more than one person to go to. For instance, right now my current representative is a moron so writing my congressman on important issues would be a futile task, but under the system I mentioned, I would likely have at least one representative whose views were closer to mine and I would have an opportunity for productive dialog.

This system would also likely kill the current two party monopoly in this country. IT may also hurt the chances of any single party winning a majority, which may seem like a bad thing at first, but I don’t think so. I think relying on coalitions would help keep congress honest, and I don’t think permanent coalitions created a de facto two party system are that big of a danger. For instance if the far christian right left the Republican Party for the Constitution Party, I don’t think the Republicans would necessarily align with them all the in time, instead the Republicans may feel like a huge burden has been lifted and become much more moderate. Sure Republican-Constitution-Libertarian right wing coalitions and Democrat-Green-Socialist left wing coalitions will probably for from time to time, there will also likely be moderate coalitions, perhaps even a moderate/centrist Democrat-Republican coalition after each party is freed from their respective extremist wings. It’s not going to get rid of either major party, but it should give the smaller parties more of a voice. For instance, I could see the Libertarian Party play king maker for either the Democrats by playing the socially progressive card or the Republicans by playing the economically conservative card.

There is also one more huge gain from abolishing the Senate and reforming the House in this way, it would seriously damage corporate power over government. Right now the senate is the easiest way due to the relative power of each senator. The House is less bought and paid for due to the number of representatives and increasing that number would make it even harder for special interest groups to buy enough representatives to carry out their agenda.

So could any of this ever be done? To abolish the senate would of course require a constitutional amendment. Some of the provisions to fix the House could be implemented now, such as increasing the size, and I believe the individual states can choose how its representatives can be elected, though it would impractical to try to change the election procedures in every state and any reform in the House is useless if the Senate is still in the way. My preference would be a constitutional amendment that abolished the Senate, set the size of the House 1500 leaving provisions for the number to be raised by congress, specify the STV election system for the House, transferring Senate specific powers to the House(such as treaty and cabinet approvals), and while we’re at it, we might as well get rid of the electorial college and specify direct election of the president, preferably with an instant runoff system.

Of course even if all these measure are implemented, our government won’t be perfect, but it would be a step in the right direction and get us closer to a government of the people and for the people.

Game Design Ideas

Recently I’ve started looking into mobile development again, mostly Android, with webOS and Maemo(now MeeGo) as later possibilities. What makes this time different, is that instead of writing pointless projects to learn, I actually have a specific project I want to create(always a good motivator). Now this particular project is a game, more specifically a (likely turn-based) 2D strategy game based in a scifi universe I’ve created. The biggest thing I’m trying to decide on the game’s design is the actual game play mechanics.

Since this will be a mobile game(and only mobile for now), I’m leaning towards turn based pretty heavily.  The reason is that most of the time when I (and I suspect many others) play games on a cell phone or other mobile platforms, it’s while waiting on something else or some other in between time. It’s usually not I set time to sit down and do, so getting involved in a fat moving game that you can’t put down, like Star Craft doesn’t usually work for me. A turn based game is generally easier to put down and come back to.

The problem is that the game is on a small scale, so that leads me to more of an RPG approach. So you’ll have many units to move around the map and control them like you would in any other strategy game, but once you enter combat, it takes on more of an RPG feel. You’ll be able to attack with specific weapons(a pulse cannon or a missile), launch evasive maneuvers, or try to flee the battle. This is also where I want to make some compromises between real time and turn based strategy. In a real time game, it you send a small scout ship ahead and it gets attacked, you can usually save it if you have heavy forces near by. It doesn’t always work that way in turn based games; the little ship can try to run, and may be destroyed, but no one is coming to help. There are two ways I plan to combat this. One, is that the units do not have to be on the same “tile” to be in the battle, just with in weapons range of one another. So if that a heavy cruiser is in range of the ship attacking your scout ship, it’s in the battle. The second is being about to call for reinforcements. So if that heavy cruiser is one turn away from being in range of the battle. the scout ship can call for reinforcements and launch evasive manuvers, and after a turn, the cruiser will join the battle.

While I’ve not seen this specifically implemented before, I’m sure this probably isn’t an original idea, so if you know of any games that have something like this, let me know. So any thoughts or suggestions?

Server Upgrade Success

Last night I swtiched my server from Ubuntu to Debian and so far seems to be a success. There wasn’t technically anything wrong with the old one, but when I set it up, all I had on hand was an Ubuntu 8.04 desktop install CD, so I had a lot of unneccesary desktop packages installed and being the desktop version I have a some what shorter support window and would have to upgrade in a year anyway. The public facing web server stuff was able to be set right back up, but there were a few hang ups with some of the local services, but they seem to be fine now.

Domino’s New Pizza

Last night I tried Domino’s new pizza last night, not so much because I wanted to try it, but mostly because it was cheap. So was it any better? Technically it was better than the old pizza, but from where it was coming from, better doesn’t necessarily mean good.

Let’s start with the meats. That was one thing they really couldn’t screw up before and it’s mostly the same here. The cheese seems to be the same white cheese they keep calling mozzarella, but certainly doesn’t taste like it, but it is largely the same as most other national pizza chains.

The only real changes appear to be the sauce and the crust. The sauce has been upgraded from ketchup to a cheap jar of spaghetti sauce. Not a big change, and not exactly good, but technically an improvement. The crust is still mostly chewy cardboard, but the outer crust has been improved somewhat. Now it’s covered in the same garlic seasoning that you’d find on bread sticks. So at least the outer crust has gone from pretty much inedible garbage to free bread sticks. I’d rate that as the only real improvement. Overall, it’s the same crappy pizza now with free bread sticks.

Old and New Projects

First the old project, Junecode. It’s a project that’s been floating around in my head for a long time in a lot of forms, but never a whole lot of code to show for it. Originally I was looking for a larger scale content management system for my site, Junetech, and was using either PostNuke or PHP-Nuke, and the initial version of Junecode existed as a customized and striped down fork or which ever one of those I was using at the time. Due to it only existing on my shared web host at the time, when Junetech shutdown at that time, away went was was then Junecode.

Over time Junecode was the name I attached to the idea of a blogging system I would write, but never got around too. Finally a couple of months ago, I sat down for a weekend and threw together a minimalist blog system in PHP/MySQL, mostly to brush up on my PHP and MySQL, but I’ve decided to upload it to the long empty Junecode site on SourceForge. The project is here.

And now for a new project, Articulation. It is a GUI for Concordance to program Harmony remotes. Initially it was just going to be the current Congruity GUI with a way web rendered directly itegrated to give an experiance closer to that of the regular Logitech version. I’ve since decided to do the GUI in native GTK+ instead of wxWidgets, so I’m in the middle of a rewrite of Congruity to GTK+, then I’ll worry about the web part.

Windows 7 Party Pack

Today I got my Windows 7 Party Pack in the mail. Yes, for the same goofy launch parties in the videos, but what the hell, it’s a free copy of Windown 7 Ultimate, which should be a nice upgrade from the copy of Windows Vista business I got for watching some developer videos at its launch.

Instead of inluding things really needed at a party like food and beer, Microsoft seems to have have just gone with the lame end of party supplies and thrown in some streamers, ballons, napkins, a card board “center piece” and a big poster. For activites, they have thrown in a puzzle and a deck of playing cards, which makes the lack of alcohol even more puzzling since copius amounts would be required to make either of those much fun at at party.

And what will the guests bring home? About half a dozen small cards with advertisments/coupons and a large bag to take them home in. So it’s probably best not to tell your guests what they’ll be getting before the come to the party.

Of course I took a few pictures of all this(also first test of the camera on my new BB Tour). Later on tonight I’ll probably install Windows 7 and should have a review up soon(right after my reviews of my E71, Ubuntu 9.04, the Pre, and my Tour).

Back to Programming

In order to make myself a more well rounded job candidate and ensure that my resume is accurate, I’ve been refreshing my knowledge of some programming stuff I used to do. This weekend I started off slow with some web programming involving so PHP, but mostly focused on MySQL. It was actually kind of nice to get back into it, though I didn’t actually get too far into the project I want to do. Mostly I reviewed some PHP and MySQL books, writing some small code snippets, but nothing big or interconnected yet. Luckily I finished an online JavaScript class recently, so that was a nice JS and HTML refresher.

Once I feel comfortable with the web stuff, I’m moving on to Python, and I’ll probably throw in some Perl. Luckily these are the one’s I’m most up to date on since they’re a little more used in my day to day Linux use. After that, I think I might put off the Android development and go for some .NET/C# stuff since it’s probably more marketable, and the Android stuff is more for fun. Hopefully by the end of the week I’ll have some code to post.

Job Hunting and More

A couple of weeks ago, I officially decided to get out of the Air Force. So that means I’m looking for a job. Right now I’m looking in Kentucky(but not closer than 100 miles from Cincinnati), Tennessee, and the Carolinas, with most of my energy focused on the Carolinas. I’m really hoping to find something in the Raleigh or Research Triangle Area of NC since it seems to be such a great place to live and work, though I’m not limiting myself at this point. One up side of being an IT guy is that I can pretty much work anywhere with computers, which is just about everywhere these days.  I’d appreciate any advice, leads, or any help at all. My resume is here.

So far the biggest problem I’m finding is that while I feel I’m qualified for a great many jobs, I’m having trouble “proving it”, mostly when it comes to Linux admin jobs. I use Linux at home all the time, there aren’t even any Windows machines in my house, and have years of experience using it, but unfortunately my professional work in the Air Force has been almost all Windows. While I will work as a Windows admin(servers, I don’t really want to do PC support anymore), I would really like a shot at Linux. Just for my own purposes of brushing up on things in case I do get a Linux job, I’ll be setting up a new backup server this weekend, and I’m probably going with CentOS for no other reason that it being mostly Red Hat.

I’ve also pretty much decided to stop working on what will probably be a mostly worthless online degree. Instead, I’m going to take this opportunity to flex my long dormant programming muscles. I’ve got a few projects planned over the next few months. One that I’m most excited about kind of goes back to my beginnings. My first programing project was a picture view written in Visual Basic. While it wasn’t much to look at, I was still proud of it. This new project will go just above picture viewer into some organizing territory, and this time it will be written in Python/GTK+ and targeted at Linux. While I’m writing it as more of a programming exercise and am not aiming for anything close to iPhoto or Picasa right away, I do hope I stick with it as a long term project.

That will cover some Python and desktop programming warm ups, but another area that I’m not as rusty in, but still need some refreshing is web development. What I want to do with this is just a little recipe database for use inside my home network. With it I’ll be brushing up on my PHP, HTML, JavaScript(maybe some AJAXy stuff), and especially MySQL(I really need to work on my database programming). If I get right to it and don’t get too distracted, this could easily be a weekend project, but I don’t see myself getting that much free time.

Finally, I plan to branch out into something new, mobile development. This one is the most distant, and most subject to being forgotten about. I don’t even know exactly what type of program I want to write yet, but I do want to do a little bit of Android programming. I also need the Java practice since it’s one of those things I’ve learned in school, but never actually put into practice outside of the assignments in class. Overall I think they are some solid projects and small enough in scale to make them quite attainable, assuming I can just find the spare time.