Wednesday, October 5, 2011
Crazy Enough to Change the World
None of the technical considerations mattered to Steve Jobs. It was never about the technology, it was always about the people. He realized that it wasn't about the megahertz or mega pixels, it was how it worked and how it looked. Technology was only the enabler. Steve Jobs raised the bar for everyone creating products and at the same time moved society forward.
Apple was an experiment in what would happen if you actually had one person that was willing to make the final decision. He may not have always been correct, but he thought he was and stood behind his decisions.
The question I ask myself and I believe everyone should ask is, "By doing this am I making the world a better place?" You really can't know the actual answer to the question till after the fact. Mr. Jobs, the answer for you is yes.
Wednesday, September 14, 2011
The Age of the Operating System
What is the biggest challenge in computing? Depending on who you ask and when you ask the question the answers will be dramatically different. The biggest challenge often provides the gateway to the next breakthrough in computing. While the iPad has created a new market that it proceeded to take all of the market share, I do not believe this form factor provides the biggest challenge even though manufactures of Android tablets are acting like it is. Apple is promoting the three form factor sizes that they sell. However, this is a dramatic oversimplification.
Reality is that we are living in a world where screens come in every shape and size. The world is not divided into a 3.5 inch, 9.7 inch, and 15 inch buckets. We have screens that range in size from 2 inches all the way up to 65 inches and beyond.
The real challenge is the operating system. Specifically, the visual interface of the operating system. In my mind there are three major competitors that are all working towards the same goal. Apple's iOS, Google's Android, and Microsoft's Windows are all heading the same direction: a unified interface.
We are not there yet. For Apple, Mac OSX Lion has an iOS like interface (that I find more annoying than useful) and the iPad has a larger screen that has become very popular. For Android, Ice Cream Sandwich will unify the the Gingerbread / Honeycomb differences for the phone / table interfaces. For Microsoft, Windows Mobile Phone 7 and Windows 8 have a unified interface with the Metro design. Lets not forget the Apple TV, the Google TV, and the Microsoft Xbox all have interfaces for large devices provided by the corresponding companies.
The problem is that the same interface that works on a phone, on a computer, and on a television has not yet been invented. Some people think it does not exist. As a developer, I do not necessarily want an interface that is the same, I just want to build it out of the same building blocks. This way I can write an application once and have it run anywhere. As a consumer, I want my data and accounts to be portable. My experience developing applications has taught me that I am horrible at creating interfaces. I am suited for database and object oriented design, but my GUIs are hideous and hard to use.
My prediction is that Apple, Google, and Microsoft will each provide a solution for a unified operating system that works on every size screen within the next few years. We are already almost there already!
My least favorite of the approaches is that taken by Apple. The closed system approach that targets a "single" device has major benefits, but is not capable of innovation in a vacuum. The iOS platform has pushed computing into new areas and created new opportunities for the average person to integrate technology into their lives. My favorite approach is the open source one provided by Google's Android. Even though Android is not developed in the open and the code is licensed Apache 2.0 instead of GPLv3, the balance still favors freedom. The biggest downside is also the freedom provided by the system. The combination of phones, tables, and TVs all running Android is mainly complicated by Chrome OS. The real competitor to keep your eye on is Microsoft. While their phone solution may not be taking off, the market power of Windows combined with Xbox makes this not only the platform of the past, but the likely platform of the future.
While I am currently developing native apps for Windows, Android, and now even iOS, the universal platform is still the web. While Chrome and Chrome OS are designed to push the limits of the web while providing improvements to security and an overall simplified experience, I do not see native applications going anywhere. The scifi interfaces of the future are quickly approaching and it will be the next generation operating systems that make them a reality.
I believe the end result will be a way for a developer to write a single application that runs on devices of all shapes and sizes on a single platform. It may be the open Android, the proprietary Windows, or the locked down iOS, but hopefully all three. The big trend seems to be moving towards simplification. In the end though, I still only want a heads up display with augmented reality, but that is another issue all together.
Sunday, September 11, 2011
Stargate Cake
The credit for creating this awesome Stargate cake goes to Cassie. It was made for Steven's birthday, but it was so amazing I couldn't resist sharing the construction process.
Monday, September 5, 2011
My TWiT Birthday
I've been a fan of TWiT for about 6 years now. As a long time fan, my girlfriend decided to get me a TWiT brick for my birthday. It is a contribution to help build the new TWiT studio, but I get a brick with "UnitVectorY Jared Hatfield" in the lobby of the TWiT brick house.
To top things off she even made me an awesome TWiT themed birthday cake!
You can see in the above pictures the Certificate of Appreciation that I received (my replica brick AKA paperweight is still in the mail), my awesome birthday cake that includes the TWiT logo and reads "Happy Birthday to My TWiT", and my Chromebook showing the TWiT website.
Saturday, August 20, 2011
Programming for XML: The Easy Way
I really like XML. It is really amazing what you can do with it. All you have to do is define a structure and then create a document that follows that structure. You can mix and match attributes and elements in individual tags or in lists of tags. The real power of XML is not in the static documents, but in having it be interpreted in running applications.
While I use a lot of programming languages on a regular basis, one of my favorites is C#. One of the reasons C# is so easy to use is because of the built in ability to serialize and deserialize objects directly to XML. This ability is made possible by the XmlSerializer class. With simple annotations you can directly map the objects into the XML structure. The power of this approach is that you can build individual objects that represent each part of the XML and then load the entire document into memory with a single operation.
Java does not provide this functionality out of the box, but Simple XML provides a very small library that allows for an almost identical approach to be used in Java.
With the appropriate calls, the above code could easily read in and produce the following XML document:
While there are some differences between the C# approach and the Simple XML implementation, they are minor. Other than the minor syntax differences, they two handle arrays of objects slightly different. The biggest difference is the default behavior related to unexpected XML attributes and elements. C# is very forgiving and will be able to handle missing and extra elements and attributes without throwing an exception. However, it will throw an exception if there is a type mismatch such as trying to load a string into an integer. The Simple XML framework uses a strict parsing by default and the application will throw an exception if unexpected elements or attributes are encountered. Luckily there is a parameter that can override this behavior. The main reason I have encountered this requirement is to maintain backward compatibility as an XML schema changes over time.
My real complaint is the way the iPhone (Objective-C) deals with XML parsing. While there is no lack of parsing libraries on the iPhone, none of them use the object annotation approaches that I described above. This boils down to the different approach Objective-C uses with regard to syntax and the way objects are defined.
One of the projects I am currently working on requires that I port over several application libraries that has already been written in both C# and Java to Objective-C so it can run on the iPhone. While I have managed to avoid writing complex XML parsers up till now, it seems unavoidable at this point.
With respect to the iPhone, there is a built in plist parsers. Alternatively, JSON provides another means for document communication that would be somewhat easier. In the end I will have to live with my previous decision related to application architecture and choose an XML parsing engine and write the necessary code.
Monday, June 13, 2011
My History with Tablet Computing and my Views on the Future
In high school, more than anything I wanted a Tablet PC. Yes, one running Windows XP with a stylus that everyone seems to hate so very much now. I ended up getting one, a Toshiba M405, which was the first in a string of Tablet PC purchases. Speed School started a Tablet PC program the year I entered and I was very involved in making it successful. I co-founded the Student Tablet User Group and created software that was specifically designed to work with digital ink content. I also managed to have a class project focused on handwriting recognition and my thesis was based on algorithmic organization of digital ink. Not all of my work was based around pen enabled input. My capstone project was a touch enabled card game engine that was built on top of Microsoft Surface technologies.
At this point, I have four Tablet PCs which are essentially being used as Laptops. Thanks to Google, I now have a Galaxy Tab 10.1 running Honeycomb 3.1. In the past, I was not a huge fan of Java development, specifically Eclipse, but that has since changed. My use of AppEngine as a web based development platform along with Android application development and some other small side projects, it has become one of my most used programming languages. PHP and C# are still used for many of my projects, but Java provides unmatched flexibility.
The past is always interesting to talk about, but my real concern now is the future. The success of the iPad can not be viewed as a bad thing for the general public, but personally I am not a fan. While I realize that for some people the iPad provides the integrated experience they want, it will always be lacking in certain areas. The best explanation that I have heard is that it takes a day to master the use of an iPad while you will still be learning how to use an Android tablet even after weeks of use. I agree with that statement and must assert that it is a good thing. Android provides a flexible and open architecture that allows for a more dynamic computing experience.
The real issue to me from a productivity standpoint can be best summarized in a single question. Can it run Eclipse? I think this is a good benchmark to determine the level of productivity that you can have on a device. Since Eclipse is based on Java, it can in theory run anywhere. The complexity and scale of Eclipse makes it a sizable application that can run slow even on modern computers. Eclipse will never run on the iPad. The real question for me is not if it will run on an Android Tablet, but will it run on the Chrome Book that I am expecting in the mail soon. The core issue here is productivity and the question can be re-framed. Does a "windows" based computing environment provide the most productive computing environment? I would argue that for certain tasks the command line is the most productive. Just as the command line is still a tool of power users a, windowed environment may turn into the same type of tool.
The future will be in the clouds, probably more than anyone expects. It seems silly to have so much computing power in your pocket (considering battery life) when it could simply be offloaded to another location (that includes an AC adapter). The devices that we use in our day-to-day lives will simply turn into I/O devices, providing screens and various means of input (keyboards, touch, pen, and voice). From this respect I think the "windows" interface has only a few years left (I'll pick the arbitrary number of 4) before the vast majority of computing is performed using other interface constructs. The concept of the traditional window simply does not scale properly to the dozens of screens we are surrounded with.
Mobile phones have introduces the concept of the "app" which is best described as an application that has full screen interfaces that provide a focused computing experience. While this is a useful construct, I do not believe it is the most ideal. Personally I am waiting for an immersive augmented reality heads up display to become my primary interface into the digital world. This concept strays far from the slate based tablets that are rapidly growing in popularity. Android is the most likely platform to embrace all forms of input (keyboards, touch, pen, and voice), which puts it in the best position for the future. Android also provides a highly flexible way to have the same application target multiple computing interfaces and hardware types. Windows also has all of theses features and Windows 8 may extends Microsoft's dominance for another 10 years. Apple will continue its success, but based on their approach can not change the world by themselves.
The real trick to become the next paradigm in computing is to become transparent. In the future, it will seem silly to say, "I'm going to go use the computer" because there will be dozens of computers around you at all times. I'm already surrounded by half a dozed computing devices and this number will only increase. The future I want to see will be ruled by open source and therefore ruled by no single individual or company. The question about tablet computing and the future is the wrong question. There will simply be computing and the entire range of devices must be supported and integrated using the cloud.
Monday, June 6, 2011
Building an Android Application in One Week
As you can see from the chart below, I began coding on Monday May 30,2011. The majority of the code was written in the first three days of the project. This work mostly consisted of building the model that was use to represent the field events and participants. This code would have likely taken longer to create if I did not include the Simple XML third party library. Unlike the XML serialization capabilities built into .NET and C#, Java has no built in way to quickly and easily serialize objects into XML. While I could have used binary serialization, that had the possibility of causing problems in the future.
Using the Simple library was so quick and easy, I will likely use it in some other Java based applications that require some trivial XML parsing capabilities. The most attractive feature of Simple is the fact that it is very small. The APK for Track and Field Clipboard is only 156k, which has the library bundled with it. Other libraries were in the multiple megabyte range by themselves.
Android provides a variety of ways to store data persistently. I settled on using files and not an SQLite database to dramatically simplify the process. The process involves writing and reading the serialized object's XML to and from a file. Initial testing on this approach was very promising. The file was read using an AsyncTask and then the appropriate Activity was launched. Since all of the manipulations to the object were being performed in a single activity, this approach worked perfectly. When the activity was paused, another AsyncTask was dispatched to save the object back to the file so nothing would be lost. While I did have some performance issues, it turned out those were primarily cause by having the debugger attached to my device.
The weekly activity graph for this project is very interesting since the project is only a week old. The number of commits peaked and then fell indicating that the application was starting to stabilize. Since the project was a straight forward application there were very few stumbling blocks that I encountered during the process.
At the moment, I am currently between the end of my college career and the start of my first full time job. This means I have had several weeks (and still have several weeks more) where I can decided how to spend my time. Unlike many geeks, I am not a night person. I tend to wake up fairly early and do not stay up late into the morning hours. I have code commits as early as 9 AM and they only go as late as 2 PM. The drop in the number of commits in the later hours is likely when I was hungry and tended to take a break from coding. My lunch breaks were obviously much shorter. The graph reveals my peek productivity times: after lunch and before I go to bed.
This is obviously a very new project and I am confident that there are still a number of bugs in the code. There are also some simple features that did not make it into the initial release. Spending the past week creating this application has been my form of relaxing. Learning how to write an application that targets Honeycomb was definitely worth my time and effort.
Sunday, June 5, 2011
Introducing Track and Field Clipboard
It is a fairly simple idea and I had even talked about it before, but this past week I decided to actually build it. As someone who has been around Track and Field meets since I was very young, it was a perfect opportunity for me to build an application for an Android Honeycomb tablet. The basic idea is to replace the clipboard, paper, and pencil used to record scores for field events with a tablet.
When Google gave a Samsung Galaxy Tab 10.1 to everyone attending Google IO (including myself) there was a less than subtle nudge to "go forth and create apps." Not wanting to spend all of my time playing Angry Birds and now Plants vs Zombies, I decided to actually build a fully functional and useful application.
While I have one other application on the market and another long term project that has an Android component, I wanted to specifically focus on Honeycomb. While the application I build could have targeted phones, that was not my goal. The use case for a small screen is far less attractive, but the biggest motivation for only focusing on Honeycomb was simply to learn some of the new APIs and methodologies. I have spent some time working with the compatibility API for fragments and developing a pure Honeycomb application seemed like a more enjoyable activity.
Now a little bit about the application itself. I finally settled on the name Track and Field Clipboard for the application. Breaking with my long tradition of open sourcing my side projects, I have decided to keep this application close source. However, it is available for free on the Android Market. There is the possibility of me adding some advanced features in a paid version of the application if it gains some adoption.
The application is designed to be very easy to use. You create an event, add participants, and then record marks. The field events that are supported include Discus, Shot Put, Javelin, Long Jump, and Triple Jump. High Jump and Pole Vault are not supported since the rules for those competitions are significantly different and more complex.
The main benefit of using this application as opposed to an analog piece of paper is the automation that it provides. If the competition has flights, the athletes that qualify for the finals along with the order is automatically determined. Each participants best mark is highlighted to provide an accurate summary of the results at the current moment. Additionally, each participants current place is also available along with a view that summarizes the results. After you have finished with the event, the results can be emailed.
My goal here is to have this application just be slightly ahead of its time. There is not a large adoption of Android Tablet users at track meets yet, but with some luck that may change in the next year.
I need to thank Cassie for her help with the graphics (as always). I also need to thank my father for helping me work out some of the details to make sure they matched what would be expected by the user. He also served as my first actual user at the Bluegrass State Games yesterday.
In the end, my goal is to help bring technology into a new area and provide a good user experience. Hopefully I can find some users. More likely, I hope some users can find my app.
Thursday, May 12, 2011
San Francisco Vacation
Amazing! The trip was simply amazing. While the conference was only two days, we decided to make a vacation out of it by dedicating two days to travel, one day for sight seeing, and two days for the conference. Before leaving, we purchased tickets to visit Alcatraz Island. That was a good decision. We walked from our hotel to the port and then spent a few hours on the island.
After leaving the island we headed to Pier 39. It was a popular tourist attraction, but was very enjoyable to visit. It was not too crowded and the shops and stores were nice. I was a major fan of the left handed store and ended up getting a t-shirt.
Using the public transportation to get around the city was very affordable and we had no problems. I will be posting some more pictures in the next few days. I will also write a recap of what I learned from the conference itself.
Sunday, May 8, 2011
Getting Ready for Google IO 2011
My decision to go to Google IO was based on two factors, time and money. Right now, after I have finished classes but before I start my full time job. I have lots of time. The main problem is I have no money. I made the decision to find some way to make it work and now I'm here! This is definitely a great way to celebrate the end of my college career.
The conference does not start until Tuesday, but I'm already really excited. Tomorrow will be dedicated to sight seeing and I plan on taking lots of pictures.
Wednesday, April 20, 2011
Defending my Thesis
After months and months of work, I can finally see the light at the end of the tunnel. I defended my thesis Clustering Digital Ink Content to Assist with the Grading of Student Work today. The work that I have done that is based on DyKnow provided me an excellent starting point for my thesis. My open source DyKnow Panel eXtractor project, specifically the DPX Answers application was what I used for my thesis. While the majority of what I implemented for my thesis is available as part of the open source project, the exception is the clustering algorithm I designed.
I recorded my defense, but unfortunately it seems that there were a few problems and there are a few missing minutes between the clips. The majority of my presentation was recorded and the missing bits are not terribly important.
Almost there!
Friday, April 15, 2011
NAESC 2011 Council Presentation - Out in the Open: Council Transparency
Speed School Student Council presentation given by Jared Hatfield at the NAESC 2011 National Conference on the subject of council transparency.
Part 1 of 2
Part 2 of 2
NAESC 2011 Council Presentation - Getting Freshman Involved: Freshman Council
Speed School Student Council presentation given by Jared Hatfield at the NAESC 2011 National Conference on the subject of how to run an effective Freshman Council.
Part 1: The Presentation
Part 2: Question and Answers
Monday, April 4, 2011
My Fight for Transparency in Student Government
- (of a material or object) See-through, clear; having the property that light passes through it almost undisturbed, such that one can see through it clearly.
- The waters of the lake were transparent until the factory dumped wastes there.
- (of a system or organization) Open, public; having the property that theories and practices are publicly visible, thereby reducing the chance of corruption.
- Obvious; readily apparent; easy to see or understand.
- His reasons for the decision were transparent.
Transparency is such a simple word, but its consequences can be very profound. I was elected as Speed School Student Council Vice President in spring of 2010 and took office as an SGA senator in fall of 2010. One of my first actions as a senator was to co-author and help pass Resolution Sunshine, a resolution whose name was inspired by the Sunlight Foundation. The goal of this resolution was to require SGA to post their documents so that all students could have free and open access to them on the Internet. My previous experience with SSSC had shown that this is possible, and as Director of Administration I personally scanned and posted minutes dating back all the way to 1948.
In the end, my goal to improve transparency in SGA was not as successful as I would have liked after working from inside of the system. I believe that the apathy that everyone talks about when referring to student government arises from the fact that they do not understand how the system can benefit them personally. The biggest problem is the separation of students that work inside of student government and the rest of the student body. The goal of transparency is to break down that wall that separates these two groups.
I am idealist. I believe that you should take the good with the bad. The most important thing that makes transparency succeed is that both the good and the bad are available equally. While you may be tempted to hide the bad and promote the good, that is not part of how an effective government should work at any level. To make real progress, you take the measure of the good against the bad and judge the net outcome of the system.
One of my latest projects is UofL SGA Transparency, a blog that I started to provide easy access to all of the SGA documentation and videos I could find. While most of this material is already available in some form, my goal was to make it easy to browse and view. I'm drawing from multiple sources and posting documents that are trapped behind the password protected Blackboard system. A single source of information that will not be deleted when an administration turns over has yet to be achieved.
When I recorded the SGA 2011 Presidential Debate, I didn't expect to cause any trouble. With resources like YouTube available, it is trivial to record and post videos online. But after posting a link to the videos on SGA's official Facebook Page, it was taken down following a request from the SGA Supreme Court. As the elections played out and things started to get complicated, I decided to record the March 8, 2011 Senate Meeting using a combination of my new webcam, Justin.TV and YouTube. What I did not expect was to be personally threatened during the meeting for recording this open meeting. Continuing champion transparency, I also recorded the following SGA Senate Meeting held on March 22, 2011 and plan on recording and posting all of the remaining SGA meeting for the semester.
There is something greater than getting the outcome that you specifically want from a government, and that is the system itself. I fight for the system, I fight for my fellow students, and I fight for my own rights. With graduation just over a month away, I will be leaving UofL. This situation has provided me an opportunity to fight for what I believe in without my actions appearing to be self interested or having the outcomes affect any personal aspirations for SGA that I may have. I honestly want a better system of student government at UofL.
My parents told me you should always leave a place in a better condition than you found it. After this semester, I hope SGA will be better for all of the students at UofL.
Sunday, March 20, 2011
DPX-Tools Version 0.3.5.0 Released
I typically would not announce a release of a new version of my DPX-Tools software, but this version is somewhat special. This update really only includes changes to the DPX Answers application. This application is what I used for my masters thesis. While I have not quite finished my thesis yet, I'm definitely in the home stretch, I have finished all of the coding. This latest release of my set of tools that are able to open and interpret files created by DyKnow Vision includes a new ability. The application can now automatically analyze and cluster student answers.
After the application launches, if it is able to identify a clustering library this it loads into memory. When a file is opened, after the contents of the Answer Boxes have been interpreted using handwriting recognition, the clustering algorithm will merge together what it thinks are identical or near identical answers. The goal here is to reduce the overall amount of effort required by the person grading the student responses.
From a technical standpoint I am very proud of the design of DPX Answers. The application is highly multi-threaded, since processing the the Answer Boxes is a CPU intensive activity. Worker queues are used to perform handwriting recognition and the Dispatcher is used to maintain the GUI interface. This application is the most complicated desktop application I have written to date. While I was having problems with major memory leaks for a time because of some GUI elements, I believe I ended up with a simple, but functional application that focuses on a very specific problem.
Overall I am very pleased with where I landed with my thesis. I will be spending the next few weeks putting the final touches on my thesis and preparing for my defense. It is almost impossible for me to calculate how much time I have spent working on the code that makes up DPX-Tools. The DPXReader library, which is able to open a DyKnow file and render the ink content, took me hundreds of hours to develop along with the various applications that utilize its functionality. As I finish my degree at UofL, I will no longer be using DyKnow Vision. I have worked very hard developing this software and hope that someone else will find this code base and the applications useful.
Saturday, February 12, 2011
An Electronic Currency
My two favorite books of all time are Daemon and Freedom written by Daniel Suarez. These books portray a future society that is controlled by a computer daemon or background process that essentially takes over the entire world. Its goal is not malicious, at least from my prospective, and the desired outcome is a decentralized, robust, sustainable, high-tech society. There is a large amount of technology described in the book that is just now becoming available to consumers. My personal favorite is a wearable augmented reality heads up display, but that is another topic.
Tuesday, February 8, 2011
Attending Google I/O 2011
When I first had the idea that I could attend Google I/O this year, I looked up how fast tickets sold out in 2010. It took over a month. This year, it sold out in less than an hour. What happened is Google's conference registration server (it was not actually a Google server) was overloaded with all of the people that were trying to grab one of these coveted tickets. Somehow, after a very stressful period where it seemed like I had missed the registration window, I managed to dig into my browser history and complete the registration process. One student ticket to Google I/O 2011!
I have watched almost every video from the previous two conferences so I have a fairly good idea what to expect. This conference will definitely be an awesome experience along with my first time in California. I am most excited to learn about the new developments with Android now that it is on phones, tablets, and TVs. While the tickets probably sold out so quickly because of the two free phones that attendees received last year, I'm not attending because of the possibility of free stuff. While I would be thrilled to be provided an Android tablet, especially since I can no longer afford to buy one, I'm not going to make any assumptions.
Having developed applications for Android and Google App Engine, it will be awesome to be around other developers and see what other people are doing. I may even get to meet some of the Internet celebrities that I have been following for so many years.
Favorite Super Bowl 2011 Commercials
There were two really good commercials last night. First "The Force," a Volkswagen commercial, definitely won the cute award. The combination of Star Wars, a cute kid, and cars just struck the perfect balance. Well done!
The other really good commercial was for the Xoom. Understanding the context of the 1984 Apple commercial and the mindless sheep that Apple consumers flocking together made it the perfect attack on the computing giant. I'm definitely a huge fan of Android, not only because of the operating system, but more so because of the open philosophy. The Xoom is definitely set to take the iPad 2 on in a head to head battle with consumers. The most important thing this commercial did was try to get the population to break free of the stranglehold Apple has on the consumers and the so called "cool" gadgets. For people like me who have moved past Apple, this won't make much of a difference, hopefully it made a few people take another look around before purchasing their next consumer electronics device. Big brother is watching!
The biggest failure of the night was definitely Groupon. I'm not going to embed the commercials because I'm no longer a fan of the service and actually unsubscribed before making my first purchase. Now, I understand that Groupon supports the charities that they poked fun at, but that misses the point. I'm sure the $3,000,000 that went to each of the several commercials that they paid for would be better spent directly by those charities. Lets assume Groupon spent $9,000,000 on commercials, to result in the equivalent donations assuming each person only donates $15, that would require 600,000 people to join Groupon. Clearly the benefit here is primarily for Groupon especially with an impending IPO.
The problem is more than just financial, it is rooted in human behavior. My interpretation and personal approach of philanthropic activities, such as donations, is that it is not a direct benefit to the person that is giving. I do not make micro loans on Kiva to have any direct benefit to me, it benefits others and I hope eventually the world in general by bring people out of poverty. If I received a, quite literally, free lunch every time I made a donation then it in some way lessens the donation. This is definitely not a rational approach to charity, but who ever said that humans were rational. While Groupon may have been trying to do good, they missed the fact that you shouldn't mix capitalism and charity in such a confusing way. The causes that Groupon highlighted are very serious problems that are facing the world and humanity, we should be focusing on those, not on Groupon's success as a company.
Saturday, February 5, 2011
My Brand New (Slightly Defective) Desktop Computer
My last desktop was nothing impressive. Actually, it was showing its age and I was already planning on building a new desktop in a few months. The Pentium D with only 2 GB of RAM and a modest graphics card was running along smoothly until the power supply decided to give out. After replacing the power supply, the capacitors on the motherboard decided it would be a good time to burn out. I actually built my last desktop to be replaced, not upgraded. So, I decided to take browse around Newegg and this is what I ended up with:
- Intel Core i5-2500K Sandy Bridge 3.3GHz (3.7GHz Turbo Boost) LGA 1155 95W Quad-Core Desktop Processor BX80623I52500K
- Crucial 8GB (2 x 4GB) 240-Pin DDR3 SDRAM DDR3 1333 (PC3 10600) Desktop Memory Model CT2KIT51264BA1339
- GIGABYTE GA-H67A-UD3H LGA 1155 Intel H67 HDMI SATA 6Gb/s USB 3.0 ATX Intel Motherboard
Two days after placing the order that Intel announced that the Sandy Bridge chipset was defective! That explains why I can't link to my motherboard on Newegg because it was pulled down and can no longer be purchased. The flaw only deals with 4 out of the 6 SATA ports on the board. My computer is up and running, I'm just slightly restricted on how I can use it until there is a replacement motherboard available in April. Serious defects aside, I'm very happy with my new desktop.
The biggest complaint that I currently have is my hard drive situation. All of the data from my old desktop is sitting on a 1.5 TB drive that is about 2/3 full. I'm using a 320 GB drive in my desktop now and have things back to a somewhat functional order. Normally I would just add the old drive as a secondary drive, but with those dead SATA ports that would translate to no optical drive or an optical drive connected to a defective port. Ideally I would just swap the drives, but that requires a third drive to temporarily store all of my data on during the transition. I still haven't decided how to solve this problem.
The biggest change that resulted from my new desktop is that my Windows Media Center that uses the USB over the air TV tuner and is connected to my Xbox has moved off of one of my old laptops. This has resulted in a few improvements, but the biggest one would be additional storage space once I figure out how to improve my hard drive situation. The quad core i5 with 8 GB of RAM does not even notice the media center running in the background.
While I'm quite happy with my new setup, it is only the first half of my upgrade. My current plan is, once I can afford it, to finish the upgrade. The missing components would be a new case, a bigger power supply, and additional 8 GB of RAM, and a graphics card. I'm not a PC gamer, but I can still appreciate some of the benefits of a high quality graphics card. This series of updates would end up costing around $500 bring the total cost of my desktop to approximately $1000.
While I wish I could have waited a few months to upgrade my computer, it is nice to have my workspace back up and running so I can continue making progress on my thesis. Even though I have my laptop, the power of a desktop and the large screens definitely make it easier for me to make progress.
Tuesday, January 18, 2011
ShouldISkipClass.com has a new look!
This isn't breaking news, I actually completed these updates at the end of last semester, but I thought it was still worth posting an update.
ShouldISkipClass.com is a very simple website that I made on a whim that displays random reasons why you should or shouldn't skip class. There is an option on the page for users to submit new reasons of their own. If I think they are good enough I will add them to the rotation.
This website was getting quite a few hits when I first launched it last semester, but the interest dropped off during the winter break. Now that school is back in session, if you like this site, share it with your friend!
Thursday, January 13, 2011
Motorola Xoom
I'm a huge fan of Tablet PCs, but I've not been very excited about slates. The iPad in particular is a device that I am not a huge fan of, but I do recognize its usefulness. Lets start with a little history lesson.
A little more about the Xoom, but mostly PR and not much about how it actually works. Still a fairly awesome video. This product definitely looks exciting.
What I'm really excited about is Android 3.0 and this gives you a better idea of what all the fuss is about.
With my college career coming to an end, making the move from a pen enabled Tablet PC to a touch based Android slate may be a logical next step. While I'm excited about Android development for the phone, the real potential is in developing applications specifically designed for slates. While Microsoft has had technology available for years, at the moment I find the Android approach more attractive.
Wednesday, January 12, 2011
A Real Life HUD: The Vuzix Raptyr
The one gadget that I want above all others and it is very simple, but extremely powerful. All of these monitors and screens and gadgets in our life could be replaced with the single gadget that would rule them all, a wearable HUD. Personally, I'm not interested in the hardware as long as it works, but once it is out there it will be impossible to prevent me from developing software for a functional HUD.
There have been some baby steps towards creating a HUD, but it looks like some major progress was announced at CES 2011. The Raptyr glasses by Vuzix won the CES Innovation Award.
Raptyr is the world’s first sunglass style Video Eyewear that is designed specifically for the wide variety of Augmented Reality applications that are in development for consumer, commercial, medical, educational, gaming and defense markets. It provides a natural and easy to use interface to applications and it is a very powerful platform that offers a personalized and mobile home-theatre experience that enables digital content to be mixed into a real worldview. Today Raptyr is compatible only with devices with VGA and USB interfaces. Future enhancements to the product will include HDMI compatibility and connectivity for mobile devices such as the iPhone and Android phones. Initial markets for Raptyr will be commercial and research applications. As enhancements are made to Raptyr and as sales volumes increase, the company expects consumer applications to become available.
The real inspiration for a HUD comes from the books Daemon and Freedom. Hopefully we are only a few years away from a fully wearable computer system.
Monday, January 10, 2011
One Last Semester
It seems strange to say it, but my college career is almost over. One last semester before I get my masters degree and it is going to be a crazy one. I have a long list of things that need to be accomplished before May 2011 and graduation gets here. I'm only taking two classes, so my course load shouldn't be that bad, but that isn't what is going to keep me busy. This semester I will be finishing my thesis which will be keeping me very, very busy. The goal is to improve my DPX Answers application to perform some type of automated clustering to assist with the grading process. I am also going to be teaching Java this semester which I am hoping will be lots of fun. This is something that I definitely wanted to do it shouldn't add too much stress to my workload. One of the biggest sources of stress this semester will likely be the planning and execution of E-Expo 2011. My plan is to stay on top of everything and get things done early, but things don't always go according to plan. Hopefully SGA don't take up too much of my time, luckily I enjoy serving on the Senate a little more than I should.
My last winter break was fun while it lasted. Back to work! (Actually, back to school. Work doesn't start until after I finish with school.)