20041005

DevX: Fast, Easy Database Access with Python

"Have you ever found it tedious to mix SQL and other languages, or been reluctant to write the same four lines of code again to do a simple database query? This article can help you eliminate the drudgery involved in database access, and make your programming time more efficient, by wrapping simple transactions in friendly native Python syntax. By making the database emulate regular Python objects, you can remove a source of friction and frustration from your development process. Your time spent programming will be more efficient and productive when you can focus on the task at hand, without being constantly sidetracked by unimportant details like where the cursor object is, or whether you need to escape-protect the data in the next query.

"Another benefit of using native syntax is better portability. This approach makes it easy for you to change databases without having to rewrite any of your application code. Simply modify a few lines in the database wrapper, and you can support an entirely new database. Though this article focuses on MySQL, the code should work easily with PostgreSQL or even SQLite with only minor modifications..."

Complete Story

20040929

Want to impress your friends with Linux? Use 3D-Desktop!

3D-Desktop is pager (desktop switcher) that gives you a very impressive 3D overview of all your desktops and also allows you to switch between your desktops in a very fancy 3D box type way.

ONE source, MULTI targets

Txt2tags is a document generator. It reads a text file with minimal markup as **bold** and //italic// and converts it to the following formats:

- HTML document
- XHTML document
- SGML document
- LaTeX document
- UNIX man page
- MoinMoin page
- Magic Point presentation (mgp)
- PageMaker 6.0 document

20040920

Formatting documents with OpenOffice.org Writer macros

OpenOffice.org uses StarBasic as its macro language. I won't go into details of the language itself, but the examples given here should be easy to understand if you have some programming experience. You can find tutorials and general information regarding StarBasic macros, along with information on OpenOffice.org scripting, elsewhere on the Web.

20040916

Publishing XML Documents in PDF and HTML with Cocoon

Cocoon can create result documents in a variety of formats, including HTML and PDF. Cocoon's popularity reflects that of the Adobe's PDF format, which most vendors prefer for e-mailing richly formatted printable documents and reports. Cocoon converts not only text content, but also graphs and images. This article focuses on using Cocoon to dynamically generate HTML and PDF.

ObjectWeb: Open Source Middleware

ObjectWeb is an international consortium fostering the development of open-source middleware for cutting-edge applications: EAI, e-business, clustering, grid computing, managed services and more.

20040912

Collaborative Document Editing with svk

svk (http://svk.elixus.org/) is a new version control system that is easy to use for maintaining translated versions of documents. After all, it's pointless to use software that brings you more overhead than the time you can save.

20040903

The eric3 Python IDE

eric3 is a full featured Python IDE that is written in PyQt using the QScintilla editor widget. For information on PyQt and QScintilla please see Riverbank Computing. Please note, that eric3 needs Qt 3.1 or newer, PyQt 3.6 or newer (not PyQt 3.9) and QScintilla 1.0 or newer.
Note: In order to use eric3 under Win... operating systems you need a commercial or educational license of Qt 3.1 (or newer) from Trolltech and the corresponding license of PyQt (which includes QScintilla) from Riverbank.

XML & DocBook: Structured Technical Documentation Authoring

...DocBook is an XML Document Type Definition or DTD. It is a subset of XML particularly suited for but not limited to the creation of books and papers about computer hardware and software. DocBook is well-known in the Linux community and is used by many publishing companies and open-source development projects. Most tools are developed for the DocBook DTD and are included in most Linux distributions. This allows for sending raw data that can be processed at the receiver's end--wherever applications able to interpret XML directly are available...

JAYA123: THE SMALL BUSINESS WEB-BASED SOLUTION

JAYA is a web-based enterprise application that allows you to run your business from anywhere in the world. It does all your invoicing, order entry, inventory, billing, financials, customer management, reporting, and more.

Jaya123, using LAMP (Linux, Apache, MySQL, and PHP) components.

20040902

Orbeon Integration Suite: Open Source Business Integration

The Orbeon Integration Suite (OIS) open source project offers a modular, enterprise-ready, ESB-based business integration software suite that provides a viable option to commercial ESB products. Some components of the suite are being developed by the OIS community, while others are being sourced from complimentary open source projects.

Similar to the JBoss J2EE application server, the OIS project uses the commercial and community friendly LGPL open source license. For more information on the LGPL, the JBoss Group does a very nice job of describing the features and rationale behind for choosing it, which we are pleased to JBoss reference here.

20040820

Steal My Business Model

If open-source software is supposed to be free, how the heck does anyone selling it make any money? (Don't give me a funny look. You'd be surprised at how often I hear that.) Here's a hint: It's not that different from how other software companies make money...

20040819

OOo Off the Wall: Getting in the Frame

The more complex your documents, however, the more you should know about how to use frame styles. The number of options available are extensive enough that you can fine-tune a frame's look and behavior almost as much as you can in a desktop publishing program. You even can add blank frames (also called text frames) and arrange them so that text flows automatically from one frame to another. This feature allows the automation of complicated layouts, such as folded brochures or newsletters in which a story begins on one page and ends on the next. Beyond a doubt, knowing how to format text frames can give your document design an extra edge...

UserLinux

UserLinux: An Important Step

Going open source: A manager's guide to doing it right

...The choice to release software to open source is based on one of two very general reasons: either to gain a marketing benefit, or to gain a software development benefit. The marketing benefit derives from the fact that open source software is freely available ("free" as in beer). The development benefit derives from the fact that the source is freely modifiable and redistributable ("free" as in speech). Some open source releases involve a gray area, where both marketing effects and development effects come into play...

20040817

Running a Successful Open Source Project

Ever have a really cool project or program you wanted to share with the world? Concerned and worried about how to do it right? Or have you already released a project only to find no one cared? Ever wonder what went wrong?...

20040815

微型的知識專案

同儕協助
是為了在進行工作之前,先學習方法。

行動後檢討(After Action Reviews, AARs)
是邊做邊學,在事件的最後利用大約15分鐘的時間進行檢討。工作之後,提出4個問題審核:
  1. 應該發生什麼是?
  2. 實際發生什麼事?
  3. 為什麼會有差異?
  4. 我們可以從中學到什麼以及如何改進?
秘訣就是得保持簡單化,並且掌握每一個檢討的機會,直到成為習慣性。

回溯法
是 一種更複雜的事後檢討方式,幾乎完全是事後學習。在回溯過程中,專案專與者聚集在一起,討論那些部分作得不錯,那些部分作得不夠好,並且試著摘要出他們 所學到的知識,這個時候主持人除了要確保討論內容的明確性,另外還必須注意可以學習的部分有那些,責難他人不是重點。回溯通常會做成書面資料。

奇異「合力解決」專案

20040813

Implementing Full Text Indexing with PostgreSQL

Although PostgreSQL is, in my opinion, the most capable open source database available, it does have its drawbacks. One such drawback is that PostgreSQL doesn't include full text indexing as part of the core distribution. However, as with any good open source project, the PostgreSQL community has contributed many useful modules—and one such module is TSearch2.

20040729

Making Open Source Software Pay

While some home users, hackers and hobbyists have switched to Linux or other Open Source software, businesses seem to have been more cautious. What exactly is Open Source software? Are there issues with licensing and technical support?

20040728

Creating Games with Pygame

Python is an excellent language for rapid application development and prototyping. With Pygame, a wrapper built around SDL, the same can be true for games. In addition, because its built on top of Python and SDL, Pygame is highly portable. The only downside is it can be too slow for some computationally intensive types of games. If your game is too slow, the particular sub-routine(s) bringing down your execution speed can be rewritten in C/C++.

Opensource Biz Model

Dark Horse CRM
Hosted Edition
This edition comes with all core modules and is a true enterprise-class solution. It's an option for companies of all sizes to begin using a CRM online, while leaving the software maintenance and hardware infrastructure to a dedicated IT staff.
  • Allows organizations to set up as many users as they want.
  • No one-time license fees, pay by the number of users, per month.
  • No software or hardware to buy, install, maintain, or upgrade.
  • Each organization uses a unique URL that provides secure access to Dark Horse CRM.
  • Use any current web browser, on any platform (Mozilla, Internet Explorer, Safari).
Introductory 5-seat Hosted CRM installation at $9.95 per seat per month
Greater than 5-seat Hosted CRM installation at $29.95 per seat per month

Free Edition
You're welcome to a free, 5-seat binary (machine readable) edition of Dark Horse CRM. This edition comes with all core modules and is a true, enterprise-class solution. It's an option for companies watching every penny and for those who can live without support. It's also good for organizations wanting to thoroughly test Dark Horse CRM before moving up to a supported edition.

If you like having all of the necessary pieces already assembled and with an easy to use installation wizard, have us send you the CD. For the cost of shipping and handling you get a CD that contains the latest version of Dark Horse CRM and all of the open, companion components to make it work (e.g. Linux, Apache Tomcat, PostgreSQL, etc).

Setting Up Page Styles in OOo Writer

A little planning ahead will make your word processing tasks easier and keep your documents looking consistent as they grow.

Page styles are one of OpenOffice.org's strongest innovations. Together with text frames and integration with Draw, these features nudge OOo Writer out of the word processor category and into the lower reaches of desktop publishing...

20040727

Java 寫碼風格指南

Java Coding Style Guide

這份文件中所建議的寫碼慣例主要參考自下列文件:

Writing an AIM Client in Python

An introduction to writing an AIM client. In the process you will also create a bot and learn about using the Tkinter module, which allows you to create a Graphical User Interface (GUI) for the user to interact with your client.

20040721

Power Python: Do More With Less Code

What's Power Python, you ask? It's the effective use of Python language features to get a lot of work done in fewer lines of code. The lambda, reduce, filter, map, and list comprehension constructs are some of the features that best fit this definition. This article examines each one in turn and highlights some of their strengths with simple code examples that illustrate the basic syntax and usage. It then delves into some related coding advantages that Python offers, such as the easy creation of callbacks and closures...

20040714

ERP5 (Python&Zope)

ERP5 is a full featured high end Open Source / Libre Software solution published under GPL license and used for mission critial ERP/CRM/MRP/SCM/PDM applications by industrial organisations and government agencies.

管理決策的制定與突破性科技

價值網絡──企業在此體系內辨識與回應客戶的需求、解決問題、取得輸入、回應競爭者與整取獲利。

價值網絡中各廠商間的競爭,決定了他們賺錢的方式。網絡決定了廠商必須提供何種產品與服務以回應客戶的問題,以及解決問題所需支付的成本。價值網路中的競爭與客戶需求決定了廠商的成本結構、維持競爭所需的經營規模以及必要的成長率。因此適於價值網絡外的管理決策,不一定適於價值網絡內的企業,反之亦然。

優秀的經理人只做合理的決策,而合理與否則尤其所處的價值網絡決定。

既有的企業在面對突破性科技科技變革時,絕對有能力研發必要的「科技」,但是,在與其他產品與科技研發提案共同競爭結果,突破性科技研發計畫通常只能分配到極少的資源,也使得這些計畫作後無以為繼。延續性科技計畫訴諸於企業主流客戶的需求,比起市場規模小、客戶需求不明的突破性科技,更容易取得大量的資源。

──Clayton M. Christensen《創新的兩難:企業面對新科技的掙扎與抉擇》(The Innovator's Dilemma: When New Technologies Cause Great Firms to Fail, New York: HBS,1997)台北:商周出版,2004年,73頁

A Transforming Experience for Content Management?

In XML-based CMS systems, XSLT provides the ability to select specific sections of one or more XML documents, and then return this data in any desired format, such as HTML, WML, PDF, or some other XML format for syndication. This is important, because XML doesn't describe how content appears, bur rather what it's about. You need XSLT to make your XML content human-consumable and sharable with others’ applications...

20040712

Embedding Python in C Applications

...Embedded Python provides a powerful object system and "macro" language for C applications. C code can extend Python in ways its developers did not or could not foresee...

UML Tutorial from Sparx System

The Unified Modeling Language has quickly become the de-facto standard for building Object-Oriented software. This short tutorial provides a very high level introduction to UML, and suggests some further reading...

Zen and the Art of Aspect-Oriented Programming

Aspects can greatly simplify design and maintenance of complex systems
Consider the life cycle of a typical e-commerce project. First, you might decide to architect your code around an object-relational (OR) mapping tool, such as Java Data Objects or Hibernate, and J2EE services, such as servlets and the Java Authentication and Authorization Service. Next, you create interfaces and classes representing business concepts such as a customer, SKUs, a shopping cart, inventory, and payment authorization. At this point, your code is clean and comprehensible...

20040702

How to create OpenOffice.org macros and automation

OpenOffice.org macros allow you to save a sequence of operations with a single name so you can do the same thing repeatedly. Automation is a first cousin to macros. It lets another application control OOo and make things happen without user intervention...

20040701

White Knights and Open Source business models

When we (a mid-sized German software company) started thinking about Open Source back in 1999, we thought long and hard about how we could use Open Source in our day-to-day projects and yet at the same time retain a good relationship with the community. For a company that was - to that point - 100% a build-custom-solutions-for-customers-and-get-paid firm, this was quite a revolutionary idea...

20040630

Blog Resources

Blog hosting sites, blogging tools, blog templates and skins

台灣 Zope 使用者社群

Taiwan Zope User Group
研究 Python / Zope 的優點及技術,建立教學資料、知識庫、及數位內容管理的解決方案。並藉由教學、研究、及交流活動,領引朋友認識 Python / Zope,進而喜歡或參與發展。

校園自由軟體應用諮詢中心(OSSACC)

課程教材下載
Python 教材
Zope 教材

How to create OpenOffice.org forms

In some situations, you want to create a document that contains some fixed text, but allows users to enter some items and perhaps take some actions on those items. Such a document is called a form, analogous to the preprinted forms everyone has filled out dozens of times. You can create custom forms in most of the OOo applications...

20040629

OpenMFG succeeds with open source software for a fee

Should a company that sells software with licenses that restrict what can be done with the code use "open" in its name? Ned Lilly doesn't see why not. The founder and president of OpenMFG says his company's approach of combining open source development with licensed selling is the right way to handle the complex and changing world of business applications...

20040628

Charming Python: Get started with the Natural Language Toolkit

Using Python in computational linguistics
In this installment, David introduces you to the Natural Language Toolkit, a Python library for applying academic linguistic techniques to collections of textual data. Programming that goes by the name "text processing" is a start; other capabilities for syntactic and even semantic analysis are further specialized to studying natural languages.

The best ERP implementation project

ERP5 is a full featured high end Open Source / Libre Software solution published under GPL license and used for mission critial ERP/CRM/MRP/SCM/PDM applications by industrial organisations and government agencies.

ERP5: A Next-Generation, Open-Source ERP Architecture

20040623

Dive Into Accessibility

30 days to a more accessible web site
This book answers two questions. The first question is "Why should I make my web site more accessible?" If you do not have a web site, this book is not for you. The second question is "How can I make my web site more accessible?" If you are not convinced by the first answer, you will not be interested in the second.

Dive Into Python

Python from novice to pro
Dive Into Python is a free Python book for experienced programmers. You can read the book online, or download it in a variety of formats. It is also available in multiple languages.

20040622

How to Master GNU/Linux in 20 steps

A friend of mine wrote to me and asked me how he could go about switching to Linux*. I sent him an email back with some suggestions about how to approach it and he suggested that I should share this with others, so here it goes.

20040621

The Rookery

Publishing related.

Weave a neural net with Python

Hopfield nets can reconstruct distorted patterns and undo noise
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.

Open source cracks publishing wide open

...
What makes book production expensive isn't just the cost of software. Proprietary publishing tools run on proprietary operating systems -- Mac OS and Windows. They require high-powered hardware. They might even have intrusive product activation "features" or draconian licensing restrictions. In short, publishing is like most other markets -- it's very close to a D-Day invasion by open source forces.
...

20040620

Putting together PDF files

There are times when you need to combine multiple files from diverse sources into a single PDF file. In Windows or the MacOS it's easy -- use Adobe Acrobat. Sadly, Adobe hasn't deigned to put out a version of Acrobat for Linux, but there are a number of Linux utilities available that enable you to quickly and efficiently combine PDF files.
...

20040618

Version Control with Subversion: Basic Concepts

...If you're new to version control, this chapter is definitely for you...
keep in mind that Subversion can manage any sort of file collection— it's not limited to helping computer programmers...

20040615

Computer Associates (CA) announced it was establishing partnerships with Zope and Plone

Open source content management partnerships are a promising sign
The tide may be turning in favor of open source software for content management. Last month Computer Associates (CA) announced it was establishing partnerships with Zope and Plone, two open source content management organizations. CA is also releasing its Ingres database, which will be available as a repository for Zope and Plone, as open source. We asked Zope and Plone what the new partnerships mean for the open source community.

20040608

Inside Mitch Kapor's World

Steve Holden interviews Mitch Kapor, founder of Lotus and new open source advocate, after the recent PyCon about his life and career, the OSAF, Chandler, open source, and Python.

20040506

Guy Kawasaki's 6 Simple Rules for Evangelism

To help Open Source advocates with their momentum-building efforts, Kawasaki has some simple rules and perspectives on what makes a good software evangelist. Some are deceptively simple to understand and apply. Others may sound simple, but can be tough to do right.

Python

Tightening Python's Grip in Enterprise IT - Part I
Hands-On: How Python Tightens Its Enterprise Grip

Commercial Developer's Guide to Open Source Licenses

You're leaning toward Open Source as a distribution strategy -- the only problem now is picking the most appropriate license.

With more than 40 licenses approved by the Open Source Initiative (OSI), choosing terms can be a daunting task.

20040505

Best Website Design: T-Online

UI設計/內容美編/色彩運用

20040503

Linux Journal: OpenOffice.org Off-the-Wall: Style Is Everything, Right?

A guide for when and how to use styles instead of manual overrides in OpenOffice.org documents.

Styles are the chief feature that make office suites more than electronic typewriters. In OpenOffice.org, however, they are even more important than usual. Most word processors offer character and paragraph styles, but OpenOffice.org also includes frame, page and numbering styles. Even more importantly, OpenOffice.org extends the concept of styles to other applications. Impress, for example, has a system of styles, whereas PowerPoint, its MS Office equivalent, has none. The same is true of OOo's Calc and MS Excel. Once you understand why you should use styles and when, you'll find OpenOffice.org's tools for managing and applying styles second to none. You'll also start to unleash the full power of OpenOffice.org.
...

20040430

opensourceCMS

This site was created to give you the opportunity to "try out" some of the best open source and free php/mysql based software systems in the world. You can log in as the administrator to any site here, thus allowing you to decide which system best suits your needs.

Each system is deleted and reinstalled every two hours. This allows you to be the administrator of any system here without fear of messing anything up.

20040429

Weblog system stored within native XML database

Syncato is a weblog system designed to extract the maximum potential from the content of your posts. All posts in Syncato are stored as XML within a native XML database and are searchable using XPath queries. This includes the ability to execute XPath via a URL from within your browser.

What this really means is that the limitations on how you use and reuse the content on your site is only determined by how you markup your posts. For minimal reuse you can just use standard XHTML, but the real power of Syncato comes when you go beyond that and add additional markup to increase the meaning of your content. What you want to do is up to you. The more information you add to your posts the more useful it will be to you and to others. For a better idea about what this means take a look at these posts by Kimbro Staken and Jon Udell.

In reality Syncato is much more then just a weblog system, it's an XML fragment management system that enables the creation and management of XML microcontent. That microcontent can represent weblog entries, comments about those entries or just about anything else. Using the facilities of the system you're then free to combine those fragments together however you desire. And just as with your weblog entries, your XML fragments are available via XPath and HTTP.

IT Research

Bitpipe, Inc. (www.bitpipe.com) is the leading source of in-depth information technology content including white papers, product literature, webcasts, analyst reports, and case studies.

Online Customer Relationship Management

Ohioedge CRM Server is an online CRM application designed for $2-500M organizations requiring centralized, multi-functional, enterprise-wide coordination of sales generation (contact management) & fulfillment (business process/workflow management) activities.

Enterprise-grade issue tracking

Best Practical Solutions LLC are the creators of RT: Request Tracker, the leading open-source issue-tracking system.

RT is an enterprise-grade task- and ticket-tracking platform, designed to simplify tracking of issues, user requests and project management in a community of users.

Linux Journal: Open-Source Bug Tracking with Bugzilla

How Bugzilla can help any project tracks job tasks as well as bugs.

Bug Tracking Systems (BTS) have their origin in software development, but they can serve as important and useful tools in every team environment. For this reason the names Issue Tracker or Ticket System have become more appropriate.

BTS may function as a central point of communication for any team. They can increase the productivity and accountability of each employee dramatically by providing a documented work flow and allowing for positive feedback on good performance. They usually reduce downtime and production costs while increasing efficiency and, most importantly, customer satisfaction.

The open-source project Bugzilla, for example, provides an easy to use, easy to maintain and cost effective solution with a rich feature set that easily can compete with its proprietary counterparts. Bugzilla's Web interface allows cross-platform use while the XML and e-mail interfaces enable automatic error reporting. Not only can the automatic error reporting be included in the development of a new product, but it also can be integrated easily into an existing product.
...