...more recent posts
A-ha! Or, I mean, AHAH. Keith Devens describes:
The idea is, it's basically Ajax, but instead of grabbing arbitrary XML and processing it on the client-side with Javascript or XSLT and inserting things into the DOM, you just grab bits of (X)HTML from the server and inject them directly into your page. So, the client side does much less logic and merely needs to say "replace the content in the element with this ID with the (X)HTML at this USlightly longer discussion here: AJAX vs. AHAH.
This makes a lot of sense to me. Since most AJAX applications (webpages?) seem to be constructed in such a way that the client (the javascript on the web page) and server parts are both under the control of the same designers, you don't really need the layer of abstraction provided by XML (over just pulling the blobs out of a database and wrapping them in HTML.) If the server didn't know how the client would format the data then the XML steps would be necessary. But does this ever happen with in AJAX setups? I like the simplicity of AHAH.
M.I.T. has put many video lectures on line under an open Creative Commons license (I think the plan is to put *everything* on line for free, but I don't know how close they are to that goal.) Here's one that looks interesting to me: Structure and Interpretation of Computer Programs - Video Lectures by Hal Abelson and Gerald Jay Sussman:
Structure and Interpretation of Computer Programs has been MIT's introductory pre-professional computer science subject since 1981. It emphasizes the role of computer languages as vehicles for expressing knowledge and it presents basic principles of abstraction and modularity, together with essential techniques for designing and implementing computer languages. This course has had a worldwide impact on computer science curricula over the past two decades. The accompanying textbook by Hal Abelson, Gerald Jay Sussman, and Julie Sussman is available for purchase from the MIT Press, which also provides a freely available on-line version of the complete textbook.
These twenty video lectures by Hal Abelson and Gerald Jay Sussman are a complete presentation of the course, given in July 1986 for Hewlett-Packard employees, and professionally produced by Hewlett-Packard Television. The videos have been used extensively in corporate training at Hewlett-Packard and other companies, as well as at several universities and in MIT short courses for industry.
Oh yeah, almost forgot. I saw a Nokia 770 last night for the first time. Even better in person than I thought it would be. Very polished looking and feeling device. Much smaller than you might think with a very nice bright screen (overall much smaller than, say, a PSP but with almost as big of a screen.) Not sure what to call it though. Web tablet? I guess that's it. Touch screen, WiFi, and it runs Linux. Geeks seem very intrigued but I wonder who else would buy such a thing?
I guess if you had a desktop computer in a home office situation but then also wanted to surf the web and check email while not in the office (which I guess for most people pretty much means while watching tv,) then this would definitely be something to look at.
I just wish they could somehow get a keyboard attached without making it any larger or less elegant. But that's just me. I'm pretty keyboard-centric.
Anyway, I was interested before and now that I've seen it I am even more intrigued. I hope this is a product they continue to develop.
Long time readers will remember I used to get a little worked up about the issue of Trusted Computing - "they're going to make general purpose computers illegal!" - and although I finally decided, years ago, that it doesn't really matter, I think that conclusion was a little optimistic. It does matter, and this stuff is still happening, and it will be a net loss for everyone if "they" get their way, even if it's nice to have an argument ready for why "we" will eventually win no matter what.
In any case, to revisit the subject, Tim Bray (respected software engineer and now Sun bigwig) takes on the Trusted Computing Group in this interesting article Selling Art:
Increasingly, the products of artists are digital; thus subject to essentially-free copying and sharing. Artists, just like accountants and ambassadors, need to get paid. How best to arrange this?Nice refresher course if nothing else. And it really is still happening. Wikipedia, as usual, has great info on Trusted Computing, and if you're a real glutton, here's +4 rated comments from a recent slashdot thread (actually some good stuff in there,) on Intel's plans to add this technology to their next chipsets which are due real soon now.
Sensible business advice from Gus Mueller: How to become an independent programmer in just 1068 days. Obvious stuff, I guess, but very well put. I think this would be worth reading for anyone thinking about starting a small business - not just computer programmers.
Business 2.0 looks at YouTube:
Everybody wants to be the Flickr of video. One early contender that is gaining momentum is YouTube. All of the hundreds of thousands of short videos clips on the site are shot and uploaded by users....
YouTube serves up an impressive three million video clips every day, and people are uploading 8,000 clips a day. You can share or blog any video on YouTube. Even some advertisers are getting in on the game. The most viewed video is actually a commercial for Nike that shows a Brazilian soccer star practicing some shots on goal. It's been viewed more than one million times.
Interesting notes from David Weinberger on a talk by del.icio.us creator Joshua Schachter at the Berkman Center.
I've seen the best minds of my generation...
...employed by Google. Python creator Guido van Rossum gets a new job.
Tim Bray points to this interesting language development:
Caucho, the company behind the open source application server Resin and the open Web Services protocols Burlap and Hessian, has recently added PHP to its list of supported features. Apparently, the PHP pages are compiled in the background to byte-code, and the resulting performance is six times that of Apache mod_php!
Damn:
AMCC will showcase HPC storage platforms featuring four 3ware 9550SX 12-port RAID controllers and 48 Hitachi 7K500 500GB SATA II disk drives at the heart of a Pogo Linux StorageWare 548 solution that delivers 24TB of SATA II capacity in a 5U enclosure. The system is powered by Opteron dual core CPUs and will sustain over 1.2GB/s of read bandwidth, demonstrating the industry's most compelling combination of speed, capacity, reliability, and price per gigabyte.Storage capacity is really exploding, at least at the server level. Those 3ware SATA RAID cards are really nice. We're using the last generation 9500 12 port, and the 9550 looks significantly sweeter (although what we have is more than enough for our needs, so this is more like a geek fetish thing I guess.)
I think desktop computers should come with RAID built in. At least RAID 1 so that people's data is a little more protected from drive failure. RAID 1 is probably okay to do in software (where the CPU does the work instead of an external processor on a RAID card like the 3ware.) And anything past the mid range on the desktop should really come with 3 drives in a RAID 5 with a card. But not only is no one doing this, you can't even put 3 drives inside a G5 tower! (Well, not without a 3rd party bracket scheme which is not supported by Apple.) I guess I see what they are doing - "if you need that much storage buy an external Apple RAID" - but I don't agree. Everybody needs RAID (now that drives are so cheap, why not? Is your data not worth anything? $200 extra bucks?) and Apple's external unit, while it is beautiful and also a pretty good deal in terms of $/GB, is just too big and too loud. Not everyone needs 14 drives. But really almost everyone needs 3 drives.
provides transparent synchronization across a set of machines for existing files and directories. A transparent synchronization system makes keeping a set of files consistent across many machines---possibly with differing degrees of connectivity and availability---as simple as possible while requiring minimal effort from the user and maintaining security, robustness to failure, and fast performance....Sourceforge project page.
In the Tsync usage model, the user writes a simple configuration file, similar to /etc/exports, describing which directories should be synchronized, and listing one or more other hosts that are part of the Tsync group (although this list does not have to contain all the hosts in the group). The user runs the Tsync daemon, tsyncd, on each machine in the group. Then when the user creates/modifies/deletes files on one machine, those changes are automatically propagated to all the others. So if the user were to add a bookmark on her machine at the university, it would be reflected on her desktops at home. Even if not all of the computers are connected at the same time (such as if her laptop were powered off), then the next time the disconnected machine regained connectivity, it would automatically learn about the change and update itself.
Michael Robertson, who's last venture MP3.com was sued out of existence, has just launched a new music oriented service called Oboe at MP3tunes.com. I don't have any opinion on how he will execute, but this is an interesting idea. It's pretty close to a number of things I am trying to do (on a much smaller scale) as well.
Here's a Boing Boing post with a long note from Robertson explaining the deal:
You can store all of your own music, making your entire music collection playable from any browser in the world. Plus you can also sync that entire music collection and playlists to multiple computers with a single mouse click. Oboe is the jukebox in the sky that can store all library for safety, playback and move your music to any location for offline playback as well.$39.99 per year. Supposedly unlimited uploads, and 128 Kb/s streaming playback. If he can really pull that off it sounds like a great price to me. I am so curious what someone at that level pays per Mb/sec for bandwidth. Well, okay, I'm not so much curious as jealous.