Empire Avenue

So what is Empire Avenue?  Well, I hadn’t heard of it before last week. I saw one of @alfredtwo tweets asking about it and I filed it away to look at later. Well, I looked at it last night and decided to join and get going. It is pretty addicting so far. It also encourages creating content (on Twitter, Facebook, your own blogs, YouTube, flickr, etc).

eav-logo-250

I’m still just getting started and can’t comment on how great or terrible it is, but so far I’m enjoying it. Being able to “play the stock market” based on social media activities is a cool concept for sure.

So check it out if you are so inclined!

Christmas in June–My new setup

It had been four years since I bought the Dell M1730 laptop.  At the time I was looking for a portable server.  I wanted a machine that I could do video editing and game development on as well as my core web and silverlight development.  I wanted to be just as efficient “on the road” as I was at my desk.  I’ve always enjoyed full keyboards and fumbled with the smaller laptop keyboards.  So I was happy with my 4GB machine with dual NVIDIA GeForce 8700GT (258MB) SLI.  It served my purposes well.

However, I reformatted the thing about 4 times in the last 4 years.  I tried the original 32bit OS (Vista at the time) and the 64bit and went back to 32bit.  Then I tried 64bit Win7 and backed back down to 32bit Win7.  Besides trying to determine if my machine performed better as a 32bit machine or a 64bit machine I am constantly installing beta software.  Stuff gets left behind and this adds to my need for needing to pave the machine.  Using VMs would have helped here but my machine was already struggling on the main OS with everything I was throwing at it much less if I started allocating RAM to VMs I was running.  Plus with Windows Phone 7 development the emulator runs in its own VM and I couldn’t run the emulator inside of another VM.

I typically run with 30 or so Outlook email windows opened along with tons of web browser windows opened.  I’ll be on twitter and see some link and I’ll click on it so it goes into my “queue” of things to look at later.  My outlook email windows are my “todo” queue for the most part.  Then I’ll have multiple Visual Studio instances going for the different projects I’m working on.  My machine was constantly running at 85% or higher RAM usage.   This, of course, causes a lot of paging in the system and thrashes the hard drive.

Besides the memory cap, the biggest issue I had with the machine was the weight of the thing.  I didn’t travel that much 4 years ago.  (And still don’t travel a lot compared to a lot of folks.)  But when I did travel I had to take that 12lbs machine along with the 6lbs power cord and carrying that around a city or in an airport on a shoulder bag wasn’t very fun.  I finally found a laptop bag that held my 17” screen but I kept breaking the straps from the weight of the thing.

Recently, we were given an iPad. It is a nice toy but I could never be productive on it since I use Outlook and Visual Studio constantly.  Web browsing is nice, but it isn’t enough for my job.  It is a great gaming and entertainment device, but (in my eyes) it is a toy and not something I could use in a business setting.

However, having that little tablet device made me say “This is what I want to do my production work on.  I’m tired of lugging around the ‘20 lbs of equipment’ whenever I need to go somewhere.”  As much as I wanted a tablet device I knew that I wasn’t going to be productive daily if I just used a tablet.

Anyway, it came time for me to pave my M1730 again and instead of doing it I decided I’d take the time to determine what machine(s) I’d buy to be most productive.  So I knew I wanted a lot more RAM so I figured I’d start there.  I started my search on newegg.com.  I have found them to have the best prices overall.  So I started selecting the parts for the machine I was going to build and was surprised to see that 12GB of RAM was only $150.  So I picked up two of those to obtain 24GB of RAM.  I also wanted a great processor so I picked up the Intel i7 990X which has 6 physical cores (12 logical cores) and a EVGA FTW3 Motherboard to support that chip and the RAM.  I bought a 128GB SSD as my primary drive and a 3TB drive for my storage. I also have 2 1GB GTX 560 Ti Graphics Cards with SLI.  I’m happy with the setup.

image

image

I had to start over with my my server at home because I had everything installing to my 128GB drive. My concern was I would fill it up pretty quick if I had all my temp files and my documents, etc all pointing to that drive. So I found a trick that when you are first installing Windows when it gets to the screen where it asks you to create a user name you can hit SHIFT+F10 to open the command prompt. I then used robocopy to copy the program files, program data, user folders, temp folder to the HDD. I think did a mklink –j to make a permanent link to the HDD. So the system thinks it is going on C:Program Files.. (or whatever) but it is actually going to D:Program Files.  This is leaving my main drive empty enough for my liking.

clip_image002[7]

Even with buying all of this I still had just enough money in the machine buying budget to also get the tablet device I had been looking at – the ASUS EP121. This Windows 7 slate device is the most powerful on the market. It has a 12” screen and comes with a Bluetooth keyboard which is really great. The battery life lasts anywhere from 2 hours to 4 hours depending on what I have running. Most of the time I’m near a outlet or will be within that time frame so that isn’t a big deal to me. It has a 64GB SSD drive and 4GB of RAM. I asked Newegg to notify me when stock became available. I had been looking at this for the last month and no one had it in stock. While I was at CodeStock I got the email from Newegg and placed the order immediately. The site was out of stock again with 20 minutes.

My goal here was to be super productive at my home office where I spend most of my time.  At the same time I wanted to be able to work if I traveled to the office or at a conference or where ever. 

The thing that surprised me most about this tablet was the handwriting recognition.  The Wacom Digitizer stylus is awesome.  I wasn’t expecting to use it, but I find myself going to it as much as the software keyboard when I don’t have the Bluetooth keyboard handy.

image

I knew I would be able to do XNA development on the tablet but I wasn’t expecting the tablet to be able to support the HiDef profile inside of XNA. Most laptops don’t support it as it requires a pretty decent graphics card.  I was able to run all of my demos I did at CodeStock on this thing after the fact.  The only thing I need now is a Mini HDMI to VGA adapter for when I need to hook it up to a projector and I’ll be set. It is crazy that I was able to get both of these machines for the same amount of money I paid for the M1730 four years ago.

In addition to having these great machines, I just received the HTC Trophy Windows Phone 7.  I use Verizon so I had a long wait when it came to getting a Windows Phone 7.  So far, I like it.  I had a Samsung Taylor developer prototype phone and the screen on that seems to be more crisp.  I had used the blue accent on the dark background and the blue is much deeper on the Samsung and almost a baby blue on the HTC.  Not a big deal, just something I noticed.  The other thing I have to figure out is how to get my games on my new phone.  Seeing “try and buy” instead of the familiar Xbox 360 “Download Again” prompt is scaring me from clicking it.  I’d hate to pay $12 for Harvest.  $6 was plenty, thank you.  So I’ll do some research on that later.

For now, I’m happy that I have my 3 machines ready (for the most part).  My powerhouse machine I’ll use most of the time, my Slate that I’ll use when I want to “chillax” with the family or I’m at a conference or offsite and my phone for all the times in between.  The phone I had before was a Motorola Razr.  This is my first smart phone.  Yeah, I’ve been waiting a while …

So, for me it is like Christmas.  It wasn’t really planned for all of these things to come together at one time, but I’m glad it worked out that way.  Now, I need to determine the best way to keep my documents in sync…

Positive Discontentment

Discontentment is a bad thing.  We should be content with what we have.  No need to envy what someone else has.  No need to keep up with Joneses.  No need to buy that new gadget just because someone else has one.

However, there are times when discontentment is a good thing.  We should always strive to better ourselves.  We should try to be better parents and spouses.  We should try to be better developers.  We should try to be better people.  So, in that sense, we should never be content with where we are.  I’m not suggesting we should always be looking down on ourselves.  Instead we should be happy with the things we have accomplished but never be satisfied with staying where we are.

So if you haven’t picked up a good book in a while, do so.  Spend some time building your relationships and never stay content with your achievements in life.

Keep learning, keep striving and keep achieving.

CodeStock 2010 Experience

I drove to Knoxville on Thursday and checked in to the hotel at about 6:30 PM.  I didn’t stay at the Hilton even though there was a nice discounted rate for the conference.  I was just too cheap and stayed at a hotel with a number in the name.  It was probably the worst room I have ever stayed in but it allowed me to stay an extra night which turned out to be great.

Hotel wasn't quite this bad After checking into the hotel I drove downtown to meet up with the folks at a local grill. I arrived about 7:30 because I was driving around to find a free place to park – are you seeing a pattern?  We all knew ahead of time that we had to be out by 8:00 because of another party coming in.  So I just ordered a Mt. Dew and got to talk with Rafe Kemmis which I met in Raleigh one year at a CodeCamp.  I said hi to Alan Stevens and Rachel Appel and met some new folks.  We then moved to Market Square and sat on a patio and talked some more.  Michael Neel, the conference organizer and all around superman, dropped by and I got to see him for a minute.  I then headed back to the hotel to put the finishing touches on my XNA Crash Course presentation.

PreStock Dinner

Back at the hotel room I realized that I couldn’t access the net.  I had to go into the breakfast area to be close enough to their router it seemed.  Not a huge deal but they said they had WiFi in the rooms.

The next morning I drove downtown and parked in a place I knew I was going to have to pay for, but I didn’t want to chance being late. Later that evening I realized that if I just drove down one more block I could have saved 10 bucks. I broke my cheap pattern but didn’t want to drive around downtown and increase my chances of going the wrong way down a one way street.

CodeStock RegistrationCodeStock T-Shirt Design Registration was a breeze!  I gave them my name and got a nice badge and a bag and a shirt. Sweet! 

Cicelie did a great job designing the shirts! Make sure to check Rachel’s post (where I ‘borrowed’ the image) to see the meaning behind this design.

 

Friday Session 1

Mindstorm Robot For the first session I went to Mindstorming 101 with Nathan Blevins.  I first met Nathan in Seattle back in February.  I was there for the MVP Summit and he was there for the ASP Insiders conference.

This was the first time I heard Nathan speak and he did a fantastic job. It was a great talk. I came in with only the knowledge that Robotics Studio existed and downloaded it once.  I hadn’t looked it for more than 2 hours.  I left this session with a renewed desire to download the new R3 version and try out some things.  Nathan did a fantastic job in this session. I really want to fool with the manifest files to fool with the virtual worlds that are rendered with XNA.

Friday Session 2

I was caught in the hallway and was talking so I was a little late for this talk but I was really looking forward to it.  The session was 7 Easy Steps to Becoming an Independent Consultant with John Feminella.  He had excellent real world information from budgeting to determining your rate based on current salary to tools used to get the job done.  It was another fantastic talk.

Friday Session 3

I actually talked during this session.  The slides can be found on my XNA Essentials site.  This talk could have gone better.  I ran out of time because I dove too deep into the XNA Framework’s Content Pipeline.  I must really like the content pipeline because I tend to get bogged down talking about it a lot.  It just wasn’t appropriate for an introductory talk.  As a result I didn’t get to demo any of the 3D demos and games.  I was able to talk to some folks later that attended and answered questions but I was aggravated with myself for not leaving time for questions.

Friday Session 4

Codestock was setup so that you could either do lunch during Session 3 or Session 4.  I didn’t think about it later but the folks that attended my talk must have really wanted to be there to wait for lunch.  Lunch was catered and it was fantastic.  You basically made your own sandwiches and had choices of different salads on the first day.  They also had a wide variety of deserts as well.  I opted for the strawberry pie and it was excellent.

During lunch, I had a good conversation with a couple of folks from Cadre5. 

Friday Session 5

Architect Hand

This was a fantastic session from Jennifer Marsman, a Microsoft Developer Evangelist located in Michigan.  She talked about the new Architecture tools in Visual Studio 2010 Ultimate.  These tools are fantastic at helping you keep to your original architecture but also shows the existing architecture for existing assemblies.  The source code isn’t required as it inspects the .NET Intermediate Language (IL).  She has a lot of entries regarding these tools on her blog so make sure to check them out.

Friday Session 6

The last session I attended for the day was WCF Data Services – Making Data Accessible to Everyone by Don Browning. The session was great and I learned a lot about OData. I think I may practice by consuming some Netflix data. 

Keynote

Rachel Appel did the keynote.  The topic was community. I have never seen anything like it. Instead of taking the opportunity to talk about the subject for an extended period of time she opened up the stage to folks in the community to talk about the community. A couple of folks who talked were pre-planned but the majority were pure impromptu.  It was great.

CodeStock Keynote

Rachel Appel hands the mic over to Jennifer Marsman to talk about the WIT community.

Friday Night

After the keynote I ate dinner with Rafe Kemmis at the same grill we all met the first night.  I didn’t grab any dinner there the first night due arriving close to the time we were going to leave.  However, I was really wanting a cheeseburger from the night before so after trying to get into a couple of other restaurants down in the Market Square area we settled on the grill. The burger was fantastic and the conversation was awesome.  If you get the chance, ask Rafe about his travel experience to CodeStock last year in 2009.

After dinner, Rafe and I headed back to the Hilton as we knew they had a room reserved for “Playing Guitars and Socializing”.  We walked in and Alan Stevens was standing up jamming on his guitar with several others playing right along with him.  I had good conversations with Roger Heim and Wendy Czymoch.I left early to work on my Artificial Intelligence talk back at my cheap hotel. Spending the extra time really paid off.  I was able to reorganize the points so they flowed in a more logical manner.

The downside to not doing that before hand was that I left before Wendy and her son (and others) worked on getting the MindStorm robot working.

Saturday Session 1

After parking in a free nights / weekends parking garage close by I grabbed a water in the main lobby area and then headed for the first session.  I didn’t give myself much socializing time before the 8:30 AM session.

Going Independent 101 Michael Eaton did a session titled “Going Independent 101: Lessons learned from a decade of independence”.  It was great to see another perspective from the independent world.  There was tons of great information in this session.  The biggest thing I got out of it was to find the right folks to work with.  It is important to find the right accountant and lawyer to work with you.  Find folks that you get along with and that proactively help you if possible.

The next biggest thing I got was finding the tools that cause you the least amount of friction.  There was absolutely no love for QuickBooks by any of the consultants that did these types of sessions.  It is just too big and bulky and gets in your way. Just like anything in life, finding the right tools for the job is half the battle.

Saturday Session 2

Patrick Foley, a Microsoft employee, had a session called “A little something on the side – starting your own MicroISV”.  He quoted Joel Spolsky when he said an ISV is any software vendor other than Microsoft.  I didn’t know what to expect with this session, but it was very good.  It was interesting to see his take on starting your own software company.  There was great information in this talk and I’m glad I went to it.

Saturday Session 3

Lunch! The lunch was fantastic. There was BBQ and fixings. The food was great.  I had an excellent lunch conversation with Jennifer Marsman, Jason Rainwater, Gary Short, Wally McClure, Jim Wooley and a couple others.  It really was great getting to know others in the community better.  It was very cool to meet someone who actually worked on the .NET Framework back in the 1.0 days when I was first fooling with this stuff.

Saturday Session 4

Windows Phone 7 SeriesJames Ashley presented “Advanced Silverlight Development for the Phone” which talked about using Silverlight and Blend to create applications for Windows Phone 7. The talk was excellent with good information.  It didn’t quite go into advanced Silverlight like I had hoped but the discussion on Pivot and Panaramic was worth the time.  Another plus for attending this session was that I was able to meet Ben Henderson.

I just can’t wait for Windows Phone 7 to come out.  Being able to write code with the ease of Silverlight or XNA using a .NET language like C# to create great applications and games for a device like this is simply awesome.  I can’t wait!  Did I say that already?

Saturday Sessions 5 & 6

During my career, I’ve been called a mad scientist as a compliment.  In that same vein, Seth Juarez is truly a mad scientist. He had excellent information on Machine Learning for .NET.  Seth was a very enthusiastic speaker.  He had great information and was almost like a standup comedian up there.  It was very entertaining and very informative.

Seth created a .NET library at http://machine.codeplex.com/.  I highly encourage you to check it out to get some really cool code on artificial intelligence and machine learning.  By the time the second hour was over my head was literally hurting.  This wasn’t good because I had to present immediately following.

Saturday Session 7

I taught the Artificial Intellegence class and had decent turnout for the last class of the day.  Jennifer Marsman and Glen Gordon came by to listen to the talk which was a little intimidating but they both told me later they liked it.  I purposely ended 20 minutes early and left the floor open to questions.  I hated that I ran my first session over and didn’t have time for questions so I tried to make up for it here.  I figured if folks wanted me to dig into the code more then I would, but I got some great generic XNA questions by opening up the floor.

After my session I got Alan Steven’s home address so I could find his house later that night.  I then went back to hotel after stopping and getting some books for my family while I was out. Yeah, I’m a really bad gift giver.  I like books so I just assume my girls and my wife do.  They put up with me.  (Fortunately, they do actually like books. At least I think they do?)

PostStock

I almost said this was the best part of the conference, but it wasn’t actually part of the conference. Alan Stevens was awesome enough to open his home up to the community.  When I first arrived, I spotted Michael Eaton who had the first session of the day about going independent. I was able to pick his brain for about 30 minutes.  I really didn’t mean to monopolize on his time like that, but I learned a ton more during that time and I’m grateful he spent the time talking with me.

Michael Eaton and myself talking at PostStock

After chatting with Michael, I was able to chat with Dane Morgridge, G. Andrew Duthie, Joel Cochran and Glenn Gordon in the living room some more before heading outside.  The conversations went from talking about 100 billion hotdog awesome to the Princess Bride and even technical topics like Continuous Integration and source control.

Chatting on the front porch at PostStock Outside I was able to connect with Jennifer Marsman, Glen Gordon, Alan Stevens, Steve Andrews, Michael Neel and his better half Cicelie, G. Andrew Duthie, Robert Cain, Nick Riggs,Aaron Erickson, Ben Henderson, and Jim Wooley.  The majority of my time at the Stevens household was spent on their front porch talking with these incredibly driven people.  There was some technical discussion, but most of discussion was around how to get other developers involved in the community.  There was opinions on if every developer should be involved in the community or not. I believe everyone would benefit from being a part of the community. If you go to user groups or code camps or conferences like this you will become more engaged.  You will see the things you know that you may assume everyone does, but don’t.  You will definitely learn things you had no idea about. You will be able to build relationships with folks who have the same interest as you and can actually talk the same language.  I think the benefits are enormous, but it does take a time (and sometimes money) commitment to attend these gatherings.  I think it is worth it, obviously.

Once Steve Andrews found out there was wood in the fire pit, he disappeared.  A little later we all moved around the fire Steve got going.  Mind you, it was still 90 some degrees outside even though it was close to midnight. I think the fire actually dried the air or something because it actually wasn’t as miserable as I figured it would be. Who would have thought that hanging around a fire in the middle of summer would actually be comfortable.  Around this time, Alan brought out his guitar and we sat around the fire listening to Alan and Steve play the guitars with Glen singing.  The highlight of this time was definitely them singing Jonathan Coulton‘s Code Monkey.  I called it a night at 2:30 since I was driving home the next day.

Alan Stevens playing and singing at PostStock

General Comments

I just wanted to point out some items I didn’t already mention.  I really liked the venue.  It was fantastic. I think I’ll need to spend time in Open Spaces at future conferences / Code Camps to talk about XNA with others. I enjoyed all of the sessions but there is so much to learn and share in a more intimate setting.

I really liked the fact that keynote was at the end of the first night instead of in the morning like most conferences.  However, the only thing I would change about CodeStock would be adding a Kick-Off meeting at the very beginning of the conference.  Open Spaces may have suffered the first day because there was no announcement, but I imagine that Open Spaces suffered most just because of all of the great session options that existed. Base off of the connections I made at CodeStock this year and the quality of the conversations, I definitely plan on attending Open Spaces in future events I attend.

I’m also grateful for all of the sponsors for CodeStock.  Folks like Wintellect, DevExpress, TechSmith, Microsoft Silverlight, Telerik, Cadre5 ,  the main partner – Recruitwise, and plenty of others. These sponsors basically paid for half of the price of the ticket.

Obviously a huge shout out goes to Michael Neel (@ViNull) who put on a really wonderful conference.  I’m sure he didn’t do it all by himself, but even leading an effort like this is huge much less actually doing most of the work as well.  Truly, kudos to you my friend for putting on an awesome conference!

Michael Neel at Code Stock 

It took me a while to create this post. There was a lot of sessions and I had a really good time.  Such a good time in fact as to this is why I brought this site to life. I needed a place to put down my experience.  Hopefully this reminds you of the great time you had at CodeStock, or encourages you to go to CodeStock next year!

I want to thank Alan Barber and Jason Follas for letting me use their photos in this blog post.  I’ve put the photos on my server, but each picture should link to the original image.