2005
Independent programmer
2005-12-26 Filed in: various
Gus
Mueller's down to earth
story of how he
made the jump to living off the wonderful software he
created. I admit to having bought both VoodooPad and
FlySketch and being really happy with both of
'em.
Zero install
2005-12-23 Filed in: deployment
Irony: to use the Zero
Install System you have to ... install it! Oh
well, I'll stick with Starkits and
starpacks.
Bach
2005-12-17 Filed in: various
My
favorite composer. Ten days non-stop.
I've set
things up to record it all, and am looking forward to
listening to this in my own pace. Thank
you, BBC!
Humanoid
2005-12-14 Filed in: (soft|hard)ware
Seeing
these movies
gives me a
very odd sensation. How can this little machine look
so "real"? Amazing achievement. It all looks benign,
for now...
Ceci n'est pas une Xbox
2005-12-08 Filed in: (soft|hard)ware
Software Transactional Memory
2005-12-07 Filed in: databases
Safe sleep
2005-12-04 Filed in: (soft|hard)ware
The Apple
Powerbook is now able to do a hybrid
suspend/hibernate, as described in
this article. What it
means is that nothing changes in the normal case. But
even if a battery runs flat (mine have been losing
capacity over the years), saved state is not
compromised: startup will still
bring it
back.
I love that second smile effect. This is what creates a truly loyal customer base.
I love that second smile effect. This is what creates a truly loyal customer base.
Breakthrough
2005-12-01 Filed in: various
How to come up with Breakthrough Ideas. Thinking
outside the box, sort of.
Beyond Java
2005-11-30 Filed in: scripting
If Java is
not the last word, as this
article & book suggest,
and if Ruby is the next big thing, then this is great
news for the future of scripting languages in
general. The differences between Ruby and Perl,
Python, Tcl, Lua, etc are minor, IMO.
PowerGUI
2005-11-29 Filed in: (soft|hard)ware
An example
of how Quicksilver
and a
web-based system can be used together. The video
mentioned on this
page illustrates
the workflow dynamics of it all. I'm still looking
for ways to get more of my computer work streamlined,
and mice just don't cut it: no way to automate things
into your spinal cord (read: effortlessly) when it
takes aiming and visual feedback to get anything
done.
Ruby, spot on
2005-11-27 Filed in: scripting
Ignore the
title of this
presentation, it's
simply a very good list of what makes Ruby look so
attractive.
How to be creative
2005-11-27 Filed in: various
From Java to Rails
2005-11-24 Filed in: programming
Native XML
2005-11-23 Filed in: databases
Tcl on Nokia 770
2005-11-23 Filed in: deployment
Tclkit
on Nokia
770 is starting to work properly, as seen is this SSH
session:
$ ./tsh2 wikit.kit -httpd 8000
Wed, 23 Nov 2005 21:05:08 GMT: notice Now listening: 0.0.0.0 0.0.0.0 8000
Wed, 23 Nov 2005 21:05:26 GMT: [10.0.1.100] GET /
Wed, 23 Nov 2005 21:05:26 GMT: [10.0.1.100] GET /favicon.ico
Wed, 23 Nov 2005 21:06:55 GMT: [10.0.1.100] GET /edit/0@
Wed, 23 Nov 2005 21:06:55 GMT: [10.0.1.100] GET /favicon.ico
Wed, 23 Nov 2005 21:07:09 GMT: [10.0.1.100] POST /0
Wed, 23 Nov 2005 21:07:09 GMT: [10.0.1.100] GET /favicon.ico
[...]
This is a Tclkit build on the Maemo development system (which is a huge hassle to set up IMO). There were some gotchas, but it's essentially a genkit build.
Zaurus-based builds were tried, but it looks like some C++ dependency leads to occasional unresolved dynlink errors. Tk is also not quite there yet: a "pack [button .b -text Hello]" reboots the machine. Whoops!
Still, tclsh is not bad for starters. Metakit, Starkits, Wikit, SDX, and Ratcl all seem to work just fine.
$ ./tsh2 wikit.kit -httpd 8000
Wed, 23 Nov 2005 21:05:08 GMT: notice Now listening: 0.0.0.0 0.0.0.0 8000
Wed, 23 Nov 2005 21:05:26 GMT: [10.0.1.100] GET /
Wed, 23 Nov 2005 21:05:26 GMT: [10.0.1.100] GET /favicon.ico
Wed, 23 Nov 2005 21:06:55 GMT: [10.0.1.100] GET /edit/0@
Wed, 23 Nov 2005 21:06:55 GMT: [10.0.1.100] GET /favicon.ico
Wed, 23 Nov 2005 21:07:09 GMT: [10.0.1.100] POST /0
Wed, 23 Nov 2005 21:07:09 GMT: [10.0.1.100] GET /favicon.ico
[...]
This is a Tclkit build on the Maemo development system (which is a huge hassle to set up IMO). There were some gotchas, but it's essentially a genkit build.
Zaurus-based builds were tried, but it looks like some C++ dependency leads to occasional unresolved dynlink errors. Tk is also not quite there yet: a "pack [button .b -text Hello]" reboots the machine. Whoops!
Still, tclsh is not bad for starters. Metakit, Starkits, Wikit, SDX, and Ratcl all seem to work just fine.
Embedded compiler
2005-11-21 Filed in: scripting
Saw this on the Tcler's Wiki. I don't
know who the poster is, but most likely this is
Linux, which often has gcc installed:
Scripting with a C compiler built-in. A few years from now, most people will get their first exposure to C this way. Quite a difference from how old-timers like me had to make things work!
Wow. I've never ever used critcl before. Now I'm convinced. I didn't even know I had critcl on my system, but the above cut'n'pasted and Just Worked. Nifty.
Scripting with a C compiler built-in. A few years from now, most people will get their first exposure to C this way. Quite a difference from how old-timers like me had to make things work!
Yikes
2005-11-18 Filed in: programming
A
nasty bug. In Metakit. Could be bad, though the
scenario leading up to it hinges on at least one
actual I/O failure for this to bite. Still: ouch!
Bye bye, filesystem
2005-11-16 Filed in: databases
Interesting article about "type
managers", by Ben Meyer. He explains how apps
such as iTunes stop making you think of the disk as a
file system with lots of files. It's not about
technology, it's about content. And addressing one
problem domain.
Ratcl 0.97
2005-11-15 Filed in: scripting
I've
pushed out a new release of the Ratcl
relational
algebra extension for Tcl. It's a preview, nowhere
near being production-ready, but it really was long
overdue after the massive rewrite since 0.92 in
June.
SyncPad
2005-11-09 Filed in: various
This
idea is at least a decade old.
A
simple tool to
jot down brief notes, which I can use from multiple
computers. The key feature is incremental
search, i.e.
entering a couple of characters and seeing the list
of hits trim down as I type. No categories, no
hierarchies, no keywords. A time-stamp would be nice.
I've got tons of uses for this: storing ideas, remembering URLs, tracking To-do's, and (with proper protection) saving passwords and account info. I'd like to dump my entire chaotic brain in it (for personal use only).
On the Mac, there are several applications which can sort of do this. NoteTaker, MacJournal, OmniOutliner, and VoodooPad come to mind. On the web, there are wiki's and del.icio.us and bookmarks. The Backpack website has a Mac OS X Dashboard widget, a great combo. Will Duquette's Notebook also comes close: incr search and portable. There are lots of ways to do this - it's not rocket science.
But all of the above are single-machine!
On a PDA it would be moot, since those are so easy to carry everywhere, but there's no quick way to enter even limited amounts of text in them.
Is it too much to ask to have a solution which talks to some server, is portable, and can work in disconnected mode as well? All it takes is Tcl/Tk and perhaps Tequila + Metakit. I'm even willing to forego Tk and use the command line, as long as a rendered version in HTML is easy to automatically maintain (for that N770 thing...).
Let's call it SyncPad. Simple idea, simple project, I wish someone would do it.
I've got tons of uses for this: storing ideas, remembering URLs, tracking To-do's, and (with proper protection) saving passwords and account info. I'd like to dump my entire chaotic brain in it (for personal use only).
On the Mac, there are several applications which can sort of do this. NoteTaker, MacJournal, OmniOutliner, and VoodooPad come to mind. On the web, there are wiki's and del.icio.us and bookmarks. The Backpack website has a Mac OS X Dashboard widget, a great combo. Will Duquette's Notebook also comes close: incr search and portable. There are lots of ways to do this - it's not rocket science.
But all of the above are single-machine!
On a PDA it would be moot, since those are so easy to carry everywhere, but there's no quick way to enter even limited amounts of text in them.
Is it too much to ask to have a solution which talks to some server, is portable, and can work in disconnected mode as well? All it takes is Tcl/Tk and perhaps Tequila + Metakit. I'm even willing to forego Tk and use the command line, as long as a rendered version in HTML is easy to automatically maintain (for that N770 thing...).
Let's call it SyncPad. Simple idea, simple project, I wish someone would do it.
Darwinports GUI
2005-11-09 Filed in: (soft|hard)ware
DarwinPorts
is a
collection of nearly 3000 ports of various Unix/Linux
software packages for Mac OS X. And there's a GUI for
it, called Port
Authority. Written in
Tcl. Looking inside, PA appears to be using Tk, Tile,
Tablelist, and Critcl - cool!
I'm in
2005-11-09 Filed in: deployment
After
installing xterm+sshd, I can connect by WLAN to the
Nokia 770 using SSH:
$ ssh -l user -p 2222 10.0.1.101
BusyBox v1.00 (Debian 2:20041102-11) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
~ $ uname -a
Linux Nokia770-43 2.6.12.3-omap1 #1 Thu Oct 27 09:24:21 EEST 2005 armv5tejl unknown
~ $ free
total used free shared buffers
Mem: 61828 59820 2020 0 220
Swap: 0 0 0
Total: 61828 59820 2020
~ $ df
Filesystem Size Used Available Use% Mounted on
/dev/mtdblock4 2.0M 1.9M 92.0k 96% /mnt/initfs
none 512.0k 40.0k 472.0k 8% /mnt/initfs/tmp
/dev/mtdblock4 123.5M 60.1M 63.4M 49% /
none 512.0k 40.0k 472.0k 8% /tmp
none 1.0M 52.0k 972.0k 5% /dev
/dev/mmcblk0p1 60.9M 30.8M 30.2M 50% /media/mmc1
~ $ /sbin/ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:662 errors:0 dropped:0 overruns:0 frame:0
TX packets:662 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:54698 (53.4 KiB) TX bytes:54698 (53.4 KiB)
wlan0 Link encap:Ethernet HWaddr **:**:**:**:**:**
inet addr:10.0.1.101 Bcast:10.255.255.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:459 errors:0 dropped:0 overruns:0 frame:0
TX packets:334 errors:1 dropped:1 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:98214 (95.9 KiB) TX bytes:72681 (70.9 KiB)
~ $ id
uid=29999(user) gid=29999(users)
~ $ uptime
11:10:40 up 43 min, load average: 0.03, 0.15, 0.17
~ $ ps ax | wc
76 461 3952
~ $ set
HISTFILE='/home/user/.ash_history'
HOME='/home/user'
IFS='
'
LOGNAME='user'
MALLOC_MMAP_THRESHOLD_='32768'
MALLOC_TRIM_THRESHOLD_='4096'
OLDPWD='/media/mmc1'
PATH='/usr/bin:/bin'
PPID='1015'
PS1='\w \$ '
PS2='> '
PS4='+ '
PWD='/home/user'
SHELL='/bin/sh'
TERM='xterm-color'
USER='user'
_='set'
~ $ cat /proc/cpuinfo
Processor : ARM926EJ-Sid(wb) rev 3 (v5l)
BogoMIPS : 125.03
Features : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant : 0x0
CPU part : 0x926
CPU revision : 3
Cache type : write-back
Cache clean : cp15 c7 ops
Cache lockdown : format C
Cache format : Harvard
I size : 32768
I assoc : 4
I line length : 32
I sets : 256
D size : 16384
D assoc : 4
D line length : 32
D sets : 128
Hardware : Generic OMAP1510/1610/1710
Revision : 17100016
Serial : ****************
~ $
Sure feels weird to ssh into one's own shirtpocket...
$ ssh -l user -p 2222 10.0.1.101
BusyBox v1.00 (Debian 2:20041102-11) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
~ $ uname -a
Linux Nokia770-43 2.6.12.3-omap1 #1 Thu Oct 27 09:24:21 EEST 2005 armv5tejl unknown
~ $ free
total used free shared buffers
Mem: 61828 59820 2020 0 220
Swap: 0 0 0
Total: 61828 59820 2020
~ $ df
Filesystem Size Used Available Use% Mounted on
/dev/mtdblock4 2.0M 1.9M 92.0k 96% /mnt/initfs
none 512.0k 40.0k 472.0k 8% /mnt/initfs/tmp
/dev/mtdblock4 123.5M 60.1M 63.4M 49% /
none 512.0k 40.0k 472.0k 8% /tmp
none 1.0M 52.0k 972.0k 5% /dev
/dev/mmcblk0p1 60.9M 30.8M 30.2M 50% /media/mmc1
~ $ /sbin/ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:662 errors:0 dropped:0 overruns:0 frame:0
TX packets:662 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:54698 (53.4 KiB) TX bytes:54698 (53.4 KiB)
wlan0 Link encap:Ethernet HWaddr **:**:**:**:**:**
inet addr:10.0.1.101 Bcast:10.255.255.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:459 errors:0 dropped:0 overruns:0 frame:0
TX packets:334 errors:1 dropped:1 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:98214 (95.9 KiB) TX bytes:72681 (70.9 KiB)
~ $ id
uid=29999(user) gid=29999(users)
~ $ uptime
11:10:40 up 43 min, load average: 0.03, 0.15, 0.17
~ $ ps ax | wc
76 461 3952
~ $ set
HISTFILE='/home/user/.ash_history'
HOME='/home/user'
IFS='
'
LOGNAME='user'
MALLOC_MMAP_THRESHOLD_='32768'
MALLOC_TRIM_THRESHOLD_='4096'
OLDPWD='/media/mmc1'
PATH='/usr/bin:/bin'
PPID='1015'
PS1='\w \$ '
PS2='> '
PS4='+ '
PWD='/home/user'
SHELL='/bin/sh'
TERM='xterm-color'
USER='user'
_='set'
~ $ cat /proc/cpuinfo
Processor : ARM926EJ-Sid(wb) rev 3 (v5l)
BogoMIPS : 125.03
Features : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant : 0x0
CPU part : 0x926
CPU revision : 3
Cache type : write-back
Cache clean : cp15 c7 ops
Cache lockdown : format C
Cache format : Harvard
I size : 32768
I assoc : 4
I line length : 32
I sets : 256
D size : 16384
D assoc : 4
D line length : 32
D sets : 128
Hardware : Generic OMAP1510/1610/1710
Revision : 17100016
Serial : ****************
~ $
Sure feels weird to ssh into one's own shirtpocket...
No[kia] brainer
2005-11-08 Filed in: (soft|hard)ware
Knuth
2005-11-06 Filed in: programming
His "The art of... " books have formed me in ways
that few others have. And now, a wide range of
videos
are online, providing a great glimpse of how Donald
Knuth taught in his classes.
Interactive excution
2005-10-30 Filed in: programming
LispWorks is a mature Common Lisp
development system with an interesting
command-line development mode. Here is an
example:
...
As you can see, there are quite a bit of things one can do when an error is thrown. Clever - and I assume very useful while writing new code or just for trying out things before writing tests and code.
...
As you can see, there are quite a bit of things one can do when an error is thrown. Clever - and I assume very useful while writing new code or just for trying out things before writing tests and code.
Starkits
2005-10-30 Filed in: deployment
Identity
2005-10-11 Filed in: various
Dick Hardt
(first ActiveState, now Sxip) presents his "Identity
2.0" story in a truly delightful way, on
video.
This was
the Keynote Address at OSCON 2005. Not sure how I
found this, but it offered great insight into the
essence of digital identity. Fasten your seat-belt!
The SAX
2005-10-09 Filed in: various
The
Shareware Author
indeX was a
service by yours truly which was started nearly a
decade ago to help producers and consumers of
shareware find each other... a bit like a
marketplace. In a small way, I'd like to think that
it made a difference. But given that my interest in
shareware is completely gone by now, I've decided to
close it down. Stop
while you're ahead, or something like
that.
MyKEA
2005-10-07 Filed in: databases
Interesting
article about
where MySQL is headed. Explaining why others can go
after Oracle:
Chuckle. And while the world feasts on SQL, I can focus on other stuff.If you're working in a zoo you don't want to be the one who has to brush the teeth of the lion.
CVStrac
2005-10-06 Filed in: (soft|hard)ware
CVSTrac is a
bug tracking system tied to CVS which is delightfully
simple to set up and use: there's a self-contained
static executable for Linux which works right out of
the box. Written by Richard Hipp, author of SQLite
(which is used in CVSTrack). Absolutely top notch.
Chuck?
2005-10-04 Filed in: various
Is that
Chuck/Charles Moore - the inventor of FORTH - who is
being mentioned in an article titled
Next-Gen Processor: Supercomputer on a Chip?
At AMD?
Interesting.
Update: The answer is: no, there are more people with that name.
Update: The answer is: no, there are more people with that name.
Normal forms
2005-10-03 Filed in: databases
There's
this big issue of "normalizing" a database design -
it comes up all the time (if you're into modeling
information that lives in the real world, that is).
It has implications for how data is stored,
consistency, redundancy, and performance. In short:
it's impoitant
...
I'd like to be able to take existing (filled!) data tables and play around with alternate representations, while at the same time exploring the implications for performance and the impact on normalization. Drastic changes, sort of like a "refactoring browser for data" - preferably in a highly visual manner.
Have not found such a utility so far.
Maybe one day, the views and relational algebra of Vlerq will make it possible to support such a data model evolution tool. The dynamics of views, and derived views (also blocked views, as first explored in Metakit) ought to be up to the task.
Days are too short!
I'd like to be able to take existing (filled!) data tables and play around with alternate representations, while at the same time exploring the implications for performance and the impact on normalization. Drastic changes, sort of like a "refactoring browser for data" - preferably in a highly visual manner.
Have not found such a utility so far.
Maybe one day, the views and relational algebra of Vlerq will make it possible to support such a data model evolution tool. The dynamics of views, and derived views (also blocked views, as first explored in Metakit) ought to be up to the task.
Days are too short!
Ajax
2005-09-29 Filed in: scripting
Interesting how JavaScript can turn a web browser
into an advanced application framework. ZDNet has a
list
of apps, I had a quick look at
Webnote. Double-click to edit, click outside the
note to end an edit. Amazing.
A nice (Java-centric) introduction into this sort of approach can be found here.
A nice (Java-centric) introduction into this sort of approach can be found here.
Running
2005-09-27 Filed in: various
My
lifetime job, of course, is to develop new software
and make it run. I've extended that for a while now
to also make myself
run - an
old habit which I neglected for over two decades. So
the news is that I'm back into running and enjoying
every second of it. Currently at 5 km, five times a
week ... it
feels really good.
ANTs
2005-09-27 Filed in: databases
The Register has an interesting news item about an
innovative database called the
ANTs Data Server (ADS). The way they deal with
contention while avoiding locking is particularly
intriguing.
MySQL
2005-09-27 Filed in: databases
The MySQL 5.0 release candidate is out. Interesting
changes listed
here include: updatable views and compact
archival storage.
Nullities
2005-09-13 Filed in: databases
From
a
post on the
SQLite mailing list:
The more I learn about NULLs in SQL the less sense they make...
So true, Richard, so true.
The more I learn about NULLs in SQL the less sense they make...
So true, Richard, so true.
Date in depth
2005-09-02 Filed in: databases
There's a new book out by Chris Date, titled
"Database
in Depth, Relational Theory for Practitioners"
(ISBN 0-596-10012-4). It's a 200-page paperback full
of very concise wisdom. All of Date's key arguments
in a nutshell. A must read if you're into databases
(both usage and design), because it highlights and
justifies the main points of relational theory.
Back. Geek.
2005-07-12 Filed in: various
Just back from a refreshing camping trip, it was
delightful to read Erik Sink's
blog entry about developers and marketing. This
one is worth reading and re-reading...
Summer break
2005-06-27 Filed in: various
Yours
truly is about to enter an extended summer recess.
Unlike hibernation, this marks a period of sensory
delight and social / travel activity, alternated with
brisk work periods in which I will however not be
very responsive to email. Anything (or nothing) may
happen until September...
Go for it
2005-06-24 Filed in: various
Follow your dream. Wil Shipley's
student talk at Apple's WWDC 2005 says it all.
He's right.
Copyright
2005-06-13 Filed in: various
Lawrence Lessig writes a superb
article about the World Social Forum. Puts
everything I always wanted to know about copyright,
DRM, and the GPL into a historical perspective. Ends
with a fascinating story about Gilberto Gil.
Releases
2005-06-11 Filed in: scripting
Been busy.
Released Ratcl 0.92
and
Metakit
2.4.9.4. The usual
frenzy: check-in, fix all version numbers, do all
builds, perform all tests, and DON'T-MESS-UP!
kind of
thing. It was long overdue.
Autopackage
2005-06-11 Filed in: deployment
Just came
across a tool called "autopackage"
to
build multi-distribution
binary packaging framework for Linux
systems. At last,
what took OSS developers so long! Many useful
docs here!
Also contains several interesting sub-tools such as BinReloc (find your own exe and shlib path, great for starkits/packs), apgcc (compile using older libs so the shared libs don't break on older systems, great for tclkit), Relaytool (use run-time dynamic calls as if they were static), and Scandeps (analyze ELF executables).
Also contains several interesting sub-tools such as BinReloc (find your own exe and shlib path, great for starkits/packs), apgcc (compile using older libs so the shared libs don't break on older systems, great for tclkit), Relaytool (use run-time dynamic calls as if they were static), and Scandeps (analyze ELF executables).
Data dominates
2005-06-11 Filed in: programming
A quote
from Rob Pike, I think I'll make it my favorite:
Data dominates. If you've chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.
It's rule 5 on this page (which in turn came from Ivan Lazarte's comment on the wiki ).
Second place, by Ken Thompson, from the same page:
When in doubt, use brute force.
Could be a mantra for Vlerq, that one!
Data dominates. If you've chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.
It's rule 5 on this page (which in turn came from Ivan Lazarte's comment on the wiki ).
Second place, by Ken Thompson, from the same page:
When in doubt, use brute force.
Could be a mantra for Vlerq, that one!
Hi Steve
2005-06-06 Filed in: various
Ah, so
you did
read my
previous blog entry, eh? And next year we're going to
have
Mac OS X on Intel hardware? Well, good
luck with the switch, get it over with quickly
please. C'ya.
The Universal Binary Programming Guidelines covers the technical details.
The Universal Binary Programming Guidelines covers the technical details.
G5 vs. X86, OSX vs Linux
2005-06-04 Filed in: (soft|hard)ware
A
comparison which
confirms what I've been seeing, but for which I never
had any real data to back it up: the Mac is not as
snappy at the core level as a Linux/x86 combo.
Wouldn't ever want to go back to anything else though
- in terms of helping me get the work done, my 1 GHz
PowerBook remains in a league of its own.
Smart ideas
2005-05-29 Filed in: various
An
insightful story by Scott Berkun about
smart, yet not necessarily right. I'd
summarize it as: creative ideas need reality checks
more than anything else. Or perhaps even more
concisely: clever and wise are not the same thing.
Reading this, I just can't stop thinking about
(design and choice of) programming languages,
software practices, database approaches, and
development tools.
Let's move away from the clever stuff. Let's focus on wisdom.
Let's move away from the clever stuff. Let's focus on wisdom.
Another gem
2005-05-29 Filed in: various
Again by
Scott Berkun: Why
you must lead or follow. Spot on.
Life's too short to dwell in any other
modus
vivendi.
Beyond RDBM's
2005-05-25 Filed in: databases
With a
title like
Beyond Relational Databases, I was
really looking forward to reading Margo Seltzer's ACM
article (SleepyCat's founder). Alas, the word
"algebra" is not mentioned. Omission or oversight,
who knows.
Object-relational mapping
2005-05-20 Filed in: databases
Every time
I come across things like these,
I can't
help but think that two trends which have wandered
too far off course (SQL and OO) are being shoe-horned
back into something which to me seems...
odd.
Given that I consider data on-disk and in-memory to be two sides of the same coin, I can only conclude that SQL and OO are going out of their way to be as different from each other as can be.
Why marry two opposite mindsets? It makes no sense.
Given that I consider data on-disk and in-memory to be two sides of the same coin, I can only conclude that SQL and OO are going out of their way to be as different from each other as can be.
Why marry two opposite mindsets? It makes no sense.
EU patents
2005-05-18 Filed in: various
Tedious
but progress in the right direction for
once...
The Register reports
that:
Under the terms of [Michel] Rocard's draft, software would only be patentable if it controlled a physical process, or a controllable force of nature. Patents would not be allowed for software that handles "the treatment, the manipulation, the representation and the presentation of information".
Yes, please!
Under the terms of [Michel] Rocard's draft, software would only be patentable if it controlled a physical process, or a controllable force of nature. Patents would not be allowed for software that handles "the treatment, the manipulation, the representation and the presentation of information".
Yes, please!
Cringely's gaze
2005-05-14 Filed in: various
Robert
Cringely looks into his
crystal ball and
describes the future trends he sees looming - the
players are Microsoft, Google, Yahoo, and Apple.
Fascinating thinking.
Dual photography
2005-05-10 Filed in: various
In the
category "wow, amazing science"...
Imagine a light source coming from one end and a camera picking up the image reflected by some scene. With a mathematical transformation, it is possible to reconstruct the "dual" image, i.e. the view of the scene as if the roles of the camera and the light source were reversed (note that this requires a scanning light beam, not a floodlight).
Amazingly, this allows you to see things which are not visible from the original camera viewpoint. See the video at the bottom of this page.
Imagine a light source coming from one end and a camera picking up the image reflected by some scene. With a mathematical transformation, it is possible to reconstruct the "dual" image, i.e. the view of the scene as if the roles of the camera and the light source were reversed (note that this requires a scanning light beam, not a floodlight).
Amazingly, this allows you to see things which are not visible from the original camera viewpoint. See the video at the bottom of this page.
Commodities and cost
2005-04-29 Filed in: various
Joel
Spolsky writes: Smart
companies try to commoditize their products'
complements.. There
are an awful number of insightful comments about open
source and marketing in his 2002
strategy letter, as
usual.
What makes top research special
2005-04-26 Filed in: various
Richard
Hamming (yes, the Hamming code guy) describes the
difference between world-class scientists and the
rest in this
talk (of 1986).
It's a wonderful glimpse into that world.
Continuations
2005-04-19 Filed in: programming
Sam Ruby explains continuations in a delightfully
clear article:
Continuations for Curmudgeons. After that, the
page about Scheme's
call/cc by David Magore is easier to understand.
NanoBlogger
2005-04-19 Filed in: (soft|hard)ware