Our First Hackathon

We are coders, and we love to code. Our job is coding, and we have fun to. Hence we decided to have fun, just by having a 24h non-stop coding experiment in our preferred and beloved Italian restaurant (well actually a taverna)! We will have a mini-hackathon tomorrow at 3pm our time, to celebrate together the past 2011 working year, that was great! Free Food, free alcohol and a couple of cots is our necessaire for brainstorm and actuate our plan to take over the world! Actually this “coding marathon” it has a subject, all the projects and ideas that will be developed should be related to “Food / Dining”! The products result of the day, if useful, will be […]

Stroller goes open source

Stroller it is our way to do e-commerce! We have already some clients that we fit on this module written in python and easily importable to have a fully e-commerce section to work with. Just after testing it in production for some customers and already in a stable shaped we decided to deliver it as a community edition in free software. In fact you can now download it from pypi: http://pypi.python.org/pypi/stroller or just checkout the sources over our repositories: hg clone http://repo.axant.it/hg/stroller For now stroller does not have a site and a home ;( but fortunately all of our projects are listed in a fancy “temp house” on project.axantlabs.com as it has stroller, just checkout http://projects.axantlabs.com/Stroller You’ll see there the […]

libACR 0.6 and ACRcms 2.0 are out

As we are going deep with ACR our cms, it’s becoming a full featured product, we are using it more and more in production and we decided to release a new version on pypi. New features include: Plugins Support. You can now add your own sections to the administration panel, views to the add slice menu and implement new functions or views. Multisite support, serve multiple sites from one single WSGIDaemonProcess Themes Support, create your own themes for the ACRCMS A simple Scripting language to automate some actions on theme setup User Defined Views, create new type of contents without having to write a single line of code SliceGroup Admin to permit to editors to change content of image galleries […]

New review coming – MySQL for Python

Packt Publishing kindly gave us more books to review MySQL for Python, we had our share of experience binding python and mysql together in pyhp and we are using it on most of our infrastructure, albeit usually through SQLAlchemy. Puria will probably enjoy it since he does like most thin-layer/no-layer approaches and this book seems good to learn how to interface quite directly to mysql.

Lowering Tg2 memory usage by running multiple instances of an app inside same WSGI daemon process

I was recently trying to deploy one app multiple times inside the same WSGIProcessGroup and WSGIApplicationGroup %{GLOBAL} to reduce memory usage. This works quite well except for all the SQLAlchemy sessions which end being attached to the engine of the last wsgi script started. The best solution that I have been able to get so far is to create a proxy interface to the application engine. This way each wsgi script gets binded to the same engine, but the engine itself keeps track of all the available real engines and responds to the script requests sending them to the right real engine. class MultiSiteEngine(object): def __init__(self): self.engines = {}   def __getattr__(self, name): if name == ‘engines': return object.__getattribute__(self, name) […]

GCC using C++

I got this news http://gcc.gnu.org/ml/gcc/2010-05/msg00705.html and it puzzled me a bit: you have the system C compiler depending on C++, making in fact it no more self hosting. That alone makes me thing whoever decided and whoever requested that is next to suicidal. GCC is known for having _quite_ a shaky C++ standard library AND ABI, as in having at least an incompatibility every major version and sometimes even with minor ones. I do dislike C++ usage mostly on this basis, let alone the fact is a language overly large, with not enough people dabbling it properly, let alone being proficient. There are already compilers using C++, one that many people find interesting is llvm. It doesn’t aim to be […]

VideoLAN Web Plugin: xpi vs crx

One of the main issue while preparing streaming solution is answering the obnoxious question: Question: Is possible to use the service through a browser? Answer: No, rtsp isn’t* http, a browser isn’t a tool for accessing any network content. * Actually would be neat having rtsp support within the video tag but that’s yet another large can of worms Once you say that you have half of your audience leaving. Non technical people is too much used to consider the browser the one and only key to internet. The remaining ones will ask something along those lines: Question: My target user is a complete idiottechnically impairednaive and unaccustomed and could not be confronted with the hassle of a complex installation […]

Remember me in Turbogears2

One of the problems with TG2 is that the current version doesn’t support a “standard” way to remember the user after he closes the browser. We have been able to find a quick and dirty solution that we like to share here. Keep in mind that this solution only works with recent versions of repoze.who, this works with TG2.0.3, but might not work with previous releases of TG2. Inside the login.html we set a cookie for the remember_me option to pass it to the controller and then inside the post_login we change the cookie. Supposing you have a #remember_me checkbox inside your login.html you can add this to set the cookie: function set_remember_cookie() { is_checked = jQuery(’#remember_me:checked’).length; if (is_checked) document.cookie […]

Turbogears authentication over mongodb users database

As we saw that there isn’t a lot of documentation around about how to perform authentication in turbogears over mongodb we decided to create a simple code snippet and public it here to help people trying to obtain the same thing. This is mainly a proof of concept and is quick and dirty way to obtain it. You will probably have something like ming as your model, instead of directly accessing mongo. This code also validates password over the clear text one, you will probably have hashed passwords in your database, so remember to change validate_password method as required To make it work you will have to place this code inside your config.app_cfg, it also expects you to have you […]