Your Linguistic Profile: |
| 50% General American English |
| 35% Yankee |
| 15% Dixie |
| 0% Midwestern |
| 0% Upper Midwestern |
Actually I don’t speak American English at all. Pidgin would be a more appropriate term ;).
Ugo Cei’s Weblog
Your Linguistic Profile: |
| 50% General American English |
| 35% Yankee |
| 15% Dixie |
| 0% Midwestern |
| 0% Upper Midwestern |
Actually I don’t speak American English at all. Pidgin would be a more appropriate term ;).
This post is to introduce my good friend Davide, who just started blogging, following my suggestion, at Numerabile.
He seems to be really into numbers, so expect that his main topics will revolve around statistics, mathematics, economy, etc.
Unfortunately he doesn’t feel really comfortable writing in English and will post mainly in Italian, but I hope that over time he will gain enough confidence to use English, at least occasionally, and reach thus a much larger audience.
Otherwise, I might be tempted to steal some of his best items, translate them and repost them here ;).
I’m marking a small milestone with this post, being my 200th since I resumed blogging seriously at the beginning of 2005. Two hundred posts in a little more than three months is not bad, also considering that I am writing a little also here and here.
Traffic is increasing, albeit very very slowly. I expected to get much more hits from Google and other search engines after three months, but this is not happening yet. I am wondering whether I am still inside Google’s sandbox. Two hundred pages should give search engines plenty of content to index, yet I get hits for just a handful of keywords.
Most of the traffic actually comes from a few online aggregators: javablogs.com, Planet Apache and Artima Developer Buzz, mainly. This means that if I don’t post regularly, traffic vanishes very quickly.
After a short burst of enthusiasm about AdSense revenues at the end of March, the CTR for ads displayed here dropped dramatically :(. I’m currently experimenting with different ad positioning strategies, hoping to keep getting enough clicks to cover web hosting fees, at the very least. Being able to pay for the time I’m spending here would be great, but this is still far far away as a goal. Got to be patient.
Rudolph pleads guilty to Atlanta Olympic blast | Reuters.com: “’The purpose of the attack on July 27th was to confound, anger and embarrass the Washington government in the eyes of the world for its abominable sanctioning of abortion on demand,’ said Rudolph, who also called President Bush a ‘coward’ for failing to end the practice.
He expressed no apparent remorse when describing how he planted the bombs that exploded outside an abortion clinic in Sandy Springs, Georgia in 1997 and one in Birmingham the following year.”
I agree with God is for Suckers:
How many hits would “Islamic terrorist” have gotten if his religious inspiration had been Islam rather than Christianity?
Hopefully, this post will contribute one more Google hit for “Christian terrorist” that leads to the Rudolph story.
For the life of me, I can’t make heads nor tails of this article:
Tom Yager: “But no matter how much money and dedication is poured into Linux, it will never put a dent in Windows’ mind share or market share because Linux is an operating system, a way — and probably the best way — to make system hardware do what it’s told. But you can’t turn Linux into a platform even if you brand it, box it, and put a pricey sticker on it.”
One thing is to kill Windows — which I agree won’t happen anytime soon — quite another is to put a dent in it’s market share, especially if we’re talking about server market share, as seems to be the case here. I think Linux is quite happily putting a big dent in the server market share. Someone might argue that this is at the expense of other Unices, like Solaris or SCO, but I tend to think that traditional Unix would have lost that market anyway, and to Windows mostly. So, Linux is taking away potential Windows market share, at least.
And more:
Businesses and organizations of all sizes need consistent, predictable, scalable, self-contained platforms for server solutions. Windows wins.
I never thought Windows could have been dubbed “consistent, predictable, scalable”. Might have been smoking something all these years, seeing lots and lots of Linux installations delivering consistent, predictable and scalable results. Hmmm…
There is only one platform that can stand toe-to-toe with Windows, and that’s the combination of OS X and Java.
As much as I love developing in Java under OS X, there’s no doubt that when it comes to deploying on a server, Linux + Java wins hands down over OS X, especially if you want Java5 or if you want as many MHz as money can buy. And if you’re talking about the client, how many Java applications are you running on OS X day in, day out?
Perplexed.
Sylvain Wallez: Ajax in Cocoon: dead simple!: “Today, I added Ajax support to Cocoon, starting with form handling.”
If you’re not familiar with Cocoon Forms, let me tell you why this is important and not just the latest indulgence to a passing fad. We actually discussed adding this to Cocoon Forms at the latest GetTogether, long before the term Ajax was even invented.
Cocoon Forms is arguably the coolest web forms framework out there that is entirely HTML-based. In other words it is compatible with most browsers and does not require plugins, XForms support or other proprietary extensions, which can be very important.
Cocoon Forms makes it very easy to add some amount of dynamism to forms, ranging from simple cascading drop-downs (selecting an item in a drop-down list causes another list’s contents to change) to repeaters (repeating sets of input fields where you can add, remove and move items) and to more exotic use cases like unions (sort of variants).
All very cool, but whenever the structure of a form changes, a complete HTTP request-response cycle is executed and this has some unpleasant side-effects:
This is where using XMLHttpRequest comes into play. Using it, you can refresh only the portion of the form that needs changing and you can do it much faster, resolving all of the above-mentioned annoyances. The fact that XMLHttpRequest support in Cocoon Forms is completely transparent, as far as I understand, and falls back to the traditional behavior when the browser does not support it, is simply incredible.
Kudos to Sylvain for coming up with this brilliant solution which will undoubtedly strengthen Cocoon’s position as the most powerful web application development platform!
ThinkSecret does not seem to be scared by the recent lawsuits. Indeed, they are revealing juicy news about a revamped line of iMacs to be announced short after Tiger’s relase:
ThinkSecret: “As first reported over a month ago, the updated iMac G5, code-named Q45 C/D, will reach 2GHz, while video memory is doubled to 128MB and the card itself upgraded to ATI’s Radeon 9600. All models will also feature Bluetooth 2.0 and will ship pre-installed with Tiger and iLife ‘05.”
I am seriously considering getting myself one of the new models, as soon as they are available. I’ll be moving much of my development work on a Mac soon, and my PowerBook is nice but not fit for long hours of coding.
On related news, GMSV reports about the latest Apple earning reports:
SiliconValley.com | 04/14/2005 | Latest Apple earnings require liquid cooling: “More astonishing were Apple’s overall computer sales; the company sold 1 million Macs — a four-year high and 43 percent increase over the same period last year. Forty percent of those were sold to customers who had never owned a Mac before.”
Way to go, Steve!
Direct Manipulation Using JavaScript and CSS: “Direct manipulation, particularly drag and drop, is under utilized in desktop applications and is almost non-existant in web applications. The following examples demonstrate that direct manipulation is possible in modern browsers.”
More DHTML (is this term still used in the age of Ajax?) fun on del.icio.us.
If, after all this talking about what is and what is not a continuation, you’re feeling slightly confused, go over to Sam Ruby’s site ad read Continuations for Curmudgeons, where Sam, in his inimitable style, provides a very nice explanation.
And in case you’re wondering, yes, I’m a curmudgeon and I was perfectly able to predict what Sam’s C-language example would have printed, without running it ;).
Some people are lamenting that the upcoming OS X 10.4 (a.k.a. Tiger) release won’t include Java5 (a.k.a. Tiger).
Bruce Werner: “Apple is on an upswing with code monkeys like me, with Powerbooks turning in to the developer tool of choice for Java development, both J2EE and j2SE. So why is Apple falling flat on the Java front? Waiting till OS X 10.4 released is barely permissable, but not including Java 5.0 in even this OS release but perhaps releasing a Technology Preview is inexcusable. This has been a part of some heated debate in the Java community, and rightfully so. Either just put it in /usr/local/ and seed it out to Sun and backport the CoreAudio.jar as Technology Previews, or step up to the plate, SWT looks better in Max OSX anyway, and that had no Sun or Apple involvement.”
Others are saying that it will. I’m confused. I know that people who have put their hands on a nearly-final release of Tiger are probably under an NDA, but maybe someone could leave here an anonymous comment.
Simple Thoughts: “I got tired of the fat, resource-hogging DashBoard shipped with WordPress 1.5. It gets feed from God-knows-how-many WordPress blogs for no good reason and without my (or your) consent.”
I just installed the fix and it works. Highly recommended!
Micah: “Why in 2005 doesn’t my RSS reader (NNW) have these features? A ‘back’ button, for when I click ‘Next Unread’ too fast. A search function. Atom support.”
I’ve been using beta versions of NetNewsWire 2 for a while and they do have Atom support. I share the other two wishes, though.
Looks like we finally have a release date for OS X Tiger.
Apple to Ship Mac OS X Tiger Software on April 29: “NEW YORK (Reuters) - Apple Computer Inc. AAPL.O said on Tuesday that the latest major update of its Mac OS X operating system, code-named Tiger, will be available on April 29.”
Seventeen days and counting …
Geert Bevin has a nice write-up here of Spring Web Flow’s “out-of-the-box continuations support”:
Spring Web Flow however only provides continuations in the flow declaration (can be both in XML and in Java), thus lacking what in my opinion is the single most interesting feature of continuations.
Having used Cocoon’s continuation-based Flowscript, I tend to agree with him. The real difference between Cocoon and RIFE, on one side, and Spring Web Flow on the other, is the fact that continuations are a native feature of the flow language and you can create a continuation everywhere in the code.
Rewriting Geert’s example with Cocoon, you’d get:
while (guess != answer)
{
// print the guess form and wait for a response
cocoon.sendPageAndWait(template);
// obtain the guess
guess = cocoon.request["guess"];
....
}
Not that different from the RIFE version, really. Spring’s version would look more like this.
Now, if someone would take Cocoon’s Flowscript (or Javaflow, if you don’t like Javascript) and adapt it to Spring’s Web framework, that would be interesting.
I’m not a golfer or a golf fan, but for the benefit of my golfer smaller brother and my golfer friend Gianugo, I’m linking to the video of Tiger Wood’s ace shot at the Augusta National this Sunday (from Jaffe Juice).
It downloading from there is too slow, Dave Winer has kindly provided a copy here.
Add this to the video of Ronaldinho’s goal in Chelsea-Barcelona and I am thinking about dedicating a category of this site to videos of the best sporting feats. By the way, yesterday Ronaldinho scored another extraordinary shot against Real Madrid, but once again Barcelona lost 4-2. Must be a spell ;).
Micah: “The Apache Cocoon project, where I was honored to work recently, is a central hub of state-of-the-art XML templating engines.”
Here’s a really interesting web application made by combining Google Maps and Craiglslist.
You can browse Craigslist’s listings for houses, either for rent or for sale, and pinpoint their location on a map. Or you can browse to one of the available cities using Google Maps’s interface and see the listings for the area.
As Scoble writes: “his is a cautionary tale for Microsoft: them who has the best API’s will get used in the most interesting new ways.”
It’s a pity that now that Craigslist is available also in Italy (Rome only), Google Maps isn’t.
Darren Hobbs: Third party code considered harmful: “A useful approach is to wrap all access to 3rd party code yourself, thus giving you a single point of contact between your system’s code and the external library. This wrapper is also a useful place to put any extension functionality that your system needs.”
Sorry, but I don’t buy this. For one thing, you have so much, good quality, open source components out there that most systems are probably comprised of 20% custom code vs. 80% 3rd party code. Assuming that the components you’ve chosen to adopt have reasonable API’s (otherwise you’d better not use them in the first place), what does it buy you wrapping it all in another set of abstractions, whose APIs you have to design and implement yourself?
Darren mentions Log4J as something that should be wrapped. Apart from the fact that there are already wrappers for logging libraries available, like UGLI, Log4J’s API is as simple as you can get. If you decide to wrap it, you’ll have to do a one-to-one implementation, which basically will just add overhead to your applications’ logging activity.
I say: If the APIs of the 3rd party code are at the right level of abstraction, use them right away and don’t bother encapsulating them. Only if they are too low-level, wrap them in a simplified, higher-level interface.
Just found two interesting pieces of news on our origins. Here’s to those creationists who are still babbling about the so-called missing link and how it supposedly reveals a hole in the theory of evolution. Not that I would expect any of them to be so smart as to change their minds when confronted with evidence. They have faith and wouldn’t care about evidence even if it hit them right on the head.
Pharyngula::Old Man of Georgia: “A fabulously interesting hominin skull has been found at the Dmanisi site in Georgia. It’s old in two different and significant ways: the individual lived 1.77 million years ago, and he was ancient at death, almost completely toothless. He’d also been toothless for several years before death, judging by the complete resorption of the tooth sockets.”
Science News Article | Reuters.com: “New evidence shows a 7 million year-old skull unearthed in Chad is the earliest member of the human family, scientists said Wednesday.
Controversy has surrounded the skull, dubbed ‘Toumai,’ since its discovery was first reported in 2002 by a team led by Michel Brunet of the University of Poitiers in France.
It was hailed as arguably the most important fossil discovery in living memory because it was thought to be an ancient ancestor of modern humans, although some scientists argued it was a fossil of a female ape.
But newly found remains of tooth and jaw fragments and a computer reconstruction of the skull, reported in the science journal Nature, suggest Toumai was more human than ape.”
Why should we waste time and money on stupid planning software or, god forbid, MS Project?
However, at the begining of the year, I bought a moleskine desk calendar. How could I not? It’s “the legendary notebook of Van Gogh, Chatwin, Hemingway, Matisse and Céline.” Who knows, maybe some of thier brilliance will rub off on me ;). I love it. I love it so much better then the palm. There’s lots of room on the page to make a to-do list for the day, or to scratch notes about what a horrible (or good) day I’ve had. I’m not a doodler, but it’s perfect for scratching out drawings. I regret getting the larger sized one. I wish I had gotten the tiny pocket sized notebook. But oh well. There’s always next year.
(Via moleskinerie.)