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.

Living with the iliad

Hey I had some time with my ebook reader. Since the death of my car I'm having more time then I normally would. I read on the train to and from work. I've been using it on a new project at work to review documents. I've been doing studing for my MCTS for work.

On the train ride I love the thing. I have access to the books I most want to read. I notice I don't always read what I should be reading. May be the 16 gig memory card is a little big. Maybe the activity of filling it is also a little much. Right there is the trashy novel verse .NET Framework 2.0. and I pick? Yep I wanna see what happens when dude get's caught cheating. Every time.

I love the SDD meetings at the office with the Iliad. I take notes on the pdf. I go back to my desk and I merge them. SWEET!!! re email out notated pdfs. WIN

I sit on the sofa and read my study documents. My actual test pdfs and my test king pdfs I feel so ready

Thursday, May 14, 2009

My First Week with the Iliad


My Iliad
Originally uploaded by DrkMage

I've been meening to update this blog for some time.

My first week with my iLiad was eventful. I learned how to reflash it the hard way and I started using the community OS on the device.

I've been reading about the iLiad OS project on MobileRead Forums for some time now. this was one of the things that made the purchase of the iLiad a win. I like the fact that it's based on Linux and the commuity was taking on the coding for iRex.

I decided one fine day to start the move to the iLiad OS. I started the flash by backing up. This took forever. I want to stop now and say this is a warning sign but I didn't know it. I came home from work and said hell the backing up should be done by now must be an error in the script. I'll check it out later and keep moving to the reflash of the current OS and then it'll be ok and hell I'd love a new keyboard. A day later I attempted to boot my machine and A day after that I was reflashing back to the standard OS. Yea it took that long because I was stupid and detemained.

I wrote the forums a couple of time and what I found was I had 2 gig's of the same files over and over. I removed my MMC card with my programs on it. OOps. Reflash to the iLiad OS took minutes. I loved it.

I plaied with all the toys and new stuff. I can open CHM files. and cbr files. I have a full screen Ipdf. Really cool.

Good stuff here.


Saturday, May 9, 2009

The Iliad is Soooo Coool

It's like having sex with a white women.

This is a review of my first few days with my iLiad by Irex. I opened the device and just knew it was cool. I just seemed to work right out of the box. I felt the same sense of inspiration that got me to buy the device.

I found it contained all the original equipment that's in a iLiad V1 box minus the shoulder bag. It had the single stylus,the old travel hub and the universal ac plug with it's parts. I also found the leather Irex book cover. The screen had some artifacts from it's long period of non-use.

I plugged it in to get some power on it. I wanted to see how eInk looked and play with the electronic paper. Just as I read the books left by the previous owner I noticed the ghost images disappeared and it was just like paper.

I played with the controls and attempted to add books and my own content. I ran in to some none documented issues. I came up with a work around and my books where on the machine in no time. I was how ever creating my own Manafest.xml files. I did some light research on the issue day 2 and I learned how to create my iLiad content.

I downloaded and installed the SDK. This allow me to create my own programs and installed 3rd party applications. I'm yet to install 3rd party applications or start coding projects.

I'm happy with this cool new device

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.

Friday, March 27, 2009

Toys For the iLiad.

Amazing how every little device comes with a lot of bits and pieces to make it more useful. My first SLR I needed 2 camera bags and a lot of stuff about keeping it clean.. My 17 inch laptop needed 2 laptop cases and a bunch of other stuff. My iLiad comes with a list of equipment that I need to make it more useful and just fun to own.

Due to the power management issues. I'm adding Travel Hub and a extra power cord. I can have one set at home and plugged in and one set in it's own little case so that I can carry it with me. Oh did I forget to tell you about the case to carry that in? I have to keep them together and neat.

The stylus is the same small stylus that comes with most electronic equipment. My plot is order a replacement stylus and a better one for the book cover. The one in the book cover I'll use most of the time. It maybe a replacement for a tablet PC. The pens I have for my Acer is very comfortable. I can use that all day long. I just have to find some cheaply. When I bought them they were 14 dollars now everyone seems to think they were a 100 dollar commodity.

A black leather book cover on an ebook reader is like a wedding dress on a bride. How can you have an ebook reader with out one of these. You really just can't and an iLiad you need a place to put your pen/stylus and your extra cards and stuff. I've also found InvisibleSheild this stuff covers the entire device and it is like armour. It's scratch proof and good protection for all electronic devices that you want to let sit around nude (with out a hard case). I just find this needed because fingers and dirt can get on anything.

That's my shopping list beside the memory cards. I got an SD card today. I'm going to get a big CF card for books and a little card for reflashing. Let the games begin

Sunday, March 8, 2009

Virtualization and Software development

Well in my last post I was talking about the eBook reader that I'm lusting over. I wrote about how it's Linux based and I wanted to try my hand at some Linux C++ development. The question is how is that software written and how is the stuff developed and tested.

The answer was found on the mobile reader pages. I found that there is a software development kit (SDK) to write and port the software. The SDK comes on a Linux VMware virtual computer. You can install it and then compile and cross compile to check for compile errors and run tests.

I'm a windows based software developer. I code in C#.NET and Visual Basic. I've been really spoiled by Microsoft with Visual Studio. I like the IDE. I like having it find code snippets and edit my code. I like WYSIWYG interface. Linux command line coding and remembering commands wasn't going to work for me. I went to my normal freeware development spot and found an IDE.

The IDE I settled is called codeBlock. I think this one looks and seems to function most like the Visual Studio that I'm use to. Ok I found my weapon of choice. I now need to know what else I need.

I read the posts and wikis and downloaded the SDK. I also got VMware Player and the SDK. I learned how to build the tool chain. I also learned how to build the scratchpad to program and test my ports. I also found information on installing Ubuntu Linux in a Microsoft Virtual PC.

Step one Install Ubuntu in a Virtual PC: I choose this form of virtualization because this is the one that I'm most familiar with. I know how this works and I figured I could make this work well for me. It's already installed on all the pc's in the house because of stuff I did with the Philly.Net group. This was very confusing at first from the YouTube video I found some information on the ubuntu website. Win

Step Two follow the toolChain instructions: I found the Terminal (don't ask I like FreeBSD better) I was able to enter the commands and spent my day building my sandbox and my tool chain. I had earlier downloaded all the sources for the iLiad. I did a quick copy over by mounting my filesystem and doing a quick mount.

Step Three download and install my IDE: I went to the website and did another download. I made copies of the orignal sources at this time so I can go back. I think I'm done for now tile I start working on this project.

I have to install SVN and get a paid hosting service so I can start working on modifying the existing code to do what I want. I also have to you know order the iliad.

Well this was surpose to be about Virtualization. I think I missed my topic here but as you can see I have a system with a fresh OS and tools to start developing on my old beat up laptop. This is kinda cool if you ask me. 2 Computers one machine.

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.

Friday, January 30, 2009

New Gear

Every payday visions of laptops dance in my head like sugarplums in the minds of children at Christmas. My visions include cool FlyBooks and U810s as well as 17 inch screen monsters. I see big hard drives and storage out the ass. I see Blu-Ray drives and discs.

There was a time I was pretty happy with the computers I had. My old Travelmate and my newish Averatec 17 inch laptop. They filled my needs.

I had a perfect laptop to code on. The Averatec was a great machine for that. It had the screen space I love. It had a fast 64bit processor. I had upgraded the ROM to 4Gigs even though the OS didn't handle more then 3. I also upgraded the hard drive to 350 Gigs. Simply a great machine.

My Travelmate is my machine I love to carry. I can show my photos on it. I can have my PDFs for my goofy Role-Playing games. I could show my maps and create with it. This little machine is a great carry lighter then my 17 inch and less unwieldy.

With all I have going what would make me want more. I experience the lost of both of my machines functioning like I want them to. My systemboard on my Averatec is shot. I broke the hinge on my Travelmate.

Sunday, January 18, 2009

OLPC XO & Fujitsu U810 at Starbucks

This is a cool shoot of two of my favorite computer toys. the OLPC XO and the u810.

My plans is to add the u810 to my pc lineup at the end of this year if I'm still loving the form factor. It's small and light and something I can have with me all the time. It will become my dayplaner and my book reader and it can also do duty as a photo laptop. Humm isn't that what I said my current tablet will be. Yea but that would be down right to cool for school.

The OLPC (one Laptop per Child) is the laptop I was banking on changing the world. I'd love for poor inner city children to have a laptop like that to replace books and for study. The one they're shipping to 3rd world countries has a hand crank so that the children with out power can power it with muscle power.

Saturday, January 3, 2009

Hinge Replacement

Ok today I replaced the Hinge in my laptop. I'm very pleased with the work I did and the smount of time it took me.

From looking in the manaul that I found with a google search. I estamated the time to be about an hour. Real time was an hour thrity minutes. Very few snags.

One of the snags I ran into was that the old hinge was broken into 3 pieces. The top part came off the base and it was locked into place in keep the top hinge cover tangled in it.

I removed the keyboard and the back cover and was able to unscrew the base of the hinge from the laptop. I had the screen off the hinge cover was still attached so when I had removed the screws from the bezel I couldn't get the top off. A little screwdriver play and I was able to remove it.