Why did we introduce this new Business Edition?

February 4th, 2010

We introduced Business Edition earlier this week, and made some changes to our ActivePerl, ActivePython, and ActiveTcl Community Editions. In this podcast interview on Frugal Tech Show, I had the pleasure of speaking with Ken Hess and Jason Perlow about why we made these changes.

In summary, ActiveState has always been and will continue to be a contributor to the community. We continue to offer ActivePerl, ActivePython, and ActiveTcl for free to developers for Windows, Linux, and Mac OSX.

We also offer our Enterprise Edition, which is a “large” solution for big companies running dynamic languages in mission-critical applications. Companies like Credit Suisse and Lockheed Martin have relied on us for this level of support and customization. But it was a big jump to go from free to Enterprise. Developers and managers in smaller groups and in the federal government that were running smaller applications were telling us that they needed commercial support without the big ticket price. So that’s why we introduced Business Edition – to give our customers access to affordable commercial support for open source dynamic languages. This way, as a business, we can continue to give back to the community by focusing our efforts on the latest and greatest releases, while also serving the needs of our business and government customers.

Listen to the podcast here.

Read the Business Edition Review on Internet.com.

Thanks and please feel free to leave me comments here!

Two More Weeks Until PyCon 2010 and We’re Giving Away a Pass

February 3rd, 2010

Free ticket PyconIt’s countdown! Two more weeks until PyCon 2010 in Atlanta, Georgia February 19-21, 2010.  It’s going to be a great Python conference, jam packed with sessions.

Win a PyCon conference pass for yourself or a friend:

We just realized that we have an extra pass here for the conference and want to give it away to one lucky person on Twitter!

($350 value if you were to register today. Excluding airfare and hotel.)

So here’s the scoop on how to get the pass for yourself or a friend:

  1. You have to first follow @activestate on Twitter OR the Pycon2010Twitter list here.
  2. Then tweet this exact phrase out on your Twitter stream:  Pick me @activestate I deserve the #PyCon 2010 pass – Python Rocks! http://bit.ly/9QReBa

And that’s all!

We will randomly pick the winner on Wednesday February 10th, 2010 and contact the winner via Twitter with the details.

Oh ya, if you’d like to meet some of the ActiveState gang at the conference,  come by the ActiveState booth (#107) in the Expo hall and say hello.

We are here:

PyCon Conference ActiveState

Want to read more? Check out  ActiveState’s Favorite Picks for PyCon 2010 in Atlanta – A Python Conference.

ActiveState Launches Business Edition for ActivePerl, ActivePython and ActiveTcl

February 2nd, 2010

ActiveState Business Edition integrates commercial-grade ActivePerl, ActivePython and ActiveTcl support with access to platform builds and repositories for Windows, Linux, Mac OS X, AIX, Solaris and HP-UX as well as to older versions across all platforms.

Dynamic languages like Perl, Python and Tcl are often used because of their flexibility and extensibility, providing development with the tools to create applications faster.

However, often companies don’t have the luxury or budget to hire a specific dynamic language expert and must ensure development staff is focused on the right things.

Ideal for finance, aerospace & defense, and government organizations with  small deployments of  Perl, Python or Tcl,  in internal business-critical applications,  ActiveState Business Edition marries ActivePerl,  ActivePython and ActiveTcl with affordable and reliable commercial support.

ActiveState Business Edition offers:

  • Maximum uptime for business-critical applications
  • More development time to focus on core competencies
  • Compliance with your corporate standards for supported open source products
  • Quality-assured builds and repositories for Linux, Windows and Mac OS X, AIX, Solaris and HP-UX
  • Access to old ActivePerl,  ActivePython and ActiveTcl versions across all platforms for easy product testing across versions
  • Access to the exclusive Package Managers for ActivePerl, ActivePython and ActiveTcl (PPM, PyPM, Teapot) for simple management of Perl modules or extensions

ActiveState Business Edition pricing is based on language and number of servers at $999/server/year.

ActiveState Business Edition Resources:

Learn more about Business Edition features and benefits or compare editions for ActivePerl, ActivePython and ActiveTcl here.

Read the full press release on ActiveState Business Edition.

Buy before March 31/10 and you get your choice of one of four best-selling open source books including : Business Edition Limited Time Offer

  • Intellectual Property and Open Source – A Practical Guide to Protecting Code by Van Lindberg. Read review here.
  • Programming Perl by Larry Wall, Tom Christiansen, Jon Orwant
  • Python in a Nutshell by Alex Martelli
  • Practical Programming in Tcl and Tk by Brent Welch

No More Stale Lunches

February 2nd, 2010

muffinThey say there’s no such thing as a free lunch. Well, ActiveState has been giving away ActivePerl, ActivePython and ActiveTcl builds for years, and it’s been good for us and for the open source language community.

We’re going to keep doing that, but we’re no longer going to be offering all the old versions for download.

The day-old bread analogy

Bakeries sometimes mark down day-old baked goods in order to get rid of them. After that attempt, they usually go in the dumpster. Some kind souls will give away the two-or-more-day-old stuff to those in need, or at least leave them on top of the dumpster.

Now imagine someone comes along, picks up a muffin from the top of the dumpster, takes a bite, and discovers that it’s moldy. We’ll even pretend that this person is surprised by that for some reason, and goes inside to complain about it.

Inside, he finds that the day-old and freshly baked ones are also free. The conversation might go something like this:

“Why did you leave all these moldy muffins in the alley when you’ve got free ones in here?”

“Why didn’t you come in and get a fresh one? There’s a sign out back.”

“I didn’t see the sign! I just saw a pile of tasty looking muffins!”

“Do you know how OLD those are?”

“No, I just know they taste terrible.”

Software doesn’t actually go moldy, but it does get out-of-date. Here’s how this silly analogy relates to our language distributions.

Supporting older software

People get directed to our downloads in all sorts of ways, sometimes by following hard links to a specific version. Someone following that link won’t necessarily know that they’re installing an old version. If the link takes them to a long list of all available versions, they could (and often do) mistakenly download one that’s almost a decade old.

Those versions, the best available when they were released, may now have security issues or incompatibilities with more current code. They almost certainly will have bugs that have since been patched in more recent releases.

Having those older versions available for download gives people the impression that they are still supported, and supporting them is difficult. It’s no fun trying to reproduce a bug against the current release, only to find that it was fixed years ago in a previous release. Troubleshooting a new bug reported against the older version involves installing that older version before testing can begin.

We can do this, but it’s time consuming and it’s not sustainable for ActiveState to do this for free.

Enterprise support

There are cases where you might have to stick with a particular version or build of a language. The software you’re running may require a specific version to work properly. You may have have rigorous testing requirements that make for long periods between updates. If you find yourself in one of these situations, you want to make sure you can get support for that older version.

We’ve always provided this kind of version-specific support in our Enterprise distributions for those customers that require it.

Business Edition

Access to older builds is now available as part of our new Business Edition offering. That’s not all that Business Edition includes, but it’s an important part for users who are bound to a particular version of the software.

Get ‘em while they’re hot

To summarize: Older versions of ActivePerl, ActivePython and ActiveTcl are no longer available free for download.

If you’re running one of these builds, you can continue to do so, or upgrade to the lastest version to get all the latest features and fixes.

If you’re looking to download an installer, feel free to grab the latest version from our website.

If you have to use an older version, contact us about our Enterprise Distributions for ActivePerl, ActivePython and ActiveTcl or Business Edition to make sure you’ll be able to get support if you need it.

What managers don’t know about their developers using open source components

January 29th, 2010

In Jeffrey Hammond’s recent article on Dr. Dobb’s (What Developers Think, January 16, 2010), his survey results highlighted something we have known for some time based on the developers and companies that we talk to:

Managers don’t know everything their developers are using or doing.

His survey showed that:

  • 80% of developers say they use open source components for development or application deployment
  • 40% of managers/executives say their companies use open source software

Only half the managers know what their developers are doing? Now, combine this with the Gartner 2008 survey that claimed 85% of companies are using open source. So we know, even based on our own Google Analytics reports that show us that most Fortune 1000 companies are coming to our site and downloading free community software from us, that most companies ARE using open source components.

Why the disconnect?

It could be the legally naïve or simply inexperienced developer that is finding cool technology that is free and open source and integrating it into proprietary company software. They may think they’re doing their company a favor by being able to work faster because they didn’t have to build something from scratch. They can use components that are already built by smart developers in the community. Moreover, they may be patting themselves on the back for sourcing it for free in this budget-conscious economy. Why bother telling your manager when you’re under pressure to get things done faster, cheaper and you don’t want your job outsourced? To the developer, open source == fast, good, and free. That’s it.

What’s the danger?

Open source software adoption, dynamic languages #1The article points out some of the first instances of using open source components, such as operating systems and databases. However, the #1 open source infrastructure tool used by developers (57%) is open source programming languages (such as Python, PHP, Perl, Ruby). And most developers wouldn’t think about proper licensing of a language or extensions used in application development. After all, open source == free, right?

Not necessarily. License terms often let you use it for free for certain types of applications. But once you start distributing your application to customers or partners, you’re not covered or within your rights.

Plus, you’re opening yourself up to legal risk for being sued for copyright or patent infringement from community contributors. And the bigger the company, the deeper the pockets, the bigger the risk.

Knowing is Half the Battle

Some developers are already aware of ensuring proper licensing for any 3rd party component added to their software. But managers need to ensure they know when any open source component is being added to their company software. Whether that software is used internally or sold to customers, managers and executives can then make the decision on proper licensing.

Where to Start

Various companies, including commercial vendors like ActiveState, provide tools to “sniff out” open source or commercial open source components that may be included in your software. Start there. Then talk to the commercial vendors and your lawyers about covering yourself with proper licensing.

VanPyZ – Vancouver Python User Group Tuesday at ActiveState

January 29th, 2010

We are hosting the February VanPyZ meeting at ActiveState Tuesday February 2, 2010.

Details:

What

Where

ActiveState
1700 – 409 Granville Street
(SW corner of Granville and Hastings, map)
Buzzer# 1700

When

Tuesday, February 2nd, at 7PM

“VanPyZ” is the Vancouver Python user group.

Intellectual Property and Open Source – Five Lessons Learned

January 28th, 2010

copyrightThe following is a guest post from Romuald Restout VP,  Product Development at Arbita and President and Chairperson of the Board of HR-XML

I started getting interested in Intellectual Property with my role as President and Chairperson of the Board of HR-XML, a non-profit organization dedicated to building standards for the exchange of data between Human Resources applications.

We were just releasing the third major release of our standards, and we needed to review the licensing terms. So, I needed to get familiar with all the legal concepts (patents, copyrights, trademarks, …) and how to use them in order to provide protection for our standards, but also protection for the organizations who wanted to use our standards in their applications.

During this discovery journey, I realized how much intellectual property was also important in my “day job” as VP Product Development for Arbita, a recruitment marketing platform provider. This was an aspect that I overlooked until now. I was more focused on how to get the right requirements, the right processes and methodologies, how to get more development done faster and with better quality, but with little attention to the IP consequences of using such or such tool, module or library. Of course, in the back of my mind, I knew there were such things as GPL, copyrights, and licenses, but I didn’t know how to use them or how they applied to my work.

Naturally, there is a lot of information out there, on the Internet. But without a legal background, it is difficult to wrap your head around all these concepts.

Luckily, I have been able to find one book to explain them all

One Book to rule them all,
One Book to find them,
One Book to bring them all
and in the darkness bind them

Well, it is way less dangerous than the One Ring.  And much more useful if you need to slalom through the complex paths of property laws.

Intellectual Property and Open Source

The book “Intellectual Property and Open Source, A Practical Guide to Protecting Code” by Van Lindberg, starts by explaining all the legal concepts that apply to software intellectual property and then focus on the open source aspects, including a review of all common open-source licenses.

I won’t even try summarizing everything here. To start, there is too much to summarize. Then, details matter; so summarizing would not be very helpful. Finally, there is an excellent book review  by Matt Asay here.

Rather I will go with…

My Top Five Lessons Learned

Intellectual Property Matter

When distributing software, the IP aspects can have a dramatic impact on your product, your organization, and the community that is using your product. As a consequence:

Lesson 1) It is important that you understand the basics of Intellectual Property.

Lesson 2) It is important that you have a clear IP picture of all the libraries, modules, middleware or applications that you’re using in your own products. For each of them you need to know what licensing applies; and its consequences on your product that range from using unauthorized material (easily fixed) to having to distribute your software for free (too bad if  your product is your business)

The Devil is in the Details

To start with there are various aspects to intellectual property: patents, copyrights, licenses, contracts, trade secrets, derivative works, …. Getting a clear understanding of all these concepts can be tricky at times (and Lindberg’s book does a wonderful job at explaining those).

Then, there are all the nuances and fine prints in these concepts. And it’s a quick step to go from nuance to gray area. There are plenty of them.

Lesson 3) Don’t stop at the big picture. Avoid quick reading. Reading all these license agreements is boring and uninteresting, no question about it, but there are hidden traps (and sometimes hidden gems) among all this text.

Lesson 4) Don’t fool yourself. You’re not a lawyer (and probably don’t want to be). When you’re not sure, call one.

Strategy Rule

When designing your own licenses, copyrights, and trademarks, it is important to know what you want to do. (Well, this is true for most things in life)

Many people will just pick an existing license (Apache, GP, LGPL, …) and use it exactly as is. “Let’s take the Mozilla license. See how successful Firefox is”. The reason why the Firefox license works so well is that it is perfectly adjusted to Mozilla’s goals for Firefox, which might not be the same as yours.

Lesson 5) Understand your goals. Pick, or adapt, a license that fits those goals

If you have additional tips on Intellectual Property and Open Source,  feel free to share below.

Do you use Perl, Python or Tcl? Check out ActiveState’s Enterprise Distributions and OEM licensing for Perl, Python and Tcl.

Connect with Romuald Restout:
Twitter: @rrestout
LinkedIn : www.linkedin.com/in/romuald
Blog : www.collabatwork.com

ActiveState’s Favorite Picks for PyCon 2010 in Atlanta – A Python Conference

January 26th, 2010

Thumbs up for PyConIn a few weeks, some Activators (Trent, Sridhar and Mike) will be leaving Vancouver and all its Olympic buzz to go to one of the best conferences for Python coding. It is called PyCon 2010 and it is in Atlanta, Georgia from February 17-25, 2010 (main conference days are Feb 19-21).

You may ask if the guys here are sad leaving Vancouver, BC during the Olympics. But I would have to answer “no way!”. They are stoked about all the great tracks at PyCon and shared their favorites below.

Oh ya, if you are going to PyCon, make sure you stop by ActiveState’s booth (booth #107) and meet the ActiveState gang.  (Psst..There is a special coupon code for PyCon attendees – $50 off Komodo IDE, use code “pycon50″)

On Twitter? We started a Twitter list for all people attending or talking about PyCon – feel free to follow it to keep up on what is happening during the conference: http://twitter.com/activestate/pycon-2010.

Out of the ninety-five plus topics for the 3 days – here are the gangs twenty-nine favorite picks for PyCon:

Friday Feb 19:

  • IronPython Tooling (# 67 with Dino E Viehland) – One of the most popular requests for the IronPython team is tooling support. During this talk I’ll show you some of the existing tools available to help create IronPython applications. I’ll also look at the latest IronPython features which can help you debug, profile and improve your applications. I’ll also compare and contrast these with the solutions available for CPython that you may already be familiar with.
  • Python in the Browser (#71 with with Jimmy Schementi) - You write your server code in Python because you want to. You write your browser code in JavaScript because you have to. But with IronPython and Silverlight, you can write your browser code in Python and leave JavaScript behind. This talk provides an overview of Silverlight for Python developers, including out of browser applications as well as the new “just text” model where Python code is embedded directly in HTML pages. Even if you develop on Linux or Mac, you can still take advantage of Silverlight in the browse.
  • A Short Pinax Tutorial (#15 with with Daniel Greenfeld) - Pinax (http://pinaxproject.com) is a platform built on top of Django (http://djangoproject) for rapidly developing websites. This tutorial will show you how to install Pinax, create a project, work with a Group application and a Group Aware application, and finally how easy it is to modify templates.
  • Deployment, development, packaging, and a little bit of the cloud (#180 with Ian Bicking) - In this opinionated talk Ian will discuss his thoughts on packaging, web application deployment, configuration, tools to manage environments across both development and production, the tensions between Linux packaging and Python packaging, just a *little* about virtualenv, pip, buildout, and Distribute, and a bit more about a new tool toppcloud, and the modest but important role cloud computing has in this process.
  • The state of Packaging (#63 with with Tarek Ziadé)The Python Package Index (PyPI) became over the last years an essential tool to share your Python programs. As long as you use Distutils standards, you can register and upload your work at PyPI in a few seconds. This talk will detail the biggest issues that need to be solved, and the work that is being done. It will end up with a presentation of the Distutils roadmap, and an overview of the Distribute project, the Setuptools replacer.
  • How does Enthought distribute packages? (#108 with Dr. Ilan Schnell) – This presentation gives an overview of how packages are build and distributed for different operating systems in the Enthought Python Distribution.
  • Cross platform application development and distribution (#116 with Mr. Stani Michiels, Ms. Nadia Alramli) – You think Python gives you native cross platform applications for free? Think twice. Are you interested in distributing your application to other platforms but not sure how?
  • Powerful Pythonic Patterns, Alex Martelli (#186 with Alex Martelli) – In this talk, I analyze some of my favorite pattern families — e.g., Template Method and its variants, Dependency Injection and its ilk, Callback and friends — in a highly Pythonic context. Non-pattern Idioms, and Patterns that aren’t really Design Patterns but rather Architecture or Methodology ones, also make cameo appearances.
  • Python in quantitative finance (#158 with with Wes McKinney) - This talk will show how Python and libraries such as NumPy were instrumental at AQR for building a robust research platform for prototyping and implementing quantitative trading models. We will discuss many different tools, including pandas, a new open source library designed for analyzing common financial and economic data sets.
  • How Are Large Applications Embedding Python? (#6 with with Peter Shinners) – An examination of the ways Python is being embedded and deployed in the large applications used for computer graphics; like Renderman, Maya, Houdini, and Nuke.
  • Using Django in Non-Standard Ways (#135 with with Mr. Eric Florenzano)- If you’ve been using Django for any amount of time, you’ve probably learned some pretty standard practices on how to use it. This talk aims to shatter those conceptions and teach you alternative ways that you could use Django.

Saturday Feb 20:

  • Demystifying Non-Blocking and Asynchronous I/O (#164 with Peter A Portante) – We will first define what blocking, non-blocking, synchronous and asynchronous I/O are under the POSIX interfaces. We’ll cover how and when these four types of I/O should be used, and their individual effects on a Python based application. The notion of concurrency will be discussed by comparing a simple threaded blocking I/O application to a simple single threaded non-blocking I/O application by walking the attendees through the python code for those applications.
  • Cooperative Multitasking with Twisted: Getting Things Done Concurrently. (#11 with David A Reid) – Twisted is a framework for building asynchronous networking applications. It also provides powerful tools for writing non-blocking non-network code, tools which are vital for building real large scale applications in Twisted. I hope to give a comprehensive overview of these tools to help the intermediate Twisted user get things done concurrently.
  • Distributed Programming with Pyro (#7 with Alfredo Deza) – Create distributed code that communicates trivially over the network with objects that answer as if they were local. Send, receive and manage data with this powerful library. Presentation will include real life example for restarting a load balanced web instance running two Apache web servers and a MySQL database.  Although Python allows you to perform simple network operations, Pyro creates a nice layer between core networking essentials and your code, allowing you to concentrate more in developing your application.
  • Unladen Swallow: fewer coconuts, faster Python (#73 with Collin Winter) – Unladen Swallow is a Google-sponsored optimization branch of CPython. This talk will cover Google’s motivation for Unladen Swallow, the approach being taken, results so far, challenges faced, cancers cured and plans for merger with CPython.
  • Understanding the Python GIL (#82 with David Beazley) -  The Python Global Interpreter Lock (GIL) is a frequent source of debate and concern for programmers working with threads and concurrency. Although most Python programmers generally know that the GIL restricts Python’s ability to utilize multiple CPUs, few know the inner details of how it actually works and how it impacts applications. This talk will dive into the inner workings of the GIL like you’ve never seen before. Topics include details about the execution of the Python interpreter, thread implementation, the GILs surprising behavior on multicore CPUs, and more.
  • The other kind of testing (#185 with Bob Ippolito) -  Software testing helps verify that your code meets a specification, but not how to improve the specification. How can you stay competitive when most of the big names today are using analysis to guide product evolution? Level the playing field and make better products by learning how to design experiments, collect data, make measurements, and optimize your specifications.
  • 508 and You: Taking the Pain out of Accessibility (#119 with Ms. Katie A Cunningham) – Thinking about scoring a government contract, but haven’t heard of 508 compliance yet? Interested in making your site accessible to people with disabilities? Never thought about compliance, but want to know why it’s a good idea?
  • Powering the real-time web with Python: PubSubHubbub on App Engine (#173 with Brett Slatkin) – PubSubHubbub is an open protocol that turns Atom and RSS feeds into real-time streams. I built the reference Hub run by Google using Python and App Engine. In this talk you will learn how I made the real-time system work: An intro to the protocol, asynchronous processing on App Engine, fault-tolerance, and scalability.
  • Threading is not a model (#187 with Joe Gregorio) – We have many concurrency/multiprocessing capabilities at our finger tips, such as threads, processes, locks, mutexes, select, epoll, transactional memory, etc. But none of them are a model for multiprocessing, they are only tools on which you would build an implementation of such a model. So what are the models we can choose from? How would they be implemented in Python? And why may the GIL actually be a good thing?
  • Tests and Testability, Ned Batchelder (#188 with Ned Batchelder) – Testing software is difficult. Large complex systems don’t lend themselves naturally to automated testing. This isn’t just because they are large, it’s because developers often don’t consider how testable their code is. Testability is as important as all the other -ilities in your code (portability, maintainability, efficiency, etc). I’ll discuss specific examples to demonstrate how code can be made more testable. Mocks, dependency injection, and crisp API design are just a few of the techniques that can improve your code’s testability and make you a happier person.
  • Why not run all your tests all the time? A study of continuous  integration systems.(#160 with Dr. C. Titus Brown) – There are an increasing number of continuous integration (CI) systems available for use by Pythonistas, but no clear guide to how to choose a CI system for your project. I will examine the architecture choices made by buildbot, bitten, Hudson, continuum, CruiseControl, DART, and pony-build, and discuss the configuration and customization of several of these systems for Pythonic needs, as well as give short demos (for buildbot, bitten, Hudson, and pony-build).
  • What We’ve Learned From Building Basie (#85 with Dr. Greg Wilson) – Since September 2008, teams of undergraduates from half a dozen different universities have been building a Django-based replacement for Trac called Basie. This talk will present what they’ve accomplished and discuss what we’ve learned about getting junior developers who are juggling half a dozen projects at once to build production-quality code.

Sunday Feb 21:

  • Eventlet: Asynchronous I/O with a synchronous interface (#141 with Donovan Preston) – Network servers which scale to thousands of simultaneous connections have always been possible in Python thanks to libraries such as asyncore and twisted. More recently, FriendFeed’s new open source project Tornado has stirred debate in this area. These libraries allow a Python process to scale to many simultaneous connections using non-blocking I/O (also known as asynchronous I/O). However these projects require that the programmer learn a custom API to abstract away the complexities of using a callback-style API.
  • Scaling Python webapps from zero to 50 million users – A top-down approach. (#134 with Mr. Jinal Jhaveri )- LOLapps is one of the top providers of social games and user generated applications with 50+ million monthly uniques on Facebook, MySpace and Bebo. This session will focus on the top-down approach we took to scale our webapps for millions of users.
  • New *and* Improved: Coming changes to unittest, the standard  library test framework (#52 with Mr. Michael J Foord)- In Python 2.7 and 3.2 a whole bunch of improvements to unittest will arrive. unittest is the Python standard library testing framework and for several years it has languished whilst other Python testing frameworks have innovated. Some of the best innovations have made their way into unittest which has had quite a renovation.  This talk will go through the major changes, like the new assert methods, test discovery and the load_tests protocol, and also explain how they can be used with earlier versions of Python.
  • Modern version control: Mercurial internals (#113 with Dirkjan Ochtman) – In this talk, I’d like to talk a bit about Mercurial. This will not be a beginner-level talk on DVCS or hg; it aims to be a higher-level discussion of the concepts employed in Mercurial. After having discussed these, I’d also like to compare Mercurial and git based on UI, performance and underlying concepts.
  • Hg and Git : Can’t we all just get along? (#154 with Mr. Scott Chacon) – There is a fair amount of unnecessary animosity between developers about version control systems, especially between Mercurial and Git users. In reality, these two systems are very similar and can actually cooperate pretty well. In this talk we will show just how similar Git and Mercurial are, look at some of their technical differences, and see how they can work together by looking at hg-git, the bidirectional Git/Mercurial bridge, implemented in Python.
  • PLY and PyParsing (#93 with Andrew Dalke) – Got a text parsing problem? In most cases using string manipulation and regular expressions will solve it for you. But when the input is complex, try reaching for a parsing system to help out. In my talk I’ll show the basics of how to use both systems for several different format parsing tasks, of different complexity. This will let you see how to use the parsers and understand more of the tradeoffs between complexity, readability, error handling, and performance.

To see the full schedule, visit this page on PyCon.

Psst…remember

The team is also going to be handing out Coupon Codes for $50 off Komodo IDE (it’s “pycon50″) to all PyCon attendees…it is valid now too!

Want to share what tracks you are attending at PyCon? Share away below in the comments!

Join us in the Sandbox- Firefly Software Project Management with Komodo IDE

January 12th, 2010

Sometimes the best way to learn how to use a new software tool is to just play with it. We’ve set up the Sandbox project in ActiveState Firefly for people to get to know the system and try things out.

Looking at our usage stats, we’ve noticed that most new users are setting up their own test projects and exploring Firefly that way. This is fine, but a single user project doesn’t really show off the collaborative aspects of the system. When we were testing Firefly (then called Workspace) internally a while back, we set up a project called Bizarro and amused ourselves by reposting funny things in the blog, flaming each other in the forums, posting ridiculous bugs, submitting hilariously bad code, and generally trying to break the system in ways that would surprise and annoy the Firefly developers. It made QA a lot more fun.

I created a public project called Sandbox to let everyone else join in the fun, but so far I’ve been the only one playing in it. Very boring.

So, here’s a screencast that shows you how to use Komodo IDE with a Firefly project.

You can follow along, try out some of the features, and hopefully help make the Sandbox a bit less dull. If you haven’t got a Firefly account, you can sign up for one. You’ll need Komodo IDE for the source code control integration, but Komodo Edit will work with the macros presented later in the screencast (available in a Komodo toolbox package).

First, one quick caveat about source code control in Komodo IDE. The SCC Checkout Wizard does not (yet) handle authentication with repositories. This isn’t a problem for the Sanbox repo because it’s public, but if you’re working with your own private project, do the initial checkout on the command line or using a tool like Tortoise SVN/HG. Likewise, if you’d like to commit something to the Sandbox repo, do the first one at the command line to authenticate, and you’ll be able to do any subsequent ones right from Komodo (as in the screencast).

Early Registration for PyCon 2010: ActiveState Will See You There!

January 4th, 2010

Early bird registration for PyCon 2010 ends on January 6; ActiveState is attending and we hope to see you there!

Do you have a year-end hole in your training budget, or a brand new budget that you just can’t wait to start spending? Come to PyCon in Atlanta in February!

PyCon is the largest Python Programmer’s conference in the world.

Register: https://us.pycon.org/2010/register/

Some of the talks look really spectacular… We’ll post again in a bit to let you know which talks we’re going to sit in on, too. In the meantime, you can check out all the talks:

http://us.pycon.org/2010/conference/talks/

Or take a tutorial:

http://us.pycon.org/2010/tutorials/

Hope to see you there!