Archive for General

Get Googling Orlando!

I’m pretty happy to see the City of Orlando kicking off this effort: http://www.getgoogling.com/

If you are reading this blog and live in the Orlando area, please take a few moments and map yourself and at least fill out the google survey. Then spread the word, it would be pretty awesome to see this come to Orlando :-)

Comments

Acer t230h Review

I settled on the Acer T230H multitouch monitor

So far, I’m happy enough with it. When I plugged it into the USB port on my computer, windows 7 already had drivers for it so it was kind of nice that I did not have to install any extra software; Though I haven’t installed the software disc that came with the monitor so I don’t know if there are any extra niceties that come with it.

The first thing that hit me was how large and nice the screen is. Definitely a great picture. Of course the first thing I did was fire up MS Paint, which natively supports multiple touch points. Single finger manipulation (I’ll have to trademark that one) works really well and is quite accurate. Two fingers however seems to be pretty buggy, especially when you move the touchpoints near each other.

I’m looking forward to programming against some of the APIs that are available. In particular, I’m looking forward to experimenting with new interface models rather than the usual textboxes, buttons, tree views, and menus.

Comments

Which MultiTouch Monitor To Buy?

Last week, I pondered the state of multitouch with XNA. And I mentioned that I was considering buying a multi-touch enabled monitor from Dell. Well, over the last few days I have been shopping around on line and I’ve been pleasantly surprised to find that there are several others on the market.

Acer t230h

Dell SX2210

HP L2105tm

Because of the technique they’re using to do finger tracking, all the monitors only support two touchpoints at a time. Makes me wish that a homegrown solution like the optical webcam based solution I experimented with a while back was more feasible.

The HP L2105tm is the most inexpensive offering, but also, seems to have other deficiencies such as a slower response time than the other two monitors. The Dell monitor is nice because it has a built-in webcam, which is something that I’ve been interested in having for a while, but is ultimately secondary. The Acer T230H is the one that is currently capturing my interest; it’s the largest monitor of the three at 23 inches, and according to the specs has the best contrast ratio.

So, does anyone have any suggestions on which monitor I should go with? My primary goal is to have hardware that I can program multitouch enabled XNA games with :-)

Comments (3)

Steam and XNA Redux

I love it when information travels at the speed of internet. I posted a little blurb yesterday about whether or not Steam would publish XNA games. It was based on an email that I sent them, and the response I got back. Very quickly, a few commenters mentioned that it would be trivial to write some c++ interop code to interface with the steamworks API. Nick also mentioned that there had in fact been several XNA games already published.

After a bit of online sleuthing (ie. searching Bing for “xna steam“) I came  across said XNA games on steam and, via one of the developer’s websites sent him an email. He was very nice and responded with:

Too bad they responded in such a way… usually they are very nice at Valve.

But yeah, they wrote a little C# wrapper for their Steamworks-dll.
They also made their installer script look for the dependencies (.NET
& XNA redist)

I didn’t really do anything to achieve this, they had
already decided to release the game when we ran into problems because
of the code being in C#, so they just put a guy on solving it.

This of course correlates with some of the other comments on my post saying that it would be trivial to write the wrapper; and in fact, even with my own assumptions before I even posted the blog entry. But the point I was trying to make was that I find Steam’s approach to developers rather strange. One of the FAQs from the steamworks site reads:

10. My game is in early development stages, don’t I need to plan for the SDK integration now?
The Steamworks SDK is easy to integrate, so you can wait until your game is further along in the development cycle before worrying about it.

Their approach is basically one of don’t call us, we’ll call you. Unless your game gets lots of publicity (for example, winning an indie contest) you will have to actively seek them out and pitch your game to them.

Contrast this with the approach that Microsoft is taking with XBox Live Indie Games. They provide an SDK, they provide hosting, they provide distribution, they provide some marketing … all for less than ten bucks a month ($99 a year). This model is so much more appealing to me as a developer because it is low risk (yes, $99 a year is low risk). If I end up not developing anything, or development goes longer than expected … I’m out $99 bucks at most.

If only Microsoft would extend xblig onto Windows

Comments

Will Steam Publish XNA Games?

Update: The short answer is, Yes … the longer answer is here: Steam and XNA Redux

After all this tablet hype started, I began to get excited about the possibilities of new markets emerging for touch enabled windows games. As Steam is currently one of the most robust and popular game distribution networks on windows, I was curious to know whether a game written with XNA could be published via Steam.

I visited their Steamworks developer site and the offering is very attractive: Anti-Piracy/DRM, Cloud Storage, Matchmaking, DLC. coupled with the fact that many gamers I know (a statistically insignificant metric, I know) trust and use Steam, and it warranted a further look.  So I emailed them and asked simply (edited for further brevity):

From: Joel Martinez
To: steamworks@valvesoftware.com

Hello, I was wondering if the Steamworks API is usable from a game written in C# … [I] would like to know if Steam would support games written using the XNA Framework.

Took them a few weeks to get back to me, but they answered succinctly:

From: Steam
To: Joel Martinez

Hello Joel,
We do not directly support games written using the XNA framework.  Steamworks is written in C++

A shame really.

Comments (5)

Snap-Circuits: Review

Completed Snap Circuit

In the months leading up to Christmas ‘09, I was pondering what to buy for my kids. Instead of the normal brainless and easy gifts like transformers, gi-joes, and barbies, I wanted to get them something that matters, something that will benefit them. As I browsed around the internet, I came across microscopes, chemistry kits, telescopes, bird watching kits. Those were all fine enough gifts … but they didn’t really jump out at me for some reason.  Until I found …

Snap-Circuits

“Elenco’s Snap Circuits makes learning electronics easy and fun! Just follow the colorful pictures in your manual and build exciting projects such as AM radios, burglar alarms, doorbells and much more! You can even play electronic games with your friends. All parts are mounted on plastic modules and snap together with ease. Enjoy hours of educational fun while learning about electronics. No tools required. Uses “AA” batteries. Not included.”

Wow, the thought that electronics can be packaged up and easily explained to an eight year old was fascinating. I found one at my local Radio Shack, picked it up, and wrapped it. So far I have to say that I am very impressed with the product and my kids both seem genuinely interested. I thought I was going to have to carefully walk them through it, but they have picked it up quickly and have started doing projects on their own.

The manual is fantastic, very easy to follow instructions, and great descriptions of what’s going on in the circuit.

The manual

Of course, the only drawback so far is that the batteries drain pretty quickly … I’ve already had to replace one set. However, the kids like it so much that I’m considering picking up one of the larger sets along with this awesome battery eliminator that lets you draw power from a wall plug.

I will definitely rate this a buy if you’ve got kids … or heck, even if you want to learn more about electronics yourself and don’t already have the background :-)

Comments

Blogging from the iPhone

I suppose I should have expected there to be “an app for that”. But I’m pleasantly surprised that there is a free wordpress app. Sweet.

Thaat being said there seems to be a bug with posting pictures taken from the app. That’s ok though, still pretty cool

Comments

Peeking Under the Hood: Unit Tests

I don’t know about you guys, but I really like to learn by example.  Much better to see someone else’s working code – provided you have an understanding of the underlying principles of course ;-)

Unit tests are a topic that’s often a hot debate.  In my opinion, it’s because a lot of people don’t really know how to “do it right”.  To that end, in case you hadn’t seen this, Microsoft generously provides all of the source code to the ASP.NET MVC project on CodePlex.  And codeplex has this cool feature where you can browse the repositories right from your browser.  So you can dig right into the MVC/test/SystemWebMvcTest folder and see how they do it first hand :-)

http://aspnet.codeplex.com/SourceControl/BrowseLatest

Comments

On Personal Productivity

There are many different types of productivity, today I’m going to talk about the things that you do on a day to day basis.  A few years ago, I found myself unhappy with my level of productivity and decided to figure out a way to manage my time better.  As one would do when trying to improve the performance of code, I profiled myself.  For a week, I wrote down in painful detail each task I’d do … even if it was just goofing off and browsing the web.  Then at the end of the week I tallied up my results and found that I spent an inordinate amount of time doing the following 3 things.

  • checking email
  • reading blogs/news
  • trying to remember things and manage my daily tasks

I was actually kind of surprised that I was spending so much time doing these non-essential tasks so I started thinking of ways to improve.  I’ve tried a number of techniques over the years, and this is my current setup.

RSS Reader

The first thing I wanted to improve was how much time I spent surfing the web.  This was in my mind the thing that contributed the least to my work output (at least I need to read email and manage my tasks to do my job).  Then one day, I discovered the venerable RSS Reader.

My first RSS reader was RSS Bandit.  It’s a desktop client and works pretty well … however, I had issues synchronizing the subscription list between my home PC and work PC (newer versions have solutions for this).  Then google decided to launch Google Reader and I haven’t looked back since :-)

I go through every once in a while and clean out feeds that are too chatty, and add new ones that are relevant to my daily workload.  For example, when I started working on an ASP.NET MVC Project, I added several new feeds like Phil Haack’s blog.

Nowadays, I’ve got it tuned so that I spend no more than about 5 minutes catching up and reading blogs in the morning.

Email

I use GMail as my email provider and have since the service was in Beta (funny, I know).  Since I use this email address in public forum comments, posts, and to register for websites – I get a considerable amount of extraneous email.  It got to the point where I was checking my account every 5-10 minutes because I got so much mail that I didn’t want to miss the important ones in the noise.

These days, I use gmail’s label and filter system quite extensively.  I identified a few groups of emails that came with great frequency and had some marginal value … enough that I didn’t want to unsubscribe or remove them entirely.  These are things like newsletters from companies that I’ve legitimately done business with, social networking site notifications, and receipts.  So what I’ve done is to create 3 labels:

  • Receipts
  • Social Networking
  • Newsletters

And then created filters that immediately apply the appropriate label to the incoming message and archives it out of my inbox.  That way, I can choose when I want to look over my social network activity instead of having it blast me in the face everytime one of the emails comes in.

The result is that I’m able to focus on core conversations that matter to me.  And when a conversation is done, I can archive it and still feel confident that I can find it using gmail’s search if I ever need to refer back to it. Coupled with GMail’s excellent spam filtering, and I couldn’t really ask for a better email solution.

TODO List

Completing the trilogy of productivity is my beloved TODO list.  For years I simply used notepad (whether virtual or physical).  I’d start the day by collecting all of the tasks that I need to accomplish for the day.  As much  detail as I could think of for each task would be logged, and then I just start checking them off one at a time.

That actually works fairly well for me, the only problem is that there is more going on in my life than just my work tasks.  I’d find that multiple things would bump into one another (“take kids to the park when I get home”, “call the insurance company tomorrow at work”, etc.) and purge my brain’s L2 cache, much to my detriment. I was forgetting important things all the time.

Now, I’d heard about the Getting Things Done system before. As with all self-help advice, I discounted it almost immediately and would never read about it.  However, when Remember The Milk launched I started seriously evaluating how I process the incoming stream of things I need to do.

I came across a few articles that talked about how to apply the GTD system in RTM (which I had recently started using at the time).

I must say that it works extremely well for me. I’m able to put things on the list and put my mind at ease that I won’t forget it.  But more importantly, by using the special saved searches to create “Contexts”, stuff that I don’t have to worry about right now is conveniently out of site so it doesn’t clutter up my brain.

Conclusion

I’m always looking for ways to improve my workflow and to use technology to help me manage the information overload that this modern age throws at me.  Although this setup is currently working pretty well, I’ve noticed that I constantly have to be adjusting little things about the process (email filters, RTM context queries, RSS subscriptions).

I feel like there’s an impending breakthrough just waiting in the wings that will greatly improve everyone’s workflow … I’ll keep my eye out for it :-)

Comments (2)

Computing for Children

I’ve mentioned to a few people that I recently set my kids up with PCs.  I think back to my first interactions with a computer when I was very young.  My parents bought an Acer IBM Clone from Fingerhut.  I learned so much from using that machine … in an effort to play prince of persia at school, my brother taught me how to make a boot disk to boot the library computer’s into DOS, then launch the game from the command line.  It really taught me a lot about the basics of how the computer works … knowledge that I know has been useful in my career.

So I wanted them to have that same opportunity.  I wanted them to be able to play games, and access learning tools on the internet; but wanted them to do it in as safe an environment as I could manage. So to that end, here’s their setup:

I did quite a bit of research before running out and getting the kids the netbooks.  Although they were relatively cheap in the grand scheme of things, I didn’t want to spend $600 bucks (for two of them) if it wasn’t going to be safe.  I made sure that their user account was *not* an administrator, and the use of Firefox with adblock gave me a pretty good feeling that they’d be safe from exploits. 

My choice of Safe Eyes was done after reading a lot of reviews.  One of my favorite features was that you could log in and manage the site whitelist from any browser … so if there was some site they needed that was getting blocked, I could just unblock it from work after a phone call from them.  Also, safe eyes can do partial filtering of sites like youtube and google search pages so they can still use the sites, without inadvertently running into content I didn’t want them seeing.

Another little trick I set up was that I made network shortcuts to each other’s laptop and taught them how to move files back and forth.  Unfortunately, this wasn’t very easy … it involved having to manually set some permissions via the command line.  I wish I would have written the steps down so I could share, but alas.  At least they can do some simple file sharing.  I figure that as long as I log on with my admin account periodically and do the windows updates, that they should remain safe.

Of course, I know that nothing is foolproof … we also employ other counter-measures such as making sure to monitor their use.  This ensures that even if there was a way around the parental controls, that there was a physical deterrent, and also it ensured that my investment is secured (ie, they don’t break them).

Wow … It literally *just* occurred to me that both my first computer, and my kid’s first computers were Acers. Go figure :-)

Comments