Showing posts with label coding. Show all posts
Showing posts with label coding. Show all posts

Friday, July 17, 2009

Learning GTK+ with C++

And boy do I miss C# already.

I learn new program languages as quickly as I get the Jones. Usually I want to join some open source program movement and advance it to the point where I'm happy with what ever I'm using and move on. Sometimes I just get interested in something and want to try it. I try and I learn and then again get bored and move on. I guess this is why I was a contract worker for so long. My latest passion is GTK+ and C++. It all looks like basic C from back in college. I was hoping that my C# work now would be closer to the standard I'd use learning this. No dice.

I found one of the reasons I can learn so quickly is the availability of high quality tutorials. Learning from a tutorial is different from just learning from reading a book. You actually have to do your homework and do the exercises. You have to get it wrong learn from the mistake and get it right. For example when I learned C# from the book I was handed by a System Architect I couldn't get my mind around the new syntax. I would leave off the trailing semi colon on every line and complain VB was easier. Now when I code in VB I forget to not add the semi colon.

So with that story in mind I found a web page with a lot of great tutorials called ZetCode. I found a lot of articles and ebook (html web pages that act like a book) tutorials. One reason I'm missing .NET and C# is that this book would be somewhere else. Like a printer friendly page or something. Also they talk about the functions that will be called and worked with but they never define them the way they would be in the object browser on Visual Studio. I like reading about function CreateWidget(string ,string, object()) I at least know what I could shove into that object and get some kind of strange error. Anytime I get an array of objects I know I'm going to error that out.

My problem with the layout and not being able to get a pdf is me being picky. I want to read the whole tutorial before I actually do the tutorial. I know I need to do the tutorial but once i read it I'll gain some kind of knowledge of what I'll be asked to do and type. It will save some on the retyping and where did I go long and what is that curly bracket for. This doesn't stop the tutorial from doing it's job and being a good tutorial.

The lack of methods and functions described like an it is in the object browser doesn't distract from the tutorial either. The information I want exists it's just in another document. The document I won't understand anyway. That's why I went out searching for a tutorial. I didn't understand the object browser always either. Now I just know enough to be dangerous with it.

I'm glad I could tell you about my pet peves.

Friday, April 17, 2009

Agile Development and .NET

As soon as I wrote the title for this blog I knew it would be wrong. It just crossed my mind that it should be agile development and Visual Studio. All the features I love about agile development is really easy to apply in VS. So I'm going to talk about helper applications that I like and all the things you can accomplish.

The first thing I like about agile development is the self documenting code. This is accomplished by use of discriptive function and veriable names. Good comments that are not misleading. Short functions and methods.

All that sounds like a tall measure but it's really not that big. Just consider how easy it is to refactor. I like to refactor as I use some source control system to make my small and well named classes. I also add comments at the end of the code. I use long names for my fuctions.

I wrote a function and I named it PopulateShippingInfomationFields(). This was done after I used the refactor function to remove the code to a function. I also removed the parameter that was passed to it and placed it in the method. So the addition of time to the project was about 5 minutes.

Ok so I created this function and took 5 minutes. The 5 minute part is pushing it. I admired it for a time , I took a swig of Coke and thought about the correct name. This 5 minutes bought me hours later. All the code that I wrote gets redone and changed at some point and later I feel I may need to look for this function and I can find it and it does only one thing. It was also made easy with Visual Studio.

Test Driven Development is also something made easy with Visual studio and a little plug in called. TestDriven.NET is my plug in of choice and my nUnit just fires up in my Visual Studio. I like this I don't have to stop coding to test.

I can make a test project in the same project like eCommerceWebSiteUnitTests. This will get checked into my source control with my main project. I again have a name for this project so I know what it is. It can reference the pieces I need and I can refer back to it months later and make my changes in my code. Test Driven Development is easier with smaller chunks of code. Does this code spit out the bits and pieces I need to fill the shipping information on this page? does this return a valid name. Good stuff there.

I think Agile came from the java world were the tools aren't nice enough so you can be lazy and not factor. Our tools are nice and our GUI is good and we can simply refactor and do something wonderful.

Thursday, February 26, 2009

And the Winner for my Ebook Reader is


iRex iLiad: All the pieces
Originally uploaded by centrax

I've been doing reviews and investigating ebook readers for a while now. Ok most of Febuary. I believe that the ebook reader will be to reading what MP3 Players are to music. We all have something that plays MP3's and we all know how we use it. We don't buy CD's just digital music from Amazon.com or other MP3 vendors.Ebook Readers will be doing the same for the things we read.

With things like Feedbooks.com which takes blogs and Rss feeds and turns them into PDF's for you to download as well as regular books. Amazon.com to buy digital media for books and other book vendors. You can read what you want. When you want it.

The iLiad has one advantge over the other eBook readers I checked out. That was the fact that you can take notes on the screen and merge them with your books. You can highlight and write on the screen. The iLiad is open source and has alot of 3rd party applications. It also has the largest screen. Accepts Compact Flash (CF cards) as well as MMC (sd cards).The model I want has wifi.

The makers of the iLiad, iRex, has released a new model for 2009. The new model is called the Digital Reader 1000. It boosts a 10 inch screen instead of the 8.1 inch of the iLiad. It also doesn't require a Travel hub to connect to a PC, AC power or EtherNet .The new models suspends and the iLiad does not but has a 15 hour of on time battery life more or less. Long boot time due to the lack of suspend modes.

As I sit here now I think I can live with the chinks in the armour.

The Travel Hub power for external connectivity and power means I buy an extra travel hub and power connector. Carry them in the bag with the laptop or what ever. That will allow me to power anywhere and connect. Plus I'm saving space because I nolonger need my moleskin.

Screen size I don't think I'll have a problem I have a much smaller and more normal book formfactor.

CF cards are all over the place. 2 gigs or 36 gigs it's still alot of books.


Thursday, February 5, 2009

Programing a Web Based Game

I've been wanting to program a web based game for some time. I spoke about an OOP method for doing card games. I wanted to do something more advanced and gamer like then a poker web game. Something with more then one player and interacting with other users. I found one.

I have a friend producing a small box game called The Hell of Stalingrad. This game simulates the battle of Stalingrad in World War II. It uses cards for locations and to fight the battle with little pieces and dice rolls.

There are a few differnt types of cards that will be come differnt decks. One Deck will be the location deck, the others are the formation cards (representing millitary assets),an event deck (effects of politcal and historical events), and a combat deck.

The location deck is each location in the city. Some of the location give each side bonuses and flaws to fight the battle there. For example one location maybe near the river. If this happens the Germans will win that location and only have to fight for the remaining 3 locations.

The formation deck is the troops to fight with they may be armour or infantry or mechinized. This formations can be given bonuses and effect the battle with the combat deck. They can also be depleted and resupplied this is a tapping and untaping effect.

I think this will be alot of fun with the silverlight pieces and a bit of a coding challange.

Saturday, August 9, 2008

I got my CodePlex and my Popfly.

Ok today I registered for Codeplex and I have my Popfly. So I'm all Microsoft moneypieced up and I'm going to break my nephew in right with Visual basic 2008.

Thursday, July 31, 2008

Cool tools for version control.

I started using version control on my personal projects about a year ago now. I had a hard drive crash and I lost some project that I was working on. I cried, bought a new hard drive, reimaged and started again with the cadveat I'd do better.

So I started doing better my way. I loved subversion since I had to use it at Catalyst. It never messed up a project and it was nice and easy to use. I downloaded Tortiose and found a site to host it for free.

I thought My Version Control was a god send. I was able to tell my client he was important enough to warrent off site back up. I was able to give several other ppl working on the project with me access. they could read the wiki. Yea.. that was a move in the right direction.

At work I have a VSS system to do the source control and it's all nice inside the IDE. I never really liked it but I deal with it. and go and find who has the file locked and IMing them to get out of the file that I need. I remember the senior devs wanted a plugin into the IDE so they can "live in the IDE". I always joke about it not having a roof. Well I went to code camp (Generic name for Philly.net meeting). It was a hands on camp and dude had all kinds of amazing toys. I wanted his toys his Subversion was inside his VS his nunit test thing was inside his VS and I discovered Resharper.

The Anhk Project is that plug in. I added it tonight and I think it's really cool. I coded a bit on my project and it's sweet just what I need right there where I need it. I also added test driven.net and it works well to running unit tests with in vs.