Johnny's Software Saloon

Weblog where I discuss things that really interest me. Things like Java software development, Ruby, Ruby on Rails, Macintosh software, Cocoa, Eclipse IDE, OOP, content management, XML technologies, CSS and XSLT document styling, artificial intelligence, standard document formats, and cool non-computing technologies.

My Photo
Name:
Location: Germantown, Maryland, United States

I like writing software, listening to music (mostly country and rock but a little of everything), walking around outside, reading (when I have the time), relaxing in front of my TV watching my TiVo, playing with my cat, and riding around in my hybrid gas/electric car.

Wednesday, May 31, 2006

Speaking of computer games, Inform looks like a really serious way to create stories to play in

I just stumbled across a new programming environment called Inform that has grown up in the wake of the once incredibly popular Zork adventure games.

Zork was inspired by the original Crowther and Woods text-based role-playing adventure game called, appropriately enough, Adventure.

Unlike Adventure, which had a pretty limited parser (VERB-NOUN was about as smart as it got), Zork had a really smart natural language parser.

I think the original Adventure game was written in FORTRAN.

Zork was written in an object-oriented dialect of LISP called MDL. It ran on minicomputers, which were much more powerful than the desktop computers of that time. Not our time, however.

If you want a quick introduction to an enthusiasts impressions of the latest version, Inform 7, go read what 0xDECAFEBAD has to say about it in Inform 7 is insanely wonderful and full of words.

WoW must be just a game to some people, but it is serious programming to its makers

I was stunned tonight when, while looking up something in Google, I came across something totally unexpected: an API for World of Warcraft.

This thing is not just big, it is huge. There are hundreds of functions in the WoW API! It almost resembles the size of the early Mac and MS-Windows APIs, way back when.

A scripting language called Lua is used to configuring the WoW GUI. I glanced at the language. It looks pretty powerful. It supports callbacks, so that opens the door to lots of serious, non-trivial programming.

I knew there was a huge World of Warcraft community. I have seen the game played before, over at a coffee shop. It is a neat-looking game. At the prices they charge for the game, and the monthly subscription fees they charge to access its MMORPG server - considering how popular it seems to be - Blizzard must be pulling in some major cash.

But.... it's just a game. Then I thought about it. Well, so are professional sports, when you get right down to it. People take that pretty seriously too. And it's a multibillion dollar industry.

So I guess having a huge, pretty serious API for a gigantic computer game should not be all that surprising. Not sure I would ever use either one. But it does have an impressive heft to it, I must say.

Sunday, May 28, 2006

Euroamerican tech surprise: the minority that created the most modern technology

I have heard that Europe and, of course, the US - were just not that big compared to some countries of the world. Nor, for that matter, all that populous.

Today, I read about the following site at Digg.com, and decided to check it out. I was curious how various countries and continents ranked in terms of human population size.

The Hive Group - World Population Treemap

The population of the entire USA is less than 1/3 of that of India. The USA has less than 3 times the entire population of Mexico.

Not sure where they count the tens of millions of illegal immigrants as being. I would guess here. However, if enough them are migrant, the answer you get would vary wildly by time of year. I am glad I do not have to count - especially if the counting has to be done each season!

Indonesia, the place where the quakes and volcanos and tsunamis have been hitting in recent history, has 238 million people to the USA population of 293 million. Fewer, but pretty close.

Africa has more people living in it than Europe does. However, Africa has fewer people living in it than the whole population of North America and Europe combined.

The total area of Africa is about 30 million square kilometers. Add total area of North America and Europe, and you get about the same figure.

Geography always was my weakest subject but I am surprised. I had heard some of these population and landmass size figures before. Others I was completely in the dark on.

The website seems like a pretty neat visualization tool. I have seen these maps used for news reports but this is the first time I have seen it used for population and land area size. It seems like a faster way to learn things and compare things than more static tools. Glancing at figures on a piece of paper, for example - is not the same thing. Same numbers - but not really quite the same learning tool.

So, how about modern Technology? What is the History of science and technology?

Wikipedia has a page that tracks overall History of technology. Here are some highlights:

  1. Innoculation - Europe
  2. Telegraph - USA
  3. Electricity harnessed to light cities - USA
  4. Radio - Europe
  5. Telephone - USA
  6. Television - USA
  7. X-ray machine - hard to tell but I think Europe (following lots of research in USA and Europe)
  8. Atomic fission for energy/military - USA
  9. Atomic fusion for military - USA (nobody has successfully sustained fusion for energy, yet)
  10. Electronic computers - USA or Europe
  11. Transistor - USA
  12. Integrated Circuits - USA
  13. Microprocessor - USA
  14. Smartcard - Europe

It seems pretty disproportionate in terms of the points of origin where the technology was created. There probably is a reason for that. Simpler than the economic, social, educational, and political ones - though they are key to technology. No one could think otherwise, I imagine.

More than almost anything else, technology needs technology in order to be created. Twentieth century technology is pretty well diffused around the globe now, in the 21st century.

It will be interesting if 21st century technology that becomes commonplace will spring forth from the other continents on the globe. Certainly much earlier technology, craft, science, and medicine did.

If it does, the pace of innovation will probably pick up to such a degree to make earlier decades seem like a lull!

All those other things light the spark. But the tinder is technology itself. It takes some to make more.

We all have a lot of that now.

Friday, May 26, 2006

I learned Pascal when I was in my teens, C and C++ in twenties, Javascript 2 going back to Pascal more these days

There are some interesting developments on the computer languages front.

Javascript, which was pretty non-statically typed - and almost impossible to check for type-mismatch errors prior to runtime - might be in for a change.

A presentation on planned or at least seriously-considered proposed changes to the Javascript language came out this year. Javascript 2 could be out, with these features implemented, as early as next year (2007).

When I was a kid in high school, I taught myself Pascal. The structured programming things in it seemed very neat, and I was really impressed with the power of the language.

People told me the strict compile-time type-checking was a problem with the language, but I never felt that was the case. I used it a good bit in college and I used it briefly on a couple jobs I did.

When I learned C in my mid-twenties, I appreciated the terseness of the language. I badly missed the compile-time checking of function parameters and such. Pre-ANSI took the attitude that you always knew what you were doing, and never made mistakes. I pathological programming philosphy, if there ever was one.

I managed okay with old-style C, thanks to the now-defunct programming tool called lint.

When I got a chance to use ANSI C compilers, I was much happier. They added the ability to tell the compiler what the data type was for each formal parameter in the parameter list of a C function declaration or definition. When argument values were passed in a call to said function, they would all be checked to see that the values passed were apropros to the types expected.

Suddenly, the compiler could do a lot of checking at the same time it did compiles. No need for running lint. More errors got caught before the program was ever run the first time. Life was good.

Skip back in time a little. My first full-time job as a programmer was back after I knew Pascal really well, but before I new more than a tiny bit about C.

On that job, we used an interpreted language that was a dialect of M. M was called MUMPS way back then.

MUMPS had 2 datatypes: integers and strings. That was it. MUMPS was very loosely typed. No checking was done prior to runtime. There was no compiler, it was interpreted.

The thing about the programs in this MUMPS language was that it was easy for one programmer to write a pretty powerful database-oriented application program, a whole suite of programs in fact, very quickly.

The problem was, when the application got really big, a little old, and maintained by programmers other than its original authors - it quickly became a nightmare.

Which is why I switched companies and languages and avoided scripting languages for anything really big after that.

Fast-forward to present.

Now, it appears Javascript 2 may sport type declarations that are clearly lacking in Javascript 1.x. Just as ANSI C bestowed that capability on the somewhat benighted pre-ANSI C language, Javascript 2 might put its predecessor to shame as well.

I look at this as a really positive step for the Javascript language. I know this particular improvement helped C quite a lot. It became practical to write programs that were a little bigger and get them done a little faster. It really did not slow us down. The net improvement in development speed that type-checking added was pretty big.

Not only did you not make these mistakes anymore, at least without catching them - when you debugged, you knew they were not there. It sped the debugging process up, by eliminating a big part of the guess work. Suddenly a whole bunch of what-did-I-do-wrong errors were just taken off the table. Awesome!

The syntax chosen for this feature in Javascript is the Pascal syntax for type declarations. This seems apropriate for a couple reasons.

1) Javascript already uses the VAR keyword borrowed from Pascal

2) UML uses the very same syntax for declaring variables with a data type.

3) It should be easy to parse in declarations, and allow for decent backwards compatilibility.

Python, which is turning out to be a big influence for several features that will be added ino Javascript 2, waged some struggles with data type checking as well, recently.

It is kind of funny how things go.

Almost seems like a predictable pattern, does it not?

Wednesday, May 24, 2006

started trying out Flock tonight

I decided tonight to give Flock (the social web browser) a try.

Glad I did. I had this idea that installing Flock would somehow interfere with my Firefox settings, since they shared a common code base. I need not have worried. They store their settings in different folders on the Mac, so there is no problem there.

The blogging client that comes with it, is what I am using write now to enter this post.

The blogging module seems pretty nice. It has:

  • WYSIWYG rich text word processing (font-styling, etc.)
  • supports bullet an numbered lists

I had been toying with the idea of writing a Swing-based Java client appilcation as GUI front end to all my blogs or buying Ecto. I kind fo was favoring the first solution but I am already spending my spare programming time doing someting else. Looks like now I can keep doing what I was doing. Flock seems good enough for my purposes.

I am really looking forward to Flock getting finished.

Here is the reason: I could see my mom getting a kick out of this, once it is done.


I am cautious making any software recommendations to my mom, so I shy off from recommending programs that are still in beta to her. In fact, I usually try the final release for a while before I am confident enough to push it across the table to her. I figure if I recommend something to her that adles the wits of her computer, she is not going to listen to me the next time I recommend she does - or does not - run something. Depending on how serious it is, that could be bad.

I think I will recommend this to some of my friends. Some are already using it, of course. The ones that are not might find it kind of useful. They might not want to bother to wait for the 1.0 release either.

Tuesday, May 23, 2006

RadRails website is down

I tried to get to the Rad Rails site (www.radrails.org and plugins.radrails.org) today and cannot. It is broken.

www.radrails.org: Change this error message for exceptions thrown outside of an action (like in Dispatcher setups or broken Ruby code) in public/500.html

Monday, May 22, 2006

Java EE 5 Downloads Available from Sun

Sun Developer Network says: Do more with less work..

That is a pretty cool slogan to describe Java EE 5 SDK, which is at last available.

What is not so cool is that there is no version for the Macintosh available for download yet.

This is becoming somewhat of a disappointing pattern. The days graciously waiting six months or more to be able to run a newly introduced version of the Java SDK (also known as JKD) are gone now. It is getting too hard to tolerate.

Macs have all the technological underpinnings an enterprise Java needs. It would be nice if it was not treated like an EE second class citizen.

I am sure that JBoss and other open source, freeware EJB server vendors will quickly fill this gap. However, for once it would be nice if the reference implementation from Sun would - right off the bat.

Looks like most of the new packages and classes support:
  1. XML
  2. HTML
  3. SOAP
  4. JSF


In addition, the new persistence API has made its debut.

Looks more like JDO than the old EJB standard did. I like the fact it uses generics in certain method signatures.

In other words, this release is positioned to really nail down web user interfaces and services - and introduce smarter object persistence - for Java enterprise applications. Not a bad haul for a new version of the venerable enterprise Java suite.

In the meantime, anyone can look over the Java EE 5 SDK Docs and Resources.

Technorati tags: ,

Saturday, May 20, 2006

ComputerPartner - JavaScript evolution to follow Python, creator says

Some fascinating things are mentioned in the following article about Javascript.

ComputerPartner:
For the future, JavaScript will follow Python. "We're going to learn from Python. JavaScript is pretty close to Python," Eich said. Python 2.5 is being tracked, he said.


The main points of interest for me were:
  • Firefox 2 is due out this year
  • Firefox 2 will include Javascript 1.7 (I had not even realized there was a Javascript 1.7 spec)
  • Firefox 3 will be out in 2007
  • Javascript language will start being majorly influenced by Python, especially Python 2.5


I would love to see Javascript borrowing some things from Python. I have been using Python as my favorite object-oriented scripting language from 1997-2006. From 2006 on, I think I favor Ruby but I still have a lot of affection for Python. I do not see myself as any kind of Python apostate.

The news about an improved Firefox (2.0) with an improved Javascript (1.7) being just months away really pleased me.

The capability of Firefox 1.5 to support visualization, modeling, business intelligence, reporting, graphical navigation, data exploration, direct-object manipulation, richer MVC interactions, better blocking of functionality, and a whole new breed of software documentation is here.

From what I have read elsewhere, version 2 of Firefox is going to be pretty nice. The Places feature sounded interesting. A couple other things caught my eye.

For example, the built-in screen scraping feature is a mixed blessing, I think. I regard it with a combination of joy and dread. Joy over what it will let me do, fear over what other people will wind up forcing me to do - not with it but because of it. Time to go back and read that Dale Carnegie book again!

Technorati tags: , ,

Thursday, May 18, 2006

Google Notebook

The new, free Google Notebook website that just went live this week is a god-send.

I have been using it since around lunchtime today to begin doing a better job, and have an easier job, of keeping track of a lot of the standardized languages and file formats that I use.

It seems quite good.

The idea of glancing at the current selection on a web page, and its URL, and saving the information somewhere is not that radically clever or brilliant.

What is, is that it works very nicely.

Not only does it work with aging browsers from the start of this decade, but it also works with Firefox 1.5, which just came out a matter of months ago.

Google once again has demonstrated that their programmers are really up on things and not still ilving in the 1990s.

The company has been around since then, but they seem to approach every new project with a fresh, really up-to-date perspective.

In just part of a day, Notebook has become a key tool in my on-going efforts to keep track of information I need to be able to go back and refer to.

The only thing I wish it had, that I do not see yet, is tagging my notes with keywords, and rating my notes based on imortance/significance or whatever.

My thought is that a lot of people will start using this really fast. It will probably wind up getting recognized as Google's most quickly adopted service to date.

Wednesday, May 17, 2006

Joe Friend: Microsoft Office Word : Blogging from Word 2007

Microsoft might be intending to include some blogging support in Microsoft Office 2007 as one of its features.

That sounds like a nice idea. I see they do not support quite as many of the blogging services as the current blogging client I use does.

However, the Microsoft prototypes a WYSIWYG interface. The application I use does not. And though I have been writing directly in HTML for well over a decade - that does not mean I prefer it! Writing/editing markup by hand is something you do not mind doing once or twice a month. However, you do not want to be doing it several times a week, no matter how technical you are. It is kind of a PITA.

So, I for one am glad Microsoft is stepping forward to make blogging easier.

What I wish was out there was a standards-compliant blogging tool that featured WYSIWYG, really good cutting-edge XHTML/CSS/SVG features, maybe with a little Javascript/Canvas interactive glitz thrown in too. Nobody has hit the sweet spot yet with functional/efficient/useful/pretty blog bling (fancy sidebar and bottom panel stuff that glitters/shines) yet.

But, hey. Baby steps. Baby steps. People have to learn to tie their shoes, let alone learn there are shoes, before they can run. There was a tribe that just came out of the jungles of South America last month that was on the news last week. They were unfortunately driven out by warring guerrilla factions, wouldn't you know it. But the thing that is neat about it - was how much they loved shoes. In the jungle, your feet hurt a lot they said.

Next year, more people on the web will be discovering shoes. Or at least blogging.

Joe Friend: Microsoft Office Word : Blogging from Word 2007:
We've been working late into the nights and very late into our development schedule for Word 2007 and we have a special goody for all you bloggers in Beta 2 of Office 2007. That's right blog post authoring from Word. This is a very late breaking feature and is definitely beta software. That said, I hope that everyone is pleasantly surprised with where we are going with this feature.
Technorati tags: , ,

Tuesday, May 16, 2006

Sun promises to open source Java - vnunet.com

Well, I have mixed feelings about Java going open source.

On the one hand, this would allow programmers who cared to bother, to inspect the Java source code.

At the very least, they could see how it worked. Specifically, they could see if it worked the way they thought it did - and maybe better understand how they should/could write Java programs properly.

As far as the latter reason goes, I do not think there is much need to do that. The Java documentation is excellent. The last time I had a huge bone to pick with it was around the year 2000. The technique for interacting with processes spawned from Java programs was powerful - but burdensome and unintuitive.

Better documentation would have avoided a lot of major problems in using it. Reading the C/C++ source code for the kernel of the JVM would have been a viable alternative. But hardly the one I would prefer.

Today, the documentation Sun provides at no cost to Java programmers is excellent.


Being able to fix bugs in Java, in theory, would be a fine thing. Given the complexity of the JVM, not to mention modern servers, only the most confident/competent or brave/stupid, software maintenance engineers are going to make a change in the JVM that they will rush into use in their production systems.

On the other hand, those with not just excellent but pretty good programming skills - and an average degree of self confidence could contribute some useful bug-fixes or performance enhancements to Sun to use in the baseline. Such modest changes by such helpful programmers could benefit hundreds of millions of Java users/programmers worldwide.

The sticking point is that some companies feel that whenever any of their employees help any person in any way, the company should be paid for it.

Others, will be indifferent to getting paid - figuring they are getting as much as they give out of this. They will be concerned with the risk (cost/probability) of being held accountable for a mistake if one is made, or someone merely believes one has been made.

If the programmer making the change normally works in an office, does all work on making the change at home, and does it all outside-of/in-addition-to his normal work hours for the day and week - it seems like the company is distanced from the equation in this case. But I am not a lawyer, and I have not seen all that many employment agreements - just mine, basically.

So, I guess while I am saying it might be great to have this power - people might be restrained from using it - by their own or others caution.

Now, one thing that probably will not occur to most people right off the bat - is debugging. The ability to have the source code while running a Java program, could help programmers trying to find/fix faults that live in the JVM.

They could single-step through the code, set breakpoints, get better stack traces when runtime faults occur and/or exceptions are thrown. It could be the cats pajamas for those of us who get tasked with solving problems that no one else can or will touch.

And if they have the ability to alter that source code, even just their own copy of it, that could be a godsend. They could instrument the code with whatever they want then - logging, assertions, you name it.

This seems like a rather innocuous special case of usage that I hope does get looked at by Sun and the Java community as worth taking care of nicely. In fact, I would make it a priority. I would make certain that this sort of use gets allowed sooner than other uses, and that the needs of programmers/testers doing it get primary consideration.

Later, based on what is learned, the restrictions can be further relaxed to allow distribution outside an organization, back to Sun, whatever. That redistribution thing seems to be where the thorniest problems stem from.

Once anyone looks at the software, there will be some intellectual property issues. Just as a copy of something existing in the computer opens some cans of worms, a copy of some of the information in the brain of someone also does. I am sure Sun is familiar and skillful at dealing with them, so it should not present a big problem for their lawyers to write the appropriately worded documents.

However, Sun will have to present that to the user community. No matter what they do, some will try to spin it as bad - or drive it into a bad place, claiming that is a good place. They will have to work out their plans thoroughly, before presenting the finalized rules for protecting intellectual property.

Java is probably going to continue to be popular for another decade - and conceivably much longer. Sun's formula for object-orientation, platform neutrality, and all those other good things - is as popular as the formula for a certain soft drink. It could be just as timeless too. Well, maybe not quite that timeless, but still pretty long-lived.

One of the biggest dangers of open sourcing however, is that some party grabs the goods and runs off with them. They already had one licensee make some unscrupulous changes that fall into this category. The changes were barred by the contract and/or license agreement, but they were made anyway. And the non-compliant software was then widely distributed by the broadest means possible.

Okay, I am guessing Sun does not have an interest in that happening again - and I know I do not.

The things we like about the Java stuff is that it can run on virtually all the popular platforms - almost certainly that includes whatever platform is being used to read this now. So that should be preserved.

It is wonderful to talk about standardization. But one has to realize before all that talk even begins, Sun has already delivered standardization.

Not only should they be lauded for that - but it should be recognized as fact. A rare fact, is what it is.

You have such standardization and interoperability - not to mention portability - with light bulbs. You do not have it with: word processor files, spreadsheet files, CPU instruction sets, GUIs, OS APIs, etc. Yet you do have it with Java.

A lot of companies made a lot of public statements, widely quoted when calling for Java to be open sourced back in the late 1990s. These quotes should be dragged out and repeated - to set the tenor of discussions. They themselves said Java was important. So, they themselves have to respect that the things that make it important be protected. This time.

Another reason I feel ambivalent about this is that I wrote an email to Sun arguing very strongly against following the de jure standards course when the subject of standardization came up in the 1990s.

I felt that it was a red herring by competitive forces, who would abuse the standards process. And instead of creating something with all the good qualities I mentioned earlier, they would warp that process to destroy those qualities of Java. Certainly the extrinsic ones, and probably the intrinsic ones as well.

I was told by someone at Sun that the email circulated quite widely within the organization very quickly.

I had been around the standards circle in an industry before, and I had seen how things that were supposed to bubble up from the process failed to. And also how good things that were bubbling up, and really needed, were suppressed to suit a powerful sponsor. I Be Mentioning no names - they know who they are.

Anyway, Sun resisted the urge to throw Java on the desk of one of these standards organization and did something better. They improved the qualities it had, sharpening them to a diamond edge. Then, they formed a community process and a set of rules for it to operate under.

So now the question of open source.

I thank God, Lady Luck, and the Tooth Fairy that Sun did not rush out and follow a standardization process that promised to take away more from Java (and Java users/programmers!) than it gave.

I hope that as Sun looks down the path of going open source, that they again set forth conservatively with wisdom and not impatience setting them in motion. Personally, I like the idea of Java being open source enough for programmers to be able to debug Java programs right down to their roots, and testers able to search Java programs for the presence of bugs - or their causes - right down to the gossamer core of the Java Virtual Machine.

Java has done a lot for the computer industry for the last dozen years. Were it not for Java, many would still be arguing certain things it does were impossible. In fact, with no small amount of humor or irony, I note that there are still a few in the world who still argue what Java already does is impossible.

It is because of them, that I urge the utmost caution and careful planning in letting Java out of its secure slip, and sliding away from the safety of its dock - and then open waters beyond: the waters of Open Source.

Tom Sanders at JavaOne:
It's not a question of whether we'll open source Java, now the question is
how,
Schwartz told delegates in his opening keynote at the tradeshow.
Technorati tags: ,

SourceForge : Welcome

People who use or program systems which use Motorola processors this week, just got a pleasant surprise.

Motorola Open Source has come online and is hosting 13 open source projects (6 of which are listed as very popular). No doubt they will be providing more in the future.

if the moment, metrics on the site say there are only 240 registered users. That too will probably change, as more people begin to hear about the site - and more software projects get added.

Technorati tags: ,

Researcher: Macs not as expensive as thought | CNET News.com

Macintosh computers are no longer expensive.

CNET News.com:
Piper Jaffray analyst Gene Munster said that his research shows an average price difference of only 13 percent for desktops and 10 percent for laptops, once you factor in the same components that Apple uses.


It turns out the Mac computers, once widely regarded as more expensive than other types of desktop computers, now cost about the same price as the others.

When one compares the amount of high-powered, desirable software that comes with a new Macintosh - versus the software utility subscriptions and expensive application that must be purchased with some other computers, the Mac may even come out significantly cheaper.

The real difference is what takes place when the person takes their computer home (or to the office) and starts using it. Are they going to get more done faster, achieve a more satisfactory result, be able to concentrate more on what they are getting done and less on how they are going to be able to do it, and will they find the experience more enjoyable and less stressful?

More articles should focus on the bundled applications that are provided and the after market services/products that are required by different computer systems. Also, compatibility, interoperability, and the power of applications that are germane to users needs to be gone over.

On all computers these days, a menu is a menu, a dialog box is a dialog box, a button is a button, and a mouse is a mouse. What changes is what you can do with those things.

In a well-written application, it is easy to see how to get what you want done. On a poorly-written one, you have to think about what might work, try it, and hope that it does. Sometimes you have to guess.

Apple has probably been employing usability researchers and user-interface designers for a lot longer than any other computer maker in the home/office computer industry.

Apple and Microsoft applications tend to have a consistent look-and-feel across their platform. On Linux and Unix systems that are not made by Apple, these differences are more pronounced - and they used to be even more striking.

As time goes on, the barriers of switching from one brand of computer to another are no different than switching from one brand of auto or another.

Unlike a car, however - there is no speed limit and you can add a nearly infinite number of accessories - without running out of space.

Also, unlike cars - quite a few of the best of these accessories (at least the software ones) are free. Those that are not free, for the most part, are becoming cheaper instead of more expensive.

Technorati tags: , ,

ISO approval 'unlikely for Microsoft Open XML' | CNET News.com

Experts are predicting that waying the ISO is not quite the easy matter of influencing journalists, lobbyists, and ECMA.

Microsoft submitted the file format they use in their proprietary products as an open standard. The world standards body will evaluate its suitability as a standard.

The UE is currently levying sanctions against Microsoft for not adequately documenting their computer-to-computer standards.

The ISO has also been weighing Open Document Format (ODF) as a standard office document.

While all Microsoft's Office applications are closed source and not open for study and correction, Open Office applications can be corrected and debugged by users. These capabilities allow them to make sure that the software works the way they think it does, and if not - change it to work the way they want it to. That is the meaning of open source.

By contrast open systems are those that follow standardized, non-proprietary specifications for interoperating. Open standards do not give any one company control of the standards - which is the point of having open standards in the first place.

Otherwise, people would just buy all products from that one company, and they would have no incentive to innovate, provide customer service, or fix long-standing flaws.

CNET News.com:
There is a 70 percent probability that the standards organization will not approve multiple XML document formats, according to a research note published by Gartner last week. It also predicted, with the same probability, that "by 2010, ODF (OpenDocument Format) document exchange will be required by 50 percent of government and 20 percent of commercial organizations."


It will be interesting to here what the functional differences are between the two standards.

It will also be interesting to see if the change to XML has opened the door to possible improvements in document format conversion filters. It is unlikely that they will, as the same problems that exist now have existed for over a decade and a half.

However, perhaps new approaches or at least new goals in conversion, generation, and repurposing of document content will arise from such examination.


Technorati tags: ,

Monday, May 15, 2006

Firefox global market share steady

Firefox global market share steady:



Xiti Monitor (a french web analysis firm) has released it latest report (fr) (English version provided by Google Translate) on web browser utilization around the globe. Rises in South America, Asia and Africa are balanced with slight decreases in North America and Europe, while Oceania remains the same.



(Via mozilla links.)



It looks like 15 percent of the users in the US have switched to Firefox from whatever browser they were using before. In Europe, according to the study, a handful of countries have 25 to 30 percent of their web users using Firefox.

Pretty good news! This validates a lot of the work that went into defining the W3 standards, and then most vendors going ahead and adopting them.

There is still a lot of work to be done on the software side of things but at least there is a target. And, it looks like closing in on that target pays off!


Technorati Tags:


Wednesday, May 10, 2006

Want me phone number? Here is how to get it.

I get an average of one wrong-phone-number call every day at my home.

About half the time, they just hang up after I pick up and say who I am and ask if I can help them.

Some of the time, elderly people who speak heavily accented broken english that I can barely understand answer. It is harder to convince them they have called the wrong person. The dissimilarity between the name John and the drastically different name they ask for does not sink in very quickly.

The bulk of the wrong-number calls I receive that are not the hang-up-and-answer type are asking for females.

Which is how I figure you can so easily get my number. The next time you meet a strange girl/woman for the first time, and ask for her number - you know you are not going to get her number. She is giving you my number. Take a clue!

Do us both a favor. Just follow her home. Better yet, be amazingly intelligent. Give her your phone number.

Why?

Because of the two groups, guys are a lot less likely to lie and give out a phony number. If they don't feel like giving it out, they will just say no. As in in no - not as in short for number, and here it is.

This is one courtship ritual that is totally backwards.

Girls should get guys phone numbers. They can call them the first time. There will be a lot less wrong numbers given out and a lot fewer ticked off neighbors.

After the first call, then it can be on the guy to make all the phone calls. Smart solution, huh?

Now, if it is not the case that women are lying about their phone numbers a lot, then all these calls are kind of spooky. That means I am living in a part of my state where there are a lot of people who extremely frequently cannot accurately dial a 7-digit phone number. Something I have had no problem doing since I was about 7 years old. I dial a wrong number every now and then. But it is extremely infrequent.

Back to the people who are misdialing. This could also explain why there are so many traffic accidents. If people cannot dial a phone accurately when they are at home or at work, then how the heck are they going to do it while they are driving???

Anyway, if you run across your house ten times a week to answer bogus calls that are not for you - you start to get a little irritated.

So girls. Stop giving guys you just met your number. Stop giving him my number. Just get his number if you want to talk to him.

Guys, be polite and give girls your number if you want to talk to them on the phone in the future. They want to call, they'll call.

Don't call me - let them call you!

Tuesday, May 09, 2006

OmniOutliner 3.6 for Mac OS X has arrived

At last, OmniGroup has released OmniOutliner version 3.6. This is the version you need to run in order to use Kinkless GTD.

read more | digg story

AOL has joined the blogging fracas with its own free AIM blogging service

AOL now offers the ability to create blogs to its AIM users.

Here is the URL:

http://aimpages.aol.com/aimblogs

I just tried it out. It worked very nicely on a Macintosh using the Camino web browser.

OSGi support coming to Spring 2.1 framework

OSGi is the technology that allows Eclipse 3.x to dynamically load/unload plugins as needed. Now it looks like the famous Spring framework is getting that too. OSGi is a dynamic services technology based on loosely coupled bundles of Java code. It was invented by Sun

read more | digg story

FOX Shows Added to iTunes Music Store

Despite reports stating it wasn't going to happen any time soon, FOX has put up several of their shows on iTunes Music Store. You can now purchase episodes for $1.99 of 24, Prison Break, Unan1mous, Stacked, and several classics (Buffy the Vampire Slayer, Firefly, and Lost in Space). (link opens in iTunes).

read more | digg story

Friday, May 05, 2006

Bill Gates wishes he wasn't richest in world

I was pretty surprised to see the article published yesterday in CNN Monday magazine web site today.

Here is his quote, followed by some ideas for what Bill Gates can do to assuage his aching conscience with some auspicious do-gooding.

Bill Gates wishes he wasn't richest in world - May. 4, 2006:

I wish I wasn't. There is nothing good that comes out of that, said Gates, whose personal fortune sank by billions since last week when the software giant disappointed investors by saying new investments would crimp earnings.




Here is my list of things Bill Gates could do, along with continuing his international medical charity work, if he were earnest in that regard.




  1. Extend Windows XP Home support for two years past the ship date of Vista, instead of dropping it any month now.

  2. Stop promising consumers safer computing, and then focusing on DRM instead

  3. Stop charging consumers high fees for handling tech support calls, and then transferring their call to India instead.

  4. Stop charging American consumers any more than Asian customers for the same product.

  5. Eliminate OEM versions of MS-Windows that only work with the PC it was bought with, since the hardware will be obsolete in a few years anyway but the OS is current for almost 6 years and counting.

  6. Stop lobbying Congress in the US.

  7. Sever family and corporate ties with disgraced lobbiest Abramov, who was an employee of the law firm of Business Software Alliance, Microsoft's lobbying organization.

  8. Get Windows running on alternative processors like PowerPC (after all, Apple supports more than one type of CPU) so that consumers get some diversity in their PC products.

  9. Fund more scholarships for American CS and IT students instead of off-shoring their future profession to distant countries.

  10. Test software before shipping it, to get the serious, dangerous bugs out.

  11. Give value from software sales back to the consumers who paid for it, instead of the stock traders who did not.

  12. Actually support the W3 standards in Microsoft products, instead of being proprietary and incompatible.





Bill Gates does some good things, as did many people from both sides of the street in American folklore.


By doing more of those, and less of the other type - he would be less rich, and better appreciated. If what he is saying is true, that is what he wants to do.



Sure, they would cost a little more. But now it sounds like money is no object.

Technorati tags:

Macworld UK - Creative feels the pain as Apple music plays on

Apple-competitor Creative Labs, which once made sound cards and now makes MP3 players that try to compete with the hugely successful Apple iPod had more bad news.

It was caught hoarding a huge surplus inventory of flash memory - when there was a sudden glut in the supply of the product. The sudden shift from shortage to abundance slashed prices for these chips.

So Creative Labs was forced to write off the values of their inventory.

The result was, Creative Labs lost money for the third quarter in a row.
Macworld UK:
Creative's loss in the three months ending March 31 was $114.3 million, compared to a net profit of $14.8 million during the same period a year ago. Its sales slumped to $225.7 million from $333.8 million during the same three months last year.


It is a bad year for Apple competitors Dell and Creative Labs. No light at the end of the tunnel is in sight, at least for the rest of this year.

If and when 2007 ever does arrive for them, they will be staring an angry leopard right in the face.

Both Creative and Dell are suffering a little right now. The part of their product both companies make, the hardware, is not what is hurting them, ironically enough. They do not have good enough software to compete with Apple. What is hurting them is they get their software from somewhere else and they do not have a source for modern software to sell with their hardware.

Maybe they need to cut a deal with Apple to get some help with the software side of their products. Maybe they need to look at not just a second source supplier for their hardware components - but also their software components.
Technorati tags:

Macworld UK - Apple slowly eclipses Dell

Apple is now worth more than any other desktop computer company, including Dell - Macworld UK - Apple slowly eclipses Dell : "Dell's market value is $ 59,850,064,460, while Apple right now is worth $ 60,777,591,440."

Macworld UK:
Dell's market value is $59,850,064,460, while Apple right now is worth $60,777,591,440.

The head of Dell once said that Apple should close up shop and return its value to its stockholders.

Those words may come back to haunt him, if stock traders start dumping the Dell stock and buying up the lucrative Apple stock.

And even if they don't, he is losing to Apple. With the next version of the operating system and office application software known to be at least a year or so off - pretty much everybody with a nose or a finger in the stock market knows that Dell is not going to have any major software announcement/releases for the rest of this year.

Since it is new software that tends to get computer sales moving, and seem to get stock prices a jumping, Dell does not seem to be in an enviable position.

Dell Investors could liquidate their Dell stock, use the money to take a long position on Apple's stock now, sit on it for a year or so until Vista really looks like it is finished, and then buy back Dell's stock - if there is still any reason to do so, when that day finally comes.

In my perhaps overly-simplified view of where Apple and Dell sit, that is how things appear to me. I would always like to learn more about how markets work and never claim to be remotely close to an expert. However, I know most other people are not either.

The really great thing, is now Michael Dell has to spin this - and everyone is expecting a spin. So no matter what he says, people will be skeptical.

And anything he says in the way of promises will have a sort of tinny ring to them.
  1. He cannot promise a better OS, because his next OS is a year off.
  2. He cannot promise better applications, because his next office software suit is more than a year off.
  3. He cannot promise to offer better hardware because Apple is already matching his fastest computers and the benchmarks are out that prove it.
  4. He cannot promise radically improved hardware because no one really wants to spend a fortune on a computer in 2006 if the next OS for it is coming out in 2007 and may not be able to run on it.
  5. He cannot really innovate much in the hardware area because any hardware he invents has to be something his one-and-only OS vendor supports. He does not have the luxury of having his own OS on the side that can take advantage of cool, unique hardware.


Even though the hardware and software decks are both stacked against him, I think Dell will say something brilliant. Not because he is but because the situation demands it - and that is what CEOs do when the situation demands. I just never knew such a speech+soundbyte was coming from a CEO in advance like it is this time.
Technorati tags:

AjaxWorld News Desk @ SYS-CON AUSTRALIA

AjaxWorld News Desk @ SYS-CON AUSTRALIA looks like a very handy news site for tracking the progress of AJAX programming in the world.


They post a lot of articles and really are bird-dogging news on this subject of AJAX pretty well.


They publish an RSS newsfeed for their site. So, in addition to reading the really decent web page, it can actually be monitored by somewhat more automated tools.

Thursday, May 04, 2006

Green Ruby Programmer

I have decided to shift to writing my posts about Ruby to a new weblog.

The new blog, in case you are interested is called Green Ruby Programmer. For the time being, I think that is an apt description of where I stand. The title does not seem to be in use by other programmers at the time, so it looks like it will be distinctly mine too.

My rationale for diverting my Ruby-related posts to another blog are several fold:
  1. I am posting a lot about Ruby at the moment, as it is the only computer language I am in the process of learning at this time.
  2. I need a journal that I can record things about Ruby as I learn them.
  3. Blogspot/Blogger.com does not support tagging posts with categories. This is a heavy handed way to do it but it is far more convenient than the makeshift solution of using Technorati tags or some other trick.
  4. It is far less work than devising my own tagging scheme and writing my own blogging client for Blogspot.
  5. Having a separate blog will make it easier for me to find my posts on the subject of Ruby, Ruby technology, and Ruby idioms.


So, for the time being, postings on the subject of Ruby here are going to plummet.

If this works out, my postings on Python and Java may soon follow its example - and get tossed into their own blogs as well.

Wednesday, May 03, 2006

In the name of all that is simple, ActiveRecord::Base.to_xml

Finally, a major league database programming framework that supports dumping persistent objects structure and state out to XML!


Shoot, what could be easier?

Anyway, that is exactly what the ActiveRecord::Base.to_xml method in Ruby On Rails 1.1 does. Active Record objects can now be serialized into an XML document structure. They even output the XML processing instruction at the beginning of it.


Their format is not bad at all.

  1. Field names become element names.

  2. The data type of the value in the field for non-string fields (e.g. date, integer, etc.) will be explicitly mentioned as the value of type attribute on the element.

  3. Element contents are a string representation of the value for simple values, and for object values - the object is simply serialized nested within the element for the current field.


Not very complicated, really. The only thing you have to watch out for - is the possibility of cycles in the data model. If you have that, you run the risk of inciting an infinite loop. Not terribly pleasant.


I wrote a feature for a system quite some time ago that created almost identical output. It only took a few hours to program it, and I did it on a Saturday afternoon, in fact.

In my case, I did not have to worry infinite loops. The existing data model I was working with did not have one. If it had though, I could simply have pruned it at the point the cycle occurred, stubbed it with a special circular-reference element as a sort of out-of-band way of specifying circular object references, or done an ID/IDREF or some other similar XML semantic trick such as XLink.

One could even provide a way for the serializer to do that on the fly. But my API was as simple as I could make it for the problem at hand. So none of that stuff. And I knew I could do the other stuff if the need arose.


Now in Rails case, since they are are trying to support applications that have not even been written yet, they had to tackle this issue sooner rather than later. Their solution is rather simple.

You can specify an :include option - which takes a list of field names for fields which are first-level associations with the record being dumped out to XML, and it will chase them.

Or, you can specify an :except option. In that case, you feed it a list of field names to leave out. Kind of a skip-list. In fact, then it appears to be necessary to specify a :skip_instruct option and set it to a value of true.

Alternatively, you can use :only - which I take it is an opposite of :except.


What I remember was very cool about this XML format is that it is very easy for XSLT scripts/stylesheets to work with. For that matter, CSS 2.1 stylesheets could even work with it - at least a little.

To an XSLT stylesheet though, this XML is basically like modeling clay. It can walk the structure, take the information it wants, output the data values from the fields - and create.... whatever.


Generally, a web page is what gets spit out. However, in this MIME-aware, XML-enabled world - getting a PDF file or something even more exotic is no problem. [Very soon, SVG and DHTML-enabled Canvas elements are for web-style automatically-generated documents.]

And it most systems, that is generally the whole point of 90% of what the system does! Nobody spends a million or a billion dollars so there is a way to get information into it. They spend millions and billions of dollars so they can get information out! Think about it....


Something else this will probably vastly simplify, besides creating human-readable representations of information in the computer easily - is testing.

With this feature, being able to get a snapshot of the currently used object becomes universally easy. It might make all kinds of debugging easier too.

Hopefully, someone will create some non-intrusive debugging or logging tools that take advantage of this. Without introducing bugs or new complexities in the process, of course!


Being able to easily get an accurate snapshot of the data model objects as XML has another advantage.

This is exactly what you need for the model portion of an XForms document. If you are using XForms, instead of the older HTML forms (invented way back in the early 1990s) - you can just use this to populate your model.

Iterating over the ActiveRecord object graph, perusing its metadata might do a fair bit of the work for you as far as specifying the constraints needed by the XForms document.

All that is left is to mention what data entry fields are needed, and include CSS style sheets to give it a nice layout that looks pretty. The latter will probably be the web designer job and the former will of course wind up being the programmer job.


So, this is a handy feature Ruby On Rails 1.1 has included.

I have a hunch there will be a lot of people doing very clever things with it in 2006. And by sometime in 2007, people will already be saying: oh, yeah that trick.

Technorati Tags:
, , , ,


Technorati Help: Tags

Hey, I just came across some very cool things at the Technorati web site. I know his feature has been there for a long time. However, it just did not sink into me until now.

I use the technorati tags on some of my blog posts so that I can organize my blog and find stuff I have written, based on the topic. It is handy for me.

I either copy the anchor tags from another blog entry, copy-and-modify an existing tag URL, or use MarsEdit to help me generate them.

But I have always used tag URLs that pointed to Technorati's server. It never occurred to me to use any that pointed to some other social web servers. I see now that you can do that, and it seems pretty cool.

Technorati Help:
If your blog software doesn't support categories or you're not sure, you can still participate. To associate a post with a Technorati Tag all you have to do is tag your post by including a special link in the body of your post. For example:



The [tagname] can be anything, but it should be descriptive. Please only use tags that are relevant to the post. You do not need to include the brackets, just the descriptive keyword for your post. Just make sure to include rel="tag".

You do not have to link to Technorati. You can link to any web page that ends in a tag - even your own site! For example, these tag links would also be included:





Technorati tags: , , , ,

Emo Programming: Beyond agile and pragmatic (Loud Thinking)

The man who brought us the internationally famous Ruby On Rails framework that implements the ActiveRecord design pattern in Ruby, now as something extra special for us.

It is a new programming methodology. A whole new paradigm for software development, really.

He calls it: Emo Programming - and describes it as.... Beyond agile and pragmatic.

David Heinemeier Hansson (Loud Thinking)

This is a unique chance to escape such silly constraints as "the best tool for the job" or simply be about "getting things done". As an Emo Programmer™, you're free to use arguments such as:
  • ...because I feel like it

  • ...because it makes me special

  • ...because I get to feel warm and fuzzy inside


Okay, uh.... I think I have seen more than a few guys use that methodology since the mid-1980s.


But it is pretty funny.

Technorati Tags:
,


Camino - Mozilla power, Mac style.

As they say at the Camino browser for the Mac website - Camino - Mozilla power, Mac style.:
Camino combines the awesome visual and behavioral experience that has been central to the Macintosh philosophy with the powerful web-browsing capabilities of the Gecko rendering engine. Built and tested by thousands of volunteers, Mozilla’s Gecko brings cutting-edge innovations and capabilities to users in a standards-friendly and socially responsible form.



And that is not all. Camino 1.0.1 has just been released. It incorporates the fixes made recently to the version 1.8.0.3 of the Mozilla Gecko rendering engine.

Plus, they fixed problems getting locally loaded SVG to display and updated the Java runtime environment adapter.



Technorati Tags:
, ,


XHTML2 & XForms

I came across a wonderful document describing XHTML 2 and XForms at lunchtime today.


The document is entitled XHTML2 & XForms by Steven Pemberton of the W3 in Amsterdam.

It is simply a long list of little boxes, each one containing a highlighted phrase that asserts some good thing about upgrading to XHTML 2, followed by some text and/or images that back up that claim.

The document makes a very compelling case for XHTML 2 - XForms, XFrames, CSS. etc. The real argument it is making is this: dump HTML - and get the latest version of XHTML when it comes out. It makes sense.

When XHTML 2 comes out, and you want ammunition for the argument over why to adopt it - glean your points from this document.

Ultimately, plain, old HTML is a lame duck: he XHTML 1.1 standard has already been ratified by the W3 and adopted by major browsers like Firefox.

HTML documents all over the web not only suffer from myriad syntax errors, they are not even well formed. They are like mathematical expressions with parentheses and brackets that do not even match. What do they really mean, how should they be interpreted - let alone displayed?

The web is a world wide mess. There has probably never been a larger array of corrupted data file documents in the history of computers.

What XForms brings to XHTML data entry forms is what XHTML did for HTML. It introduces XML-based order and discipline. It spells out how CSS should work with data entry components in an XHTML page, making CSS even more powerful and relevant. It allows greater reuse and interoperability: XForms can be used in SVG documents as well as XHTML pages. It finally, at long last, brings MVC to web forms. And it does it on the client side, without the need for programming - simply by declaratively describing the constraints.

This is a great document. It does not look formal, official, or impressive if you just glance at it. But if you read it and actually look at the examples, it makes a really strong case for going forward to XHTML 2.

One last thing. XHTML 2 gets rid of all of the HTML forms elements. It replaces them with XForms.

This is a step forward. The data entry components are still there: they just get smarter. The browser itself gets to decide which ones to use in some cases too, since it better knows the limitations of the device is is running on than the web page designer or author does.

Basically, XForms takes the data entry components in a web page out of the hands of the graphic artist, and hands them to the programmer. The programmer is really the one responsible for the information technology - not the artist.

The age old problem of the web page designer breaking the programmer's Javascript, bootleg attributes on elements, and name elements - and the programmer trouncing the layout geometry of the designer's carefully laid out nested tables ....is going to go away. At last.

Technorati tags: , , , , , ,

Skatter Tech � Digg Search Widget 1.70

Skatter Tech says Digg Search Widget 1.70 has been released.

It requires Yahoo Widgets 3.1.1 or later in order to run. [Note Yahoo Widgets 3.1.2 was released several hours ago.]

It provides many features for diggers.

Technorati tags: , ,

Yahoo! Widgets - Get Weather, Photos, Calendar, and More on Your Mac or Windows Desktop

Yahoo! Widgets 3.1.2 has just been released tonight!

Yahoo has released version 3.1.2 of their desktop widgets library that runs on MS-Windows and Mac OS X. This version includes support for satellite views in the Yahoo Maps widget and some bug fixes. Official site is: widget.yahoo.com

Technorati tags: , , ,

Yahoo! Widgets - Get Weather, Photos, Calendar, and More on Your Mac or Windows Desktop

Yahoo! Widgets 3.1.2 has just been released tonight!

Yahoo has released version 3.1.2 of their desktop widgets library that runs on MS-Windows and Mac OS X. This version includes support for satellite views in the Yahoo Maps widget and some bug fixes. Official site is: widget.yahoo.com

Tuesday, May 02, 2006

Microsoft making their own physics SDK/API

Apparently, Microsoft is working on a new API to do math/physics computations for writing computer games specifically for MS-Windows running on Intel-based desktop computers.

There has been an open source Java one for years, called JScience. It is very mature, and incredibly powerful.

Parts of JScience are on their way to becoming the reference implementation of a new JSR standard being created under the JCP.

This Java library runs on just about any computer: mainframe, server, desktop - you name it.

Even on different operating systems. On one Intel-based Mac, for instance - you could run it under Mac OS X, MS-Windows, or Linux.

Digg:
There are no concrete details as of yet, but we can expect Microsoft physics SDK to become a part of DirectX 10 late in the game, though most likely it will be a standard feature of DirectX 11. The Inquirer says that this is as good a sign as any of market validation of the physics accelerator concept.


read more | digg story

Apple - Get a Mac

Apple has kicked off its new television and web ad campaign to encourage people which have already owned PCs to purchase Macs as their new computer.

Apple - Get a Mac is the new site's name.

It tells all the reasons why someone used to other PCs will feel better owning one from Apple.

It features two guys. Each guy is the personification of two kinds of computers. One is a regular PC. The other is a Mac.

PC guy
dumpy guy with baggy gray suit staring off into space
Mac guy
alert, fit-looking guy dressed in well-fitting jeans, t-shirt, and jacket - and he looks straight at you


The impression the two characters give is that one of these guys you are practically going to have to tell how to do his job. Plus, he looks kind of expensive and none to swift in the head or motivated.

The other guys seems to be really on the ball, just awaiting the word to get started.

They are basically touting the Mac ability to look and do good. The Mac is being presented as someting you buy that you can get a lot of out - without putting a lot into it.

They are clearly selling the fun factor and the ease-of-use characteristics. At the same time, they are promising the power born from smart people who had the mission to make a great computer.

The takeaways they are handing out are really good selling points.

If you can use iTunes, you can use a Mac.

The new Macs run really fast - as fast as a PC with the corresponding processor. And Macs are not using slow processors - especially if you buy a dual core CPU model.

You can buy Microsoft Office for your Mac from Apple, just like you can for your MS-Windows running PC. Microsoft does sell it for both computers.

You can grab your PC keyboard, mouse, and a lot of your PC documents - and continue with your Mac. I should point out that the fonts might not look exactly the same. At least not the last time I checked.

It is possible to get MS-Windows running on a Mac. And not only that, if you want - you can possibly get it running faster on your Mac than your PC.

It seems like a decent campaign. Laid back, simple, subtle, and to the point.

Just like a Mac.

Sveinbjorn Thordarson's Website - Platypus

Platypus 3.3 has been released. It is available from Sveinbjorn Thordarson's Website - Platypus.

Platypus is a well-known open source program for the Macintosh, that turns command line shell programs and scripts into GUI applications.

It can converts headless programs in many languages into real Mac OS X applications.
  • shell scripts
  • Perl
  • Python
  • PHP
  • Ruby, Expect
  • Tcl
  • AppleScript


Making them full-blown applications allows them to accept files via drag-and-drop on the desktop, run as background applications, give GUI feedback like a progress bar or a text console window, and be associated with certain file types.

Yahoo! Tech: Reviews, help, and how-to advice for buying and using personal electronics : Yahoo! Tech

Yahoo has opened a new site today, called Yahoo Tech. The site is: tech.yahoo.com/

They describe it as: Yahoo! Tech: Reviews, help, and how-to advice for buying and using personal electronics.


At first glance, it is sort of like just another epinions site.

However, there is more to it. It does into some of the other Yahoo holdings as well.

  • Yahoo Answers - for asking/answering questions about the product
  • Yahoo Shopping - for finding best prices on a product
  • Yahoo Profiles - for seeing who wrote the review


The web site is also a social web site. It offers users a chance to do reviews, ratings, and so forth.

It also lets them save products for future reference. Thus, users have some control of their environment and even a little workspace for themselves.

Later, they can see these saved things at: http://tech.yahoo.com/my



Some commands (like Save) do not require the whole page to be changed. So, with the social features, the site really does seem like a Web 2.0 website.

In short, the new site really is modern - and it draws on the foundation of the existing Yahoo sites which have relevence.

Agile Web Development with Rails book goes second edition

The second edition of the Pragmatic Programmer book on Ruby On Rails has just been announced. This edition will describe programming for Ruby On Rails version 1.1.

read more | digg story

Firefox 1.5.0.3 released

Firefox has released an update to Firefox 1.5 today. Users already running Firefox 1.5 or later can get it simply by choosing the Check for Updates command in their Help menu.

read more | digg story

Monday, May 01, 2006

Ruby on Rails on Oracle: A Simple Tutorial

Last month was a banner one for Ruby On Rails, perhaps due to the recent release of Rails 1.1. Or perhaps because Ruby On Rails is hitting the web/database application field like an implacable tsunami.

Anyway, Oracle's web site published an article on Ruby On Rails programming, as well as Apple's web site.

The Oracle article shows how to use Ruby On Rails to write a program that communicates with an Oracle database. The Apple article shows how to write a Ruby On Rails application on Mac OS X.

I cast about for a Ruby On Rails article at Microsoft but I was unable to lay my hands on one with a quick look.

Going back to the Ruby On Rails tutorial article at the Oracle website, it is nice and short. It shows how to create a Ruby On Rails application to operate on a specific SQL database. The reason it is short is because you do not have to write Ruby code to do it. The application is created by Ruby On Rails for you.

Richard Monson-Haefel:
While the Product Catalog example showed how easy it is to create a very simple application using Rails, it%u2019s not all that useful except for tracking inventory. You can create much more complicated Web applications with Rails, but that will require that you jump into the code a bit, which would require some study. Rails is an easy framework to work with, but like any technology it takes time to master. At this point, I can only recommend Rails to technically-savvy individuals and development teams who are embarking on %u201Cgreen-field%u201D application development. If you don%u2019t fall into this rough category, I wouldn%u2019t recommend using Rails until the tooling has matured.

AjaxScaffold 3.1.2 released

Version 3.1.2 of Ajax Scaffold was just released by Richard White last week.

Looks like the new RJS feature of Ruby On Rails 1.1 is taking hold very quickly!

Technorati tags: , , , ,

A Tale of Two Rubies

I came across two postings by veteran programmers tonight. Both detailed their experiences using Ruby On Rails.

The first, a systems architect, described his successful efforts to replace a PHP application with a new one developed in Ruby On Rails.

The PHP application was exhibiting signs of code bloat and just did not have a good architecture. To bring this out, he mentions how the PHP version was 50,000 lines of code - and the Ruby ON Rails version, which does most of the same things, is only 5,000 lines of code.

All kinds of performance issues are examined. The author shows the multi-server architecture that has been used at a couple phases, using some beautifully-drawn diagrams he did in OmniGraffle (a well-known drawing application for the Mac).

The adventures of scaling, Stage 1:
While a couple of high-traffic sites are being powered by Rails and while the Rails book has a handful of instructions to scale your application, it was apparent for us that you%u2019re on your on at a certain point. This series of articles is meant to serve more as a case study as opposed to a generic %u201CHow To Scale Your Rails Application%u201D piece of writing, which may or may not be possible to write. I%u2019m outlining what we did to improve our applications%u2019 performance, your mileage may obviously vary.


The other article on Ruby On Rails was a rant by Joel - as in Joel On Software. Joel was not so happy a camper.

The main thing he complained about was the way the database development process works in Ruby On Rails, and how he managed to run afoul of what he wanted when he used the defaults.

For instance, he wanted smarter generated code to be created by looking at his foreign key declarations. He wanted validation code generated that would ensure invalid data would get caught by the application instead of the database.

He also complained that the official programming documentation that comes with Ruby and/or the official sites on the web is somewhat lacking.

I can vouch for that. Some things about the Ruby and Ruby On Rails documentation is very good. Yet there are huge holes in it too.

I think the good documentation is out there. It exists - and you can often find really good stuff like tutorials and examples out there somewhere.

The problem is, you have to hunt. That is kind of an issue, since you are generally in a hurry to learn how something works as quickly as possible. That is because learning time comes out of your coding time.

The so-called Pic-axe book on Ruby is excellent. It does a good nob of covering the language.

It touches upon the great classes in the library too. It falls short of providing examples that comprehensively show each major purpose of each class in use, however.

Doing that, would probably take a book set of several volumes, each one the size of this standard book about Ruby programming.

However, somebody should do it. Either writing the books, or else putting them online.

Ruby On Rails is kind of the same deal. You can read the documentation that comes with it. To really understand it though, one of the things you will probably have to do is buy the pragmatic programmer book on Ruby On Rails.

Plus, reading sample applications, watching screencast demos of it in use, and writing your own applications is pretty much mandatory for picking up Ruby On Rails, or Ruby for that matter.

I have to say that the Python standard library documentation - reference and tutorials - are far more mature and comprehensive than Ruby's documentation.

On the flip side, Python's standard library's growth spurt was in the 1990s. Ruby's took place after the 1990s. So, Python has had longer to document their modules than Ruby has. Ruby's standard library is way more up to date too.

Things that are relevant today - object-oriented XML processing, RSS feed generation/parsing, and tons of other recently important things you are more likely to find built-into Ruby than Python.

Similarly, Joel is in self-described rant was comparing Ruby On Rails to other tools. It failed in his expectation because it did not match what he learned when using those tools.

Probably a fair outcome, considering if it simply did what they did well, people would just use those existing tools and libraries! Ruby On Rails is trying to carve out its own niche.

Unlike a lot of languages/frameworks, it is very object-oriented. Also, it adheres to a set of design principles that other languages do not even have. So it is clear up front that it is not going to be similar to them.

Apparently, from looking over the first article, you can really wring some amazing performance out of Ruby On Rails. But to do that, you have got to pay your dues first and learn its ways and play but its rules. Even if that is a hard task, it is still an important task!

Related pages & news