09 November, 2006

Learning about Smart Client Applications

My day job is requiring me to do some Smart Client development. Since my knowledge on the topic is rather limited, I am thinking a little research is in order. My research started with the MSDN website and had lead me to putting together this quick little post. I hope others find it useful.

A Smart Client application is the combination of rich and responsive user interface with the ability to work offline. A smart client can be designed to run on a desktop PC, laptop, Tablet PC, Pocket PC and Smartphones.

A well-designed Smart Client can take advantage of a rich user experience while providing the manageability benefits of a thin client. From a developers point of view this allows me to write programs that can take advantage for the client PC, provide a rich user experience, access to wide variety of local and remote services, and application manageability of a website.

Smart Clients applications are broken down into three broad groups: Windows Smart Client applications, Office Smart Client Applications, and Mobile Smart Client applications.

Windows Smart Client Applications are typically Windows Forms. This type of application provides the familiar Windows user interface. A Windows Smart Client would run on a desktop, laptop or Tablet PC.

Office Smart Client Applications are tightly coupled with one or more Microsoft Office application.

Mobile Smart Client Applications are designed to run on smart devices like the Pocket PC and Smartphones. These types of devices has limited screen size, limited memory and limited processing power. The ability is work in a non-connected mode is paramount. Applications are developed for the .NET Compact Framework.

Smart Clients can take advantage of the local machines resources. This means the application will run in a disconnected mode. I will not have control over the data on the user’s machine and the logic in the users’ version of the application could be out of date or using old logic.

Handling data in a Smart Client Application will take considerable thought. Data is broken in two major types: read-only reference data and transient data.

Read-only reference data is data that the client application will not change. This includes static or lookup data, data to support the data validation process, and presentation data. This type of data will be updated infrequently.

Transient data will be created, updated, and deleted by the client application. One of the major challenges is handling data changes from multiple clients.

Caching data is an important component to a Smart Client. An application can get a performance boost from caching data. The caching mechanisms should be able to handle both read-only reference data and transient data. The goal is to update the client’s data at any time regardless of the data of the data. You do not want to lose any changes the transient data the user has made. See the Caching Application Block for more information.

To keep data in synch, there are two main approaches: pessimistic concurrency or optimistic concurrency. Both of the approaches are similar in concept to pessimistic and optimistic locking in the database.

DataSets are one way of helping with the managing and syncing of the data. See the Microsoft documentation on ADO.NET for more information. DataSets offer a few benefits: DataSets can be treated like a database, DataSets can be bound to user controls, and DataSets keeps track of changed data.

There are multiple ways for a Smart Client to communicate with other resources: .NET Enterprise Services, .NET remoting, Message Queuing (MSMQ), and web services.

.NET Enterprise services provide access to COM+ service infrastructure. .NET remoting provides remote procedure call (RPC) mechanism to .NET components. MSMQ provides message-base access. Web services provide an industry standard was of communicating.

There are two major architectural approaches: data-centric and service-oriented. A data-centric approach utilizes a local installed database. The database handles the synchronization process, conflict resolution, and propagating the changes. The service-oriented approach stores data in messages and arranging the messages. Once the connection has been reestablished the messages to the server for processing.

There are seven main considerations for security: Authentication, Authorization, Data Validation, Protecting Sensitive Data, Auditing and Logging, Exception Management, and Change and Configuration Management.

Authentication uniquely identified the user of the client application. Authorization determines what resources the user can access. Data validation ensures on valid data is accepted by the application. Protecting sensitive data provides methods for storing and transmitting data. Auditing and logging keeps track of events and user action. Exception management ensures errors are well handled. Change and configuration management assists in tracking configuration changes.

There are multiple options of deploying a Smart Client: no-touch deployment, no-touch deployment with and application update stub, running code from a file share, xcopy and Windows installer packages.

No-touch deployment requires putting the application on a web server and sharing the link. No-touch deployment with an application update stub method follows the no-touch deployment process with the addition downloading the rest of the application to the local disk. Running code from a share requires a file share that all the users can access. Xcopy is to copy the files directly to the client. Windows installer package method is that traditional way most people think of deploying an application.

Deploying Smart Client updates also have multiple options: No-touch deployment, automatic updates, updates form a file share, xcopy updates and Windows installer package deployment.

No-touch deployment updates are simply copying the new files to a web server, when your application starts is checks the web server for updates. Automatic updates involve building the updating infrastructure in the Smart Client application. Updates from a file share involve replacing the old code on the file share with the new code. Xcopy updates are also really simple. Just copy the new files. Windows installer updates are to create an installer package with the new code.

Smart Client applications are part of the wave of the future. Smart Clients give the user a rich experience while give administrators and vendors a way of updating application with fewer headaches. I look forward to learning more.

07 November, 2006

Book Review: Code Complete 2nd Edition

Yesterday, I finished Steve McConnell's book "Code Complete, Second Edition." As a self taught developer, I am always looking for books, magazine articles and web posts that can help me improve my craft. This book has become an important part of my library.

One of my favorite parts of the book is the checklists at the end of sections. I have used the "Using Conditionals" Checklist multiple times in my work. The checklist has prompted me to refactor my code and to think about the code I write differently. The code looks cleaner, is more readily understood by myself and other developers.

Another benefit I have gotten out of the book was better ways to communicate with non-programmers about technical topics. I have used several of the items in the book with end users. The results have been positive. I was able to more clearly present technical issues to the end users. I have been able to develop a better working relationship with the end user. These same points have also caused me to think about my end users in a different light.

This book has already become a favorite of mine and I have a feeling I will referencing this book frequently in the future.

If you are a programmer, a developer, a coder, an architect or a manager of technical people this book should be in your library.

Book specs:
Paperback: 960 pages
Publisher: Microsoft Press; 2nd edition (June 2004)
Language: English
ISBN: 0735619670

One Reason Why I Don't Read the St. Louis Post-Dispatch

It is just a little past 8:00 PM Central time on Election Day. I have been trying for the last 10 minutes to find election results from the St. Louis area. I made a major mistake, I assumed the website for the St. Louis Post-Dispatch (www.stltoday.com) would have the numbers. Just to have a sanity checked, I checked out a couple of news websites. With in a 2 minutes, I was able to find information on the elections are shaping up.

I am so glad that I no longer waste my money on a subscription to a newspaper that can't do its job.

22 June, 2006

Sudoku

2005.12.07 - Original
I few weeks back my wife got hooked on solving Sudoku puzzles. Just for fun I am considering writing a program to solve the puzzles. Since I am trying to learn C#, this seems like a reasonable idea.

My first stop is to figure out what a Sudoku puzzle is. My first stop was the Sudoku entry on Wikipedia. Sudoku or Nanpure is a number placing puzzle.

The puzzle is most frequently a 9X9 grid, made up of 3X3 subgrids called "regions" (other terms include "boxes", "blocks", and the like when referring to the standard variation). Some cells already contain numbers, known as "givens" (or sometimes as "clues"). The goal is to fill in the empty cells, one number in each, so that each column, row, and region contains the numbers 1-9 exactly once. Each number in the solution therefore occurs only once in each of three "directions", hence the "single numbers" implied by the puzzle's name.


This seems simple enough. The wikipedia entry also includes some other interesting information including a method of solving the puzzle, some hints for programmers on how to solve the puzzles, the mathematics of Sudoku and finally some history.

My next stop is to figure out where can I find some puzzles and solutions to check my program against. I have come up with two possible sites. The first is www.sudoku.com and the other is www.websudoku.com.

What other resources can I come up with? I have stumbled across Sudoku Programmers which is a forum. There are mutliple posting that I will have to read soon. I have also come across Robert Burke's Weblog posting Sudoku Solver Web Service. Rob's web service will be good resource to check my solutions against.

This looks like it will be a fun project. My next step is to do a little more reading and to manually work a few puzzles.

2005.12.11 - Update
Today I tried my first Sudoku puzzle. I was able to completed it successfully in just under 22 minutes. The puzzle came from wedsudoku.com and it was rated as easy. I can now see why my wife really likes these puzzles. It takes a couple of different logical processes to solve a puzzle.

2005.12.12 - Update
Over at The Code Project I have found several articles on Sudoku:


2005.12.17 - Updated
Over at Rambles Weblog at starchamber.com there is a neat Sudoku Solving Assistant tool.

Over at The Code Project there is a new posting 'Sudoku Game in C#.' The posting looks interesting enough to warrant a closer look at the code.

Update - 2005.12.29
Found two more blog postings about Sudoku. The first is from the blog 'The Truth is Out There!' entitled 'Simple Sudoku.' The posting is about 'Simple Sudoku' a freeware puzzle maker and solver for Windows.

The second posting is from 'Business Week Online' entitled 'Sudoku: The Next Tetris?' This posting talks about the popularity of the game, link to Sudokupuzzlesonline.com and a link to Sudoku for smartphone.

2006.01.08 - Update
There is another Sudoku Solver over at Code Project.

2006.01.17 - Update
CodeProject has XSudokuWnd posting, a solver for the popular Sudoku puzzle, based on D.E. Knuth's Dancing Links algorithm.

2006.03.31 - Update
Seedmagazine.com has an article entitled 'MICROSCOPY AND THE ART OF SUDOKU.' It appears that Sudoku is having a larger impact on the world other then a fun time consuming mental puzzle.

2006.04.04 - Update
Not even Microsoft can resist the power of Sudoku. I found the article 'Microsoft Sudoku: Optimizing UMPC Applications for Touch and Ink' out on the MSDN site.

2006.04.21 - Update
Today I came across another site where you can play Sudoku for free call Sudoku Craving. If you like you can register with the site. By becoming a memeber the site will keep track of your stats for you.

2006.06.16 - Update
Over at the site Scanraid Ltd, I found several Sudoku related webpages.


Sahil Malik has posted his Sudoku Solver and the source code.

2006.06.22 - Update
Sudoku Combat allows two people to play Sudoku at the same time to see who can solve the puzzle first. You can challenge your friends or strangers.

17 June, 2006

10 Blooming U.S. Cities for Tech

Site: eWeek.com
Post: Beyond the Valley: 10 Blooming U.S. Cities for Tech

Where will the next big tech city be? The editorial staff try to answer this question. They came up with a list of ten cities that are seeing a lot of tech growth.

16 June, 2006

USB Drives

This week I found several posting on USB Pen Drives, USB Jump Drive, USB Key Drive or USB Thumb Drive.

Build the best paper airplane in the world!

Site: Build the best paper airplane in the world!

I just the wonderful things you can discover on the internet. I have yet to build this paper airplane and I think my son will enjoy flying it.

More On Budgeting

Update: 2006.06.11
Over at D*I*Y Planner there is a 'Financial' thread, which includes a Budget template for the 'Hipster PDA.'

Original Post: 2006.06.11
For the last few days, we have been refining the family budget. So far we found a few regular expenses we forgot about. We missed the annual renewal fee for the memebership to the Zoo and Costco.

I have also done a little additiuonal research into budgets and budgetting. Here are a fewsites and posting that I found helpful.

09 June, 2006

The right way to run a Wi-Fi cafe

Site: NewsForge
Post: The right way to run a Wi-Fi cafe

Nathan gives four tips to the coffee shop owners who are providing an internet connection along with the coffee.

Guide lines to becoming a solid developer.

Site: Dr. Java's tips for Tricks
Post: Guide lines to becoming a solid developer.

Dr. Java present six guide lines a developer should keep in mind while they are working. You should also take the time to read the comments others have left.

03 June, 2006

Home-Based Business Bonanza

Site: The Entrepreneurial Mind
Post: Home-Based Business Bonanza

I did not realize how many sole proprietors there are in America or how well they are doing. The posting is well worth a read and at least a quick glance at the study the posting references is in order.

02 June, 2006

DIY Planner

Site: D*I*Y Planner

A few years back I was sent to a time management seminar using the Franklin TimeQuest method and binder. This was one of the most important skills I have ever learned. In the years that have followed I have used various pieces of the system almost everyday. Now I am using a PDA which I find to be very limiting and hardly use it as a planner. I am also not happy with the features that Outlook provides. Today I came across the website D*I*Y Planner. I have taken a quick glance a few of the planner templates they offer. This site appears to be promising. I still need to take a closer look at the templates.

Update: D*I*Y Planner Hipster PDA Edition 3.0 was released at the begining of May.

31 May, 2006

Reference and Outline Maps of the United States

Site: NationalAtlas.gov
Post: Reference and Outline Maps of the United States

The site contains a list of printable U.S. maps that you can preview or download. They even have several maps for each state.

30 May, 2006

Changing My Financial Future

A few weeks ago my wife and I made a major decision. We are going to change our financial situation.

We are feed up with living paycheck to paycheck, paying back loans, not have money in the bank for vacations, new computers or activities we can do as a family.

The first step was to figure out what we are bring in and what we are spending. Since we are using Quicken, figuring out what we are bring in was quick and easy. This told exactly how much we have to work with.

The second step was to figure out what we are spending. At first we though this was also going to be easy with Quicken. It turns out that we did not do as good of a job categorizing the expenses plus we did not categorize that ATM withdrawals very well. So we start a spending notebook, at the end of each day we recorded the date, what we spent money on and how much we spent.

The third step was to setup some starting goals. We needed a starting point to shoot for. This was a very fuzzy area for us so we needed to do a little research. We turned the research into the following initial goals. First, a small emergency fund of double the house payment. Based the past expenses this should cover most of the emergencies that come up. Second, stop using the credit cards, stop using the debit card and stop taking on new debt. We have found that we spend less and think about the purchase more when we have to use cash. Third, pay off the debts we have now. We are exempting the house from this goal because we have read some conflicting information about paying off the house. There seems to be two main methods for paying down the debt. The first is to list all the debts by interest rate from highest to lowest. This method saves the most amount of money in the long run but may take a while before we see any results. The other method is to list the debts from smallest to largest amount owed. This method offers us the opportunity to see some results right away. We opted for the second method. Fourth, increase the amount of money in the emergency fund to six months worth of expenses plus insurance deductibles. This should give us a strong base to work from for what every new goals we come up with.

The fourth step was to create a budget. This has proved to be a difficult a task to complete and keep up with but it is the most powerful tool we have to managing the expenses. There are several important ideas we needed to keep in mind when creating a budget. First, it may take between 3 and 6 months is start getting the budget right. It takes a few months to figure out all the expenses you have. We are working on the third monthly budget and we are still finding items we forgot about. Second, we created a 'free spend' category. This is money we are allowed to spend for no reason at all. This is important mental health item. Creating and sticking to a budget is hard work we need the mental relief that this category provides. Third, we need to talk about and review the budget frequently. We use this time to figure out how we are doing financially and to help encourage each other.

We have been working on this for about three months now and have seen some results and some unexpected benefits. It is a great feeling to see the amount of debt we have decreasing at a steady rate. We now sleep better. We don't worry about how to make ends meet. We have more control over the money. We are now starting talk about additional financial goals like a solid retirement plan, a college fund, investing and vacations.

DIY Dry Erase Board

Site: Elephant StairCase
Post: DIYDryEraseBoard

They walk you through building a Dry Erase Board using acrylic plastic. If you follow the the steps they listed you can have a your own Dry Erase Board up in less than an hour. I built my Dry Erase Board a couple of years back using shower board and I wrapped the board with 1X3 pine frame. It looks nice and works rather well.

17 May, 2006

Look, no hard drive: flash only

Site: Digital World Tokyo
Post: Look, no hard drive: flash only

I have been waiting for over a year now to hear this news. Finally a proto-type of a hard drive replacement that is 100% solid state. The good news is a solid state drive should be faster, more durable, consumes less power and is quite. I want one bad for my laptop. Now for the bad news the disk is not yet in production mode and it is a expected to be a bit pricey.

Boot up Windows before you even log in

Site: BrainFuel
Post: Boot up Windows before you even log in


When Windows XP boots up it goes through two major steps the first is loading of non-graphical system then after you enter your user name and password the system then loads the graphical part of the OS. Wouldn't it be great if you could load the graphical part of Windows without having to login? With the use of TweakUI and a simple registry entry you can do just that. You can get the exact steps from the guys at BrainFuel.

12 May, 2006

Ten Programming Commandments

Site: Code: Impossible
Post: Ten Programming Commandments


The list speaks for itself. I try to apply several of the commandments while I am programming but sometimes you just have to break the commandment. I would change commandment 10 to 'Thou shall Refactor'.

05 May, 2006

Portable Tools

Site: T.W.A.T Radio
Wednesday, May 03, 2006
Episode: 107 - Portable Tools
Host: Kynan Dent

Today is my day for applications that can be run from an USB device. In this podcast Kynan talk about the what tools he keeps on his USB device and how to set the applicaitons up.

Security/Hacking applications that run on a USB flash drive

Site: Watch Your End
Posting: Security/Hacking applications that run on a USB flash drive

Here is an interesting posting about security tools you can run from an USB device. I also find this article to be a little scary. Any tool can be used for good or evil it all depends on the person using the tool.

Handy programs to put on a USB stick.

Site: SnapFiles
Post: Handy programs to put on a USB stick.

I am also looking for neat tools to make my life a little easier. Free tools are always great and I like the idea of having some great tools that I can carry around everywhere.

I am already a Foxit PDF Reader user. This tool is great. I will have to check out a few more of the tools from the page.

The 25 Firefox Extensions You Didn’t Know You Needed

Site: desideratum
Post: The 25 Firefox Extensions You Didn’t Know You Needed

I don't really understand why I find Top X list so interesting. I found this list the other day. A couple of the extensions look interesting and I am thinking I should check them out. CoolIris Preview, Copy Plain Text, Greasemonkey and Menu Editor look promising. Does anyone have any experience with these extensions?

Mozilla Firefox 1.5.0.3 Released

Site: Mozillazine
Post: Mozilla Firefox 1.5.0.3 Released

This release of Firefox contains a security fix for denial of service vulnerability. I got my update and no problems so far.

30 April, 2006

Programmatically Rotating the Screen using the .NET Compact Framework

Site: David Kline
Post: Programmatically Rotating the Screen using the .NET Compact Framework

One of the biggest complaints I have about my PDA is I can not rotate the screen 90 degrees when I want to take notes. With this bit of code I should be able write a quick notetaking application that has a screen rotation feature.

18 April, 2006

Proxy List : 250+ working proxies for safe access from work/school

Site: eConsultant
Post: Proxy List : 250+ working proxies for safe access from work/school

eConsultant has put together this list of free proxies. Using one of these proxies you can anonymous surf the web by hiding information such as your IP address from web servers.

14 April, 2006

Create, Study, Print and Download Flashcards

Site: Flashcard Exchange

I remember using flashcards to study basic math back in grade school. Over the years I have created a few flashcards myself to study subjects I needed to know in a hurry. I have even written a couple of flashcard programs. If you can't tell by now I think flash cards are vary useful study tool.

Flashcard Exchange has a library of almost 4 million cards covering a wide range of topics: Early education, Elementary School, High School, Higher Education, Science, Sign Language, Medicine, Trades and Occupations, Information Technology and Foreign Languages. Not only can you get access to the card library you can create your own flashcards and share them others. You need to become a member to download and print the flashcards.

04 April, 2006

Fun and Easy How to Guide to Binding Your Own Paperback Books At Home...FAST

Site: Achieve-IT!
Post: Fun and Easy How to Guide to Binding Your Own Paperback Books At Home...FAST


Brad has found an effective way of dealing with all the pages he prints. He binds them together like a paperback. There have been a couple of times where this idea would have come in handy. I may just have to give this a try.

31 March, 2006

How to use Outlook to backup your Gmail account

Site: betapundit
Post: How to use Outlook to backup your Gmail account

Google really needs to provide us with a better way of backing up our email. This article I linked to here is using MS Outlook to backup your Gmail account. You should also be about to use any pop3 enable email program to get the emails from Google. The article is good and detailed enough most people should be able to follow it. Google's lack of a backup methology is lame.

Free Tools to Recover lost data

Site: Ricky's Web Review
Post: Free Tools to Recover lost data

I like the word 'Free'. Does anyone have any experience with any of these tools?

Regular Expression Site

Site: www.regularexpressions.info

A couple of years ago I was introduced to the power and time saving ability of Regular Expression. Since then I have preached the value of Regular Expression to other people. It always peaks my interest when I come across others preaching Regular Expressions. Jan Goyvaerts has put together a site on Regualr Expressions. I have found some information that I did not know before.

29 March, 2006

.NET Languages

Site: dotnetpowered.com
Post: .NET Languages

Brian Ritchie has put together a large list of programming languages that use the .NET framework. I don't if this a list of all the .NET languages or not.

27 March, 2006

How to Create a Bonsai Tree

Site: WikiHow
Post: How to Create a Bonsai Tree

wikiHow has a little posting about creating your own Bonsai tree. The steps seem simple enough. Has anybody tried this? What were the results?

Mono and its many facets screencast

Site: ComputerZen.com
Post: Mono and its many facets screencast

Scott Hanselman has an interesting demo of Mono and .NET. Scott writes a bit of demo code then he runs it through the .NET and Mono compilers. Scott finishs by comparing the IL code from programs.

I think I will have to start taking a closer look at Mono now.

20 March, 2006

Service Orientation

Site: ServiceOrientation.org

For the last few days I have been doing some light reading on Service-Oriented Architecture (SOA). One of the greatest resources I have found so far is the site ServiceOrientation.org.

15 March, 2006

Doane Paper

Doane Paper
Site: Doane Paper

Doane paper is a combination of grid paper with legal pad ruled paper. This looks like it can be a really useful way to take notes, to plan projects or to brain storm.

St. Louis Code Camp!

Site: Brian Button - One Agile Coder
Post: Announcing the St. Louis Code Camp!

Brian Button is putting together a Code Camp in Saint Louis. Details are still light but the process is underway. There is a call for volunteers and speakers. Mark your calendars and sign up to help or attend early. I think seats will go fast.

06 March, 2006

03 March, 2006

Scupedia: Scuba Encylopedia

Using the same technology that brought us Wikipedia, a new ambitious site Scupedia.com now brings us the Scuba Encylopedia.

Scupedia is a new project just getting off the ground. It will take some time for the site to get up to speed. The information that I have seen so far looks good. If you have the time please help them out.

02 March, 2006

Wall Street Journal: Blog Epitaphs? Get Me Rewrite!

Site: Wall Street Journal
Post: Blog Epitaphs? Get Me Rewrite!

I would really like to know what you think about Jason's posting. My first thought was outrage. How could he be saying that blogs are dying? I then realized that I miss read his opening. Jason starts off with some of the rumors. Many of which I have never heard because I am just not plugged into the main stream media. Of the 470 feeds I track only about 30 of them are main steam news organizations. I really hope that blogs are not dying. I love being my own editor and reading posting on topics I find interesting and not being force feed that the editors at some large news organization thinks I would like.

Taunton Press: Set Up A Miter Saw To Cut Crown Molding

Site: Taunton Press
Posting: Set Up a Miter Saw to Cut Crown Molding

This video clip walks you through the process of setting up a miter saw to cut crown molding. Gary Katz also gives a couple of quick tips to make the whole process a little easier. On Ask this Old House, Tom Silva demonstrated many of the same steps Gary used.

Kuro5hin: Something Every Java Programmer Should Know

Site: Kuro5hin
Post: Something Every Java Programmer Should Know

According to the posting every Java programmer should know about Java Modelling Language (JML). JML uses annotations to provide concise descriptions of behavior in your code. After reading the article, I am going to have to spend some time researching annotations and JML. This could realy help out with documeting my code.

01 March, 2006

Lifehacker: Benjamin Franklin's 13 personal goals

Site: Lifehacker
Post: Benjamin FranklinÂ’s 13 personal goals


I always look foward to reading the postings on lifehacker. The posting on the Feb. 25 about Benjamin Franklins 13 personal goals struck a cord with me. Since the 25th I have re-read the posting three times and everytime I read it I am struck by three main ideas. The first is what a great way to start a personal improvement program. The goals can be anything I want. The second idea is to combine this goal tracking with a personal journal. I am thinking this combination would really help me focus on my goals. The last idea is goal tracking chart like this would be fairly easy to create for my PDA.

Harding University: Java (J2SE 5.0) and C# Comparison

Site: Harding University
Post: Java (J2SE 5.0) and C# Comparison

Back in April of 2005 I posted about VB.NET to C# comparison chart. It turns out the chart was originally by Frank McCown. ASP Alliance posted the chart under the GPL. Well Frank has another posting that compares Java and C#. I found the VB.NET/C# chart to be useful. I am also expecting the same out of this chat.

MSU: American Sign Language Browser

Site: Michigan State University Comm Tech Lab
Post: American Sign Language Browser

Michigan State University (MSU) offers a great tool for learning American Sign Language (ASL). The site requires either Navigator or Internet Explorer plus the Quicktime plug-in. I had no problem playing the quick time video in Firefox. This site runs a quicktime video showing you the proper hand movements for a word. You will need more then just this site to learn ASL.

23 February, 2006

Motley Fool: I Turned $3,000 Into $210,000

Site: Motley Fool
Post: I Turned $3,000 Into $210,000

It is the story of one investor who held on some stock a little to long and the lessons she learning. I think I will need to educate myself a little bit more before jumping into the market.

dmh2000: C++ vs Java vs Python vs Ruby : a first impression

Site: dmh2000
Post: C++ vs Java vs Python vs Ruby : a first impression

I found the posting to be a semi interesting. Since I don't have a lot of experience with any of these languages, I was hoping for a bit more of a comparison and little direction on which language I should be learning.

Poynter Online: Fifty Writing Tools

Site: Poynter Online
Post: Fifty Writing Tools

The posting has more then 50 writting tools. This posting reminds me of the book 'Elements of Style.'

21 February, 2006

Free Software For Windows

Update 2006.02.21
Still looking for more freeware? Checkout 'Neowin's Freeware Alternative List.'

Update - 2006.01.25
Today I found another list of Freeware software. The list has several categories:
  • 3D Graphics
  • Anti-Virus
  • Anti Spyware
  • Audio Creation
  • Audio Players
  • Audio Tools
  • CD/DVD Burning
  • Compression / Decompression
  • Defrag Software
  • Desktop Enhancements
  • Download managers
  • Encryption and data security
  • File Managers
  • File repair and recovery
  • Firewalls
  • FTP Clients
  • FTP Servers
  • HTML Editors
  • Image viewers
  • Instant Messenger
  • Internet Explorer Front-Ends
  • IRC Clients
  • Mail programs
  • Anti-spam programs
  • Network Tools
  • Office Suite
  • Partition Managers
  • PDF Utilities
  • Photo manipulation and image design
  • Programming
  • Pop-up Blockers
  • RSS Readers
  • System Information and monitoring
  • Video codecs
  • Video players
  • Video tools
  • Web browsers
  • Web servers
  • Webcam Software
  • Checksum Utilities
  • General Utilities And Other Applications


Original - 2005.10.06
Absolutely Free Software is a list of software that is available for Windows. The list is broken down into several major headings including:
  • Free Office Applications
  • Free Anti Virus Software / Security Software
  • Free Internet / Network Software
  • Free Graphic Software
  • Free Mutlimedia Software
  • Free Utilities-Essential
  • Free Utilities-Useful
  • Free Informational-Educational Software

I already use several of these tools.

20 February, 2006

Free education On The Internet

Free-ed.net has set a mission for itself "to deliver quality distance education at not cost to the user." There are no fees, no books to buy, no grades and no deadlines. I think I will have to give a couple of the courses a try in the near future. This may be a nice way to expand my knowledge into other disciplines without a large investment in books.

Near The Speed Of Light By The End Of The Century?!?

Physorg.com has an interesting article entitled 'Physicist to Present New Exact Solution of Einstein's Gravitational Field Equation.' I wish the article had more details into Dr. Felber's theory. It will be interesting to see how this story develops over the next few years.

Webcasts/Podcasts From Berkeley

UC Berkeley has made a few of their classes available on-line as a webcast or as a podcast. I have added a few of the classes to my podcatching client.

16 February, 2006

Java Training

Since Monday I have been in a 5 day Java class. The class has covered a lot of material and I hope I can remember some of it on Monday next week. I still have another day worth of training to go. I am hoping to get back to a regular schedule this weekend.

12 February, 2006

Web Developer's Handbook

Wow. I came across the website the 'Web Developer's Handbook' which is a huge list of resources covering CSS, Color Tools, Web Tools, AJAX, DOM, Typography, Blogging, usability, Accessibility and SEO.

11 February, 2006

Amazing Tech Facts

The blog 'Amazing Tech facts' Trivia that gives you the Edge so has only one posting 'Amazing Tech-facts.' There are some interesting tidbits here. I am not sure how many are true and how many are urban legends.

07 February, 2006

Increase Your Reading Speed

For the last few months I have been looking into speed reading and starting to increase my reading speed. There are just too many books I want to read. Keith Drury's posting 'Speed-Reading Techniques' is a good summary of all the how to speed read material I have looked at.

02 February, 2006

Free Management Library

I just love free. Check out the 'Free Management Library.' This on-line library has 675 topics to choose from. This looks like a great resource for learning about a management topic.

How To Win Friends And Influence People

Over at 'Notes of intelligence' there is a great summary of Dale Carnegie's book 'How to Win Friends & Influence People.' It takes about 5 minutes to read the summary. I am going to have to read the book now.

01 February, 2006

31 January, 2006

Learn Python In 10 Minutes

Original - 2006.01.30
The blog Poromenos' Stuff has the posting 'Learn Python in 10 minutes.' This is half tutorial and half cheatsheet. You will need to find additional resources to really learn Python but it does give you a good start.

Update - 2006.01.31
Here is a quick reference for Python 2.4.

27 January, 2006

Western Digital Has 500 GB Hard Drives For The Desktop

WOW! You can now pre-order the new Western Digital Caviar SE16 SATA Hard Drive for $349.99.

Tech Info:
7200 RPM
16 MB cache
300 MB/s transfer rate

New Blog On Linux

I must be crazy. Today I started a new blog 'Wicks Linux.' I have moved all the linux posting to the new site.

Lisp Is Sin

I came across Sriram Krishnan's post 'Lisp is sin.' the other day. One of the elements of this posting is a rebuttal to Joel Spolsky's article 'The Perils of Java Schools.' I have read both articles and would like to throw out my two cents. The major conflict as I see it is, Sriram is making the point that Visual Studio is for all types of programmers from the super genius to the novice to the hobbyist programmer while Joel is for the super genius programmers and criticizing how Java hides the difficult tasks making it hard to tell the great programmers from the bad programmers.

In my current job I like software and programs that are easy to work with and provide a simple easy to use API. This allows me to focus on completing the task at hand increase the likely hood of hanging the program off to someone else to support. When I am at home I enjoy struggling with software and programs. I use these struggles to increase my knowledge. I want to figure out how to make hard tasks easy.

One of my issues with Sriram's posting is how he is cramming the solution to every problem into the C# view of the world. I like learning new programming languages because it changes how I view the world and how I approach problems. I have a fundamental view that there is always more then one way to solve a problem. What I have found is by learning different programming languages I have more ways of solving a problem. My work has a policy what we develop must develop in one specific language. So one day I was fighting with a piece of code written by another developer who left the company last year. I took a step back from the code and said if I was working in language X how would I solve this problem. In one of those light bulb moments the solution to my problem jumped into my head. I was able to fix the code in a few hours instead the three weeks everyone else around me was thinking it would take to rewrite the code.

Now for something slightly different. Dave Roberts' posting 'Commentary on "Lisp is Sin"' brings up some interesting counter points to Sriram's article.

23 January, 2006

List Of Search Engines

I missed this the first time around. Lifehacker.com has post 'Seek and Ye Shall Find: Top Ten Alternative Search Engines.' I am tried a couple the search engines. I am impressed at how well each of the search engines stayed in its area of focus.

Flying Car Captured On Google Earth????

I want my flying car now.

The Register has a picture of what could be a flying car. Let me know what you think?

20 January, 2006

Google Reader

Original - 2005.10.09
Google has released its Reader program. Google Reader is a web based feed reader. I am not sure yet if I am going to try it out.

Update - 2006.01.20
Over are Niall Kennedy's Weblog there is a posting entitled 'Google Reader API'. One could use the information in this posting to extend or build their oen feed reader. I think I will have to look a little closer at Google Reader now.

Games For The Brain

Exercising your mind has never been so fun. Games for the Brain offers more than 30 games that gives you a mental workout.

19 January, 2006

Technical Reference Cards

Here are few refernce cards coving programming, database, administration, text editors and server admin for Windows and *nix.

Grafpup LiveCD

Grafpup is a Live CD for digital imaging professionals and graphic artists. This distro includes: Gimp-2.2.9,Inkscape-0.42, Scribus-1.2.3, Cinepaint-0.20-1, Bluefish-1.40, Icewm-1.2.23, Opera-8.5, Gxine media player and Ted word processor.

13 January, 2006

Tweak Your PC

Original - 2006.01.11
Diabolikal has an interesting article 'Tweak your PC and make it run faster.' I have applied a few of the tweaks. My computer does seem faster. I did not establish any base-line measurements so I can not quantify the improvements.

Update - 2006.01.13
The site Connected Internet has 'More Ways To Speed Up Windows XP.'

.NET Developers Blog

Today I came across .NET Developers Blog. This blog is an aggregation of .NET developers who are not employed by Microsoft.

Tips To Becoming A Better Developer

Steve Eichert has a posting entitled '7 Tips for becoming a better Software Developer.' I have been following many of these tips for years and found them to be vary effective.

I have just a couple of minor tweaks and enhancements. In Tip 1, Read, I would add trade magazines to the list. I have found an understanding of both the programming world and the specific industry you are currently working in to be critical to my career growth. In Tip 4, Blog It up, blogging about the things you don't know about from Tip 3. This provides you with content for your blog and a blog is a great place to collect knowledge that you can look up again.

I would like to also propose the addition of another tip. Get involved in your local user groups. User Groups provide you a great place to network with other professionals in the programming world. I also encourage you to give a presentation for the user group. This gives you a safe place to develop public speaking and presentation skills.

12 January, 2006

St. Louis Java User Group - Jan. 2006

The St. Louis Java User Group held there January meeting. The topic tonight was HttpUnit. HttpUnit emulates portions of a web browser, including form submission, JavaScript, basic http authentication, cookies and automatic page redirection, and allows Java test code to examine returned pages either as text, an XML DOM, or containers of forms, tables, and links.

The demos and sample code were simple and straigth forward. There appears to be some constentance issues with HttpUnit API. It also appears that HttpUnit is no longer being worked on since the last update was Oct. 2004. The presentation has peeked my interest in unit testing a website. I also think a more updated tool will be in order.

09 January, 2006

nUbuntu

Network Ubuntu (nUbuntu) is a collection of network and server security testing tools. The point of the project is to keep Ununtu's easy of use and add the necessary tools to test security.

06 January, 2006

26 Steps To 15K A Day

Over at Search Engine World there is a post '26 steps to 15k a Day' which was originally posted as 'Successful Site in 12 Months with Google Alone' from Web Master World.

Not one of these items jumped out as new or profound piece of wisdom. This is one of those times where the whole is greater than any one part. You can use this list as a check list to make sure that you have covered most of your bases.

Ultimate Boot CD

I wish I would have found this a few days ago. I was helping my father with his computer and needed a couple of tools to solve the problem. It took me about an hour to find, download and burn the tools I needed. If I had the Ultimate Boot CD in my bag I would had the problem fixed.



There is a UBCD for Windows.

Where Have I Been?

I have not been blogging for that last few days because that thing I call 'my life' got in the way.

My wife and I are talking about what home improvement projects need to be done this year. We are considering getting the house ready to sell. We still have not decided if or where to move to.

I am taking more time with my son. I need to take him to the pool two days a week to help get him comfortable with the water. He is 3 and half and has been taking swim lessons for a year and an half now. I am not happy with how slowly his swimming skills are developing. Being Dad I know who is to blame and what I have to do to take care of the issue.

My wife and I have started teaching our son to read. This is also taking alot of effort and going slowly.

Over the holiday I bought a new 200 Gig hard drive so I felt compelled to install the new drive. I also figured that this would be a good time to reconfigure a couple of machines. I have been installing Ubuntu on two boxes. I have installed one box in server mode this is also the box I installed the new hard drive in. This is a big step into the linux world for me. The default install does not include a GUI. I am learning how to configure and administer the box just through the command line. The other box I have installed with a GUI. I have had a few issues with the installs. My problems came mostly from hardware issues. I think I am in good shape now.

I have been thinking about my blogging activities. I need to make some changes. I need a new look for the new year. I am talking with my wife about getting her to blog. She is in need of an outlet for some of her creativity. I am also considering what my blogging goals for this year should be.

01 January, 2006

PHP Tutorials

I am not sure if the tutorials are any good but the site GoodPHPTutorials.com implies they are. There is a lot of information here that will take some time to go through.

Free Online File Storage & Sending

Sometimes I have the need move large files between two computers that are not directly connected. Over at the blog CG (Creative Guy) the posting 'Free online file storage/sending' contains a large list of resources that will allow you to move files.

Challenging myself to learn something new

I have recently set a big challenge for myself. I want to know about Machine Learning . To add to the challenge, I am trying out usin...