Archive

Archive for the ‘Blogging’ Category

Catching up

April 23, 2011 2 comments

It’s been a few months since I’ve made a blog post, so I thought I’d take some time to update everyone.

Work has been pretty hectic since November of last year. I’ve completed one project (we constructed a brand new highway) and moved onto a new project in February for some highway improvements. The current project is a two year project, accelerated to just 9 months, so there’s a lot of work to do. When I’m not crunching away on spreadsheets and paperwork at the office, I’m helping my wife out with her new 10 week old teacup chihuahua puppy.

I’ve finally been able to catch a break and get a weekend off, so tonight looks like a good night to work on a project. I’ve been working with FatCow Games on a game using the Unity game engine and have not been free to work on it over the last month or so.

I’ll be posting more n that later on, but for now I’ll just keep this post short. One last thing though, I bought an iPad 2! So I’m addicted to it, and use it for everything lol.

Guest Blogging for Fellowstream

November 11, 2010 Leave a comment

A couple weeks back I was asked to do a guest blog post for the blog over at Fellowstream and so I put together a post regarding my transition from an employee to a supervisor at my current work.

It’s pretty neat doing the guest blogging, I liked the experience and hopefully I can find opportunities in the future to do so again.

Consoles vs PC’s

September 18, 2010 3 comments

I don’t know about you, but I love my game consoles. I don’t care if it’s my Playstation 3 or my GameCube, I can take refuge in the fact that even though the games I have sitting on my shelves are 6-10 years old, they’ll still work perfectly when I plug them in. Not so true with my PC.

Today I attempted to play Civilizations IV on my laptop that I had purchased several years back. I bought them on Direct2Drive & so when I tried to activate it I was given a nice little error message saying activation failed due to lack of Internet. Yeah. No duh. I just moved & haven’t managed to get Internet up & running. So I tried my CD of Galactic Civilization and found that stupid Windows Explorer would freeze each time auto-run tried to execute. Then I tried Playing my Half-Life 2 but ran into the lack of Internet issue for the Steam client. I gave up & returned to my PS3. It’s sad that even my PS3 can play my 15 year old PS1 games with out any issues but games on Windows suffer with compatibility issues after less than 5 or 6 years along with forcing Internet connectivity to even get certain games (singleplayer mind you) activated for play. This is why console sales are up and PC game sales are down. Go figure.

Managing a Open Source Team

September 6, 2010 4 comments

Over the years I’ve been part of several teams that had banded together to build various projects. Several short months later the projects were dead and the team was gone. What happened?

One of the more common issues that I have noticed is of people joining the project & then not understanding the technology. Not the internal team technology, but rather the development frameworks and languages used. In most cases, the team members would become frustrated that they couldn’t learn the language or framework at a fast enough pace to keep up with the rest of the development, or they just lacked interest in learning something new.

Another common pitfall is that team members assuming they could develop at their own pace, when they get a craving to crunch on some code they would go ahead and code, otherwise they would contribute nothing. This would leave the team hanging however, as people would let their workload pile up or pass it on to other people when it was asked of them to try and meet a deadline.

Lastly, my biggest pet-peeve and by far the most common, has been people joining a project and then going silent. They never respond to your emails nor do they contribute to the project in any way.

I’m retrospect, there were several things I should have done that would have prevented this from happening. When you advertise for positions within your open source team, it’s important to remember you’re not going to be paying these people, typically speaking. They’re not required to fulfill any part of their role in the team, but there are things you can do during the selection process that will help weed out some of the un-wanted members.

1: Make sure they understand their role and the tools your team is using.
2: give new members a simple task at first to help get them settled in.
3: Ask them how many hours they can contribute, realistically.
4: find out what they’ve done in the past and give them work that resembles their past experiences. Letting them start out in familiar ground will help keep their interests.
5: use a Project Management solution like Fellowstream to help give your team members some direction.
6: hold team conferences via a forum or chat system at least once a week to toss around ideas and keep peoples blood pumping.

Getting a team built using free help is often difficult, but the fact of the matter is that keeping the team together is the truly difficult part. If you can maintain a team on your project, you’ll make a good project manager.

Saving memories

September 5, 2010 Leave a comment

I spent some time looking at some of the projects I had worked on in the past and found myself wishing I had blogged more on them as I built them. It was cool going back and seeing how I had done certain things, the people I worked with and the content created.

The lack of blogging and lack of saved content created a void in my memory when I tried to remember various things about the project. It made me realize that even now, with all the note keeping tools I have available, I don’t keep a proper amount of notes, if for anything else, nostalgic purposes.

I have a iPhone app called Awesome Note that works great and I’ve used it in the past. It syncs with my Evernote account so I can save all of my notes in one place, across multiple platforms. I think it’d be cool to have a annual blog post devoted to what happened over the course of the year, and keeping better track of my work and daily events will help make that annual post idea a reality.

Categories: Blogging, History, Programming

C# Programming #2: Type Overview

August 10, 2010 Leave a comment

The C# programming language is a strongly-typed language. Meaning that every variable, every class, every constant is a Type, including any expression that evaluates into a value. Every method in C# uses Types as return values, and method parameters supplied are Types.

The .NET Framework library includes hundreds of classes that represent a wide variety of simple and complex Types. Wait, a class represents a Type? What’s that mean? Well, a class encapsulates your source code, it contains all the code that makes your Type work. Think of it in this light, a class is the blueprint, a Type is the finish product.

You probably know that most software is compiled into 1’s and 0’s right? Well Microsoft has done something interesting, they’ve create an intermediary of sorts. While your programming language of choice might be C# or Visual Basic.NET, there is yet one more language included in the .NET Framework and that’s the Common Intermediate Language (or CIL for short).
CIL is not 1’s and 0’s, but rather byte code. It’s still humanly readable, (albeit not easily understandable), and is what is eventually compiled into 1’s and 0’s. At first this seems like an extra step, but I’m going to explain why it’s done this way.
So, you’re language of choice is C#? You compile your application and it gets compiled into CIL code. What if your friend makes an add-on for your application, but he wrote it in VB? His add-on will still be compatible with your C# application due to the fact that his VB source code will be compiled into CIL as well. Once the C# and the VB codes are in CIL, they are considered equal, they are the same language. Even though your .exe file is sitting there looking at you, it’s not really in 1’s and 0’s for the computer to read, it’s in CIL. When you start your application, the .NET Framework immediately compiles the CIL code into 1’s and 0’s, so that your application runs as a Native app.

What’s this have to do with Types? Well, like I mentioned before, a class contains all your source code, it acts as a blueprint. When you compile your source code into CIL, the class becomes a compiled Type. A finished product. What’s this mean for you? It means that your finished product, your Type, can now be used within your software or anyone else’s software. What if you are writing your application, and you write a class, and you need to use your class for your application, does it need to be compiled separately from your program in order to be used? Not at all! For an example, lets assume we have a class called Car and your program wants to use the Car to let people drive it. You have the class, but you don’t have a compiled Type yet, not only that, but the Car is part of your program and thus you can’t get access to the compiled Type right? You only have access to the class? (blueprint in source). Well that’s actually incorrect, as the C# compiler will see that your application needs to use the Car class, and will go ahead and compile it into a Type while it compiles the rest of your program, allowing your compiled program to use the Type internally.

Hopefully I did a decent job of describing the difference between Types and Classes, if not, feel free to drop a comment below. Just remember as we go through the remaining tutorials in this series, that when I mention class, it refers to your source code, and when I say Type, it refers to the actual finished object.

I will explain more on Types as I get into creating Properties, Fields and Methods.

Testing out mobile photos

January 26, 2010 Leave a comment

Update: upload completed on 2nd try. First attempt crashed x_x

I’m trying out uploading photos from my iPhone version of WordPress. My homemade piggy bank is the example picture!

Categories: Blogging