Category Archives: Technology

Help for Geeks – My Development Bookmarks

I’ve thought about this many times. What info do I find useful, and would other geeks find it useful too?   Perhaps.    In that spirit here is my current list of Development related bookmarks.   Slightly organized.  You might find some nuggets of info in here that relates to a project you are working on.  Or it might spark and idea to build something new, or re-design a process that is not as optimal is you’d like it to be.

I hope some of these help, as they have helped me over the years.  One note though, I removed all my links to PHP development.  I just can’t stand using it any more, it’s just too easy to PWN.


Apache

libapreq2-2.08: libapreq2: Apache2::Request
Apache2::RequestRec – Perl API for Apache request record accessors – search.cpan.org
Apache2::AuthCookie – Perl Authentication and Authorization via cookies – search.cpan.org
Adventures in the Land of Apache and mod_perl
perl. Computational Chemistry List, perl, mod_perl, modperl2, cgi, Apache, cgi, forms
Combining Apache and Perl
Useful OpenSSL Commands
Creating Self-Signed Certs on Apache 2.2 | CB1, INC.
CB1, INC. is a Minneapolis based software and consulting company specializing in custom development and systems integration.
NSS and SSL Error Codes
Smart HTTP and HTTPS RewriteRule Redirects
Smarter SSL HTTPS to HTTP Redirections in .htaccess using RewriteRule to set an environment variable
Apache Week. Using User Authentication
The O’Reilly Network has teamed with Red Hat Apache Week, the leading commercial Apache site to offer comprehensive Apache information and resources. Apache Week offers news, feature articles, reviews, resources, and documentation.
htaccess rewrite tips using RewriteRule and RewriteCond for .htaccess mod_rewrite
mod_rewrite tips and tricks for .htaccess files using RewriteBase, RewriteCond, RewriteEngine, RewriteLock, RewriteLog, RewriteLogLevel, RewriteMap, RewriteOptions, and RewriteRule
mod_perl: mod_perl 2.0 Server Configuration
mod_perl documentation: This chapter provides an in-depth mod_perl 2.0 configuration details.
Dr. Dobb’s | A mod_perl 2 Primer | December 1, 2004
Though it’s technically not quite ready for prime time, it’s high time we all got a taste of the next version of mod_perl.
Apache2::Status 4.00
apache 2: “private key not found”

HTML / CSS

CSS2 Reference
Free HTML XHTML CSS JavaScript DHTML XML DOM XSL XSLT RSS AJAX ASP ADO PHP SQL tutorials, references, examples for web building.
CSS Tutorial – Border
Place customized CSS borders around your HTML elements with the CSS Border attribute.
How can I make just one cell in an HTML table bordered, or just one side of a cell bordered?
CSS Positioning Properties
Free HTML XHTML CSS JavaScript DHTML XML DOM XSL XSLT RSS AJAX ASP ADO PHP SQL tutorials, references, examples for web building.
Ajaxload – Ajax loading gif generator
Ajaxload – Ajax loading gif generator
workalike for top.location.watch(“href”,fn) in IE? – JavaScript
workalike for top.location.watch(“href”,fn) in IE?. Get answers to your questions in our JavaScript forum.
window.onbeforeunload [javascript] [form]
HTML FIELDSET TAG
Free HTML XHTML CSS JavaScript DHTML XML DOM XSL XSLT RSS AJAX ASP ADO PHP SQL tutorials, references, examples for web building.
wg:Bubble Tooltips
web graphics is a compilation of hypertext design resources, links, and commentary.
lixlpixel CSS tooltips
pure CSS pop up tooltips with clean semantic code – valid XHTML – degrades nicely
Simple Round CSS Links ( Wii Buttons )
HTML URL-encoding Reference
Free HTML XHTML CSS JavaScript DHTML XML DOM XSL XSLT RSS AJAX ASP ADO PHP SQL tutorials, references, examples for web building.
Custom error responses
CSS and round corners: Making accessible menu tabs
Find out how to lose the box layout of your CSS pages and make great menu tabs
A List Apart: Articles: Sliding Doors of CSS
Must CSS layouts be flat and boxy? Nope! Bowman shows how to create slick tabbed navigation using CSS and structured XHTML lists.
Light Weight Low Tech CSS Tabs
An example of light weight tabs by combining the Sliding Doors method with the Mountaintop corners idea.
A List Apart: Articles: Mountaintop Corners
Using CSS to create standards-compliant, mountain top corners
Setting a Minimum Body Height:Solving the ‘Height’ Mystery
W3C Markup Validator
W3C’s easy-to-use HTML validation service, based on an SGML parser.
Private RSS Feeds: Support for security in aggregators – silverorange labs
We’ve been experimenting with security options for RSS feeds for our intranet product. However, we found that there weren’t many resources or guidelines for how encryption or authentification should be handled (either in feeds or in readers/aggregators).
The W3C CSS Validation Service
The Art of Web ~ CSS: border-radius and -moz-border-radius
One of the most keenly-anticipated CSS properties is border-radius. It’s not yet available in Internet Explorer, but there is limited support in Firefox (-moz-border-radius) and Safari (WebKit). Discussion and examples.
removeChild
javascript document object javascript document object model sans serif font document object model removechild: Removing objects from a web page.
Adding elements to the DOM
Click here for an introductory tutorial on the DOM of IE 5/ NS 6, and how to program using it
JavaScript tutorial – DOM nodes and tree
HTTP State Management Mechanism [RFC-Ref]
phone number validation
phone number validation
Validating with XML Schema
HTML Color Names
Free HTML XHTML CSS JavaScript DHTML XML DOM XSL XSLT RSS AJAX ASP ADO PHP SQL tutorials, references, examples for web building.
CSS Color Names
Free HTML XHTML CSS JavaScript DHTML XML DOM XSL XSLT RSS AJAX ASP ADO PHP SQL tutorials, references, examples for web building.
CSS Image Opacity / Transparency
Free HTML XHTML CSS JavaScript DHTML XML DOM XSL XSLT RSS AJAX ASP ADO PHP SQL tutorials, references, examples for web building.

JavaScript

O’Reilly Network — Dynamic HTML Tables: Improving Performance
The widespread browser adoption of the W3C Document Object Model (DOM) and other de facto standards have given developers many ways to repopulate a table. So what’s the best approach? Danny Goodman, author of JavaScript & DHTML Cookbook, investigated…
Managing the Dynamic created HTML table thru javascript – SEO Chat
Managing the Dynamic created HTML table thru javascript- HTML Coding. Visit SEO Chat to discuss Managing the Dynamic created HTML table thru javascript
JavaScript Kit- Text Object
Click here for a complete JavaScript Reference, including array, string, document. window, and more.
How do you know what button was pressed in the submit? – JavaScript
How do you know what button was pressed in the submit?. Get answers to your questions in our JavaScript forum.
The JavaScript Source: Forms : Auto Email Link
Automatically creates a new e-mail utilizing the user’s default e-mail client. The script fills in the subject line and adds the URL of the current Web page to the body. Note: May not be compatible with all e-mail clients.
Javascript – Early event handlers
Javascript – The events
Javascript – Introduction to Events
The JavaScript Source: Forms: Form Focus
Places the focus on the first editable field in a form on any web page. Efficient!
JavaScript Help: How to access parent elements from a child window or frame
Popup Window Tutorials
This series of tutorials takes you step by step thrugh thedifferent ways that you can create and modify popup windows.
DevGuru JavaScript PROPERTY: document::forms
Award-winning web developers’ resource: over 3000 pages of quick reference guides, tutorials, knowledge base articles, Ask DevGuru, useful products.
ActiveWidgets • sorting • download data xls

JAVA

java integer to string – Google Search
Java Dynamic Management Kit 5.1 Release Notes
NetBeans IDE 6.0.1 Download
NetBeans IDE 6.0.1 Download
Welcome to JavaWorld.com
Solutions for Java developers
Your Source for Java Information – Developer.com’s Gamelan.com
Get the latest Java news, articles, whitepapers, analyst reports, and more. This is your one stop for information that will help you make decisions related to Java.
String (Java Platform SE 6)
Arrays (The Java™ Tutorials > Learning the Java Language > Language Basics)
StringBuffer (Java 2 Platform SE 5.0)
Throwable (Java 2 Platform SE v1.4.2)
NetBeans Forums – How to use Netbeans packages?
Javadoc Guide
System Properties (The Java™ Tutorials > Deployment > Doing More With Rich Internet Applications)
Adding Classes to the JAR File’s Classpath (The Java™ Tutorials > Deployment > Packaging Programs in JAR Files)
NetBeans Forums – Create manifest, jar and class file in netbeans
Packaging and Deploying Desktop Java Applications
Creating executable JAR files and deploying netbeans projects
Understanding the Manifest
JAR files can support a wide range of functionality, including electronic signing, version control, package sealing, extensions, and others. What gives JAR files the ability to be so versatile? The answer is embodied in the JAR file’s manifest.
http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html#JAR%20Manifest
JAVA Illegal Start of Expression Error – Java
JAVA Illegal Start of Expression Error Java
do-jar-with-main class ‘manifest.available+main.class’ not set. – Google Search
Formatted Printing for Java (sprintf)
The C language utility sprintf is for formatting strings of characters and numbers. This article documents the use of a Java programming language class, PrintfFormat, whose behavior is based on the sprintf specification. Source code is provided.
Java Tips – How to align your components in horizontal or vertical layout
Java Tips — Java, Java, and more Java, How to align your components in horizontal or vertical layout
Java Tips – PointBase Embedded
Java Tips — Java, Java, and more Java, PointBase Embedded
Programming with Java in 24 Hours: Building a Complex User Interface
Questions, corrections and clarifications for hour 16 of the book Teach Yourself Java 6 in 24 Hours by Rogers Cadenhead. The book teaches Java 6 programming for non-programmers, new programmers who hated learning a language, and experienced programmers who want to quickly get up to speed.
Java look and feel Graphics Repository
Welcome to the Java Software Human Interface Group’s Java look and feel Graphics Repository pages.

MySQL

MySQL Stored Procedures / Functions
MySQL AB :: MySQL Forums :: Install :: Comments on my.cnf for high insert volume db
MySQL Configuration
MySQL Performance Blog » Should MySQL and Web Server share the same box ?
MySQL AB :: Index update with update statement
MySQL AB :: MySQL 5.0 Reference Manual :: 18 Stored Procedures and Functions
MySQL Stored Procedures
MySQL Server Tweaking Basics – Admin Zone Forums
This is a basic guide to understanding what the directives in your my.cnf mean, and what they do. We’ll also try to give some general
mySql — CHECK TABLE Syntax
Live Backups of MySQL Using Replication
Russell Dyer, author of MySQL in a Nutshell, walks through the process of using replication for data backups in MySQL.
MySQL AB :: MySQL 5.0 Reference Manual :: B.1.4.1 How to Reset the Root Password
MySQL – best methods for backups
Best way to backup, MySQL/VPS etc Linux
MySQL AB :: MySQL 5.0 Reference Manual :: 12.2.17.1 Troubleshooting InnoDB Data Dictionary Operations
ERROR: database: mysql_error: Can’t connect to MySQL server on ‘10.10.0.7 (110) – Snort Forums Archive
The open source Snort Intrusion Detection and Prevention system is the most flexible and widely deployed solution available.
How to fix error 134 from storage engine – MySQL
How to fix error 134 from storage engine. Get answers to your questions in our MySQL forum.
MySQL AB :: MySQL 5.0 Reference Manual :: 12.2.3 InnoDB Configuration
MySQL Stored Procedures: Part 2
Part 2 of MySQL Stored Procedures covers some more advanced concepts, including conditions and loops.
MySQL AB :: MySQL 5.0 Reference Manual :: 10.11.1 GROUP BY (Aggregate) Functions
Select INTO OUTFILE
MySQL :: stored procedure to list stored procedures
MySQL :: MySQL 5.1 Reference Manual :: 10.4.5 The SET Type
InnoDbEngineStatusAndTuning < Development < TWiki
MySQL :: MySQL 5.0 Reference Manual :: 13.2.11 InnoDB Performance Tuning Tips
Regular Expressions in MySQL
Regular Expressions in MySQL
Dan Winchester – MySQL date_format
MySQL :: MySQL 5.0 Reference Manual :: B.1.2.11 Communication Errors and Aborted Connections
MySQL Bugs: #36910: Mysql Server has gone away
Mysql_User_Add < Development < TWiki
mytop – a top clone for MySQL
Using ON DUPLICATE KEY UPDATE to improve MySQL Replication Performance « Kevin Burton’s NEW FeedBlog
MySQL :: MySQL 5.1 Reference Manual :: 13.11 The FEDERATED Storage Engine
MySQL :: MySQL 5.1 Reference Manual :: 11.4.2 Regular Expressions
MySQL :: MySQL 5.1 Reference Manual :: 18.2 Partition Types

PERL

Proc::ProcessTable – Perl extension to access the unix process table – search.cpan.org
Proc::ProcessTable::Process – Perl process objects – search.cpan.org
perlvar
Perl 5.8 Documentation – Signals
Perl 5.8 Documentation – Signals
khtml2png – Make screenshots from webpages
Sys::Load – Perl module for getting the current system load and uptime – search.cpan.org
The CPAN Search Site – search.cpan.org
Perl HTML::Form
Perl 5.8 Documentation – HTML::Form – Class that represents HTML forms
LWP Cookbook – URL explosion
Reaping Zombies
PERL ‘UTF-16LE’ – MarkMail
urlencode / urldecode in Perl | melecio.org
Regular Expression Examples
how check new URL of redirected page
Getopt::Long – perldoc.perl.org
perl.com: Beginners Intro to Perl – Part 6
Doug Sheppard shows us how to activate Perl’s built in security features.
How can I make one class extend another one?
XML::Generator – Perl extension for generating XML – search.cpan.org
Free Perl source library: unescape
subroutine name: unescape decode URL-encoded string
rami.info » URLEncode And URLDecode For Perl
File Tests in Perl
File Tests in Perl
Page 2 – Build a Perl RSS Aggregator with Templating Tools
Page 2 – Build a Perl RSS Aggregator with Templating Tools
perl.com: Preventing Cross-site Scripting Attacks
Paul Lindner, author of the mod_perl Cookbook, explains how to secure our sites against Cross-Site Scripting attacks using mod_perl and Apache::TaintRequest
libapreq2-2.08: libapreq2: Apache2::Upload
binary data handling – examine a .gif file – Perl example
binary data handling – examine a .gif file – Perl example
PERL — Conversion Functions
LWP::UserAgent
Web user agent class
Fastest XML Parser ?

mod_perl

Practical mod_perl: 6.3.3.6. A third solution
This solution makes use of package-name declaration in the …
mod_perl: HTTP Handlers
mod_perl documentation: This chapter explains how to implement the HTTP protocol handlers in mod_perl.
Installing mod_perl from RPM | O’Reilly Media
It’s easy to install mod_perl using the Red Hat package manager. Configuring it is trickier.
mod_perl: Apache2::RequestRec – Perl API for Apache request record accessors
mod_perl documentation: <code>Apache2::RequestRec</code> provides the Perl API for Apache request_rec object.
How to extract name/value pairs from the query string? | ModPerl | ModPerl
How to extract name/value pairs from the query string? ModPerl ModPerl
mod_perl: Code Snippets
mod_perl documentation: A collection of mod_perl code snippets which you can either adapt to your own use or integrate directly into your own code.

XML

Helpful XML related sites
iWeb Toolkit: XML Validator
XML Schema (REC (20010502) version, as amended) Checking Service
XML Schema Examples
XML::Generator
Perl extension for generating XML
XML DOM – Validate XML
Free HTML XHTML CSS JavaScript DHTML XML DOM XSL XSLT RSS AJAX ASP ADO PHP SQL tutorials, references, examples for web building.

Swish-e

Swish-e :: Re: performance aspects
Swish-e Lightning Talk
Swish-e :: Re: running out of memory during merge
Swish-e :: INSTALL – Swish-e Installation Instructions
Connecting Linux or UNIX system to Network attached storage device
Network attached storage (NAS) allows using TCP/IP network to backup files. This enables multiple servers in IDC to share the same storage for backup at once, which minimizes overhead by centrally managing hard disks. NAS …
How do I access NAS server using automount?
Network-attached storage commonly used to store backup and other shared files over TCP/IP network. For example: i) Corporate e-mail system with multiple, load-balanced webmail servers ii) Load-balanced web servers access the same contents from NAS …
SmallNetBuilder
SmallNetBuilder provides networking and IT news, reviews, help and information for professional and &quot;prosumer&quot; SOHO and SMB users.
IP Subnet Calculator
Online IP Subnet Calculator
10 Steps to Installing PostgreSQL
Remote Network Commands | Linux Journal
Cikul » How to change hostname in CentOS
Thecus User Group – NFS mount failed permission denied
Thecus 1U4500 – Enable root SSH
Wahoo’s Word » Using watch to monitor Javascript
Ascii control codes (control characters, C0 controls)
DOM Based Cross Site Scripting
document.body, doctype switching, and more | evolt.org
A world community for web developers, evolt.org promotes the mutual free exchange of ideas, skills and experiences.
DOM:window.open – MDC
Welcome to Hadoop!
Internationalized domain name – Wikipedia, the free encyclopedia
Code Charts – Scripts
ISO 8859-1 Latin 1 and Unicode characters in ampersand entities
Dig Demonstrations
Re: say if grep can find non-ascii
http://www.ietf.org/rfc/rfc2181.txt
MIL-STD-498,MIL STD 498,MIL-STD,MIL-SPEC,MIL SPEC,Military Standards
MIL-STD-498,MIL-STD,MIL-SPEC,MIL STD,MIL SPEC,Military Standards for ISA
J-STD-016 & MIL-STD-498 vs. DOD-STD-2167A & 7935A
DOD Standards Procedures Collection Document Listing – Page 2
IHS, DOD STANDARDS (MILITARY/FEDERAL SPECS) – General Collection
Fred Morris, project management/distributed systems/practices
Info: (dir) Top
VICNET Help: Online – Web Design – .htpasswd encoder
reminders about programming: Fedora firewall setup is simple using built-in tools
Sample Usability Test Plan
FavIcon from Pics — free favicon.ico for your website (animated, static and marquee icons)
Free and easy to use online tool for creating favicons (.ico, animated, marquee and static) for browser address bars, favorites and tabs, from pictures, logos and other graphics.
How to Obscure Any URL
frames test page for harvesters
IP CIDR Subnet Calculator
Online IP CIDR / VLSM Supernet Calculator
DNS BIND named.conf Parameters
Copy files and directories recursively with tar – Tech-Recipes.com
Copying a directory tree and its contents to another filesystem using tar will preserve ownership, permissions, and timestamps. A neat trick allows using tar to perform a recursive copy without creating an intermediate tar file.
Scrum (development) – Wikipedia, the free encyclopedia
Searching your files with SWISH-E
Disk I/O
Installing and Configuring iptables
How to add an external USB hard drive to your Linux server (Redhat, CentOS, Ubuntu, Gentoo and SUSE) | my-whiteboard
Extenal USB hard disk is really useful (and inexpensive) for backing up your Linux server. Follow these steps to get it to work. 1, Buy a USB hard disk (I have
Which Web Browser is King? – Round 5: JavaScript Library and Framework Tests – OS, Software & Networking by ExtremeTech
Which browser is faster? IE7, Firefox 3, Google Chrome, Safari, or Opera? We run a bevy of tests to determine the king of the Web browser hill.
How to: Debug SSL certificate problems from the shell prompt
OpenSSL is a cryptography toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) network protocols and related cryptography standards required by them. It also includes the openssl command, which provides a rich variety of commands You can use the same command to debug problems with SSL certificates. To test the secure connections to a server, type the following command at a shell prompt: openssl s_client -connect ssl.servername.com:443 Where, s_client : This implements a generic SSL/TLS client which can establish a transparent connection to a remote server speaking SSL/TLS. It’s intended for testing …
Ascii Table – ASCII character codes and html, octal, hex and decimal chart conversion
Ascii character table – ascii ascii ascii ascii and ascii…conversions
How to Copy Files Across a Network/Internet in UNIX/LINUX (Redhat, Debian, FreeBSD, etc) – scp tar rsync
HOWTO: Installing DenyHosts – Page 2 – Ubuntu Forums
Page 2- HOWTO: Installing DenyHosts Tutorials & Tips
sendmail Configuration
history–Show status of files and users
using rsync to copy files from one server to another
CVS Commands
FC5 Repositories & Updates
Multiple Bugzilla databases with a single installation
IP Address Lookup (IPv4 & IPv6)
Determines your IP address and shows information (host, location, whois…) about any IP address entered – Up to 10 IP addresses can be looked up at the same time
FC10 network setup repeatedly overwritten – FedoraForum.org
FC10 network setup repeatedly overwritten Installation Help
Interface Configuration Files
CVS revision numbers
CVS Branch and Merge example
CVS–Concurrent Versions System – Merging two revisions
Linux.com :: All about Linux swap space
When your computer needs to run programs that are bigger than your available physical memory, most modern operating systems use a technique called swapping, in which chunks of memory are temporarily stored on the hard disk while other data is moved into physical memory space. Here are some techniques that may help you better manage swapping on Linux systems and get the best performance from the Linux swapping subsystem.
Zone Files
HowTo Setup an NTP Daemon for Time Synchronization – SIPfoundry sipXecs IP PBX, The Open Source SIP PBX for Linux – Calivia
YAML Ain’t Markup Language (YAML) Version 1.1
Trouble editing whine.txt.tmpl – What variables can I use? – mozilla.support.bugzilla | Google Groups
The Cafes » Privacy Tip #3: Block Referer Headers in Firefox
Writing Software Requirements Specifications | A Technical Communication Community
DiG HOWTO
How to use dig to query DNS name servers.
Behavior Driven Development – Wikipedia, the free encyclopedia
Agile software development – Wikipedia, the free encyclopedia
Waterfall model – Wikipedia, the free encyclopedia

Mobile social networking technology – FourSquare

I noted this a couple of weeks ago, that I was starting to play around with foursquare, the mobile social networking tool. It’s primary advantage is as a Smart Phone app. I, of course, prefer the iPhone 3GS (aka The Oracle) platform for my mobile networking, blogging and just plain monkeying around.

One of it’s features, is the ‘Stats’ page. It gives you a rundown of how often you’ve used the app, what cities you spend the majority of your time in, how many check-ins you average on each day of the week. Anyhow, here are my stats (as of this morning). It’s just and example.

My foursquare stats - Easter Sunday 2010

But, it turns out that it’s much more than a neat tool for big-brother to keep an eye on your travels (frankly, they already know where you phone is 24×7, heck, they can even turn on the microphone and listen to you without you’re knowledge, so you tin-foil that types can just simmer on down), I’ve found that it’s one of the most useful, real world source for finding places and things to do, while traveling, or just putting around your local area!

The way it works is very simple. Using the geoLocation capabilities of your smart phone (now I’m assuming your phone is actually smart.. and can do this) it will show you venues nearby that people have entered into the system. But the real benefit comes for the following three neat features!

iPhone foursquare app - Nearby Venues

1) – Displays nearby locations

Based on your location, it will display all sorts of businesses, parks, eateries, medical facilities, you name it.

Now in my sample image here, you see an number of medical facilities, primarily because I was near the hospital when I snapped this screengrab (another thing that the iPhone is amazingly adept at doing). The list can be fairly long, or pretty short. It all depends on how densely populated the area you are in is, and how many locations people have added to the system. Even out here in the sticks, I’ve found a lot of places entered into the system, presumably by developers, since almost all of them had no previous visitors when I checked in.


2) – Tips and things to do

Now, this is the one I find the most useful! Using this, in places that I’ve been frequenting for years, I discovered some NEW businesses and interesting things to do (or eat/drink) at them. I see this as a great way to explore a new town, or even the one you live in.

Traveling, not familiar with the area? Why not try foursquare to see if you can get some good tips from the locals on things to do (or things NOT to do), places with deals, specials, whatever. This is my favorite and most used part of the app.

Now a nice bonus feature is the ability for businesses to add ‘Specials’ that will pop up on the screen that you can unlock. For instance (sorry, no screen shot here, maybe when I get into the office tomorrow I’ll add that one) the hotel next to my work offers a free coffee in the morning and a $20 off certificate on a future stay, simply by checking in there using foursquare and showing it to the barrista in the lobby! See, you really can get something for (nearly) nothing!


iPhone foursquare app - ToDo List

3) – ToDo lists

This is sort of an extension of Feature 2, but I think it’s useful enough on it’s own to be mentioned.

It’s another neat feature that comes in handy for a traveler. Did you hear about something cool to do on foursquare (a tip) and want to recall it next time you are in the area? Mark it as a ‘To Do’ and it will show up on your list. Simple as that.

“Big Deal!”. you might say,“I can do that with a notepad!”. True enough. BUT, you use the foursquare website to poke around in another city location, look at the tips and remember the ones you think sound interesting, by simply clicking and adding to your ToDo list. And guess what, when you are in the local area, the relevant list items are right there at your fingertip. Seems easy enough!

Final thoughts for today – monitization

Being the semi-paranoid data geek I am, what I don’t get about this application, is how the developers and the operator of the website make their money. I can see where a business might pay a little to offer a deal, but how much $$$ is there, for foursquare, in that? I don’t know. Now I also wonder if they are using this neat pile of data they are collecting on your, and re-selling that to potential marketeers! That would be my biggest concern. And one that I’ll be looking into soon.

For now, it’s fun little app. And honestly, it sort of encourages me to get out of the house more and explore places, looking for things people suggest in the tips.

Unless you are one of those tin-foil hat types, you might check it out.

Installing Gearman APIs for JAVA and PERL


Following yesterday’s marathon package installation ‘experiment’, today I started to acquire and install the Client/Worker API modules.

JAVA – installing gearman-java-0.03.jar

Java modules can be located on the downloads page for Gearman. It is also available at the Launchpad page for Gearman. I selected the code from the gearman.org site to try first, which ended up directing me to: https://launchpad.net/gearman-java.

I downloaded all three available files:

  • gearman-java-0.03.jar
  • geareman-java-0.03-javadocs.jar
  • gearman-java-0.03-src.tar.gz

Once downloaded, I moved all three files, and the original gearmand-C source to my Development directory.

PERL – installing Gearman::XS

For the PERL implementation, I’m going with the PERL wrapper, around the core gearman C libraries. I’d rather leverage as much C as possible. The focus for me is on speed.
It is available via CPAN under Gearman::XS.

Installing PERL packages is generally pretty painless.


#root:  cpan Gearman::XS
[...]
Running install for module 'Gearman::XS'
Running make for D/DS/DSCHOEN/Gearman-XS-0.8.tar.gz
Fetching with LWP:
http://www.perl.org/CPAN/authors/id/D/DS/DSCHOEN/Gearman-XS-0.8.tar.gz
[...]
Writing /Library/Perl/5.10.0/darwin-thread-multi-2level/auto/Gearman/XS/.packlist
Appending installation info to /Library/Perl/Updates/5.10.0/darwin-thread-multi-2level/perllocal.pod
DSCHOEN/Gearman-XS-0.8.tar.gz
/usr/bin/make install  -- OK

With the installation completed, I wrote and executed a very simple script, to test PERL’s ability to locate the new module.


#!/usr/bin/perl -w
use strict;
use Gearman::XS qw(:constants);
use Gearman::XS::Client;

print “\nLoaded and ran fine\n”;
exit 0;

This was the result:

david$ ./gtest0.pl

Loaded and ran fine

Installation of the PERL module Gearman::XS was successful.


NOTE: This is part of a series of posts, centered around installation and evaluation of Gearman as a distributed scheduling product. Here are the other articles in this group:

Installing GEARMAN on MAC OSX 10.6


So, today I set about installing gearmand on my laptop, to test out some massively distributed computing ideas I’m working on. Turns out, it’s not just a matter of downloading the .dmg file and hitting ‘RUN’. Nope.. you better have 1/2 a pot of coffee and your copy of XCode installed on the machine or you are dead in the water.

Actually, you’re going to need more than that, if you are working with a vanilla Snow Leopard install.

Step 1 – install XCode:

But first things first. You can download XCode from the Apple website, or you can install it from your ‘Extras’ folder on the OS disk. I did the later, since the distro is pretty big, something like 600MB. Get that done first.

Step 2 – install MacPorts:

Now this is where the fun begins. Now, if you followed my other blog page on installing MacPorts, you can move onto Step 3. If you have not, then, proceed at hast to installing it (follow this link too).

Step 3 – install libevent

If you enjoyed installing MacPorts, you are going to LOVE this! 🙂 Now, the step of building libevent from source, probably not *required* but, after three installs that were not picked up by the gearmand, I though I’d just, do this the old fashioned way too. I have a writeup for installing libevent here (link to my page).

Step 3 – install wget

wget. How I love you, let me count the ways… MANY. wget is great. It’s a non-interactive text web client. Some of the cool things that wget can do, is recursively traverse a page, grabbing all the content, images, links pages (and their images, objects etc.). It’s also almost impossible to compromise with conventional XSS or other tricky DOM / JavaScript methods. No drive-by downloads here folks!

So, go ahead and get wget installed, because it’s going to be used to reach the final objective, retrieving gearman.

#root: port install wget

For me, on my lousy ComCrap connection, it took me a fairly long time. I think it’s safe to say, run the install command, and walk away. Check back in 10-15 minutes, see if it’s done. How will you konw if it worked? Simple, if you download the file in Step 5, it worked.

Step 5 – Finally, download and extract the Gearman bundle

This is where wget comes into play. Make sure you are in the directly you want. I suggest /opt. And execute the wget command to grab the distro. NOTE: The current distribution might be later than this (higher number). A check of the Gearman main site will probably give you the number you need, if this is not the latest and greatest:

#root: wget http://launchpad.net/gearmand/trunk/0.12/+download/gearmand-0.12.tar.gz
#root: gunzip gearmand-0.12.tar.gz,
#root: tar xvf gearmand-0.12.tar

Step 6 – BUILD!

Build the package. This part is the simplest of all the steps.

#root: ./configure
#root: make
#root: make install

YOU ARE DONE (installing that is)

Next article, will be a writeup on how to use Gearman, some time in the next week.


NOTE: This is part of a series of posts, centered around installation and evaluation of Gearman as a distributed scheduling product. Here are the other articles in this group:

Installing MacPorts on MAC OSX 10.6

Good times, installing MacPorts that is. This is the basis for unleashing the power of LINUX/UNIX/BSD in full, on your MAC OSX system. One of the utilities I’ve used most is wget. I makes short work of taking apart websites you think might be malicious, basically defanging them. Fun times! 🙂

Now, to get MacPorts installed was not small effort, compared to how MANY blogs and posts on the net make it sound. Well, I’m here to tell you that, you got here because those didn’t work, right? Well, maybe you came here first. If that’s the case, I’m going to save some some frustration.

Now, first things first, I’m going to tell you to unlock the root user on your computer. Look, before you become totally indignant, let me beat you to the punch. I’ve been there, done that. I’ve been a professional UNIX (real UNIX HP-UX and SGI’s IRIX, IBM’s AIX just to name a couple) for over 20 years. I don’t want to hear about how ‘bad’ or ‘dangerous’ it is running as root. Tough beans, I don’t care. I’m not a paranoid ninny, I’m a code cowboy. Deal with it. If you prefer, you can prefix all your commands with the less ‘scary’ sudo, but don’t whine to me if something in this post does not work. Not that I’d care anyway.

So, now that we understand each other, let’s move on.

Step 1 — check out the MacPorts source code

I stumbled across this suggestion here: [ Snow Leopard and MacPorts ]. Worked like a charm to get a hold of the latest MacPorts build.

Using svn (aka Subversion, a most detestable tool IMHO), get the source code and plop it down in /opt. This is how I did that.

reguser#: su -
root#: cd /opt
root#: svn co http://svn.macports.org/repository/macports/trunk/base/ macports-svn

Step 2 – build the package from source

OK, I might have lost a couple of your ‘click-to-install’ types with that, but really, as long as it does not nuke itself (you’ll see that happen in other blog articles I have) it’s very straight forward. Run the three commands to build the package, and viola… update your environment and.. bingo.. you’re onto installing your new packages! 🙂

Here is how it’s done. First, move yourself into the package you just checked out:

root#: cd macports-svn

Next, you’ll want to run the configure script to test your system’s capability to compile, and to generate the primary make file:

root#: ./configure

Compile and make the install package:

root#: make

Finally, execute the install:

root#: make install

Step 3 – set your LIBDIR path

That’s about all there is to it! Now, you’ll probably want to edit your ~/.bash_source file, adding the future path of all these cool libs. Believe me when I tell you, it can save you a lot of pain and bewilderment later one, when you’ve compiled those critical libraries and the application you really want to install insists that it cannot find them.

So, here is how I do it, open the file:

root#: vi ~/.bash_profile

Now add the line for LIBDIR to the file and save it. The other line there is helpful too, might as well toss it in, because it makes running port just that much easier.

export LIBDIR=$LIBDIR:/usr/local/lib
export PATH=$PATH:/opt/local/bin:/opt/local/sbin

Now, just editing the file does not do much, unless you reload your user environment (this happens on login, but only at login, so.. you’ll need to do it manually here, using the source operation. Really, it’s much easier than it all might sound.

root#: source ~/.bash_profile

Step 4 – update with the latest Portfiles

So, that’s all I had to do, to get the base MacPorts installed. Now, there are two more commands that you should run now, to make sure that your MacPorts install is all up to date, and registered. Do you need to run both, probably not. But I did, and it worked for me. Now, documentation says this will happen automatically. Didn’t seem to for me, so I ran them myself, just to be certain.

root#: port -v selfupdate
root#: port -r selfupdate

That should just about do it. Now you are ready to install fun extras like webget, libevent and eventually, Gearman.

Now, if you are really picky about your OS’d filesystem, you might go and remove the macports source you checked out. I, personally, hate having to track source code down again, so unless I’m out of disk space, I leave it for future reference.

More Forza 3 Livery Fun – Hello Kitty!

Bordem and Beer are a bad combination when it comes to creating vinyl groups in Forza 3.

I won the NSX during Season play, and immedialy the first Honda Fan that came to mind was my friend Mary (I still owe ya $30 for the game.. damn I’m a flake). The next thing to my mind, was that I had to create a ‘Mary Tribute Car’. So… here it is, just for you Mary. A 2007 Acura NSX all decked out.

Hello Kitty NSX
Hello Kitty NSX

I’m not sure who was laughing more while I spent the 2 hours laying out the 201 separate layers it took to make this abomination, but I have to say much laughing was had by all once I was finished!

And to top it all off, I uploaded it to the Forza 3 Storefont, with the design for sale at $10,000 each (limited run of 3). Overnight I sold 2 of them! LOL. That matches the downloads of my FREE Shelby GT500 Mustang design (which BTW looks like a proper race design). Does this make me a professional artist?

130 year trend in Precipitation

While here at home, watching it rain today, I began to wonder what the rainfall trends have been over the last 100 years, and if there is any obvious correlation to the increase or decrease, when compared with the so-called ‘Climate Change’ that is so much in the news.

Annual_Rainfall_St_Louis

While poking around the net I came across we chart produced by The Aquinas Project (some sort of research group), but I found it interesting, so I’m posting it here.

What the chart shows, with annual and decade long rainfall trends overlaid is that.. compared to 120 years ago, average rainfall (at least in the search city they chose) is nearly identical.

So, this raised the question for me. Now, I’m not saying I believe that ‘Global Warming’ is happening at all. Frankly, it’s not, and honest good science proves that. BUT, what this chart shows, based on NOAA data (or so they say) that there is NO long-term effect on average rainfall.

So this makes me ask the question:

Assuming Global Warming (or Climate Change.. pick your BS lable) is real, WHO CARES!??! If it’s not affecting the most easily measured weather ‘symptom’, does it really affect humans at all? And let’s be frank here.. we like to say we’re all about nature, but in the end, it’s survival of the human race we are REALLY worried about. Sure, there are some pathological types that aren’t but, who cares about them? I don’t.

So I ask again… if we’re not even seeing more rain.. does it even matter?

I also wonder what the annual U.S. losses dues to weather related natural disasters plot would look like over a similar period (inflation adjusted of course).

Why do I ask that question? Well, because our ‘Great Savior President Obama is promising $100 BILLION dollars of our money to combat this ‘SO CALLED’ problem.

Well, if we’re loosing less than $100 BILLION a decade to natural disasters then I say STOP wasting money trying to prevent them and put that money into damage mitigation!