Friday, September 15, 2006

8-year-old teaches grown-ups how to play Halo for $25/hour

I know its been a while since my last post but I just had to put this up. A shy 8-year-old Long Island boy wonder is making money hand over fist by teaching grownups how to master Halo.

read more | digg story

Thursday, July 20, 2006

CinemaNow launches first secure DVD download and burn service

Okay its a day late, but I just had to post this. Here is the digg summary:

CinemaNow, Inc., an Internet provider of premium on demand videos, launched July 19tth, a beta service that offers DVD content for secure download and burn through its Web site.

Give I have no idea what the restrictions are on this and if the service itself is any good, but I've been seriously wondering why no one has been tried this out sooner

read more | digg story

Wednesday, July 05, 2006

EFF Publishes Patent Hit List

The Electronic Frontier Foundation is spoiling for a fight, and on Wednesday it named the top 10 patents it wants killed, or at least redefined. The EFF said all 10 patents are in some way illegitimate and are being used to limit free expression.

read more | digg story

Friday, June 09, 2006

How strong is your Programming Kung Foo?

After going through my undergrad, I have noticed that over time you get a good feel on how strong a programmer the other students around your are. The brilliant ones are easy to pick out, they seem to do their own things, answer questions with responses that are usually full of jargon and tend to not worry about programing assignments. The latter is obviously the clueless programmer, they tend to ask pretty much nothing, usually always ask what the better programmers do, and usually have very limited understanding of what they're trying to code. Obviously there is a lot of people out there that fall in between the two, which brings us to the topic of this post. I've just kinda made this up but hopefully you'll be able to follow my thought process.

So how do you know how strong your programming kung foo is? Well, this is a hard question to answer so in order to answer it in the form of some sort of metric. I'll break it down to certain skills that I think make strong programmers.

Effectively Communicate Concepts and Ideas

- This is a big one, if you can't explain what you want to do to some one else, then there is little chance that you actually understand what your doing
- The benefits to being able to communicate well, I'd hope are obvious, but lets just go over a few reasons just for the heck of it.
        - Helps when dealing with collaborative groups, that way everyone is on the same page
        - Makes sure that you really understand what your talking about
        - Helps you explain concepts to other would be programmers
- Communication is vague, so be able to explain your concepts and ideas verbally, syntactically, and is some cases graphically.

Debugging

- All great programmers, soon to be or otherwise must be strong in this "style of the programming art" in order to be successful.
- At some point in time as a programmer your going to make a mistake, actually who am I kidding your gonna make A LOT of mistakes and not all of them will be obvious so being able to debug not only teaches you to think through your code more often, it makes you learn from your mistakes, quite a concept huh?
- Bottom line is that most programmers do this intuitively with their code at the beginning usually with print statements or something. This will only work for a time, but true masters of the art use debuggers, such as ddd or GNU debugger for all of you GCC fans or the Visual Studio Debugger for all of you windows programmers. The ability to use these tools effectively reflect, your understanding of your code and the ability to gain a better understanding of what happens under the hood.
- "The path of the Debugging master is through patients and breakpoints."

Knowing your Structures and Classes

- I've tied these concepts together since, their both important to understand but most modern programming and development uses classes heavily
- You'll need them, USE THEM, but know why first
- Know the difference between the two, and when their used, in most cases when dealing with modern projects you'll be dealing with classes
- There is tons of literature on Classes and such so I'm just gonna say that you should do your homework on them so you know just how powerful they are

Understanding Pointers

- This one of the most straight forward concepts in programming and should be one of the easiest to learn but still leaves initial programmers in a frustrated state of uneasiness.
- When dealing with pointers you just need to think, " Am I dealing with a value or an address?". If you thought strays from that, then your not talking pointers any more.

Buffers

- Know why you need them and when to use them.
- Keep in mind, though buffers are generally a good idea they can be expensive if over used.
- Remember buffer overflows are one of the most common ways to break code, its sad but we live in an in secure world

Using Regular Expressions

- If you can't logically think out your logic then you've definitely lost your way.
- As a developer you'll be responsible for the back-end logic in your applications, just make sure that it evaluates out to what you think.
- Don't forget some times its okay to go simple, its never okay to go stupid.
- Don't forget it al boils down to TRUE or FALSE
- Just remember that FALSE isn't always 0 and TRUE isn't always 1

Testing

- Understand that testing and debugging are closely related but its worth noting since, not all testing deals with basic use and functionality.
- Testing is essentially the next step in debugging, essentially its finding and fixing bugs you don't know about yet. This gives a developer a good idea on how strong their design is and what can/could have been done to improve it.
- Remember this portion is often overlooked because of time constraints, both in the professional and educational world, so don't forget it's not enough to know that there is a problem but you'll need to make sure you have time to fix it.

Tips

* Know your tools ( Take the time to learn about how to effectively use your development environment, it'll save you lots of time in the long run)

* Tools don't do all the work for you, they're there to save you time

* Comment your code, I know it sucks but trust me its worth it in the long run and helps in maintenance. On that note, make sure that the comments are useful, try commenting about how your code segment relates to the big picture.

* Code defensively, expect the worst and try to a count for future problems and you'll spend less time wondering what happened (If done properly you'll know what caused your problem)

* Re-using code, this will save you time just remember with cut and paste that trouble usually follows, especially when its done blindly.

* Coding try not to get frustrated when dealing with problems, this usually what makes and breaks most would be developers. be patient you'll get it just give it time and avoid going in circles with your thoughts; they tend to be unproductive thoughts.

Tuesday, May 09, 2006

Halo 3 Announced

E3 is in full swing with all of the major players, making big announcements Microsoft pulled out the Halo card. Yes, that’s right ladies and gents E3 has presented us with a new Halo teaser, the folks over at Bungie have a posting about the event and as you might have guessed. The teaser is all over the net.

read more | digg story

FOX Shows Added to iTunes Music Store

Looks like iTunes is slowly convincing major networks, that the iTunes Music Store is the premier content distribution system. Though I applaud Apple's sucess, is anyone worried that they might be becoming too powerful in the world of media distribution. It's just a thought.

FOX has put up several of their shows on iTunes Music Store. You can now purchase episodes for $1.99 of 24, Prison Break, Unan1mous, Stacked, and several "Fox Television Classics" (Buffy the Vampire Slayer, Firefly, and Lost in Space).

read more | digg story

Warner Bros. to sell films via BitTorrent

Well it has taken a while, but it looks like at least one studio, will be looking to take back or open up some of its market share. Today msnbc has an article on how Warner Bros. studio will be seeling its movie and tv content online via BitTorrent, the popular peer to peer client. The TV shows are said to be sold for about a dollar and the movies will be about the cost of DVD's. Its good to see that industry people are finally seeing that online distribution isn't just for pirating content, its an untapped market.

read more | digg story

Monday, May 01, 2006

Why isn't Vista built on .NET?

Looks like when designing the yet to be released Windows Vista, the idea of making it completely type safe seemed to come up and failed to make it into the design. So what exactly would that bring to the table? Actually a lot of things, such as being able to make lower level API calls more secure and allowing for better "safe" data abstraction. So why didn't they do it? Well in all honesty I would think that Microsoft’s designers may have been able to design Vista in a way so that it could be built in a type safe environment, however, they wouldn’t be able to do it based on backward compatibility. Microsoft, is very big on this issue, the whole Win32 API is primarily built on C/C++ (mostly C) and is definitely not type safe, which means that using managed code to interface with unmanaged code and vice versa, produces a real headache for the designers. Why is this an issue? Well if Microsoft came out tomorrow and said that our new operating system won’t support Win32 any more in favor of their new insert random code name API, they’d cause a lot of up roar in the development community and third party development companies. Which would result in major financial losses for Microsoft. They’d also have to deal with issues such as people who still want to use, let’s say Office 2003 and they don’t want to upgrade, if they can’t run legacy (be it back 10 years or 5) program on the new operating they are going to have a hell of a time convincing consumers to upgrade. The problem is that Microsoft saturation of the market is making it very difficult for the company to make radical changes to their operating system, without causing some sort of backlash. However, eventually some one will have to force the change, as issues such as security become a main focus in designing the latest and greatest operating systems.

read more | digg story

Friday, April 28, 2006

Halo 3 @ E3?

Quick update, looks like we might actually get to see a Halo 3 teaser some time during E3; even though there have been tons of rumors about a working beta floating around. Its good to see that Halo 3 will make an E3 appearance and will hopefully live up to the franchise

read more | digg story