Posted in Computer Games, Family, Gaming, Movies, Music, Netcasts, Numismatics, Politics, Science Fiction, Technology
Friday, January 27, 2006

The past year, 2005, brought its share of hype and hero worship. As I did last year I decided to give a select list of underrated items some exposure.

I read an excellent article on podcasting. Would anybody listen to a gazpacho dot net podcast?

Posted in Blog, Technology
Wednesday, January 25, 2006

I use Movable Type to manage these blog entries. I had an idea for a plug-in: a plugin that allows Movable Type to interface with subversion to allow templates to be version controlled.

Posted in Technology
Tuesday, December 27, 2005

Hackaday posted an article the other day on MIT’s USB-controlled Disco Dance Floor. The technology geek in me loves this idea. My brain boggles at the fun possibilities with this expensive toy. I was delighted to see engineering students at the nearby Washington University built one.

Posted in Software Engineering, Technology
Monday, November 21, 2005

An email arrived today from Amazon announcing the Amazon Mechanical Turk web service. It is named after a famous 19th century chess playing machine that turned out to really have a person inside.

Amazon touts the service as “Artificial” Artificial Intelligence. It works like this. A company may send trucks through a business district taking photos. They then need somebody to pick the best ones for a database of store images. In exchange for a couple cents a human can take a look at a few photos and select the one that best looks like a storefront.

Developers can use web services to submit tasks to the Amazon Mechanical Turk web site, approve completed tasks and incorporate the answers into their software applications. To the developer the application sends the request to the web service. In turn the service returns the result. Behind the scenes the results are the product of human input. Humans come to the web site, search for and complete tasks and receive payment for their work.

Got spare time? Earn a few cents.

Posted in Software Engineering, Technology
Tuesday, October 25, 2005

This weekend I discussed potential web page designs for Atomic Squash with Jason. Our conversation reminded me of some slides I wrote for an advanced HTML class at work. Over the years I have seen many poorly designed websites. Web page authors, it seems, tend to make some of the same mistakes when first learning HTML.

The following is a list of elements of good and poor design.

Elements of Poor Design

  • Avoid gaudy backgrounds. A simple color is better.
  • Avoid unreadable text and background combinations. You know about what I am talking.
  • Do not make “Under Construction” pages. It is best just not to show a page that does not have content.
  • Avoid frames. They break bookmarks. Use a table or div tags for layout instead.

Elements of Good Design

  • Make a site map. If you have a large collection of web pages, this is invaluable.
  • The top of the page is the most valuable part. Put a navigation bar and the most important content there.
  • Use footers. Footers provide a visual cue to the end of content.
  • Use context. Avoid “Click Here”.
  • Give file sizes for files over 100kb in size. This prepares the user for large downloads.

Posted in Software Engineering, Technology
Thursday, October 13, 2005

Dijkstra, a famous computer scientist, once said: “Computer science is no more about computers than astronomy is about telescopes.” Computer science deals with design principles, requirements analysis, implementation of hardware and software, documenting and testing solutions and maintaining production systems. As you can see programming is only a small part of what is involved.

An article I read earlier this year lamented the fact there have not been any notable innovations in technology in recent history. So I thought about what innovations are possible given today’s technology. The following is my list of computer science projects which are ripe for innovation and which interest me:

COMPUTER SCIENCE PROJECTS THAT INTEREST ME

1. Compiled Javascript

Javascript is an interpreted scripting language built in to most web browsers. Most interactive web pages utilize javascript to do things like validate input or dynamically change form elements. One of the weaknesses with javascript is that all of the comments are sent, too. For pages with large amounts of javascript this amounts to lots of wasted bandwidth. It should be possible to compile javascript into codes that can be run in a sandbox within the browser. The process of compilation would eliminate comments and distill the code into a compact collection of byte codes.

2. Wired Elvis

A computer science professor once wrote a program to algorithmically generated jazz riffs using a functional programming language. I’ve always wondered what rock and roll could sound like if it were generated by a computer. Lets put the core in Haskore.

3. Anonymous P2P Networking

Peer-to-Peer (P2P) networks have made headlines lately. A fundamental issue with today’s P2P networks is that once you connect to the network your IP address is publicly available. This makes you a target esp. since information about your data transfers are routing through super nodes. It is theoretically possible to anonymize connection information. Some work has been done lately about obfuscating routing using a concept known as onion routing. It is not easy but I think it is possible to anonymize all connection information including the IP address. The question becomes, is it possible to ensure successful transfer given an anonymous destination? I think it is as long as you have at least three trusted servers. I haven’t worked out in my head how to protect the servers against untrustworthy servers or servers colluding to “poison the well”.

4. Whipping the WIMP

We can been using the same windows-icon-mouse pointer paradigm since it was invented in the 1970s. But people are still intimidated by using computers. Lets face it speech is a more natural means of communication. Advances in voice recognition mean that computers understand us better than ever before. Isn’t time that we at least augmented our system software with voice and gesture recognition?

5. Morose Pointer

Alan Turing proposed a test in which a computer program tries to fool human testers into thinking that they are communicating with a human. Every year there is a contest in which competitors try to see who does their best to meet the Turing Test. I’d like to go step beyond this. Can a computer make you cry? Can we care enough about a computer program to feel emotion? The mind boggles.

6. Parallel Compiler

In college I did independent research in the area of parallel computing. The compilers available at the time were poor. The best available was a compiler that took the C programming language and did its best to parallelize the instructions. There were other compilers and languages but they were awkward and difficult to program. As multiple processor PCs appear on mainstream desktops, the question is: is it time for a new programming language? I believe it is time for a language and compiler that is designed around explicit parallelism.

Tags: ,

Posted in Technology
Saturday, October 8, 2005

I want one of these for Halloween! From a biography of the late Dr. Claude Shannon:

The "Ultimate Machine", based on an idea of Mervin Minsky, was built [by Dr. Shannon] in the early fifties. The operation and spirit were well described by Arthur C. Clarke in Voice Across the Sea: "Nothing could be simpler. It is merely a small wooden casket, the size and shape of a cigar box, with a single switch on one face. When you throw the switch, there is an angry, purposeful buzzing. The lid slowly rises, and from beneath it emerges a hand. The hand reaches down, turns the switch off and retreats into the box. With the finality of a closing coffin, the lid snaps shut, the buzzing ceases and peace reigns once more. The psychological effect, if you do not know what to expect, is devastating. There is something unspeakably sinister about a machine that does nothing — absolutely nothing — except switch itself off."

Page 9 of 15« First...7891011...Last »