psycopg2-ctypes - GitHub. If you're playing around with PyPy and need a database driver, this could help - it's the classic psycopg2, but in a version that is based on ctypes and can therefore be efficiently integrated into PyPy.
programmierung - 27.7.2011 - 28.9.2011
django-tastypie - GitHub. This sounds very interesting as an alternative to django-piston - for example, it automatically provides all CRUD features via different APIs without any programming. This is particularly interesting for projects that are more focused on web apps (and where larger parts of the code run locally in the client in JavaScript).
coleifer/flask-peewee - GitHub. Interesting small project that works with Flask and Peewee and makes a somewhat more complete stack for Python web programming out of it. Also provides an admin interface, like Django - for this wtforms is used. Flask itself uses Jinja2 and Werkzeug underneath - this brings in good debugging tools and powerful templating, for example. By the way, PyCharm in the upcoming version 2 will also support Jinja2 at the same level as Django Templates (template debugging with breakpoints and stepping in the template!).
Poor Mans IDE Plugin PMIP - Google Project Hosting. If you've been inspired by a post about PyCharm as a Python IDE and now want to expand the IDE as well - with this plugin you can build relatively simple scripts with Ruby and don't always have to pull out the full IntelliJ SDK.
Python for Facebook - Welcome. Since Facebook discontinued support for the Python SDK last summer and also emptied the entire bug tracker, Python developers for Facebook apps have gathered elsewhere - this is one of those places. However, there are probably still one or two other places on the net where people collect patches and fixes.
facebook/python-sdk - GitHub. Also important, the official Python SDK for Facebook Open Graph applications. With this, you can access all the things directly from Python - so also completely without Django (if you want that).
Django Facebook 2.0 – Integrating Facebook. Since it's interesting at the moment (yes, yes, I know, everything is G+, but one should act counter-cyclically), here's a link to a Django library with which you can build Open Graph apps for Facebook. Could be interesting again, especially with the new Facebook Timeline. And G+? Well, as long as they only provide meager cut-rate APIs, it's simply uninteresting for tinkerers.
storm auf GitHub. Twitter has published its distributed event system as open source. Sounds very interesting - basically a load-distributed and fault-tolerant RPC dispatcher with a guarantee of execution for each event. Generally interesting where you need to process high events/sec - Storm offers easy scaling as needed by simply adding new nodes. And it's also quite independent of the programming languages used (Ruby and Python are already on board as additional languages besides JVM languages).
PLEAC-Objective CAML. If you know the Perl Cookbook, you might be interested in this - it's simply the problem statements from the Perl Cookbook in Objective Caml. Generally, the PLEAC project provides the same for various programming languages, but OCaml is the only language besides Perl and Groovy with 100% coverage.
Offline Web Applications - Dive Into HTML5. It was somehow better described in the first glance than in other sources I have read so far. Therefore, I have blogged it.
albertz/Pyjector - GitHub. Interesting for Python hackers who don't mind destabilizing their system a bit, but in return get a Python shell in every Cocoa program. Can be well used to hack around in the browser, for example. The author shows one use case with his Chrome extension that allows creating web apps under OSX. This feature is not currently available in the released OSX version of Chrome.
PyPy Status Blog: We need Software Transactional Memory. Interesting article on why we want STM, even if it may not be obvious - namely to make the more complex primitives of higher-level languages like Python transactional. And if we have STM as an implementation detail, we can also easily make it available to the programmer.
Why I'm not on Google Plus - Charlies Diary. Charles Stross on things programmers often get wrong when thinking about names. Specifically about Google+
Luban: a generic “language” for creating user interface — luban v0.2 documentation. Check it out - it could help with my eternal search for a compact user interface to use. Specifically, web as UI is becoming increasingly interesting with all the things that have emerged in this area in recent years.
PyPy Status Blog: PyPy 1.6 - kickass panda. Getting better and better - ctypes are now properly fixed (this is one of the FFI options in Python) and there is beta support for C extensions from the cpython environment (which is only a stopgap, direct PyPy extensions will actually always be more efficient, but at least some of the extensions are available as long as they do not offer their own PyPy version). Oh, and there is a first approach for a numpy module that is directly integrated with the JIT of PyPy - not yet complete, but a start has been made.
The Python Standard Library By Example - Doug Hellmann. For all those who prefer a printed version of the internet: this is a book with all the PyMOTW (Python Module of the Week) articles in it, polished and beautified and nicely compiled. Certainly very practical, because sometimes you have a book quicker at hand than a computer - and computers are forbidden in bed anyway. (Warning: regarding bed, this is a 1344-page whopper!).
Python and fileinput - All this. I know the module, honestly. But somehow it has slipped my mind again. It's really a handy thing when you write command-line tools, simply because it takes care of the Unix-typical handling of input for you.
GNAT GPL for LEGO MINDSTORMS NXT – Ravenscar Edition. And for friends of robots made from Lego and bondage-and-discipline programming languages, there is now Ada for Lego Mindstorms NXT. After all, there are not many Ada links to report.
Cross-domain communications with JSONP, Part 1: Combine JSONP and jQuery to quickly build powerful mashups. Since I needed it for a colleague and therefore searched for it, I'll just bookmark it. JSONP is basically just a convention for JSON services that respond to a callback parameter by passing the generated JSON as a parameter to a function call and using the content of the callback parameter as the function name. This makes the data accessible from domains other than the one from which the actual script comes - normal AJAX does not allow this.
ipdb makes the Python debugger a bit prettier and more user-friendly by integrating the tools from ipython. If you're already using ipython, it might be a good idea to install ipdb as well. Alternatively, you can use pdbpp, which provides similar features without ipython (e.g., you could combine this with bpython).
rad2py - Rapid Aplication Development platform for python. Wow, why didn't I know about this before? It looks interesting, although the description is a bit heavy. And it's still in a very early stage (first full prototype planned for November 2011).
RMoD: Fuel. And another Smalltalk link - here a persistence library completely in Smalltalk without special support of the VM, but still good performance and good mapping capability for all kinds of objects.
SandstoneDb, Simple ActiveRecord Style Persistence in Squeak. A very simple single-file database for Pharo, which is interesting, for example, if you want to build small desktop applications in Pharo. So the classic GUI tools that you make for personal use, for example. And yes, today is Smalltalk Day at rfc1437.
Coral — Pharo Smalltalk for scripting. Oh, that's nice, that's one of the problems I always have with Smalltalk: I can work in the IDE and in the image and then export a headless application for the server, but as soon as I need a quick script outside the image, I have to switch languages. Coral provides the answer to this problem: a small wrapper, a minimal syntax extension and a minimal image to be able to write normal scripts with Pharo Smalltalk.
ToDE - tODE - the Object centric Development Environment. A bit stagnant in development, but still interesting: an IDE that builds on Pharo Smalltalk. The special feature: it runs in the browser, but offers all the usual Smalltalk development tools there. In principle, you could therefore install a hosted Smalltalk image as a development environment for the iPad and play with it on the go (Pharo and Squeak fit well into the browser interface because they usually don't come as native Windows, but as Windows-in-Windows - and here simply Windows-in-browser).
CouchDB: The Definitive Guide. Oh, the CouchDB book by O'Reilly is also available as an online book and even in German. Certainly interesting for one or the other who doesn't feel like wading through English books. The translation is not (yet?) complete, so you will still come across English chapters. But it's a start.
Installable Web Apps - Google Code. There you can find some background information on how to convert web applications into installable web applications or hosted apps. This allows you to use Chrome as a runtime for applications that behave very similarly to regular applications - Amazon's online Kindle is a great example. Programming is done in JavaScript, which is much less intimidating than it was a few years ago. As Packaged Apps, you can also do everything that Chrome Extensions can do (and can go beyond the scope of regular web applications).
Update on UIKit lighthouse platform. Hmm, I didn't notice that - QT also has support for UIKit, the iOS framework, in 4.8. So you can build iOS apps based on QT. This raises the question of how this works with PyQt or PySide - Apple doesn't like interpreted code only when it is loaded afterwards. The app itself can be written with it, though.
Modula-3 Resource Page. Continuing with niche languages - Modula-3 has always fascinated me because it was a pragmatic and practical extension of the Wirthian language world and at the same time integrated a lot of interesting language constructs into a familiar imperative language system. And development continues to this day, the download even has binary packages for Darwin (the Unix foundation of OSX), although currently only 32bit (and I guess no bridge to Objective-C and thus to the Cocoa APIs).
Magpie Guide: Welcome. Since we're on the topic of niche languages: Magpie is yet another language for the JVM. This one looks a bit like a mix of Scala and Ruby, but the concepts are quite different. Particularly nice is multidispatch - generic functions that choose the appropriate version based on all their parameters and their types. Reminds me a bit of CLOS in that aspect. Additionally, there are full closures and functions, and blocks are first-class objects in the system. Additionally, there is an approach to metaprogramming with quotations, although I still consider the Lisp approach unbeaten (simply because in Lisp the structures of the parse tree correspond 1:1 to the actual syntax and the lists as internal representation, while in languages with Algol-like syntax the whole thing is much more indirect). What I personally also find pleasant: Magpie is very text-oriented, not so heavily reliant on special characters. It reads more pleasantly to me.
the "useless" language. Quite a crazy language - something like Forth, but all commands and syntax consist of single characters. There are also quite strange restrictions for function definitions (maximum 64 characters per line and only one if or while or similar in a function). Particularly fascinating is the U->C compiler written in U. The developer of the language has written an entire book about programming in U. But beware: the author's color choice is an acquired taste ...
Xcode4 / Objective Pascal - Available Files. If you want to play around with Pascal in the Xcode4 environment, this is certainly a good starting point. It describes how to integrate FPC into the environment, there are ready-made templates for projects and even more fun: it describes how to program iOS devices in Pascal. Back to the Future! Or Back from the Future?
extpascal - Ext JS wrapper for Object Pascal. Well, I always wanted to program my web applications with Pascal and give them an Ajax-GUI. Because it's possible. And every RIA hipster gets a heart attack when they see the sources.
sausage.js - examples - The Core API. Interesting small JavaScript library that makes navigation in large documents much easier, without overwhelming you with navigation buttons - just hover with the mouse on the right, there are visual markers for the size of the document sections and where you hover, a button appears that you can use for a direct jump. In my opinion, much less aggressive in its presentation than Flexible Nav. However, Flexible Nav of course has the advantage that you don't have to hover to see the navigation.
Okito.net — On SproutCore 2.0. About the current version of the framework that powers icloud.com (it seems some developers violated their NDA when they took a closer look at icloud.com). SproutCore has been around for a while, but version 2.0 has brought many changes and is a rewrite in essential parts. The goal is still to build native-looking applications using only JavaScript and the browser.
Pascal Script | RemObjects Software. More like a curiosity you find on the net - a scripting engine that has a syntax very similar to Object Pascal and can be integrated into Delphi and Lazarus (FreePascal RAD IDE).
Get Started Guide « PhoneGap. Just blogged for future reference, because I will definitely need this again when I play around with Phonegap and Android. Quite bumpy, it would be nice if Phonegap simply included a ready-made project template. But well, it works anyway - my Hello World appears. On the simulator. And I don't have to touch nasty Java for it, just nasty JavaScript.
Python, SymPy and Quantum Physics. So far, NumPy/Matplotlib and SymPy have been two separate worlds for me - this blog post shows how to connect these two, meaning to work out your function definitions symbolically with SymPy and then transfer them to NumPy to perform numerical investigations. This is particularly interesting in connection with the qtconsole of ipython, because it only displays matplotlib plots inline, while SymPy plots open in a separate window (as they run via pyglet), which is rather inconvenient for saving the results of your work.
wsgi_lite. Since I sometimes program "raw" against WSGI, this is not entirely uninteresting for me - a slimmed-down WSGI that defines simpler calling conventions for middleware and applications and thus further reduces the code somewhat. For entire apps, it usually doesn't bring much, as you typically write apps with a web framework, which already eases this part for you.
Issue 438 - pyglet - pyglet 1.1.3 fails on Snow Leopard. Oh man, this is really annoying. Pyglet is used by Sympy to output mathematical expressions. Unfortunately, Pyglet uses Carbon on OSX - and that is only 32-bit. And all my attempts to force something to 32-bit were in vain - actually, this can be done via environment variable or alternatively with the arch tool, but for some reason (probably due to internal indirect program calls) this is not done in Python as documented. Annoying, because Sympy has been on the list of things to try out for a while (not just since the QT console).
Innovations in iPython. Very interesting things happening with iPython - this is already becoming very similar to typical math environments like Maxima or Mathematica. At least if you install Sympy and such. The QT console worked for me after some tinkering and installing packages with Homebrew. However, I can't get matplotlib installed on Lion at all, something is still not working there, which is a shame - that would also be interesting with the pylab mode. Here's more about the QT console.
WSGI and the Pluggable Pipe Dream | Armin Ronacher's Thoughts and Writings. Just read it to get a good overview of what WSGI actually is, what is possible with it, and where it might also get stuck.
Gambas - Gambas Almost Means Basic. Ok, and now it gets really wild, but I thought after RealBasic I can't help but also link to Gambas, a kind of VisualBasic clone for various systems. Can work with different databases and different GUI libraries. And a port to OSX is now available (June 2011, so still quite fresh), which also sounds promising for the future, as Linux and Windows are already supported. And yes, I know, "real" programmers turn up their noses at things like VisualBasic, but it is very useful for quickly putting together graphical tools and is particularly interesting for occasional programmers.
TL Omnis. And another RAD old-timer - Omnis was one of the first RAD environments I played with and it was quite unusual for its time. No "real" programming back then, just GUI tools for wiring and connecting in combination with calculated fields, but these were very powerful. Very strong focus on graphical tools for various purposes (DB design, relationship management, reports, forms, etc.). It's quite amazing what you can find when you dig a bit. By the way, there is a free standard version of the environment, so you can just take a look at what it can do today.
Lazarus. I mean, how can I skip something like a free Delphi clone when I write about IDEs and RAD tools? So here's the link, there are also OSX versions of it. And it's definitely an active development project. And hey, Pascal was my first high-level language after Basic when I started programming. Oh, and there's a pretty solid bridge to the Cocoa frameworks with Objective Pascal. Update: wow, that brings back nostalgia! Building command-line tools in Pascal! And the IDE isn't bad at all, it can do a lot!
I didn't know HyperNext Studio at all. A HyperCard clone for Mac, with which you can also create Windows applications. However, the last version is a bit older, I don't know if it still runs with Lion. Meanwhile, it is freeware (though closed source, I guess because their last version is already a bit older). And also interesting: it offers two languages, one that is modeled after HyperTalk and RBScript, an object-oriented Basic from Realbasic (another IDE for OSX and Windows). I guess HyperNext itself might be programmed with Realbasic. Oh, and with the HyperNext Android Creator you can also build Android applications with HyperNext. The Android Creator is however paid (but not really expensive with 60 dollars). And unfortunately, it is only available for Windows, not for the Mac. Update: those who have Lion can forget about playing with HyperNext Studio, because it is PowerPC code, and there is no Rosetta in Lion. So the maximum OSX version is Snow Leopard.
Whalesong: a Racket to JavaScript compiler. Haven't had a link to the best Scheme implementation on the net for a long time. Okay, Racket is no longer called Scheme, but there is still a lot of Scheme in it. And now there is Whalesong, a backend that produces JavaScript from Racket code - and can even generate standalone HTML files that run directly in the browser.
WebKit in PyQt - rendering web pages. Since I'm once again pondering GUI libraries and tools and playing around with Python and Qt, I should of course not forget the WebKit integration of Qt, which is really beautifully simple to implement, as these rather simple examples show. And the Qt interfaces under OSX are not 100% like native applications, but already much better than those of GTK. And you can then also run your code on other systems without much effort. The blog has even more very interesting small articles about Python and Qt.
CodeMirror. If you want editors on websites that color the syntax of programs. Looks quite nice and could perhaps be interesting for a few things, e.g. where I allow restructured text to be entered, or where Python code is stored in the database. It is a JavaScript library that is simply plugged into the browser in the textareas.
Harbour Project. Someone mentioned dBase. Then I ended up at dbase.com - and then the question about Clipper arose. And then I searched for it. Why do I do such things? Why can't I control myself? And where is dBase for the cloud?