"The big change that "experience" causes in your brain is learning that you need to
solve people's problems
."
"A few steps before a Rubik's Cube is solved, it still looks like a mess. I think there are a lot of undergrads whose brains are in a similar position: they're only a few steps away from being able to start successful startups, if they wanted to, but they don't realize it. They have more than enough technical skill. They just haven't realized yet that the way to create wealth is to make what users want, and that employers are just proxies for users in which risk is pooled."
12.05.2005, 22:14
The experience to make what people want
"Just" use HTTPFasten your seat-belt: Figuring out the complexity of HTTP encodings in 125 slides .11.05.2005, 19:12 |
Yes, what is gather?Whatever it is , they certainly seem clever.10.05.2005, 19:58 |
A Free Song for Every Swiss Citizen"In conjunction with the iTunes Music Store launch in Switzerland , Apple and UBS today announced a promotion to give every Swiss citizen a free song on the iTunes Music Store."..."UBS is offering song cards for music downloads in all of their branches, which can be used instead of a credit card to purchase tracks from the iTunes Music Store."10.05.2005, 19:10 |
Java in HarmonyAn Apache licensed J2SE 5 has been proposed as a new project for the Incubator."Motivation: There is a clear need for an open-source version of Java 2, Standard Edition (J2SE) runtime platform, and there are many ongoing efforts to produce solutions (Kaffe, Classpath, etc). There are also efforts that provide alternative approaches to execution of Java bytecode (GCJ and IKVM). All of these efforts provide a diversity of solutions, which is healthy, but barriers exist which prevent these efforts from reaching a greater potential." From the FAQ for Apache Harmony : "11) Will you accept SWT if IBM offers it? Apache is always grateful for contributions from wherever they come, and IBM has a record of contributions to open source, but it would [be] up to the project community to decide whether any particular contribution was used in the project." 09.05.2005, 17:08 |
Jan getting carried awayI wonder how this will develop ..."There is more than plenty of work here to be done and we only have a month to get it all finished." [...] "So far we have pretty much been tearing out things amd the more we take out we find even more that should be fixed. Like the floor in the living room. We just wanted to put in some new pipes for the heating system and the main watter line. So we opened up the wooden floor to find out that one of the supporting beams is rotten at the end. So, we open up more to find out that they are all rotten. Great! Now we got the bare dirt floor." 08.05.2005, 12:16 |
Evil Google Web Accelerator?I hate it when inconsiderate actions in the form of an ugly hack by a big player have malicious impact on current best practices. Now we have to add checks for " X-moz: prefetch " in request headers if we want to keep the Google Web Accelerator from "googling-up" certain web apps with broad branching, performance intensive get-requests. I wonder how well Google is making use of caching to limit the effect this has on server load.07.05.2005, 15:28 |
JSON.stringify and JSON.parseJust realized that Douglas Crockford has added a fresh implementation of the JSON Javascript Object Notation code to the json.org site. I updated Mochascript to include this new implementation.var JSON = {
org: 'http://www.JSON.org',
copyright: '(c)2005 JSON.org',
license: 'http://www.crockford.com/JSON/license.html',
stringify: function stringify(arg) {
var c, i, l, s = '', v;
switch (typeof arg) {
case 'object':
if (arg) {
if (arg.constructor == Array) {
for (i = 0; i < arg.length; ++i) {
v = stringify(arg[i]);
if (s) {
s += ',';
}
s += v;
}
return '[' + s + ']';
} else if (typeof arg.toString != 'undefined') {
for (i in arg) {
v = stringify(arg[i]);
if (typeof v != 'function') {
if (s) {
s += ',';
}
s += stringify(i) + ':' + v;
}
}
return '{' + s + '}';
}
}
return 'null';
case 'number':
return isFinite(arg) ? String(arg) : 'null';
case 'string':
l = arg.length;
s = '"';
for (i = 0; i < l; i += 1) {
c = arg.charAt(i);
if (c >= ' ') {
if (c == '\\' || c == '"') {
s += '\\';
}
s += c;
} else {
switch (c) {
case '\b':
s += '\\b';
break;
case '\f':
s += '\\f';
break;
case '\n':
s += '\\n';
break;
case '\r':
s += '\\r';
break;
case '\t':
s += '\\t';
break;
default:
c = c.charCodeAt();
s += '\\u00' + Math.floor(c / 16).toString(16) +
(c % 16).toString(16);
}
}
}
return s + '"';
case 'boolean':
return String(arg);
default:
return 'null';
}
},
parse: function (text) {
var at = 0;
var ch = ' ';
function error(m) {
throw {
name: 'JSONError',
message: m,
at: at - 1,
text: text
};
}
function next() {
ch = text.charAt(at);
at += 1;
return ch;
}
function white() {
while (ch) {
if (ch <= ' ') {
next();
} else if (ch == '/') {
switch (next()) {
case '/':
while (next() && ch != '\n' && ch != '\r') {}
break;
case '*':
next();
for (;;) {
if (ch) {
if (ch == '*') {
if (next() == '/') {
next();
break;
}
} else {
next();
}
} else {
error("Unterminated comment");
}
}
break;
default:
error("Syntax error");
}
} else {
break;
}
}
}
function string() {
var i, s = '', t, u;
if (ch == '"') {
outer: while (next()) {
if (ch == '"') {
next();
return s;
} else if (ch == '\\') {
switch (next()) {
case 'b':
s += '\b';
break;
case 'f':
s += '\f';
break;
case 'n':
s += '\n';
break;
case 'r':
s += '\r';
break;
case 't':
s += '\t';
break;
case 'u':
u = 0;
for (i = 0; i < 4; i += 1) {
t = parseInt(next(), 16);
if (!isFinite(t)) {
break outer;
}
u = u * 16 + t;
}
s += String.fromCharCode(u);
break;
default:
s += ch;
}
} else {
s += ch;
}
}
}
error("Bad string");
}
function array() {
var a = [];
if (ch == '[') {
next();
white();
if (ch == ']') {
next();
return a;
}
while (ch) {
a.push(value());
white();
if (ch == ']') {
next();
return a;
} else if (ch != ',') {
break;
}
next();
white();
}
}
error("Bad array");
}
function object() {
var k, o = {};
if (ch == '{') {
next();
white();
if (ch == '}') {
next();
return o;
}
while (ch) {
k = string();
white();
if (ch != ':') {
break;
}
next();
o[k] = value();
white();
if (ch == '}') {
next();
return o;
} else if (ch != ',') {
break;
}
next();
white();
}
}
error("Bad object");
}
function number() {
var n = '', v;
if (ch == '-') {
n = '-';
next();
}
while (ch >= '0' && ch <= '9') {
n += ch;
next();
}
if (ch == '.') {
n += '.';
while (next() && ch >= '0' && ch <= '9') {
n += ch;
}
}
v = +n;
if (!isFinite(v)) {
error("Bad number");
} else {
return v;
}
}
function word() {
switch (ch) {
case 't':
if (next() == 'r' && next() == 'u' && next() == 'e') {
next();
return true;
}
break;
case 'f':
if (next() == 'a' && next() == 'l' && next() == 's' &&
next() == 'e') {
next();
return false;
}
break;
case 'n':
if (next() == 'u' && next() == 'l' && next() == 'l') {
next();
return null;
}
break;
}
error("Syntax error");
}
function value() {
white();
switch (ch) {
case '{':
return object();
case '[':
return array();
case '"':
return string();
case '-':
return number();
default:
return ch >= '0' && ch <= '9' ? number() : word();
}
}
return value();
}
};
05.05.2005, 02:57
|
>>> Ajax for Java |
| > The launching of launchd |
| > Timeless RSS |
| > Kupu |
| > SNIFE goes Victorinox |
| > AJAX is everywhere |
| > Papa Ratzi |
| > How Software Patents Work |
| > Ten good practices for writing Javascript |
| > Free-trade accord with japan edges closer |
| > Mocha at a glance |
| > Adobe acquires Macromedia |
| > Safari 1.3 |
| > View complexity is usually higher than model complexity |
| > Free Trade Neutrality |
| > SQL for Java Objects |
| > Security Bypass |
| > Exactly 1111111111 seconds |
| > Kurt goes Chopper |
| > Choosing a Java scripting language |
| > Spamalot's will get spammed a lot |
| > The visual Rhino debugger |
| > The Unix wars |
| > EU-Council adopts software patent directive |
| > FreeBSD baby step "1j" |
| > Never trust a man who can count to 1024 on his fingers |
| > Visiting the world's smallest city |
| > Finally some non-MS, non-nonsense SPF news |
| > Swiss cows banned from eating grass |
| > Ludivines, the "Green Fairy" of absinthe |
| > First Look At Solaris 10 |
| > EU Commission Declines Patent Debate Restart |
| > Alan Kay's wisdom guiding the OpenLaszlo roadmap towards Mocha? |
| > 1 Kilo |
| > Re: FreeBSD logo design competition |
| > Schweizer Sagen |
| > Europas Eidgenossen |
| > Art Nouveau La Chaux-de-Fonds 2005-2006 |
| > XMLHttpRequest glory |
| > The Beastie Silhouette |
| > The Number One Nightmare |
| > Safe and Idempotent Methods such as HEAD and TRACE |
| > Sorry, you have been verizoned. |
| > Daemons and Pixies and Fairies, Oh My! |
| > Sentient life forms as MIME-attachments: RFC 1437 |
| > Anno 2004: CZV |
| > Web Developer Extension for Firefox |
| > Refactoring until nothing is left |
| > Brendan, never tired of providing Javascript support |
| > Catching XP in just 20 Minutes |
| > Designing the Star User Interface |
| > Rhino, Mono, IKVM. Or: JavaScript the hard way |
| > Re: SCO |
| > Judo |
| > Convergence on abstraction and on browser-based Console evaluation |
| > Today found out that inifinite uptimes are still an oxymoron |
| > New aspects of woven apps |
| > Original Contribution License (OCL) 1.0 |
| > Unified SPF: a grand unified theory of MARID |
| > BSD is designed. Linux is grown. |
| > 5 vor 12 bei 10 vor 10 |
| > Mocha vs Helma? |
| > Schattenwahrheit: Coup d'etat underway against the Cheney Circle? |
| > Abschluss Bilaterale II Schweiz-EU |
| > From Adam Smith to Open Source |
| > Linux - the desktop for the rest of them |
| > Big Bang |
| > Leaky Hop Objects |
| > Return Path Rewriting (RPR) - Mail Forwarding in the Spam Age |
| > Microsoft Discloses Huge Number Of Windows Vulnerabilties |
| > Steuerungsabgabe statt Steuern |
| > Anno 2003: deployZone |
| > The war against terror |
| > The war against terror (continued) |
| > The relativity of Apple's market share |
| > Are humans animals? |
| > Server-side Javascript |
| > Democracy Now! |
| > The Cluetrain Manifesto |
| > Anno 1999: Der Oberhasler |
| > Anno 1998: volksrat.ch |
| > Fan traces "lost" singer Rodriguez |
| > Anno 1998: crossnet |
| > Think different |
| > The right time to buy Apple stock |
| > Geschwindigkeit vs Umdrehungszahl |
| > Anno 1997: Xmedia |
| > "The meaning of life is to improve the quality of all life" |
| > Cute Barristas at Peet's Coffee |
| > Anno 1996: CZV |
| > Alternative 1995 |
| > BZ Internet Cafe |
| > Xjournal |
| > How do I set a DEFAULT HTML-DOCUMENT? |
| > Searching Gopherspace |
| > Crossnet - der kollektive Intellekt der Schweiz |
| > Global Screen Design Services |
| > NEW-LIST digests |
| > ACTIV-L Digest |
| > Eternal September |
| > AOL expanding Internet services |
| > Anno 1993: Macro-micro navigator |
| > Freude herrscht! |
| > Anno 1992: Intouch i-station |
| > You register me in 50 states |
| > Anno 1991: mediacube |
| > Friedrich Dürrenmatt - Die Schweiz als Gefängnis |
| > Anno 1990: RasterOps |
| > Enable the Creative |
| > Photoshop Startup Memories and First Demo |
| > Anno 1989: Lambada by Kaoma |
| > Anno 1988: Perfect by Fairground Attraction |
| > Bürgerbrief |
| > Morgana - Selling Digital-Font based Sign-writing |
| > Macworld Expo 1988 Amsterdam |
| > Acorn Archimedes RISC Technology |
| > Anno 1987: Knowledge Navigator |
| > Anno 1986: Max Headroom in the News |
| > FidoNet |
| > Anno 1985: Amiga 1000 |
| > Hello World on C128 in CP/M Mode |
| > Analog Desktop Publishing in 1984 |
| > Anno 1982: Vic-20 |
| > Gamchi |
| > Postel's Law |
| > The Future Is Unwritten |
| > Earth Mother and Fortieth Floor by Lesley Duncan |
| > La Linea by Osvaldo Cavandoli |
| > California by Joni Mitchell |
| > Supplement to the Whole Earth Catalog |
| > Neil Young |
| > Whole Earth Catalog |
| > Anno 1968: Mony Mony and People Got to Be Free |
| > August 28th 1968: William Buckley Vs Gore Vidal |