BobbyeM71hxwDynamic Open Source Languages Head to the Cloud

Friday, May 28th, 2010

For developers building applications with open source dynamic languages, the cloud is a key development area, and not just for network administrators looking for scale.

In terms of language usage, it is found that nearly 80 percent of developers are using Javascript, while both Python and Perl came in at 47 percent, PHP at 42 percent and Ruby at 31 percent

According to the director of engineering at ActiveState, Jeff Hobbs, this confirms a lot of basic hunches that dynamic languages are just increasing their usage in standard programming applications and especially in newer development such as the cloud application space.

While many developers are headed to the cloud, however it is being noted that nearly 43 percent of respondents had no plans yet for cloud development in the next 24 months.

Hobbs said, “You think about the development cycle that a large enterprises has- they can go anywhere from one year to three to five-year cycles”. For the people who have just released applications, it might still be three to five years before they can assess the value of the advantages that might be presented in the cloud.

For developers, there are a number of differences between developing for the cloud versus traditional deployment methods. Some of the differences depend on the type of cloud deployment being used.

According to principal analyst and partner at Redmonk, Stephen O’Grady, the differences with Infrastructure-as-a-Service offerings are typically things such as the APIs used to access the storage layer. “For Platform-as-a-Service offerings that tend to be far more prescriptive, the differences can be relatively extensive, from a difference in the typical infrastructure software (e.g. databases) to the implementation of the development framework.”

Hobbs noted that since the cloud virtualizes multiple elements of an application deployment stack, including the server, it makes the actual languages used stand out more than they have in the past. He added that he has seen some subtle shifts in dynamic languages that make the languages more cloud-friendly.

According to Hobbs, it’s really important that the language developers’ use already has the library and frameworks already provided and supported. The dynamic languages become an advantage to cloud app development as you’re ready to use all the pieces that you need to use and they’re abstracted in the right way.”

Challenges to Cloud Development

The dynamic programming aspects of dynamic languages allow for fast development times as well. However, there are number of challenges that still face dynamic language developers.

Hobbs noted that having the required tooling for deployment is critical. He added that concerns around security are also a barrier- one that 40 percent of poll respondents identified as an issue.

According to Redmonk’s O’Grady, the dynamic languages themselves can evolve to take better advantages of the cloud, though the cloud vendors can help out there, too.

While there are changes to the language runtimes that could improve their ease of use in the cloud, it’s more likely that changes will come at the framework layer. And it’s likely that cloud offerings, moving forward, will increasingly support event-based frameworks to better take advantage of the concurrency that the cloud offers.”


Tags: , , ,
Posted in Opensource

BobbyeM71hxwOpen Source Squeak 4.1 Released

Tuesday, April 27th, 2010

On Friday, Squeak developers released version 4.1 of the Smalltalk open source programming language, and just before six weeks Squeak 4.0 was pushed out.

According to the release announcement, this version combines the licence change occurring in the 4.0 release with the development work that has been going on while the re-licensing process took place.

The latest version includes integration of Cog’s closure implementation, improved user interface look and feel, new anti-aliased fonts, core library improvements and advances in modularity.

According to the Weekly Squeak, one key focus for this release was to address the issues that have been known to frustrate developers using Squeak for the first time.

A much improved set of UI widgets, the new menu bar including the fast search control, integrated help, improved test coverage, more class and method comments, and integrated syntax highlighting all make the system more accessible.

Tags: , , , , , ,
Posted in Opensource, Technical News

SteveManorHow to overcome DBF Corruption-

Monday, April 26th, 2010

Database computing- major presence of Oracle, Oracle is an RDBMS (Relational Database Management System), developed and marketed by Oracle Corporation. It stores all your valuable data in the DBF file. The DBF file contains all Oracle database objects, such as tables, reports, forms, macros, views, constraints, triggers, stored procedures, and more.

If any of these database objects or the entire database gets damaged, you can not access your valuable data from it. In such circumstances, Oracle Database Recovery software is required to extract data from the database.

In order to overcome DBF corruption, Oracle offers a number of methods to detect and repair data files. These options include:

DBVerify- It is an external command-line utility, which enables you to validate offline data files of Oracle database. In addition to the offline data files, you can also use this utility for checking validity of the backup data files.

ANALYZE … VALIDATE STRUCTURE- It is used to verify every single data block in the analyzed object. If this tool finds any corruption, rows are added to INVALID_ROWS table.

DB_BLOCK_CHECKING- If DB_BLOCK_CHECKING argument is set as TRUE, Oracle carries out a walk-through of the data in database block for checking whether it’s self-consistent or not. This block checking process may add 1 to 10% overhead to server. This setting is recommended only if you can accept the overhead.

DBMS_REPAIR- It enables you to find and fix database corruption. This process needs two administration Oracle database tables for holding the list of damaged blocks and the index keys which point to those damaged blocks.


Tags: , , , , ,
Posted in Opensource, Purely Technical

BobbyeM71hxwPHP Development on the Facebook Platform- Build Your App

Wednesday, April 21st, 2010

Facebook API is very powerful and it allows you to create your own Facebook applications, which you, your friends or everyone else can then consume. You can use the Facebook applications you build on profile pages, canvas pages, and so on. You can even make money by developing practical applications. So, let’s get started with creating your own Facebook application.

What You Need-

To create your own Facebook application, you should know how to program in one of the supported languages, such as PHP, Ruby on Rails, or Python. With that knowledge, all you need to do to get started is:
1. Add Facebook Developer Application to your Facebook account.
Go to the Facebook Developers page and click “Add developer.” This is the central location for all your applications on Facebook. You can request as many as 100 API keys from the applications page, as well as manage and change the settings for all your applications. Now that you have added Facebook Developer Application to your account, let’s move on to adding your very first application.

2. Add your first Facebook application.
Go back to the Facebook Developers page and click the Set Up New Application button. This will take you to the “Create Application” page, where you are required to provide the name of your application and, as a rule, agree to certain terms and conditions.
After saving changes to this page, you will be taken to your application’s homepage, which serves as your application’s edit page. You can change all the settings related to your application here, such as its name, description, icon, logo and much more. You can add more developers if you are going to develop the application in a team.
On the same page, Facebook provides you with an API Key and a Secret Key, which are the passports for your application to interact with

Facebook core applications and the outside world. Do not share you secret key with anyone.

Pre-development Changes

To start developing your application, you need to make important changes to the following settings:

  • API Key – This unique key helps Facebook identify whatever request(s) you make. Enclose this API key along with all your requests.
  • Secret Key – As mentioned previously, you should keep this key safe and share it with no one, because it is responsible for authenticating your request.

Now, click on the Authentication tab, where you need to specify:

  • Post-Authorize Callback URL – When a user authorizes your application and adds it to a Facebook account, then Facebook pings this URL. So, this URL needs to be your site’s URL where you application is hosted. This cannot be a URL from Facebook.
  • Post-Authorize Remove URL – When your application is removed by a user, this URL will be pinged along with a post request, which will contain the User_id. This process allows you to log which user has removed your application.

Now click on the canvas tab, where you need to specify:

  • Canvas Page URL – Choose a canvas page URL for Facebook, such as
  • Canvas Callback URL – This is the muscle of your application. Facebook pulls the content from this URL and displays it on the application’s canvas page. The URL can be where you have your application hosted.
  • Render Method – You need to selected this option according to your code. If your code is going to have FBML tags, then you should select “FBML” in this option. Otherwise, leave it default as “iframe” (for this example, you can choose either).

These settings should be enough to get you started with your first Facebook application. Undoubtedly, you can make many other changes to suit your needs in due course.

Now that you have set up the application, let’s have a look-see at how to put some muscle on your bare-bones application. In this example, you need to use Facebook’s PHP client library, which is a compressed file. After downloading the client library, extract the files. You will get two folders namely, footprints and php.

Footprints is a sample application provided to help you understand how the Facebook API works. However, because the API functions keep changing, this code might have some deprecated functions. The php folder contains the library files that you will use to talk back to the Facebook API.

Create a file called index.php and copy the following code into it:

 require_once 'php/facebook.php';
 $appapikey = 'INPUT YOUR APP KEY HERE';
 //create the object
$facebook = new Facebook($appapikey, $appsecret);
 * Check if we have an already logged in user ?
 * Yes - Skip the require_login
 * No - User is redirected to facebook login page
if(!is_numeric($facebook->get_loggedin_user()) || !$facebook->api_client->users_hasAppPermission("publish_stream"))
  $facebook->require_login($required_permissions = 'publish_stream');
 * In case user reaches here and our application doesn't have proper permissions to publish,
 * then display this error message
  echo 'Darn !! Something just broke !!' ;
 * Check if we have Post data and a status to update
if($_POST['update_me'] == 1)
  $uid = $facebook->get_loggedin_user();
   $tmp = explode ("_",$res);
  if($uid == $tmp[0])
    echo "Timeline updated successfully, <a href='$uid'> Go back to your profile page</a>";
    echo "Couldn't update your status, Please try again";
 * Display the form to update status
<form method="POST" action="" >
  <input value="1"/>
  <textarea></textarea> <br>
  <input value="Update status" />

Important Tasks to Remember

Make sure you complete the following tasks to properly build your application:

  1. Include the library file (facebook.php) and change the path in require_once to match your folder hierarchy.
  2. Copy/paste the API key and secret key before trying to use your application. It won’t work without these anyhow.
  3. Input the canvas page URL right to the path of the script on your server/domain.

When you execute the above script, it will look for logged in users, if any. If a user is not logged in, then it redirects the user to the Facebook login page. This is also handled by the require_login function, but the problem with require_login is that it redirects so often that any post data to your page is lost. So, you have put a check before calling the require_login function. In the same line, you also check whether or not your application has permission to post updates onto a user’s stream. If you do not have permission, the user is prompted to allow your application.

When you have permissions and post data, the status is updated to the user. When a status is successfully posted, a response of the typeuserid_postid is returned. If it fails, then different error codes are returned. Find a list of error codes on Facebook’s wiki page.

You can extend the above code to suit your requirements. If you feel confident, you can move on to write some advanced programs using FBJS and XFBML. Other than that, you should keep abreast of any functions that Facebook deprecates — particularly those that your code might be using. Otherwise, your application might crash all of a sudden.

Tags: , , , , , ,
Posted in Opensource, Purely Technical

BobbyeM71hxwPerl 5.12 Debuts as Open Source Language Progresses

Tuesday, April 13th, 2010

This week, Perl is getting an update that will advance the open source development language with new capabilities. With Perl 5.12, support is being added for pluggable keywords, which could help to improve Perl developer efficiency.

According to a senior developer at ActiveState, the pluggable keyword mechanism hooks directly into the parser, so the mechanism allows the implementation of that keyword to define the syntax of the rest of the statement.

The new Perl 5.12 release comes at an interesting juncture for the Perl community as new user growth may be slowing down while development continues on Perl 6.

Since 1987, the Perl dynamic language has been around and Perl 5.0 appeared in 1994. Longevity is hallmark of Perl development, a feature that’s reinforced with a fix in Perl 5.12. Perl 5.12 includes a fix for a the year 2038 Unix flaw, which restricted Perl to show dates only up to the year 2038, at which point it would reset the calendar back to 1970.

Perl 6

The new Perl 5.12 release advances the Perl 5 platform, and the developers have been working on Perl 6 since 2004, and might will stretch out for years to come. According to Dubois, some people are tired of waiting for Perl 6, so the Perl 5 development effort is picking up again, hence the release of Perl 5.12.

There are currently a number of implementation efforts for Perl 6 underway, with Rakudo probably being the most prominent and advanced, Dubois said. In his opinion, it will still be many years before Perl 6 Rakudo could become a serious alternative to Perl 5 for most users.

Dubois said, it is hard to predict if this is ever going to happen or not. But Perl 5 users won’t have to wait for Perl 6 to get updated, as there is a plan in place for a new Perl 5 version next year.

With some more new features, the Perl 5.14 should be released in about one year.

Tags: , , , , , ,
Posted in Opensource

LolaTheriotWordPress Guns for Web Content Management Duties

Tuesday, March 9th, 2010

Long popular with bloggers, the open-source
WordPress blogging software is also starting to find a niche as a low-cost corporate CMS (content management system), at least for managing relatively simple Web sites.

“In the last six months or so, over half the sites being launched with WordPress are really not blogging sites per se, they are complete sites,” said Raanan Bar-Cohen, vice president of media services for Automattic, the company WordPress developer Matt Mullenweg started to offer a hosted version of the software.

Such use has caught at least some of the CMS community by surprise.

“There’s a debate raging within Twitter about whether traditional blogging platform WordPress is also a CMS,” wrote Tony Byrne in a blog post. Byrne is the founder of the CMS analyst firm The Real Story Group, formerly called CMS Watch. “Our take: many organizations are using WordPress as a CMS. That makes it a CMS.”

“A larger enterprise would almost never want [to] use one of those tools for a major web property. But they offer useful alternatives for [small and medium-size business] scenarios, as well as simpler projects,” Byrne elaborated.

WordPress, created in 2003, uses a variety of open-source programs and open standards, such as PHP, MySQL, JavaScript, HTML and CSS.

Byrne admitted he was skeptical at first of the idea of using WordPress as a CMS. Out of the box, it doesn’t have many of the capabilities, such as workflow or advanced version control, needed even for basic CMS duties.

“It’s one thing to run a blog with a few extra plug-ins and widgets. It’s another to run a corporate Web site,” Byrne said in an interview.

Nonetheless, The Real Story Group spoke with customers and examined Web sites. It found that if an organization had to maintain a relatively simple Web site, one with 50 pages or fewer, then WordPress could prove to be a low-cost, relatively easy-to-maintain option.

“It’s not a [full] development platform, but it can drive a simple Web site fairly capably,” Byrne said.

While it is less sophisticated than many CMS packages, such as the open-source Drupal, it could provide an alternative to other simple platforms, like Joomla and the .Net-driven DotNetNuke.

In this realm, WordPress offers a few distinct advantages, most notably its intuitive interface. “WordPress has an ease of use that is something other vendors could learn from,” Byrne said.

Also, thanks to third-party developers, WordPress has a wide array of plug-ins to extend its functionality, some of which can be used to tackle CMS chores. For instance, a plug-in called
Edit Flow offers workflow, or the ability to route a document to multiple parties for editing and approval.

Overall, the WordPress site itself lists more than 8,600 plug-ins.

WordPress has its downsides as well. For one, access control is quite limited, Byrne said. The software offers only sitewide roles. Anybody with administrative rights has the ability to edit any page on the entire site. Someone from human resources, for instance, wouldn’t be restricted to editing only HR pages.

Another shortcoming is the lack of advanced content modeling. While a site can host a series of Web pages, it would be difficult to make finer distinctions among the pages — for a news site to separate news articles from case studies and features, for instance.

Making such distinctions would be possible through some development work, though other CMSes can make this sort of templating much easier.

In general, the deeper into development that a Web site administrator must go, the more the organization should consider another platform, Byrne said.

Tags: , , , , , , , ,
Posted in Opensource, Technical News

BobbyeM71hxwProgramming Language: Seed7 05.20100307

Monday, March 8th, 2010

Seed7 is a general purpose programming language, which is designed by Thomas Mertes. The Seed7 interpreter and the example programs are open-source software. There is also an open-source Seed7 compiler. The compiler compiles Seed7 programs to C programs which are subsequently compiled to machine code. Functions with type results and type parameters are more elegant than a template or generics concept.

And object orientation is used where it brings advantages and not in places where other solutions are more obvious.

Key Features of Seed7:-

• User defined statements and operators.
• Types are first class objects (Templates and generics can be defined easily without special syntax).
• Predefined constructs like arrays or for-loops are declared in the language itself.
• Object orientation with interfaces and multiple dispatch.
• Static type checking and no automatic casts.
• Support for bigInteger and big Rational numbers which have unlimited size.
• exception handling
• overloading of procedures/functions/operators/statements
• Various predefined types like resizable arrays, hashes, bitsets, structs, color, time, duration, etc.
• Runs under linux, various unix versions and windows.
• The interpreter and the example programs use the GPL license, while the runtime library uses the LGPL license.

Newly included features in this release:

• The functions in the gethttp.s7i library were improved to allow the specification of a port number as part of the location (e.g.: localhost:1080/index.html).
• The tarx.sd7 (tar archiving utility) example program was
renamed to tar7.sd7 .
• The codepage 8859_11 was added to the charsets.s7i library.
• The bas7.sd7 (basic interpreter) example program was improved.
• The toutf8.sd7 example program was improved to write an explanation and to support several IANA/MIME charset names.
• An explanation what to do, when the path of the bcc32 C compiler contains a space, was added to ‘src/read_me.txt’.
• Documentation comments were added to the charsets.s7i library.

Tags: , , , , , , , ,
Posted in Opensource, Technical News

BobbyeM71hxwImproving CSS With .LESS

Thursday, March 4th, 2010

CSS, or Cascading Style Sheets, is a syntax used to describe the look and the feel of the elements in a web page. CSS allows a web developer to separate the document content – the HTML, text, and images – from the presentation of that content. Such separation makes the markup in a page easier to read, understand, and update; it can result in reduced bandwidth as the style information can be specified in a separate file and cached by the browser; and makes site-wide changes easier to apply.

Many style sheets include repeated styling information because CSS does not allow the use of variables. Such repetition makes the resulting style sheet lengthier and harder to read; it results in more rules that need to be changed when the website is redesigned to use a new primary color.

In order to specify the inherited CSS rules, such as indicating that the elements in h1 elements should not be underlined, requires creating a single selector name, like h1 a. Ideally, CSS would allow for nested rules, enabling you to define the rules directly within the h1 rules.

.LESS is a free, open-source port of Ruby’s LESS library. LESS (and .LESS, by extension) is a parser that allows web developers to create style sheets using new and improved language features, including variables, operations, mixins, and nested rules.

Behind the scenes, .LESS converts the enhanced CSS rules into standard CSS rules. This conversion can happen automatically and on-demand through the use of an HTTP Handler, or done manually as part of the build process. Moreover, .LESS can be configured to automatically minify the resulting CSS, saving bandwidth and making the end user’s experience a snappier one.

Tags: , , , , , ,
Posted in Opensource, Purely Technical

LolaTheriotCreating Audio (Sound) Files for a Web Page

Thursday, February 25th, 2010

If you’re using Windows 95+ and have a microphone and speakers, you can create your own audio files to place on your web page.

In Windows XP+, click on “Start” and go to “All Programs” – “Accessories” – “Entertainment” – “Sound Recorder.

In Windows Vista, click on the round Windows logo button on the bottom left hand side of your desktop and go to “All Programs” – “Accessories” – “Sound Recorder.

You can record your own .wav files to be placed within your web page for your visitors to hear.

Once you’ve created your sound file and uploaded it to your server, place the following code within your web page where you would like the control panel to appear. This code is compatible with both Internet Explorer and Netscape Navigator.

<EMBED src=“yourfile.wav” autostart=”false” loop=”false” hidden=”false”>

<bgsound src=”yourfile.wav” loop=”1″> </noembed>

Change the text indicated in red to your sound file.

The “autostart” determines whether or not the sound will play when the page loads. “True” specifies that the sound will start on load and “False” specifies that the sound will not start on load.

The “loop” determines how the sound should be played. “False” specifies that the sound should not loop and will play it through one time. “True” specifies that the sound should loop and play continuously. It is highly recommended that you leave this set on false.

The “hidden” specifies whether or not the music’s control panel should be displayed. “True” specifies that the control panel should be hidden. “False” specifies that the control panel should be displayed. It is highly recommended that you leave this set on false. This will enable your visitors to stop the sound if they prefer.

Tags: , , , , , , , ,
Posted in Opensource, Purely Technical

LolaTheriotopenSUSE 11.3 milestone 2 released

Friday, February 19th, 2010

The openSUSE developers have released the second milestone of openSUSE 11.3. The update includes final versions of KDE 4.4, OpenOffice 3.2 and VirtualBox 3.1.4, but openSUSE 11.3 still has a number of bleeding edge releases including GNOME 2.30 beta 1 (2.29.90). The milestone is based on the 2.6.33 Linux kernel “with all its bug fixes and new hardware support”.

Other updated packages include DigiKam, evolution, Mono, GnuTLS and libgphoto2. Developers will also find Bootchart, a tool for analyzing slow system booting, included.

The previous milestone’s support for LXDE has now been incorporated into the installation process, allowing users to install openSUSE 11.3 with only the LXDE desktop.

The openSUSE developers plan to switch to GCC 4.5.0 in the next milestone to benefit from its better optimisation. According to a new timeline page, milestone 3 is due at the start of March, and a final release mid-July.

The openSUSE 11.3 milestone 2 is available to download now for testing purpose; known bugs are documented on the openSUSE wiki. The developers would like special attention paid to the GNOME accessibility stack as new features in it need extensive testing.

Tags: , , , , ,
Posted in Opensource, Technical News