| Join | Help

April 2007 - Posts

Monday, April 30, 2007 12:17 AM

RCC3

Saturday I went down to the Richmond Code Camp 3 with Jonathan Cogley, Bryce Covert, and John Morales. Jonathan did two sessions, one on Refactoring and the other on Unit Testing with Rhino Mocks. John did a presentation on Lucene.NET and NHibernate, Bryce did a presentation on Code Access Security using code policies, and I did one on Hashing and Cryptography. Here is what I attended:

  • Windows Presentation Foundation, presented by Darrell Norton. It was a basic introduction in WPF, and very impressive. I have only played around with WPF, and now that I have seen someone else use it I might not be so shy from it.
  • Code Access Security presented by Bryce Covert. There were some technical difficulties with the projector, and his laptop, and resulted in him unable to use his slides or his code samples. However, a member of the audience lent his laptop and Bryce went right ahead and did the presentation adhoc. I was extremely impressed with the presentation. Even though the presentation was done on the spot, you would have never known.
  • WiX presented by Darrell Norton. I had only heard of WiX, and XML based solution for making Windows Installer packages. I didn't see how that could work, or how it could be powerful, but I have since learned that WiX is not just a toy. WiX was used by Microsoft to make the Installers for Office 2007 and Visual Studio 2005. I was surprised how easy it was to make a fairly complex installer (At least complex using the Visual Studio Deployment Projects) and how powerful WiX really was.
  • Refactoring presented by Jonathan Cogley. I finally got to see the man in action. The session was fun, and very hands on. We started off with some Techno music, then went over refactoring techniques, and then shortly afterward we started refactoring a nasty block of code. I like how the crowd was constantly involved.

Afterward I did my presentation on an introduction into Hashing, Symmetric Encryption, and Asymmetric Encryption, which I think went very well.

The Code Camp was a great success, and I had a lot of fun. If you ever get the chance to attend a code camp, I highly recommend it.

Share this post: | bookmark it! | digg it! | reddit! | kick it! | live it!
Posted by Kevin Jones with no comments
Filed under:
Wednesday, April 11, 2007 7:43 PM

PS3

I decided it was time to upgrade from a PS2 to either an X-Box 360 or a PS3. Arriving at Best Buy I discovered both were in stock. By the flip of a coin, I ended up with a PS3. I had never played a PS3, but I had played the XBox 360 plenty my Freshman year of college. I have no friends that have ventured into buying a PS3, so I here is what I think of it.

Pros

  1. The appearance of it is decked out. There are no buttons on it, it is all touch sensative.
  2. The controller is relatively the same to the PS2, with the exception that it is Bluetooth. Another advantage of the controller is it doesn't require batteries. The controllers have an internal rechargable battery. When your controller gets low on juice, plug it into the system using a Mini-USB connection. You can still play while it charges. The battery life is very impressive. I have yet to have it lose any notches in the power bar. The controller is feather light, too.
    Extra: Using the Mini-USB, the PS3 can also charge my cellphone.
  3. Supports Blu-Ray disks right out of the box.
  4. Media bays. It has a Compact Flash port, SD/SD-Mini port, and Memory stick port. Pretty cool if you want to put pictures from your camera onto the system.
  5. Built in web browser. Surprisingly, it's pretty slick. Almost all of the websites I go to on it appear as they would in Firefox / IE.
  6. Stunning graphics. My first game of choice was Oblivion, and I am enjoying it a lot.
  7. The UI for it is great. I will admit, the XBox-360's is a little easier to navigate.
  8. Legacy support. Full backwards compatibility with PS2 and PSOne games.
  9. Built in WiFi. (not included in all models)

Cons

  1. Expensive. If you have some money to throw around, it is worth it though.
  2. Limited game selection. Well, what do you expect? It's new. Looking on the playstation.com website, there are lots of good titles due in the near future.
  3. Online community is small. - This doesn't really bother me. I usually don't have time for a lot of online gaming, and I definately don't have the time to get good enough to compete in online games. I'll get my ass kicked by a 12 year old that sits around all day. Though the online community is well designed, and I can see a lot of potential for it.
  4. If you are upgrading from a PS2 or PSOne, you will need an adapter to get your old save files from your memory cards onto the system. I would rather have support for memory cards than a compact flash reader.

I don't regret it a bit.

Share this post: | bookmark it! | digg it! | reddit! | kick it! | live it!
Posted by Kevin Jones with no comments
Filed under:
Tuesday, April 03, 2007 8:43 PM

Is SHA1 dead?

There have been studies over the past years over the SHA1 hash algorithm, probably the most scrutinized hash algorithm in use. Many studies have come to the conclusion that SHA1 is flawed because it produces hash collisions. A hash collision is where a hash algorithm takes two different inputs and produces two identical hashes. Studies have shown that using a brute force attack on SHA1, a hash collision could be produced in 2 80 operations, and a small as 2 63 operations.

Let's look at what a hash is. A hash is a mathematical function that takes an infinitely large input of data, and produces a finite size output. So with that idea in mind, a hash algorithm will always have collisions . Hashing is based on mathematical improbability. Even SHA-2 algorithms, such as SHA512, are possible to produce collisions. However the required operations needed for a collision is far higher than that of SHA1.

Does that make SHA1 dead?

The answer is no. SHA1 will always have its practical uses, and will remain an industry standard for many more years to come. SHA1, even has some advantages over SHA-2 algorithms. How is SHA1 still useful? Well a prime example is storing passwords. The average password is probably no more than 8 characters. And using SHA1, it is impossible to produce a hash collision using a password. Even a 1,000 character password of any variation would not produce a collision. How many people do you know have a 1,000 character password, or even 50? SHA1 also produces a smaller hash, so why store a hashed password that is bigger than it has to be? For all intents and purposes, SHA1 is still an acceptable, and useful algorithm in certain situations.

Share this post: | bookmark it! | digg it! | reddit! | kick it! | live it!
Posted by Kevin Jones with no comments
Filed under:
Sunday, April 01, 2007 4:18 PM

MVP

Today I was notified that I am an MVP. I am honored to receive the award, and will continue to support and contribute to the community. Though, I find it funny they did it on April Fools day. I was expecting to get to the end of the registration process, and at the end it says, "Gotcha!"
Share this post: | bookmark it! | digg it! | reddit! | kick it! | live it!
Posted by Kevin Jones with 2 comment(s)