Archive for the ‘python’ Category

Google App Engine Frustrations

July 20th, 2008

Google App Engine LogoI’ve tried more than once to jump onto the Google App Engine bandwagon to no avail. Unfortunately it’s preview nature is acting to frustrate any attempt I make build something I’m happy with. Just some thoughts so far:

No Direction – It’s been dumped into the ether with no solid direction. No recommended method or path to building your web app is given or hinted at. I’m all for choice and its great Google allow you to use Django, CherryPy, WebPy, etc. but it’d be helpful if a consistent and solid method was given. Unfortunately you’re left with the feeling that the GAE has been thrown together with no real thought of making a web app out of it.

Disorganised Documentation – This doesn’t help the problem mentioned above as the docs provide 3 or 4 ways of producing a web app from the start. It first tells you how to do it using basic CGI and printing directly to the browser. Then it shows you using the RequestHandler and WSGI app. At which point it doesn’t say URLs are now handled by the WSGIApp instead of the app.yaml. Then it brings Django templates into the mix. How about pretty URLs? Oh well we can do that in app.yaml, or using matched groups in the WSGI app. For the love of all thats holy can’t we just have a single nice solution? A recommended method? An idea? A guide?

Restrictions – So it gives you all that wonderful choice as mentioned above so you think you’re going to make the best of it but oh no. Now you have to put up with the restrictions. No MySQL, no Django admin, restricted URL retrival, restricted security, no file uploading.

So you have to ask the question: Why?

What, ultimately, is the point in it when there’s far better out there – Django, Merb, etc.  It has no purpose other than to faff with and so I shall be avoiding it for the forseeable.

Django Found’s….

June 17th, 2008

A Django site.A Foundation!!

Putting aside my grammatically dodgy statement the Django Project (the b3zt framework evaz!) has created the Django Foundation.  A non-profit organisation in the same vein as Mozilla, Apache, etc it aims to oversee the development, direction and future of the Django project.

You can find out more about the groups goals at the Foundation page on Django Project.

Lots of warm fuzzy snuggles to the community too:

We certainly couldn’t have gotten here without the amazing support and contributions from our community of users and developers. To everyone who’s used or contributed to Django: thanks!


Through testking you can be sure that the 350-001 you wrote was worth something, and you gained something by skipping 640-802. This also leads one to a faster VCP-310.

Latest Django Site

June 16th, 2008

New Django Site - Image Freelance HairI recently completed a Django-based site for a friend which you can view here.  It’s a simple affair but with some interesting features (its very pink!):

Shop – Plugs into Amazon feed to get products and revenue generation from Associates tag (not quite finished as it needs to be styled better).

Gallery – The front end of this is all MooTools based SmoothGallery2.0 with a nifty backend providing uploading, tagging, etc.  I think the SmoothGallery is great but I can see it struggling with anymore pics in it.

Contact – Simple email on sending.  Also embedded MSN Live maps – it looks so much nicer than Google’s and its easier to use.

XML Sitemap – Using Djangos built-in Sitemap generator.

Blog – Basic blog with the FreeComments plugin.

Some of the pages can be edited much like a CMS.  This is standard in Django when you use something called Flat Pages.

As a first proper released project of Django I’m chuffed.  Its come out nicely and its immensely fast compared to my Rails sites. ;)

I plan on doing a few more in Django before moving onto MERB in the not to distant future.

Parsing Time Using Python

April 20th, 2008

I’ve spotted a great little Python module available at the Google Project hosting site.  It enables you to parse English date and time information into Python date objects.  Similar to the feature of many online calendars where you can say “2 days from now” and have it know what you mean.

Get it here.

Google App Engine

April 8th, 2008

Google App Engine Logo

I didn’t manage to get into the first 10k people so I had to make do with the goodie bag (SDK) and be on my way for now.

Form what I’m reading it looks incredible!!!  Is anyone else realising how amazing this all is?  It’s a playground!!!!  A big Googlely playground for developers to play in!!!

For anyone not in the know:

It’s an online dev server for you to upload and test out your Python-based web apps.  The SDK comes with Django for you to get your feet wet too.

Playtime!!!

5 Python Vids

March 30th, 2008

If you’re starting out on Python then you may find the following videos useful:

Basic Python

Advanced Python

Python Design Patterns

Developing a Product in Python

Django Introduction

Rails Alternatives

January 10th, 2008

After the recent turmoil I thought it may be worth pointing out a few alternatives to the Rails framework. So here’s 4 Ruby-based web framework alternatives for starters:

  • Ramaze – Has no known bugs and claims excellent stability. Thems fighting words! ;)
  • Camping – A ‘micro-framework’, this is incredibly lightweight offering limited features but great efficiency and speed.
  • Merb – One of the frameworks recommended by Zed this started as Mongrel + ERB, hence the name. Its grown to be a very clean and efficient Ruby framework.
  • Hobo – Not a framework in its own right as its built on top of Rails but it offers a raft of extra functionality to ease and speed up development of your projects.

You may also be interested in the following web frameworks in other languages:

  • Cake (PHP) – One of PHP’s most popular Rails alternatives. More verbose than Rails but providing much of the same functionality.
  • Symfony (PHP) – This is becoming increasingly popular with employers looking for experienced PHP developers.
  • Django (Python) – Hugely popular Python framework and although not the first its overtaken veteran frameworks like Turbogears to be the most popular Python in the box.
  • Turbogears (Python) – An older Python solution which is actually a jumble of technologies stuck together.
  • Sails (Java) – One of the many Java frameworks with a lot of promise.
  • Seaside (Smalltalk) - The onlySmalltalk based framework I know of. I’d really like to have a gander at this at a later date as one of Ruby’s inspirations was Smalltalk so it’d be interesting to see how the forefathers go about framework creation.

If you’re a fan of statistics, reviews and comparisons then maybe you’d like some of these – about as many web framework reviews as you can possibly want!

10 Free SVN & Project Hosting Services

September 20th, 2007

Gears

UPDATED: As of Jul 10th 2009

Open Source seems to be exploding all over the place at the moment and with online services increasingly jumping on the free offerings its been fantastic for developers wanting to host, manage, flaunt and communicate their projects online. Here’s a rundown of 6 free SVN hosting and project management offerings I like the look of.

Unfuddle

Nice name and nice site. Very web 2.0 and slick with project tracking such as issue tickets, source control, time tracking, milestones, etc. The free package only comes with 200Mb and restrictive user allowances (1 per account) and only one project. This makes them the stingiest of the group. This is reflected in their price-resources on paid plans with $99 only getting you 10Gb and 50 projects. Compare this to $59.99 at Codespaces for the same space but unlimited projects.

Pros: best interface, great features, Git support.

Cons: high price, low resources, tiny free account.

CodeSpaces

They have a hefty 500Mb for 2 free users per account and they have a good range of prices starting from $9 per month for 4-man teams upto $59 for unlimited.

Pros: nice interface, good pricing, active and involved developers.

Cons: Not as many features as the ‘big-beast’ Assembla.

Assembla

Part of a large and feature-packed service full of project management features as well as basic 200Mb of SVN hosting. It even has a jobs board but the project hosting comes with wiki pages, blogs, etc. The free package has all of this but lacks phone supports and is only for open source projects.  They have VERY competitive prices starting from $3.

Pros: packed with features, reliable, supports Mercurial.

Cons: pricey in the higher plans.

OpenSVN

One of the first to release free SVN hosting and starting to show its age with very barebones features. They had a major failure in backup and restore last year which causes some worry about their reliability. So when I say “free SVN hosting” I really mean just that!

Pros: unlimited space, unlimited projects.

Cons: very unreliable, no features!

XP-Dev

This is a very no-frills setup but they have one killer feature: Private SVN repo hosting – FOR FREE!!  Made for agile and extreme programmers this doesn’t have a lot of the features inherent in other services but thats just fine.  Its also got an unlimited repo limit.

Pros: unlimited repos, free private hosting

Cons: Only one paid option, very few features.

Bounty Source

Still going strong after I first mentioned it back in June Bounty Source offer your basic SVN along with a wiki and CMS for managing your projects online presence as well as a task tracker. Bounty Source have a unique feature though that enables a developer to be paid for the work they carry out on user feature requests. Something I really like the look of – all I need now is an open source project people are going to pay me to finish!

Pros: bounty system helps devs get paid to work.

Cons: no paid option, looking old, falling behind in features.

SourceForge

Like an old grandfather clock this has been around years and although very reliable its showing its age. They tried to spruce it up with some Web2.0 gradients and curves but you can’t scrub out the moldy smell from that interface and features-set.

Pros: reliable, well established.

Cons: very intrusive ads, pain to use.

Google Project Hosting

They seem to have taken a lot of the old school methods of project hosting from SourceForge. Unfortunately as mentioned earlier they’re looking old and although Google looks much cleaner its features still lack the richness that the smaller providers have who’ve gone all out on innovation while Google remains formulaic. Google also don’t provide paid private hosting. Its all open source here.

Pros: reliable, clean interface, good features, supports mercurial

Cons: no private paid options, open source only

Comparison Table – Free Accounts

Metric Unfuddle Code Spaces OpenSVN Bounty Source XP-Dev Google SourceForge
Project/Repo 1/Unlimited[1] Unlimited/Unlimited 1 Unlimited 5 Unlimited[4] Unlimited
Space 200Mb 50Mb Unlimited N/A[3] 300Mb Unlimited[4] Unlimited
Wiki Yes Yes No Yes No Yes Yes
Tracking Yes Yes No Yes No Yes Yes
Browser Yes Yes No Yes No Yes Yes
  • [1] Unfuddle allow one active project but unlimited numbers of repos within it.
  • [3] They state nowhere on their site about limits to project size.
  • [4] Google claim in their terms that there’s no upper limit but they reserve the right to impose one.

Programming Python puts Ruby to Shame

September 5th, 2007

Programming Ruby BookI’ve always been a huge fan of the Pragmatic Programmers books since getting their renowned tome The Pragmatic Programmer. I have to admit it was a stunning book and so too was their “Agile Web Development with Rails”. I also jumped on the band wagon and bought myself the Programming Ruby (a.k.a. ‘Pickaxe’) book and at first thought it was okay but I had some doubts even then.

I recently got my hands on a copy of Programming Python (the book from the ‘dark side’ ;) ) and I’m stunned. I now look back at my Pickaxe book and its unbelievable to see the difference. Chapter after chapter is peppered with comments such as: “you can read more about this class by looking at the docs in the back”. What’s not mentioned though is that the docs are actually already part of the Ruby documentation – Its an almost verbatim copy!Programming Python Book

Whereas in the Programming Python book (a hefty 1500 pages) you get all chapters dedicated to explaining how to use the language with real world applications. The Pickaxe has 830 pages but with only 419 dedicated to showing you how the use the language. The rest is taken up with the general Ruby documentation. If that isn’t bad enough the first edition of the Pickaxe is available online for free. So not only is half the book just basic open source documentation but 2/3 of the rest is already available online as part of the first edition. It sticks in the throat a little – though a masterstroke of marketing to be sure. I’m immensely happy with some of their other books but I can’t help but feel a bit cheated in this case and I think the ‘cult’ mentality surrounding their books has much to do with their success – not necessarily their quality.

Sorry O’Reilly – all is forgiven. :(

Programming Language Benchmarks

March 29th, 2007

I’m suprised I’ve never come across this before but you can find a pretty extensive list of programming benchmarks for just about any language you can think of over at the Gentoo Linux site.

One graph I’m sure many of you here would like to see is…

Python vs. Ruby Benchmarks

The lines in the above graph represent various algorithms.

It should be noted that the benchmarks do not claim any authority or definitive statement of the pro’s and cons of various languages. Check out the site for further comparisons and especially the FAQ.