Electricmonk

Ferry Boender

Programmer, DevOpper, Open Source enthusiast.

Blog

Category: programming

chkrootkit false positives filtering

Chkrootkit is a tool that searches for rootkits, trojans and other signs of break-ins on your system. Like most security scanners, it sometimes generates false positives. Chkrootkit doesn’t have a native way to filter those out. From the FAQ: [Q:] chkrootkit is reporting some files and dirs as suspicious: `.packlist’, `.cvsignore’, etc. These are clearly […]

Android

Android is here. There’s been a lot of rumours about a Google mobile phone. Now, it appears that there is no gPhone (thank god), but there is a Google Mobile Phone Software Development Kit! The SDK appears to have everything you need to build third-party applications for your mobile phone. The SDK is created in […]

Python web app server in 48 lines

I needed to write a little application which would be accessible from a remote client, and which wouldn’t need any custom software running on the client. I needed a web application. But I didn’t feel like setting up a whole Apache web server with mod_python and whatever. Of course, there’s CherryPy, but it feels a […]

IPython – Interactive Python shell

(The latest version of this introduction to IPython can always be found here) Python has an interactive shell, which you can start by simply starting python: [todsah@jib]~$ python Python 2.4.4 (#2, Apr 5 2007, 20:11:18) [GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2 Type “help”, “copyright”, “credits” or “license” for more information. >>> print(‘hello’) hello […]

Mako ‘int’ object is not callable

If you’re trying out Mako (the templating language) and you happen to get this error: Traceback (most recent call last): File “/usr/lib/python2.4/site-packages/CherryPy-3.0.1-py2.4.egg/cherrypy/_cprequest.py”, line 551, in respond cherrypy.response.body = self.handler() File “/usr/lib/python2.4/site-packages/CherryPy-3.0.1-py2.4.egg/cherrypy/_cpdispatch.py”, line 24, in __call__ return self.callable(*self.args, **self.kwargs) File “./pua.py”, line 82, in index return Template(‘index’, {‘title’: ‘Title!’}) File “./pua.py”, line 35, in Template return(t.render(**vars)) […]

CherryPy on Apache2 with mod_python

(This article is also available here) I’ve recently written a web application using Python using the following libraries: CherryPy v3.0.2 Mako v0.1.8 SQLAlchemy v0.3.7 CherryPy has a built-in web server which you can use during development and for actually running the application. I already had an Apache with some old PHP programs however, so I […]

Giving up on PHP

I have given up on PHP. I will still need to use it at my job, but in private I refuse to even touch it anymore. Lately, I’ve been busy creating a framework, or a bunch of libraries actually, which where meant to negate some of PHP’s worst qualities. It had better error reporting (the […]

The Unexpected SQL Injection

Something every PHP developer should be reading: The Unexpected SQL Injection – When Escaping Is Not Enough The conclusions: Write properly quoted SQL: Single quotes around values (string literals and numbers) Backtick quotes around identifiers (databases, tables, columns, aliases) Properly escape the strings and numbers: mysql_real_escape_string() for all values (string literals and numbers) intval() for […]

Callback functions in PHP

I was implementing a plugin system for a framework I’m writing, and I needed plugins to be able to register a callback function or method with the Plugin Manager so that the callback function would get called when a signal was emitted. Here’s a very stripped down version of what I ended up with: First, […]

Very slow subquery due to HAVING

Today, I was quite mystified by a very slow running query. There was a table named ‘bar’ with about 3000 rows. I wanted to list all the rows that had a duplicate value for a certain field (‘foo’), and only those rows. The solution was to build a query that selected the rows where the […]

The text of all posts on this blog, unless specificly mentioned otherwise, are licensed under this license.