Year: 2008

  • Do or Do Not. There is no Try.

    That is one of my favorite quotes (and not just because it’s in Star Wars, or Yoda said it). It has a lot of meaning to me. And this quote, I suppose, is the theme of my Year in Review post. In the past I’ve said, “This is a benchmark year, blah blah blah,” and then listed things of note that happened to me that year. 2007 was particularly good. But 2008 I feel, was a year of almosts.

    I almost signed that big client or launched that project. I almost got an A, I almost met that goal, I almost said what I really wanted to say. This really goes against the quote that is the thesis of this post, and one I’ve been trying to live by since high school. To me, almost is trying and failing. So for 2009, I’m going to do or do not. I’ve set a business plan for my business and it will be a good year. I just need to follow through instead of just thinking about it or saying I’m too busy. I’ve also set some personal goals for myself, which I will also follow through with.

    So I guess the quote is also my New Year’s resolution. Here’s to 2009. I want to leave you with another 2008 Year in Review post I just read over at SimpleBits. It’s very pithy, to the point, and also holds true for me.

  • Mileage as a Tax Write Off

    money

    It’s not quite that time of the year, though this week (or at least part it) I will be fixing my books up to submit to my accountant. December 31st marks the end of the first official fiscal year for my business. That means I’ll be going over what I have documented, checking my receipts, and finding last minute expenses and write-offs to lower my bottom line and try to reduce the magic number I’m going to owe Uncle Sam. One thing I hadn’t realized until late in the year was that mileage on your car is a write off.

    Since I did find that out, I’ve been keeping a notebook of everywhere I drive and the mileage it took to get there and back. But to backtrack and make sure I’m including all of my meetings, trips to the bank and stores, etc., Google came to the rescue. I looked over Google Calendar to check for meetings I attended and then put the addresses in Google Maps to get a approximate mileage to document. I also looked at bank slips for dates I took those trips, and dates on old receipts to document trips to the store. Turns out I will have a nice little deduction now.

    This helpful tip also helped me to start thinking of other things I might not think of as write offs. Remember, anything that you use for your business can be considered tax deductible- mileage and gas, tolls you might pay, cell phone, books, etc. If you’re thinking about starting a business, or just starting, it’s definitely worth talking to an accountant to get you on track.

    PS- Soon I’mstarting a new blog called, “Freelancing the Net.” I’ll be talking about how I got my start and providing helpful tips and resources for freelancers just starting out, so keep a look out for that in early 2009!

  • Google Web Toolkit

    gwt logo

    After I got back from Google I/O, I mentioned Google Web Toolkit was something they showed off that I was very impressed by. It allows you to build complete AJAX applications using Java. In one of my grad classes this semester, we had the opportunity to use Google Web Toolkit (GWT) on a semester long project. After using it I’ve come to the conclusion that is it great, but I’m not sure I would use it for a normal web design project.

    First, here is a sample GWT project I made called “The Decider.” It allows you to add items to a list and then the program will randomly select one for you. This is all done completely asynchronously. I was able to implement it completely in Java (which I think is easier than javascript) and then build the HTML around it using GWT’s ‘Widget’ classes. Again, you’re using Java to build the interface (without using Java Swing). This takes a little getting used to, but you can pick up pretty quickly after reading GWT’s documentation. A nice thing about the widgets is they all have their own CSS class assigned to them, and there are methods that allow you to add, remove, and override CSS classes. You can also build an HTML page with your own CSS id’s and dynamically add things to them with GWT.

    GWT is great is you’re unfamiliar with web design and you want to showcase some project your doing on the web. Google’s default styles look nice and you can really focus on the functionality, especially if the scope of the project didn’t include a web based implementation. It’s also good if you want to roll out a completely asynchronous UI relatively quickly. With The Decider, I didn’t have to worry about the advanced javascript stuff, using something like Dojo or JQuery, etc. I just wrote in Java, which I am pretty comfortable with. However, if from the outset you know you want to make a web app, I’d recommend doing it the traditional way. Writing your own HTML and CSS is semantically correct and less bloated than a GWT project. But of-course, I’m a web developer first, and I just have my feet wet with GWT. I’m willing to bet with a little extra time, due to the freedom you have with GWT you can make that lightweight, semantically correct (tableless!) interface you want with the power of Java behind it. And you can probably get rid of some of the bloat before deploying your app.

    All-in-all, GWT is really powerful and I think it will be a game changer. Next semester, another grad class I’m taking will be using it and I can’t wait to really get under the hood now that I have an understanding of how things work.

  • If I Could Redesign FoxNews.com…

    fox news.com

    I’ve written before on how the differences between the designs of CNN and Fox News tend to make me go to CNN more often for news. Over the holiday I decided to do a Photoshop mock-up of what I think the Fox News’s site should look like. It still looks overloaded with content and a little crude, but I wanted to try and maintain everything that they present on the homepage. You can view the design here.

    The most important thing about my design is that everything is modularized (a word I kind of hate but use anyway). The current design is pretty hap-hazard, with no real definition of boundary. Plus, with this design, it’s easy to see that we can make the page more dynamic, adding features similar to what MSNBC has, where the user can define the order in which he wants to see each content module.

    I also cleaned up the header a lot. Right now, everything looks detached and kind of thrown in there. I made the logo blend with the rest of the header, fixed the navigation a bit, and confined the shows they had to one tab. When the user clicks on it, it would look like this. Similarly, the “Breaking News” bar looks like it fits, as seen here.

    Overall, I think I did a pretty good job of getting rid of extraneous elements, text that looks like it doesn’t belong, and creating defined borders for each content module. Of course, this is just a quick mock-up and if given the time (or opportunity?), there is some refactoring that can be done. And hey, if you’re from Fox News and you like what you see, maybe we can talk- I do need a job after I graduate in May!

  • Cheap Christmas Shopping

    money

    So it’s probably the case that you’re feeling the pinch in these less-than-desirable economic times (to put it lightly). CNN is reporting a lot of families will have trouble putting gifts under the tree this year, as it the case with my family. However, if you’re like me you’ve got some money saved up for this holiday season. Here are some ways to spend that money more effectively; below is a list of sites where you can generally find things cheaper than normal.

    • woot.com: woot has one deal per day, everyday. There are also some days where they have a “Woot-off”- several (dozens of) items over a couple days. Something to watch closely if you’re not sure what to get something. They also have tee-shirts at shirt.woot and wine stuff at wine.woot.
    • Overstock: Overstock has a wide range of things that you can find refurbished, which will save a little on the price.
    • AmazonMp3: Cheap digital music.They have daily deals and the Five for $5 Fridays. Plus they are all DRM free, so it doesn’t matter what kind of computer or mp3 player they have. An AmazonMp3 gift card would be perfect for the music lover you know. (and Amazon.com in general isn’t too bad either!)
    • Deal Finders: There are several sites that will help you find deals/coupons/cheap stuff online. BeatThat! is just one of many sites showcased in LifeHacker’s Deals Section.

    I use woot and AmazonMp3 (and Amazon in general) regularly. What sites do you use to save money? Any musts that I missed here?

  • Acer Aspire One: Review

    Acer Aspire One

    Two weeks ago Tuesday I decided to purchase something I’ve been looking at for a long time: a netbook. Tiny, cheap, a little weak on performace, but perfect for doing web based stuff. After two weeks with the Acer Aspire One, I’d say for $400 this little machine is worth it. For reference, the main specs are: Windows XP, 1.6Ghz Intel Atom CPU, 1GB RAM, 3-cell battery, 120GB hard drive, 8.9″ display.

    Let me get the gripes out of the way first: The keyboard and trackpad are a little tough to get used to, which should be expected. The battery life could be a little better, but I could always buy a spare. And the WiFi at times is flaky, a problem that can be solved by restarting (which solves most problems in Windows). Other than that, I’ve had a very pleasent experience.

    When I got this I was curious to see if I could manage with just this during the day while I was on campus. My day-to-day work includes web development and other programming, instant messanging, checking email, and listening to music. The last three can be taken care of on the web, using Meebo for IM, GMail for email, and Pandora for music. My concern was the software development stuff. Eclipse, my IDE of choice, is pretty heavy duty stuff. As it turns out, Eclipse takes a little while to start up and at times runs slower than desired, but it doesn’t hinder my productivity. I actually slightly underestimated the performance of this little machine.

    However, there are some things to consider. As I mentioned, I run a lot of programs from the browser. I can do email, IM, music, Office (using GoogleDocs), and much more using just my web browser; and for that I use Google Chrome (which is by far the fastest browser I’ve used). So being concious of performance constraints, I was able to come up with some easy work-arounds and get more bang for my buck.

    There are several limitations working on a netbook. For one, if you can’t work on a small display, this might not work for you. Also, I haven’t tried running more than Google Chrome and my development environment on it- but I don’t have a lot of faith. While my development environment is pretty demanding, I have a feeling once you read more than four major applications- IE or Firefox, AIM, Microsoft Word, and iTunes for example- you will see a big degradation in performance. That’s why my work around relies heavily on my broswer. If you don’t use a lot of web based resources, you might want to look into them before purchasing a netbook.

    My conclusion is just what I thought it would be: this is great machine for web based stuff (and even some heavy lifting), but I could never make it my primary computer. I have several tools on my primary computer that just wouldn’t work on this netbook, and furthermore goes beyond what I think the netbook was created for. All-in-all, it was a very good purchase for me, and I think it would be a good purchase for someone looking for a cheap second machine.

  • Use Google Docs to convert MS Works to Word

    A lot of people who use Windows have access to Microsoft Works, Microsoft’s free ‘solution’ to Office. Today my brother asked me how he would convert a Works word processing document (.wps) to a Word document (.doc), since he did his homework using Works but didn’t have access to that at school- they only have Office. I have Works and was going to convert it using that when I noticed GMail gave the option of opening the .wps using GoogleDocs. As it turns out, GoogleDocs supports .wps documents, which you can then convert to .doc by going to File->Download file as->.doc. It’s as simple as that!

    While it may not always be an option people go to (since you can save a .wps as a .doc in Works), it is one that is readily available just so long as you have an Internet connection. I feel it’s one of many smaller features Google adds into the products that give the user a whole lot of convenience.

  • Updated: What Android Means for the iPhone

    Android Logo

    I could go on to talk about all of the nuances in Android, what I have seen and why I think it’s better than the iPhone, but I feel that would be an exercise in futility. Those in the iPhone camp will think what they want about the user interface (UI) and features no matter what. That goes the same for people in the Android camp. However, there is one very important thing Google did that Apple did not. They made Android completely and unconditionally Open Source (OS). What does this mean for the consumer? Well before I get to that, I want to talk about what it means for the developer.

    As a developer, I really like ease of use and writing an application for the iPhone is anything but. I have to apply to the iPhone Developer’s program. I have to download a pretty hefty program (called a Software Development Kit or SDK) in order for me to write an application. And there are limitations as to what I can access on the iPhone to write my app. Then if I want to submit it to the iTunes App Store (the only place I am allowed to distribute my app), I have to pay the iPhone Developers fee. They will also take 30% of my asking price. Oh and by the way, I can only do all of this if I have a Mac. Then I have to hope Apple lets me keep my app in the store. While this is likely, there have been a few incidences where apps have been taken out of the app store with no reason given. My point is this: Apple holds a pretty tight leash on the entire development process. This is in stark contrast to developing for Android.

    I was up and running in literally minutes with Android’s SDK. Download the fairly lightweight program, follow the direction on the Android SDK’s site, and moments later, I had the sample program running. I can write an app to do whatever I want; even replace the dial screen, address book, or anything. When the G1 debuts, developers will be able to add their app to the Android Marketplace at no cost. However, if you want to distribute your app via some other avenue, that’s fine too. The point: it’s all up to the developer. So back to the original question- what does this mean for the consumer?

    There is more incentive to release free apps. iPhone developers face a higher financial risk because it’s costing them money right off the bat. Why should they write an app for free? With Android, there is no risk. The only cost to the developer is time. Plus, there are virtually no restrictions on developing for Android. I can write an app on any computer (PC or Mac), to do whatever I want, and distribute however I want. That’s convenient for the developer and therefore convenient for the consumer.

    My bottom line is this- Android gives developers the power to do whatever it is they want to do with Android. That means the world’s first phone that can be tailored precisely to your liking. I think it was Morgan Freedman who said it best- “My my, isn’t that something?”

    *This was originally published on Oct. 2nd in my school’s student run newspaper, The Aquinas.

    Update: The G1 is out today! And, Google has released Android’s Source Code

  • The Force Unleashed

    Yesterday I beat The Force Unleashed for Xbox 360. This was a game I had been looking forward to as a Star Wars fan and as a programmer. A few months ago I saw the type of work they were doing to make this world seem more realistic- better physics engines, smarter AI, etc.- and got pretty excited to see how well it worked. After playing the game through, I wasn’t disappointed.

    First I’d like to point out that the story line at times seemed to have better continuity than the prequels. The Force Unleashed takes place between Episodes III and IV, and is about a secret apprentice that Darth Vader takes on to kill any remaining Jedi. The story progressed in true cinematic fashion and had some pretty great twists/surprises in it. It little sappy, but the fact that you can see why some things in the original trilogy happened is really cool.

    Now, onto the game play. I’ve read and been told by a few people that they think the game gets repetitive. While that is true, I still think it is awesome. In my mind, there is nothing better than force gripping a storm trooper and throwing him into a wall or whatever fatal structures there are in the level. I held one in front of a beam and waited for it to fire, incinerating the trooper. Also, shocking a jawa is fun. It’s a little RPG-ish in the fact that you pick and choose which skills, abilities, and force powers you want to hone, and it definitely effects game play; my friend and I played it at the same time and had different trouble points due to the skills we each chose.

    The game is also a little buggy. While it did cause me to restart twice, I’m willing to overlook that due to the sheer power of the physics engine it uses. The events in this game are truly non-deterministic, meaning you can do the same thing over and over again and get completely different results based on probably hundreds of different variables. The AI in enemies is smart enough that they try and grab onto things as you throw them.

    There is very seldom a game that I will beat and then go back and play levels just for the sake of playing them and I find myself doing that with The Force Unleashed. It’s a lot of fun, well thought out, and a must for any Star Wars or gaming fan (but especially Star Wars fans).

  • Apps You Should Follow on Twitter

    Over the last few months I’ve been using Twitter a lot more to get updates from people and fill others in on stuff I’m working on. The best possible thing I think Twitter did was open up the API for others to integrate it. Here are a few things that have made my life easier because they use Twitter.

    • woot: woot.com is a website that offers you a deal a day. By following it on Twitter I don’t have to worry about checking the site daily- I’ll get the update as soon as the post it. Since following woot, I got an 8GB USB Drive for $20 (!) and a pretty sweet pen set for $5.
    • amazonmp3: A few weeks ago, I wrote about how great Amazon Mp3 is. By following it on Twitter, you can get their Daily Deals, which can save you a ton of money on great music. I’ve gotten Patton Oswalt, Dragonforce, and Rod Stewart for $2.99, just to name a few.
    • cnnbrk: Follow cnnbrk, get breaking news to your phone. I find their updates just right, where Fox News’s twitter service updates way too much.
    • rtm: My favorite tasks application Remember The Milk has Twitter integration that allows you to tweet tasks to RTM and get reminder tweets.
    • twanslate: twanslate allows you to send a language and a phrase you want translated into that language. How cool is that?

    Twitter has literally hundreds of other websites integrating it, other apps to use it, and plenty of hacks if you’re creative. It helps you stay updated and stay productive- wherever you are. So what do you use Twitter for?