3D Printing

Saturday, September 29, 2007

I like the idea of 3D printers. You have a device that can repeatable produce low volume, highly customizable items. This won't change the Henry Ford assembly line approach. The assembly line is great at producing large quantities of exact copies.

So, it stands to reason the best initial application for 3D printing would be clothing. Clothing has very high variety (style, color, shape, size, etc), and thus low volume. (With the assumption that the current size system is a generalization to help mass production.)

Use Case:
You walk into a store full of samples, and find something you like. Step into the 3D scanner for measurements (already exists, and in limited use). The printer then prints a tailored shirt, shorts, etc.

The new "Old Navy" would maintain its standing by using different materials, machines, designs, and public image. Thus duplicating the current model.

The scanner would not be required for clothing production, you could save your last scan and provide it to the store.

It could also be applied to online shopping. You order a pattern and take it to be printed at a store's printer. Of course, you would suddenly get piracy and DRM problems just like other industries that cannot cope without exclusivity.

Lightning Makes the Economy Go Round

Monday, September 03, 2007

A few days ago, I arrived home to a clock flashing 12:00, a dead modem, damaged router, and no sound from my computer. After replacing all the dead components, I turned to my router.

The WAN port was the only part damaged in the strike. So, I felt I could save my router. During a previous failure I flashed my router with the DD-WRT firmware, thus making it, in my opinion, fully configurable. A few hours of searching yielded an architecture diagram. (Note: I have a Linksys WRT54GL v1.1. Other Linksys routers might have a different structure.) I combined it with the instructions on http://www.dd-wrt.com/wiki/index.php/WAN_Port and http://www.dd-wrt.com/wiki/index.php/VLAN_Bridging_WAN_and_a_LAN_port, and moved one of the LAN ports to VLAN1. One router saved by Linux. Go Linux.

The future of mystery meat

Monday, March 19, 2007

I love watching the old “Home of the future” films and thinking about the ideas they came up with. Sometimes, I am pleasantly relieved.

Many of the “Future Interfaces” I have seen are flashy mash-ups of current metaphors mixed thoroughly with mystery meat (to add mystery). http://en.wikipedia.org/wiki/Mystery_Meat_Navigation

http://honeybrown.ca/Pubs/BumpTop.html
My PC already organizes my files better than I organize my desk. I guess everyone forgets the time before Align to Grid was added in Windows. The only plus I see is the addition of physics to the computing experience.

http://www.tactile3d.com/tac.php?opt=overview&subopt=docs
Where did I put that bash script to close the Velociraptor cages?

http://asktog.com/starfire/
Sorry Tog, but Starfire also fits into this category. I admire many things about the Starfire concept. It has the document centric approach, complete integration with all systems, interoperability of programs, big honkin’ screens, and much more. But, where are the giant lists of verbal commands available to the user? Where is the letter “I" on that keyboard? This system would require as much training as a jet aircraft. (That might not be a bad thing.)
I still would advise anyone interested in feeling depressed about where we are in mainstream computing to watch it and read Alchemi’s blog entry afterwards (http://alchemi.co.uk/archives/hum/2_past_projecti.html).

But, don’t take my word for it. (Geordi La Forge)

http://video.google.com/videoplay?docid=4750948381745911864
MSR TaskGallery

http://video.google.com/videoplay?docid=455297590267492017
interactive desktop 3D handelprojector handeled projector

http://video.google.com/videoplay?docid=-8100222800051574872
2010 vision

http://video.google.com/videoplay?docid=-2711786759085611061
Andy Wilson @ Microsoft Research

http://video.google.com/videoplay?docid=-3304682858126153303
Linux XGL

http://www.msdewey.com/
No explanation necessary.

Two Zeros

Saturday, February 17, 2007

Have you heard of this one? I was surprised when I read this.

The rule of two zeros:
In decision making, small and large are two orders of magnitude away. Anything over two orders is no greater or less.

Essentially, if you have $100, $1 is small and easy to part with. On the same token, $10,000 is large and seems almost unobtainable.

CSS Rounded Corners Without Images

Friday, February 24, 2006

I found a neat trick the other day at http://www.cssplay.co.uk/boxes/snazzy.html. It's not new, but its CSS2, cross-browser compatable, and uses no scripting.

For those interested, the illusion is accomplished by placing graduated 2px and 1px tall div tags, with specific border attributes, below one another.

<style type="text/css">
#xsnazzy h1, #xsnazzy h2, #xsnazzy p {margin:0 10px; letter-spacing:1px;}
#xsnazzy h1 {font-size:2.5em; color:#fff;}
#xsnazzy h2 {font-size:2em;color:#06a; border:0;}
#xsnazzy p {padding-bottom:0.5em;}
#xsnazzy h2 {padding-top:0.5em;}
#xsnazzy {background: transparent; margin:1em;}

.xtop, .xbottom {display:block; background:transparent; font-size:1px;}

.xb1, .txb2, .txb3, .txb4,
.bxb2, .bxb3, .bxb4 {display:block; overflow:hidden;}

.xb1, .txb2, .txb3,
.bxb2, .bxb3{height:1px;}
.txb2, .txb3, .txb4 {background:#d4d4d4; border-left:1px solid #000000; border-right:1px solid #767676;}
.bxb2, .bxb3, .bxb4 {background:#d4d4d4; border-left:1px solid #000000; border-right:1px solid #767676;}

.xb1 {margin:0 5px; background:#767676;}
.txb2 {margin:0 3px; border-width:0 2px;}
.txb3 {margin:0 2px;}
.txb4 {height:2px; margin:0 1px;}
.bxb2 {margin:0 3px; border-width:0 2px;}
.bxb3 {margin:0 2px;}
.bxb4 {height:2px; margin:0 1px;}

.xboxcontent {display:block; background-color:#d4d4d4; border:0 solid #767676; border-width:0 1px;}
</style>


<!--Somewhere In The Document-->
<div id="xsnazzy" style="width:75px;">
  <div class="xtop">
    <div class="xb1"></div>
    <div class="txb2"></div>
    <div class="txb3"></div>
    <div class="txb4"></div>
  </div>


<div class="xboxcontent" style="height:65px;">
<table cellpadding=0 cellspacing=0 border=0 width="100%" height="100%" valign="center"><tr><td align="center">Test</td></tr></table>
</div>


  <div class="xbottom">
    <div class="bxb4"></div>
    <div class="bxb3"></div>
    <div class="bxb2"></div>
    <div class="xb1"></div>
  </div>
</div>

Word Scrambling Fun

Sunday, February 19, 2006

I am a very briong prseon. To porve to eoyrvene that I sepak the turth I will dcseribe the way I sepnt a few munties of my life Sudnay ngiht.

A wihle back I read an actrile aobut how well popele can dhpcieer smlcbared wrods. It truns out that ppoele can sitll uarsntdend a srmcblaed word as long as you keep the frist and last letetrs the same.
I find this very inseettring from a pocsyholgy pecesrtpive. But, that is nteiher here nor tehre. I diecded I sohuld wirte a pgroram to do it for me. Why would I "watse" my time doing siheotmng so folvroius, uelsess, and "sutpid"? I wtaned to. So I sat down and hrmemaed out the prgroam in C# 2.0. (I cohose C# 2.0 because it was at hand, nhtiong more.) I would conidser it ftfeien munties well spent.


private void replace(ref string s, int startpos,string newvalue)
{
StringBuilder sb = new StringBuilder();
if(startpos > 0) sb.Append(s.Substring(0, startpos));
sb.Append(newvalue);
if (startpos + newvalue.Length < s.Length) sb.Append(s.Substring(startpos + newvalue.Length));
s = sb.ToString();
}

private string scramblestring(string s)
{
if (s.Length > 3)
{
StringBuilder sb = new StringBuilder();
Random r = new Random();
do
{
sb = new StringBuilder();
int val = 0;
List ca = new List(s.ToCharArray(1, s.Length - 2));
sb.Append(s[0]);
while (ca.Count > 0)
{

val = r.Next(0, ca.Count-1);
sb.Append(ca[val]);
ca.RemoveAt(val);
}
sb.Append(s[s.Length-1]);
}while(s.Length > 4 && sb.ToString() == s);
return sb.ToString();
}
else
{
return s;
}
}

private string scramble(string s)
{
Regex r = new Regex(@"\b[^\W\d]{4,}\b");
MatchCollection m = r.Matches(s);
if (m.Count > 0)
{
foreach (Match ma in m)
{
replace(ref s, ma.Index, scramblestring(ma.Value));
}
}
return s;
}

A Revenue Model For A Web Service Economy

Sunday, January 08, 2006

I prefer to consider history as a guide.
The best solution would be a layered model similar to the blender on my kitchen counter. You pay a one time fee for posession of a blender, but you must also pay a monthly service charge for the electricity it uses and any fees associated with the items being "blended".

Here is how I would break it down:
(Using the layer model from Phil Wainewright)
  • APIs: A fee based on usage
  • Aggregation services: A fee based on usage
  • Application services: A one time ownership fee
  • Serviced clients: A one time ownership fee unless included with the application service
Esentially this duplicates what we have now. The real problem is actually getting people to understand why they should pay.

Web n.0!

I have read numerous writers and bloggers claiming the coming of Web 2.0, and even Web 3.0. I don't remember anyone, actually involved in building the "World Wide Web", declaring a version one.
The Internet is about services being served by servers. Whether acting as a remote datastore (html, images, xml, etc.) or providing access to interactive processes via server scripts and cgi, it has always been this way. Maybe I'm just to old to really "get it".

Toby Still Needs Saving?

Tuesday, July 26, 2005

That’s right; Toby from http://www.SaveToby.com is still alive! After missing the $50,000, by June 30th, goal, Toby’s owner decided to secretly change the dead-line to Nov 6th, 2006. I don’t know if this is the first time this has happened. But, I can see how it could have happened numerous times before. I think he should just get out while he is still ahead.

On a more important note, I wonder what it would be like if dolphins had dolphin-made guns. I want this to happen. So, taking a page out of Jared Diamond’s book Guns, Germs, and Steel (http://www.pbs.org/gunsgermssteel/), I would like to propose an idea. We could teach dolphins to farm crops, farm animals, and domesticate animals. We could then sit back, for about 10,000 years, and enjoy the fruits of our labor.


Update (11/11/2005):

You can now donate to hurry Toby's demise at http://www.killtoby.com/.


The Second Rise of Bittorrent

Tuesday, July 19, 2005

The weak point in Bittorrent has always been the centralized tracker. But, with the addition of DHT in most new clients, the classic shift from method to application can now occur.Bittorrent can now be positioned as what it truly is, a high-demand file distribution system. Blah, blah, blah. What I’m trying to say is, Bittorrent style downloading will be built into open-source applications for file and media distribution.

Also, watch for Microsoft to code a working copy of it’s Avalanche system and attempt to sell it to enterprise application developers for mainstream application use. (Possibly writing it in one of it’s .Net languages.) Bram Cohen could cut them off if he changed the bittorrent license to allow for any use or charge a small fee for non-open-source applications. I emphasize the word “small” because Microsoft could easily undercut him, or give Avalanche away to encourage it’s use. (i.e. Netscape Vs. Internet Explorer) Honestly, I can see Microsoft doing both, giving Avalanche away for personal/small use, and selling it for enterprise development.This is neither here, nor there, if Avalanche never gets off the test bed. (I don’t care what anyone has said. I’ve seen the powerpoint. It’s just vapor-ware/research.)

Examples of bittorrent empowered applications: Videora, TV Mistress, SwarmTV, and Podcasting

I have even joined the fervor with my own open-source broadcatching program for windows, based on the official bittorrent core. I honestly don’t understand why this hasn’t been done many, many more times before. It took me just two days to get a working alpha version. (Project 16B)


Update (11/11/2005):
Getright 6.0 Beta has support for bittorrent downloads and mirrors. Allowing for downloading file segments via HTTP, FTP, and Bittorrent simultaneously. (Details)