Sunday, December 13, 2009

OpenExpert - open-with for explorer's context menu - freeware

OpenExpert - open-with for explorer's context menu - freeware: "OpenExpert enables you to specify any number of suitable applications for each file type. In this way, when you open a file, instead of being restricted to using a single pre-determined application, you can easily choose among a list of suitable applications."

OpenExpert - open-with for explorer's context menu - freeware

OpenExpert - open-with for explorer's context menu - freeware: "OpenExpert enables you to specify any number of suitable applications for each file type. In this way, when you open a file, instead of being restricted to using a single pre-determined application, you can easily choose among a list of suitable applications." - 2009 Pricelessware List - 2009 Pricelessware List: "2009 Pricelessware List
These programs were voted as being 'The best of the best in freeware' for 2009." - The online resource for process information! - The online resource for process information!: "
The unique and indispensable process listing database
Uniblue's free and comprehensive online library of processes is for everyone who needs to know the exact nature and purpose of every process that should, and should not, be running on their PC." - The online resource for process information! - The online resource for process information!: "
The unique and indispensable process listing database
Uniblue's free and comprehensive online library of processes is for everyone who needs to know the exact nature and purpose of every process that should, and should not, be running on their PC."

Saturday, November 28, 2009

How To Encrypt BitTorrent Traffic | TorrentFreak

How To Encrypt BitTorrent Traffic | TorrentFreak: "The list of ISP’s that limit BitTorrent traffic, or plan to do so is growing every day, and according to the BBC, the ‘bandwidth war’ has begun.
Are you not sure if your traffic is being throttled Check the list of bad ISP’s.
But there is a solution. Encrypting your torrents will prevent throttling ISP’s from shaping your traffic. I will explain how to enable encryption in Azureus, uTorrent, and Bitcomet, the three most popular torrent clients."

Monday, November 23, 2009

ManyCam - Home - webcam graphics plus use your webcam with multiple programs simultaneously!

ManyCam - Home - webcam graphics plus use your webcam with multiple programs simultaneously!: "What is ManyCam?
- Use your webcam with multiple programs simultaneously.
- Add text to your webcam video window with any application.
- Add cool animations to your video window.
- Show your local day and date in your video window.
- Add live CGI graphics like fire and water effects. You can even make it appear as if it is snowing inside your house!"

Sunday, November 15, 2009

Smalltalk YX -- About the project

Smalltalk YX -- About the project: "Smalltalk YX is an open source programming language. It's an implementation of the Smalltalk-80 standard.
Smalltalk is a dynamic object-oriented programming language. With the name Smalltalk we usually refer to the language standard (syntax, semantics, philosophy, etc.). You can think of Smalltalk-80 like the C99 standard.
Syx is one of the implementations of this great environment."

Monday, October 26, 2009

SheevaPlug - Wikipedia, the free encyclopedia

SheevaPlug - Wikipedia, the free encyclopedia: "The SheevaPlug is one of the first 'Plug computers' to be available on the market. It features a 1.2GHz Marvell Kirkwood 6281 ARM-compatible CPU (aka Feroceon). The device has already been accredited as an 'NSLU2 killer' due to its low price (and the discontinued status of the NSLU2). [1]
The SheevaPlug comes supplied with Ubuntu 9.04 ARM build.[2] The SheevaPlug has been supported since Kernel 2.6.27 and is currently shipping with 2.6.30-rc5 [3] Marvell offers a development kit to assist in the development of software for the platform. The kit includes the GCC cross-compiler for ARM and a method for accessing the device's debug console. The debug console is accessed over a direct serial link via a connection to its onboard mini USB JTAG. The debug console supports access from either Linux or Windows.[4]"

Monday, October 19, 2009

Hacker News

Hacker News

Ispphorm - epetition response |

Ispphorm - epetition response | "Ispphorm - epetition response"

The Dharmafarer Website

The Dharmafarer Website

Anguttara Nikaya 7.49/4:59-63

"This is an ornament for the mind, a support for the mind" * - when the body has broken up after death, he reappears in the company of Brahma's Retinue. Then, having exhautsted that karma, that power, that status, that sovereignty, he is a non-returner. He does not come back to the world.

* This is explained as "the giving is part of one's cultivation or moral virtue as a suport for mental cultivation. With abundant moral virtue, it is easier for one to cultivate the mind. Conversely, if one finds difficulty in meditating then one should examine one's moral conduct and rectify any unwholesome habits or resolve negative thoughts.

Python - Get Instance Variables

Python - Get Instance Variables

House price news, information and discussion -

House price news, information and discussion - "House Price Crash"


Developers: How To List FOSS Experience On Your Resume on Saturday October 17, @08:16PM

Saturday, October 17, 2009

RubyForge: RubyCLR: Project Info

RubyForge: RubyCLR: Project Info: "A high-performance Ruby to .NET bridge that allows seamless integration of CLR and Ruby objects in the same Win32 process. Use it to create rich client applications using the Windows Forms or Windows Presentation Foundation libraries."

Scripting Files and FileSystems using VBScript

Scripting Files and FileSystems using VBScript: "Scripts to manage Files"

Tuesday, October 13, 2009

H4A Hosting - GET MORE FOR LESS!, About Us, low cost Web Hosting for the United Kingdom and the world.

H4A Hosting - GET MORE FOR LESS!, About Us, low cost Web Hosting for the United Kingdom and the world.: "H4A Hosting is a UK based web hosting company, and it is our goal to provide both individuals and businesses with low cost, reliable web hosting solutions as well as domain registration services for your convenience."

Sunday, October 11, 2009


Kaxaml: "Kaxaml is a lightweight XAML editor that gives you a 'split view' so you can see both your XAML and your rendered content (kind of like XamlPad but without the gigabyte of SDK). Kaxaml is a hobby and was created to be shared, so it's free!"

mosh-scheme - Project Hosting on Google Code

mosh-scheme - Project Hosting on Google Code: "A Fast R6RS Scheme interpreter."

Saturday, October 10, 2009

Virus, Spyware & Malware Protection | Microsoft Security Essentials

Virus, Spyware & Malware Protection | Microsoft Security Essentials: "Microsoft Security Essentials provides real-time protection for your home PC that guards against viruses, spyware, and other malicious software."

Sunday, October 4, 2009

Saturday, October 3, 2009

Alexa the Web Information Company

Alexa the Web Information Company: "Alexa"

Site to obtain information about top sites.

JStock - Free Stock Market Software | Get JStock - Free Stock Market Software at

JStock - Free Stock Market Software | Get JStock - Free Stock Market Software at "JStock is a free stock market software for 23 countries. It provides Real-Time stock info, Intraday stock price snapshot, Stock indicator editor, Stock indicator scanner, Portfolio management and Market chit chat features. Free SMS/email alert supported."

Monday, September 28, 2009

Zero Install: Goals

Zero Install: Goals: "You don't have to be root just to install a word-processor, or its documentation. Most packaging systems only allow the root user to install software.
Traditionally, if a user needs a package that isn't installed, they just get an error message. In the screenshot, the system administrator must install the package before the user can read the documentation, or the user must install from source and handle any dependencies themselves. On a Zero Install system, Zero Install would have offered to download the documentation when the user selected Help.
Of course, Debian could fix this particular problem by making the OpenOffice package depend on the documentation package. But then, installing OpenOffice would require far more disk space if you didn't need the documentation (and most of the time, for most versions of most software packages, you don't need the documentation... but an administrator can't know ahead of time what will be needed by their users). Also, users still wouldn't be able to install OpenOffice itself in the first place."

Pico Lisp Download

Pico Lisp Download: "Pico Lisp"

FAIL Blog: Epic Fail Pictures and Videos of Owned, Pwnd and Fail Moments

FAIL Blog: Epic Fail Pictures and Videos of Owned, Pwnd and Fail Moments: "Fail, Owned and Pwn moments in pictures and videos. Share fails, pwns, and owns with the world on FAIL Blog.

Saturday, September 19, 2009 - Free Windows Powershell Community - Free Windows Powershell Community: "Welcome to - a free community for PowerGUI, a graphical user interface and script editor for Microsoft Windows PowerShell!"

Friday, September 11, 2009



About LegalTorrents
LegalTorrents is an online digital media community.

We discover and distribute high quality open-licensed (Creative Commons) digital media and art, and provide support to Content Creators. We host creative content in its entirety, ensure fast, reliable downloads, and enable users to directly sponsor Content Creators and their work.

We distribute content with the full permission of the rights holders and use the peer-2-peer file-sharing technology called Bittorrent.

Saturday, September 5, 2009

Internet Archive: Free Download: The Dhammapada

Internet Archive: Free Download: The Dhammapada: "The Dhammapada"

The Dhammapada is is a Buddhist scripture, containing 423 verses in 26 categories. According to tradition, these are verses spoken by the Buddha on various occasions, most of which deal with ethics. It is is considered one of the most important pieces of Theravada literature. Despite this, the Dhammapada is read by many Mahayana Buddhists and remains a very popular text across all schools of Buddhism. - Excerpted from Wikipedia

Monday, August 31, 2009

ERUNT Freeware download and review - registry backup tool from SnapFiles

ERUNT Freeware download and review - registry backup tool from SnapFiles: "ERUNT
registry backup tool"

ERUNT (Emergency Recovery Utility NT) allows you to keep a complete backup of your registry and restore it when needed. The standard registry backup options that come with Windows back up most of the registry but not all of it. ERUNT however creates a complete backup set, including the Security hive and user related sections. ERUNT is easy to use and since it creates a full backup, there are no options or choices other than to select the location of the backup files. The backup set includes a small executable that will launch the registry restore if needed.

Emsa Disk Check: CD/DVD/HDD Disk Diagnostics Utility

Emsa Disk Check: CD/DVD/HDD Disk Diagnostics Utility: "Emsa Disk Check"

Emsa Disk Check is a dual-purpose utility, for disk checking (prescan and full disk reading) and also benchmarking. What it does, is scanning/reading the entire contents of a disk (CD, DVD or hard drive; or even floppy) and show any read errors that may appear, but also show drive speed information, progress statistics etc. It was designed with simplicity in mind, but usefulness for the user.

Create a free forum

Create a free forum

Everyone can create his free forum, in a few seconds, without any technical knowledge, and begin to discuss immediately! The interface of the forum is easy to use and to personalize. How to create a free forum?
Simply begin with this first step by choosing a style for your forum.
Don't worry, you can always easily change to a different version anytime you want.

Freeware Replacements For Common Commercial Apps

Freeware Replacements For Common Commercial Apps: "Freeware Replacements For Common Commercial Apps"

Cable management

Cable management

IKEA's selection of cable tidying products.

Saturday, August 29, 2009

Lock the Desktop from the Taskbar - Windows 7

Lock the Desktop from the Taskbar - Windows 7: "Lock the Desktop from the Taskbar"

Many people lock their Windows desktop while they are away from their computer for a few minutes. In Windows 7 you can do this by pressing Windows Key + L. However, what if you frequently lock the desktop and would like a one-click shortcut directly from the taskbar?

Thursday, August 20, 2009



Collection of legal torrents covering many areas.



Wikibooks is a Wikimedia community for creating a free library of educational textbooks that anyone can edit.

Saturday, August 15, 2009

Unison File Synchronizer

Unison File Synchronizer: "Unison is a file-synchronization tool for Unix and Windows. It allows two replicas of a collection of files and directories to be stored on different hosts (or different disks on the same host), modified separately, and then brought up to date by propagating the changes in each replica to the other."

Thursday, August 13, 2009

Loads of Linux Links: Top

Loads of Linux Links: Top: "Loads of Linux Links"

Categorised list of Linux software.

4DOS.INFO - Klaus Meinhard's Homepage: DOS Programs and Applications

4DOS.INFO - Klaus Meinhard's Homepage: DOS Programs and Applications: "old DOS programs"


FREE SOFTWARE FOR DOS — Front Page: "Free Software for DOS"

Antivirus | Archivers, Compressors, EXE Packers & related (3)
Batch Processing (2) | Boot Managers & Utils
Calculators, Converters, Stats, Math | Calendars, Clocks & PIMs
Communication & Internet (2) | Database & Spreadsheet Programs
Desktops, Shells, GUIs | Directory Utils | Disk Utils (2)
Encryption & Encoding | File Managers (2) | File Utils (3)
Graphics | HTML Utils | Information, Reference, Research
Keyboard & Mouse Utils | Menus & Program Executers
Miscellaneous Utils | Operating Systems | Printing Helpers
Programming Languages & Tools | Screen & Video
Sound Progs & CD Players | System Utils | Text Editors (2)
Text Utils (5) | Unix >> DOS | Windows & OS/2 Utils for DOS Users
Secondary List

Return of the ’70s Weirdos | Newsweek Technology |

Return of the ’70s Weirdos | Newsweek Technology | "Return of the ’70s Weirdos"

That photo of 11 weirdos in '70s clothes you may have seen on the Internet really is the original Microsoft team, snapped Dec. 7, 1978, on the eve of the company's move from Albuquerque, N.M., to Seattle. Almost 30 years later, a few weeks before Bill Gates's departure from Microsoft, the group (looking better) reconvened.

Wednesday, August 12, 2009

Monday, August 10, 2009

Bhante Vimalaramsi - 6Rs

One thing that many people have a problem understanding is that the
6R's is not a process to make things be the way we want them to be!
The 6R's are not a stick used to beat and "make" things change
"NOOOOO" The 6R's are for showing us how to allow the tightness and
pain to be there without getting involved with making it change.
Change will come when we allow the space for it to arise by itself.
The problems most people have is their expectations that they want
things to happen in their own time. And they become disenchanted with
the 6R's when things don't occur in the way we want them to. But the
6R's are not a control but an education device to show us how craving
and clinging actually works and it teaches us patience. WHich by the
way leads to nibbana! Hahaha! Anyway I hope this helps somewhat. As
always if it is not clear please don't hesitate to ask again. Smiles
and happiness to you always!

bash tip - Tracking down disk space hogs

du -h ~ | sort -nr | less

bash tip

Throw this in your .bashrc: alias s="screen -RAad" . This makes multiple screen session management
really easy. When I want to IRC, I just type "s irc". When I'm checking out how my torrent is going, "s
tor". The beauty is, you don't have to do anything different for a new session. If you forget which
sessions you have going, just type "s" and you'll be provided with a list of existing screen sessions.

More useful tips available:

xterm colour schemes

xterms suggested colour schemes:

green on black
black on wheat
white on navy
cyan on black
orange on black

He uses white on navy for emacs.

In a series of experiments, proofreading performance was consistently
better with positive polarity (dark text on light background) than
with negative polarity displays (light text on dark background). This
positive polarity advantage was independent of ambient lighting
(darkness vs. typical office illumination) and of chromaticity (black
and white vs. blue and yellow). A final experiment showed that colour
contrast (red text on green background) could not compensate for a
lack of luminance contrast. Physiological measures of effort and
strain (breathing rate, heart rate, heart rate variability and skin
conductance level) and self-reported mood, fatigue, arousal,
eyestrain, headache, muscle strain and back pain did not vary as a
function of any of the independent variables, suggesting that
participants worked equally hard in all experimental conditions, so
that the interpretation of the primary performance measure was
unlikely to be contaminated by a performance-effort trade-off.

Lisp notes

Sun Aug 17 11:17:43 BST 2008

In article <48a7480f$0$26084$>,
Mark Carter wrote:

> > Hi, Lisp n00b here. I have written a little accounts package in Python,
> > and I was experimenting with converting it to Lisp. I'm using SBCL on OS X.
> >
> > I know almost jack about Forth and APL, but it was occuring to me that
> > it would be a very interesting style to try in Lisp. I think it would
> > make my programs shorter, and would also be useful for making ad-hoc
> > queries.
> >
> > To set the stage, the app that I am writing from the ground up has two
> > classes: account and entry. A ledger is composed of a list of accounts,
> > and accounts have a list of entries in them.
> >
> > I have defined a couple of macros/functions:

Well, you are basically reinventing already existing
Lisp functionality. ;-)

> >
> > (defun foreach-lambda (list func)
> > (loop for el in list do (funcall func el)))

This is called MAP. mapping is a basic concept in Lisp.

(map nil (lambda (item) (do-something item)) list)

There are some other map functions (mapcar, ...).

> >
> > (defmacro foreach (list arg &rest body)
> > "Process each argument in a list"
> > `(foreach-lambda ,list (lambda (,arg) ,@body)))

This is called DOLIST.

(dolist (item list)
(do-something item))

Btw., if you write a macro like above, you should make a small

(defmacro foreach (list arg &body body)
"Process each argument in a list"
`(foreach-lambda ,list (lambda (,arg) ,@body)))

&body informs the Lisp system that body is a sequence
of expressions. It will usually use this information
to format code that uses this macro a little bit better.
You should compare the two. The &rest version
will be indented as if the body were normal arguments.
For the &body version the Lisp system use a different indentation.

> > (defun find-account (code)
> > (find-if (lambda (x) (eq code (account-code x)))
> > *accounts*))

Instead of FIND-IF use FIND - that's shorter.

CL-USER 68 > (find 3 '((a 1) (b 2) (c 3)) :key #'second)
(C 3)

Don't compare numbers with EQ. Use EQL or =.

(find code *accounts* :key #'account-code)

Above will use EQL , but you can tell it to use another:

(find code *accounts* :key #'account-code :test #'account-number-equal)
You might not need it in your case. But this nice
flexibility is there in Common Lisp via various keyword arguments.

> >
> > (defun accounts (func)
> > (foreach *accounts* a (funcall func a)))

(dolist (a *accounts*) (funcall func a))

or shorter

(map nil func *accounts*)

> >
> > (defun account (code func) (funcall func (find-account code)))
> >
> >
> > There's other bits in it too, but this is all I want to demonstrate just
> > now.
> >
> > Well, the nice thing is, if I want to debug or just do an ad-hoc query
> > in the REPL, I can do something like
> > (accounts #'print-balance)

I would rename this function to do-all-accounts or map-accounts.

> > to print the balances of all the accounts. If I am only interested in
> > one account, I can do
> > (account :bank #'print-balance)
> > Or, I can do other things like
> > (account :bank #'describe)

That makes little sense.

(describe (find-account :bank))

is just as good.

> >That's pretty neat, and I'm getting quite enthusiastic about this
> > mysterious beast called Lisp, as it is not an approach I have tried in
> > Python.
> >
> > Although it's quite nice, the way I have done it is not quite right,
> > because if I want descriptions for the entries in an account, the call
> > gets muddles with lambdas. My current definition for showing entries is
> >
> > (defun show-entries (code)
> > "Show the entries for an account code"
> > (foreach (account-entries (find-account code)) e
> > (describe e)))

(map nil #'describe
(account-entries (find-account code)))
> >
> > Now, I'm thinking if I had a stack-based approach, I could define it as
> > something like
> > (-account code) (-entries) (-describe)
> > If you wanted to describe all the entries in all the accounts, then you'd do
> > (-accounts) (-entries) (-describe)
> > where the prefix of '-' denotes a convention that there is a global
> > stack that is being twiddled with. And things like -account would work
> > differently depending on whether the stack was a list of classes or just
> > a class. It also looks really cool; there's no apparent looping
> > construct, and it's very convenient and intuitive for the user.
> >
> > I'm wondering if anyone has adopted a similar or better approach, and
> > what came of it.
> >
> > I'm finding that I can twiddle and fiddle with ideas in Lisp which I
> > probably wouldn't have tried to do in Python. Having said that, I
> > probably would have produced a finished result more quickly.

I think the Lisp-based functional approach is fine. You just
need to use some of the built in stuff. Check the chapters
about lists, vectors, arrays and sequences in the CLHS to get
an overview about the language. Recently here was posted
a pointer to the Common Lisp Quick Reference, which also
gives a nice overview about existing functionality.


Emacs: run-forth.el

;Article: 50575 of comp.lang.forth
;From: (Bob Pepin)
;Newsgroups: comp.lang.forth
;Subject: Re: Basicly a basic BASIC
;Date: 06 Dec 1999 03:50:35 +0100
;Organization: Entreprise des P&T
;Lines: 193
;Message-ID: <86ogc46av8.fsf@homer.localnet>
;References: <81rct3$> <81u1h0$207f$> <> <> <> <384558b0$0$> <827d20$6j7$> <82dhap$gp$>
;X-Trace: 944448945 13997 (6 Dec 1999 02:55:45 GMT)
;NNTP-Posting-Date: 6 Dec 1999 02:55:45 GMT
;X-Newsreader: Gnus v5.7/Emacs 20.4
;Xref: comp.lang.forth:50575

; (Anton Ertl) writes:

;> In article <827d20$6j7$>,
;> Wil Baden writes:
;> Goran Rydquist's forth.el (and, by inheritance, gforth.el) also has a
;> feature that supports running a Forth system interactively in an emacs
;> window and copying lines or regions with a few keystrokes from an
;> edited file to the Forth window, passing the text to the Forth system,
;> and displaying the output in the Forth window. No bouncing either.
;> However, I don't use or maintain this stuff, and IIRC it does not work
;> well with current versions of emacs and Gforth.

;I've attached a small .el that interfaces to forth via comint, works fine
;with the new emacsen, hope someone finds it useful..

;;;; run-forth.el
;;;; mostly stolen from cmuscheme.el

(provide 'run-forth)
;(require 'gforth)
(require 'comint)
;(require 'string)

(defvar inferior-forth-mode-hook nil
"*Hook for customising inferior-forth mode.")
(defvar inferior-forth-mode-map nil)

(cond ((not inferior-forth-mode-map)
(setq inferior-forth-mode-map
(copy-keymap comint-mode-map))
(define-key inferior-forth-mode-map "\M-\C-x" ;gnu convention
(define-key inferior-forth-mode-map "\C-x\C-e" 'forth-send-line)))

;; Install the process communication commands in the forth-mode keymap.
(define-key forth-mode-map "\M-\C-x" 'forth-send-definition);gnu convention
(define-key forth-mode-map "\C-x\C-e" 'forth-send-line);gnu convention
(define-key forth-mode-map "\C-ce" 'forth-send-definition)
(define-key forth-mode-map "\C-c\C-e" 'forth-send-definition-and-go)
(define-key forth-mode-map "\C-cr" 'forth-send-region)
(define-key forth-mode-map "\C-c\C-r" 'forth-send-region-and-go)
(define-key forth-mode-map "\C-cb" 'forth-send-buffer)
(define-key forth-mode-map "\C-c\C-b" 'forth-send-buffer-and-go)
(define-key forth-mode-map "\C-cz" 'switch-to-forth)

(defun inferior-forth-mode ()
"Major mode for interacting with an inferior Forth process.

The following commands are available:

A Forth process can be fired up with M-x run-forth.

Customisation: Entry to this mode runs the hooks on comint-mode-hook and
inferior-forth-mode-hook (in that order).

You can send text to the inferior Forth process from other buffers containing
Forth source.
switch-to-forth switches the current buffer to the Forth process buffer.
forth-send-definition sends the current definition to the Forth process.
forth-compile-definition compiles the current definition.
forth-send-region sends the current region to the Forth process.
forth-compile-region compiles the current region.

forth-send-definition-and-go, forth-compile-definition-and-go,
forth-send-region-and-go, and forth-compile-region-and-go
switch to the Forth process buffer after sending their text.
For information on running multiple processes in multiple buffers, see
documentation for variable forth-buffer."
;; Customise in inferior-forth-mode-hook
(setq comint-prompt-regexp "")
; (forth-mode-variables)
(setq major-mode 'inferior-forth-mode)
(setq mode-name "Inferior Forth")
(setq mode-line-process '(": %s"))
(use-local-map inferior-forth-mode-map)
(run-hooks 'inferior-forth-mode-hook))

(defvar forth-program-name "forth"
"*Program invoked be the run-forth command")

(defun run-forth (cmd)
"Run an inferior Forth process, input and output via buffer *forth*.
If there is a process already running in *forth*, just switch to that buffer.
With argument, allows you to edit the command line (default is value
of forth-program-name). Runs the hooks from inferior-forth-mode-hook
\(after the comint-mode-hook is run).
\(Type \\[describe-mode] in the process buffer for a list of commands.)"

(interactive (list (if current-prefix-arg
(read-string "Run Forth: " forth-program-name)
(if (not (comint-check-proc "*forth*"))
(let ((cmdlist (split-string cmd "[\t ]")))
(set-buffer (apply 'make-comint "forth" (car cmdlist)
nil (cdr cmdlist)))
(setq forth-buffer "*forth*")
(switch-to-buffer "*forth*"))

(defun forth-send-region (start end)
"Send the current region to the inferior Forth process."
(interactive "r")
(comint-send-region (forth-proc) start end)
(comint-send-string (forth-proc) "\n"))

(defun forth-send-definition ()
"Send the current definition to the inferior Forth process."
(let ((end (point)))
(forth-send-region (point) end))))

(defun forth-send-line ()
"Send the current line to the inferior Forth process."
(let ((end (point)))
(forth-send-region (point) end))))

(defun forth-send-buffer ()
"Send the current buffer to the inferior Forth process."
(forth-send-region (point-min) (point-max)))

(defun forth-send-region-and-go (start end)
"Send the current region to the inferior Forth process,
and switch to the process buffer."
(interactive "r")
(forth-send-region start end)
(switch-to-forth t))

(defun forth-send-definition-and-go ()
"Send the current definition to the inferior Forth,
and switch to the process buffer."
(switch-to-forth t))

(defun forth-send-line-and-go ()
"Send the current line to the inferior Forth,
and switch to the process buffer."
(switch-to-forth t))

(defun forth-send-buffer-and-go ()
"Send the current buffer to the inferior Forth,
and switch to the process buffer."
(switch-to-forth t))

(defun beginning-of-definition ()
(search-backward-regexp "\\<:\\>"))

(defun end-of-definition ()
(search-forward-regexp "\\<;\\>"))

(defun switch-to-forth (eob-p)
"Switch to the forth process buffer.
With argument, positions cursor at end of buffer."
(interactive "P")
(if (get-buffer forth-buffer)
(pop-to-buffer forth-buffer)
(error "No current process buffer. See variable forth-buffer."))
(cond (eob-p
(goto-char (point-max)))))

(defvar forth-buffer nil "*The current forth process buffer.")

(defun forth-proc ()
"Returns the current forth process. See variable forth-buffer."
(let ((proc (get-buffer-process (if (eq major-mode 'inferior-forth-mode)
(or proc
(error "No current process. See variable forth-buffer"))))

(run-hooks 'run-forth-load-hook)

; sell me shitty software once, shame on you.
; sell me shitty software twice, shame on me.

Forth - inlined data

\ Created 20-Apr-2009
\ Example of how to create custom commands that read data from
\ the source file itself

: line# ( n -- ) ." line " . ." : " ;
: line ( n -- ) line#
refill drop
source type
cr ;

: scanit 1 line 2 line refill drop ;


this is the first line
this is the second line

." Finished" cr

Allegro Common Lisp - buttons

Button function which sets the value of a static text widget to the contents of an editable text widget:

(defun form1-default-button-2-on-click (dialog widget)
(declare (ignorable dialog widget))
(let* ((text (find-component :editable-text-1 dialog))
(label (find-component :static-text-1 dialog)))
(setf (value label) (value text))

Saturday, August 8, 2009

The Underground History of American Education

The Underground History of American Education

The shocking possibility that dumb people don’t exist in sufficient numbers to warrant the millions of careers devoted to tending them will seem incredible to you. Yet that is my central proposition: the mass dumbness which justifies official schooling first had to be dreamed of; it isn’t real.

Download The Catacomb Abyss | DOS Games Archive

Download The Catacomb Abyss | DOS Games Archive: "The Catacomb Abyss"

Bry likes this game. Seems to be shareware, though.



It has many other flavors:

Cannot delete file: Access is denied
There has been a sharing violation.
The source or destination file may be in use.
The file is in use by another program or user.


Windows Live Skydrive & 3 Alternative Online Storage Services

Windows Live Skydrive & 3 Alternative Online Storage Services: "Windows Live Skydrive & 3 Alternative Online Storage Services"

Well, I must say I am coming to the conclusion that the Windows Live Initiative is becoming one of the best things to come out of Microsoft in years.

In a series of articles, I hope to cover Windows Live in a greater amount of detail then you may have seen before. I am aware that Make Use Of has previously covered several services (such as Live Writer and SkyDrive), so I am going to avoid simply giving a run-down of features. You already know it.

No what I hope to do is really give you a great deal more detail on fully integrating Windows Live and maximising your experience. These articles will include tips, hacks, reviews and most importantly the comparisons between Live Services and its competitors.

Free Office Suite to Download

Free Office Suite to Download: "SoftMaker Office 2006 for Windows"

A free office suite

Play Ogg! - Free Software Foundation

Play Ogg! - Free Software Foundation: "Ogg"

Increasingly proprietary software companies like Microsoft, Apple, and Adobe are pushing video and audio formats that restrict access and restrict software developers, but there is an alternative that can be played on all computers without restriction — Ogg. Ogg provides professional grade multimedia formats. Ogg is used extensively by free software projects, artists and a growing number of music and video distributors.

Saturday, August 1, 2009

FreeBASIC compiler (a free BASIC compiler) - official page - About [en]

FreeBASIC compiler (a free BASIC compiler) - official page - About [en]: "FreeBASIC is a completely free, open-source, 32-bit BASIC compiler, with syntax similar to MS-QuickBASIC, that adds new features such as pointers, unsigned data types, inline assembly, object orientation, and many others."

Available for DOS, Windows and Linux.

Monday, July 27, 2009


xargs apt-get install -y << EOF

echo "0x7fffffff" >/proc/sys/kernel/shmmax

Sunday, July 26, 2009

Bruce's Philosophers Song

Bruce's Philosophers Song
Monty Python's Flying Circus

Immanuel Kant was a real pissant
Who was very rarely stable.
Heidegger, Heidegger was a boozy beggar
Who could think you under the table.
David Hume could out-consume
Wilhelm Freidrich Hegel,
And Wittgenstein was a beery swine
Who was just as schloshed as Schlegel.
There's nothing Nietzsche couldn't teach ya'
'Bout the raising of the wrist.
Socrates, himself, was permanently pissed.
John Stuart Mill
Of his own free will
On half a pint of shandy was particularly ill
Plato they say
could stick it away
half a crate of whiskey every day
Aristotle Aristotle
was a bugger for the bottle
Hobbes was fond of his dram
And Rene Descarte was a drunken fart
"I drink therefore I am".
Socrates himself is particularly missed
A lovely little thinker but a bugger when he's pissed.

Created: 20-Mar-2008

Saturday, July 25, 2009


It has a very good bulk renamer.

It can also do md5 checksums

From the edit menu:
Copy full name: Alt+Ins
Copy name: Shift+Alt+Ins
Copy full path: Ctl+Alt+Ins

American wages averages

Found on internet approx 28-Oct-2008:

Houston sr software engineer/developer/programmer $86k

Wages by occupation:
computer and mathematical $32.86

Avg annual prog salary: $75,662.08

Friday, July 24, 2009

GCSE chemistry


This book was written to cover the chemistry content of all the UK GCSE Chemistry syllabuses at the time (2002). It is aimed at students likely to achieve grades from A* to B, and written in a way that wouldn't cause problems for students going on to do chemistry at a higher level.

However, since then, GCSE syllabuses have changed, particularly in the order in which they do things, and with more stress on making chemistry "relevant" - some would argue, more dumbed down!

Thursday, July 23, 2009

phase diagrams of pure substances

phase diagrams of pure substances: "Phase behaviours" suggest by Mark Hay

Men versus women (funny)

Men Are Just Happier People

If Laura, Kate and Sarah go out for lunch, they will call each other Laura,
Kate and Sarah .
If Mike, Dave and John go out, they will affectionately refer to each other
as Fat Boy, Godzilla and Four-eyes.
When the bill arrives, Mike, Dave and John will each throw in £20, even
though it's only for £32.50. None of them will have anything smaller and
none will actually admit they want change back.
When the girls get their bill, out come the pocket calculators.
A man will pay £2 for a £1 item he needs.
A woman will pay £1 for a £2 item that she doesn't need but it's on sale.
A man has six items in his bathroom: toothbrush and toothpaste, shaving
cream, razor, a bar of soap, and a towel from M&S.
The average number of items in the typical woman's bathroom is 337.
A man would not be able to identify more than 20 of these items.
A woman has the last word in any argument.
Anything a man says after that is the beginning of a new argument.
Women love cats.
Men say they love cats, but when women aren't looking, men kick cats.
A woman worries about the future until she gets a husband.
A man never worries about the future until he is married.

Songebob theme Tune

Are you ready kids?
Aye aye captain.
I can't hear you.
Ohhhhh ...
Who lives in a pineapple under the sea?
Spongebob Squarepants.
Absorbant and yellow
and porous is he,
Spongebob Squarepants.
If nautical nonsense
be something you wish
Spongebob Squarepants.
Then drop on the deck and flop like a fish
Spongebob Squarepants.
Spongebob Squarepants. x3
Spongebob Squarepants.

International Dialling codes

Want to know what dialling code to use if you're calling from the UK? then check this

Buddhist Hell Theme Park in Vietnam

Craxz, but apparently true. Link

Xmas message from alan Spence

Smith Rea animation from the holiday season.

JibJab Link

Australian salaries

Noted on Wed Oct 31 21:46:15 2007
In Perth Australia the median programmer salary is $51,000. 1GBP = $2.244. This makes the UK equivalent of £23000.

Emacs modes

You can embed an emacs mode command in your document like so:

\ -*- mode: forth; -*-

This was taken from "28.1 How Major Modes are Chosen"

Sarakaani the Sakyan

[At Kapilavasthu] Now at that time Sarakaani the Sakyan, who had died,
was proclaimed by the Blessed One to be a Stream-Winner, not subject
to rebirth in states of woe, assured of enlightenment. At this, a
number of the Sakyans, whenever they met each other or came together
in company, were indignant and angry, and said scornfully: "A fine
thing, a marvelous thing! Nowadays anyone can become a Stream-Winner,
if the Blessed One has proclaimed Sarakaani who died to be
Stream-Winner... assured of enlightenment! Why, Sarakaani failed in
his training and took to drink!"

Sarakaani in fact became a Stream-winner at the moment of death.

Tuesday, July 21, 2009

Some share selection criteria

I have used these in Sharelock Holmes

egp - EPS growth projected
egp2 - EPS growth projected2
gear - gearing
grh - Graham Ratio
intc - interest cover
mkt - market cap
perr - PER rolling
pio - Piotroski score
tgear - tangible gearing
yldp - yield projected

pio >= 5, mkt > 500, pe > 0, egp > 0, egp2 > 0, sort yld desc
Note that the Pio is designed to weed out some of the worst companies.

mkt > 300 , tgear <50, roe > 17, yld > 3, sort epic

tgear < 100, mkt > 500, pe > 0, egp > 0. egp2 >0, sort yld desc

yld > 3, 0 < grh < 3, mkt > 100, dgp > 0, sort yld desc

mkt > 100, yldp > 3, z >=2/5, 0 < ptbv <=2, sort yld desc

PBV > 0, Index = FTSE100, sort PBV asc

mkt > 50, ptbv > 0, pio >=8, intc >=0

mkt > 150, egp > 10, egp2 > 0, perr < 15, pio >= 7

pe < 15, egp2 > 0, mkt > 150, egp > 15, gear < 50, sort yld desc

pe < 15, psr < 2, mkt > 100, egp > 15, gear < 50, sort yld desc

bil - change the brightness of an iMac

# This is a shell archive (produced by GNU sharutils 4.7).
# To extract the files from this archive, save it to some FILE, remove
# everything before the `#!/bin/sh' line above, then type `sh FILE'.
# Made on 2009-07-21 09:19 GMTDT by .
# Source directory was `/cygdrive/c/Users/mcarter/docs'.
# Existing files will *not* be overwritten, unless `-c' is specified.
# This shar contains:
# length mode name
# ------ ---------- ------------------------------------------
# 1959 -rwx------ bil/bil.c
# 70 -rwx------ bil/bil.txt
# 118 -rwx------ bil/Makefile
f=`${MD5SUM} --version | egrep '^md5sum .*(core|text)utils'`
test -n "${f}" && md5check=true || md5check=false
${md5check} || \
echo 'Note: not verifying md5sums. Consider installing GNU coreutils.'
for dir in $PATH
if test "$gettext_dir" = FAILED && test -f $dir/gettext \
&& ($dir/gettext --version >/dev/null 2>&1)
case `$dir/gettext --version 2>&1 | sed 1q` in
*GNU*) gettext_dir=$dir ;;
if test "$locale_dir" = FAILED && test -f $dir/shar \
&& ($dir/shar --print-text-domain-dir >/dev/null 2>&1)
locale_dir=`$dir/shar --print-text-domain-dir`
if test "$locale_dir" = FAILED || test "$gettext_dir" = FAILED
echo="$gettext_dir/gettext -s"
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null
then if (echo -n test; echo 1,2,3) | grep n >/dev/null
then shar_n= shar_c='
else shar_n=-n shar_c= ; fi
else shar_n= shar_c='\c' ; fi
st2tr=123123592001.5 # old SysV 14-char limit

if touch -am -t ${st1} ${f} >/dev/null 2>&1 && \
test ! -f ${st1} && test -f ${f}; then
shar_touch='touch -am -t $1$2$3$4$5$6.$7 "$8"'

elif touch -am ${st2} ${f} >/dev/null 2>&1 && \
test ! -f ${st2} && test ! -f ${st2tr} && test -f ${f}; then
shar_touch='touch -am $3$4$5$6$1$2.$7 "$8"'

elif touch -am ${st3} ${f} >/dev/null 2>&1 && \
test ! -f ${st3} && test -f ${f}; then
shar_touch='touch -am $3$4$5$6$2 "$8"'

${echo} 'WARNING: not restoring timestamps. Consider getting and'
${echo} 'installing GNU `touch'\'', distributed in GNU coreutils...'
rm -f ${st1} ${st2} ${st2tr} ${st3} ${f}
if test ! -d ${lock_dir}
then : ; else ${echo} 'lock directory '${lock_dir}' exists'
exit 1
if mkdir ${lock_dir}
then ${echo} 'x - created lock directory `'${lock_dir}\''.'
else ${echo} 'x - failed to create lock directory `'${lock_dir}\''.'
exit 1
# ============= bil/bil.c ==============
if test ! -d 'bil'; then
mkdir 'bil'
if test $? -eq 0
then ${echo} 'x - created directory `bil'\''.'
else ${echo} 'x - failed to create directory `bil'\''.'
exit 1
if test -f 'bil/bil.c' && test "$first_param" != -c; then
${echo} 'x -SKIPPING bil/bil.c (file already exists)'
${echo} 'x - extracting bil/bil.c (text)'
sed 's/^X//' << 'SHAR_EOF' > 'bil/bil.c' &&
/* */
X * Apple Macbook Pro LCD backlight control
X *
X * Copyright (C) 2006 Nicolas Boichat
X * Copyright (C) 2006 Felipe Alfaro Solana
X *
X * This program is free software; you can redistribute it and/or modify
X * it under the terms of the GNU General Public License as published by
X * the Free Software Foundation; either version 2 of the License, or
X * (at your option) any later version.
X *
X * This program is distributed in the hope that it will be useful,
X * but WITHOUT ANY WARRANTY; without even the implied warranty of
X * GNU General Public License for more details.
X *
X * You should have received a copy of the GNU General Public License
X * along with this program; if not, write to the Free Software
X * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X *
X */
void init()
X if (ioperm(0xB2, 0xB3, 1) < 0)
X {
X perror("ioperm failed (you should be root).");
X exit(2);
X }
int get_current_value()
X outb(0x03, 0xB3);
X outb(0xBF, 0xB2);
X char t = inb(0xB3) >> 4;
X return t;
int calculate_new_value(const char *arg)
X int val, new = atoi(arg);
X if (arg[0] == '+' || arg[0] == '-')
X val = new + get_current_value();
X else
X val = new;
X if (val > 15)
X val = 15;
X else if (val < 1)
X val = 1;
X return val;
int main(int argc, char** argv)
X if (argc > 2)
X {
X printf("Usage:\n");
X printf("%s : read current value\n", argv[0]);
X printf("%s value : write value [0-15]\n", argv[0]);
X exit(1);
X }
X init();
X if (argc < 2)
X {
X printf("Current value : %d\n", get_current_value());
X exit(0);
X }
X if (argc == 2)
X {
X int value = calculate_new_value(argv[1]);
X outb(0x04 | (value << 4), 0xB3);
X outb(0xBF, 0xB2);
X printf("new value: %d\n", value);
X }
X return 0;
(set 20 09 04 03 20 16 15 'bil/bil.c'; eval "$shar_touch") &&
chmod 0700 'bil/bil.c'
if test $? -ne 0
then ${echo} 'restore of bil/bil.c failed'
if ${md5check}
then (
${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'bil/bil.c: MD5 check failed'
) << \SHAR_EOF
1929d6231118d4138e2594c4b42cb0d2 bil/bil.c
test `LC_ALL=C wc -c < 'bil/bil.c'` -ne 1959 && \
${echo} 'restoration warning: size of bil/bil.c is not 1959'
# ============= bil/bil.txt ==============
if test ! -d 'bil'; then
mkdir 'bil'
if test $? -eq 0
then ${echo} 'x - created directory `bil'\''.'
else ${echo} 'x - failed to create directory `bil'\''.'
exit 1
if test -f 'bil/bil.txt' && test "$first_param" != -c; then
${echo} 'x -SKIPPING bil/bil.txt (file already exists)'
${echo} 'x - extracting bil/bil.txt (text)'
sed 's/^X//' << 'SHAR_EOF' > 'bil/bil.txt' &&
bil - changes the brightness settings on iMacs
Created: 04-Apr-2009
(set 20 09 04 04 18 53 49 'bil/bil.txt'; eval "$shar_touch") &&
chmod 0700 'bil/bil.txt'
if test $? -ne 0
then ${echo} 'restore of bil/bil.txt failed'
if ${md5check}
then (
${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'bil/bil.txt: MD5 check failed'
) << \SHAR_EOF
91e3afb8c696acc63777a70a0fbe1ac1 bil/bil.txt
test `LC_ALL=C wc -c < 'bil/bil.txt'` -ne 70 && \
${echo} 'restoration warning: size of bil/bil.txt is not 70'
# ============= bil/Makefile ==============
if test -f 'bil/Makefile' && test "$first_param" != -c; then
${echo} 'x -SKIPPING bil/Makefile (file already exists)'
${echo} 'x - extracting bil/Makefile (text)'
sed 's/^X//' << 'SHAR_EOF' > 'bil/Makefile' &&
bil : bil.c
X gcc bil.c bil
clean :
X rm -f bil
install :
X cp bil ${DEST}
X chmod a+s ${DEST}/bil
(set 20 09 04 26 13 01 15 'bil/Makefile'; eval "$shar_touch") &&
chmod 0700 'bil/Makefile'
if test $? -ne 0
then ${echo} 'restore of bil/Makefile failed'
if ${md5check}
then (
${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'bil/Makefile: MD5 check failed'
) << \SHAR_EOF
46661b10d9f20e7fe682f3573e835663 bil/Makefile
test `LC_ALL=C wc -c < 'bil/Makefile'` -ne 118 && \
${echo} 'restoration warning: size of bil/Makefile is not 118'
if rm -fr ${lock_dir}
then ${echo} 'x - removed lock directory `'${lock_dir}\''.'
else ${echo} 'x - failed to remove lock directory `'${lock_dir}\''.'
exit 1
exit 0

Monday, July 20, 2009

Transport : sustainable energy

Transport : sustainable energy

Updated 15-Oct-2003 17-Oct-2003 21-Oct-2003

I have been trying to put together some calculations to determnine if it is
viable for cars to be run on rapeseed oil. I am trying to answer the question:
how many acres of farmland would it take to run a car for a year, and how much
would it cost? Any help in making that determination would be gratefully
received. Send comments to Assume that the average yearly
mileage is 10,000 miles, and the fuel consumption is 30 mpg (miles per gallon).
That equates to about 333 gallons of petrol.

Personally, I do many more than 10k miles in a year, but I reckon that I do
much better than 30mpg.

Here are some statistics

[S1] 1 gallon of petrol contains about 31 million calories

[S2] 1 calory = 4.184 joules
Source: as [S1]
A calorie is the amount of energy, or heat, it takes
to raise the temperature of 1 gram of water 1 degree Celsius.

[S3] 100g pure vegetable oil contains 900kcal
Source: the side of a bottle of Tesco Pure Vegetable oil.

[S4] Britain has 2.7m hectares of woodland (11.9% of the surface area of Great
I really wanted to know the amount of arable farmland in Britain, but didn't
quite get around to finding it. If anyone knows, then please drop be a line.

[S5] 1 gallon = 4.5 litres

[S6] Rapeseed costs 264.50 EUR / kg
Source: FT website on 14-Oct-2003
EUR means Euro. The settlement price is based on 8,000 kg.

[S7] 1 EUR = 0.693100 GBP
Source: ICAEW prices for 01-Oct-2003 to 31-Oct-2003
GBP means Great British Pounds.

[S8] 2.471 acres = 1 hectare
Imperial measurement, don't you just love it.

[S9] Rapeseed yields about 100kg of oil per hectare.

A scan of the site reveals that all biodiesel oils have, litre for litre, about
the same energy value as petrol. It's not exact, but it's about right.
This suprised me somewhat, as I expected petrol to have much more energy. But
someone told me that although petrol is definitely more volitile, that doesn't
mean it contains more energy. What makes a crop more valuable, therefore, is
its yield per acre - making yield proportional to energy value (to a reasonable
order of approximation). Cashew nuts and avocados have exceptionally high
yields - but of course we can't grow them in this country.

[S10] Vegetable oil weighs about 800g per litre
I don't remember where I got that value from, or whether it was a derived
value. I need to check it out.

[S11] Petrol costs 76p per litre
Source: petrol receipt dated 16-Oct-2003

[S12] Vegetable oil costs 63p per litre
Source: Safeway vegetable oil costs £1.88 for 3 litres [=63p/l], or 65p for 1
litre, as at 21-Oct-2003. Safeways is notorious for being expensive, so it
ought to be possible to buy it at a lesser price.

I concluded that it would take about 4 acres of rapeseed to fuel a car for a
year - which seemed quite reasonable. The value was calculated by mental
arithmetic, which may well be wrong. I need to check it out.

Passwordless SSH

On your local machine:

ssh-keygen -t rsa

Append the contents of your public key to the authorized_keys file on the remote OpenSSH server:
cat ~/.ssh/ | ssh remote_server "cat - >> ~/.ssh/authorized_keys"


Starting off
As root, you will need to grant privileges to a user - let's call him luser .

As root, start mysql using the command 'mysql'. create a database, let's call it blah:


Grant priviliges to the user:


Quit out as root using the command: QUIT

Now, in a normal user account, you can connect to it by typing:

mysql blah

You can see what databases you have access to:


You can create a table within the database by typing something like:

create table yonk (id integer);

Let's insert a row:

insert into yonk values (26) ;

Then we can see what tables exist in the database:


and inspect the data we have just entered:



select User,Host,password from mysql.user;
Setting passwords
mysql -u rootSET PASSWORD FOR root@localhost=PASSWORD('rubberchicken');

Fully Quailified Domain Name

A fully qualified domain name (or FQDN) is an unambiguous domain name that specifies the node's position in the DNS tree hierarchy absolutely. To distinguish an FQDN from a regular domain name, a trailing period is added. ex: An FQDN differs from a regular domain name by its absoluteness; a suffix will not be added.

For example, given a device with a hostname of "myhost" and a domain name of "", the fully qualified domain name is "". It therefore uniquely defines the device — whilst there might be many hosts in the world called "myhost", there can only be one "".

Notice that there is a dot at the very end of the domain name, i.e. it ends ".com." and not ".com" — this indicates that the name is an FQDN. For example "" could be ambiguous, because it could be the prefix of a longer domain name such as "", whereas "" is a fully qualified domain name.


"A world of music Instant, simple and free"

For UK. Just plays music. Seems good so far. It is in beta, so you don't really know how it will pan out long term.

Fishy maths in the Buddha's lineage

Taken from my 2001 diary:

I have been reading about the lineage of Gotama Buddha
It appears that he spent time as a human, interspersed with
existence in celestial realms. If you do the maths, the lifespan
of a deva in even the lowest heaven is about 9 million years.
Homo sapiens have existed for only about 100,000 years. The
Homo genus has existed for a few million years only - and most of
that time was probably spent being ugly, hairy and stupid.
So how do you account for this discrepancy between accounts of
Gotama Buddha's previous existences and palaentological evidence?
Also, does that mean that most devas look like reincarnated dinosaurs?

Doom codes

Here are some Doom codes that I created from 2002.

1 Hanger 3W46846Q34
3 "Toxin Refinery" 7Z7JS5ZR!9
4 "Command Control" 7G7MS5QN!9
5 "Phobos lab" 803TS12T!9
6 "Central Processing" LVR66KC4NP
7 "Computer Station" !V8RP2WL56
8 "Phobos Anomoly" !B8FP2!356
9 "Deimos Anomoly" 603TVX7679
10 "Containment Area" WTXKVB9Y1Z
11 "Refinery Finished" 52DQ1G1497
12 "Deimos Lab" 1PSBBZD2XV
13 "Command Centre" TF163QXRNL
14 "Halls of the Damned" MOV39FQNTS
15 "Spawning Vats" TQ4WCNHFJK
16 "Hell Gate" 5MQG3JCZVX
17 "Hell Keep" DB06F24LMP
18 Pandemonium K0V8LXZ8QS
19 "House of Pain"
20 "Unholy Cathedral" !9PGW8KWZ0
21 "Mt. Erebus" BWZXQFL6PN
22 Limbo 00BJ3TZ5!9
23 "Tower of Babel" M475L!YWFD
24 "Hell Beneath" 2VHS4R4346
25 "Perfect Hatred" FZW8P4RNST
26 "Sever The Wicked" ZXKMMLP534
27 "Unruly Evil" 1BHLPM4446
28 "Unto the Cruel" 74QC3BVVVX
29 "Twilight Descends" 0BHRN5KY46
30 "Threshold of Pain" LQ4W2J8KKK

1 Entryway P!50BJK7JG
2 Underhalls WLHVHCPFBC
3 Guantlet 5YT95NLNNN
4 "The Focus" 1SBYKKRFHK
5 "The Waste Tunnels" X5GXFFM1CF
6 "The Crusher" R13N0YS78!
7 "Dead Simple" DM2D4VXZWV
8 "Tricks and Traps" B37BDY!6WY
9 "the Pit" QGVPTPY48!
10 "Refueling Base" D84J75DVZ1
11 "O of Destruction" Z6!YD75JCB
12 "the Factory" QXJP138444
13 "The Inmost Dens" 248XYDVDDD
14 Suburbs J6TDZLQVVV
15 Tenements 16!YJ7PVBB
16 "The Courtyard" F!PD6ZSD1Z
17 "The Citadel" 8W0XJ19SPN
18 Nirvana WD18HHXCPM
19 "The Catacombs" JHCQ79Q779
20 "Barrels of Fun" XBZ4MT4NNP
21 Bloodfalls HKFR702T87
22 "Abandoned Mines" ZHW3967RQS
23 "Monster Condo" JKFPQW1!87
24 "Redemption Denied" R8MDJD5X21


60 Beautiful Ubuntu Desktop Wallpapers

60 Beautiful Ubuntu Desktop Wallpapers Also includes links to Windows and OS X wallpapers.

Sunday, July 19, 2009

The Idle Scripting Language

The Idle Scripting Language: "The Idle Scripting Language"

Idle is a simple but powerful scripting language, in basically the same vein as the venerable Perl or Python languages. It is, however, an altogether more lightweight application. At the core of Idle sits a tweaked and enhanced version of Lua. Idle inherits from Lua its elegant and powerful language definition as well as a highly-optimised interpreter kernel (an extremely fast compiler is included as well). Idle, like Lua, is readily extended with additional functions and libraries (which can be written either in C/C++ or in Idle itself).

This small language kernel is complemented by an extensive collection of runtime libraries, almost all of which are squeezed into a single DLL (with a size of around 230 KB) plus a few supporting Idle modules.

The Daily Mash

Humorous site.

Crabs Remix - Weebl's Stuff

Crabs Remix - Weebl's Stuff: "Crabs Remix" Silly animation. Catchy, but not their best.

Emacs - Menus and CLISP

Here's an example of creating menus in Emacs, and combining it to do something useful in CLISP:

;; Creating a new menu pane in the menu bar to the right of “Tools” menu
[menu-bar mymenu]
(cons "MyMenu" (make-sparse-keymap "hoot hoot"))
'tools )

;; Creating a menu item, under the menu by the id [menu-bar mymenu]
[menu-bar mymenu nl]
'("Next Line" . next-line))

;; creating another menu item
[menu-bar mymenu pl]
'("Previous Line" . previous-line))

(defun lisp-eval-buffer ()
"Send the current region to the inferior Lisp process.
Prefix argument means switch to the Lisp buffer afterwards."
;;(interactive "r\nP")
(comint-send-region (inferior-lisp-proc)
(point-min) (point-max))
(comint-send-string (inferior-lisp-proc) "\n"))
;; (switch-to-lisp t))

[menu-bar mymenu pl]
'("Eval buffer" . lisp-eval-buffer))

;; code to remove the whole menu panel
;; (global-unset-key [menu-bar mymenu])

(other-window 1)
(setq inferior-lisp-program "clisp -K full")
(run-lisp inferior-lisp-program)
(other-window 1)

Creative Commons Attribution 2.0 UK: England & Wales

Creative Commons Attribution 2.0 UK: England & Wales: "Attribution 2.0 UK: England & Wales"

An interesting Creative Commons Licence.

Thursday, July 16, 2009

FREE SOFTWARE FOR DOS — Database & Spreadsheet Programs

FREE SOFTWARE FOR DOS — Database & Spreadsheet Programs: "Free Software for DOS
Database & Spreadsheet Programs"

This page:







Tuesday, July 14, 2009

Visual Basic 2008

Some notes on the book

Creating controls at runtime - page 124

OpenDisc | About

OpenDisc | About: "OpenDisc is a high quality collection of open source software (OSS) for the Microsoft Windows operating system."

Monday, July 13, 2009

Lifehacker Code: Texter (Windows)

Lifehacker Code: Texter (Windows)

Texter saves you countless keystrokes by replacing abbreviations with commonly used phrases you define.

Unlike software-specific text replacement features, Texter runs in the Windows system tray and works in any application you're typing in. Texter can also set return-to markers for your cursor and insert clipboard contents into your replacement text, in addition to more advanced keyboard macros. Did we mention it's free? - site customization - site customization: ""

Saturday, July 11, 2009

Software development

Funny cartoon about software development.


Friday, July 10, 2009

LINQ SQL example

This SQL statement ...

Dim strSQL as String = _
"SELECT Name, CustomerID FROM Customers"

... becomes this LINQ coding ...

Dim customers = From cust In Customers _
Select cust.Name, cust.CustomerID

Tuesday, July 7, 2009

Best Freeware Games and Clones

Best Freeware Games and Clones: "Free Game Ware"

Site contains more than just games freeware.

Small, Smaller, Smallest Freeware

Small, Smaller, Smallest Freeware: "Small, Smaller, Smallest"

"Small, Smaller, Smallest -
Yes, it is possible to write small Windows programs - but who cares? -
If you do, have a look at these programs."

Contains an interesting collection of tiny Freeware apps.

Saturday, July 4, 2009

No More Phone Solicitors -

No More Phone Solicitors - ""

Let's End Telemarketing Forever

If a telemarketer or phone solicitor calls you, type the number into the blank at the left. Then, you can submit a complaint about the caller. This updates our list with the latest information.

Excel data forms

It is possible to enter data via a form, rather than on a spreadsheet directly. Choose menu item Data > Form

10 amazingly alternative operating systems and what they could mean for the future

10 amazingly alternative operating systems and what they could mean for the future Interesting list of alternative operating systems.

Friday, July 3, 2009

Hacker News

Hacker News Newsfeed for nerds.

NoSQL/Home Page

NoSQL/Home Page: "NoSQL"

NoSQL is a fast, portable, relational database management system without arbitrary limits, (other than memory and processor speed) that runs under, and interacts with, the UNIX 1 Operating System. It uses the Operator-Stream Paradigm? described in "Unix Review", March, 1991, page 24, entitled "A 4GL Language". There are a number of "operators" that each perform a unique function on the data. The "stream" is supplied by the UNIX Input/Output redirection mechanism. Therefore each operator processes some data and then passes it along to the next operator via the UNIX pipe function. This is very efficient as UNIX pipes are implemented in memory. NoSQL is compliant with the "Relational Model".

The L3 language and interface

The L3 language and interface: "The L3 language and interface"

l3lang(1) is a persistent, interpreted language designed to make interacting with scripts and the data they produce convenient. It does this by keeping track of all computed values (reducing file clutter), providing nested namespaces and functions (avoiding name clashes), and giving point-and-click access to the computed values through the script itself (avoiding the filesystem detour).

It is primarily used through l3gui(1), a worksheet-style interface. Long-running scripts can be executed without the interface, and the results loaded later for interaction.

To avoid the need to learn yet another language, L3 is compatible with a subset of Python and can use any Python library, including Python C/C++ extensions. In particular, the sparx tools (image processing) and NumPy (numerical linear algebra) are known to work. The RPy (statistical computing via R) package also works, but extra care must be taken to make sessions persistent.

In l3gui, every part of a script is an object and its value(s) can be examined via mouse menus, or reinserted into the gui for use in other scripts. This mechanism includes nested loops and function definitions; all values computed in a loop or function can be inspected later.

Scripts and code fragments can be assembled as structures, providing graphical script construction for problems with few steps.

Linq to Sql example

linq to sql
Still a bit fuzzy.

In Databse explorer, add an MDF type file. O/R mapping only works with MDF files, not SDF or MDB files.

pROJECT > aDD cLASS > Linq to Sql
If your database is Foo, it is best to label it as Foo, thereby creating Foo.dbml.
You have created a customer object. It opens up the O/R designer. Take a note of the Name property. It'll be something like $BazDataContext

Drag the relevant table from the Database Explorer to the O/R designer. that creates a table object. It automatically created a LinqToSql class for you.

Press save.

Go to Data Sources tab (on right).
Add new data source
Choose a Data Source Type: Object
Expand your application name until you find the relevant object
This will create a data source in the Data Source window.

Go to a form.

From the data sources panel, drag the dataset you are interested in onto the form.

Enable save:
Click the save button
Enabled: True
double-click it. Enter code for

You can add a search button and obtain code like this:
Public Class Form2

Private Db As New BazDataContext()

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Db.Log = Console.Out

End Sub

Private Sub MySubitems()
Dim qryString = "*" & txtSearch.Text & "*"

Dim recs = From rec In Db.Peoples _
Where Like qryString _
Order By _
Select rec
Me.PeopleBindingSource.DataSource = recs
End Sub
Private Sub PeopleBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PeopleBindingNavigatorSaveItem.Click

MsgBox("Saved changes")
Catch ex As Exception
End Try

End Sub

Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
End Sub

Private Sub txtSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSearch.Click

End Sub
End Class

Created: 04-Jun-2009

Thursday, July 2, 2009

The Hacker's Diet

The Hacker's Diet How to lose weight and hair
through stress and poor nutrition

Wednesday, July 1, 2009

MindTouch (frmly deki wiki) | Get MindTouch (frmly deki wiki) at

MindTouch (frmly deki wiki) | Get MindTouch (frmly deki wiki) at "MindTouch (frmly deki wiki)" MindTouch is an enterprise wiki and collaborative portal. Easily connect people, systems, web services, and Web 2.0 applications for enterprise automation, mashups and superlative wiki collaboration. RESTful wiki, Services wiki (WOA), Programmable wiki.

Monday, June 29, 2009

alt.comp.freeware - Sites of alt.comp.freeware members

alt.comp.freeware - Sites of alt.comp.freeware members: "Personal web sites of some of alt.comp.freeware's regular participants". Many sites are dedicated to freeware. Some are about other interests. Some sites have commercial content.

Sunday, June 28, 2009

List of countries by Human Development Index - Wikipedia, the free encyclopedia

List of countries by Human Development Index - Wikipedia, the free encyclopedia: "Human Development Index"

This is a list of countries by Human Development Index as included in a United Nations Development Program's Human Development Statistical Update released on December 18, 2008, compiled on the basis of data from 2006. It covers 177 U.N. member countries (out of 192), along with: Hong Kong (SAR of China) and PA-governed territories. Fifteen U.N. member countries are not included due to lack of data. The average HDI of regions of the World and groups of countries are also included for comparison. The Human Development Index (HDI) is a comparative measure of life expectancy, literacy, education and standards of living for countries worldwide. It is a standard means of measuring well-being, especially child welfare. It is used to distinguish whether the country is a developed, a developing or an under-developed country, and also to measure the impact of economic policies on quality of life. The index was developed in 1990 by Pakistani economist Mahbub ul Haq and Indian economist Amartya Sen.[1]

Countries fall into three broad categories based on their HDI: high, medium and low human development.

Friday, June 26, 2009

Visual Basic How Do I Video Series

Visual Basic How Do I Video Series: "“How Do I” Videos — Visual Basic" On this page you will find dozens of videos designed for all Visual Basic developers, from the novice to the professional. New videos are added regularly, so check back often.

Saturday, February 14, 2009


LegalTorrents looks like an interesting site to obtain content.

LegalTorrents™ is an online digital media community.

We discover and distribute high quality open-license (Creative Commons) digital media and art, and provide support to Content Creators. We host creative content in its entirety, ensure fast, reliable downloads, and enable users to directly sponsor Content Creators and their work.

We distribute content with the full permission of the rights holders and use the peer-2-peer file-sharing technology called Bittorrent.

We are excited to announce that the beta site is now open to the public. Your active participation in the community is what makes LegalTorrents work.