Underlining a phrase turns it into a fact if you define it in a dictionary to go along with the contract document port vessel.

Posted in Punctuation | Leave a comment

The Full Colon

The full-colon stands in front of a fact and is used in place of a (pre)positional phrase. I.E. For the Abe = : Abe, For the Drama-Llama = : Drama-Lama.


Posted in Punctuation | Leave a comment

SOLVED: AttributeError: ‘_thread._local’ object has no attribute ‘_pydal_connection_140103876850296_30686’

I have been using web2py’s pyDAL with no problem for a long time. However, recently I started getting the error mentioned in the title and this stacktrace.

I googled about and for some reason a certain pyDAL thread came up. And in one of the comments I saw some code which forced a reconnect.

So I took my instance of pyDAL and forced a reconnect before inserting:

def record_buy(config_file, order_id, mkt, rate, amount):
 """Store the details of a coin purchase.

Create a new record in the `buy` table.


            order_id=order_id, market=mkt, purchase_price=rate, amount=amount)

And wallah! No more error!

Posted in Python | Tagged , | Leave a comment

`git clone` works on GitHub but not GitLab or BitBucket!

Posted in Hacking | Leave a comment

How to forward email from your VPS to an external email provider

I use Linode to host my domains. I had a need to have an official looking email, and found this post by Jesse Lau. However he is missing a crucial line which I found in this Linode forum post:

virtual_alias_domains = ducklington.org

So the entire correct recipe is:

  1. Install postfix
    apt-get update
    apt-get upgrade
    apt-get install postfix
  2. /etc/postfix/main.cf download and edit
    virtual_alias_domains = ducklington.org
    virtual_alias_maps = hash:/etc/postfix/virtual
  3. /etc/postfix/virtual
    jim@ducklington.org jim@gmail.com
    ted@ducklington.org ted@gmail.com
  4. postmap /etc/postfix/virtual to build database
  5. /etc/init.d/postfix reload

Some of the chat from the helpful people in the Linode IRC channel may prove of use:


Posted in Hacking | Leave a comment

Haxe for Windows download

If you’re stuck at work and haxe.org is blocked “for your security”, then this download is for you my friend!.


Posted in Uncategorized | Leave a comment

Push-style templating systems catalog

Terence Parr wrote a seminal article entitled “Enforcing Strict Model View Separation in Template Engines”. In this article he states:

The mantra of every experienced web application developer is the same: thou shalt separate business logic from display. Ironically, almost all template engines allow violation of this separation principle, which is the very impetus for HTML template engine development.

After living at Perlmonks for the longest, I finally stuck the list of Push-style templating systems into a Google doc.

This list, and his paper, were developed before 100% server-side javascript rendering existed. Now, things such as UrWeb,  Vaadin and ScalaJS represent the cutting edge of dynamic HTML generation, being highly interactive yet typesafe and driven by a full computer programming language. Those language both compile to JS or make use of js without having the type-weakness and error-proneness of Javascript itself, yet offering rich highly interactive user experiences.


Posted in Hacking | Leave a comment

Solved: “Unpacking the package… Could not create directory.” wordpress error

I ran into this beauty with my latest attempt to install a WordPress theme:

Unpacking the package…

Could not create directory.

After a brief “wtf?!” and nothing in the Apache error log or a quick search, I did the following from the root of my wordpress install to save the day:

mkdir wp-content/upload
chmod 777 wp-content/upload


To the rescue… edit your wp-config.php file and put this line at the bottom:

define('FS_METHOD', 'direct');

so that instead of trying to use FTP or FTPS to transfer files, they are directly transferred.

Posted in Hacking | Leave a comment

The necessary zend_extension line could not be found in the configuration.

Part Zero of this puzzle:

You cannot simply copy 00-ioncube.ini to the directory they tell you to. You must symlink it from /etc/php5/mods-available into /etc/php5/fpm/conf.d 

Part One

The first part of this puzzle has been solved after many an hour of hacking, and it came from this StackOverflow thread, where an individual stated:

You can output the php.ini file path with phpinfo(INFO_GENERAL); Did you restart your web server ?

Are you using php-fpm (php5-fpm) so then you have to restart php-fpm also..

So the problem I was having was that after adding that file, it was not being recognized by the server as an additional file to be parsed because php-fpm had not restarted and it was returned a cached list of files.

schemelab@schemelab2:~/domains/org/metaperl/tmp$ sudo service php5-fpm restart
Restarting PHP5 FastCGI Process Manager: php5-fpm.
schemelab@schemelab2:~/domains/org/metaperl/tmp$ sudo service apache2 restart
Posted in Uncategorized | Leave a comment

Learning Haxe via the Elm examples

The goal of the Elm2Haxe Project is to implement all of The Elm Language tutorial examples in Haxe OpenFL.

Would anyone care to submit pull requests for Layout, Positioning, 2D Shapes and 2D Fills in the Elm Language Examples basics section.


Posted in Hacking | Leave a comment