Ken's Meme Deflector

Peddling the same prosaic resources you can get from a simple Google search

Monday, June 27, 2005

Dial-a-Translator Idea

After reading of the termination of an in-hospital translation service, Patrick Hall suggests a way to make some money:
Asterisk + Wireless network + Laptops + Webcams + Subscriptions + Nationwide (Worldwide?) network of on-call interpreters for lots of languages.

Pen-based Calculator

New Scientist is reporting about a nifty calculator program that recognizes handwriting (see the demo movie):
They were surprised to find that people using ordinary calculators got the wrong answer 51% of the time. [...] For example when working out the answer to 4 x -5 it is easy to end up with the answer -1 instead of the correct answer of -20. People using the new device, by comparison, got wrong answers only 19% of the time and this was due to inaccurate character recognition, an error that is easy to spot and so correct.

Revisions to UW Math Program Proposed

The faculty of Mathematics at the University of Waterloo is considering allowing students to fail more courses:
For the past decade the Faculty has had a serious attrition problem, which is now about to become disastrous. These changes will allow some students to fail more courses before being required to leave Honours or the Faculty, but will also encourage students to repeat courses with poor grades that are prerequisites for other required courses. It will allow students who begin disastrously to recover without having seriously impaired averages dragging them down. It will also allow students who discover in second or third year that they are in the wrong major to eliminate some of the bad grades from their effective record, to avoid carrying that burden into a new major.
uwstudent.org reports:
According to David Taylor, the Associate Dean for Undergraduate Studies in the Math Faculty, the changes are necessitated by an extremely poor performance by students who started in Fall 2004. "Over 20% of the first-year class had a "Probation" or worse decision at the end of their first term; 15% had an average below 55%, meaning that there is very little chance, under current rules, that they will be able to continue in Honours (and not a very good chance of success in General)."

Working for a Startup

Reginald Braithwaite-Lee weighs the costs and benefits of working for a startup:
So how much will you get? And is it worth the work? As I said, I don't know how much you'll get. I can give you a few tools for making a Wild Assed Guess.

Adversity to Prosperity

BusinessWeek interviews Mike Jetter, founder of Mindjet:
An idea for a new business can strike anywhere: In the shower, in the car, even in a dream. Mike Jetter got his in a cancer ward.

Sunday, June 26, 2005

Lessons from Silicon Valley

Peter Day interviews Excite founder, Joe Kraus:
Lesson number one from Excite is about timing in a technology business.

"Being early is the same as being wrong," says Mr Kraus.

Friday, June 24, 2005

Bankrolling a startup with poker winnings

Ed Bott asks, "Do you think any outside investor will give a seven-figure check to a group of people who choose to spend 15 hours a week playing poker online?" (via Randy Holloway)

Giving up the day job?

Running a successful startup on your off time? Kenny Herbold reminds us that giving up the day job will cost more than just the salary:
According to a survey published by the US Chamber of Commerce in January 2004, employer paid benefits averaged 42% of an employees salary in 2002. That means you need an additional 35 – 45% more than your current salary to make up for these lost benefits.

SICP in PDF

Looking for printable copy of Structure and Interpretation of Computer Programs? Check out Klim's pdf.

Thursday, June 23, 2005

Bob Parson's Rules for Survival

Bob Parson, founder of Go Daddy (who hosts this website), has written down some of the rules he lives by:
1. Get and stay out of your comfort zone. I believe that not much happens of any significance when we're in our comfort zone. I hear people say, "But I'm concerned about security." My response to that is simple: "Security is for cadavers."
And 15 more.

How Human Networking Works

Keith Ferrazzi has written what amounts to a synopsis of his book, Never Eat Alone, as a howstuffworks article:
The era of that Networking Jerk is over. I learned that the hard way. Once, a mentor of mine said to me, "Stop driving yourself -- and everyone else -- crazy thinking about how to make yourself successful. Start thinking about how you're going to make everyone around you successful."

How to Read a CS Paper

Over at Lambda the Ultimate, the regulars are giving some tips on reading academic CS papers:
For a long time I tended to skip the formal stuff too readily. It can even be clearer than the prose, if it's using a formalism you're familiar with, anyway. I think the contradiction of formal systems is that they have a higher barrier to entry, but once you know the language they're easier to understand because there are fewer opportunities for ambiguity.

Wednesday, June 22, 2005

Canadians at DARPA Grand Challenge

Michael Hiemstra tipped me off to some Canadians that are going to the DARPA Grand Challenge:
Autonosys has also become the only non-American team to qualify for the semi-finals of the 180-kilometre race for driverless vehicles through the Mojave desert, sponsored by the U.S. military's Defence Advanced Research Projects Agency. The race, which takes place in October, is known as the Grand Challenge.
Good luck, Autonosys!

Alternatives to Evolution

In an open letter to the Kansas School board,
Bobby Henderson demands that if Intelligent Design is to be taught in schools, so should his theory:
Let us remember that there are multiple theories of Intelligent Design. I and many others around the world are of the strong belief that the universe was created by a Flying Spaghetti Monster. It was He who created all that we see and all that we feel. We feel strongly that the overwhelming scientific evidence pointing towards evolutionary processes is nothing but a coincidence, put in place by Him.

Short of Innovative Ideas?

Why Not? hosts an open repository of ideas from on topics ranging from computers to culture.

Relinquishing Control == Success

Peter Merholz advocates relinquishing control to customers:
Again and again, the history of the Web shows us the value of relinquishing control. Amazon’s customer comments were originally thought foolish by those who believed negative reviews would hurt sales. Instead, they increased trust, which drove more transactions. eBay’s open marketplace eschews centralized control of buyers and sellers, instead favoring a distributed management system where individuals rate one another. Not coincidentally, Google, Amazon, and eBay have all made available their Application Programming Interfaces (APIs) so that others can leverage their information in unforeseen and innovative ways.

Startup Resources for Americans

Dane Carlson lists some startup resources for our American neighbours, courtesy of the IRS.

Update: Check out the U.S. Small Business Administration website, too.

Forget Google...

I want a job at Applied Minds:
Co-founder Danny Hillis escorts me down a hallway that dead-ends into an old-fashioned red phone booth. The phone rings. He places receiver to ear.

"The blue moon jumps over the purple sky," he says, and hangs up.

Suddenly, the booth becomes a door, swinging out to reveal a vast, open room filled with engineers, gadgets and big ideas.

It's as if Willy Wonka's chocolate factory just yawned wide to welcome us. Only here, all the candy plugs in.

"This is where the secret laboratories are," Hillis says.

Tuesday, June 21, 2005

Unproductive? You're Not Alone

In a CMS Wire story, Brice Dunwoodie writes:
A recent survey conducted by Microsoft corp finds that workers average only three productive days per week and lays the blame on among other things, unproductive staff meetings.

Dark Future Ahead for Programmers?

In an SFGate article, Rachel Konrad writes:
The research firm Gartner Inc. predicts that up to 15 percent of tech workers will drop out of the profession by 2010, not including those who retire or die. Most will leave because they can't get jobs or can get more money or job satisfaction elsewhere. Within the same period, worldwide demand for technology developers — a job category ranging from programmers people who maintain everything from mainframes to employee laptops — is forecast to shrink by 30 percent.

UW Mentorship Network

Perhaps a little stale, but the Waterloo Research and Technology Park Accelerator announced the creation of a mentorship network called the "Entrepreneurs' Council" on June 13. From the UW press release:
"It will provide a fertile environment to commercialize the innovative work done at universities and colleges, hospitals and laboratories, and in private sector research facilities," said Carol Stewart, Business Development Manager.
Has anybody heard anything more about this?

Telepathy is Just a Startup Away

Mike Elgan writes about the telepathic headset that Neurosky has under development. From NeuroSky's website:
NeuroSky, a fabless semiconductor/module company, has developed a non-invasive neural sensor and signal processing technology that converts brainwaves and eye movements into useful electronic signals to communicate with a wide range of electronic devices, consoles, and computers.

Startup Journal

The Wall Street Journal's Startup Journal offers plenty of resources and articles for aspiring and working entrepreneurs: how-tos, ideas, franchising, financing, e-commerce, and running a business.

Welcome to DIY Land

Charles Leadbeater on the current design revolution:
What is at stake here is something fundamental to the way we see innovation, design and creativity and the way we organise our economy around them. We are moving from an era of mass production to one of mass innovation.

Stealth Startups Suck, Cont'd

Everybody is talking about stealth startups. Pete at pc4media has a nice collection of links at the bottom of this post.

Working Smarter on Second Startup

Evan Williams writes that he's working smarter now that he's on his second startup:
Now, I'm not as good as I'd like to be at focus and task selection—but I'm a hell of a lot better than I used to be. And I think I get more done per day now—and more of the right things done—than I did when I was working on Blogger.

Tips on Starting Up a Business from CBSC

Your tax dollars at work: the Business Startup Assistant is a website by Canada Business Service Centres with plenty of resources for starting a business in Canada, including some specific to Ontario.

Interview with Phil Rittenhouse of Laurel Creek Software

In the first of what I hope will be a continuing series of interviews with the folks I find interesting, Phil Rittenhouse tells us about some of his experiences starting up Laurel Creek Software, a Waterloo-based software company and maker of Precision Tile.

What is Laurel Creek Software?

Laurel Creek Software is a sole-proprietorship that I created to sell Precision Tile. As it grows I will incorporate, but sole-proprietorship is a nice low-overhead way to get started.

What is Precision Tile?

Precision Tile is a software application designed to help do-it-yourselfers with their tile projects. It helps the user visualize their tile project so they can choose the tile colours, grout colours and layout pattern that best suites their space. It then helps the user decide exactly where each tile will go so they can optimize where all the cut tiles will be. It also automatically counts up the number of tiles they will need to do the job.

Where did you get the idea to start the company?

I had written a rudimentary version of Precision Tile while planning my own tile floor project. I remember thinking "there has to be a better way" when I was trying to map it out with pencil and paper. I did a lot of googling for a solution but all I found were posts by other people looking for the same thing. That got my thinking that I wasn't alone, and there would definitely be a market for the software I was writing.

I have always wanted to have my own company but I've never been willing to take a big gamble to make it happen. Precision Tile offered the opportunity to start small and still keep my day job. As fate would have it, when I was just about to hit the point where I had to decide between the two, my employer was bought out, and I was given a nice severance package. It was the perfect opportunity to get Laurel Creek Software off the ground.


What do you find the most challenging part of running Laurel Creek Software?

I think balancing my time is the biggest challenge for me these days. I currently spend about half my time consulting, half running Laurel Creek and the OTHER half with my family. It really forces you to look hard at how you spend every hour of the day.

What do you find most rewarding?

I find the freedom to make decisions very rewarding. I don't have to worry about any red tape or bureaucracy. If I think something needs to be done, I do it. I also get to make mistakes, which I have found is not such a bad thing. I get to learn from my mistakes, but even more important it means I can also take risks. Taking a calculated risk and having it pay-off is very gratifying.

What was the most surprising difference between life as an entrepreneur and life as an employee?

I was surprised at how excited other people are by the idea of being an entrepreneur. People are always interested in how the business is doing, but even more surprising is how eager they are to share their ideas. I can't count how many times someone has said "You know what you should do....".

And their ideas are often very good.


What would you like to see Laurel Creek Software become?

I would like to grow Laurel Creek into a software company that operates more like an entrepreneurial co-op than a traditional company. A place where talented people can find the resources they need to bring ideas to life.

Are you seeking funding? Why, or why not?

No, I am currently not seeking funding. I think having to answer to investors would take away a lot of what I like best about running my own company. That is, the freedom to make my own choices, especially when my priority is not necessarily the bottom line.

Luckily my overhead is low enough that revenue's have covered expenses from the start (if you don't count my labour costs).


Is there any specific technology that you feel has helped make Laurel Creek Software more successful?

Well Python for sure. Both the language and the huge library of resources made creating Precision Tile orders of magnitude easier than it would have been even 5 years ago.

But I think it's really the maturation of the internet that has made it possible to start up a company without a big up-front investment. I can do virtually everything on-line, from registering my company with the Ontario government, to market research, to advertising and sales. Google's AdWords really stands out here. It allows me to direct my advertising with great precision, at a very reasonable price, and with no up-front costs.


Any advice for other would-be startup founders?

There are a lot of ways to be an entrepreneur, so don't be afraid to choose a path other than the "big idea→big venture capital→big IPO" path that you always hear about. There are lots of good entrepreneurial resources on the 'net that explore the options, many of which you have already written about in your blog. I'd recommend finding something that fits you and your idea and then run with it.

Sunday, June 19, 2005

Solution to SICP Exercise 1.27

Structure and Interpretation of Computer ProgramsSolution to Exercise 1.27:

Here is the procedure for testing whether a number is a Charmichael number:
(define (congruent? n a)
(= (expmod a n n) a))

(define (carmichael? n)
(define (iter i)
(cond ((= i 0) #t)
((congruent? n i) (iter (- i 1)))
(else #f)))
(iter (- n 1)))

Solution to SICP Exercise 1.26

Structure and Interpretation of Computer ProgramsSolution to Exercise 1.26:

Because Louis's version makes two calls to expmod for the even case instead of one, his process comes to resemble a binary tree of depth log n. The original creates a process that resembled a chain of length log n. When we count the number of nodes in Louis's binary tree we get n - 1, bringing it back to Θ(n).

Solution to SICP Exercise 1.25

Structure and Interpretation of Computer ProgramsSolution to Exercise 1.25:

Both the original and Alyssa's version of expmod give the same result, but Alyssa's version has much poorer performance. Here is a table comparing times spent (in milliseconds) calculating fast-prime? with the two different versions:
Prime numberOriginalAlyssa's
10096082937
10135783094
10196872877
1000787493900
1000987592301
1003774994035
Times for Alyssa's version are much higher than those for the original. Why is that?

As I couldn't figure out how to get DrScheme's profiler to measure time spent in built-in procedures such as remainder and *, I have to guess where the inefficiency is.

The original expmod calculates its result incrementally, calling remainder many times on relatively small values. Alyssa's expmod, on the other hand, builds up a huge intermediate value, which is then passed to remainder once. My guess: because the numbers have grown so large in Alyssa's version, the built-in operations, remainder, *, and / are consuming much more time than they do in the original.

Moral of the story: arbitrary precision arithmetic can be expensive.

Saturday, June 18, 2005

How to Pitch an Idea

Scott Burkun gives some advice on pitching ideas:
The best delivery advice I can offer is to make sure you spend some time preparing for a positive response. What happens if they say “That’s an interesting idea. What do you want from me?” Do you want money? Other resources? A change in the project plan? A feature added to the feature list? Know what the sequence of steps are after they agree you have a good idea and be ready to ask for them.

Stealthmode Partners

Stealthmode Partners:
Stealthmode Partners is an advocate and accelerator for entrepreneurs and intrapreneurs: a network of people and companies working together to help support and accelerate new initiatives - be they new or emerging growth companies or new directions, projects, or products within existing companies.

Angel Capital Association

The Angel Capital Association:
This fast-growing association brings together the 200 angel organizations in the United States and Canada to share best practices, network, and help develop data about the field of angel investing.
Their website offers some resources aimed at prospective angel investors, including book recommendations, research papers, and a Primer for Angel Investment in Canada. Entrepreneurs might find it useful for understanding the world of angel investing.

Advice for Startups

A List Apart offers some practical advice for startups:
Write a business plan. The most important thing you can do to prepare for starting and operating your own business. Developing a business plan requires a lot of time and energy, but it’s invaluable for one primary reason — it forces you to come to terms with your business idea.

A VC Calls it Quits

Howard Anderson, founder of the Yankee Group and co-founder of YankeeTek Ventures and Battery Ventures, writes:
Good-bye! We venture capitalists like to think of ourselves as giants striding across the technology landscape, showering money on terrific young entrepreneurs, adding value, creating jobs, nurturing real companies. We are financial samurai. But I am giving it up. Why?
His reasons include technology oversupply, lack of hype, and market rationality.

Stealth Startups Suck

Mark Fletcher, CEO of Bloglines, on webapp startups that keep their ideas secret:
Some people think that they need to stay in stealth mode as long as possible to protect their exciting new idea. I hate to break the news to you, but unless you're Einstein or Gallileo, your idea probably isn't new. I have this theory. The success of a web service is inversely proportional to the secrecy that surrounded its development. There are exceptions of course. But I also think this can be applied to other things. Segway, anyone?

Startups Hazardous to Health

BusinessWeek on the health risks of startups:
A study by MYOB UK, a London-based business-software maker, found that nearly 70% of the 400 entrepreneurs surveyed feel their companies are adversely affecting their health or personal lives.

Toxic Entrepreneurs

Venture Capital Journal on toxic entrepreneurs:
Stewart Alsop, a venture partner at New Enterprise Associates in Menlo Park, has worked with a number of ball-busters in his career, and he has become convinced that in frustratingly many cases the harder an entrepreneur is to like, the more ruthlessly successful he or she becomes. "I call it my asshole theory," he says. "The bigger the asshole, the better they do," he laughs.

Guy Kawasaki Interview

Forbes interviews Guy Kawasaki, author of The Art of the Start:
If merely telling someone your idea means that it can be ripped off, then you hardly have a defensible product. If secrecy is your main weapon, then it will be hard to find investors. By the way, what happens when you ship? Are you going to ask every customer to sign a nondisclosure too?

Wednesday, June 15, 2005

Riffing on Worse is Better

I'm declaring today "Worse is Better" day. Everybody seems to be wondering why crappy designs win.

Seth writes that almost everything is lousy, especially Phillips screws.

Hamish is considering switching to a Dvorak keyboard layout given Jared Diamond's account of the undeserved success of QWERTY.

Lispers have spent years struggling with the question of why C, a programming language that is inferior to Lisp in so many ways, is so much more popular. The most famous guess came from Richard Gabriel in 1991: Worse is Better.

I'm not about to try to explain how bad design succeeds — Jared (am I allowed to refer to a Pulitzer prize winner by his first name) and Richard's articles do a much better job of it than I ever could — but I would like to to offer some observations.

Americans no longer have to drive to Canada to buy Robertson screws. They can order them from McFeely's.

Typist no longer need to buy a new machine or retool an old one to switch over to the Dvorak layout as they did in the days of the manual typewriters. A few clicks of the mouse, and they're there.

Programmers, as they move to web applications, are no longer bound by the choices of their operating system vendor. They are free to choose the language they feel is best for their application.

Everywhere you look, the old barriers to good design are coming down.

Are we looking at the Fall of Worse is Better? Will only good designs succeed from now on and bad ones no longer become entrenched? Probably not, but it might mean that those who care enough can bypass the crap and use what they find best.

AMIS Acquires Flextronics Semiconductor Division

AMI Semiconductor, my employer, announced today that they are acquiring the semiconductor division of Flextronics.

That's all I know at this point.

To any Flextronics employees that come across this post, welcome! As an employee of another company that was was acquired by AMIS, I'll say they're a fairly good employer... once you get past the self-deprecating potato-related jokes.

Monday, June 13, 2005

UWAFT Takes Top Honours at Challenge X Competition

The University of Waterloo Alternative Fuels Team, otherwise known as UWAFT, took top honours at Challenge X, an engineering design competition for university researchers developing fuel cell technology. Congratulations UWAFT!

More details in the UW press release.

Brute Force Speech Recognition

Brough Turner suggests modeling speech recognition after Google's machine translation service, which translates from one language to another by finding the closest match in a huge corpus of translated documents. Google's translation corpus consists of billions of pages of UN documents translated into every known language. If we can find a similar Rosetta stone for speech, consisting of a huge amount of audio transcribed into text, the same techniques could be applied.

Brough doesn't name any libraries but hints that he has some ideas. I have some, too; say legal depositions, or closed captioning on TV.

Friday, June 10, 2005

How to Make a Million Dollars

Some inspiration for prospective entrepreneurs from Marshall Brain: How to Make a Million Dollars
You can buy lottery tickets or head for Vegas and hope for the best.

Or there is the well-worn path to a lawsuit. The problem is, a lawsuit can take a long time and you have to spend most of that time talking to lawyers. I'm not sure the rewards outweigh the pain.

It seems like there should be an easier way, and in fact there is...

Startup Nation

Resources for entrepreneurs, including articles, online seminars, radio shows, and a blog, can be found at Startup Nation. The site is maintained by Jeff and Rich Sloan, the authors of the new book, StartupNation: Open for Business.

Thursday, June 09, 2005

Text to Speech and Back Again

Michael Hiemstra, MAKE: Blog, and others are writing about Speakwire, a website that converts the text of RSS feeds to audible speech.

It's a neat idea that got me thinking. What about going the other way, from speech to text?

Podcasts are all-audio, which means traditional search engines, like Google, can't index them very well. Search engines must rely on text descriptions that accompany podcasts in order to guess at their contents. Are there any webapps that automatically convert podcasts to text, or search the text of podcasts?

As it happens, there is: Podscope. From the FAQ,
Podscope is the first search engine that actually allows you to search for spoken words within any audio or video file. We’re starting with podcasts and will be adding all types of multimedia in coming months.
Dang! There goes that million dollar idea.

I wonder if they're planning on adding a PubSub-style utility where you could subscribe to a search and be notified when new hits appear. That might be worth a million bucks. Of course, now that I've mentioned it, Bob Wyman will probably whip up a prototype in a couple of days.

Tuesday, June 07, 2005

Solution to SICP Exercise 1.24

Structure and Interpretation of Computer ProgramsSolution to Exercise 1.24:

We need to modify start-prime-test to use fast-prime?. Here are my modifications:
(define (start-prime-test i n start-time)
(if (fast-prime? n 10)
(if (= i 0)
(report-prime
(time-difference
(current-time time-process)
start-time))
(start-prime-test (- i 1) n start-time))))
The inevitable problem when switching to fast-prime? is deciding what value to use for times. I've somewhat arbitrarily decided to use a constant value of 10 for now, which gives the following output:
Welcome to DrScheme, version 209.
Language: Textual (MzScheme, includes R5RS).

1009 *** 0s 2190000ns
1013 *** 0s 2340000ns
1019 *** 0s 7650000ns
(#>void< #>void< #>void<)

10007 *** 0s 2810000ns
10009 *** 0s 2820000ns
10037 *** 0s 2810000ns
(#>void< #>void< #>void<)

100003 *** 0s 5940000ns
100019 *** 0s 5470000ns
100043 *** 0s 5780000ns
(#>void< #>void< #>void<)

1000003 *** 0s 6410000ns
1000033 *** 0s 3600000ns
1000037 *** 0s 3750000ns
(#>void< #>void< #>void<)
As log1000=3 and log1000000=6, we should expect the processing times for the primes near 1000000 to be twice that of the primes near 1000.

The average time for the primes near 1000000 is 4586667ns. For those near 1000, 4060000.

These are very close; definitely not the factor of two we expected. What's going on?

Luckily DrScheme has a built in profiler. Perhaps it can shed some light on what's going on.

Here is the breakdown of time spent in each procedure for the values near 1000 (in milliseconds).
Function\Number100910131019Average
start-prime-test672766797745
fast-prime?641751749713.67
try-it563719608630
expmod516687593598.67
square78187109124.67
fermat-test003210.67
report-prime0000
timed-prime-test0000
And here are the numbers for the values near 1000000.
Function\Number100000310000331000037Average
start-prime-test1546157817191614.33
fast-prime?1530156217041598.67
try-it1499143615801505
expmod1483142015331478.67
square284392235303.67
fermat-test15321520.67
report-prime0000
timed-prime-test0000
Comparing the results:
FunctionRatioDeviation from expectations
start-prime-test2.178%
fast-prime?2.2412%
try-it2.3919%
expmod2.4723%
square2.4422%
fermat-test1.94-3%
As you can see, the measurements aquired by the profiler match our expectations quite closely.

Lesson of the day: DrScheme's profiler give much more accurate measurements than its implementation of SRFI 19.

Sunday, June 05, 2005

Microsoft's Remarkable New RSS Reader

Larry remarks on Microsoft's new beta RSS reader:
Their new beta RSS reader, which Dare Obasanjo points to, asks inane questions before letting you try it. For example, "what month did Florida become a state?" They of course provide a link to MSN Search for you. Funny thing though, my first instinct was to go to Google.

Guys, if you want to increase MSN Search usage, don't try to trick me into it.
Something tells me that this isn't exactly what Seth Godin means by "remarkable".

Programming Language Productivity

Mihi, at IMHO, writes about measuring productivity of programming languages:
The main problem is to compare these languages. A common method is counting the "lines of code" a programmer needs for a given program. But who is going to implement the same specification in hundrets [sic] of languages? So to make the test applicable we need a common concept for the comparison.
The common concept that he talks about is function points.

In answer to his rhetorical question, there have been a few studies that have asked several volunteers to solve a standard programming problem in the language of their choice. Peter Norvig's refers these in Lisp as an Alternative to Java. First there was Lutz Prechelt's Comparing Java vs. C/C++ Efficiency Issues to Interpersonal Issues, which he followed with a study that included Perl, Python, Rexx, and Tcl. Finally, Erann Gat collected some numbers for Lisp.

Friday, June 03, 2005

C++ for CLI

It's been a while since I've paid any attention to what's going on in the C++ world. I've somehow become a Java drone within a multinational semiconductor company. Now, how did that happen? Let your guard down for one minute, and you find yourself a cog in some grim engine of capitalist greed, mindlessly toiling away untold hours in a nondescript cubicle farm... but I digress.

Herb Sutter managed to pull my head out of the sand just long enough for me to notice that Microsoft is working to standardize an extension of C++ for the Common Language Infrastructure (CLI). The new language is called C++/CLI.

From the latest spec:
The goals used in the design of C++/CLI were as follows:
  • Provide an elegant and uniform syntax and semantics that give a natural feel for C++ programmers.
  • Provide first-class support for CLI features (e.g., properties, events, garbage collection, and generics) for all types including existing Standard C++ classes.
  • Provide first-class support for Standard C++ features (e.g., deterministic destruction, templates) for all types including CLI classes.
  • Preserve the meaning of existing Standard C++ programs by specifying pure extensions wherever possible.
Plum Hall is keeping a repository of all the public drafts of the spec.

More gender differences talk

There is some more discussion on gender differences at the Edge. This time, Diane F. Halpern, Alison Gopnik, David Haig, and Nora S. Newcombe chime in.

Program your DSP in... VB?

In an EDN article, Warren Webb reports on a new board from Sheldon Instruments with a TI C6713 in a PC-104 form factor. Ho-hum.

Then I read this:
The board comes with DSP-software libraries that enable system engineers to directly program their DSP systems in Visual Basic or National Instruments (www.ni.com) LabView.
Did I read that right? It is possible to directly program a TI DSP in Visual Basic?

That can't possibly be right. And if it is, there is something terribly wrong with the world we live in. Who would want to program a DSP in VB? What's next? A COBOL compiler?

Thursday, June 02, 2005

Gatto on Education

I've been reading John Gatto's Underground History of America Education. I thought I'd share a couple exerpts that I found interesting.
No public school in the United States is set up to allow a George Washington to happen. Washingtons in the bud stage are screened, browbeaten, or bribed to conform to a narrow outlook on social truth. Boys like Andrew Carnegie who begged his mother not to send him to school and was well on his way to immortality and fortune at the age of thirteen, would be referred today for psychological counseling; Thomas Edison would find himself in Special Ed until his peculiar genius had been sufficiently tamed. [Link]
Forced schooling was the medicine to bring the whole continental population into conformity with these plans so that it might be regarded as a "human resource" and managed as a "workforce." No more Ben Franklins or Tom Edisons could be allowed; they set a bad example. One way to manage this was to see to it that individuals were prevented from taking up their working lives until an advanced age when the ardor of youth and its insufferable self-confidence had cooled. [Link]

Wednesday, June 01, 2005

Faster Floating-Point Arithmetic on TI DSPs

EDN is reporting that TI has improved floating-point arithmetic performance in the the C6722, C6726, and C6727:
The processor-core enhancements include adding floating-point addition to the S unit on each side of the C67x core, so that the processor can execute four floating-point additions per cycle. This doubling of the number of parallel floating-point additions per cycle can boost FFT processing by 20%. In addition to supporting single- and double-precision floating-point operations, the processor core now supports mixed-mode floating-point functions that allow developers to operate on both a single- and double-precision value in the same operation. The C672x DSPs also have twice as many internal registers as C67x DSPs to improve compiler optimizations and reduce the overall number of memory accesses.

Software Project Failure: Ontario's Integrated Justice Project

In a Globe and Mail story, Kirk Makin reports that the Ontario government settled a lawsuit for $63 million over a software project gone horribly wrong. The lawsuit was brought by EDS Canada Ltd and a number of other companies after the government decided to cancel the Integrated Justice Project (IJP), a project meant to move the province's entire judicial system onto computers, because it had run over budget:
The death knell came in late 2002, when then-provincial-auditor Erik Peters said the original cost estimate of the project had ballooned to more than $350-million from $180-million. He said that even if the IJP were completed, the prospective savings would be no higher than $250-million.
When the project was cancelled it had burned through $200 million. So why didn't the government continue the project in the hope of recouping the $250 million it expected to save for the project? Derek Freeman, a Toronto lawyer with "inside knowledge of the IJP" provides a clue:
Mr. Freeman recalled that when the project began, the original private-sector partners got carried away and failed to convey how difficult it would be to translate their plans into a system-wide network.
It sounds to me like the private-sector partners failed to convey the difficulty because they were unaware of it themselves.

This is a classic problem in software. Estimates are often off by a factor of two or more because developers, when they first encounter a problem, haven't acquainted themselves with its many intricacies.

The $350 million estimate to which the project ballooned was probably optimistic.