Free as Freedom, not Free as Free Pizza!” />


Udruženje Informatičara BiH - Cross-platform and Portable Development With PHP, LAMP/WAMP development, AJAX and Javascript, ASP, dot NET, C sharp, C++, C, VB, Oracle, tutorials and tips...
Free as Freedom, not Free as Free Pizza!


Add to Google

Monday, October 30, 2006

Adobe Digital Editions Beta Launched - Digital Reading Market Hots Up

Following hot on the heels of the Microsoft-powered NY Times Reader, Adobe has released Adobe Digital Editions Beta - a Rich Internet Application (RIA) for digital publishing and reading. The product enables users to acquire, read, and manage content such as eBooks and other digital publications. This market is ramping up quickly in late 2006, as the Sony Reader is also in beta form currently.

Last week I spoke to Bill McCoy, General Manager of the ePublishing Business Unit at Adobe, to talk about the new product.

Adobe Digital Editions is designed to be a lightweight, standards supporting digital reader - and is focused on the consumer market. Bill said electronic reading "is reaching a tipping point" in the market right now.

As with the NY Times Reader, the Adobe product reflows content and makes readibility of e-content easier. The product is also cross-platform - working on PCs, mobiles, PDAs and dedicated ebook devices. Also the Digital Editions beta includes integration with Adobe Acrobat 8 and Reader 8, which can install and launch Digital Editions from within their user interface.

Adobe Digital Editions is built on the Flash platform - a key difference to the Times Reader, which is built on Microsoft's WPF (Windows Presentation Foundation) technology. So Adobe's solution will work on Windows, Mac OS/X and Linux (although currently the beta is only available on Windows). Perhaps the biggest difference though is the range of content the Adobe product supports - PDF (obviously), XHTML, and Flask SWF for rich content. Bill stressed that these are open standards for content, unlike the Microsoft product which uses a proprietary content format.

There will also be opportunities for publishers to make money from their electronic publications, via contextual advertising in Adobe Digital Editions.

In terms of DRM, it does have it - a new one called Adobe Digital Editions Protection Service, based on Adobe LiveCycle Policy Server. It also works with Adobe Content Server eBook DRM. The DRM sounds a bit daunting, but those familiar with the ebook market (and indeed music too) will know that DRM is an almost inescapable part of the user experience.

There will be associated authoring tool support from Adobe, coming out in the first half of 2007. Other future plans include social networking (shared annotation and reading lists), browser-based operation (e.g. widgets that bring the Digital Editions reading experience to the browser), "push" delivery of content subscriptions and webcasts, mobile and device versions, and new ways to combine traditional text-based and interactive content.

Adobe Digital Editions beta is available for free download from the Adobe Labs Web site.

Here are some further screenshots of the product:

New Live Example AJAXCHAT v0.2

AJAXCHAT v0.2 have been released, you can test it and download it from this link
As a reminder this class can be used to implement a simple Web based chat system that uses AJAX to update the chat dialog display area without reloading the whole page.
The class generates a page with a Web form to submit what each chat line that the users type.
The chat lines are sent to the server using a XMLHttpRequest object.
The chat lines are received by a server side script that uses the class to store what each user entered in a MySQL database table.
In response, the class outputs the chat list already formatted to by displayed in the user browser pages.

Top 5 php tools

The following are five tools that are invaluable to any php developer:

1) Crimson Editor (Free)


This program is not only fast in loading time, but also small in size (so small that it can be copied in one floppy disk).

While it can serve as a good replacement for Notepad, it also offers many powerful features for programming languages such as HTML, C/C++, Perl, PHP and Java.

2) VS.php (Commercial, 30 day trial)


VS.Php is a Php integrated development environment based on Visual Studio. With VS.Php you can design, develop, debug and deploy Php applications within the Visual Studio IDE. VS.Php key features are around providing rich Php and Smarty editing capabilities as well as its ability to debug Php scripts locally as well as remotely.

This is a very nice editor because it offers code completion for all php function names. There is also a stand-alone edition that can be installed in-case you do not own a copy of visual studio .net 2005.

3) ez_sql/ez_results - mysql wrapper library (Free)


A great mysql library that features:

  • Disk caching
  • It is one php file that you include at the top of your script. Then, instead of using standard php database functions listed in the php manual, you use a much smaller (and easier) set of ezSQL functions
  • It has excellent debug functions making it lightning-fast to see what’s going on in your SQL code
  • Most ezSQL functions can return results as Objects, Associative Arrays, or Numerical Arrays
  • Works with Smarty templating language

4) Smarty Template Engine (Free)


An excellent template engine for php.

One of Smartys primary design goals is to facilitate the separation of application code from presentation. Typically, the application code contains the business logic of your application, written and maintained in PHP code. This code is maintained by programmers. The presentation is the way your content is presented to the end user, which is written and maintained in template files. The templates are maintained by template designers.

5) mysql gui bundle 5.0 (Free)


A suite of GUI tools that includes: MySQL Administrator, MySQL Query Browser, MySQL Migration Toolkit, and MySQL Workbench.

Fifteen Exercises for Learning a new Programming Language

I've working knowledge of a bunch of programming languages but job demands to learn a new language frequently in a short time. Instead of reading hundreds manual/book pages, I quickly read 10-15 pages of tutorial or primer. (As you know google is the best search engine to look for such stuff). I keep printed copy of the language syntax reference card handy. (There are many reference cards available over internet. Type in 'language to learn' + 'reference card' in google.)

First of all, get familiar with Compiler, compiler option, editor shortcuts or integrated development environment (IDE). Start with a simple 'Hello World' program. Compile it. Use basic functionalities of debugger like setting break points, printing variable values, moving to the next or specific position, stopping debugger etc.

To grasp basics of a new language quickly, here are the exercises I use. Remember some programs may not good for beginners.

1. Display series of numbers (1,2,3,4, 5....etc) in an infinite loop. The program should quit if someone hits a specific key (Say ESCAPE key).

2. Fibonacci series, swapping two variables, finding maximum/minimum among a list of numbers.

3. Accepting series of numbers, strings from keyboard and sorting them ascending, descending order.

4. Reynolds number is calculated using formula (D*v*rho)/mu Where D = Diameter, V= velocity, rho = density mu = viscosity
Write a program that will accept all values in appropriate units (Don't worry about unit conversion)
If number is < 2100, display Laminar flow,
If it’s between 2100 and 4000 display 'Transient flow' and
if more than '4000', display 'Turbulent Flow' (If, else, then...)

5. Modify the above program such that it will ask for 'Do you want to calculate again (y/n),
if you say 'y', it'll again ask the parameters. If 'n', it'll exit. (Do while loop)

While running the program give value mu = 0. See what happens. Does it give 'DIVIDE BY ZERO' error?
Does it give 'Segmentation fault..core dump?'. How to handle this situation. Is there something built
in the language itself? (Exception Handling)

6. Scientific calculator supporting addition, subtraction, multiplication, division, square-root, square, cube,
sin, cos, tan, Factorial, inverse, modulus

7. Printing output in different formats (say rounding up to 5 decimal places, truncating after 4 decimal places,
padding zeros to the right and left, right and left justification)(Input output operations)

8. Open a text file and convert it into HTML file. (File operations/Strings)

9. Time and Date : Get system time and convert it in different formats 'DD-MON-YYYY', 'mm-dd-yyyy', 'dd/mm/yy' etc.

10. Create files with date and time stamp appended to the name

11. Input is HTML table, Remove all tags and put data in a comma/tab separated file.

12. Extract uppercase words from a file, extract unique words

13. Implement word wrapping feature (Observe how word wrap works in windows 'notepad')

14. Adding/removing items in the beginning, middle and end of the array.

15. Are these features supported by your language: Operator overloading, virtual functions, references, pointers etc.

Is there something called 'namespace / package / module' supported by your language? (Name mangling) - Read More on this.

Is Azureus' Biggest Shortcoming Java? is running an article on the best bit torrent clients available today , and among the top five is Azureus ; a popular SWT/Java client application, and consistently one of the most actively developed and downloaded projects at

Wired certainly had many good things to say about Azureus, putting it in a subjective third place behind the the official BitTorrent client and µTorrent (microTorrent) . Among the 'good' listed for Azureus are the expansive feature set, the plug-in architecture, and the fact that because it is Java, it is available on a huge slew of platforms.

Ironically, the first and foremost 'Bad' feature listed is... Java. Here are some quotes about why Azureus is in some ways inferior because of Java:

It's built in Java, which hurts the user experience and brings up some compatibility issues [...]
You need to have the latest JRE installed in order for Azureus to operate correctly. [...]

The sluggishness problem becomes a nightmare under heavy traffic loads. [...]

Bloat and the Java requirement are downers, but is there anything Azureus can't do? [...]

They refer to something labeled 'the sluggishness problem' as if it is an unfortunate feature of Java. I also find it particularly interesting that compatibility issues and user experience are listed so early on in the analysis of Azureus. I thought that a major point of Java was to *avoid* compatibility issues? Unfortunately, they don't elaborate on what this means. Likewise, in this day and age I can't imagine that user-experience can be blamed on Java. Whether you are a Swing fan or an SWT fan, both clients are more than capable of keeping up with native widget toolkits. Maybe this should be a complaint for Azureus itself rather than a slight against Java?

What do you think - do you think that Azureus' biggest problem is that it is built in Java?

PHP Easter Egg

Well, it just so happens that if you add ?=PHPE9568F36-D428-11d2-A769-00AA001ACF42 to the end of any URL that is a PHP page you will see a funny little picture of a dog. Try it right now with any URL on your PHP site.

Who codes for the space shuttle?

Fast Company had an interesting piece about coding for the space shuttle with the Lockheed Martin Corps space mission systems division; a fascinating look into the absolutely boring task of writing 99.9% perfect software. Maybe Microsoft’s profits wouldn’t be so fat this quarter if they’d spent more dollars per line time slimming down on bugs but hey, Vista ain’t the shuttle, and when my PC explodes, nobody dies but my inner child. Did I mention my primary-secondary laptop, a Vaio FS, randomly dies booting Windows as of earlier this week? I hadn’t touched it for a few days, and now it’s just dead. Kinda makes you wonder if there are any Software Engineering Institute Level 5-rated departments operating in the company that makes the operating system running on some 80-90% of the computers in the world.

Larry Ellison Announces 'Unbreakable' Oracle Linux for Businesses

Red Hat’s stock price was off 24% in yesterday's trading after the announcement that Oracle was planning to provide open-source software for big businesses. But to make that happen, it plans to steamroll right through Linux open-source vendor Red Hat on its way. Oracle starts with Red Hat Linux, removes Red Hat trademarks, and then adds Linux bug fixes. Oracle has revealed that customers are rapidly embracing its Unbreakable Linux program, the company's global program for enterprises running Linux. "We believe that true enterprise quality support for Linux, at a lower cost, is something that our customers want," said Oracle President Charles Phillips.

Oracle is offering its Unbreakable Linux program for substantially less than Red Hat currently charges for its best support. "We believe that better support and lower support prices will speed the adoption of Linux, and we are working closely with our partners to make that happen," said Oracle CEO Larry Ellison. "Intel is a development partner. Dell and HP are resellers and support partners. Many others are signed up to help us move Linux up to mission critical status in the data center."

"Oracle's Unbreakable Linux program is available to all Linux users for as low as USD 99 per system per year," said Oracle President Charles Phillips. "You do not have to be a user of Oracle software to qualify. This is all about broadening the success of Linux. To get Oracle support for Red Hat Linux all you have to do is point your Red Hat server to the Oracle network. The switch takes less than a minute."

"We think it's important not to fragment the market," said Oracle's Chief Corporate Architect Edward Screven. "We will maintain compatibility with Red Hat Linux. Every time Red Hat distributes a new version we will resynchronise with their code. All we add are bug fixes, which are immediately available to Red Hat and the rest of the community. We have years of Linux engineering experience. Several Oracle employees are Linux mainline maintainers."

Can You Call Oracle’s Move to Strip Red-Hat Specific Trademarks Uncouth

Commenting on the move, Red Hat spokesperson Leigh Day said, "The opportunity for open source just got bigger". She continued, "Oracle's announcement further validates open source and Red Hat's technical leadership. We will continue to optimise Red Hat Enterprise Linux for Oracle and compete on value and innovation." Red Hat has long been the flag bearer for enterprise Linux, and much to its credit, it has always made its binaries available for free. So while Oracle ripping off those binaries and stripping out the Red Hat-specific trademarks might seem uncouth, it is not unheard of in the open source world, Leigh added.

Others debated whether the move might hurt or hinder any future Oracle effort to acquire Red Hat, which was one of the possibilities discussed leading up to this week. For its part, Red Hat has downplayed the impact of Oracle's Linux play, indicating an Oracle Linux will be new, will not be certified or supported the way Red Hat Enterprise Linux is, and may not necessarily be in demand.

"It is not clear that anyone really wants this third distribution in the enterprise market," Red Hat JBoss Division Manager Marc Fleury wrote in his blog prior to the Oracle Linux announcement.

The move makes Oracle a bona fide rival to Red Hat, Novell and Microsoft, according to Al Gillen, an OS software analyst at research firm IDC.

"This does put Oracle into the Linux distribution business," Gillen said. "It will likely have a small impact on the Linux market over the first 12 months, since the most likely customers up front will be existing Oracle customers using Oracle database software on Linux or Oracle application software on Linux."

Oracle's program isn't like other Red Hat clones, such as CentOS and rPath, because Oracle's Unbreakable Linux 2.0 will be a commercially supported Linux distribution. "You won't see anybody getting an rPath distribution for general use," Gillen said. "By comparison, you can potentially get a copy of Oracle Linux for general-purpose use."

Others dismissed Oracle's Linux announcement as a swipe at Red Hat for acquiring middleware rival JBoss, or possibly an attempt to undermine Red Hat's stock price and prime it for a hostile takeover by Oracle.

But Oracle may have something else in mind besides killing Red Hat and irritating Microsoft, observers noted. Like many other application vendors caught in the crossfire of the virtualisation software craze, Oracle could be trying to gain control over how its applications are deployed and paid for in the virtual era. Red Hat's next Linux distribution will contain the Xen hypervisor.

"Internet Service Vendors (ISVs) need to control their application destiny as virtualisation accelerates. They have to control what OS components are installed with their application in the virtual container because of efficiency and supportability," said a high-tech venture capitalist. "ISVs need to control their own stack, and it becomes increasingly important as virtualisation comes to fruition."

The competitive dynamics are more acute for Oracle, since its two key competitors in the middleware market, Red Hat and Microsoft, own the operating system and will have virtualisation hypervisors in their respective platforms.

Oracle's moves could spur other ISVs, application vendors and even Original Equipment Manufacturers (OEMs) to build, bundle and support their own custom Linux derivatives with their applications, which would have a profound impact on the entire OS landscape, observers said.

Who Else Has Joined the Bandwagon?

The technology players that have lined up behind Oracle's Linux program are as follows:
  • DELL
  • Intel
  • HP
  • IBM
  • Accenture
  • AMD
  • Bearing Point
  • EMC
  • BMC
  • NetApp

IE v Firefox: the battle begins

This month Microsoft and Mozilla released new versions of their Internet Explorer and Firefox internet browsers.

Surprisingly, Firefox seems to be leading early on in the download race, and it's been more of a hit with the critics.

"Within 24 hours of the official launch on Tuesday, there were over 2 million people using Firefox 2, and we were seeing a peak rate of more than 30 downloads per second from our website," said Firefox developer Mike Beltzner in a post to his personal blog.

By contrast, it took four days for Internet Explorer 7 (IE7) downloads to reach 3 million downloads, said Tony Chor, group program manager at Microsoft.

"In the first four days over 3 million of you have already downloaded the final release," he said.

The reason for Firefox's apparent success is at this point unclear, but one explanation is that, since Firefox users tend to be more fanatical and technology savvy than those of IE, they'd be more likely to download the new browser on the day of its release.

By contrast, most IE users will wait until the new version of the browser is sent over automatic updates, which is expected to occur in November.

For power users, Firefox once offered significant advantages over IE due to its tabbed browsing capabilities, coupled with the ability for third-party programmers to add features to the browser through "extensions".

Microsoft appears to have closed much of the gap with IE7, introducing tabbed browsing and new features such as the ability to subscribe to and view RSS feeds from within the browser.

(RSS feeds offer the ability to view website updates, such as news stories, as they appear, without necessarily having to load the desired site in the browser.)

Both browsers boast security enhancements such as anti-phishing protection, as well as user interface enhancements.

Reviews for both browsers have for the most part been positive, but many critics have dubbed Firefox 2 the superior offering.

"The better browser is Firefox 2 for two reasons: innovation and ease of use," says Michael Calore of Wired News.

"Both browsers are loaded with modern productivity features, but while Microsoft is just introducing these features to its browser, Firefox has already had them long enough to refine them, enhance them and make them even easier to use."

Calore specifically points to the in-built search engine, tabbed browsing and RSS features as being areas in which Firefox 2 excels over IE7.

Robert Vamosi of came to similar conclusions.

"Firefox 2 still rules the browser roost for now, despite a much improved version of Internet Explorer," he said.

"The most obvious new feature for IE 7 [tabs] has been in Firefox forever, and the security additions from Microsoft aren't enough for us to allay concerns over new possible exploits. Lastly, the extensibility of Firefox 2 is its knockout punch, and IE's add-ons cannot compare."

Despite security being a primary focus of both browser launches, bugs have already surfaced in each.

Two Firefox 2 bugs have been reported, which allegedly cause the browser to crash. Mozilla has rebutted one of the bug reports, and say that the other can't be "reliably exploited".

"I would call it just noise," Window Snyder, Mozilla's security chief, told CNET

Two flaws have also been found in IE7. Both potentially expose users to phishing attacks, but Secunia has labelled them "less critical".