 |
 |
 |
 |
 |
 |
Discover Python, Part 8: Reading and writing data using Python's input and output functionality
In this article, you learn how to work with files. First, we review a simple way to output data in Python, using the print statement, then learn about the file object, which is used by Python programs to read and write data to a file. The different modes with which a file can be opened are demonstrated, and the article concludes by showing how to read and write a binary file.
|
 |
Articles |
 |
03 Jan 2006 |
|
| |
Charming Python: Preview of the [anygui] project
A very interesting project in the Python world has entered early development. The [anygui] project is intended as a wrapper API for a large number of underlying graphic toolkits. Once fully developed, a Python programmer will be able to call a common [anygui] function -- for example, to create a window -- then have the "best available" toolkit do the work. On Windows, the Win32 API might be used (or wxWindows); on MacOS, native calls; on BeOS, Bethon; on Linux, TKinter or GTK; on a telnet screen, ncurses -- all depending on what is installed and available on a given machine. This article discusses the current development state of [anygui], and the goals of the project.
|
 |
Articles |
 |
01 Oct 2001 |
|
| |
Charming Python: Iterators and simple generators
Python 2.2 introduces a new construct accompanied by a new keyword. The construct is generators; the keyword is yield. Generators make possible several new, powerful, and expressive programming idioms, but are also a little bit hard to get one's mind around at first glance. In this article, David provides a gentle introduction to generators, and also to the related topic of iterators.
|
 |
Articles |
 |
01 Sep 2001 |
|
| |
Charming Python: Functional programming in Python, Part 3
David Mertz illustrates currying and other higher-order functions contained in the Xoltar Toolkit.
|
 |
Articles |
 |
01 Jun 2001 |
|
| |
Charming Python: The dynamics of DOM
In this article, David Mertz examines in greater detail the use of the high-level xml.dom module for Python.
|
 |
Articles |
 |
01 Jul 2000 |
|
| |
Charming Python: Tinkering with XML and Python
A major element of getting started on working with XML in Python is sorting out the comparative capabilities of all the available modules. In this first installment of his new Python column, "Charming Python," David Mertz briefly describes the most popular and useful XML-related Python modules, and points you to resources for downloading individual modules and reading more about them. This article will help you determine which modules are most appropriate for your specific task.
|
 |
Articles |
 |
01 Jun 2000 |
|
| |
Python 3 primer, Part 2: Advanced topics
Python 3 is the latest version of Guido van Rossum's powerful
general-purpose programming language. It breaks backwards compatibility with
the 2.x line but has cleaned up some syntax issues. This second article builds
on the previous article. In Part 2 of this two-part series, discover more new Python features
and details on more advanced topics such as changes in abstract base classes,
metaclasses, and decorators.
|
 |
Articles |
 |
30 Jan 2009 |
|
| |
Charming Python: Distributing computing with RPyC
RPyC is a seamless library for integrating $@!LessThan!@$!--000 and interacting--$@!GreaterThan!@$ Python
processes on many machines/processes. This article looks at the advantages or
drawbacks RPyC has over other distributed Python frameworks such as XML-RPC
and Pyro. A few simple examples of using RPyC are included to give you a
feel for the library.
|
 |
Articles |
 |
31 Mar 2009 |
|
| |
Discover Python, Part 9: Putting it all together
Previous articles in this Discover Python series have discussed a number of topics that confront beginning Python programmers, including variables, container objects, and compound statements. This article builds on these concepts to construct a complete Python program. It introduces Python functions and modules and shows how to build a Python program, store it in a file, and run it from the command line.
|
 |
Articles |
 |
31 Jan 2006 |
|
| |
Charming Python: Using the xinetd program for system administration
Every UNIX administrator is familiar with inetd, the daemon that manages most incoming network connections through a centralized configuration file (inetd.conf). The xinetd daemon is a replacement for inetd that offers many improved or new features, and easier configuration. Ted explains the concepts behind inetd, and gives examples for setting up xinetd at your own site.
|
 |
Articles |
 |
01 Nov 2001 |
|
| |
Charming Python: Easy Web data collection with mechanize and Beautiful Soup
For collecting data from Web pages, the mechanize library automates
scraping and interaction with Web sites. Mechanize lets you fill in forms and
set and save cookies, and it offers miscellaneous other tools to make a Python
script look like a genuine Web browser to an interactive Web site. A
frequently used companion tool called Beautiful Soup helps a Python program
makes sense of the messy "almost-HTML" that Web sites tend to
contain.
|
 |
Articles |
 |
24 Nov 2009 |
|
| |
Discover Python, Part 7: Explore the Python type hierarchy
This article returns to the exploration of the Python type hierarchy and introduces the Python dictionary container type. Unlike the Python tuple, string, and list container types discussed in previous articles, the dictionary type is an unordered container that relies on a key-to-value mapping. As a result, items in a dictionary are accessed by a key value and not by their location within a sequence. The unique features of the dictionary type may seem unusual, but they provide a great deal of power when used properly.
|
 |
Articles |
 |
06 Dec 2005 |
|
| |
Discover Python, Part 6: Programming in Python
This article explores the Python for loop. The for loop is used to iterate through the items in a Python collection, including the Python tuple, string, and list container types discussed in previous "Discover Python" articles. The for loop can also be used to access elements from a container type by using the range (or xrange) method. In addition, you can use the range method to execute a group of statements a specific number of times within a for loop.
|
 |
Articles |
 |
25 Oct 2005 |
|
| |
Discover Python, Part 5: Programming in Python
This article begins to demonstrate how to do things in Python by focusing on flow control, which is one of the simplest methods for writing programs. In this programming model, data is manipulated -- perhaps from a user interface, sensors, or a file; depending on the value of the data or resulting expressions, different actions are taken. Python provides several flow control mechanisms. This article discusses the if statement, and the while and for loops.
|
 |
Articles |
 |
20 Sep 2005 |
|
| |
Charming Python: Scaling a new PEAK
The Python Enterprise Application Kit (PEAK) is a Python framework for rapidly developing and reusing application components. While Python itself is already a very high-level language, PEAK provides even higher abstractions. One fairly recent capability added to PEAK is the capability to create generic functions and specifically to dispatch them on predicates, not simply on type. Sounds mysterious? Let's investigate.
|
 |
Articles |
 |
15 Sep 2005 |
|
| |
Discover Python, Part 2: Explore the Python type hierarchy
The Python programming language is a simple yet powerful language. This article explores the object nature of the language, initially for the built-in simple types. The Python tuple class is also introduced and used to demonstrate the concept of a container type.
|
 |
Articles |
 |
31 May 2005 |
|
| |
Discover Python, Part 1: Python's built-in numerical types
The flexible nature of the Python programming language supports multiple programming philosophies, including procedural, object-oriented, and functional. But most importantly, programming in Python is fun. The language supports rather than hinders the development process. This article, the first in a series on Python programming, introduces Python and its built-in numerical types.
|
 |
Articles |
 |
03 May 2005 |
|
| |
Charming Python: TK programming in Python
David Mertz introduces TK and the Tkinter wrapper (Python's GUI library) with source code samples accompanied by detailed running commentary. To make life easy, he illustrates his examples with the GUI port of the Txt2Html front-end that he's used in many of his earlier articles. He assumes, of course, that you follow his column regularly. :)
|
 |
Articles |
 |
01 Dec 2000 |
|
| |
Python 3 primer, Part 1: What's new
Python 3 is the latest version of Guido van Rossum's powerful
general-purpose programming language. It breaks backwards compatibility with
the 2.x line but has cleaned up some syntax issues. This article is the first
in a series that talks about the changes that affect the language and
backwards compatibility, and it provides examples of new
features.
|
 |
Articles |
 |
19 Dec 2008 |
|
| |
Charming Python: Python elegance and warts, Part 2
In this series of two articles, David discusses the non-obvious features and
misfeatures that have been added to the last several Python versions, with the goal
of helping part-time Python programmers uncover the gems while avoiding the
pitfalls. This installment adds attributes and methods, descriptors, and properties
to the discussion.
|
 |
Articles |
 |
29 Aug 2007 |
|
| |
Charming Python: Python elegance and warts, Part 1
Since the "golden age" of Python 1.5.2 -- for a long time a stable and solid
version -- Python has greatly increased its number of syntactic features and
built-in functions and types. Each of these additions has reasonable justification,
in isolation, but taken as a whole, they make Python no longer a language that
experienced programmers can pick up "in an afternoon." Moreover, some of the changes
have pitfalls along with benefits.
|
 |
Articles |
 |
28 Mar 2007 |
|
| |
Charming Python: Hatch Python eggs with setuptools
David takes a look at the setuptools framework, a side project of the Python Enterprise Application Kit (PEAK). setuptools replaces the standard distutils library and adds versioned package and dependency management to Python. Perl users will be familiar with CPAN, and Ruby users with Gems; the tool ez_setup that bootstraps setuptools and the expanded easy_install that comes with it act in conjunction with "Cheeseshop" (the Python Package Index, also called "PyPI") to achieve the same thing. Moreover, setuptools lets you package your libraries in a single-file archive called an "egg," which is a lot like a Java JAR file, but for Python.
|
 |
Articles |
 |
24 Oct 2006 |
|
| |
Python Web frameworks, Part 2: Web development with TurboGears and Python
In this second article of a two-part series, we demonstrate TurboGears, another open source MVC-style Web application framework based on Python. Where the first article was an introduction to the Django framework, this one shows how to use TurboGears to create a Web-based shopping application and concludes with a comparison between Turbogears and Django.
|
 |
Articles |
 |
11 Jul 2006 |
|
| |
Discover Python, Part 4: Explore the Python type hierarchy
Python provides a number of useful features, of which the list class is one of the most important. This article introduces the list class and demonstrates some of the many ways in which you can use it to simplify difficult programming tasks.
|
 |
Articles |
 |
30 Aug 2005 |
|
| |
Python Web frameworks, Part 1: Develop for the Web with Django and Python
In this first article of a two-part series, we show off Django, an open-source model-view-controller (MVC)-style Web application framework powered by the Python programming language. With Django, you can create high-quality, easy-to-maintain, database-driven Web applications in minutes.
|
 |
Articles |
 |
06 Jun 2006 |
|
| |
Discover Python, Part 3: Explore the Python type hierarchy
Unlike many other programming languages, the Python language does not include a special data type to handle a single character, such as "a" or "z." In contrast, Python takes a different approach: It uses a class designed especially for holding sequences of characters. This article introduces the string class and demonstrates different ways in which you can use a string within Python.
|
 |
Articles |
 |
02 Aug 2005 |
|
| |
Charming Python: Numerical Python
Numerical Python (often called NumPy) is a widely used extension library for fast operations on fixed-type arrays, of any dimensionality, in Python. Since the underlying code is well-optimized C, any speed limitations of Python's interpreter usually go away when major operations are performed in NumPy calls. As successful as NumPy has been, its developers have decided to supercede NumPy with a new module called Numarray that is mostly, but not quite entirely, compatible with NumPy. In this installment, David looks both at the general features of NumPy and at the specific improvements forthcoming with Numarray.
|
 |
Articles |
 |
30 Oct 2003 |
|
| |
Charming Python: Parsing with the SimpleParse module
Many parsing tools have been written for Python. This column discusses a high-level parsing language built on top of Python.
|
 |
Articles |
 |
01 Jan 2002 |
|
| |
Develop applications using Python and DB2 Express-C
Python is an incredibly powerful, general purpose, high-level, object-oriented, dynamically-typed programming language that is easy to read and understand, and fun to write. To make it really exciting, all we need do is to be able to connect it to an equally powerful, and attractively priced version of the IBM DB2 core engine. DB2 Express-C is a no-charge data server for use in development and deployment, that allows us to do this. This article provides step-by-step instructions for obtaining, installing, and configuring all that you need in order to use Python to connect to, and start using a DB2 Express-C instance.
|
 |
Articles |
 |
22 Jun 2006 |
|
| |
Get started with an open source CMS, Part 6: Build a Python WebDAV client for Jakarta Slide
Want to learn how to build Python applications? In this tutorial -- the sixth in the series -- you'll create a Python Web-based Distributed Authoring and Versioning (WebDAV) client for Jakarta Slide that, in turn, lets you build Python applications for content management. Upon completion, you'll be able to access the Slide or any other WebDAV server from your Python applications. From there, you can start thinking about what else you can use the Python davclientlib for, which can grow to meet your future needs.
|
 |
Tutorials |
 |
02 May 2006 |
|
| |
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.
|
 |
Tutorials |
 |
03 Feb 2009 |
|
| |
Python development with Eclipse and Ant
Python is a very flexible and powerful dynamic scripting language with full object oriented features. This article highlights the use of the popular Java technology-based Eclipse and Ant development tools for Python development.
|
 |
Articles |
 |
15 Jun 2004 |
|
| |
Embed Python scripting in C applications
Learn how to embed Python applications into your C applications. This tutorial explains how Python embedding works, shows you how to translate between data types, and provides various methods for embedding Python scripts.
|
 |
Tutorials |
 |
29 Mar 2005 |
|
| |
Charming Python: Review of Python IDEs
David looks at four open source development environments for working with Python code on Unix-like operating systems. He evaluates two general-purpose editors/environments and two Python-specific ones, and compares the merits of each.
|
 |
Articles |
 |
11 Dec 2003 |
|
| |
Guide to Python introspection
Introspection reveals useful information about your program's objects. Python, a dynamic, object-oriented programming language, provides tremendous introspection support. This article showcases many of its capabilities, from the most basic forms of help to the more advanced forms of inquisition.
|
 |
Articles |
 |
01 Dec 2002 |
|
| |
High-performance XML parsing in Python with lxml
lxml is a fast yet flexible library for XML processing in Python. It comes
bundled with support for XML Path Language (XPath) and Extensible Stylesheet
Language Transformation (XSLT), and it implements the familiar ElementTree API. In
this article, you focus both on the ease of use provided by lxml and on its
high-performance profile when processing very large XML data.
|
 |
Articles |
 |
28 Oct 2008 |
|
| |
Metaclass programming in Python, Part 3
Too much cleverness in programming makes designs more complicated, code more
fragile, learning curves steeper, and worst of all, it makes debugging harder.
Michele and David feel, in part, responsible for some excesses of cleverness that
followed the enthusiastic reception of their earlier articles on Python metaclasses.
In this article, they attempt to make amends, by helping programmers eschew
cleverness.
|
 |
Articles |
 |
25 Sep 2007 |
|
| |
Python for system administrators
Adopt Python to manage UNIX(R) systems while incorporating concepts of good program
design. Python is an easy-to-learn, open source scripting language that lets system
administrators do their job more quickly. It can also make tasks more fun.
|
 |
Articles |
 |
07 Sep 2007 |
|
| |
Build a simple C++ service component, Part 2: Using Python, Ruby, and Web services with the service component architecture
You can use your existing code to create service components. Learn how to expose your scripts as SCA components and Web services using the Python, Ruby,
and Web services support in Apache Tuscany SCA for C++. Create reusable, composable
SCA components that are linked together within composites and exposed and invoked
using whichever technologies are most suitable to the system being built.
|
 |
Articles |
 |
03 May 2007 |
|
| |
Sockets programming in Python
This tutorial shows how to develop sockets-based networking applications using Python. In this tutorial, you first learn a few Python basics and see why Python makes a good network programming language. Then you move on to the basic sockets features of Python, using a sample chat application as a guide, and look at several other, high-level, classes that provide asynchronous communications.
|
 |
Tutorials |
 |
04 Oct 2005 |
|
| |
Connect to Apache Derby databases using Python
Using Python to manipulate Derby databases allows us to quickly and easily explore, learn, and prototype relational database applications.
|
 |
Articles |
 |
19 May 2005 |
|
| |
Building and filling out templates with Python and Cheetah
After reading this article, you'll be able to generate any kind of text-based content with Python scripts and Cheetah templates. Cheetah templates are easy to understand and maintain, and they help you separate the static parts of a document from the dynamic parts.
|
 |
Articles |
 |
09 Aug 2005 |
|
| |
Connecting databases to Python with SQLObject
An object-relational mapping tool helps improve your productivity by providing classes and objects to manipulate database tables. The best object-relational mapping tool for Python is SQLObject -- an open-source project that does just about everything you might need to program a database. This article introduces SQLObject and its capabilities. After reading this article, you'll be able to connect Python to databases without writing any SQL code.
|
 |
Articles |
 |
02 Aug 2005 |
|
| |
Weave a neural net with Python
Hopfield nets are one of the easier neural net models to understand -- and they can be useful, too. The main ability of the Hopfield net is to undo noise and reconstruct known patterns. Python programmer Andrew Blais is your guide to learning more about Hopfield nets, and exploring his net.py application.
|
 |
Articles |
 |
15 Jun 2004 |
|
| |
GTK+ fundamentals, Part 2: How to use GTK+
This article, the second in a three-part series titled "GTK+ fundamentals," introduces you to programming with GTK+. It analyzes a sample GTK+ application written in C, then shows that same application written in Python and C#. Finally, it discusses some useful tools that can help you develop better applications faster with GTK+.
|
 |
Articles |
 |
10 Jan 2006 |
|
| |
An introduction to neural networks
Neural nets may be the future of computing. A good way to understand them is with a puzzle that neural nets can be used to solve. Suppose that you are given 500 characters of code that you know to be C, C++, Java, or Python. Now, construct a program that identifies the code's language. One solution is to construct a neural net that learns to identify these languages. This article discusses the basic features of neural nets and approaches to constructing them so you can apply them in your own coding.
|
 |
Articles |
 |
01 Jul 2001 |
|
| |
MySQL for Linux on POWER, Part 1: Introduction to creating a database
Learn about the availability of MySQL Database Server for Linux(R) running on IBM(R) POWER(TM) and PowerPC(R) processor-based servers (collectively referred to as Linux on POWER). As a brief guide for application developers using MySQL on Linux on POWER, this paper is intended for MySQL developers and database administrators who are familiar with their system environment, networks, media devices, and disk resources. In Part 2 of this article, read about developing applications for MySQL using PHP, C/C++, Java, Perl, and Python.
|
 |
Articles |
 |
05 Apr 2005 |
|
| |
Conversing through the Internet with cURL and libcurl
cURL is a command-line tool that speaks a number of protocols for file
transfer, including HTTP, FTP, Secure Copy (SCP), Telnet, and others. But in addition to
conversing with endpoints over the Internet from the command line, you can
also write simple to complex programs using libcurl to automate application-layer protocol
tasks. This article introduces the cURL command-line tool, then shows you how to build an HTTP client in C and Python using libcurl.
|
 |
Articles |
 |
08 Sep 2009 |
|
| |
Deploying Django applications to a production server
Django is a Python-based open source Web application framework that
focuses on making the process of creating database-driven Web sites and Web
applications easier. Getting started with developing Django applications is
simple, as a development Web server is included with the framework. However,
this server is not suitable for use in a production environment, so further
steps are required to deploy your Django application to the Web. In
this article, you will learn about the Django framework and how to install it
on your local machine. Discover how a Django application is made and
about the automatic administration interface created for your application. You
will then find out how to deploy your Django application to the Web on a
server running Apache and mod_python. Finally, learn how Django
applications can and should be scaled as your application's requirements
grow.
|
 |
Articles |
 |
07 Apr 2009 |
|
| |
Google App Engine for Java: Part 1: Rev it up!
Remember when Google App Engine was just for Pythonistas? Those
were some dark days. Google Inc. opened up its cloud-computing platform to
Java developers in April 2009. In this three-part article series, Java technology author and
trainer Rick Hightower gets you started with this reliable, robust, and fun platform
for Java-based development. In this article, you'll get an overview of why Google App
Engine for Java could
be the deployment platform for your next highly scalable killer app, then start using
the Google Plugin for Eclipse to build two example apps: one based on Google Web Toolkit (GWT) and one based on the Java Servlet API. You'll learn for yourself what a difference Google App
Engine for Java makes, both in building out an application from scratch and in deploying it to the tune of up to five million views. (And that's just the free version.)
|
 |
Articles |
 |
11 Aug 2009 |
|
| |
New to Open source
This guide places all the basics of open source in context to help you get started in the most wide-ranging, growing, and dynamic field of software development today. The open source zone is your source for how-to information, tools, and project updates to help you develop with open source technologies and use them with IBM's products. Topic areas include Eclipse, Apache, Derby/Cloudscape, Linux, scripting languages such as PHP, Perl, and Python, as well as broader discussions on licensing and open source development.
|
 |
|
 |
22 Aug 2007 |
|
| |
Build a Twitter Web application
Learn how to create a Twitter-enabled Web 2.0-style application using Django, jQuery,
and the python-twitter wrapper that you can easily use and plug in to your own Django
project. With this application, you'll be able to see recent tweets, post updates, and show
your friends and followers.
|
 |
Articles |
 |
24 Nov 2009 |
|
| |
CherryPy for CGI programmers
The CherryPy application framework for Python makes Web applications easier to write than plain Common Gateway Interface (CGI). At the same time, it's simple -- not full of little-used features -- and easy to learn. This introduction shows everything needed to write Web applications with CherryPy.
|
 |
Articles |
 |
16 Aug 2005 |
|
| |
MySQL for Linux on POWER, Part 2: Developing applications
In this second, and final, part of this series, learn more about the availability of MySQL Database Server for Linux(TM) running on IBM(R) POWER(TM) and PowerPC(R) processor-based servers (collectively referred to as Linux on POWER). Part 2 focuses on developing applications for MySQL in some of the major programming languages, such as PHP, Java(TM), C/C++, Python, and Perl. As a brief guide for application developers using MySQL on Linux on POWER, this paper is intended for MySQL developers and database administrators who are familiar with their system environment, networks, media devices, and disk resources.
|
 |
Articles |
 |
07 Apr 2005 |
|
| |
Develop a GPS-aware application for the Nokia N810, Part 1: Development environment
Learn how to configure a development environment targeted at the Nokia
N810 Internet Tablet, including setting up Eclipse on a target development
machine for the Python language.
|
 |
Articles |
 |
16 Dec 2008 |
|
| |
Cloud computing with Amazon Web Services, Part 5: Dataset processing in the cloud with SimpleDB
Learn basic Amazon SimpleDB (SDB) concepts and explore some of the functions
provided by boto, an open source Python library for interacting
with SDB. In this "Cloud computing with Amazon Web Services" series, learn about cloud computing using Amazon Web Services. Explore how the services provide a compelling alternative for architecting and building scalable, reliable applications. In this article, learn some of the basic concepts and check out some of the functions provided by boto.
|
 |
Articles |
 |
10 Feb 2009 |
|
| |
Cloud computing with Amazon Web Services, Part 4: Reliable messaging with SQS
Learn basic Amazon SimpleDB (SDB) concepts and explore some of the functions
provided by boto, an open source Python library for interacting
with SDB. In this "Cloud computing with Amazon Web Services" series, learn about cloud computing using Amazon Web Services. Explore how the services provide a compelling alternative for architecting and building scalable, reliable applications.
In this article, learn about the
reliable and scalable messaging service provided by Amazon Simple Queue Service (SQS).
|
 |
Articles |
 |
02 Dec 2008 |
|
| |
Programming Linux sockets, Part 2
This intermediate-level tutorial extends the basics covered in Part 1 on programming using sockets. Part 2 focuses on the User Datagram Protocol (UDP) and demonstrates how to write UDP sockets applications in C and in Python. Although the code examples in this tutorial are in Python and C, they translate well to other languages.
|
 |
Tutorials |
 |
25 Jan 2004 |
|
| |
Programming Linux sockets, Part 1
This introductory-level tutorial shows how to begin programming with sockets. Focusing on C and Python, it guides you through the creation of an echo server and client, which connect over TCP/IP. Fundamental network, layer, and protocol concepts are described, and sample source code abounds.
|
 |
Tutorials |
 |
28 Oct 2003 |
|
| |
Introducing the JyDT plug-in for Eclipse
The JyDT plug-in enables Eclipse to work as a Jython/CPython IDE. This tutorial
provides a brief description of the JyDT project and how to configure it. Learn to use
the PyDev perspective and explorer, compile and run code, use the debugger, do unit
testing, refactor, manage Python projects, and use the editor and IDE.
|
 |
Tutorials |
 |
29 Apr 2008 |
|
| |
Cloud computing with Amazon Web Services, Part 3: Servers on demand with EC2
Learn basic Amazon SimpleDB (SDB) concepts and explore some of the functions
provided by boto, an open source Python library for interacting
with SDB. In this "Cloud computing with Amazon Web Services" series, learn about cloud computing using Amazon Web Services. Explore how the services provide a compelling alternative for architecting and building scalable, reliable applications. This article introduces you to the
virtual servers provided by Amazon Elastic Compute Cloud (EC2).
Learn how EC2 can help you configure your applications' computing requirements
on the fly and adjust capacity based on demand.
|
 |
Articles |
 |
14 Oct 2008 |
|
| |
Desktop development for the OLPC laptop
The XO laptop (of the One-Laptop-Per-Child initiative) is an inexpensive
laptop project intended to help educate children around the world. The laptop
includes many innovations, such as a novel, inexpensive, and durable hardware design
and the use of GNU/Linux as the underlying operating system. The XO also includes an
application environment written in Python with a human interface called Sugar,
accessible to everyone (including kids). This article is excerpted from the
developerWorks tutorial "Application development for the OLPC laptop," which takes a
look at the Sugar APIs and shows how to develop and debug a graphical activity in
Sugar using Python.
|
 |
Articles |
 |
26 Feb 2008 |
|
| |
Cloud computing with Amazon Web Services, Part 2: Storage in the cloud with Amazon Simple Storage Service (S3)
Learn basic Amazon SimpleDB (SDB) concepts and explore some of the functions
provided by boto, an open source Python library for interacting
with SDB. In this "Cloud computing with Amazon Web Services" series, learn about cloud computing using Amazon Web Services. Explore how the services provide a compelling alternative for architecting and building scalable, reliable applications. This article delves into the highly
scalable and responsive services provided by Amazon Simple Storage Service (S3).
Learn about tools for interacting with S3, and use code samples to experiment
with a simple shell.
|
 |
Articles |
 |
19 Aug 2008 |
|
| |
Application development for the OLPC laptop
The XO laptop (of the One-Laptop-Per-Child initiative) is an inexpensive
laptop project intended to help educate children around the world. The XO laptop
includes many innovations, such as a novel, inexpensive, and durable hardware design
and the use of GNU/Linux as the underlying operating system. The XO also includes an
application environment written in Python with a human interface called Sugar,
accessible to everyone (including kids). Explore the Sugar APIs and learn how to
develop and debug a graphical activity in Sugar using Python.
|
 |
Tutorials |
 |
18 Dec 2007 |
|
| |
Cloud computing with Amazon Web Services, Part 1: Introduction
Learn basic Amazon SimpleDB (SDB) concepts and explore some of the functions
provided by boto, an open source Python library for interacting
with SDB. In this "Cloud computing with Amazon Web Services" series, learn about cloud computing using Amazon Web Services. Explore how the services provide a compelling alternative for architecting and building scalable, reliable applications. This first article explains the features of the
building blocks of
this virtual infrastructure. Learn how you can use Amazon Web Services to build
Web-scale systems.
|
 |
Articles |
 |
29 Jul 2008 |
|
| |
Real Web 2.0: Bookmarks? Tagging? Delicious!
In this article, you'll learn how to work with del.icio.us, one of the classic Web 2.0 sites, using Web XML feeds and JSON, in Python and ECMAScript. When you think of Web 2.0 technology, you might think of the latest Ajax tricks, but that is just a small part of the picture. More fundamental concerns are open data, simple APIs, and features that encourage users to form social networks. These are also what make Web 2.0 a compelling problem for Web architects. This column will look more than skin deep at important real-world Web 2.0 sites and demonstrate how Web architects can incorporate the best from the Web into their own Web sites.
|
 |
Articles |
 |
26 Oct 2006 |
|
| |
Network programming with the Twisted framework, Part 3
In the previous installment of this series, David looked at some higher-level techniques for writing Web services, including serving dynamic pages using the .rpy extension. In this article, he moves on to look at dynamic Web serving, and how to generate dynamic Web pages using the Woven application for templating pages.
|
 |
Articles |
 |
07 Aug 2003 |
|
| |
Connect to Apache Derby databases using Jython
Using Jython to manipulate Derby databases allows us to quickly and easily explore, learn, and proptotype relational database applications.
|
 |
Articles |
 |
17 Feb 2005 |
|
| |
Ganglia and Nagios, Part 2: Monitor enterprise clusters with Nagios
This is the second article in a two-part series that looks at a hands-on
approach to monitoring a data center using the open source tools Ganglia and
Nagios. In Part 2, learn how to install and configure Nagios, the popular open
source computer system and network monitoring application software that
watches hosts and services, alerting users when things go wrong. The article
also shows you how to unite Nagios with Ganglia (from Part 1) and add two
other features to Nagios for standard clusters, grids, and clouds to help with
monitoring network switches and the resource manager.
|
 |
Articles |
 |
25 Mar 2009 |
|
| |
Welcome to the Open source zone
IBM is launching a revamped developerWorks Open source zone, which will deliver more articles, resources, tools, and tutorials that support major industry open source initiatives, including Linux, Apache, Derby, Globus, and Eclipse. Learn how you can benefit.
|
 |
Articles |
 |
25 Feb 2005 |
|
| |
Better Django models
After graduating from the five-minute wiki to real-life applications, Django programmers
can easily create confusing, hard-to-maintain, or inefficient model classes. Learn how to
avoid common querying mistakes, use model managers to encapsulate complex queries,
and take advantage of the powerful new aggregation features available in Django V1.1.
|
 |
Articles |
 |
19 May 2009 |
|
| |
Ganglia and Nagios, Part 1: Monitor enterprise clusters with Ganglia
This is the first article in a two-part series that looks at a hands-on
approach to monitoring a data center using the open source tools Ganglia and
Nagios. In Part 1, see how to install and configure
Ganglia, the scalable, distributed monitoring system for high-performance
clusters based on a hierarchical design. Also learn how to
add more monitoring capability by writing Ganglia plug-ins and by enabling
external-source spoofing.
|
 |
Articles |
 |
04 Mar 2009 |
|
| |
Using E4X on the server-side with Jaxer
The ECMAScript for XML (E4X) standard gives JavaScript developers a powerful API to work with XML. As it is not supported in Internet Explorer, you might not get to use it often. That is not an issue if you use JavaScript on the server with Jaxer. In this article, you see how JavaScript and E4X make it easy to work with XML on the server. Combine this key ingredient with Jaxer to create Ajax applications using nothing but JavaScript.
|
 |
Articles |
 |
03 Mar 2009 |
|
| |
Doing more with the Django admin
The built-in administration console provided by Django is one of its biggest
selling points. What if you need to customize more than just the
look and feel and a couple of model fields? Find out how
to extend the existing admin application without ever modifying
the source.
|
 |
Articles |
 |
26 May 2009 |
|
| |
Creating mashups on the Google App Engine using Eclipse, Part 3: Using RESTful Web services
Social networks are making it easier to take data and mash it up to create
innovative Web applications. You still, however, must deal with all the usual issues
with creating a scalable Web application. Now the Google App Engine (GAE) makes that
easier for you. With it, you can forget all about managing pools of application servers,
and, instead, you can concentrate on creating a great mashup. In this article, the
last of a three-part "Creating mashups on the Google App Engine using Eclipse" series, we will take the
application built in the first two parts and further enhance it. We will add the
ability to view other users of the app and subscribe to their aggregate feeds. We
will then complete the mashup circle by exposing the app as a Web service that can be used by other mashups.
|
 |
Articles |
 |
19 Aug 2008 |
|
| |
Creating mashups on the Google App Engine using Eclipse, Part 2: Building the Ajax mashup
Social networks are making it easier to take data and mash it up to create
innovative Web applications. You still, however, must deal with all the usual issues
with creating a scalable Web application. Now the Google App Engine (GAE) makes that
easier for you. With it, you can forget all about managing pools of application servers,
and, instead, you can concentrate on creating a great mashup. In this article, the
second of a three-part "Creating mashups on the Google App Engine using Eclipse" series, we will take the application we built in Part 1 and
enhance it. We will improve its performance by using more data-modeling features of
GAE. We will then take that performance even further by using GAE's Memcache services.
|
 |
Articles |
 |
12 Aug 2008 |
|
| |
Creating mashups on the Google App Engine using Eclipse, Part 1: Creating the application
Tapping into social software can be a great way to add value to your
application. Social networks are making it easier to take data and mash it up to
create innovative new Web applications. However, you must still deal with all the
usual issues of creating a scalable Web application. Now the Google App Engine (GAE)
makes that easier, as well. With the GAE, you can forget all about managing pools of
application servers. You do not have to worry about storing huge amounts of static
content and dynamic data. Instead, you can concentrate on creating a great mashup. In
this article, the first of a three-part "Creating mashups on the Google App Engine using
Eclipse" series, we see how to get started developing GAE applications, and we will
take a look at how to use Eclipse to make GAE development even easier.
|
 |
Articles |
 |
05 Aug 2008 |
|
| |
Lightweight Web servers
Recent years have enjoyed a florescence of interesting implementations of
Web servers, including lighttpd, litespeed, and mongrel, among others. These Web
servers boast different combinations of performance, ease of administration,
portability, security, and related values. The following engineering study surveys the field of lightweight Web servers to help you find one likely to meet the technical requirements of your next project.
|
 |
Articles |
 |
10 Jul 2007 |
|
| |
Build cross-platform GUIs using wxWidgets
The wxWidgets toolkit contains powerful, cross-platform tools for graphical user interface (GUI) development. In addition to its native C++, several languages offer wrappers for use with the toolkit. Learn how to use the wxWidgets toolkit to create elegant and highly useful GUIs in your programming language of choice.
|
 |
Articles |
 |
21 Sep 2006 |
|
| |
Build cross-platform GUIs using wxWidgets
The wxWidgets toolkit contains powerful, cross-platform tools for graphical user interface (GUI) development. In addition to its native C++, several languages offer wrappers for use with the toolkit. Learn how to use the wxWidgets toolkit to create elegant and highly useful GUIs in your programming language of choice.
|
 |
Articles |
 |
21 Sep 2006 |
|
| |
Thoughts from OSCON 2009: Open government, concurrency
The O'Reilly Open Source Convention (OSCON) is nothing if not a place
to collect one's deeper thoughts around software development. The 2009
convention offered more than its share of inspiration, but David Mertz
whittled the schedule down and focused on two very different but important
areas: open government and concurrency.
|
 |
Articles |
 |
12 Aug 2009 |
|
| |
Build Wikipedia query forms with semantic technology
By providing open access to increasing amounts of Linked Data, public SPARQL endpoints boost the growth of the Semantic Web by providing great data for you to use in your applications. As with many other data-driven Web sites out there, you can create a Web page by sending a query to these endpoints and then wrapping the results in HTML tags; the big difference for SPARQL endpoints is the public availability of this new data for your applications. With simple CGI scripting, get data from two different SPARQL endpoints to build applications that answer your user's questions about actors shared between two directors and which musicians have released which albums.
|
 |
Articles |
 |
21 Jul 2009 |
|
| |
Network programming with the Twisted framework, Part 4
In this final installment of his series on Twisted, David looks at specialized protocols and servers contained in the Twisted package, with a focus on secure connections.
|
 |
Articles |
 |
11 Sep 2003 |
|
| |