Optimizing resource management in supercomputers with SLURM

The arms race of supercomputers is fascinating to watch as their evolving architectures squeeze out more and more performance. One interesting fact about supercomputers is that they all run a version of Linux. To yield the greatest amount of power from an architecture, the SLURM open source job scheduler (used by the Chinese Tianhe-IA supercomputer, and the upcoming IBM Sequoia supercomputer) optimizes resource allocation and monitoring. Learn about SLURM and its approach to parallelizing workloads in clusters.

View entire article

Building a new theme for Drupal 7

Themes are plug-ins for Drupal that build or enhance Drupal's core look and feel. In this article, get an overview of how the theme system functions in Drupal, including the various components of a Drupal theme and how to determine which components are necessary or optional elements, and learn how to construct a new theme from scratch using the default PHPTemplate theme engine.

View entire article

AIX system migration installation

Migration installation is the way to migrate systems from one version of an operating system (OS) level to another OS version. This method of installation preserves all user data configurations and file systems. Migration installation can be done in various ways and this article provides steps for migrating system from one version to another version.

View entire article

Linux for Windows systems administrators: Understand how to execute applications that run on Linux

Using applications is the main purpose of a Linux server. Whether your newly installed application runs from a desktop or the command line, this article helps you use your Microsoft Windows experience to quickly understand how to run applications on Linux.

View entire article

LPI exam prep: Network client management

In this tutorial, the fifth in a series of seven tutorials covering intermediate network administration on Linux, David Mertz continues preparing you to take the Linux Professional Institute Intermediate Level Administration (LPIC-2) Exam 202. By following this tutorial, you will examine several protocols' centralized configuration of network settings on clients within a network. DHCP is widely used to establish basic handshaking to clients machines such as assigning IP addresses. At a higher level, NIS and (more often) LDAP are used for arbitrary shared information among machines on a network. This tutorial also discusses PAM, which is a flexible, networked, user authentication system.

View entire article

Using XPath with PHP

If your PHP applications perform beyond CRUD operations, chances are you have worked with XML. Navigating an XML document or data stream for the desired data elements can be cumbersome, though, and even somewhat intimidating for PHP developers. It can be especially overwhelming when the XML data structure is complex. XPath is a W3C standard whose sole purpose is just that -- getting to the right data element, or, specifically, the desired node. PHP supports XPath as part of its XML classes and functions. In this article you explore some basic scenarios for locating information in XML and how XPath can do the hard work for you in your PHP applications.

View entire article

Introducing Riak, Part 2: Integrating Riak as a heavy-duty caching server for web applications

This article is Part 2 of a two-part series about Riak, a highly scalable, distributed data store written in Erlang and based on Dynamo, Amazon's high availability key-value store. For websites with heavy loads, a scalable caching solution can lighten the load on the application and database servers. This particularly applies to data that is read often but updated only occasionally. Explore an in-depth example of an online betting site and how you can use Riak to implement a caching solution. You also will learn to integrate Riak with an existing website and look at other Riak features such as search and how to use it to directly serve user requests. You will need a working Riak cluster if you want to follow along with the examples. You can find the steps for setting up a cluster locally in Part 1 of this series.

View entire article

Use of IPSEC in Linux when configuring network-to-network and point-to-point VPN connections

This article takes a detailed look at the design principles, the basis for deploying VPN, and the IPSEC protocol concept, providing a description of the general features of IPSEC and of the mechanisms required for its implementation. This article was specially selected for translation by developerWorks Russia as an example of developerWorks world-wide offerings.

View entire article

Introducing Riak, Part 1: The language-independent HTTP API

This is Part 1 of a two-part series about Riak, a highly scalable, distributed data store written in Erlang and based on Dynamo, Amazon's high availability key-value store. This article provides an introduction to Riak and covers the basics of storing and retrieving items in Riak using its HTTP API. Some of Riak's other features will also be introduced.

View entire article

Get a picture of your IBM i environment with DB2 catalog views

Traditionally, Traditionally, IBM DB2® for i catalog views have only provided metadata about existing database objects. A new set of catalog views also provide information about your IBM i system environment. Specifically, these view make it easy to access information about the Group PTFs and TCP/IP network connections related to your DB2 for i database.

View entire article

Social networks meet open-source project hosting

The revolutionary effects of social networks have not missed the world of software development. Many services emerged to support collaboration on projects over the Internet, especially in the world of open-source software. Concepts such as distributed version control, routine forking, and pull requests are in some ways changing the basic process of group development. One of the most popular social networks for software collaboration is GitHub, whose motto is "Social Coding." Learn about development social networks in the context of GitHub, but with principles applicable to other sites such as BitBucket, and even to your organization's internal systems.

View entire article

Add Linux power to wireless routers with advanced tips and tricks for DD-WRT

DD-WRT brings all the power of the Linux networking stack to inexpensive wireless routers, turning a consumer router into a mighty networking powerhouse. Learn how to install and secure DD-WRT, and learn about the powerful, flexible command line behind the GUI.

View entire article

Meet six misunderstood Ruby features

Suppose you are a C++ developer and you need to do some prototyping quickly in Ruby. When you pick up a Ruby reference book like the Pickaxe or browse the Ruby site, you see familiar constructs like class declaration, support for threads, and exception handling. Just when you thought you knew how Ruby works, you realize that concurrency in your Ruby code is not behaving like Boost threads, catch and throw are not what they seem, and others have used something called self all over the place in their Ruby script. Welcome to Ruby!

View entire article

Protect your data at the speed of light with gKrypt, Part 2

Meet the gKrypt engine, the world's first package to employ general purpose graphics units (GPGPUs) for data encryption. It uses an Advanced Encryption Standard (AES) based 256-bit block cipher. This is the second article in a two-part series on AES encryption and the gKrypt engine. Part 1 introduced gKrypt and explained the AES algorithm in detail, its parallel breakdown and how to map it on a massive GPU architecture using the Compute Unified Device Architecture (CUDA). Part 2 looks at how AES is implemented on CUDA.

View entire article

Protect your data at the speed of light with gKrypt, Part 1

Meet the gKrypt engine, the world's first package to employ general purpose graphics units (GPGPUs) for data encryption, which is an important tool for information security. It uses an Advanced Encryption Standard (AES) based 256-bit block cipher to provide robust security. In this Part 1 of a two-part series, explore the AES, the GPU port of the Rijndael algorithm for Linux, the parallelizing of the AES algorithm, and the use of the gKrypt Engine supporting CUDA for NVIDIA-based GPUs.

View entire article

Enable multiuser logins with VNC

Virtual Network Computing (VNC) is a popular tool for providing remote access to computers. The usual VNC configuration is optimized for single-user workstations, and logging in to the VNC port directly accesses a single user's desktop. This configuration is awkward on multiuser computers, however. Fortunately, you have an alternative. By linking VNC to a Linux computer's normal X Display Manager Control Protocol (XDMCP) server, accessing the VNC port enables users to provide their user names and passwords, thereby enabling a single VNC server instance to handle multiple user logins.

View entire article

Use SQL-like languages for the MapReduce framework

Select the most suitable MapReduce implementation for large scale data analysis jobs based on your skills, preferences, and requirements. MapReduce is a simple and powerful programming model that enables the easy development of scalable parallel applications to process vast amounts of data on large clusters of commodity machines. It isolates the application from the details of running a distributed program. But many programmers are unfamiliar with the MapReduce programming style and prefer to use a SQL-like language to perform their tasks. In this article, read an overview of high-level languages and systems designed to tackle these problems and add declarative interfaces on top of the MapReduce framework.

View entire article

Introducing Spring Roo, Part 5: Write advanced and wrapper Spring Roo add-ons

Spring Roo Advanced add-ons provide the mechanisms to add Java code in applications (for example, building an add-on that can write equals and hashcode methods for your domain object). With the addon create command, you can create a template of an advanced add-on. You then can extend the template to meet developer requirements. This article walks through the steps to create an advanced add-on.

View entire article

Introducing Spring Roo, Part 2: Developing an application with Spring Roo

In Part 1 of this series, we looked at building a CRUD-based application in minutes with Roo. Here in Part 2, we will extend that application to a full-fledged enterprise application by adding features such as Spring security, email support, and many others.

View entire article

Implement strong WiFi encryption the easy way with hostapd

Keep wireless security simple. hostapd, the Host Access Point daemon provides solid WiFi encryption that meets enterprise standards without all the overhead of running FreeRADIUS. Learn more about this tool and how to incorporate it into your environment.

View entire article

Introducing Spring Roo, Part 3: Developing Spring Roo add-ons

Spring Roo is a RAD tool that lets you build applications (mainly web) quickly and easily. Under the hood, Spring Roo is based on OSGI add-on architecture, which makes it easy to extend Spring Roo by adding add-ons. Spring Roo provides commands to create add-ons that can be very easily made available to the Spring Roo user community. In this article, we first talk about Spring Roo architecture, talking about how Spring Roo leverages its own add-on architecture to provide different features, then we will create add-ons using the Roo shell and modify them to suit our needs.

View entire article

Introducing Spring Roo, Part 1: Building from source

Spring Roo is a lightweight productivity tool for Java technology that makes it fast and easy to develop Spring-based applications. Applications created using Spring Roo follow Spring best practices and are based on standards such as JPA, Bean Validation (JSR-303), and Dependency Injection (JSR-330). Roo offers a usable, context-aware, tab completing shell for building applications. Spring Roo is extensible and allows add-ons, enhancing its capability. This article introduces Spring Roo and provides step-by-step instructions on building Spring Roo source on Windows and *nix systems.

View entire article

Create and parse XML on the Android 3.0 platform

Android, the most commonly used smartphone platform, also functions on mobile tablets. XML is the standard medium of data exchange. You can use the same builder, parser, and transformer APIs for standard XML parsing and transformation and for Android. In this article, create and parse an XML document on an Android device using a DocumentBuilder object obtained from a DocumentBuilderFactory. You'll parse the XML document using an extension of an XML pull parser.

View entire article

Introducing Spring Roo, Part 4: Rapid application development in cloud with Spring Roo and Cloud Foundry

Take the rapid development of Roo a step further by creating applications to work in the cloud with Cloud Foundry, the first open platform as a service project created by VMWare. Learn more about the environment and then deploy an application into Cloud Foundry using the Roo shell.

View entire article

Hacking PubSubHubbub

PubSubHubbub is an open protocol of web hooks for notifications of updates to news feeds in a publish/subscribe framework. It is defined as a set of HTTP server-to-server interactions integrated into Atom and RSS extensions. Despite the odd name, PubSubHubbub is fairly straightforward to use for designing applications with a lot of information updates. Learn about the standard and open-source implementations and support software for PubSubHubbub.

View entire article

Create rich-layout publications in EPUB 3 with HTML5, CSS3, and MathML

EPUB 3.0, which is the latest revision of the industry-standard XML e-book format, jumps into modern web technology by embracing HTML5 and CSS3. It retains its focus on XML-driven toolkits by requiring XHTML serialization and adding supplementary XML vocabularies, such as MathML and SVG. EPUB 3 offers a variety of options for developing advanced, digital-native publications. In this article, learn to create rich-layout pages using some new features in EPUB 3.

View entire article

Look at Linux, the operating system and universal platform

Linux is everywhere. If you peer into the smallest smart phone, to the virtual backbone of the Internet, or the largest and most powerful supercomputer, you'll find Linux. That's no simple feat given the range of capabilities expected from these platforms. Discover the omnipresence of Linux and how it supports devices large and small as well as everything in between.

View entire article

Moving a PHP application to DB2 from MySQL, Part 4: Deploy your application

Learn why you should move a PHP application to DB2(R), how to plan the migration, how to execute it, how to support it, and how to handle potential risks based on the experience of an IBM Intranet application case study. This four-part series shares lessons from a successful MySQL-to-DB2 migration for a mission-critical PHP Intranet application used by 4,000 global users within IBM to support content production for ibm.com. Part 4 describes the steps taken to deploy and support the application.

View entire article

Make HTML5 microdata useful, Part 2: Next generation aggregation with microdata

Part 1 of this series showed how to use microdata with Schema.org terms so search engines can display your content better in search results. It also showed how to reuse that same microdata markup to improve the display on your own site. In this article, learn to use microdata to enable a collaborating group of site owners to easily hook up their sites and share content on a centralized site.

View entire article

Make HTML5 microdata useful, Part 1: Using jQuery on top of microdata

The microdata specification lists two reasons why you might want to use microdata: To allow generic scripts to provide services that are customized to the page or to enable content from a variety of cooperating authors to be processed by a single script in a consistent manner. In this two-part series, learn to use microdata in both of these ways, starting with generic scripts on top of microdata. In this article, you will write one snippet of HTML to give you both an interactive event map and to enable Google, Bing, and Yahoo to display your page better in search results with Rich Snippets.

View entire article

From Java code to Java heap

This article gives you insight into the memory usage of Java code, covering the memory overhead of putting an int value into an Integer object, the cost of object delegation, and the memory efficiency of the different collection types. You'll learn how to determine where inefficiencies occur in your application and how to choose the right collections to improve your code.

View entire article

Encode video with MongoDB work queues<!-- in Ruby-->

MongoDB is a revolutionary data store that you can use to handle work queues composed of rich data structures. Learn techniques for applying this methodology to encoding video.

View entire article

Process your data with Apache Pig

Apache Pig is a high-level procedural language for querying large semi-structured data sets using Hadoop and the MapReduce Platform. Pig simplifies the use of Hadoop by allowing SQL-like queries to a distributed dataset. Explore the language behind Pig and discover its use in a simple Hadoop cluster.

View entire article

Using MongoDB with Django

Django, a Python web framework, consists of an object-relational mapper (ORM), back-end controller, and template system. MongoDB is a document-oriented database (also known as a NoSQL database) effective for scaling and high performance. In this article, learn how to call MongoDB from Python (using MongoEngine), and integrate it into a Django project in lieu of the built-in ORM.

View entire article

Develop with XQuery: A better programming language for the database programmer

Most programmers think the XQuery language was developed to satisfy a niche market: A data querying and transformation language designed to handle XML data. In the case of relational databases, the prevailing practice is to use SQL for non-XML data and use XQuery for XML. This article makes the case that the powerful programming constructs available in the XQuery language make it a better programming language than SQL, and that this improvement in expressiveness and ease of use is enough to warrant the design of databases with an increasing emphasis on XML data types.

View entire article

Cloud-based education, Part 3: Cloud-based robotics for education

Explore robotics and how the cloud makes it more economical and available, with a broad range of sensors, actuators, computational resources, and applications. Remote access to a wider range of physical systems that can be time-shared and location-shifted, plus simulation and building instances on site, will vastly expand access to robotics. Today, thanks to the cloud, hands-on interaction with remote robotics is more feasible. This article provides a starting point for cloud-based robotics educational strategy.

View entire article

Introducing PyPy

Improve the performance of your Python development and add flexibility with PyPy with just-in-time compiler implementation. Learn about PyPy, its benefits, and how it can accelerate development of high-performance applications.

View entire article

Data analysis and performance with Spark

Spark is an interesting alternative to Hadoop, with a focus on in-memory data processing. This practice session explores multithread and multinode performance with Scala, Spark, and its tunable parameters.

View entire article

Using UI components in jQuery Mobile

Many UI components are available in the jQuery Mobile framework. This article provides a high-level overview of each element and how you can use it in a mobile website. It touches on specific UI components, explains the reasons to use them, and provides code examples of their use in a mobile website.

View entire article

Integrating MediaWiki with LDAP

Learn how to add a Lightweight Directory Access Protocol (LDAP) authentication module to MediaWiki that will allow it to authenticate users against an LDAP directory. Gain a better understanding of MediaWiki, Apache Directory Services (ApacheDS), and Apache Directory Studio, and how you can use them to create an LDAP directory for testing.

View entire article

Device-aware mobile sites using PHP, JavaScript, and WURFL, Part 1: Get started using the WURFL PHP API

With a rapidly growing mobile Web, if you haven&apos;t already started working on a PHP-driven mobile site or application, you soon will be. Detecting the capability of one mobile device among the thousands of offerings is nearly impossible with PHP alone. But with the Wireless Universal Resource FiLe (WURFL), this once daunting task becomes as simple as a few API calls to retrieve the device data you need and can use with your PHP site or application.

View entire article

Create a custom web services project in Drupal 7

Did you know you can provide web services through your Drupal- powered site? Learn how to use this technique to offer more flexibility with your content.

View entire article

Casting spells with ImageMagick

ImageMagick is a suite of open source tools for creating, editing, and converting bitmap images. The advanced developer can leverage its many capabilities to produce quality, professional bitmap images, and other artwork for display on websites, in marketing brochures, and anywhere the artistic mood may strike. Licensed under the Apache 2.0 license, ImageMagick can be freely used, copied, modified, and distributed in both open and proprietary applications.

View entire article

Leveraging pureXML in a Flex microblogging application, Part 1: Enabling Web services with DB2 pureXML

The pureXML capabilities of IBM DB2 allow you to store XML natively in a database without modification, while Adobe Flex applications can read XML directly and populate Flex user interfaces. In this three-part article series, you will create a microblogging application that takes advantage of pureXML, Web services, and Adobe Flex; and even allows you to publish your microblogging updates on Twitter.

View entire article

Scripting KVM with Python, Part 2: Add a GUI to manage KVM with libvirt and Python

Further explore how to use Python to create scripts for managing virtual machines using KVM. Learn how to add a GUI to expand on the simple status and display tool.

View entire article

Customize container-managed security with AuthenticRoast

AuthenticRoast is an open source project that works with the Java Authentication Service Provider Interface for Containers (JSR 196) to let you develop custom authentication modules for use with container-managed, declarative security. Joe Sam Shirah shows how AuthenticRoast can minimize configuration impact on Java Enterprise Edition (JEE) containers and greatly reduce coding effort for custom security requirements. A downloadable WAR with demonstration code is provided.

View entire article

Store datasets directly in shared memory with PHP

Learn about shared memory and how to use it in web applications as a data storage option, benefiting from high speed, reliability, and data exchange with other applications. Provided examples show how it may help solve common problems in web application development.

View entire article

Create successful Python projects

Creating a successful open source Python project involves more than just writing useful code. It&apos;s about community engagement, increasing cooperation opportunities, craftsmanship, and support. Explore best practices to help you create your own successful project.

View entire article

Use the jQuery Mobile API for fine-grained custom control

The jQuery Mobile framework is a quick and easy way to create mobile websites. However, you might not know that the framework has a decent API that you can use to extend the basic functionality. This article provides an overview of some of the most useful features in the API and gives you working code examples throughout.

View entire article

Using RichFaces with JSF 2

RichFaces, like most other rich/Ajax component frameworks designed for use with JavaServer Faces (JSF), was extensively revamped for compatibility with the significant changes in JSF 2. Joe Sam Shirah examines changed and new RichFaces 4.1 components that provide the same functionality he demonstrated in &quot;An introduction to RichFaces&quot; with version 3.1. He also updates the setup requirements for using RichFaces with JSF.

View entire article

Firewall uptime and security with iptables

Iptables is the standard Linux firewall application. It is easy to configure and maintain while powerful enough to provide the control expected from a high-end appliance. Learn how to get started with iptables, recover from common issues, and simulate a small-office usage scenario.

View entire article

Transactions with file systems using XADisk

Java applications, which store their data in files, can benefit in many ways by accessing file-systems using transactions. Learn how to work with open source XADisk for transactional file access.

View entire article

Android applications using Python and SL4A, Part 1: Set up your development environment

This series of articles explores how to use Python and Scripting Layer for Android (SL4A) to build applications for the Google Android platform. This article, the first in the series, shows what you need to do to get everything installed and running.

View entire article

Getting started with Backbone

Efficient management of the numerous lines of JavaScript code in web applications can be a challenge. Asynchronous JavaScript and XML (Ajax) interactions heavily populate pages to provide a better experience to the user. Single page interfaces, which are becoming more common, are driven by Ajax. Backbone is a JavaScript framework that can be used to create model-view-controller (MVC)-like applications and single page interfaces. In this article, learn how useful Backbone can be for creating Ajax applications or single page interfaces.

View entire article

Develop lightweight mobile web applications with Dojo Mobile

Dojo Mobile is a Dojo-based widget set for creating mobile web applications. With Dojo Mobile, you can develop lightweight, <!--highly performant--> high-performance mobile web applications. In this article, learn how Dojo Mobile addresses the performance issues, and how you can optimize Dojo Mobile-based user applications to make them as small and efficient as possible. [Several clarifications have been made in the text to better reflect the author&apos;s original intent.]

View entire article

Scripting KVM with Python, Part 1: libvirt

This two-part series explores how to use Python to create scripts for managing virtual machines using Kernel-based Virtual Machine (KVM). In this installment, learn the basics of using libvirt and the Python bindings to build a few simple status and display tools.

View entire article

Scheduling in Hadoop

Get to know Hadoop scheduling, and explore two of the algorithms available today:fair scheduling and capacity scheduling. Also, learn how these algorithms are tuned and in what scenarios they&apos;re relevant.

View entire article

Build an iOS slideshow application for the iPad

Learn to build an iOS slideshow application as you walk through the process step-by-step in this article. The example application will communicate with a web server to retrieve an XML slideshow definition and display the images contained in the slideshow.

View entire article

Easy and beautiful documentation with Sphinx

Create maintainable, style-driven documents that can be automatically distributed in different formats using Sphinx. Discover how Sphinx abstracts the tedious parts and offers automatic functions to solve common problems like title indexing and special code highlighting.

View entire article

Predictive analytics in healthcare

As digital records and information become the norm in healthcare, it enables the building of predictive analytic solutions. These predictive models, when interspersed with the day to day operations of healthcare providers and insurance companies, have the potential to lower cost and improve the overall health of the population. As predictive models become more pervasive, the need for a standard, which can be used by all the parties involved in the modeling process: from model building to operational deployment, is paramount. The Predictive Model Markup Language (PMML), is such a standard. It allows for predictive solutions to be easily shared between applications and systems. This article describes the latest release of PMML, Version 4.1, and several ways it can be used to expedite the adoption and use of predictive solutions in the healthcare industry.

View entire article

Migrate OpenMRS to DB2 and WebSphere Application Server

Learn how to migrate OpenMRS into IBM DB2 and IBM WebSphere Application Server. This article shows you how to prepare the database, import the source code, and modify the project for WebSphere Application Server.

View entire article

Create custom jQuery mobile themes

The high adoption rate of smartphones and tablet devices is ultimately increasing the demand for mobile web developers and designers. The jQuery Mobile framework lets you create mobile web experiences that rival the results of native application development by providing instant access to applications and websites via the web browser rather than making users download and install mobile applications. Learn how to use the jQuery Mobile theming framework to create custom-branded mobile websites and web applications.

View entire article

Combine Drupal, HTML5, and microdata

With Google, Yahoo, and Bing&apos;s announcement of schema.org, microdata is quickly gaining ground as a way to create applications that rely on data from many different websites. In this article, learn how to use Drupal to add microdata to your pages. Easily make your content available for use in applications such as Google&apos;s Rich Snippets.

View entire article

Better MySQL searches with Sphinx

Even though MySQL is a good general-purpose database, if your application is search-heavy, you may get better performance by using Sphinx instead. Despite Sphinx being a full-text search tool, it can increase the speed of your application even when working with non-full-text queries. This article shows how to configure Sphinx for this task, includes some example queries, measures their execution times, and demonstrates some of the trade-offs involved in the change considering what you need to use Sphinx in a general, systematic way.

View entire article

Build mobile text messaging into your web apps

Mobile messaging, and Short Message Service (SMS) in particular, is a crucial communication channel for reaching out to your users. Messaging is also a central part of the consumer mobile experience. However, implementing mobile messaging applications is difficult and expensive due to barriers involved with interacting with closed telco services. This article reviews the background and challenges of mobile messaging, and discusses several technical approaches to address these challenges. After reading this article, you will be ready to incorporate interactive text messaging into your own applications.

View entire article

Spark, an alternative for fast data analytics

Although Hadoop captures the most attention for distributed data analytics, there are alternatives that provide some interesting advantages to the typical Hadoop platform. Spark is a scalable data analytics platform that incorporates primitives for in-memory computing and therefore exercises some performance advantages over Hadoop&apos;s cluster storage approach. Spark is implemented in and exploits the Scala language, which provides a unique environment for data processing. Get to know the Spark approach for cluster computing and its differences from Hadoop.

View entire article

Automate development and management of cloud virtual machines

A recent trend has been to build a strong connection between cloud application and service development and operations; in particular, this trend is leading to a tighter, more efficient integration of application life cycle management (ALM) tools with cloud computing. In this article, the authors will show you how to use the open source Apache Maven build management tool to automate build and deployment projects on IBM SmartCloud Enterprise. They will also demonstrate how to integrate the management of virtual machines on the cloud into the build and deployment life cycle by developing an Apache Maven plug-in that looks up and creates virtual machines that run a J2EE application server on the cloud. You&apos;ll also discover best practices for development and deployment on the cloud and how to use IBM Cloud API&apos;s and Maven to implement these practices.

View entire article

Build an Eclipse development environment for Perl, Python, and PHP

Eclipse presents a wealth of capabilities for building tools for compiled languages like C and the Java programming language, but provides little support for scripting languages like Perl, Python, and PHP. For these and similar languages, the Eclipse Dynamic Languages Toolkit (DLTK) comes to the rescue. Walk through the process of building a DLTK-based IDE and discover sample code for each step.

View entire article

Beyond MySQL

Although MySQL is one of the most popular programs, many developers have felt the need to branch it into other projects, each offering their own speciality. Many interesting sub-projects and branches now exist.

View entire article

Build lightweight OSGi applications with Eclipse

OSGi has been acting as a de facto industry standard to build dynamic modular systems in the Java world and many other fields. Using a series of correlative examples, this article demonstrates the processes, scenarios, solutions and practices to develop an OSGi application in Eclipse. Read further to gain a systematic understanding of the OSGi framework and core services.

View entire article

Accelerate Hibernate and iBATIS applications using pureQuery, Part 1: Enable static SQL and heterogeneous batching for Hibernate applications

When extended with the downloadable IBM Integration Module, the IBM Optim pureQuery Runtime simplifies the process of generating DB2 static SQL for Hibernate and iBATIS applications. It does this without requiring changes to your application code or gathering SQL from production workloads. The Optim pureQuery Runtime also enables Hibernate and iBATIS applications that access DB2 or Informix to benefit from the heterogeneous batching feature in pureQuery. This article is part one of a four-part series about using the IBM Integration Module with Hibernate applications. This article includes a downloadable sample application that illustrates how you can easily enable static SQL and heterogeneous batch functions with Hibernate applications. The article also provides informal elapsed time performance measurements. Part 2 focuses on iBATIS applications.

View entire article

Accelerate Hibernate and iBATIS applications using pureQuery, Part 3: Auto-tune data fetch strategies in Hibernate applications with pureQuery

Development teams that build applications using Hibernate as the Object Relational Mapper (ORM) or persistence mechanism spend significant time tuning the amount of data that Hibernate fetches from the database, and the number of SQL queries that Hibernate uses in each business use-case of the application. In this article, learn how the IBM InfoSphere Optim pureQuery auto-tuning feature for Hibernate automates the process of determining these problems and automatically fixing them without intervention. Both the application development team and DBAs benefit from the solution.

View entire article

A guide to Python packaging

The best open source Python applications have great packaging. Learn more about what packaging is and basic implementation. Then, go a step farther and discover versioning and distribution as they relate to packaging.

View entire article

Data mining with Ruby and Twitter

Twitter is not only a fantastic real-time social networking tool, it&apos;s also a source of rich information that&apos;s ripe for data mining. On average, Twitter users generate 140 million tweets per day on a variety of topics. This article introduces you to data mining and demonstrates the concept with the object-oriented Ruby language.

View entire article

Dependency Visualization

Tracking software component dependencies can be challenging. Since some people interpret information well visually, there is a component to help you visually track dependencies and even highlight broken ones.

View entire article

Develop an Apache HttpClient client for Android to a JAX-RS web service

Access a JAX-RS web service with the Apache HttpClient library. Jersey, a reference implementation for JAX-RS, simplifies development of RESTful web services in the Java environment. Android is a popular smartphone and this article shows you how to create a JAX-RS client for Android. You&apos;ll create an Apache HttpClient library client to a JAX-RS web service.

View entire article

Open source development with Eclipse: Master the basics

Learn the basics and get started working with Eclipse, an extensible open source development platform.

View entire article

Integrate Blogger content with PHP applications using the Blogger Data API

Blogger is a free, popular blogging platform that lets users create their own weblogs, and post messages and news, through a WYSIWYG editing interface. With the Blogger Data API, which is REST-based, you can access Blogger content through any XML-compliant programming toolkit. In this article, learn how to use the Blogger Data API to list blog content, add or edit blog posts, and manipulate blog comments with the Zend Framework&apos;s Zend_Gdata component. You&apos;ll build a simple application that demonstrates the power of the Blogger API.

View entire article

Add charting on mobile browsers

Develop online applications that are both thumb and user friendly for the mobile environment with PHP, XML, jQuery, jQuery mobile, and jQuery charting. In this article, build the back end and front end of a polling application that uses charting to show the results of each poll.

View entire article

Efficient JavaScript unit testing

Users don&apos;t want to see something on your application that says, &quot;Optimized for XYZ browser.&quot; They just want it to work. Learn how efficient unit testing of your JavaScript can make it easier for you to support more browsers.

View entire article

Using a recommendation engine to personalize your web application

Most businesses are interested in finding new ways to drive traffic and generate revenue from their online investments. One way to address this challenge is to use a recommendation engine, which can drive visitors to your web site to explore further offerings. These engines apply a variety of patterns and analyze user habits to offer recommendations to users, and can be helpful in presenting offerings that a user might not otherwise know about. This article explains how to integrate Apache Mahout, an open source recommendation engine, with IBM WebSphere Application Server V8.0 and IBM Rational Application Developer for WebSphere Software V8.0.3.

View entire article

Smarter city data model standards landscape, Part 1: Core

Cities face many challenges on their path to becoming smarter. Information exchange is particularly challenging among city agencies. The range of different vendor solutions deployed across agency and departmental boundaries can cause a problem. The solution is defining a common, standards-based smarter city data model that determines how information is structured and what it represents on a semantic level. Read about the core concepts and standards that are common across multiple smarter city domains, such as public safety, transportation, and water.

View entire article

Trigger keyboard and mouse actions with your voice and xdotool

xdotool is a helpful library of instructions that allows programmers to emulate keystrokes and mouse actions. The particular strength of the tool comes when the keyboard or mouse is absent or in accessibility situations where the user is not physically able to employ regular input methods. This article has two goals: first, to provide an introduction to the use of xdotool in a Linux desktop environment, and second, to use voice input to trigger actions typically done through hardware input. A concluding example uses XML to store xdotool-oriented code fragments for insertion into auto-generated dialog manager code.

View entire article

Add multitouch gesture support to a TouchPad-equipped laptop

Enable swipe and pinch gestures for Linux applications by analyzing synclient program output for a Synaptics TouchPad.

View entire article

Moving a PHP application to DB2 from MySQL, Part 3: Convert your PHP code

Learn why to move a PHP application to DB2(R), how to plan the migration, how to execute it, how to support it, and how to handle potential risks based on the experience of an IBM intranet application case study. This four-part series shares lessons from a successful MySQL-to-DB2 migration for a mission-critical PHP intranet application used by 4,000 global users within IBM to support content production for ibm.com. Part 3 describes the steps taken to convert the PHP code.

View entire article

Polish the EPUB

In EPUB documents, you cannot detect some problems with normal validation methods. As long as the document validates as well-formed XML and follows the EPUB standard, it can appear to be correct but might not read correctly in an e-Reader. Examples include broken paragraphs, bad page numbering, and spelling errors caused by OCR scanning. But you can view and correct errors using two methods: with the EPUB editor Sigil and with PHP in combination with SimpleXML and the Enchant libraries. Regular expressions provide the key to efficient processing.

View entire article

Using AutoCAD file formats with open source libraries

Many experts use AutoCAD in engineering, design, architecture, geography, and related fields. Combining AutoCAD data with GIS data, such as shapefiles, to use on maps is often useful. Learn about LibreDWG and dxflib, two open source libraries, that make the AutoCAD DXF and DWG file formats more accessible. Create a translator tool that writes to KML and shapefile formats and use the GDAL library to facilitate working with GML and shapefile formats.

View entire article

Generate dynamic mobile web interfaces with the Dojo Toolkit

Using mobile devices to browse the web has become the rule. As users of mobile devices increase in number, there is a corresponding spike in the development rate of mobile applications and mobile-friendly websites. For the mobile app developer, the main concern becomes how to develop an app that can display on the majority of devices. In this article, see how the Dojo Toolkit can help you create widgets for your application that mimic the interfaces of the most popular mobile devices. The Dojo Toolkit provides a mechanism to create mobile web apps using Cascading Style Sheets, HTML, and JavaScript.

View entire article

Create a networked tic-tac-toe game for Android

Build the back end of a multiplayer, network-enabled tic-tac-toe game with a native Android front-end application in this article.

View entire article

Building a $36.5 million business with open source software

<!--How does anyone make money with open source software? Here&apos;s a story of how one company successfully created a US$36.5 million business using open source tools. Learn about StudioNow and some of the challenges they faced and how they made it work.--> StudioNow proved that it is possible to build a successful technology business using open source software. In fact, StudioNow was so successful that AOL bought the company for US$36.5 million. Discover the decisions the company made for technology adoption and the value of involvement in open source communities.

View entire article

Use PHP with Identi.ca, Part 2

Identi.ca is a popular free microblogging service that allows users to post status messages and news. Web application developers are able to create, access, and search these messages through the Identi.ca API. This two-part article introduces the Identi.ca API and illustrates how you use it with PHP to create dynamic web applications.

View entire article

Integrate the rich Internet application framework ZK with Informix to build real-world applications

This tutorial presents a real-world example that integrates IBM Informix and ZK, a rich Internet application (RIA) framework. Informix is a flagship IBM RDBMS product, while ZK is a Java-based web application framework supporting Ajax applications. This event-driven framework enables creation of rich user interfaces with minimal knowledge and use of JavaScript. ZK&apos;s unique server-centric approach enables synchronization of components and events across the client and server via the core engine.

View entire article

Best practices for developing Eclipse plugins

This tutorial highlights best practices when marking information to resources using markers, and then introduces annotations and decorators that you use to highlight markers within the workbench. By extending extension points, you can reuse and adapt the built-in functions in Eclipse and perform advanced resource marking, such as moving a text marker when editing text. We discuss methods that take advantage of the plugin model, which allows for an efficient, high performance, and integrated look and feel plugin.

View entire article

Java development 2.0: Ultra-lightweight Java web services with Gretty

Gretty is one of a new school of ultra-lightweight frameworks made for building web services. Built on top of the blazingly fast Java NIO APIs, Gretty leverages Groovy as a domain-specific language for web endpoints and Grape&apos;s Maven-style dependency management. In this article, get started with using Gretty to build and deploy Java web service applications.

View entire article

Use PHP with Identi.ca, Part 1

Identi.ca is a popular free microblogging service that allows users to post status messages and news. Web application developers are able to create, access, and search these messages through the Identi.ca API. This two-part article introduces the Identi.ca API and illustrates how you use it with PHP to create dynamic web applications.

View entire article

Develop a Spring client for Android to a JAX-RS web service

Spring, a platform used to run Java enterprise applications, provides several benefits including increased productivity and runtime performance. Spring Android, an extension of the Spring framework, simplifies the development of Android apps. The main features of Spring Android are a REST client for Android and Auth support for accessing secure APIs. Learn to access a RESTful web service with the Spring Android REST Client.

View entire article

New things with jQuery, Part 1: Globalize

The new Globalize JavaScript plugin allows anyone to make their web application instantly support over 350 countries and languages with only a few lines of code. If your website has global customers, you need to adapt your website to them, and not make them adapt to your website. The Globalize plugin makes that easy, by using the power of client-side JavaScript.

View entire article

Awesome Audacity

Audacity is a sound-editing program with a complete set of tools for the visualization of stereo sound channels, and filters that allow you to easily modify select portions of the audio waveform. It is a programmable editor, so its functionality can be extended as the needs of your project extend. From making simple audio recordings to editing multi-channel productions, Audacity is simply awesome.

View entire article

Create GPS-enabling web applications

This article walks you through building the back end and front end of a GPS-enabled web application using PHP.

View entire article

Manage and convert electronic publications using Calibre

Calibre, an open source application, makes it easy to convert documents between different electronic publishing formats. Organizations can create documents in one format and use Calibre to quickly convert them to other formats, making those documents portable and easy for both internal users and customers to use.

View entire article