Tuesday, July 31, 2007

Quick Tip: Best of Vim Tips

Today I have found a list of one of the largest vi/vim tips I've seen in a while. The post covers almost everything anyone would want to do in vi. So check out the post here.

Monday, July 30, 2007

Software Testing Testing Your Coding Habits

Like most developers I have developed a rather long list of coding habits, some good and some bad but after reading this article posted on Object Mentor I'm probably going to change a few things. The article titled "Testing Will Challenge Your Conventions" is an interesting post about how coding habits or standards affect a Software Tester. I particularly like the part about how tests are like "code clarity". Now of course I don't agree with all of it, especially since its heavily weighted on unit testing and I don't think that's the end all to be all testing solution. Which makes it kind of silly to gear your coding standards to one testing method. However, its a good read for any developer check out the post here.

Sunday, July 29, 2007

Quick Tip: Basic Guide to Pointer Arithmetic

The use of pointers is often improperly used in the world of C/C++ coding and usually takes budding programmers time to understand how to use them. This is why pointer arithmetic is usually avoided like its some weird phobia.

So here is a quick tip to help you keep your head on straight when thinking about these operations. When you declare a pointer such as unsigned char* pData =NULL; you'll have effectively declared a variable that has the value of an address, in this case a NULL address. Now when performing operations such as pData++ you are adding 1 to that address value meaning your pData now points to an address of 0x1 or 1 from the start address. Simple right?

Well this is the part that most people tend to forget the operators work on the
address values, but the value contained in that address is based on the pointer primitive type. So in our current declaration of pData we can only move one byte (unsigned char == 1 byte) at a time when performing the operation pData++ . So if our pointer had the primitive of an unsigned short int (unsigned 16 bit value) then the operation would move in 16-bit chunks, this is very important to note when dealing with data parsing. It's really straight forward but you'd be surprised how often people forget/just don't know how this works.

Saturday, July 28, 2007

Random Music Video of the Day: Paramore "Pressure" Acoustic version



It maybe a week later but I've still got this band's songs stuck in my head. Paramore is a new generation of punk rock band thats got a good amount going for it, including a lead singer that can really sing. Hey that's kind of rare, in any case Paramore has/will be on my playlist so I thought I'd share, enjoy!

Wednesday, July 25, 2007

6 Ways to Writting Comprehensible Code

IBM has a nice little posting that gives a few simple tips to write more comprehensible code. If you're not entirely sure what I'm talking about then perform a simple test write a routine that does a few math operations on a value. Better yet, implement the operation using shift operators (just because) then have someone else (a coder, your grand mother probably won't work in this case) look at the code and have them explain to you what the routine does. If they can't figure out your code in like 5 minutes. Then you REALLY should follow these tips otherwise you should check out the follow. Check out the post here.

Tuesday, July 24, 2007

Quick Tip: Porting C++ Application to a 64-bit Platform

The code project has an excellent post on issues you'll run into when porting 32-bit C++ to a 64-bit environment. It's a nice little article for those of you who are making the jump.

Quick Tip: Setting Default Command Selections for Quicksilver

Today I have to give credit to Lifehacker and 43Folders for this neat little Quicksilver option I didn't know about. You can set a default action for partial commands then start typing your command, such as "PHOTO" for Photoshop. Then Ctl+Click on the application/action you want to launch with your partial command and select the "Make Default" option. The more I learn about this launcher the more I wish I had it everywhere.

Monday, July 23, 2007

Gentoo Founder is pissed at Gentoo Foundation

In my normal rumblings around digg, I have stumbled across this posting from Daniel Robbins, who is better known for putting together the Gentoo Linux Distribution. Now being a huge fan of Gentoo and in particular of its portage system, I was pretty curious to find out what the originator of the project thought about the direction of the Gentoo Foundation. Apparently he's not that pleased, in his post he talked about how the foundation he helped setup is more or less getting cold feet about the project and their plans to move Gentoo's intellectual property to another foundation. Daniel's post goes into more detail but needless to say he's kinda ticked, check out his post here.

After reading the post Daniel is referring to (here) I can kind of see why he's pissed. The thread goes on talking about why they should move to another foundation, without really explaining much on what they need to do to become a better foundation. It ends up sounding like, this is too much work for us so we think it should go to someone else that's not us. Now I'm a huge fan of Gentoo, but as of late things seem to be slowing way down, which might be the reasoning for their post. So even though I'm disappointed in this posting I'm still hoping the community will respond to this and get the project rolling again.

Sunday, July 22, 2007

Random Music Video of the Day: Bad Religion "Do what you want"



Today, was my first time attending a Warped Tour and I have to say it was all that I could hope for, which means it was awesome. So in honor of this eventful moment I'm posting of the bands I saw and I think pretty much stole the show. Bad Religion "Do what you want"

Saturday, July 21, 2007

Try Ruby: Step by Step Online Ruby Tutorial

Now I pretty much make a living off my knowledge of .NET based languages, C++, C, and a handful of other programming/scripting languages. Which means I tend to look at other programming languages but don't really use them to often. Which brings me to this awesome little tutorial site that walks you through the basics of the Ruby programming language. However, this isn't your standard tutorial guide, this site has a nice little command prompt interface that allows you to practice the code concepts that are being explained. The site has 8 tutorial sections that are pretty straight forward and useful. I can't really describe this any better so your just going to have to see it for yourself, check it out here.

The Basics to xorg.conf

For most Linux users the xorg.conf file is one of the few configuration files most Linux users would prefer to not have to deal with, for those of you oblivious to what X is here is a quick summary. The xorg.conf file is the main setup file that is the source of your Linux boxes mouse, keyboard, and most importantly monitor settings. This is all used by the X window system that is used as the base for pretty much all GUI's in Linux. The problem with constantly tweaking this file is due to the fact that since its so hardware bound, most of the time you can't simply look up the right configuration for X. Basically there is a pretty good chance you'll screw something up. So in light of all of this frustration Linux.com has posted a nice little basic tutorial on how to configure your xorg.conf file, oh yeah and don't forget to backup your working copies. Check out the post here.

Thursday, July 19, 2007

T-Shirt for the World Traveler



The very second I saw this site with this t-shirt, I just had to post it. This shirt would be awesome for situations you phrase book just aren't quick enough. It looks like you can actually buy one too! Check it out here.

Linus Torvalds Interview: One Open Source

Its not often I find a interesting interview with a technologist, but this interview by the One Open Source worked for me. Basically the interview with the father of the Linux kernel, Linus Torvalds, goes over his thoughts on GPLv3, Microsoft, and Science vs Witchcraft. Yes, you read that last part right, all in all its an interesting interview, check it out here.

Wednesday, July 18, 2007

Software Pick of the Day: Democracy Player (Miro) hits 1.0

If you've ever wanted an Internet TV application then most likely you've already heard of the Democracy Video Player.You'll also be happy to know that it has officially reached version 1.0. However, it seems that there is new trend in the open source world, which is rename/re-brand your project and the folks behind the Democracy Video Player have done just that. Miro is the new name and face of one of the best open source media players out there. If you're a Democracy user then its time to upgrade. If not check out what all the fuss is about here.

Tuesday, July 17, 2007

Firefox in Firefox trick

Since Firefox uses a combination of XUL and Javascript for its user interface, you'll be able to find a ton of little tricks, that you may or may not know about. Todays neat little trick is a way to get the Firefox browser to open up another Firefox window inside the current Firefox tab. For a list of chrome tricks check out the following post.

Basically all you need to do is paste the following in the address bar and watch in great confusion as you wonder what you could do with a web browser within web browser.

chrome://browser/content/browser.xul

Monday, July 16, 2007

Software Pick of the Day: Flock (0.9)

Today's software pick is more of a Firefox for social networks. As a matter of fact it integrates with a lot social networking sites such as YouTube and Flickr. It's got all of the feel of Firefox, but adds some nice little features that you can't help but like; such as a nice little media viewer window bar and a pretty slick RSS reader. Since its built from Firefox you'll find that a great deal of extensions that run on Firefox also run on Flock, this may not become my main web browser but its definetly growing on me. Check out Flock here.

Sunday, July 15, 2007

Software Pick of the Day: AppleJack

Like all operating systems OS X does tend to have problems that aren't easily diagnosed, such as permission errors or small sectors of corrupted information. So what is an OS X user going to turn to? Well, its seems that this little problem has already been resolved in the nice little "save your butt when it counts" application that does its best to repair a lot of the tougher operating system problems one might encounter. AppleJack is an open source command line application that does just that and I'm sure if I figured out a way to hook up a blender to my mac it might even make a smoothie. Well maybe not the last part but it is pretty effective at letting you get your data backed up just before your hardware dies. Plus is an open source project meaning its free as in beer. This is a must have utility for any geek running OS X, because lets face it when OS X goes wrong it goes very very wrong.

Saturday, July 14, 2007

Slightly more advanced Unix Commands

If your a part time power user of Unix/Linux environments like I am, you tend to forget the more powerful command line instructions. Which is why I'm glad I found a nice little list of advanced Unix commands which can be found here.

The "Hello World" Collection

After a bit of web stumbling I came across this site that has a pretty big list of "Hello World" code examples, which wouldn't be terribly exciting if it wasn't for the fact that it seems to cover just about 300 different programming languages. That's quite a bit of syntax. Check out the collection here.

Friday, July 13, 2007

Software Pick of the Day: Paint.NET

There are just so many times you find yourself, needing an image editor that's got more power than Microsoft paint but Photoshop is just over kill. So in cases like these I would normally recommend something like GIMP, but lets face it GIMP isn't exactly that friendly to use, it'll get the job done but the interface is a bit intimidating at first. So I'm going to recommend Paint.NET which is another open source piece of software just written in Microsoft's .NET 2.0 environment. This cool little application can do a bit more than mspaint and seems to have a less intimidating user interface than Photoshop or GIMP. Check it out here.

Thursday, July 12, 2007

Linux Tip: How to write a Linux Kernel Module

Ever want to add some additional function to your Linux kernel? Then your probably looking to write a kernel module, which is like a souped up version of plug-in except for your kernel. As you can image there are a lot of powerful things you can build into your Linux kernel with a bit of time and a trusty C book, you will learn the art of coding Linux kernel modules. Just not here, sorry not a Linux ninja yet, but you should Facts.org site which has a decent tutorial on where to start and the ins and outs of kernel module development, check it out here.

Random Video: Groovy Dancing Girl



Yes, its that time again where I must post about random internet musings. I don't know what it is but every time I watch this video it just makes me smile and after long days of coding isn't that what matters?

Wednesday, July 11, 2007

Quick Tip: Adding gestures to Quicksilver

If your a fan of Quicksilver the OS X launcher software, not the surf brand, you know how it will completely change the way you use your Mac. Well I spotted a cool little Quicksilver plug-in called Abracadabra which allows you to use a mouse gesture as a trigger, now this tip take some time to get use to but is really slick once you get it going. Little side note, don't go over board with this too many gestures just make things confusing. (Found the post from 43Folders, check out the post here)

Monday, July 9, 2007

Software Pick of the Day: Jumpcut

If you've ever wanted a simple way to manage the little pieces of text in your clipboard then, I've got the perfect little application for you. Jumpcut is an open source piece of OS X software that is licensed under the MIT License. Which still means its free to use for your very own. The Jumpcut application will sit in OS X's ever prevalent menu bar and allow you quick access to a variety of text clippings that have been saved to your little Macs clipboard. It may not seem like that big of a deal until you start using and trust me, you'll quickly start to love this useful little utility. You can get it here.

Sunday, July 8, 2007

An introduction to Function Pointers in C++

If you've been coding for a while and haven't moved on to .NET or Java, then there is a chance that your still living in the world of C/C++. If so then you enjoy the complete freedom of the language(s), which in short allows you to just about anything. Today's post is about function pointers, what their good for and how to code them. The basic purpose of a function pointer is to allow the application to change which function gets called at runtime. Which means C/C++ programmers have a very powerful way of designing call backs or implementing late binding techniques. The following site has a very detailed description on how to implement function pointers and when they should be used. (Check the link here)

Saturday, July 7, 2007

Windows Software Alternatives for Linux

If your one of the brave souls that made the switch to Linux from Windows, you'll need to start finding software replacements for your favorite Windows based applications. Then here is a nice list of Windows applications and their Linux alternatives. So to all you switchers enjoy your new operating system environment and enjoy your Windows free life.

1-800 Magic E4



Since, I've been doing pretty heavy technical posts lately I thought I'd lighten things up a bit with the last episode of the Rooster Teeth mini series 1-800 Magic. Maybe we'll finally find out why magic smells like bacon.

Friday, July 6, 2007

Linux Device Drivers: The basic "Hello World" Linux Device Driver

Now what kind of programmer/Linux user would I be if I didn't at least touch on the topic of device drivers for Linux. Any old school Linux programmer/admin/user has at one point in time had to fight the driver wars, in which the thought of writing your own driver seems like a better idea than trying to use whats out there. Yes, there were a few Linux programming ninjas that had that thought and the end result is a very long list of devices that is supported by the Linux operating system because of this effort. Well, for those of you longing for the days of old or just have too much time on your hands, here is a quick little tutorial on how to write the most basic of device drivers the "Hello world" driver. Yes, even code ninjas need to start somewhere. (Thanks to Digg for the link)

Thursday, July 5, 2007

Software Pick of the Day: Virtual Box

Ever need to test out applications on different operating system environments? Then you'd probably want to create a test station that has virtualization software, so that you can run multiple operating systems/environment configurations without a small heat factory in your workspace. Today's software pick is called Virtual Box and allows you to run on a virtualized x86 environment that will run on just about any platform, check it out here

Note: is software is licensed under the GPL meaning it's free as in beer

Wednesday, July 4, 2007

XNA Tutorial: Playing a Sound

Most modern games not only have fancy graphics but also utilize audio media to immerse a player into the game environment. Todays post is a step in that direction, XNA supports loading certain audio media such as wav tiles. However, unlike Textures you need to run your wav files into a separate tool before you can add it to your game project, see the Microsoft Tutorial here, to see how to use the audio tool. The step to incorporating audio into your game is based off of a Microsoft How To, which shows you who to incorporate your sounds into your XNA based game, check the tutorial here. .

Tuesday, July 3, 2007

The Beginners Guide to Vi

For all of your Linux newbies or veterans it doesn't hurt to brush up on your command shortcuts, especially if you are/going to be a vi user. The University of California, San Diego has a nice little beginners/refresher guide to vi, that's the visual in text editor for those of you who forgot (I know I did). So just when you forgot how to use one of the most powerful text editors of all time, you can simply check out their quick beginners guide and start editing with just the power of the keyboard. Check out the guide here. (Thanks, to digg post)

Monday, July 2, 2007

Software Development: Incremental or Complete Coding

In my short experience in the corporate environment the there are two scenarios which every code monkey eventually gets to deal with. Which usually results in one of two outcomes, solve the software problem(s) the quick and dirty way or actually solve the software flaw and take longer. Now if this was a class room quiz, I would hope that you'd always pick the latter approach. However, in the real world time is never plentiful and speed isn't just encouraged, its a way of life. There is a descent post on the topic of Incremental vs Complete Coders that's a little on the old side but still relevant (Original Post from Tweako).

Sunday, July 1, 2007

Software Pick of the Day: ViStart

If your one of many that would love to start having that Windows Vista look, without having to upgrade, your road starts here. ViStart is a little application that changes that awkward little start menu into a Vistafied window, it even has that nice little search feature. Check it out here, originally found from Lifehacker for the find.