How to convert a DTED (Elevation) File to a Raster

Why Write to a Blog?





Photo by Qtea








Pay Homage to Paul Baran

20. February 2009 03:43 by Scott in   //  Tags: , , , , ,   //   Comments (25)

Pay Homage to the inventor of Packet Switching in which is one of the foundations of the World Wide Web.  Along with Paul Baran, Donald Davies and Leonard Kleinrock they are the inventors of Packet Switching.  The idea and execution of packet switching is what allows the entire internet to exist in side a giant bubble.  The bubble when tested can reroute it self automatically.  Data that gets sent over the internet is not defined by a single line feed.  It is not defined by a single point of entry and exit.  It is not defined by where the phone lines come and go to.  What defines the direct of data is the whole term packet switching. 

Packet switching in its simplest sense is data transfer of small packets of data over the internet or world wide web in which each packet defines its own highway to get to its destination.  The idea behind it was to have multiple routes to send data.  Developed and designed back in the 60's.  It was to allow for communications to be made over phone lines which had a linear track.  If the soviets back in the 60's decided to bomb the United States in a critical area, they would have taken out phone lines and most likely short wave radio.  Therefore leaving parts of the country un attached to the rest of the country.  An idea had to be created which allowed transfer of information other than phone lines and other than single node transports.  The Packet Switching at that time was being invented by Paul Baran and his team. 

World Wide Webs First Server
Photo by raneko

The internet was started by Arpa which is now known as Darpa.  Arpa had the latest and greatest.  There was very little red tape with Arpa and extremely little politics.  If they wanted it, they got it.  Paul was apart of Arpa. 

Al Gore is said to have created the internet which is not entirely false.  He was a leader in providing funding to the world wide web.  If it wasn't for his funding, government funding the WWW wouldn't exist as it does today.  The WWW is still in its infancy but we are further in communication than we would have ever been without it.  So next time you talk to one of your libertarian friends talk about Paul Baran and his creation, but also tell them that if it wasn't for the Government, we wouldn't have the World Wide Web as it is today.

Thank you Paul.  I am able to type in this blog because of what you created.  I am able to make a bit of money on what you helped create.  Silicone Valley is able to exist because of you and your team.  The Global World is able to communicate a bit faster and easier because of what you created.  In the past, it was not done for fame, money or reputation points.  It was done to help the world communicate better, faster and have a more reliable Government.  If you voted for Obama in the past election, thank Paul and his team.  Obama's Presidency would have been very unlikely along with anyone knowing his name if it wasn't for the internet and what Paul helped to create.  The internet is changing the way the government communicates to its citizens.  It is becoming a more transparent system. Instead of worrying about your reputation points or money, why not focus a little more on your community because if it wasn't for the community Paul Baran might have not created Packet Switching.



Making It Big!




Photo by Daveybot



Elements of a Sustainable Company



  • Frugality - Spend less, develop more!

I hope these points helped, because they are incredibly valuable.


How to Create a Threaded Comment System with ASP.NET



Photo by jurvetson


ThreadedComments.cs (5.98 kb)


Building a Workflow To-Do List

2. February 2009 03:03 by Scott in   //  Tags: ,   //   Comments (0)

When working with workflows in software engineering, there are plenty of people that have done it before you and there will be plenty of others that come after you.  Workflows are a foundation in the corporate world and new and old workflows are coded each day into the world of applications.  So much so that Microsoft came out with SharePoint to help with your workflows and make them just a much better system and easier for developers.  Workflows allow you to pass information from one person to another most likely attached with costs and some item of priority.  Ideas and development happen all the time, but their hasn't been much innovation in workflows today just because they are exactly the way they worked 20 years ago.  No need to innovate something that works unless your in the computer industry making state of the art hardware.  When understanding a workflow, there needs to be a front page, a designed system to go through each "step" in the workflow and a ending point.  You have to be able to send emails, show the workflows entirety and show some sort of "to-do" list which shows the user what they have to complete in the flow.  It helps them understanding their current tasks.

Workflows are easy to display and configure.  You have to pass information from one step to another where the steps are not infinite, so you can display them in a bubble like format on one page of your application.  Reporting is easy as long as you capture all the data that gets entered, all the dates in which something happens and every thing in between.  The innovation for workflows has more or less come to a skreaching hault.  When you take a paper workflow and build it into an application, its hard to display your to-do list.  You need to display the tasks easy enough for the person to understand what they have to do.  Due to the screen real estate in such a high demand on the front page it is important to get that list as small as possible so you must learn to innovate a way to show them a to-do list which is small and tight.  You must allow them to see ALL the item that need to be completed while also allowing items to be sorted and let them sit stagnant for a long period of time while other items are being added in daily.  So what do we have?  Well if your keeping up, before we created the app, we have a whole pile of paper sitting on a desk ordered by how recently it has been worked on and after, items sitting in a to-do list in an application with a few hundred entries in the list.  Now, how to split those entries up or display them as fast as possible that the human eye is able to capture all in a few split seconds.

The to-do list is easy to see if it is a huge stack of papers, but hard to keep organized.  The application allows for much less paper to be involved, but forces you to innovate in which the user sees the stack of paper(in the app).  I currently am working on how to innovate a "to-do" list and I must say that there aren't many examples of the list in the world.  What sits in the users queue could be only a few items or a few hundred items.  Here is where the problem lies.  How to display and organize a 100 plus items in a to-do list with the ability to sort through them in a few split seconds with the human eyes.

Taken by

Items that are a must have:

  1. Very Little Scrolling.
  2. Sorting.
  3. Split second reactions to what is seen.
  4. Fast Loading - Is taken care of with the language your using and the hardware your on.

Very little scrolling, Sorting and Split second reactions go hand in hand.  If you can sort fast, people will have a much better understanding of what they have to do, while sorting gives us the ability to make those split second decisions.  The question though is how to get all three into one application of the front page where screen real estate is very important?  Split second reactions need extremely relevant information up front.  This information will need to be sorted along with little scrolling.  Well how do you Sort 100 objects with no scrolling on tight screen real estate?

  • Options that came to mind are grouping them into tables when a user clicked the group. 
  • The default way is to just show a table of information with sort buttons up top which seems to be standard, but when you have to go through 100 items, it gets tough for the split second reaction times and which still requires scrolling.
  • Another Option would be to show the user which items they have already viewed for the current step its at.  Then create a new list which contains the "already viewed" items.  This will allow for a lot less scrolling, because the items were on an entirely separate list and unless the user had an action for that item, they wouldn't need to scroll down. But the fact that you still need to show the user the list would force you show them all together, but once the user clicks a sort button for "Already Viewed" they would then separate into two lists.

Which type of to-do list shall I go with? Well, I am going to go with the third one.  Even though it involves a bit more programming on my part, I think it is the "to-do" lists of the future.  The next question is how to make this happen in such a small tight place of screen real estate.  Hmm.

Got any other ideas on how to show to-do lists?  Show them in the comments, I would love to see them.


GoDaddy, ASP.NET and Discount ASP

30. January 2009 03:38 by Scott in   //  Tags: , ,   //   Comments (30)

Seriously, sometimes I wonder why I stay with GoDaddy.  Here I am developing a cutting edge app over at DrinkingFor. I just installed URL Routing on the app from the ASP.NET SP1 release.  I get to the point where I upload my changes to the site and what do I get?  I get a freaking Error.  SP1 for ASP.NET has been out for over 3 months now and GoDaddy still has yet to support it.  Why do I stay with them?  Sometimes I will never know.

I decide to take action.  So I call up GoDaddy support to ask them when do they plan on supporting SP1.  I waited on the line for about 10 minutes, and then someone finally answered.  The problem was that he was actually SNOOTY with me.  It was just plain sad.  I decided to go ahead and ask him when they expect the update.  Now being such a LARGE company, you would expect they would have roll out dates and times set up as to when they would start supporting a software upgrade.  Well, I talked to them and he said specifically they don’t.  They don’t have any kind of time line for SP1 or any other release.  I was just plain frustrated so I quickly hung up the phone with him and went to check out their competitor Discount ASP.  I come to find out that GoDaddy has a superior control panel than DASP.  I also found out that DASP is about double the price of GoDaddy.  I am a poor developer and I just really don’t make enough money to move my stuff over to a double the price hosting service. 

But, If Discount ASP was able to come down on their price a bit and upgrade their control panel, I would have moved over no questions asked with 20+ websites and customers.

Now as for GoDaddy, I am putting out a warning that if you don’t change your service and make software upgrades faster and let your developers know when its made, you will begin to see a mass exodus of your service.  I will make the promise that when I am able to pool enough funds together for about 20 websites, I will be moving.  I have had enough of the Big Daddy in the room.

Has anyone else had this bad of service?  What do you think of Discount ASP?


The Hackers of the Past






Taken by Ted Percival







Goals for 2009 and Beyond!

26. January 2009 03:00 by Scott in   //  Tags: , ,   //   Comments (17)

I know its about a month late for me to post something like this, but I wanted to document my ideas and goals for the new year.

My 2009 Personal Goals are:

  1. To Release two Web Applications this year! - This does not include, but it would count at the end of the year if I found another website that just worked really well for me.
  2. To improve apon I have about 8 more tasks that I want to complete with it, but after that I will need to make a decision whether to carry on with the site or throw some advertising on it and start a new site.
  3. To write better blog posts.  I have been on the down side of how informational my posts are and I want to change that.  So here I am prepared to be more informational on my posts.

My Current Long Term Goals:

  1. Acquire  I hope to one day have a company called Boomers, so I will of course need to buy
  2. Be a keynote speaker at a convention.  I first have to start speaking, but after that all things should rise to the top.  (Hopefully)
  3. Live off the money made from my web start ups.  The road could be long and hard, but I hope to make enough money each month to go home and work instead of going to work and work.

Now, Lets see how many I accomplish!


Best Practices for CSS Style Sheets

23. January 2009 03:10 by Scott in   //  Tags: , , , , , ,   //   Comments (23)

A while back Microsoft released a program called "StyleCop".  StyleCop is almost like a style guide for code, kind of like what CSS is for HTML.  It gives the rules for how HTML should be setup and react.  Now I only wish someone released a stylecop for CSS.  In my many years of dealing with CSS I had to come up with a best practice or thought on how I would like all my Style Sheets to look and feel.  This would help me determine exactly where to look over each sheet.  I realized that this guide was in my head and I had never put it down on paper.  So here today, I won't put it down on paper, but will post it here for all to see.  I have seen many style sheets and this is the guide that I use when I start to build my sheets.

  • Style sheets should always have the basic essential styles which are things like underline, bold, italics, predefined h1, h2, and h3 fonts, colors, link variations, and sizes of fonts.  This allows for a similar look and feel on every page of the site.
  • Style sheets should be downloaded as fast as possible from the server and therefore must have the least possible white space while still allowing for the ability to separate styles with the human eye.  This is where a one line per style should come into practice.  For each style used, it should only take up one line of the style sheet.  No longer should you use one line per declaration of style.  This new way is an easy way of looking over each feature of the style while still allowing for fast downloads of the sheet. For Example:
body { margin:0px 0px 0px 0px; background-color: #0077b3; background-image: none; vertical-align: top; text-align: center; font-family: Arial; font-size: .8em; text-decoration: none; }

  • Style names should be camel cased starting with the name/abbreviation of the tag the style applies to and then the name of the div tag/style. 
    • For Example:  I have a Div tag with an id of userName, I should name the style divUserName. 
    • If I have no name for the tag, I should name a type of ID for the style.  For Example: divPageInformation. 
    • Unless it is a standard id like .bold, .italic, etc... I will not declare what the style does, rather I would declare where the style belongs. For example for links: aPageTitle
  • Style grouping is a way to organize your sheet for better readability and navigation of the sheet.  In the past, people used to just put styles up on the sheet and forget it.  Not thinking that they would have to later come back to the sheet for editing.
    • If the style is generic through out the entire site, I group it at the top of the sheet with all the other generic styles.
    • I then group all the styles by page and then control/object it styles.  I then alphabetize the styles in each group for a fast skimming rate.

For Example:  I have an accordion that is generic along the entire site, so I would group the entire accordion together and then alpha sort the tags.

/* Accordion */
.accordionContent { border: 1px dashed #2F4F4F; border-top: none; padding: 5px; padding-top: 10px; }
.accordionHeader { border: 1px solid #2F4F4F; font-family: Arial, Sans-Serif; font-size: 12px; font-weight: bold; padding: 5px; margin-top: 5px; cursor: pointer; text-align: left; }
.accordionHeader a { text-decoration: none; }
.accordionHeader a:hover { text-decoration: underline; }
.accordionHeaderSelected a { text-decoration: none; }
.accordionHeaderSelected a:hover { text-decoration: underline; }

For another Example:  I have a reports page.  I group the reports page together separated by one line and then group the report styles together while sorting them.

.liReportChkbxs { list-style: horizontal; margin: 0 5px 0 0; display: inline; }
.ulReportChkbxs { float: left; margin: 0 5px 0 0; }

.liReportsList { list-style: none; padding: 5px 0 5px 5px; }
.liReportsListHorizontal { display: inline; }
.ulReportsList { text-align: left; display: block; list-style: none; }

I hope that helps in your style sheet endeavors.  I sure do wish I didn't have to go through the learning phase of this type of style.  I would love to hear my readers thoughts on this guide and how they differ from it.
