TweetFollow Us on Twitter

Python Power Tools

Volume Number: 22 (2006)
Issue Number: 11
Column Tag: Programming Python

Python Power Tools

An Introduction to Some Tools Available for Python Developers Running OS X

by Christopher Roach

Introduction

One thing that every craftsman loves are new tools, and programmers are no exception to this rule. If you fall into the category of a Python developer, then this article was written precisely for you. What I propose to do during the course of this article is to introduce you, the Python programmer, to a few libraries that will aid you in your development ritual and perhaps even inspire you to develop in new and interesting areas.

One thing you'll no doubt notice once we start our exploration into the tools available for Python developers, is that there is no limit to the number of libraries, packages, modules, etc. that you can use to get your job done. What I've tried to do here in this article is concentrate on the most popular and most stable, and then perhaps point out a couple of alternatives for those of you not content with using just the mainstream tools.

So, with our goal clear in our minds, let's press on, and begin our journey with a look at some of the GUI libraries available for Python on OS X.

GUI Libraries

GUI libraries are an area that in no way, contradict the observation I made in the introduction. There is a plethora of GUI libraries available to Python programmers, and many of these are open source and cross-platform so they can easily be used on the Macintosh OS, as well as many of the other operating systems that you may be forced to use outside of your own little world. A few of these libraries are Tkinter (the standard Python interface to the Tk GUI toolkit), wxPython (a Python wrapper for wxWidgets, a popular cross-platform GUI library written in C++), PyQt (a set of Python bindings for the Qt toolkit that is also cross-platform), and many more. I'll concentrate on two of the most popular libraries in the next two subsections of this article starting with Tkinter, and then I'll mention a few alternatives quickly in the final section.

Tkinter

As I stated in the previous paragraph, Tkinter is the standard interface to the Tk GUI toolkit for Python programmers. It is also pretty much the de facto standard for GUI development with Python on any platform. There are many advantages to using Tkinter as your GUI library of choice, when developing Python-based applications.

First, it's one of the most portable GUI libraries. Tcl and Tk have been around for such a long time, and have developed such a devoted following, that it is nearly impossible to name a platform that doesn't have a port of the toolkit available. Second, it's really easy to install on the Macintosh operating system; simplyinstall MacPython on your system, rather than going with the default version of Python. Finally, it's extremely easy to develop GUI-based applications with it. This is, of course, one of the reasons why Tk has such a large following amongst programmers. So, with all of these great benefits in mind, how do we get Tkinter installed?

Well, if you installed the MacPython binary--and I recommend that you do <http://homepages.cwi.nl/~jack/macpython/download.html>--you're already halfway there. Basically, you have Python and the Tkinter interface already, now all you need to do is get a copy of the Tk toolkit. To do this you'll need to download and install the latest distribution of the Tcl/Tk Aqua binary from <http://tcltkaqua.sourceforge.net> I installed the Batteries Included binary (~30MB), but you can probably get away with just installing the 5MB version, but really, why not install the whole thing and give yourself some more toys to play with later? You can always learn Tcl/Tk after toying around with your new Python libraries; after all you can never know too many programming languages.

Once you've got a version of Tk installed on your computer, the only thing left to do is enable the Tkinter binary module using the MacPython PackageManager application. To do this, find the MacPython folder on your system and double click on the PackageManager application. Once opened, you should see a package named _tkinter-x.x-binary in the package list. Select this package and click on the install button in the form below the package list. That's it. You should now be able to create Python programs with a Tk-based graphical interface. If you wish to try it out, you can just run the simple application below to see a quick "hello world" dialog.

Listing 1: TkinterSample.py

TkinterSample.py

Create a new Tk application with a root and label object and display it to the user.
from Tkinter import *
# All Tk applications should have a root
root = Tk()
# Create a new label, assign it to the root, and give it the text "Hello World"
w = Label(root, text="Hello world!", pady=10, padx=10)
# The command packs the root frame tightly around the label
w.pack()
# This command starts the main Tk event loop
root.mainloop()

To run this program, you'll need to run the script through the Python interpreter by typing pythonw TkinterSample.py into the Terminal. One thing to take notice of, is that we use something called pythonw rather than calling the normal Python interpreter to run our program. The reason for this is because our application is a window-based application (i.e., it does not display inside of the Terminal). The pythonw script executes the Python interpreter using a fully qualified path to overcome a bug within OS X. This allows a Python GUI-based application to interact properly with the Window Manager.

If you got everything typed in correctly, and you used pythonw instead of python to run your script, you should see a dialog that looks similar to the one in the figure below.



Figure 1 - TkinterSample.py and Emacs

Well then, you've tried out the short application above to make sure that your installation of Tkinter works properly, and you're still curious to learn more. Well have no fear, wxPython is another very popular GUI library for Python and we're going to cover it in the very next subsection.

wxPython

Back in 1992, at the Artificial Intelligence Applications Institute, at the University of Edinburgh, Julian Smart was designing a tool that needed to run on both Windows PCs and X-based Unix workstations. The existing cross-platform GUI libraries were all too expensive for an in-house experimental project, and so the decision was made to develop an easy to use, cross-platform, GUI library. Thus, wxWidgets was born--actually wxWindows at the time, the name was later changed.

Over time, the library developed a strong following, and in 1996, a version for the Python programming language was created by Robin Dunn. The port for Python was called wxPython, and it was implemented as an extension module wrapping the wxWidgets C++ class library. Since then, the wxPython library has grown to become a very stable, powerful, and easy to use GUI toolkit. Just like Tkinter, it has been ported to nearly every computing platform imaginable, which means that - when using wxPython - you'll be able to develop your GUI-based apps with little regard for the final target architecture or operating system.

The wxPython library is an Open Source project, so the source code can be downloaded and manipulated if need be, but the most important thing to remember is that Open Source means free, as in beer. Just like Tkinter, you can download, use, and freely distribute applications that you create with this library without paying a fee to anyone. The library is also extremely easy to install, since a binary installer is available for the Mac OS X platform which can be found at the main wxPython website <http://www.wxpython.org/>.

Through my experiments with wxPython, I have found that I prefer it to all of the other GUI libraries that I have tried thus far. I found its installation to be the easiest out of the GUI libraries listed in this article and its popularity is second only to Tkinter and rapidly gaining on the Tk toolkit. Also, just like Tkinter, there are ports of the library to several other popular languages. So, by learning Tkinter or wxPython, you are essentially getting a tool that can be used with several different languages and not just for Python development.

Other Libraries

As I stated in the section introduction, I decided to cover the two GUI libraries that I found to be the most popular. The reason for this was that, I had assumed (however wrong my assumption may be) that the most popular libraries would be the easiest to use, the easiest to find help for, the most stable, and the most available to the consumer of our applications. That said, there are several other very nice options for Python GUI-based development, a few of which we'll quickly look over in the remainder of this section.

For anyone who wants to develop applications specifically for the Mac OS X platform, PyObjC provides a bridge between the Python programming language, and the Cocoa Objective-C classes. With PyObjC installed, you can create OS X native applications using the Interface Builder application to create your GUIs. For those of you interested in using the PyObjC Bridge to create your Python applications, we'll be covering it in the next section on code editors and IDEs.

If you're not really interested in Cocoa development, you're looking for something a little more cross-platform, and you have experience with Java, you may want to look into Jython. Jython is an implementation of the Python language written in 100% pure Java, so it's actually much more than just a conduit to Java's Swing library, but for the purpose of fitting into this section, we'll look at as such.

Ok, I know what you're thinking. Why would I ever need a Java implementation of Python? Well, just let me point out a few of the reasons why you may find Jython useful when developing Python applications.

First, having Python implemented in Java means that you now have the ability to run Python applications on any system that can run the JVM. This opens up the opportunity of writing programs for many more platforms, since nearly every platform now runs Java.

Second--and what I really wanted to cover in this section--if you're like me and you basically cut your teeth on Java, then Jython gives you a good starting point to get up and running quickly with Python, without the additional overhead of learning a GUI library as well. When I first started learning Python, I was able to write GUI-based applications in Python using Swing--with which I already had quite extensive experience. This meant that I was able to concentrate more on learning the language, and less on learning a GUI library.

Finally, there's PyQt. Trolltech's Qt is a very popular GUI library for Linux programming, but it also happens to be a very able toolkit on several different platforms (including Windows and Mac OS X, of course). PyQt is a set of bindings for Trolltech's Qt GUI toolkit and like many of our other libraries, it's available on a non-commercial license for free, and can be downloaded at <http://www.riverbankcomputing.co.uk/pyqt/download.php> My only complaint about using Qt is that it doesn't seem to scale that well. Larger projects written in PyQt seemed a bit sluggish, even on a beefy G4, 1.25GHz processor and 1GB of RAM. Although, with that said, I have noticed that larger projects using some of the other libraries are not the speediest either. It would seem that very large-scale, GUI-based projects might still be out of reach of the Python developer for the time being; much like the Java-based apps of a few years ago (recently Java applications have become much more responsive, though still a little too slow for my taste).

Scientific Libraries

Since overhauling their operating system by adding Unix underpinnings to its already venerable user interface, Apple has been gaining ground in the scientific community. Researchers in Bioinformatics and Computational Biology, Applied Physics, and Mathematics--you name it--have found OS X to be a formidable system for research as well as their day-to-day tasks. The Mac OS provides a scientist with an all-in-one solution. OS X makes it easy for a researcher to run all of the Unix-based scientific apps they need, develop programs in a multitude of scripting and programming languages, write their research publications using Microsoft Word or LaTeX, and do it all on one machine. It is this versatility that has made OS X, the preferred operating system of many researchers.

One thing that you'll find common across most scientists is a need for powerful scripting languages. Bioinformatics, for example, is one area of research where we have seen a strong use of popular and powerful scripting languages. Perl has historically been the scripting language de rigueur for many bioinformaticions, but Python has been steadily gaining ground for several years now. Loved by many for its combination of power and readability, (the latter of which is something that many will say Perl definitely lacks) Python has grown on the scientific community, and we are starting to see several different libraries created specifically for the tasks required by these researchers.

The rest of this section will try to introduce you to a few of the more popular libraries for researchers. So, for any of you out there considering graduate school a possibility in the near future, listen up and take notes.

NumPy

Numerical Python, or NumPy, is a library created principally by Jim Hugunin while a student at MIT, and currently maintained by a group of developers headed by Paul Dubois. This library provides Python with the facilities to handle matrices and Linear Algebra mathematics. It's a powerful library that is extremely easy to install, as well as use.

Installation of the NumPy library is typical of most python command line installations, that is, you'll need to run a setup script through the Python interpreter with the command line argument install. In our case we will need to modify this a bit by using the setup_all.py script instead, and thus, our install line should look like this: python setup_all.py install.

Running this line from the NumPy directory in the Terminal application should install NumPy on your system without any problems. Before you get started with the installation, however, you may need to download the library. You can do so at its homepage at <http://numpy.scipy.org//>.

One more thing: you may need to be root to install the library. So, if you run into any problems during the installation, especially ones that mention invalid permissions, you may want to try running the script again, this time with the sudo command.

Once you get NumPy installed, and you're able to play around with it a bit, you'll notice how greatly it simplifies doing complicated linear algebra in your Python programs. However, even though it's great by itself, the true power of NumPy can be appreciated only when coupled with other libraries such as the popular DISLIN library--a library for data visualization. With that thought in mind, it only seems natural to look into the DISLIN library next.

DISLIN

DISLIN, as was mentioned in previous subsection, is a library for producing data visualizations. It's cross platform and also quite easy to use. Once again though, we have found a tool that makes use of X windows to produce its visual displays. So, remember when running your DISLIN visualizations, you must run them from whatever X windows implementation you have decided to install on your system.

Even with the caveat that we have to run our visualizations under a distribution of X windows, the library is definitely worth the download, if you plan on doing anything where it will become important to graphically visualize large sets of data. So, I would suggest that you run out to its homepage <http://www.mps.mpg.de/dislin/> and download the Darwin, ppc distribution for the Mac.

Once you've downloaded the library and unpacked it into a temporary directory, you can proceed with the installation of the package. Once again, this library will need to be installed from the command line (no binaries available, but hey its free, so stop complaining). This one is a bit more complex than the one for NumPy, but all of the steps are clearly labeled in the README file provided with the distribution. Just make sure that you don't stop after the installation, but that you also run through the directions for using DISLIN with Python that are listed below the install instructions.

Once you've got the library properly installed, you'll definitely want to give it a try. So, to satisfy your curiosity, and also as an example of the ease at which you can create impressive data visualizations using Python and DISLIN, I have included the code for a simple surface map visualization below.

Listing 3: NumPy and DISLIN sample surface map application

surface_map.py

Creates a surface map visualization using NumPy and DISLIN.
from dislin import *
from Numeric import *
z_mat = zeros((180,180),Float)
x_ray = arange(180.0)
y_ray = arange(180.0)
dtr = 3.141592654/180.0
for x in x_ray:
    for y in y_ray:
        z_mat[int(x)][int(y)] = sin(x*3*dtr)*sin(y*2*dtr)
surshade(z_mat,x_ray,y_ray)
disfin()

The results of running the code above, through the Python interpreter from X11, can be seen in the figure below. Take notice of how very little code you need, to perform a complex visualization like the example that was provided. (See figure 2.)



Figure 2 - DISLIN surface_map.py Sample

Biopython

With the overwhelming popularity of the Bioinformatics field recently, I feel it is important to have a portion of our discussion look into at least one library for researchers in this field. Yet, keep in mind that I am not a researcher in the computational biology field (my chosen area of study is Computer Science), nor do I profess to understand all that I am about to cover below. Regardless of my ineptitude, however, I hope that at least a few bioinformaticions out there will find this subsection to be helpful and informative.

So, with that disclaimer out of the way (and hopefully all the hate mail from the bio-crowd avoided), let's take a look at the Biopython set of tools, and what they have to offer the scientific community.

First, Biopython refers to a project that brings together many developers of freely available Python tools for computational biology. Biopython also refers to the tool suite that is available online at the Biopython website <http://www.biopython.org>. There are several tools for running common operations on sequences as well as the data structures to represent them. There are tools for running translations and BLASTing and for performing classifications of data using k Nearest Neighbors, Naive Bayes, or Support Vector Machines. Biopython is an extremely large and comprehensive set of tools for the biological researcher.

For grins and giggles, I decided to download Biopython and try it out (I had recently begun looking into pursuing a bioinformatics path for my Ph.D., although I may be rethinking that again very soon). I found that the installation was actually not very difficult as long as you don't mind command line installations--sorry, once again no binary distributions here--however, it was very time consuming. Biopython has so many tools that it has quite a large set of dependencies, so I found myself downloading and installing quite a few other packages just to get it to work on my machine.

Nevertheless, after about an hour or so, I finally had it installed (with a few optional libraries left out) and I was able to write up a quick script that took a DNA sequence and returned its RNA translation. Not that I understood what I did, mind you, but I did feel like a scientist for a very short time, and in the process I found that the library should be very intuitive for anyone already possessing knowledge of the bioinformatics field.

Also, as a hint for anyone wishing to install this library, first download and install Fink (a project dedicated to bringing Unix Open Source software to OS X). I was able to use it to install most of the dependencies of Biopython, making the installation a heck of a lot simpler.

A Few Others

In the final section I wanted to just quickly mention a few other libraries that I found for Python, which were no less important than those in the sections prior, but since I'm not writing a book, I had to draw the line somewhere. So, this section just quickly introduces a few more libraries that I think are must haves for any serious Python programmer.

We'll start with a couple of libraries that allow Python scripts to access and utilize arguably the two most popular open source databases: MySQL and PostgreSQL. Then, we'll quickly look into two more libraries that allow the Python programmer to create 3D graphics on OS X.

Databases

In order to standardize the many modules that allow Python developers to access a database, a database API specification, which is currently in version 2.0, was developed. This makes Python programs that access a database, not only easier to write, but also infinitely more portable, since all that needs to change for the code to work with another database is the module that implements the specification.

In this section I wanted to quickly point out two modules that allowed Python programmers to access two of the most popular Open Source databases. These modules are: MySQLdb and PyGreSQL, both, of course, are compliant with version 2.0 of the Python Database specification.

The first, MySQLdb, is, of course, an interface to the MySQL database. This module is fully thread safe and supports transactions. It's easy to install and easy to use, and it can be used with any version of Python above v1.5.2, and with versions of MySQL v3.22 or greater. The other module I wanted to point out works with the PostgreSQL database. PyGreSQL is the name of the module that provides Python with the ability to access and utilize a PostgreSQL database.

If neither database is currently installed on your machine, and you're not particularly interested in going through a long install with the source, Marc Liyanage has links and instructions on his website <http://www.entropy.ch/software/macosx/> for downloading and installing each database on OS X with a binary installer.

If, however, you prefer installing from a source distribution, you can find some documentation on installing each one in the Open Source section of Apple's Developer Connection <http://developer.apple.com/internet/opensource/index.html>.

Once you've installed the databases, you'll be ready to install MySQLdb and PyGreSQL modules. You can find the MySQLdb module through the Sourceforge site at the following address: <http://sourceforge.net/projects/mysql-python> The PostgreSQL database module, PyGreSQL, can be found at its homepage: <http://www.pygresql.org/>

Graphics

There are several choices for graphics libraries when working with Python on the Mac. As I already mentioned earlier, Python developers on the Mac have access to the DISLIN visualization library. However, these obviously are not the only ones, in this section I'll quickly introduce two other 3D graphics libraries.

To start with, VPython is a data visualization library similar to the DISLIN library. However, its main aim is ease of use, and at least from my readings, it seems as if it is being geared towards students in the sciences. As for the installation of the library, my recommendation would be to install it from Fink (use the command fink install visual-py23), and that seems to be the general consensus since even the homepage of VPython <http://www.vpython.org> recommends the same.

The other library gives us access to what is probably the most popular cross platform graphics library: OpenGL. PyOpenGL binds Python to the OpenGL 3D graphics library, version 1.1. The library is a bit behind, since at last check, OpenGL was up to version 2.0. Nevertheless, it works well, it's cross platform, and it's extremely easy to use.

Once again, this library does not have a binary installer, so you'll have to download the source <http://pyopengl.sourceforge.net/> and build it. Nevertheless, when I built the library on my machine, the build and install steps went by without any incident whatsoever, and before I knew it, I had a sample Python-based OpenGL program up and running.

Conclusion

Well, we've certainly covered a lot of ground over the course of this article. I hope you've found some interesting new tools to play with in your future Python development. I also hope that I've inspired you to go out and start doing some research on the web to find even more new tools for your Mac. And who knows, perhaps you'll find a void somewhere out there in the tools available, and you'll be able to organize an effort that delivers another powerful library back to the Python community.

This article's main objective was to whet your appetite, and hopefully get a few of you to try something new in your daily development ritual. In the future, I'll be publishing a few articles that take a look at some of the technologies we covered here, a little closer. So, if you enjoyed this article, and you find yourself thirsty to learn some more, have no fear, I'll have a few more in depth tutorials out there for you to sink your teeth into, sometime very soon.

Bibliography and References

http://www.python.org/doc

http://homepages.cwi.nl/~jack/macpython/

http://tcltkaqua.sourceforge.net

http://www.wxpython.org/

http://www.jython.org/

http://pyobjc.sourceforge.net/

http://www.biopython.org/

http://www.pfdubois.com/numpy/

http://www.linmpi.mpg.de/dislin/

http://sourceforge.net/projects/mysql-python

http://www.druid.net/pygresql/

http://vpython.org/

http://pyopengl.sourceforge.net/


Christopher Roach recently earned his MS in Computer Science from Virginia Tech and currently works as a software engineer in Florida's Space Coast. On the weekend he tries to find time to write articles on Macintosh programming and do battle with insanely powerful hurricanes, while still trying to preserve some semblance of a life. If you have questions or comments on the article, you can email him at croach@vt.edu

 
AAPL
$433.26
Apple Inc.
-1.32
MSFT
$34.87
Microsoft Corpora
+0.79
GOOG
$909.18
Google Inc.
+5.31

MacTech Search:
Community Search:

Software Updates via MacUpdate

Apple iTunes 11.0.3 - Manage your music,...
Apple iTunes lets you organize and play digital music and video on your computer. It can automatically download new music, app, and book purchases across all your devices and computers. And it's a... Read more
Spotify 0.9.0.133. - Stream music, creat...
Spotify is a new way to enjoy music. Simply download and install. Before you know it you'll be singing along to the genre, artist, or song of your choice. With Spotify you are never far away from... Read more
JollysFastVNC 1.46 - Fast VNC client. (S...
JollysFastVNC is a VNC client which aims to become the best VNC client on the Mac. When I started ScreenRecycler I thought that there are enough VNC clients out there to support it. When the program... Read more
Skitch 2.5.2 - Take screenshots, annotat...
Skitch allows you to take screenshots on your Mac, edit them and share them with others. It makes the sharing process seamless by making it a natural workflow to send the image (with edited arrows... Read more
Backblaze 2.1.0.608 - Online backup serv...
Backblaze is an online backup service, available fo $5/month for unlimited storage. With half of the founding team heralding from Apple, Backblaze is deeply committed to the Mac platform. The... Read more
The Cave 1.0.0 - Adventure game featurin...
The Cave is an adventure game that offers a unique blend of fast-paced action, mind-bending puzzles, and winning humor. Assemble your team and embark on a journey into the shadowy underworld. Once... Read more
StatsBar 1.4 - Monitor system processes...
StatsBar gives you a comprehensive and detailed analysis of the following areas of your Mac: CPU usage Memory usage Disk usage Network and bandwidth usage Battery power and health (MacBooks only)... Read more
Thunderbird 17.0.6 - Email client from M...
As of July 2012, Thunderbird is no longer being actively developed, although security improvements will continue to be released as needed. Thunderbird is a free, open-source, cross-platform e-mail... Read more
Adobe Flash Player 11.8.800.50 - Multime...
Adobe Flash Player is a cross-platform, browser-based application runtime that provides uncompromised viewing of expressive applications, content, and videos across browsers and operating systems.... Read more
Apple iMovie 9.0.9 - Edit personal video...
Apple iMovie makes it easy to turn your home videos into your all-time favorite films. You'll laugh. You'll cry. You'll watch them over and over again. And you'll share them with everyone.Version 9.... Read more

This Week at 148Apps: May 13-17, 2013
We Are Your App Review Source   | Read more »
Second Home – Xbox Live Indie Developers...
The indie game development scene has been around for an incredibly long time; pretty much ever since people had the opportunity to program for themselves. However it wasn’t until shareware became a common method of distribution the 90s that it began... | Read more »
The Simpsons: Tapped Out Adds New Charac...
The Simpsons: Tapped Out Adds New Character and Locations In Latest Update Posted by Andrew Stevens on May 17th, 2013 [ permalink ] | Read more »
Fast & Furious 6: The Game Review
Fast & Furious 6: The Game Review By Jennifer Allen on May 17th, 2013 Our Rating: :: SPEEDY YET SLOW PACEDUniversal App - Designed for iPhone and iPad It’s not that Fast & Furious 6 isn’t a fun drag racer, it’s just that... | Read more »
N.O.V.A. 3 – Near Orbit Vanguard Allianc...
N.O.V.A. 3 – Near Orbit Vanguard Alliance Is Free For Today Only Posted by Andrew Stevens on May 17th, 2013 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Turbo Racing League Is Now Available, Pr...
Turbo Racing League Is Now Available, Provides Players A Chance To Win Cash Prizes Posted by Andrew Stevens on May 17th, 2013 [ permalink ] | Read more »
Running with Friends Review
Running with Friends Review By Blake Grundman on May 17th, 2013 Our Rating: :: FAMILIAR, YET FUNUniversal App - Designed for iPhone and iPad A game may look and play identically to other titles on the market, but this is one that... | Read more »
Festival de Cannes Lets You Experience T...
Festival de Cannes Lets You Experience The Festival In Real Time Posted by Andrew Stevens on May 17th, 2013 [ permalink ] | Read more »
Sonic the Hedgehog’s Remastered Version...
The original Sonic the Hedgehog has been remastered for iOS, a la Sonic CD. | Read more »
tenXer Tracks All Your Activities And Re...
tenXer Tracks All Your Activities And Reports Them For You Posted by Andrew Stevens on May 17th, 2013 [ permalink ] iPhone App - Designed for the iPhone, compatible with the iPad | Read more »

Price Scanner via MacPrices.net

15″ MacBook Pros (Apple refurbished) in stock star...
The Apple Store has several Apple Certified Refurbished 15-inch MacBook Pros in stock today, with models starting at $1489. Each MacBook Pro comes with Apple’s one-year warranty, and home shipping (... Read more
Save up to $100 on iMacs with Apple Education disc...
Take up to $100 off the price of a new 21″ or 27″ iMac at The Apple Store for Education. All students, teachers, and staff at any educational institution qualify for the discount, and shipping is... Read more
Mac mini Server on sale for $50 off MSRP
B&H Photo has the 2012 Mac mini Server on sale for $949 including free shipping plus NY sales tax only. Their price is $50 off MSRP, and it’s the lowest price available for this model. B&H... Read more
Steve Jobs Triumphs Posthumously In Platform Wars...
The Register’s Paul Kunert says it’s finally official – the epic battle of legendary Apple CEO Steve Jobs is finally won, now that he has toppled the PC platform from beyond the grave, in the UK, at... Read more
Microsoft Surface Pro vs Apple MacBook Air 11in
Stuff has posted a concise comparo review of the Microsoft Surface Pro tablet PC versus Apple’s 11.6-inch MacBook Air, noting that both machines offer a full desktop OS and a current-generation Intel... Read more
Pixelmator 2.2 First Week Downloads Top Half a Mil...
The Pixelmator Team has announced that Pixelmator 2.2 downloads have topped half a million since last Thursday, making it the most successful release in Pixelmator history. With over 100 new features... Read more
AppleCare Protection Plans on sale for up to $105...
B&H Photo has 3-Year AppleCare Warranties on sale for up to $105 off MSRP including free shipping plus NY sales tax only: - Mac Laptops 15″ and Above: $244 $105 off MSRP - Mac Laptops 13″ and... Read more
27″ Apple Display (refurbished) available for $829...
The Apple Store has Apple Certified Refurbished 27″ Thunderbolt Displays available for $829 including free shipping. That’s $170 off the cost of new models. Read more
Walmart online offers iPad mini for $299
Walmart is offering 16GB WiFi iPad minis for $299 on their online store for a limited time. Choose free home delivery or free local store pickup. MSRP for this model is $329. Read more
PC Markets in Western Europe Collapse; Only Apple...
PC shipments in Western Europe totaled 12.3 million units in the first quarter of 2013, a decline of 20.5 percent from the corresponding period of 2012, according to Gartner, Inc. (see Table 1). “... Read more

Jobs Board

*Apple* Retail - Manager - Apple (Unite...
Job SummaryKeeping an Apple Store thriving requires a diverse set of leadership skills, and as a Manager, youre a master of them all. In the stores fast-paced, dynamic Read more
*Apple* At-Home Team Manager - Apple (U...
Changing the world is all in a day's work at Apple . If you love innovation, here's your chance to make a career of it. You'll work hard. But the job comes with more than Read more
*Apple* Retail - Manager - Apple Inc. (...
Job SummaryKeeping an Apple Store thriving requires a diverse set of leadership skills, and as a Manager, you're a master of them all. In the store's fast-paced, dynamic Read more
*Apple* Support Engineer - Systemtec, I...
Apple Support Engineer SYSTEMTEC. FIND YOUR NEW CAREER PATH! Technology projects within organizations present unique opportunities. By offering your expertise within a Read more
*Apple* Engineer - DP Professionals Inc...
DP Professionals is seeking an Apple Engineer for a contract in Charleston, SC. The Apple Engineer will provide Mac and iOS device and application support, and Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.