Free Software That I Use

Tonight I am giving you some of my favorite software that can be downloaded from the Internet for free.   While you may have heard of some, others are so obscure, your friends have never heard of them.  I like free.  I like quality.  I also like supporting the little guys out there.  If they have a donation link on their site and you like it, support them.  I am seeing more and more great quality software available to us little guys.  I can no longer afford the big Microsoft and Adobe type software packages.  If I can find a free one to do the job; I will save my buck.  Don’t get me wrong, sometimes you have to buy a software package from a big guy, but if you don’t have to – why bother.

Here is just a few software packages I recommend.

Graphics – www.getpaint.net
Paint.Net is a free ( donation only software ) that is very similar to Adobe CS2 type software.  I use it for all of my photo editing, background creations, icon creations and other types of graphical work.

Compression – www.7-zip.org
Z-zip is a free compression software with an API of sorts.  I use it for opening and creating all of my zip and winrar type files.  It supports many compression types. – check it out.

Web Browsers
This is where I am stuck.  I use OPERA and FireFox.  Both have their purposes.  When I need development tools and testing of websites I use FireFox.  FireFox has multitude of plug-ins; but my favorite is the IE tab that I can switch my testing to the IE engine.  

With Opera, I like the graphical tabs and the ability to store passwords safely.  The graphical tabs allow me to see a thumb nail image of the website that the tab is currently pointed two.

This is really a split and I challenge everyone to try both.  I think you will switch from IE.

www.opera.com and www.getfirefox.net

Databases – www.mysql.com
As rumors are always swirling around about MySQL’s future, I am still using it.  It is free, robust and multi platform compatible.  I have never had an issue with this database not working and it has been able to grow with my projects.  Until this database dies, I will continue to use it.

Music – www.FooBar2000.org
While this software is fairly unknown, I was turned on to it by my wife’s uncle.  I have fallen in love with the search abilities that allow you to search by Genre, Author, Album and Year.  It has many options for creating play-lists and plug-ins to customize the audio library with.

Popcorn and Office Etiquette

Today I smelled the sweet smell of popcorn and thought gee, I would like to partake in some.  So, I opened my desk drawer and pulled out some of the my favorite buttery popcorn to pop.  While walking back from the microwave a few people asked if they could have some and of course I said yes.  While passing another desk, a small voice asked me if I had checked before making the popcorn; I said “why the heck would I ask, the microwave is free for use”.  A little later an e-mail was sent out to the entire office about smelly food.  I kind of mocked the e-mail.

On the way home I was thinking about the events.  When I got home I Google’d the the Popcorn in the Office question that I had.  Apparently I was wrong.

It turns out that popcorn in the office is bad etiquette as the smell often bothers people.  While the smell may be enticing for some of us; for others it can be very unpleasant.    The smell of popcorn can linger for up to an hour depending on ventilation and that can be very unpleasant. Everyone is entitled to a clean work environment which includes smells ( not just popcorn ).

My advice to everyone, think about the smells and other offensive things you may bring into the office.  It may be not so nice for the people around you.

In short – I offer my apologies to all the people in all of the offices that I had ever worked.  I did not know that the smell of popcorn was possibly offensive as well as poor etiquette.

Brother 420CN – Fuzzy Printing

If you have a lack of one (0r more) color do the following:

  • Make sure all carts are full, placed well and are secured. 
  • Insert a new original brother cartridge for the one that shows no color.
  • Press menu then start bk-copy
  • Press four times arrow up quick after another
  • The printer will switch into maintenance mode and all lights will flash.
  • Press 7 then 6 then 4 then start bk-copy.
  • The printer will initialize the cartridges and refresh ink within tubes and print head. After that it does some power cleaning.
  • When finished press 7 then 6 then 3 then start bk-copy.  The printer will run a power purge. 
  • When finished press 9 then 9 to leave the maintenance mode. do run a quality test print.

Repeat until desired results.

updated: 12/1/2013
Newer printers can use the following guide to access the maintenance menu: http://www.refreshcartridges.co.uk/igloo/how-to-the-reset-purge-counter-on-a-brother-printer-with-a-numerical-pad/

Making Your Web Page Accessible

It seems like a lot of work to make your web page accessible for people with sight impairment, and the audience seems small, but it is worth it. There are a couple of things that web developers often miss when they are evaluating such a task. If people cannot read the website, it is a good possibility that search bots and spiders from sites like Google and Yahoo will have difficulties too (although they have gotten better). By taking the time to properly plan out your site and take the time to follow the W3C standards, you should accomplish 90% or better of the goal to make your site accessible. Making your site accessible is easy and W3C publishes the guidelines.

Here are a couple of quick steps

  1. Use “alt” tags on any content that is not text ( images or graphics
  2. Use the title tags on your hyper links (a) type tags
  3. Create a consistent page layout including heading, menus and content area
  4. Where you use flash, or other plug-in framework, provide a text alternative with an easy and obvious link to it.
  5. Tables should be laid out using the following
 <table>
   <caption>this is a table caption</caption>
   <tr>
       <th>column heading 1</th>
       <th>column heading 2</th>
   </tr>
   <tr>
       <td>column 1</td>
       <td>column 1</td>
   </tr>
</table>

 

How would you split with C-Sharp

How would you split a string with comma separated values and remove any blank records?

While the solution may seem obvious to most folks, it is not always obvious to everyone. I have been asking perspective candidates this question, but there is one common answer that I get.

“Create a loop with two array variables. Loop through the comma separated string and do substring to extract each value while keeping the current index to use as your next starting point. Then create another loop to loop through your new array of strings to add the strings with length greater than zero to a new array… then return your newest array of strings.”

That seems like a lot of loops, a lot of string arrays and a lot of thinking.

Whenever I suggest using the String object’s split command using the RemoveEmptyEntries; I get told “Oh, what I told you is probably what DotNet is doing under the hood.

My god, that seems like a lot of work even for DotNet. I urge everyone to look at the functions available before undertaking such routines. Can you imagine the code that would be produced by a developer who is always writing code like described above? If you are unsure, use google to find your answer or even better yet use MSDN. Do not assume you know everything, because you are not expected to. There are resources around… Internet is a developer’s best friend.

Source for String Split Options: http://msdn.microsoft.com/en-us/library/ms131448.aspx

Sample Google Query used to find the answers:

Seven Tips to Project Success

  1. Before starting any project, you should know what you are doing before you start. Ask your users, create focus groups and research every detail. By asking your users you will know what your users will need to do their jobs and what they are expecting. Focus groups will provide feed back of what direction you should be taking the project by telling you what they think will work or not work. Both users and focus groups should be used through out the project in order to keep the project on track. Lastly, research your project to ensure you have all of the information and regulations written down so that all can review, understand and agree. Know every bit of your project.
  2. After done your research and you have talked to the users, it is time to formalize a project plan. First outline all requirements of the projects so that all parties can understand. You should include charts, graphs and diagrams where applicable. Now, add to your formal project plan a break down the individual pieces into tasks, people resources and time to complete each task. By now you should really know what you need to complete the project
    and it is time to list anything that need to complete the tasks outlines, concerns that you have for doing the project and any other special notes.
  3. Sit down with all stakeholders of the project including users and management and discuss the formal project plan. Ensure everyone understands the pan, what it will take to do the plan and that anything new will move the timeline out. Get management to sign-off on the plan indicating the understand and agree with everything.
  4. Do not stop using the users and focus groups, they will ensure you stay on task and that you are not going off on the wrong track. They will discover issues before the project is done. Do not get defensive when the discover issues.
  5. Follow-up with your people resources on a weekly basis to ensure that they are still on task. Encourage them to come to you sooner than later with issues.
  6. Test, Test, Test
  7. Deliver the final project to management and users by doing a proper presentation, training and sign-off sessions. Without proper training and presentations you will have user errors and a very busy support desk. If this is a contract project ensure that your company that you are working for know the terms of support and training. Sign-off sessions is just a indication that you are done as per your plan which was also signed off.

Javascript equalsIgnoreCase Function

This week’s code sample is JAVASCRIPT based. I found this while researching user validation routines. This function is a javascript version of a common Java function. We have replicated the calling syntax as a java programmer would expect to use it by effectively appending it as a method of the javascript String Object.

For more great scripts: http://www.apriori-it.co.uk

Important Note: Works with IE and FireFox

//The first line assigns the MatchIgnoreCase function as 
//an equalsIgnoreCase method of the String object 

String.prototype.equalsIgnoreCase = MatchIgnoreCase; 

function MatchIgnoreCase(strTerm, strToSearch) 
{ 
	strToSearch = strToSearch.toLowerCase(); 
	strTerm = strTerm.toLowerCase(); 
	if(strToSearch==strTerm) 
	{ 
		return true; 
	} else { 
		return false; 
	} 
}

Hot Keys

alt-1 – Load help

This week’s code sample is JAVASCRIPT based. It traps a keyup event in a web page that contains this code. The function then goes a step further and looks for the Alt key. Once we have the Alt filtered out we can begin to look for key combinations.

Below the code sample shows traping for numeric keys. The key code is actually an ASCII representation, so therefore you will need to know some common ASCII codes. Our example shows 48, 49, 50 being used. This translates to 1, 2, 3. So in short we are making a routine that will trap the following:

  • Alt-1
  • Alt-2
  • Alt-3

Important Note: Works with IE and FireFox

Try the Alt keys.