Skip to content

Instantly share code, notes, and snippets.

@jotbe
jotbe / function_return_case_short_form.sql
Created July 6, 2011 10:12
SQL function that returns CASE results in a short form
/**
* This sample demonstrates how to return the results
* of a CASE statement in a short way without wrapping
* it into BEGIN/END, declaring and setting variables
* and returning the result at the end.
*
* Author: Jan Beilicke <dev@jotbe-fx.de>
* Date: 2011-07-06
*/
DROP FUNCTION IF EXISTS caseTestShort;
@jotbe
jotbe / getSqlDate.sql
Created July 6, 2011 10:35
MySQL: Get formatted ISO date from string with european date (can be easily extended to other formats)
/**
* This script has been tested in MySQL 5.1.37.
* It might work with other SQL-DBMS as well.
*/
DROP FUNCTION IF EXISTS getSqlDate;
DELIMITER //
CREATE FUNCTION getSqlDate(str VARCHAR(10))
RETURNS VARCHAR(10) DETERMINISTIC
CASE
@jotbe
jotbe / check-remote-file-change.py
Created July 24, 2011 20:25
Check for remote file changes
#!/usr/bin/env python
"""This script checks the Last-Modified header of a remote file.
It will use Growl to notify the user, when the field differs from a specified comparison time.
"""
__author__ = 'Jan Beilicke'
__date__ = '2011-07-24'
import sys
@jotbe
jotbe / jq_ajax.js
Created September 12, 2011 08:44
jQuery Ajax
function callAjax(u, d, t) {
jQuery.ajax({
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
dataType: "html",
type: "POST",
url: u,
data: d,
success: function(msg) {
if(t) {
if(t === ':eval') {
@jotbe
jotbe / calc_totals.awk
Created September 16, 2011 20:36
CSV: Calculate totals of specific columns using awk
# Sample usage:
# $ gawk -F, -v coli=9 -v colc=10 -f calc_totals.awk < file.csv
BEGIN{
# Separator for the output
sep = ","
# coli is the position of the imps column.
# It is passed as an arg, eg. -v coli=9
if (coli > 0) {
@jotbe
jotbe / w2p_dal_get_id.py
Created September 30, 2011 23:01
web2py: DAL dict with specific fields including id
>>> # Will only return the two requested fields
>>> db(db.page.name=='delft').select(db.page.name, db.page.title).first()
<Row {'name': 'delft', 'title': 'Delft'}>
>>> # Adding the primary key 'id' will return the requested fields BUT all objects and functions too
>>> db(db.page.name=='delft').select(db.page.id, db.page.name, db.page.title).first()
<Row {'comment': <gluon.dal.Set object at 0x102ca8d50>, 'name': 'delft', 'title': 'Delft', 'update_record': <function <lambda> at 0x102cbc488>, 'page_archive': <gluon.dal.Set object at 0x102ca8c90>, 'document': <gluon.dal.Set object at 0x102cba4d0>, 'id': 3, 'delete_record': <function <lambda> at 0x102cbc578>}>
>>> # Using as_dict() will only return the requested fields
>>> db(db.page.name=='delft').select(db.page.id, db.page.name, db.page.title).first().as_dict()
@jotbe
jotbe / w2p_archive_record.py
Created October 1, 2011 19:45
web2py: Write a record to an archive table without using forms and auth.archive
# Model:
#
#db.define_table('page',
# Field('name', unique=True),
# Field('title'),
# Field('body', 'text'),
# Field('created_on', 'datetime', default=request.now, update=request.now),
# Field('created_by', db.auth_user, default=auth.user_id),
# Field('change_note', length=200),
# format='%(title)s')
@jotbe
jotbe / 9_15_value_iteration_3.py
Created November 13, 2011 01:31
AI-Class: 9.15 Value Iteration 3
#!/bin/env python
"""
9.15 Value Iteration 3
==============================
We got the following world::
+--+-----+-----+-----+-----+
| | 1 | 2 | 3 | 4 |
+--+-----+-----+-----+-----+
@jotbe
jotbe / linear_filter.py
Created December 3, 2011 23:37
Computer Vision: Linear filter
#!/bin/env python
"""Chapter 16.21 Linear filter
We got the following matrix :math:`I` of a grayscale image from video 16.20::
255 7 3
212 240 4
218 216 230
@jotbe
jotbe / nlp_01.py
Created December 19, 2011 23:32
AI-Class: Optional NLP Programming Task (Part One - Rotation Cipher)
#!/bin/env python
"""
Optional NLP Programming Task - Part One (Rotation Cipher)
==========================================================
"""
__author__ = 'Jan Beilicke <dev +at+ jotbe-fx +dot+ de>'
__date__ = '2011-12-19'
if __name__ == '__main__':