Back in the Software Business

July 14th, 2008

I’m back in the software business.

http://brickstreetsoftware.com

Agora Inc., Porter Stansberry fined $1.6 million for Securities Fraud

January 7th, 2008

If you have been investing for any length of time, you are probably familiar with Agora Inc. and their breathless direct marketing pieces about stocks that are poised to skyrocket.

Do not buy anything from Agora Inc. — Agora Inc. does not run money; they publish newsletters. If they were as good at running money as their newsletters say they are, they would not be publishing newsletters. They would be running money; it pays better.

The SEC sued Porter Stansberry and Agora Inc. for fraud in 2003.
http://www.sec.gov/litigation/complaints/comp18090.htm

In 2007, they were found guilty and ordered to pay a fine of $1,312,620 and penalties of $240,000. For your reading pleasure, I pulled the documents from Maryland Federal District Court.

Judgement Order

Judgement Opinion

Thanks to Stansberry, I lost some money on VaxGen stock, so I think this couldn’t have happened to a nicer bunch of guys. A few years later, I was having lunch with an executive of a biotech company. When I asked him about VaxGen, he said, “Everyone in the business knew that vaccine would never work.”

Windows NetBios Network Browser Problem Fix

November 2nd, 2007

My Windows boxes can’t browse each other on the network. After reading a bunch of Microsoft KB articles, I discover nbtstat.exe:

nbtstat.exe -A ip-address

This command will download the NetBios name table from the remote IP address. It also appears to update your local cache with the NetBios name of the remote host at ip-address.

I verified this behavior with the following commands:

nbtstat.exe -R (purge the NetBios name cache)
nbtstat.exe -c (verify that NetBios name cache is empty)
nbtstat.exe -A ip-address
nbtstat.exe -c (verify that NetBios name of ip-address is in local cache)

So if you know the ip address of a remote Windows host, this appears to be a way to force a name mapping into your local NetBios cache.

The man page for nbtstat.exe.

.NET Obfuscator Shootout

September 16th, 2007

I’m trying to select an Obfuscator for .NET. If you are writing commercial code and want to know why you should use a code obfuscator, upload your binaries to this site: http://www.remotesoft.com/salamander and see what a decompiler can do to them.

The candidates:

I’m trying to obfuscate a strong-named dll that will run in the GAC. Here are the preliminary evaluation results:

Read the rest of this entry »

F-22 at 2007 Toronto Air Show

September 2nd, 2007

There have been low-flying fighter jets over Toronto all weekend; the air show is in town. I just saw a P-51 Mustang, an F-16 and an F-22 give demos over the downtown financial district. The F-22 flies like a UFO — it has thrust-vectoring engines and appears to hover in the air as it maneuvers. Wikipedia has a pretty good overview of this plane.

Let’s be thankful that when we see and hear fighter jets flying low, it means we’re having a party.

Prosper.com is a Bad Investment So Far, Part 1

August 25th, 2007

In March 07, I decided to try out Prosper.com. Prosper is a peer-to-peer marketplace for loans. The allure of Prosper is that you can loan out money at high interest, much higher than a savings account. But there a number of problems with Prosper.

Read the rest of this entry »

Startup War Stories

August 3rd, 2007

I was the lunchtime entertainment at a recent CMU Alumni Advisory board meeting. I ended up telling war stories about my dot com startup days. Here are the slides. Enjoy.

Slides (pdf, 384kb)

Startup closes India R&D Office

May 29th, 2007

Riya decides to close their Bangalore R&D office and consolidate engineering in Silicon Valley. India was getting to be too expensive to deal with the hassles:

Coverage in InfoWorld:
http://www.infoworld.com/infoworld/article/07/05/29/riya-wage-inflation-sinks_1.html

CEO’s blog discussing the decision:
http://munjal.typepad.com/recognizing_deven/2007/04/episode_26_indi.html

One of my clients has been outsourcing a large software development effort to an Indian team. The time zone differences, experience level of the staff, and turnover have been a big drag on productivity.

Schema Extensibility in Commercial Enterprise Software

August 27th, 2006

Originally posted on the main site.

This document describes how schema extensibility is typically achieved in commercial enterprise software applications; in particular, in customer relationship management (CRM) applications. A future update will discuss newer extensibility mechanisms such as native XML column types in databases.

Read the rest of this entry »

It’s the grinder, stupid.

August 10th, 2006

So I have a caffeine addiction that goes back to 1986 when I was instructed on proper use of the cappucino machine on the 7th floor of the old MIT AI Lab (Thanks, Gumby!). At home, I’ve been making espresso with a 10 year old Saeco Aroma Nero with pre-ground canned Lavazza coffee. It made what I thought was passable coffee.
But then it started to get temperamental. It stopped making espresso so I descaled it and modified the pressurized portafilter to be non-pressurized by removing all of the springs. Then the water hose came loose and I had to open up the machine to replace it. The machine still works but I started to worry about a catastrophic failure. I needed to retire the Saeco to backup status.

Read the rest of this entry »

T-Mobile: No Good Deed Goes Unpunished

February 2nd, 2006

I have a T-Mobile phone. Their web site has been slow to the point of unusability for the past week. I don’t know if the problem is on my end or on their end, but I have no problem reaching any other site on the Internet so I suspect that I’m ok.

After a week of trying to ignore their dead slow web site, I decide to be a good citizen and call T-Mobile customer support to report it. The first CSR puts me on hold and sends me to tech support. The tech support CSR puts me on hold and sends me to wireless data support. The wireless data CSR says the web site works fine for her. I say, just because it works for you doesn’t mean it works for me. She puts me on hold to talk to her supervisor. After a couple of minutes, she says they have verified that there is nothing wrong with the web site. I say, great, it’s still broken here so please take this data and forward it to the appropriate person. She tries to convince me that nothing is wrong and this is all my fault. I say, just take the data and escalate it to the right people. She says, I’ll ask my supervisor. Fine, I say, and hang up.

I know that the CSR is measured on his or her ability to get me off the phone as fast as possible. But maybe they should measure how they just pissed me off for trying to help them.

MySQL auto_increment keys in InnoDB vs MyISAM

January 19th, 2006

So here is a typical data model pattern:

create table master ( mid int not null auto_increment, … , primary key (mid) );

create table detail ( mid int not null, did int not null auto_increment, … , primary key (mid, did) );

( detail.mid is a foreign key to master.mid but no one uses these in MySQL… )

So this works great if you’re using the default MyISAM storage manager but it does not work using the InnoDB storage manager (RTFM!). Unfortunately, MyISAM does not provide ACID properties which means you should not be using MyISAM unless you have another way of recovering from data loss. My data is valuable so I have to use InnoDB, which means I have to restructure the detail table so that detail.did is the primary key and detail.mid is just a field with an index.

I really wish MySQL had one storage manager that actually worked like a relational database is supposed to, instead of several half-working storage managers.

PHP IDE Trials: Zend Studio vs PHPed

December 16th, 2005

Did a quick test of 2 PHP IDEs. I wanted to see if anything could be more productive than my current EasyPHP and XEmacs environment. It was partially motivated by the fact that XEmacs for Windows is broken at the moment.

The test was essentially whether I could download the tool and be productive in 20 minutes.

Zend Studio failed the test. I installed Zend Studio Server and then Zend Studio Client. I then tried to edit and debug my large PHP application. I couldn’t figure out where Zend Studio wanted the files to be and gave up after screwing around with it for an hour.

PHPed passed the test. The help file described how to set up debugging (drop a dll into the PHP extensions directory and edit the php.ini file) and I was able to debug code running in EasyPHP in about 5 minutes. The editor itself is a bit sluggish so I may end up editing in emacs and debugging in PHPed.

Update: XEmacs.org posted an installer for the latest version so that php-mode works again. I didn’t end up buying a license for PHPed since I’m such a cheap bastard and I’m really good at debugging code by inserting print statements…

ToDo: Look at PHP Eclipse

Linux Desktop Trial Over

December 16th, 2005

The Linux Desktop Trial lasted about 3 days. Actually, it was a Linux laptop trial, and the verdict is that Linux on the laptop (Fedora 4) has gotten a lot better but it still sucks. The Gnome / X environment is slow and sluggish to use. Configuring WiFi is a huge hassle. And don’t even get me started on print driver support. I’m so happy to be back on Windows; on identical hardware (Dell C400, 1.33ghz Pentium M, 1GB RAM) the GUI environment is much snappier and I have working drivers for everything.

Linux Desktop Trial

December 6th, 2005

The disk on my WinXP laptop crashed for the second time this year. The new disk that crashed was a Samsung MP0603H 2.5″ 60GB HDD that I bought in mid 2005. It started making clicking noises after about 90 days, and I ignored this since, after all, it was a new drive. This morning, however, MS Outlook started getting flaky so I rebooted. Then the disk wouldn’t spin up anymore. Dead dead dead. Samsung MP0603H 2.5″ 60GB HDD: DO NOT BUY ONE OF THESE! Now I get to learn how good the manufacturer’s warranty is.

So now I’m running on a backup Linux (Fedora 4) laptop. Given that this is my 3rd disk crash this year, I’m going to try keeping all of my email online in a gmail account and to use Yahoo for my calendar. So far I’m very pleased with Gmail’s ability to handle multiple email accounts; you can set it up so that nobody needs to know you are using gmail.

SQL Server UDF’s Considered Harmful

October 28th, 2005

When you are analyzing a query plan in SQL Server, you need to be aware that time spent in User Defined Functions (UDFs) is not included in the query plan. This is a problem because programmers seem to like using UDFs to make their SQL more modular and because it is very easy to write UDFs that kill your performance. (See this article “UDF Performance Costs” for a simple example.)

A reliable way of measuring the costs of a UDF is to run your stored proc with and without the UDF, and to measure the time it takes to run it. I have seen 10x performance improvements between sprocs with UDFs and sprocs rewritten to remove UDFs.

SQL Server Performance Tuning Links

October 28th, 2005

Links to SQL Server Tuning Info:

Index Tuning Wizard SQL Server 2000 (MS Technet)

Index Covering Boosts SQL Server Query Performance (devx, basic article)

Optimizing Database Performance Overview (MSDN/SQL2K online manual)

Red Gate Software SQL Server Performance

HD Video iPod with Retinal Scan Display

July 15th, 2005

Cringley speculates that Apple will be coming out with an HD video iPod with a retinal scan display.

Link: http://www.pbs.org/cringely/pulpit/pulpit20050714.html

Update (Oct 2005): Apple released the Video iPod but it does not use the Microvision display. Hope you didn’t buy the stock.

Jetty vs Tomcat, Reloaded

April 28th, 2005

Which is better? Jetty or Tomcat? Both are open-source servlet / jsp containers availabler under the apache license. Both implement the latest servlet and jsp standards. Technically they are neck and neck.

In the end I decided to use Tomcat because it has better documentation. Jetty’s manual sucks.

The World Does Not Need Another Open Source CMS

April 21st, 2005

I’m trying out CMS (content management systems) for various reasons. This class of software used to cost $50k - $100k per server back in the day, plus hardware costs, plus implementation services. Now there are free PHP implementations that you can deploy to $5 / month web host accounts in about 15 minutes.

Mambo is one of the market leaders in the PHP CMS space. However, the latest version (4.5.2) has some new permissions / security problems that prevent it from working with my web hosting vendor. The online forums suggest there are some workarounds, but what were they thinking when they released this?

After reviewing the 50 other open source CMS implementations at opensourceCMS.com, I decide to try Xoops. We’ll see how that goes…


two girls one cup 2 girls 1 cup video 2 girls 1 cup two girls one cup 2 girls 1 cup video 2 girls 1 cup two girls and a cup 2girls and a cup two girls one cup original video two girls one cup 2 girls 1 cup two girls and a cup 2girls and a cup two girls one cup original video two girls one cup 2 girls 1 cup two girls and a cup all about 2 gil one cup all about 2 gils onw cup all about 2girls one cup all about two girls one cup two girls one cup all about two girls 1 cup