Invention

Freeze Test Ice Cubes

Problem: Sometimes frozen food melts and refreezes.

Refrigerated trucks don’t.  Freezer doors stay open.  The freezer case goes out.  Groceries get left in the car for a long trip.  The power company decides to play power line roulette.  Later, the problem is fixed, and the food freezes again.  It’s hard to know if food thawed out and was then refrozen.  For some foods, this can be dangerous.

Solution: Fancy Ice Cubes.

Put a small “safe to eat” ice solid inside each back of frozen vegetables.  If it’s missing or unreadable, the vegetables have been thawed and refrozen.  The ice solid is made from water with two or more food colorings, so pick colors like the food.

When ice melts, the liquid will mix.  If you make ice cubes out of two or more colored waters, the two colors will mix.   For the simplest example:

  1. Fill an ice cube tray so that each hole is half full.
  2. Put in one drop of yellow food coloring into each hole.
  3. Freeze.  You now have half height yellow ice cubes.
  4. Fill the rest of each hole of the ice cube tray with plain water.
  5. Put in one drop of blue food coloring into each hole.
  6. Freeze.  You now have ice cubes that are yellow on the bottom and blue on top.
  7. Leave the ice cubes in the freezer.  Have a three day power outage and then restore power for a day.
  8. You now have green ice cubes.

That’s the core idea.  You have a way to tell if the item was refrozen.  From here, you can get fancy.

  • Adjust the surface area ratio to signify how much thawing is acceptable.  Use thin slices when less thawing is allowed.
  • “Print” tamper proof cubes in multiple colors.   You might ship cases of vegetables with a thin slice with the date and company logo in different colors.  If it the slice arrives a melted mess, don’t accept it from the trucker.
  • Use multiple fluids or widths to make a ‘gauge’ to show exactly how melted the shipment got.

This could easily commercialize as a money saver by identifying truckers making expensive mistakes or as a premium brand spiff by making the ’safety tag’ inside each bag.
Shoo, go make money.

del.icio.us Reddit Slashdot Digg Facebook Technorati Google StumbleUpon Tailrank Yahoo Bloglines Newsvine Spurl Fark

Idea
Ideas
Invention
Products

Comments (0)

Permalink

Safe Online Financial Accounts

Problem: People balk at having online access to seldom used financial, insurance, and service accounts.

Financial and insurance institutions want consumers to access accounts online.  It lowers costs and provides consistent service.

People note the potential for high cost losses, the one-sided user agreements, and complete lack of recourse for most fraud.  Some may choose online access for primary banking; the convenience outweighing the risk.  Many more will avoid online access to a 401(k) plan.

Solution: Provide information only accounts by default.

Information about an account is less valuable than the money in it.  Being a little careless with your account, such as accessing it from a computer, becomes similiar to throwing out printed statements without shreading them.

These accounts would let people see their balances and fees, make most routine changes, but not make ones that severly compromise security.  For example, transfering money from savings to checking is OK; changing mutual funds is OK; adding a newborn to your insurance is OK; changing your address is not OK; disbursing money to outside accounts is right out.  The risk of catastrophic loss decreases.

There are some implementations approaching this solution, aimed at preventing catastrophic losses.  Bank of America provides alert notifications by email when selected activities occur, such as adding a new Payee.   E*Trade uses separate passwords for viewing information and trading securities.

This idea provides lower costs to institutions, more convenience to consumers, and less loss to fraud all around.  What’s not to like?

del.icio.us Reddit Slashdot Digg Facebook Technorati Google StumbleUpon Tailrank Yahoo Bloglines Newsvine Spurl Fark

Idea
Ideas
Invention
Products
Web

Comments (4)

Permalink

Yeast and Baking Powder in a Spice Jar

Baking soda

Problem: I’m a guy. When I try to cook, it uses these things called “in-gradients”. I am supposed to have little boxes, cylinders, and packets full of baking power, baking soda, and yeast.

Solution: I’ve already got a spice rack. Put ‘em in there.

Seriously, is it so hard to package baking powder into a spice jar? Or little packets of yeast in a spice jar? Every recipe wants a teaspoon or two. I don’t need a new shape in my three dimensional Tetris of cabinet space. And don’t get me started on bullion cubes!

del.icio.us Reddit Slashdot Digg Facebook Technorati Google StumbleUpon Tailrank Yahoo Bloglines Newsvine Spurl Fark

Idea
Ideas
Invention
Products

Comments (4)

Permalink

Extended Regular Expressions

 re.jpg

Problem:   Regular Expressions should have more core types

Regular expressions recipes live on websites.   When you want that U.S. telephone number regular expression, like “((?P<areacode>:\d{3})?\s{0,2}….“, you make this huge hash into your regular expressions.

What happens is that regular expressions become de facto lexers.  We want them to recognize the various obvious forms of telephone numbers, like “(415) 555 – 5555” or “415.555.5555” and so on.   We want the right answer, without rebuilding a recipe library from scratch each time.

Solution:  Build an extended regular expression engine that knows the basic recipes.

It would be good to have a regular expression subclass that recognizes additional special characters and functionality.   Previous extensions in regular expressions, notably in Perl, have added core building blocks such as less greedy patterns, named sub-expressions, repetition matching, and so on.  These extensions would provide easy access to common parsing problems.  I expect a good set of candidates would include:

  • Dates, like “02-03-2007′ or “03-Feb-07″ or “February 3″.
  • Times, like “2:45 a.m. GST” or “10:04:23GMT+3″
  • Credit card numbers, with or without spaces.
  • Floats, like “+2.234E20″, “3.1415″, and “42″.
  • U.S. Phone numbers, like “(301) 342-3222 ext. 2432″
  • U.S. Address Lines, like “City of Industry, MN 23423-1322″
  • Names, like “Dr. Phillip P. R. Radnov IV, MD”
  • Overseas Phone Numbers, like “+23 234 12333″
  • Quoted Strings in CSV formats

So, you can see that I’m looking at a lot of common, odd, and exception prone text processing that straddles the line between lexing and parsing.  Recognizing the half dozen forms of writing a number and then returning a number is typically done in a lexer by providing multiple rules.   Alternately, it is done by the parser in an annoyingly repetitive manner.   It should be done in a library further down, such as regular expressions.  Too many applications use different recipes and cause both incompatibilities and bugs.

One method would be to have these as macros in a regular expression class, and provide a cannonical example for post parsing.   Convenience functions would provide access by field, e.g.,

>>> x = re.match(”(?Date)\s+(?USPhone)”, “23-Feb-07  415.234.9902″)

>>> print x.group(1)   # What string matched the Date?

02-23-2003         # See, we substitute in the easy to parse date.

>>> print re.areacode(2)   # Areacode from match of group 2

415

It feels like work, but doable to make this run quickly.  That is, for the convenience functions to run quickly.   The hard part would be correctly reporting when a regular expression using extensions might give unexpected results.   For example, zip code followed by a number is ambigious for “20423-1234.234″.  Is that (”20423-1234″,”0.234″) or (”20423″, “-1234.234″)?   That problem is hard in regular expressions now.

del.icio.us Reddit Slashdot Digg Facebook Technorati Google StumbleUpon Tailrank Yahoo Bloglines Newsvine Spurl Fark

Coding
Idea
Ideas
Invention
Libraries

Comments (0)

Permalink

A bootable USB Key for XO/OLPC Virus Scanning

220px-laptopolpc_a.jpg

Problem:  The One Laptop Per Child (OLPC) XO Laptop coud get viruses

The XO laptop will be a perfect breeding ground for viruses.  The system is monolithic, with an expectation of identical hardware and operating systems being deployed across entire countries.   IT support is expected to be non-existent.   The machine networks heavily and promiscuously.

The primary defense against the spread of viruses is the built-in BitFrost security system.  This assemblage uses virtual machines to restrict certain combinations of rights and attempts to prevent some of the higher harm viruses from occurring.  One can expect many installations to disable any security measures found burdensome, as occurred with the rights based security in J2EE.

Solution:  Make a bootable, read only, USB key to validate that all installed software is open source.

On the other hand, the OLPC has a few truly special features that allow effective anti-virus software to exist.   All, or almost all, software on an OLPC is expected to be open source.   It becomes reasonable to validate that all possible changes to configurations, applications installed, and binaries from a known list of ‘good’ applications.  While “enumerating badness” is a doomed strategy, enumerating allowed systems is possible.

Consider a repository that keeps track of all known contributed applications and language packs in source form.  An automated script builds these into sugarized files and keeps track of the file system effects from installing these onto virtual machines.   The results are placed onto a self-booting USB key that boots up, examines the file system of the XO, and declares it to be clean or infected.

This does require some tricky programming, mostly in reducing the combinatorially exploding possible configurations into a linearly growing set of rules for allowable configurations.  The problem is engineering, not requiring perfect implementation.

This feels like a good PhD Thesis for someone.

del.icio.us Reddit Slashdot Digg Facebook Technorati Google StumbleUpon Tailrank Yahoo Bloglines Newsvine Spurl Fark

Coding
Idea
Ideas
Invention
Products
Web

Comments (0)

Permalink

A Backpack for Connected Humans

backpack.jpg

Problem: Constantly packing and unpacking your laptop, the power brick and chargers for your devices.

Solution: Modify a backpack to have the the chargers all plugged in and an easy to handle extension cord. Just plug in the whole backpack at the next coffee shop or airport.

This is a simple enough idea. Leave the bulky power brick in the back, have a place to stuff your phone where it charges, have an extra outlet right there if you have more things to plug in or need to sync your Palm. This may involve a wireless USB hub. Optimize for the time to sit down, plug into power, put your cell phone in the charger, pull out the laptop, and get to work.

del.icio.us Reddit Slashdot Digg Facebook Technorati Google StumbleUpon Tailrank Yahoo Bloglines Newsvine Spurl Fark

Idea
Ideas
Invention
Products

Comments (1)

Permalink

Touch to turn on flash lights

Problem: Flashlights burn through the batteries when left on, especially by children

Solution: Touch activated flash lights

Having come across another dead flashlight today, I find the need to protect my precious source of photons. It would be cool to have a flashlight that has no switch and is on if and only if the body of the flashlight is in contact with skin. There are various skin capacitance measuring methods to achieve this. My favorite, from an pure art viewpoint would be to have two tones for the two halves of a circuit. This could be a pretty pattern or just a grid, and touching two colors would turn on the flashlight. My child would be entertained until the batteries died.
That’s it. A simple, small idea of the day.

del.icio.us Reddit Slashdot Digg Facebook Technorati Google StumbleUpon Tailrank Yahoo Bloglines Newsvine Spurl Fark

Idea
Ideas
Invention
Products

Comments (0)

Permalink

Annoying Back To Work Buzzer

lilbuzz.png

Problem: It’s easy to be distracted by the Internet.

Solution: A Back to Work buzzer.

We have a 2006 Honda Accord with a correctly annoying seat belt buzzer. Yes, the little light goes on when you the car is on and the seat belts are not buckled. If you drive off without putting on the seat belts, the car bides its time for about thirty seconds. After all, you might be sipping your coffee, adjusting your phone headset, fiddling with CD Player, and using a pinky and a thin slice of your brain to back into traffic. After a minute or so, the car has had enough and blinks the seat-belt icon and beeps at you. Then it calms down for a minute. Then it starts again. About every minute, the car beeps at you for a few seconds. it is surprisingly effective at reminding us to put on the seat belts.

Now there is a new problem with my computer. It’s connected to all the Internets, which is a complicated series of tubes. Down these tubes come blogs and videos and flash games and all manner of distractions. I don’t want the computer to stop me from following a random link from a mailing list. Still, my will power is weak and the number of videos on YouTube are many. What I want is the annoying Back to Work Buzzer.

If FireFox notices that I’ve been goofing off for too long, a Back to Work Buzzer should buzz at me. Then it should chill for a minute while I finish. Then it should buzz again. It’s my willpower. I just want the reminder to break me out of the infinite Digg crawl.

Implementation is left as an exercise to the reader.

del.icio.us Reddit Slashdot Digg Facebook Technorati Google StumbleUpon Tailrank Yahoo Bloglines Newsvine Spurl Fark

Coding
Idea
Ideas
Invention
Products
Web

Comments (0)

Permalink

MMORPG with human languages

lilbook.jpg

Tome of Naga Summoning

Problem: Learning languages is slow and boring. Immersion is best.

Solution: Make a MMORPG (Massively Multi-player Online Role Playing Game) with languages divided by race.

We know that immersion is the best way of teaching a foreign language. The best place to learn French, in my indefensible opinion, is Quebec. Every street sign, business sign, and label is presented in both English and French. In walking around Quebec, hundreds of words and their English equivalents are pasted into my brain. I would like an analog in computer based education.

How about world where the Hobbits speak English, the Elves speak French, the Orcs speak Spanish, the Dryads speak Hungarian, and the Dwarves speak German? In this scheme, new players would start the game in their own towns, speaking their own languages, and building up characters. As the character progresses, quests and treasures lead the characters into border regions where both languages are spoken, as in Quebec.

On the further fringes of the border regions, the original language drops away and only the foreign language is immediately available. Some spells would be available to temporarily translate speech or writing as ghostly highlighting, but the spells are rigged to be too expensive to continually rely upon. As the player spends more time trading in foreign goods, entering Elvish caves that have awaited a Hobbits for thousands of years, and going about their questing, more and more of the vocabulary and spelling of the language seeps into the player’s brain.

Putting grammar into the game and into the player’s brain may require special constraints. Requiring magic spells and puzzle solving to use correct grammar would augment the grammar learned from reading or interacting with NPCs. Some inconvenient items might require short language puzzles for each activation. The goal is to keep the explicit learning low enough that the gaming and the implicit learning continues.

This idea is certainly within reach. The FSF has been working to GPL an MMORPG infrastructure. That is, an organization is working to make everything free software, so that designing the landscape and quests would bring this idea to reality.

del.icio.us Reddit Slashdot Digg Facebook Technorati Google StumbleUpon Tailrank Yahoo Bloglines Newsvine Spurl Fark

Coding
Idea
Ideas
Invention
Products
Society
Web

Comments (3)

Permalink

Quick-reference and Keyboard Template Generator

keyb.jpg

Problem: Every editor, video game, and drawing program has a hard to learn short-cut system.

Solution: Make a generic system for printing out the keyboard shortcuts.

Every program has keyboard shortcuts, and usually a keyboard diagram is a good way to describe them. The VI Cheat Sheet shows commands using a stylized keyboard and color groupings of commands, resulting in a high information density. Putting together this cheat-sheet took appreciable effort; while Emacs is about the same age as VI, Emacs has no such diagram online.

There have been dozens of commercial companies selling preprinted keyboard templates. This shareware claims to generate keyboard templates, though it is old and limited. What is needed is a good open source program that will grow to accommodate an increasing number of needs.

At a minimum the software would accommodate:

  • Command sets would store the key information for an application. For example, the VI template worries about the entire keyboard, color modifiers by group, and multiple commands per key by understanding modifiers such as control, alt, or an internal mode. Icons could be attached to each command, and icon libraries could be managed.
  • Print layouts would store information about printing out the commands. Some outputs are generic PDFs, such as a printed quick reference in order of key or by grouping, or a diagram of a keyboard like the above VI Cheat Sheet. Print layouts would also understand about printing template strips for function keys based on the specific type of keyboard, cutout strips for complex templates, or small labels to put on the keys.

This separates the commands for a particular program from the way it is printed. That is, once I add the keyboard commands for Emacs to a public site, I can then print various quick reference cards and a keyboard template that fits my specific keyboard. Also, I can add a new print layout for my spiffy new laptop and then print templates for my favorite programs. This pair of use cases would make development self-sustaining.

del.icio.us Reddit Slashdot Digg Facebook Technorati Google StumbleUpon Tailrank Yahoo Bloglines Newsvine Spurl Fark

Idea
Ideas
Invention
Politics

Comments (2)

Permalink