BlogEngine.Net 1.XX where have you gone?

The Hackers of the Past

28. January 2009 03:54 by Scott in   //  Tags: , , ,   //   Comments (12)

The Hackers of the past are a dwindling group of people.  The hackers of the future have a bright journey ahead of them.  The whole culture behind a hacker has shifted and is evolving over time.  The new culture is taking over a dwindling past time.  Phrack and 2600 both talk about the hacking underground changing and morphing.  They both don't see the light at the end of the tunnel, but I will to show them a new tunnel.  The hacking underground is still alive and well, but in a different format.  Hackers of the past were for freedom of information and to some, open source software stated by Richard Stallman.  Both Phrack and 2600 are looking for new outs and ins.  They both talk about how hackers have left the underground and joined the computer security job.  While security is important, it has basically ripped through the underground and taken a big chomp out of its culture.  No one knows how long the underground will stay active and they are of course looking for another course of action, but who will provide?  At this moment, there could be three type of hackers in the world.

The first type of hacker is your old school underground hacker.  It isn't your script kiddies, but the ones of the past.  The kind of hackers that ethically or unethically broke into computer systems for the freedom of information. To open the world to more information.  This is the hacker of the past.  The underground hackers still exist today, but their culture is falling to the floor with its last foot on the step. I hope to revive the culture in the coming years.

The second type of hackers are the ever failing computer security hackers.  This type of guy left the underground years ago to earn some money for doing what they love.  These hackers, left a large gaping void in the underground culture and have stopped the true ideal of a hacker.  They no longer hack.  They now prey on the underground for security secrets to divulge to the world.  About 6 months ago, a huge flaw was found in the basic dns of computers.  It was the security hacker who released the flaw before it was patched.  It was the security hacker who put the entire world at risk just for a little more publicity.  Why does this type of hacker need the publicity?  Because their jobs are turning into nothing.  They are losing work, though staying very busy, they are no longer having as much fun as they were sitting in front of a computer at 3am in the morning working on the next system and show them it has a flaw to the world.

 


Taken by Ted Percival

 

The third type of hacker has been around for years and years.  It was supposedly started back in the 1950's with amateur radio enthusiasts.  Looking for a new way to improve performance, which they coined the term hacking.  They have come from MIT in 1959, Stewart Brand in 1972 when he publishes SpaceWar.  It was made popular around 1982 when Tron and WarGames came out.  The third type of hacker is the hobbyst.  The guy that goes home after working a 9-5 job and working on some piece of software or hardware.  This is what hacking and the culture has turned into.  The type of person that enjoys solving real world problems.  The person that might choose to make a few bucks with their new gadget they just created or release it to the open source market which Richard Stallman and the creator of Linux Linus Torvalds strive for.  The term hacking has even morphed and created user groups such as Ycombinator and Hacking News.

The culture has changed a bit, but the underlying ethical ideals are still their.  Open up to the world. The Homebrew Computer Club started it all, hackers of the underground kept it going and now hackers of the future will have continued the legacy.  The security consultants though, will die off as the software of the future hackers get better.

The computer and the idea of software engineering is still in its infancy.  We have yet to see what new changes can be made, but I do know this.  The culture changes, but the ethics remain the same.

Which type of hacker were you?  Do you feel upset by this culture change?

If you liked this post, please be sure to subscribe to my RSS Feed.

Another way of thinking about how to store data inspired by ASP.NET

14. October 2008 10:38 by Scott in   //  Tags: , ,   //   Comments (49)

A while back I witnessed how the profile properties of ASP.NET are stored in the database.  All the properties all stored in one string.  There is then another string that describes the properties and how to view them and pull them from the database.

For example you have this string:
SmtpServer:S:0:18:Port:S:18:2:Password:B:0:48:ApplicationID:S:20:1:EmailUsername:S:21:15:

Then you have another string that looks like this:
pop.abcdefgh.co.uk257abcdefghij-abcd

If you break it down correctly you could get something like this:

  • Property Name : SmtpServer
  • Property Type : string (S) <-- Or this could be the Serialize As Type
  • Property Start Index : 0
  • Property String Length : 18

Now the question that I ask my self is:
Does this actually increase performance of the system?

I would argue yes and no.  Since the system could have an infinite amount of members attached to it and a countless amount of profile properties.  It would need to have something like this to decrease the amount of rows owned by a single user in the profile table. To give an example, I could be one user with 20 propertie.  If the application had over 1,000,000 users, that would be 20,000,000 rows.  That is huge and you must design for scale when it comes to an application that could potentially be used by all the world.

I would argue no to small applications.  If you only ever expect 1,000 users to an application, then why build something this complex other than for the thrill of it. This is especially the case when you don't need to worry about space on the system.  Space is cheap, but time spent coding a solution for this sample could be huge depending on experience.

I personally would build a generic code base for two ideas of this kind.  You could first build the generic code for the example above, but there would be another generic sample to build for. Lets say that you knew you were only going to ever store numbers in your database for each user.  These numbers could be used for ID's of another tables real data.  So I only want to store ID's of a table for each user.

I would store them like:
1:56:34:39:6798:10:39:40

This is because I wouldn't need another cell to split them up with indexes.  I would just split the numbers by the Colon. I would love to hear everyone's thoughts on this and why or why not it is a good choice.  Thanks for the time to read this.

kick it on DotNetKicks.com

If you liked this post, please be sure to subscribe to my RSS Feed.

3 WYSIWYG Editors for Webmasters in ASP.NET and why I chose FreeTextBox

14. May 2008 00:26 by scott in   //  Tags: , ,   //   Comments (47)

I have built a few sites that required the user to have control over the dynamic data of the site like Indiatlanticfire.com which the editor is used for every page of their site.  It updates all content of the site that they desire to enter in.  Over my search for the best editor I went through a variety of editors finally coming out with the Editor of FreeTextBox, but I would like to show you all the editors that I went through.  This is for me to, so I can remember where I found the editors and what one I used.  By the way, I wanted editors that were .NET compatible, so that was a big qualifier for which one I chose.

1. FreeTextBox - This was the editor I used for the final site of IndialanticFire.com.  I liked it the best because of the easy install and modification of objects on the editor it self.

Demo Here

ftbfrontpage

2. FCKEditor - Small and light editor, but I needed more functionality.

Demo Here

demo_screenshot

3. Spaw Editor - I didn't get a true chance to check this thing out, but it looked good and was built on .NET! It looked to be the editor of choice, but I had already had experience with FreeTextBox, so that's why I didn't choose this editor.

Demo Here

spaw_big

I hope you enjoyed my pick.

If you liked this post, please be sure to subscribe to my RSS Feed.

FizzBuzz => BizzBuzz. Can you actually code?

6. May 2008 16:46 by Scott in   //  Tags: , , ,   //   Comments (50)

42-16920498

Have you ever been in an interview where they asked you to write code in front of them?  Well I haven't, being so young and so fresh in the developer world.  My Interview went along the lines of:

  1. Have you ever worked on CSS, HTML, ASP.NET and SQL?
    1. Yes I have, as of 2008 I have over 9 years experience with this stuff except for only 1.5 years with ASP.NET.
  2. What are your favorite hobbies.
    1. Fun, Fraternity, my Girlfriend and of course all my software projects that I have going on.
  3. Having them critique me if I will actually fit in with the group.

I have never been asked if I can FizzBuzz.

FizzBuzz - To write a program that prints numbers 1-100.  For multiples of 3, print Fizz, for multiples of 5, print Buzz.  For numbers which are multiples of 3 and 5, print FizzBuzz.

It deals with Modules, hope I spelled that right.  Can you do it?  Leave your code in the comments section, I would like to see your answers to this little problem.

FizzBuzz, the phrase is over used all over the Internet.  It is used by multiple programmers and made popular by www.codinghorror.com which covered the FizzBuzz Dilemma here.

Why am I writing this?  I want to start a movement that doesn't use the word FizzBuzz anymore.  I want to use the phrase BizzBuzz. In my college life, I was a pretty big drinker and well we did play a few games that involved a table a die.  It was called Beer Die.  I suggest you look it up and think on it.  It is pretty fun for those people at the main table, but boring to the people that stand around the table. It was a fantastic game.  Like every drinking game, there were key words that couldn't be said. The words are Bizz and Buzz.  Bizz stood for 5 and Buzz stood for 7.  If you said either of these words, you finished a beer.  So lets start this movement!

BizzBuzz - To write a program that prints numbers 1-100.  But unlike FizzBuzz, For multiples of 5, print bizz.  For multiples of 7, print buzz. For multiples of 5 and 7, print BizzBuzz.

Why? well because FizzBuzz has become to popular and BizzBuzz has some history to it.  So lets start a cult following for BizzBuzz just like the following Beer has.

Thanks for listening. kick it on DotNetKicks.com


If you liked this post, please be sure to subscribe to my RSS Feed.

Why do I document Code?

28. March 2008 00:23 by Scott in   //  Tags: , , , , ,   //   Comments (59)

batflw

Hello and welcome to another session of why do I document code.  Today's contestants are:

1. The Software Requirements Document otherwise known as the SRD - This valuable little document tells the developer what to develop.  Is was started by the Carnegie Mellon.  It is used as a contract document between the developers and the customer.  The customer starts the document by what they expect the program to do.  Everyone knows that the customer always changes their mind, well if you use the SRD, they are held by a legally binding contract that specifically states what to develop.  You as a developer don't develop anything else except for what this document states.  Therefore if the customer changes their minds, well you can either point back to the SRD or decide to charge them more money.

2. The Database Maintenance Manual otherwise known as the DMM - This handy dandy contestant describes every little feature about your applications database.  IT describes the tables, the columns, the attributes of the columns, the generated script of the entire database, the user logins, the ways too install and upgrade the database on another machine, the DTS and last but not lease etc...  This basic manual describes in detail every single part of the database.  The reason for this is if you had a total hardware melt down and nothing works, well you now have a copy of the database that can be recreated using the script that was generated and put inside the file.

3. The Software Design Document also known as the SDD - This massive document describes all the methods, namespaces and functionality of the Code.  IT also describes the developers thoughts and opinions to why they code the application one way compared to another.  When I say everything, I mean everything. This document has all the developers thoughts and opinions when they were designing and developing the code.  Thank god most comments can be extracted via an XML parser.  The XML parsed comments can even put it into a nice little help file just like MSDN.com.  Where can you learn how to write one, well let me tell you.  Our good friends(Not really at all) at Bit Formation has made a great tutorial on how to write one.

4. The User Guide -  The user guide plain and simple is the thing users use to get around the application.  Every little thing that was EVER created by man has some sort of user guide attached to it.  These are a no-brainer, but long and tedious to write just like the other documents listed here today!

Now that you know our contestants, lets find out why you would do such a thing.

Alright, enough with the game show. I thought it would be a good starter.  I completely agree that all the documents though rather tedious and considered a time waster by developers is a necessary part of life.  Developers need to both COMMMENT CODE and write documentation.  That is the way it should be and should end up.  Documents are there in case you as the developer get into some kind of horrific accident and are no longer able to continue on.  They must find someone else to keep going.  Sorry, but that's the way life is.  You are writing the documentation incase you have to be replaced.  I currently work on a 20 year application and I know for a fact that I will not be working on this same application for another 20 years.  I just won't do it.  It is too boring and mundane.  I do know that some day, they will hire another guy or girl who will have to continue my work and when that day comes, the documents are there.

Ladies and gents, just think of documents as another day in the life of a developer. Things must be documented.

Scott P.

kick it on DotNetKicks.com