Bottom Line Computer
Software & Services
Rowland's page
|
|
Why I program
The point of having a computer is to make it do what you want.
And the only sure way to get a computer to do exactly what you want is to program it yourself.
In the Information Age, if you don't control your computers, ultimately you don't control much of anything.
About these samples and demos
A sample to show a technique should contain all that's needed to perform the technique, with a minimum of distraction. The best sample code is short but complete, and it should run and do something. I've tried to make my samples adhere to this principle. I hope you find them helpful.
When I present a demo, I also make it as straightforward as I can, because I feel that overcomplicated programming is in bad taste. Adding stuff that the user doesn't need just to look "good" does the user no real good, gets in the way, and introduces opportunities for bugs.
All my samples and demos use open standards. Open standards insure interoperability and user (and programmer) choice. Open standards avoid the expense and loss of choice that comes with vendor lock-in.
My web service demos are running on a PC that does not (yet) have a permanent IP address or hostname. Until this changes, the only sure way to reach these demos is through the links on this page. Don't bookmark them.
Bottom Line Computer
Contact me
|
|
Tom DeMarco: Quick or Dead |
| |
I attended Tom DeMarco's presentation at Boston SPIN on 21 February, 2006. Here are my thoughts.
His main point was that organizations and workers waste too much time and energy that don't contribute to the custmer's purpose. Email and poorly conceived meetings have taken over. He blames this on what he calls addicitive behaviors.
An addictive behavior is an activity that relieves some pain for the short term but has a long term effect of increasing the pain. We're kept in slavery to them by a defect of reasoning that sess the behavior as the only answer to the pain.
Reading email is a defensive action, not a productive one. People feel they have to read and reply to all emails in order to avoid giving implied consent by their silence. Of course this makes for ever more email to reply to.
Most meetings are empty ceremony. Groups meet for the sake of meeting as opposed to meeting in order to make a decision. Tom calls typical meetings the 'dinner with Dad' model. The boss interacts with oen person at a time, serially. He propses a better model, the 'West Wing' model, where individuals interact informally in the corridors to arrive quickly at a consensus on a well defined problem.
In the Q&A segment, we discussed telecommuting, and the possbility that it was an addictive behavior. He didn't come out against it categorically. He ceded that it could be real solution to the inefficiency of commuting. But he was concerned that you can't 'have lunch together' over the Internet, because the 'pipe is too narrow'. You need too see the other person's face in detail, to gauge his mood, make eye contact, etc.
My thoughts are that collaboration over the Internet is a must. It's just not practical to do things the old way, with gas prices and commute times what they are. Travel is the problem. But he's got a point about the human interaction. I asked if a wider screen would help provide a more satisfactory telepresence experience. He didn't object ot the idea, but he didn't have an answer ready.
A lot of groups I'm involved with are dying off because they can't get together for meetings. But collaboration over the Internet definitely has a 'narrow pipe' problem to it. I've been in the worst of both worlds where a project leader tried to have 'dinner with Dad' over the Internet and teleconferencing. At least I didn't waste any gas money that way.
I think what we urgently need is a more immersive version of online presence. Make the pipe fatter somehow.
| |
|
My programming projects |
| |
Dynamic noise filter plugin for XMMS.
This plugin filters out tape hiss from old recordings, with minimal damage to the music.
It has an adjustable squelch threshold, so you can control how much is filtered out.
JavaParser.java: parses Java source code, analyses it, and builds static HTML pages to trace the relationships among entities in the source. In time I'll expand this into a full-fledged source analyzer, comparable to SNIFF+.
| |
|
Java samples and resources |
|
Perl samples |
| |
mail.pl - uses POP3 and MIME-tools to list waiting email messages
mail.tk.pl - version of mail.pl using Tk to provide a GUI
dblist.pl - CGI script to list out the contents of a SQL table
posts.pl and parse_links.pm -
scans Websites for articles, showing just titles and links. Uses HTTP::Daemon, LWP::UserAgent and HTML::Parser.
| |
|
Python samples and resources |
| |
email.py: lists unread incoming messages on a POP3 account
globe.py: a sample Python script using Tkinter and canvas. Draws a globe and rotates it in three dimensions.
ftpup.py: upload a file via FTP
globdo.py: print a sorted list of files matching a pattern
gsr.py: global search and replace with regular expressions
httpdn.py: download (HTTP GET) URL to standard output
httpformdn.py: extract CGI forms from URL to standard output
tcpproxy.py: Redirect a TCP service from one host and port to another
urldn.py: download any URL to standard output, using urllib
urlparse.py: download URL and parse its HTML via htmllib
proxy.py: a generic TCP pass-through proxy. Useful for debugging TCP applications.
Python module index
| |
|
Software tools I've worked with |
|
Hardware I've worked with |
|
Click fraud |
| |
I hesitate to get into any pay per click scheme because I know there's a lot of click fraud out there. I've got a honeypot and I'm seeing people from APNIC (Asia Pacific) using squid proxies to fake thousands of clicks through these sites. They've got the tracking cookies and session IDs intact, but the rate of traffic and the pattern makes it obvious to a human observer they're using a script.
I haven't noticed much of this directly through Google but I've seen them use other search sites to get to Google. What I'm seeing is an awful lot through sites like these:
adm.com
www.appliedsearch.net
death-house.com
c.enhance.com
epilot.com
indology.com
internetsearchnetwork.com
kanoodle.com
kitanet.ne.jp
partner.lookquick.com
looksmart.com
partners.mygeek.com
searchfeed.com
searchpixie.com
sedoparking.com
simpli.com
upspiral.com
xrea.com
These queries are coming from a handful of addresses in 219.x.x.x. They're coming almost contantly at several per second. The topics seem random. They're laways followed up with 'click's on banner ads and a fetch of each site's home page.
| |
|
|