March 2006 Archives

Simple photo album

| | Comments (0) | TrackBacks (0)

Set up your personal Wikipedia

| | Comments (0) | TrackBacks (0)

Hack your brain with an ipod

| | Comments (0) | TrackBacks (0)

To repair a damaged Personal Folders PST file

  1. Personal Address Files (PAB files)
  2. Personal Folders file (PST files)

Assembly comparison utility

| | Comments (0) | TrackBacks (0)

Assembly comparison utility
Reflector.Diff plug-in for Reflector.

C# thread pool source code

| | Comments (0) | TrackBacks (0)

Miscellaneous Utility Library
Every so often, someone on the newsgroup asks about something which doesn't exist in the framework, but which I think should. Sometimes, I'll write some code for them to plug the gap. Just occasionally, I'll tidy up the code, add XML documentation comments etc, and include it in my miscellaneous utility library. This library will, of course, grow over time.

Due to the nature of the library, some of the code may not have been particularly rigorously tested. You are strongly advised to give it a thorough testing before including it in any important code. Note: as of November 2006, I'm gradually adding unit tests, so the quality should improve significantly.

[Wintellect]

Phone screen questions

| | Comments (0) | TrackBacks (0)

Ariel Atom

| | Comments (0) | TrackBacks (0)

Ariel Atom
300 hp, 1100 pound car

Citizen Joe

The Marketplace of Perceptions

| | Comments (0) | TrackBacks (0)

The Marketplace of Perceptions
Behavioral economics explains why we procrastinate, buy, borrow, and grab chocolate on the spur of the moment.

Round-up of 30 AJAX Tutorials

| | Comments (0) | TrackBacks (0)

Round-up of 30 AJAX Tutorials

TopCoder]

[Oracle SQL Developer]

[SQL Dumper

Free tool to dump a SQL Server database into a text file of INSERT INTO statements.

Google Maps API Basic Tutorial

| | Comments (0) | TrackBacks (0)

Ajax

| | Comments (0) | TrackBacks (0)

Programmatic check-in to CVS repository

| | Comments (0) | TrackBacks (0)

Programmatic check-in to CVS repository

Fire and motion

| | Comments (0) | TrackBacks (0)

Fire and motion
When I was an Israeli paratrooper a general stopped by to give us a little speech about strategy. In infantry battles, he told us, there is only one strategy: Fire and Motion. You move towards the enemy while firing your weapon. The firing forces him to keep his head down so he can't fire at you. (That's what the soldiers mean when they shout "cover me." It means, "fire at our enemy so he has to duck and can't fire at me while I run across this street, here." It works.) The motion allows you to conquer territory and get closer to your enemy, where your shots are much more likely to hit their target. If you're not moving, the enemy gets to decide what happens, which is not a good thing. If you're not firing, the enemy will fire at you, pinning you down.

HDB: This is lifted from some newsgroup. I can't remember where.

It would depend on how authentication is implemented on that site. If it is a custom authentication scheme you'll probably have to POST the username and password to a "login" page then keep track of a session variable to use on every subsequent Navigate.

If it's http authentication then you could pass the username and password in the URI: http://username:password@host/file.htm. Which can be done easily with the UriBuilder class. But, that's slowly becoming deprecated for obvious reasons.

Alternatively, with HTTP basic authentication, you just pass an added HTTP header entry for the username and password (encoded in base64), which can be done with a couple of the WebBrowser.Navigate overrides. For example:

String base64 = Convert.ToBase64String(ASCIIEncoding.
  ASCII.GetBytes("username:password"));
String auth = String.Format(
  "Authorization: Basic {0}\r\n",
  base64);
byte[] post = ASCIIEncoding.ASCII.GetBytes(
  auth.ToCharArray());
String targetFrameName = "";
byte[] postData = null;
Uri uri = new Uri("http://www.contoso.com/");
webBrowser1.Navigate(uri, targetFrameName, postData, auth);

Cramer's 25 Rules for Investing

| | Comments (0) | TrackBacks (0)
[Cramer's 25 Rules for Investing]

Rule No. 1: Bulls, Bears Make Money, Pigs Get Slaughtered
It's essential for all traders to know when to take some off the table.

Rule No. 2: It's OK to Pay the Taxes
Stop fearing the tax man and start fearing the loss man because gains can be fleeting.

Rule No. 3: Don't Buy All at Once
To maximize your profits, stage your buys, work your orders and try to get the best price over time.

Rule No. 4: Buy Damaged Stocks, Not Damaged Companies
There are no refunds on Wall Street, so do your research and focus your trades on damaged stocks rather than companies.

Rule No. 5: Diversify to Control Risk
If you control the downside and diversify your holdings, the upside will take care of itself.

Rule No. 6: Do Your Stock Homework
Before you buy any stock, it's important to research all aspects of the company.

Rule No. 7: No One Made a Dime by Panicking
There will always be a better time to leave the table, so it is best to avoid the fleeing masses.

Rule No. 8: Buy Best-of-Breed Companies
Investing in the more expensive stock is invariably worth it because you get piece of mind.

Rule No. 9: Defend Some Stocks, Not All
When trading gets tough, pick your favorite stocks and defend only those.

Rule No. 10: Bad Buys Won't Become Takeovers
Bad companies never get bids, so it's the good fundamentals you need to focus on.

Rule No. 11: Don't Own Too Many Names
It can be constraining, but it's better to have a few positions you know well and like.

Rule No. 12: Cash Is for Winners
If you don't like the market or have anything compelling to buy, it's never wrong to go with cash.

Rule No. 13: No Woulda, Shoulda, Couldas
This damaging emotion is destructive to the positive mindset needed to make investment decisions.

Rule No. 14: Expect, Don't Fear Corrections
It is not always clear when a correction will strike, so expect and be prepared for one at all times.

Rule No. 15: Don't Forget Bonds
It's important to watch more than stocks, and bonds are stocks' direct competition.

Rule No. 16: Never Subsidize Losers With Winners
Any trader stuck in this position would do well to sell sinking stocks and wait a day.

Rule No. 17: Check Hope at the Door
Hope is emotion, pure and simple, and trading is not a game of emotion.

Rule No. 18: Be Flexible
Recognize and be open to the unexpected shifts in the market because business, by nature, is dynamic, not static.

Rule No. 19: When the Chiefs Retreat, So Should You
High-level executives don't quit a company for personal reasons, so that is a sign something is wrong.

Rule No. 20: Giving Up on Value Is a Sin
If you don't have patience, think about letting someone who does run your money.

Rule No. 21: Be a TV Critic
Accept that what you hear on television is probably right, but no more than that.

Rule No. 22: Wait 30 Days After Preannouncements
Preannouncements signal ongoing weakness, wait 30 days to see if anything has gotten better before you pull the trigger to buy.

Rule No. 23: Beware of Wall Street Hype
Never underestimate the promotion machine because analysts get behind stocks and can keep them propelled in an up direction well beyond reason.

Rule No. 24: Explain Your Picks
Buying stocks is a solitary event, too solitary in fact, so always make sure you can articulate your reasoning to someone else.

Rule No. 25: There's Always a Bull Market
It's OK if you have to work hard to find it, just don't default to what's in bear mode because you are time-constrained or intellectually lazy.

Abortable thread pools

| | Comments (0) | TrackBacks (0)
[MSDN]

Sudoku solver in Python

| | Comments (0) | TrackBacks (0)

Outlook addins for saving attachments

| | Comments (0) | TrackBacks (0)

Candlestick interpretation

| | Comments (0) | TrackBacks (0)

About this Archive

This page is an archive of entries from March 2006 listed from newest to oldest.

February 2006 is the previous archive.

April 2006 is the next archive.

Find recent content on the main index or look in the archives to find all content.