SOVRN banner

Monday, October 24, 2011

Dennis M. Ritchie (1941 - 2011)


During this few weeks we have been shocked by the death of one of the most charismatic personalities in the computer industry and in the world in general, as he is credited of having changed our habits and of having brought the technology to the masses. Yes, I'm talking of Steve Jobs. But he has not been the only great loss we have had these days, we have lost one of the men who made possible the dream of Steve Jobs, I'm talking of Dennis MacAlistair Ritchie.
I'm not going to start a discussion of who was more important, Jobs or Ritchie, my opinion is that without men like Jobs the technology would not be spread as a commodity today, and men like Ritchie would not be possible; and without the Ritchies of the world it would not be possible the scientific advance in computer science, and thus there would be no Jobs to woo users with fantastic devices. So, both have their role in the business, and no one is to be underestimated, but, as Jobs has received plenty of attention, I think Ritchie deserves this little homage.
Maybe a usual reader of this blog already know about the work of Dennis Ritchie, but I just want to underline his two most important contributions, or at least the most famous inventions of this great man.
The first contribution is the co-creation of the Unix operating system. Ritchie worked at Bell Labs with other geniuses (Thomson, Kernigan, McIllroy and Ossanna). The first implementation of Unix was done in a PDP-7 machine from Digital, and was written in machine code.
As this was a relatively poor performing machine, they asked permission to port the Unix OS they have created to a more powerful PDP-11 machine. Although the original porting of the system was done also in machine code, sooner they wrote most of the core of the operating system in C language, a language that has been developed entirely by Dennis Ritchie between 1969 and 1973.
This was quite important: they proved that an operating system could be written in a high level language (although some other attempts were made before, they were not so successful), so it became a much more easier task than doing it in machine code and could add more features to the OS. And it was a way to facilitate the porting of the operating system to any other computer: as it was not written in machine code, with a few minor changes it could be compiled in any system they wanted Unix to be run.
And the rest, well, is history now. Unix spread out of the Bell Labs and can be considered as the backbone of the Internet as we know it, as most servers (and enterprise server outside the Internet, like Netezza for example) run any variant of Unix (AIX, Solaris, HP-UX), or its clones like Linux (you know, Linux Is Not UniX, but it was clearly inspired by it). Even in the mass consumer market we can see Unix: Apple's operating systems for the iPhone, iPad, MacBooks... are all based on Unix.
And what to say about the C language. Until the advent of Java (not counting its variant C++) it was the most used programming language, present everywhere, in every Windows flavor and application, and it is still in good shape, very close to this first position as the most used programming language.
In summary, Internet, the IT industry, would not be as we know it without Dennis Ritchie. Thanks you Dennis.

Afterword: Of course Jobs did a great job spreading the technologies created by the Ritchies of the world, as I said. Just a couple of things about Jobs. A link to its famous phrase "good artists copy, great artists steal", by the way, stolen from Picasso...and probably misinterpreted too. And a recommendation of a movie, "Pirates of Silicon Valley". Maybe it is not a master piece, but shows very well, in my opinion, the beginnings and the personalities of Jobs and in a second level, of Bill Gates.



Thursday, May 12, 2011

Google's Chromebook: The Network Is The Computer

Congratulations Google! You have just invented the Sun Ray (which Sun invented more than 10 years ago, by the way...).
At last, the phrase first pronounced by John Gage, "The Network is the Computer" has become more a reality, which is not surprising, being so many ex-sunnies working for Google.
Oh, you can learn more about Chromebook in Google's official page, of course.

About Sun, there was even a laptop like version of the Sun Ray, very much like the Google's Chromebook. Probably there are other brands that OEMized the hardware, but the one I know most is Tadpole (I guess they are still doing it with Oracle).
Probably the Sun idea was more interesting as using a Sun Ray installation you can choose which operating system you want to use (Solaris, any Linux Flavour, even Windows). Indeed, Chromebook is just a subset of the original Sun idea, as with a Sun Ray you could also connect via Wi-Fi, ADSL and although I cannot confirm about 3G, it is probable that a version with that connectivity is around.
Which is interesting is the ability of Chromebook to perform some tasks without being connected to the network, which suggests some kind of internal memory storage (flash maybe, a small HDD?), something that the Sun Ray doesn't have.

Well, this is another sample of a cool technology invented by Sun, but whose profits are taken by others at last. Yes, when Sun came with the Sun Ray we didn't have wi-fi so widespread as today and 3G mobile was science fiction yet. So Sun aimed the product to the enterprise customers. The problem was a lack of vision and of an adequate marketing strategy to make a move like the one that Google has just made. Instead of the "1 dollar per cpu per hour" coined by Sun as the beginning of the cloud computing (the Sun grid), this would have probably been a more interesting move.
Well, unfortunately Sun is dead, by not doing such things. The question is if Oracle will be able to monetize all such investment or will be others, like Google, who will take advantage of a more mature market to exploit those "iPod moments" of inspiration.

Thursday, April 14, 2011

Oracle Identity Analytics: Custom Reporting

Oracle Identity Analytics, the Oracle's tool for role mining and management, a product previously known as Sun Role Manager, provides by default a set of reports to help us know and study the status of our Identity Management platform. This set of reports is based on JasperReports, the opensource tool to generate reports.

Of course, it is not possible to create beforehand all kind of reports any customer may need, as every customer has a different need, so it is quite useful to be able to create new reports based on the specific requirements of each customer. As the reports used in OIA are based on JasperReports, you can use iReport to create new reports, although I'd say it is more useful to know the data model of OIA than the use of iReports. This is a question for another different article nevertheless.

In any case, most of Oracle customers already have BI Publisher in one way or another, so we have to underline that OIA also allows the use of any external report engine, as BI Publisher, so to generate custom reports with an external report engine only requires a proper access to the database where OIA stores all the data analyzed.

In any case, it is possible to extend OIA with new reports, and this is what my friend René Klomp is going to talk about. In fact, what I'm going to do is just add the proper link to the articles where René explains quite clearly the way of creating and importing a new report into OIA. As you will see, the most important question here is to understand the query to be performed in the database. The rest is more or less simple, and if it is true that Jasper is quite easy to use, it is also true that BI Publisher templates are very easy to customize and easier to understand than the Jasper ones (in my opinion).
The second article is a follow up of the first one, referred to a certain type of report, one we were working a couple of months ago for one of our customers: how to report which entitlements (or policies for OIA) are not associated to any role (after a mining process). In this way, you can see if the mining process was a good one, if all the entitlements were used and associated to roles, or if there is a problem in the entitlements definition, in the role definition or maybe in the way permissions and entitlements are applied to users in the company.
Thanks René, you have done a great job in your blog.