Tag Archives: old-everblog

Lunch Time Diversion

It was cold outside and I had lunch at my desk.  I hacked together this word cloud with artists I’ve listened to on Last.fm over the past week.

Here’s mine
uz88
Here’s my friend FivElementNinja’s
felem
This uses the Last.fm RSS feed, some jQuery, and a cool javascript library, I’ll put the code up in GitHub later during the week!

I’m Raul Torres, Creator of Everblog, This Is How I Made the Application

I’ve been wanting to do a blog post on how I created Everblog.  This will be a high level overview, I’ll elaborate on some points in other blog posts.  Let’s get started!

My Machine

I use an Amazon EC2 Windows instance for most of my work.  I use the Large instance, which costs $0.460 an hour, which isn’t too bad.  Most of the real costs comes from hard drive space, which is $0.10 per GB-month.  I end up spending $10 – $20 depending on how much development I do during the month.  The VM has about 8 Gb of RAM and an Intel Xeon E5507 @ 2.27GHz processor.  Not super beefy, but that’s a bit under the specs of my work laptop.  I’m still on the fence if using a cloud instance to work is worth it in the long term.  An equivalent laptop would be  $300 – $500, but I’d have to carry that with me all the time. I think the ability to use any thin client (even my iPad) offsets some of the costs, however needing a connection to your box to get work done can be a bother sometimes.

Software / Tools

I use MRemoteNG to log into the Amazon EC2 instance.  MRemoteNG is a great tool to manage logging into multiple machines.  I’ve got Visual Studio 2010 installed with ReSharper.  I’ve heard many developers mention that if you are not using ReSharper you are doing your clients a disservice.  After using it for over a year at work I completely agree.  It really has changed the way I code.  If you’ve never used it and are a .Net developer you should check it out.  I am using Git as my source control.  I’ve opted to use BitBucket over GitHub because of the private repos.  Eventually I’d like to make Everblog open source, but I’ll stick with my private repo for now.  I was using Trello to organize my tasks, but that fell to the wayside.  I need to get that up to date again.  I also use CodeSmith Insight to do some error reporting.  It’s super helpful and should be part of all .Net developers tool set.  Since I don’t have a QA team I can prioritize what bugs to fix based on “user input” (as in my users have found the bug) rather than wondering what works and what doesn’t.

Hosting / Deployment

I use AppHarbor to host this site and Everblog.  I’ve always been very interested in cloud computing.  I did some preliminary research to Azure and EC2 and didn’t like the price models to host a site. Paying hourly for the smallest instance on both providers seemed a bit high.  I may need to revisit this based on some updates that Azure has released, but I have yet to hear a success story  about Azure from any of my peers.  I decided to go with AppHarbor because they give you one free thread for each project.  This makes it is ideal to make a quick prototype and having running in little to no time.  Adding an additional thread is about the same amount of hosting on an Azure or EC2 instance (the last time I looked at it).
I have two applications for each project, a development and production instance. The code is all from the same repo.  I have auto deploys on for dev, and have to actively deploy for prod.  App Harbor will also run any unit tests you have and won’t deploy the build if they fail.  It’s not as robust as TeamCity, but it gets the job done.  I don’t have any regression tests yet.  One of my goals this year is to learn more about Selenium and WebDriver.  There are a few things I’d like to improve on for this set up, like being able to deploy a certain branch and a better testing strategy.

Kninect

I am a big Nine Inch Nails fan.  One of my favorite concerts was the 2008 Lighs in the Sky tour.  There were loads of awesome special effects during the tour, most of them had Trent Reznor interacting with a large digital display.  Here’s a clip of the tour.

I am also a big fan of the Kinect, so I decided why not combine the two!!  Check out my video demo of Kninect.

kninect

This is my first time writing an XNA game and the first time programing for the Kinect, so I’ve learned a lot.

Some of the things I need to look into the get a better understanding of game development are:

  • Properly loading assets for your game
  • Are there any design patterns for the “Game Loop”? It seems gross sticking so much code in one place
  • Keeping context in your game loop.  How do you manage menus and navigation and other non name stuff.
  • How can you tweak the Kinect to behave better.  It seems a bit jumpy.
  • How to manage timing better.  It seems like some of my sound effects and screen updates don’t happen at steady intervals.

I have the source code up at my BitBucket account.  The code is a mess.  It started as a test to display images and then I keep adding more and more.  I need to clean that up pretty soon.

If you have any comments or questions shoot me an email or find me on Twitter.

I don’t have an ETA for the next set of updates.  Since this is a side project thing it will be on and off.  If you are a developer feel free to branch what I’ve got.  I’ll gladly accept pull requests too!

Time Magazine App

I read Time Magazine every now and then. time I was super excited that they introduced an iPad App. I have been rather unhappy with the UX for most of the articles. Here are some of my issues with an infographic.

  • Why can’t you zoom in and out of the infograph?
  • Why can you only use 2/3 of the page to view the infograph?
  • Why doesn’t this app have Retina support?

Random Idea: Kinect and Microsoft Glass Game

The screen would have a layer of fog obstructing your view.  Your phone can see through it and lead you on your way.

It’s like the Wii U, just different set of technologies.  http://www.youtube.com/watch?v=09apkk58Ju8Imagine playing an Alan Wake style rail shooter like this.  Your phone is the flash light.  Your other hand is the gun.

kinect

StatsD

One of the initiatives where I work is to keep stats on our applications.

We’ve been using StatsD and Graphite.  Here’s an example of one of the graphs we are generating.  This graph tracks how long it takes to execute a set of updates to the AdWords API.  So far we are tracking

  • Operations we are sending to Google based on what section of the Api we are hitting
  • How long it takes to execute all of our operations based on what section of the Api we are hitting

statsd

Everblog.us Updates

I’ve made a bunch of updates to Everblog.us. If your not familiar with the site, it is my entry into the 2012 Evernote DevCup. I had a bunch of goals for the project, here are random bunch:

 

* Get familiar with open Auth and DotNetOpenAuth
* Try a full Dev and Prod deploy with AppHarbor
* Mess around with the Evernote API
* See what Twitter Bootstrap is all about
* Actually use GIT

I’ve learned a lot during this project and I’ll try to post some of the cool things I leaned.

New Blog

Hey Everyone!!

Since I have been working more on my side project, Everblog.us.  I’ve decided to start using it as my primary blog!  I’ll be posting things about my side projects, as well as web developer and movie stuff.

I am active on Twitter, so check me out.  My Twitter name is @uz88