Friday, December 31, 2004
Description of the Microsoft Windows registry
This KB article is a jumping-off point for other articles about the registry.
WWIV Bulletin Board System
WWIV v5 and later will be released under Apache License v2.0 in order to better facilitate development.
Risking a serious Gerrk Jerk Burking here...
A readme file for Benny and Kenny, found on an old hard drive. The file is dated 1995-05-17, apparently when I first tried to release the game on the Internet.
Benny and Kenny Defense
Programming: Jeff Robertson
Idea for Game: Jeff Robertson
Story: Brandon Downey and Jeff Robertson
Note: The names of people in this game are real names. So what.
Benny and Kenny Defense is game in which you must defend your neighborhood from a gang of Scum led by the Twins of Terror, Benny and Kenny.
Instructions for running the game are found at the end of this file. This is my way of trying to make people read all about this thing before they play it.
History:
The origins of this game go back to 1990, and illustrate my habit of running things into the ground. At that time, my neighborhood had been subject to several petty crimes committed by a pair of twin kids named Benny and Kenny. My friend and associate, Mr. Brandon Downey, conceived of a plan (written out on notebook paper) to defend the neighborhood from the armies of "scum" (Downey's word) led by Benny and Kenny (where he got the idea that they had an army I don't know...). This called for a number of posts around the neighborhood, manned by residents and friends of ours, which would serve to ward off invasion. These locations included a "guerilla fortress", a "mutant lab", and an "emergency escape space shuttle". Downey wrote a very amusing narrative detailing a possible confrontation with the Scum, which proved so entertaining to everybody in our circle of aquaintences that he later wrote a sequal which involved Heinleinian (now THAT's a word) power armor or something like that.
For some reason which I wish I knew, I decided to make a game based on Brandon's story. The first version was written in Basic on the Commodore 64, and was somewhat simpler than the present version. There was no concept of forces at your command. You simply either attacked or you didn't. The game was slightly amusing to the same people that had read the story, and basically unknown to anybody else.
In 1991 (I think) the original Commodore 64 version was ported (ie, transcribed from hard copy) to GW-Basic. Nothing much came of the GW-Basic version.
In 1992 the game was completely re-written in QBasic. The ANSI screens were created at that time, though they have since been modified. This incarnation was located on the PS/2 in the library at my high school, and was played by whatever friends I could cajole into it. I also toyed with running it as a door on my BBS, but never actually got it to work. Damn Qbasic not using DOS interrupts!
In 1993 or '94 the game was modified to make battle more complex and (slightly) challenging. Its still pretty tame, really. The ANSI screens were also fiddled with. This version was placed on the computers in the Mallet Assembly Computer Lab (which you will only know about if you attended the University of Alabama, and even then probably not unless you were really cool). Thanks to the guys for discovering that it was possible to kill one Scum per turn by risking zero of your troops (this has been fixed, I hope).
Then I broke down and re-wrote the bloody thing in C. It now works as a door under WWIV. It will look for chain.txt (or whatever file name you give it as an argument) and get the player's name from there. If your BBS is something besides WWIV or you want to run the game standalone, it will ask the player for his/her name if any of the following is true :
A) chain.txt or the file you told it to look for is missing
B) you give it "local" as its command-line argument. Thus:
benny c:\bbs\chain.txt --- gets info from c:\bbs\chain.txt
benny local --- asks user for name
benny --- looks for chain.txt in current dir, if not found asks user for his/her name.
I have sworn to myself that I will not work on this game anymore, but I'll probably be breaking that promise sooner or later.
CBS News | $1.5M Homemade Bar Code Scam
I was actually, genuinely, surprised that the people arrested in this case are not people that I know personally... I know folks who've joked about doing this kind of thing for years, and when I saw the story I thought it must be them!
Sneak preview screenshot of Benny and Kenny in Java
I am not going to redo the graphics; I am working on code to convert the DOS screens to javax.swing.text.Document objects and display them in a JTextPane, since they are all just text anyway.
Except for the font not being quite right, the above actually looks more like the full-screen DOS version than the actual DOS version does when running in a window.
The Benny and Kenny Defense Plan
I have made a version of the Benny and Kenny Defense Plan game that doesn't require ANSI.SYS. In a return to my old habit over the years of periodically re-writing this old inside joke of a game I had been thinking about a Java version. Not ready to actually invest the time in that just yet, but to tide you over here's a modification to the C version so that will at least run out of the box on Win2K/XP without having to dork around with installing ANSI.SYS. This will allow even the truly lazy to experience this gerrky little game.
Direct Download Link
Note that for the full effect you should run the DOS prompt full-screen (hit ALT+ENTER), but its easier to take screenshots of a window.
Original game documentation:
Direct Download Link
Note that for the full effect you should run the DOS prompt full-screen (hit ALT+ENTER), but its easier to take screenshots of a window.
Original game documentation:
Benny and Kenny Defense version 3
by Jeff Robertson
Benny and Kenny Defense (BK) is a strategy game pitting you against the evil twins, Benny and Kenny, and their armies of Scum. The first thing you must do is choose one of 10 locations at which to engage the enemy. You always start a battle with the maximum number of forces. The Scum only refresh their numbers at the beginning of each level.
In each round of battle, you will have the choice to retreat, fight, or quit. If you choose to fight, you will be asked how many of your force will actually take part in the combat for this round. This is important, because the more you attack with, the more damage you can do. Also, the more you attack with, the more you are risking. If you use all your forces, you could be completely wiped out !
If you kill all the Scum, then you go on to the next level.
If you choose to retreat, then you can fight the Scum at some other location. You will have your lost forces replaced, but the Scum will still only have what they had when you retreated. The drawback is that you can only retreat from 5 locations per level.
With each level, you get 5 more forces, but the Scum get 10 more, so at higher levels you must learn to be more careful !
Good luck !
Thursday, December 30, 2004
Creeper Ohio
This is the other Jeff Robertson who "also has a band" that is alluded to on the Flvxxvm Florvm pages.
I remember reading reviews/buzz on the Net and elsewhere about this artist as far back as 1996, which was about the time that I first made the FF homepage. I remember thinking that "Creeper" might become a household name at any time, which would lead to lots of people mixing me up with him.
I don't see evidence that he's produced a new album of late, but here's the MP3 of his song New Hit Single.
I remember reading reviews/buzz on the Net and elsewhere about this artist as far back as 1996, which was about the time that I first made the FF homepage. I remember thinking that "Creeper" might become a household name at any time, which would lead to lots of people mixing me up with him.
I don't see evidence that he's produced a new album of late, but here's the MP3 of his song New Hit Single.
Wednesday, December 22, 2004
JAVA SSL Tutorial, VPN
Cool.
Monday, December 20, 2004
Begin: A Tactical Starship Simulation
A more complete site about this game, with bigger screenshots. They have the actual game for download.
Sunday, December 19, 2004
Home of the Underdogs - Entry: Begin 2: A Tactical Starship Simulation
One of the old hard drives I've been digging through has this game on it. I seem to recall that it rocked. Hard.
Friday, December 17, 2004
Me and my C64
What running a BBS was really all about
/****************************************
GIRL.C
female detector for WWIV 4.xx
by Jeff Robertson
This is a simpler variant of ALERT.C
that beeps when a female user logs on.
It must be located in the same directory
as your CHAIN.TXT file.
****************************************/
#include <stdio.h>
#include <dos.h>
#define DESIRED_SEX "F"
#define CHAIN_FILE "chain.txt"
#define READ "r"
#define SEX_LINE 6
int x;
char line[30];
FILE *chain_file;
int main()
{
chain_file = fopen( CHAIN_FILE, READ);
if ( chain_file == NULL ) exit(1);
for( x = SEX_LINE ; x ; x-- )
/* go through the lines before the sex line */
(void) fgets(line, sizeof(line), chain_file);
line[ strlen(line) - 1] = '\0';
if ( strcmp( line, DESIRED_SEX ) == 0)
{
for (x=5; x; x--)
{
(void) sound(500);
(void) delay(100);
(void) sound(1000);
(void) delay(100);
}
(void) nosound();
}
return (0);
}
GIRL.C
female detector for WWIV 4.xx
by Jeff Robertson
This is a simpler variant of ALERT.C
that beeps when a female user logs on.
It must be located in the same directory
as your CHAIN.TXT file.
****************************************/
#include <stdio.h>
#include <dos.h>
#define DESIRED_SEX "F"
#define CHAIN_FILE "chain.txt"
#define READ "r"
#define SEX_LINE 6
int x;
char line[30];
FILE *chain_file;
int main()
{
chain_file = fopen( CHAIN_FILE, READ);
if ( chain_file == NULL ) exit(1);
for( x = SEX_LINE ; x ; x-- )
/* go through the lines before the sex line */
(void) fgets(line, sizeof(line), chain_file);
line[ strlen(line) - 1] = '\0';
if ( strcmp( line, DESIRED_SEX ) == 0)
{
for (x=5; x; x--)
{
(void) sound(500);
(void) delay(100);
(void) sound(1000);
(void) delay(100);
}
(void) nosound();
}
return (0);
}
And they were MY electronic walls
41/170: written works
Name: Moses #49
Date: Wed Jun 03 03:38:24 1992
I write these poems
on electronic walls
to be eventually
scrolled backwards
erased and forgotten
I found a notebook
of my mother's poetry
old, yellowed and aged
and I saw things I'd written yesterday
and I'd see them done before
forgotten bits of this
forgotten bits of that
it ended abruptly and I wondered why
I would stumble across
things I had written
things I had enjoyed writing
and things I had despised
but it's still the same
the words are lost and gone
and the words will come again
Ian McMurtry
Further proof that I invented the Buddy List
(yes, this is the long-lost code referred to in this post)
/*****************************************************
* watch.c --- continously finger internet addresses *
* until one of them logs on. *
* must be able to find finger and grep. *
* this program is best run in the back- *
* ground, as it will not exit until one *
* of the specified user is logged in. *
* *
* by Jeff Robertson, 8/28/94 *
* *
******************************************************/
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#define AT '@'
#define DEFAULT_FILE ".watchrc"
void parse_address( char *, char *, char *);
int grep_for_address( char *);
main( int argc, char *argv[])
{
char address[32];
FILE *fp;
int i, grep_status = 1;
while ( grep_status)
{
/* finger the addresses from the command line */
for(i=1; i<argc; i++)
grep_status = grep_for_address( argv[i]) && grep_status;
/* read from .watchrc is it exists */
fp = fopen( DEFAULT_FILE, "r");
if (fp != NULL)
{
while ( fgets( address, sizeof(address), fp) != NULL)
{
address[ strlen(address) - 1 ] = '\0';
grep_status = grep_for_address( address) && grep_status;
}
fclose( fp);
}
}
return 0;
}
/* do the actual work */
int grep_for_address( char *address)
{
char user[16], host[32], command_line[64];
parse_address( address, user, host);
sprintf(command_line, "finger %s | grep %s", host, user);
return (system( command_line));
}
/* get separate user and host names from an internet address */
void parse_address( char *a, char *u, char *h)
{
while( *a && ( *a != AT))
*u++ = *a++;
*u = '\0';
while( *h++ = *a++ );
if (!strcmp(h,""))
strcpy(h,"@");
}
/*****************************************************
* watch.c --- continously finger internet addresses *
* until one of them logs on. *
* must be able to find finger and grep. *
* this program is best run in the back- *
* ground, as it will not exit until one *
* of the specified user is logged in. *
* *
* by Jeff Robertson, 8/28/94 *
* *
******************************************************/
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#define AT '@'
#define DEFAULT_FILE ".watchrc"
void parse_address( char *, char *, char *);
int grep_for_address( char *);
main( int argc, char *argv[])
{
char address[32];
FILE *fp;
int i, grep_status = 1;
while ( grep_status)
{
/* finger the addresses from the command line */
for(i=1; i<argc; i++)
grep_status = grep_for_address( argv[i]) && grep_status;
/* read from .watchrc is it exists */
fp = fopen( DEFAULT_FILE, "r");
if (fp != NULL)
{
while ( fgets( address, sizeof(address), fp) != NULL)
{
address[ strlen(address) - 1 ] = '\0';
grep_status = grep_for_address( address) && grep_status;
}
fclose( fp);
}
}
return 0;
}
/* do the actual work */
int grep_for_address( char *address)
{
char user[16], host[32], command_line[64];
parse_address( address, user, host);
sprintf(command_line, "finger %s | grep %s", host, user);
return (system( command_line));
}
/* get separate user and host names from an internet address */
void parse_address( char *a, char *u, char *h)
{
while( *a && ( *a != AT))
*u++ = *a++;
*u = '\0';
while( *h++ = *a++ );
if (!strcmp(h,""))
strcpy(h,"@");
}
Thursday, December 16, 2004
More BASIC goodies
DONKEY.BAS
DIM CAR%(900)
940 REM The IBM Personal Computer Donkey
950 REM Version 1.10 (C)Copyright IBM Corp 1981, 1982
960 REM Licensed Material - Program Property of IBM
975 DEF SEG : POKE 106, 0
980 SAMPLES$ = "NO"
990 GOTO 1010
1000 SAMPLES$ = "YES"
1010 KEY OFF: SCREEN 0, 1: COLOR 15, 0, 0: WIDTH 40: CLS : LOCATE 5, 19: PRINT "IBM"
1020 LOCATE 7, 12, 0: PRINT "Personal Computer"
1030 COLOR 10, 0: LOCATE 10, 9, 0: PRINT CHR$(213) + STRING$(21, 205) + CHR$(184)
1040 LOCATE 11, 9, 0: PRINT CHR$(179) + " DONKEY " + CHR$(179)
1050 LOCATE 12, 9, 0: PRINT CHR$(179) + STRING$(21, 32) + CHR$(179)
1060 LOCATE 13, 9, 0: PRINT CHR$(179) + " Version 1.10 " + CHR$(179)
1070 LOCATE 14, 9, 0: PRINT CHR$(212) + STRING$(21, 205) + CHR$(190)
1080 COLOR 15, 0: LOCATE 17, 4, 0: PRINT "(C) Copyright IBM Corp 1981, 1982"
1090 COLOR 14, 0: LOCATE 23, 7, 0: PRINT "Press space bar to continue"
1100 IF INKEY$ <> "" THEN GOTO 1100
1110 CMD$ = INKEY$
1120 IF CMD$ = "" THEN GOTO 1110
1130 IF CMD$ = CHR$(27) THEN GOTO 1298
1140 IF CMD$ = " " THEN GOTO 1160
1150 GOTO 1110
1160 DEF SEG = 0
1170 IF (PEEK(&H410) AND &H30) <> &H30 THEN DEF SEG : GOTO 1291
1180 WIDTH 80: CLS : LOCATE 3, 1
1190 PRINT "HOLD IT!"
1200 PRINT "YOU'RE NOT USING THE COLOR/GRAPHICS MONITOR ADAPTER!"
1210 PRINT "THIS PROGRAM USES GRAPHICS AND REQUIRES THAT ADAPTER."
1220 PRINT "PRESS THE SPACE BAR TO CONTINUE."
1230 DEF SEG
1240 IF INKEY$ <> "" THEN GOTO 1240
1250 CMD$ = INKEY$
1260 IF CMD$ = "" THEN GOTO 1250
1270 IF CMD$ = CHR$(27) THEN GOTO 1298
1280 IF CMD$ = " " THEN GOTO 1298
1290 GOTO 1250
1291 KEY OFF
1292 ON ERROR GOTO 1295
1293 PLAY "p16"
1294 GOTO 1300
1295 COLOR 31, 0, 0
1296 PRINT "THIS PROGRAM REQUIRES ADVANCED BASIC -- USE COMMAND 'BASICA'": COLOR 15, 0, 0: FOR I = 1 TO 9000: NEXT: RESUME 1298
1298 ON ERROR GOTO 0
1299 SCREEN 0, 1: IF SAMPLES$ = "YES" THEN CHAIN "samples": ELSE COLOR 7, 0, 0: CLS : END
1300 REM
1410 COLOR 0
1420 DEFINT A-Y
1440 SCREEN 1, 0: COLOR 8, 1
1450 DIM Q%(500)
1460 DIM D1%(150), D2%(150), C1%(200), C2%(200)
1470 DIM DNK%(300)
1480 GOSUB 1940
1490 GOSUB 1780
1500 CLS
1510 DIM B%(300)
1520 FOR I = 2 TO 300: B%(I) = -16384 + 192: NEXT
1530 B%(0) = 2: B%(1) = 193
1540 REM
1550 CX = 110: CLS
1590 LINE (0, 0)-(305, 199), , B
1600 LINE (6, 6)-(97, 195), 1, BF
1610 LINE (183, 6)-(305, 195), 1, BF
1620 LOCATE 3, 5: PRINT "Donkey"
1630 LOCATE 3, 29: PRINT "Driver"
1631 LOCATE 19, 25: PRINT "Press Space ";
1632 LOCATE 20, 25: PRINT "Bar to switch";
1633 LOCATE 21, 25: PRINT "lanes ";
1635 LOCATE 23, 25: PRINT "Press ESC ";
1636 LOCATE 24, 25: PRINT "to exit ";
1640 FOR Y = 4 TO 199 STEP 20: LINE (140, Y)-(140, Y + 10): NEXT
1650 CY = 105: CX = 105
1660 LINE (100, 0)-(100, 199): LINE (180, 0)-(180, 199)
1670 LOCATE 5, 6: PRINT SD: LOCATE 5, 31: PRINT SM
1680 CY = CY - 4: IF CY < 60 THEN 2230
1690 PUT (CX, CY), CAR%, PRESET
1700 DX = 105 + 42 * INT(RND * 2)
1710 FOR Y = (RND * -4) * 8 TO 124 STEP 6
1720 SOUND 20000, 1
1730 A$ = INKEY$: IF A$ = CHR$(27) THEN 1298 ELSE POKE 106, 0: IF LEN(A$) > 0 THEN LINE (CX, CY)-(CX + 28, CY + 44), 0, BF: CX = 252 - CX: PUT (CX, CY), CAR%, PRESET: SOUND 200, 1
1740 IF Y >= 3 THEN PUT (DX, Y), DNK%, PSET
1750 IF CX = DX AND Y + 25 >= CY THEN 2060
1760 IF Y AND 3 THEN PUT (140, 6), B%
1770 NEXT: LINE (DX, 124)-(DX + 32, 149), 0, BF: GOTO 1670
1780 CLS
1790 DRAW "S8C3"
1800 DRAW "BM12,1r3m+1,3d2R1ND2u1r2d4l2u1l1"
1810 DRAW "d7R1nd2u2r3d6l3u2l1d3m-1,1l3"
1820 DRAW "m-1,-1u3l1d2l3u6r3d2nd2r1u7l1d1l2"
1830 DRAW "u4r2d1nd2R1U2"
1840 DRAW "M+1,-3"
1850 DRAW "BD10D2R3U2M-1,-1L1M-1,1"
1860 DRAW "BD3D1R1U1L1BR2R1D1L1U1"
1870 DRAW "BD2BL2D1R1U1L1BR2R1D1L1U1"
1880 DRAW "BD2BL2D1R1U1L1BR2R1D1L1U1"
1890 LINE (0, 0)-(40, 60), , B
1900 PAINT (1, 1)
1920 GET (1, 1)-(29, 45), CAR%
1930 RETURN
1940 CLS
1950 DRAW "S08"
1960 DRAW "BM14,18"
1970 DRAW "M+2,-4R8M+1,-1U1M+1,+1M+2,-1"
1980 DRAW "M-1,1M+1,3M-1,1M-1,-2M-1,2"
1990 DRAW "D3L1U3M-1,1D2L1U2L3D2L1U2M-1,-1"
2000 DRAW "D3L1U5M-2,3U1"
2010 PAINT (21, 14), 3
2020 PRESET (37, 10): PRESET (40, 10)
2030 PRESET (37, 11): PRESET (40, 11)
2040 GET (13, 0)-(45, 25), DNK%
2050 RETURN
2060 SD = SD + 1: LOCATE 14, 6: PRINT "BOOM!"
2070 GET (DX, Y)-(DX + 16, Y + 25), D1%
2080 D1X = DX: D1Y = Y: D2X = DX + 17
2090 GET (DX + 17, Y)-(DX + 31, Y + 25), D2%
2100 GET (CX, CY)-(CX + 14, CY + 44), C1%
2110 GET (CX + 15, CY)-(CX + 28, CY + 44), C2%
2120 C1X = CX: C1Y = CY: C2X = CX + 15
2130 FOR P = 6 TO 0 STEP -1: Z = 1 / (2 ^ P): Z1 = 1 - Z
2140 PUT (C1X, C1Y), C1%: PUT (C2X, C1Y), C2%
2150 PUT (D1X, D1Y), D1%: PUT (D2X, D1Y), D2%
2160 C1X = CX * Z1: D1Y = Y * Z1: C2X = C2X + (291 - C2X) * Z
2170 D1X = DX * Z1: C1Y = C1Y + (155 - C1Y) * Z: D2X = D2X + (294 - D2X) * Z
2180 PUT (C1X, C1Y), C1%: PUT (C2X, C1Y), C2%
2190 PUT (D1X, D1Y), D1%: PUT (D2X, D1Y), D2%
2200 SOUND 37 + RND * 200, 4: NEXT
2210 FOR Y = 1 TO 2000: NEXT
2220 CLS : GOTO 1540
2230 SM = SM + 1: LOCATE 7, 25: PRINT "Donkey loses!"
2240 FOR Y = 1 TO 1000: NEXT
2250 CLS : GOTO 1540
940 REM The IBM Personal Computer Donkey
950 REM Version 1.10 (C)Copyright IBM Corp 1981, 1982
960 REM Licensed Material - Program Property of IBM
975 DEF SEG : POKE 106, 0
980 SAMPLES$ = "NO"
990 GOTO 1010
1000 SAMPLES$ = "YES"
1010 KEY OFF: SCREEN 0, 1: COLOR 15, 0, 0: WIDTH 40: CLS : LOCATE 5, 19: PRINT "IBM"
1020 LOCATE 7, 12, 0: PRINT "Personal Computer"
1030 COLOR 10, 0: LOCATE 10, 9, 0: PRINT CHR$(213) + STRING$(21, 205) + CHR$(184)
1040 LOCATE 11, 9, 0: PRINT CHR$(179) + " DONKEY " + CHR$(179)
1050 LOCATE 12, 9, 0: PRINT CHR$(179) + STRING$(21, 32) + CHR$(179)
1060 LOCATE 13, 9, 0: PRINT CHR$(179) + " Version 1.10 " + CHR$(179)
1070 LOCATE 14, 9, 0: PRINT CHR$(212) + STRING$(21, 205) + CHR$(190)
1080 COLOR 15, 0: LOCATE 17, 4, 0: PRINT "(C) Copyright IBM Corp 1981, 1982"
1090 COLOR 14, 0: LOCATE 23, 7, 0: PRINT "Press space bar to continue"
1100 IF INKEY$ <> "" THEN GOTO 1100
1110 CMD$ = INKEY$
1120 IF CMD$ = "" THEN GOTO 1110
1130 IF CMD$ = CHR$(27) THEN GOTO 1298
1140 IF CMD$ = " " THEN GOTO 1160
1150 GOTO 1110
1160 DEF SEG = 0
1170 IF (PEEK(&H410) AND &H30) <> &H30 THEN DEF SEG : GOTO 1291
1180 WIDTH 80: CLS : LOCATE 3, 1
1190 PRINT "HOLD IT!"
1200 PRINT "YOU'RE NOT USING THE COLOR/GRAPHICS MONITOR ADAPTER!"
1210 PRINT "THIS PROGRAM USES GRAPHICS AND REQUIRES THAT ADAPTER."
1220 PRINT "PRESS THE SPACE BAR TO CONTINUE."
1230 DEF SEG
1240 IF INKEY$ <> "" THEN GOTO 1240
1250 CMD$ = INKEY$
1260 IF CMD$ = "" THEN GOTO 1250
1270 IF CMD$ = CHR$(27) THEN GOTO 1298
1280 IF CMD$ = " " THEN GOTO 1298
1290 GOTO 1250
1291 KEY OFF
1292 ON ERROR GOTO 1295
1293 PLAY "p16"
1294 GOTO 1300
1295 COLOR 31, 0, 0
1296 PRINT "THIS PROGRAM REQUIRES ADVANCED BASIC -- USE COMMAND 'BASICA'": COLOR 15, 0, 0: FOR I = 1 TO 9000: NEXT: RESUME 1298
1298 ON ERROR GOTO 0
1299 SCREEN 0, 1: IF SAMPLES$ = "YES" THEN CHAIN "samples": ELSE COLOR 7, 0, 0: CLS : END
1300 REM
1410 COLOR 0
1420 DEFINT A-Y
1440 SCREEN 1, 0: COLOR 8, 1
1450 DIM Q%(500)
1460 DIM D1%(150), D2%(150), C1%(200), C2%(200)
1470 DIM DNK%(300)
1480 GOSUB 1940
1490 GOSUB 1780
1500 CLS
1510 DIM B%(300)
1520 FOR I = 2 TO 300: B%(I) = -16384 + 192: NEXT
1530 B%(0) = 2: B%(1) = 193
1540 REM
1550 CX = 110: CLS
1590 LINE (0, 0)-(305, 199), , B
1600 LINE (6, 6)-(97, 195), 1, BF
1610 LINE (183, 6)-(305, 195), 1, BF
1620 LOCATE 3, 5: PRINT "Donkey"
1630 LOCATE 3, 29: PRINT "Driver"
1631 LOCATE 19, 25: PRINT "Press Space ";
1632 LOCATE 20, 25: PRINT "Bar to switch";
1633 LOCATE 21, 25: PRINT "lanes ";
1635 LOCATE 23, 25: PRINT "Press ESC ";
1636 LOCATE 24, 25: PRINT "to exit ";
1640 FOR Y = 4 TO 199 STEP 20: LINE (140, Y)-(140, Y + 10): NEXT
1650 CY = 105: CX = 105
1660 LINE (100, 0)-(100, 199): LINE (180, 0)-(180, 199)
1670 LOCATE 5, 6: PRINT SD: LOCATE 5, 31: PRINT SM
1680 CY = CY - 4: IF CY < 60 THEN 2230
1690 PUT (CX, CY), CAR%, PRESET
1700 DX = 105 + 42 * INT(RND * 2)
1710 FOR Y = (RND * -4) * 8 TO 124 STEP 6
1720 SOUND 20000, 1
1730 A$ = INKEY$: IF A$ = CHR$(27) THEN 1298 ELSE POKE 106, 0: IF LEN(A$) > 0 THEN LINE (CX, CY)-(CX + 28, CY + 44), 0, BF: CX = 252 - CX: PUT (CX, CY), CAR%, PRESET: SOUND 200, 1
1740 IF Y >= 3 THEN PUT (DX, Y), DNK%, PSET
1750 IF CX = DX AND Y + 25 >= CY THEN 2060
1760 IF Y AND 3 THEN PUT (140, 6), B%
1770 NEXT: LINE (DX, 124)-(DX + 32, 149), 0, BF: GOTO 1670
1780 CLS
1790 DRAW "S8C3"
1800 DRAW "BM12,1r3m+1,3d2R1ND2u1r2d4l2u1l1"
1810 DRAW "d7R1nd2u2r3d6l3u2l1d3m-1,1l3"
1820 DRAW "m-1,-1u3l1d2l3u6r3d2nd2r1u7l1d1l2"
1830 DRAW "u4r2d1nd2R1U2"
1840 DRAW "M+1,-3"
1850 DRAW "BD10D2R3U2M-1,-1L1M-1,1"
1860 DRAW "BD3D1R1U1L1BR2R1D1L1U1"
1870 DRAW "BD2BL2D1R1U1L1BR2R1D1L1U1"
1880 DRAW "BD2BL2D1R1U1L1BR2R1D1L1U1"
1890 LINE (0, 0)-(40, 60), , B
1900 PAINT (1, 1)
1920 GET (1, 1)-(29, 45), CAR%
1930 RETURN
1940 CLS
1950 DRAW "S08"
1960 DRAW "BM14,18"
1970 DRAW "M+2,-4R8M+1,-1U1M+1,+1M+2,-1"
1980 DRAW "M-1,1M+1,3M-1,1M-1,-2M-1,2"
1990 DRAW "D3L1U3M-1,1D2L1U2L3D2L1U2M-1,-1"
2000 DRAW "D3L1U5M-2,3U1"
2010 PAINT (21, 14), 3
2020 PRESET (37, 10): PRESET (40, 10)
2030 PRESET (37, 11): PRESET (40, 11)
2040 GET (13, 0)-(45, 25), DNK%
2050 RETURN
2060 SD = SD + 1: LOCATE 14, 6: PRINT "BOOM!"
2070 GET (DX, Y)-(DX + 16, Y + 25), D1%
2080 D1X = DX: D1Y = Y: D2X = DX + 17
2090 GET (DX + 17, Y)-(DX + 31, Y + 25), D2%
2100 GET (CX, CY)-(CX + 14, CY + 44), C1%
2110 GET (CX + 15, CY)-(CX + 28, CY + 44), C2%
2120 C1X = CX: C1Y = CY: C2X = CX + 15
2130 FOR P = 6 TO 0 STEP -1: Z = 1 / (2 ^ P): Z1 = 1 - Z
2140 PUT (C1X, C1Y), C1%: PUT (C2X, C1Y), C2%
2150 PUT (D1X, D1Y), D1%: PUT (D2X, D1Y), D2%
2160 C1X = CX * Z1: D1Y = Y * Z1: C2X = C2X + (291 - C2X) * Z
2170 D1X = DX * Z1: C1Y = C1Y + (155 - C1Y) * Z: D2X = D2X + (294 - D2X) * Z
2180 PUT (C1X, C1Y), C1%: PUT (C2X, C1Y), C2%
2190 PUT (D1X, D1Y), D1%: PUT (D2X, D1Y), D2%
2200 SOUND 37 + RND * 200, 4: NEXT
2210 FOR Y = 1 TO 2000: NEXT
2220 CLS : GOTO 1540
2230 SM = SM + 1: LOCATE 7, 25: PRINT "Donkey loses!"
2240 FOR Y = 1 TO 1000: NEXT
2250 CLS : GOTO 1540
The Evil Grinn BBS, 1994
Recently unearthed. These are some posts from my BBS from one summer when I came home from college and turned it back on for a while. See here for details of how this HTML was created.
Wow!
Slim #389
Mon Aug 15 04:26:42 1994
I can't believe it! All this time, and my account is still here!
uh-oh...
Spy'dr #1
Sun Aug 07 17:45:39 1994
Its almost back to school time, and this BBS has only 2 weeks to live.
Ahhhhh ...
Sp'ange #72
Tue Aug 16 09:41:09 1994
RE: Sad....
BY: Dodo Haha #20
I hate to see a WWIV board go down... Why don't more people use the WWIV
sofware...? I think it's the easiest to learn and the easiest to work with... I
think all the VBBS people should be shot...
8░░▒▒▓▓█ ▀▄ ▄▀ The Evil Grinn BBS ▀▄ ▄▀ █▓▓▒▒░░
7░░▒▒▓▓█ ▄ ▄ Bayou La Batre, AL ▄ ▄ █▓▓▒▒░░
6░░▒▒▓▓█ ▀▀▀▀▀ (205) 824 7363 ▀▀▀▀▀ █▓▓▒▒░░
Mallet video collection
A list of the vidoes in the library of the Mallet Assembly, from one of my terms as Librarian.
Mallet Video List
1. Leviathan
Little Shop of Horrors
Road House
2. Goonies
Armed and Dangerous
Quick Change
3. Green Card
Enemies: A Love Story;
Pet Semetary
4. Steel Magnolias
Look Who's Talking
5. UHF
American Gothic
6. The Cook, the Theif, His Wife and Her Lover
Annie Hall
Drugstore Cowboy
7. High Anxiety
Krull
Men at Work
8. Harlem Nights
Raw
Risky Business
9. We're no Angels
I was a Teenage Werewolf
Joe vs. the Volcano
Free DWG Viewer
For viewing those pesky Autocad files.
The Flvxxvm Florvm Cross-Reference
Found recently on an old disk.
Tuesday, December 14, 2004
BlueHarvest.net - Original Trilogy Video
This page may contain the entirity of the infamous Star Wars holiday special. I won't say for sure until after I've downloaded it.
(Update: yep, it do.)
(Update: yep, it do.)
Saturday, December 11, 2004
the essence of this blog
Last night at a Christmas party (no, not the office party, for any cow-orkers who may be reading.. I didn't go), I had an opportunity to try to briefly sum up the contents of this blog. The entries that I sited as absolutely typical were:
http://jeff_robertson.blogspot.com/2003/08/speaking-of-unicode-i-think-my.html
http://jeff_robertson.blogspot.com/2003/08/there-appears-to-be-no-unicode.html
With also a sideways mention of:
http://jeff_robertson.blogspot.com/2003/10/white-hot-masters-of-metal.html
http://jeff_robertson.blogspot.com/2004/03/i-feel-alright.html
http://jeff_robertson.blogspot.com/2003/06/classic-jeff-tue-12-dec-2000-184116.html
http://jeff_robertson.blogspot.com/2003/08/speaking-of-unicode-i-think-my.html
http://jeff_robertson.blogspot.com/2003/08/there-appears-to-be-no-unicode.html
With also a sideways mention of:
http://jeff_robertson.blogspot.com/2003/10/white-hot-masters-of-metal.html
http://jeff_robertson.blogspot.com/2004/03/i-feel-alright.html
http://jeff_robertson.blogspot.com/2003/06/classic-jeff-tue-12-dec-2000-184116.html
Friday, December 10, 2004
A t-shirt I'd like to see
Thursday, December 09, 2004
DAV's Endian FAQ
The big-endian v. little-endian controversy, how to avoid stupid mistakes in hardware and software, ON HOLY WARS AND A PLEA FOR PEACE.
anyone who was brought up by computer scientists, rather than by botanists, knows that trees grow downward, having their roots at the top of the page and their leaves down below. Computer scientists seldom remember which way "up" really is.
Wednesday, December 08, 2004
Cheap and nasty java smtp client
This is for those situations where you want to send a short, plain-text email, and mail.jar and its associated dependencies are not available.
import java.io.*;
import java.net.*;
/**
* A very, very basic SMTP client for sending one-liner emails.
* Doesn't support authentication or anything else fancy. Use
* only when your desire to not have to depend on mail.jar outweighs
* the importance of the email ever actually getting there.
*
* @author jeff_robertson@yahoo.com
*/
public class StoopidSmtpSender {
private String host;
private int port;
private PrintStream logStream;
public StoopidSmtpSender(String host, int port, PrintStream logStream) {
this.host=host;
this.port=port;
this.logStream = logStream;
}
public StoopidSmtpSender(String host) {
this.host=host;
this.port=25;
}
public void send(String from, String to, String subject, String body) throws java.io.IOException {
Socket s = new Socket(host, port);
PrintStream ps;
if( logStream == null)
ps = new PrintStream(s.getOutputStream());
else
ps = new PrintStream(s.getOutputStream()) {
public void println(String str) {
logStream.println(str);
super.println(str);
}
};
BufferedReader br;
if( logStream == null)
br = new BufferedReader( new InputStreamReader(s.getInputStream()));
else
br = new BufferedReader( new InputStreamReader(s.getInputStream())) {
public String readLine() throws IOException {
String str = super.readLine();
logStream.println(str);
return str;
}
};
br.readLine(); // read and throw away intial message
ps.println("HELO");
br.readLine();
ps.println("mail from: <" + from + ">");
br.readLine();
ps.println("rcpt to: <" + to + ">");
br.readLine();
ps.println("data");
br.readLine();
ps.println("Subject: " + subject);
ps.println();
ps.println(body);
ps.println(".");
br.readLine();
ps.close();
s.close();
}
}
import java.io.*;
import java.net.*;
/**
* A very, very basic SMTP client for sending one-liner emails.
* Doesn't support authentication or anything else fancy. Use
* only when your desire to not have to depend on mail.jar outweighs
* the importance of the email ever actually getting there.
*
* @author jeff_robertson@yahoo.com
*/
public class StoopidSmtpSender {
private String host;
private int port;
private PrintStream logStream;
public StoopidSmtpSender(String host, int port, PrintStream logStream) {
this.host=host;
this.port=port;
this.logStream = logStream;
}
public StoopidSmtpSender(String host) {
this.host=host;
this.port=25;
}
public void send(String from, String to, String subject, String body) throws java.io.IOException {
Socket s = new Socket(host, port);
PrintStream ps;
if( logStream == null)
ps = new PrintStream(s.getOutputStream());
else
ps = new PrintStream(s.getOutputStream()) {
public void println(String str) {
logStream.println(str);
super.println(str);
}
};
BufferedReader br;
if( logStream == null)
br = new BufferedReader( new InputStreamReader(s.getInputStream()));
else
br = new BufferedReader( new InputStreamReader(s.getInputStream())) {
public String readLine() throws IOException {
String str = super.readLine();
logStream.println(str);
return str;
}
};
br.readLine(); // read and throw away intial message
ps.println("HELO");
br.readLine();
ps.println("mail from: <" + from + ">");
br.readLine();
ps.println("rcpt to: <" + to + ">");
br.readLine();
ps.println("data");
br.readLine();
ps.println("Subject: " + subject);
ps.println();
ps.println(body);
ps.println(".");
br.readLine();
ps.close();
s.close();
}
}
Monday, December 06, 2004
Why Microsoft can Blow-Off with C#?
Funny. Poor English, but funny.
Friday, December 03, 2004
this is what I do with my red pens
Tuesday, November 30, 2004
The Top Ten College Pranks of All Time
Exactly what the title says.
The Top Ten College Pranks of All Time
Exactly what the title says.
Saturday, November 27, 2004
ATLANTA TIME MACHINE
The Atlanta Time Machine website is dedicated to examining the history of Atlanta, Georgia by comparing vintage photographs of Atlanta with much more contemporary images shot, more or less, from the same perspective of the original photographer.
Tuesday, November 23, 2004
Structure and Interpretation of Computer Programs
Educators, generals, dieticians, psychologists, and parents program. Armies, students, and some societies are programmed. An assault on large problems employs a succession of programs, most of which spring into existence en route. These programs are rife with issues that appear to be particular to the problem at hand. To appreciate programming as an intellectual activity in its own right you must turn to computer programming; you must read and write computer programs -- many of them.
Monday, November 22, 2004
Our Christmas Tree!
Sunday, November 21, 2004
The Little Engine That Could
Cringley's article on the Linksys WRT54G. I just went out and bought one of these, on the recommendation of several people including Novarese.
My review: it rocks!
My review: it rocks!
Wednesday, November 17, 2004
Netscape backed by firefox
Discussion in which I am forced to subvert Slashdot's bias against ASCII art, but for good rather than for evil.
"Mozilla" (original by "Mosaic Communications")
|
Netscape 1-4
|
Mozilla (the open source one)
|
+oooo+oooooooooo+oooooooooo+
| | |
Netscape 6,7 Firefox Other gecko browsers
|
+o+oooooooooooooo+
| |
Mozilla Netscape ?
(next version) (what this article is about)
Tuesday, November 16, 2004
Paper Mate "Flair" pens
My employer seems to order a different models of pen every time I check the supply room. Every now and then they order something that is retro-k00l (at least to me). A few months ago it was the Pilot Razor Point. Now they no longer have those, but they have the Paper Mate Flair.
These are very similar, although possibly not identical, to the pens my father used to buy when he had his own business circa 1980. I have many memories of using them (especially the red ones) to draw pictures of things that were popular with kids at the time.
For this reason, I immediately started calling them "Dukes of Hazzard pens" (at least in my own mind) before I even found that their proper name was "Flair". I keep a red one in my pocket and during meetings I have to fight the temptation to doodle a little confederate flag on any handy scrap of paper.
These are very similar, although possibly not identical, to the pens my father used to buy when he had his own business circa 1980. I have many memories of using them (especially the red ones) to draw pictures of things that were popular with kids at the time.
For this reason, I immediately started calling them "Dukes of Hazzard pens" (at least in my own mind) before I even found that their proper name was "Flair". I keep a red one in my pocket and during meetings I have to fight the temptation to doodle a little confederate flag on any handy scrap of paper.
ColdFusionTechNotes:Content length error
Yes, this entry really is as dull as it looks.
Monday, November 15, 2004
westcoastpirate.com: Real Ghost Sighting Caught on Film
This kind of stuff never gets old.
Struts Flow
Struts Flow is a port of Cocoon's Control Flow to Struts to allow complex workflow, like multi-form wizards, to be easily implemented using continuations-capable JavaScript. It provides the ability to describe the order of Web pages that have to be sent to the client, at any given point in time in an application.
Apache Cocoon - Control Flow
Read this, all of it.
This approach looks very powerful, since the flow of pages within the application can be described as a normal program. Using this approach you no longer have to think of your Web application as a finite state machine, which transitions from one state to another, and in the process generates response pages.
Struts 2.x 'Shale' Proposal
This is a proposal to fundamentally reinvent Struts
(link appears to be bad right now, assuming this is temporary)
What do we need from a controller?
Over on the Apache Struts Development list server discussions have been going on about the proposals for Struts 2.0 (aka "Shale"), in concert with this we have Erwin Vervaet's Spring Web Flows recently announced. All of this has got me to thinking. What do we really need from a Controller? We have a lot of competing frameworks out there, each with a world view and enthusiastic user base, is this a race that needs to be won or has no-one defined the finish line yet
Friday, October 29, 2004
Observed Instances of Speciation
The Russian cytologist Karpchenko (1927, 1928) crossed the radish, Raphanus sativus, with the cabbage, Brassica oleracea. Despite the fact that the plants were in different genera, he got a sterile hybrid. Some unreduced gametes were formed in the hybrids. This allowed for the production of seed. Plants grown from the seeds were interfertile with each other. They were not interfertile with either parental species. Unfortunately the new plant (genus Raphanobrassica) had the foliage of a radish and the root of a cabbage.
AdSense is too damn smart!
Google AdSense placed this ad on this blog:
Then I figured out that the page being advertized actually contains the phrase "Brassica oleracea". So Google isn't as smart as I thought.
<mallet>
Broccoli - Made FreshI had not mentioned "broccoli" anywhere. At first I thought that AdSense must have picked up "Brassica oleracea" and actually figured out that it was the botanical name for (among other things) broccoli. Wow!
Processed in one 1 business day. You pick capsule type & bottle size.
Then I figured out that the page being advertized actually contains the phrase "Brassica oleracea". So Google isn't as smart as I thought.
<mallet>
It reminds of a party at that house that John Ellis and Will Richardson and JV rented off of 10th street. Someone brought was a bottle of PGA, and Pat Pace was drinking it straight. Several people were also having fun pouring the PGA into ash trays and such and lighting it on fire. At one point someone used the (plastic) cap from the PGA bottle to hold the fire, and the heat from the fire burned/melted a tiny hole in the cap. Everyone was too drunk to notice, so the cap was placed back on the bottle, and the bottle was for some reason placed in the refridgerator at the end of the party. Sideways in the fridge, that is, so that the PGA slowly leaked out through the hole in cap. The next day when Will opened the fridge and found PGA all over everything, his first thought was that the PGA was actually so powerful that it had melted the plastic just by being in contact with it. When the incident with the lighter was explained to him, I'm sure his disappointment in the potency of PGA was something similar to what I just experienced with regards to the potency of AdSense.
</mallet>Sisters!
Zinnia with pacifier
Thursday, October 28, 2004
S5: A Simple Standards-Based Slide Show System
S5 is a slide show format based entirely on XHTML, CSS, and JavaScript. With one file, you can run a complete slide show and have a printer-friendly version as well. The markup used for the slides is very simple, highly semantic, and completely accessible. Anyone with even a smidgen of familiarity with HTML or XHTML can look at the markup and figure out how to adapt it to their particular needs. Anyone familiar with CSS can create their own slide show theme. It's totally simple, and it's totally standards-driven.
Zinnia Robertson
Sunday, October 24, 2004
eBay item - 2 invitations to a wedding I don't want to go to
This seems to be making the rounds.
Not sure what this is either..
Maybe this is the collards..
Saturday, October 23, 2004
Brassica oleracea?
Friday, October 22, 2004
Eric Longman :: Self-Signed IIS SSL Certificates using OpenSSL
People a work think I know how to do this. I don't, I just know where to look. (see also here)
Wednesday, October 20, 2004
Household Cyclopedia
Monday, October 18, 2004
G33K
171 NFS
6975 AWK
The power of table-oriented programming
Interesting.
Thursday, October 14, 2004
Bam-a-lam!
If you ever listen to "classic rock" radio, you've probably heard Ram Jam's rendition of Ledbelly's "Black Betty". The song is so stupid, even by my standards, that normally I switch stations when it comes on. But yesterday they played the full album version, and I happened to tune in right in the middle of it. Apparently the "radio edit" of the song you normally hear was really just the warmup for several minutes of ultra-70's excessive guitar soloing over the maddest double-bass-drum pounding you can imagine. Wow. My ears are still smoking.
Thursday, October 07, 2004
Style is Substance
Yup. I'm really saying that. I'm saying that, for example, the next ANSI C update should define the standard K&R C programming style into the language grammar. Programs that use any new features should be required to be in K&R style or be rejected by the compiler as syntactically illegal.
Retro hair products, pt.5: Top Brass ZP-11 Anti-Dandruff Hairgroom
This is it! In a couple of months, this stuff ended the dandruff problem that had been the bane of my existence for years. I cannot recommend it highly enough.
It is rarely seen in stores, so I almost resorted to ordering it online. I actually found it at a small store near my house that specializes in "ethnic" hair care products. I'm not sure what ethnic group normally buys it. The store owner said that for a while she could no longer get it from Revlon, but now it appears to be back in production.
Do not confuse it with the normal Top Brass in the red box, which actually turns up quite often at drug stores. Only the one in the blue box has the ZP-11 (pyrithione zinc, just like Head and Shoulders and the elusive anti-dandruff version of Brylcreem).
Top Brass is basically in the same genre as Brylcreem, although the texture is slghtly less oily and more like toothpaste. Possibly related to this, it is less shiny, particular after the hair has dried. The label promises "no medicinal odor" but this is an out and out lie. The smell is hard to describe by any word other than medicinal.
"Unlike wash away shampoos, full medication clings to your scalp hour after hour, day and night." This is damn true. And it works. There are other leave-in dandruff treatments, including one by Aveda and one by Head and Shoulders themselves, but those don't have the added benefit of retro hair styles or pseudo-military packaging. Top Brass doesn't just cure dandruff, it probably also kills Nazis or something.
Warning: wash your hands thoroughly after use and keep them away from your hair during the day! This is for two reasons. One, if it gets on your hands it might get into your food, and the taste is unpleasently bitter and hard to get out of your mouth. The worst, however, is if you get it in your eyes. It burns like fire. I got some in my eyes while driving, and I almost had to pull the car over to the side of the road because it was so difficult to keep my eyes open with the Top Brass eating away at them.
Another disadvantage is that you really don't get a lot of it each tube, so you run through it pretty quickly if you use if everyday like I did.
It is rarely seen in stores, so I almost resorted to ordering it online. I actually found it at a small store near my house that specializes in "ethnic" hair care products. I'm not sure what ethnic group normally buys it. The store owner said that for a while she could no longer get it from Revlon, but now it appears to be back in production.
Do not confuse it with the normal Top Brass in the red box, which actually turns up quite often at drug stores. Only the one in the blue box has the ZP-11 (pyrithione zinc, just like Head and Shoulders and the elusive anti-dandruff version of Brylcreem).
Top Brass is basically in the same genre as Brylcreem, although the texture is slghtly less oily and more like toothpaste. Possibly related to this, it is less shiny, particular after the hair has dried. The label promises "no medicinal odor" but this is an out and out lie. The smell is hard to describe by any word other than medicinal.
"Unlike wash away shampoos, full medication clings to your scalp hour after hour, day and night." This is damn true. And it works. There are other leave-in dandruff treatments, including one by Aveda and one by Head and Shoulders themselves, but those don't have the added benefit of retro hair styles or pseudo-military packaging. Top Brass doesn't just cure dandruff, it probably also kills Nazis or something.
Warning: wash your hands thoroughly after use and keep them away from your hair during the day! This is for two reasons. One, if it gets on your hands it might get into your food, and the taste is unpleasently bitter and hard to get out of your mouth. The worst, however, is if you get it in your eyes. It burns like fire. I got some in my eyes while driving, and I almost had to pull the car over to the side of the road because it was so difficult to keep my eyes open with the Top Brass eating away at them.
Another disadvantage is that you really don't get a lot of it each tube, so you run through it pretty quickly if you use if everyday like I did.
Tuesday, October 05, 2004
Retro hair products, pt.4: Alberto VO5 Conditioning Hairdressing
The original upon which the entire "VO5" product line was based, this is a truly unisex product. The ads are apparently aimed at women, and it comes with a little instruction sheet that illustrates it's use by a woman. Women apparently like it for dealing with split ends and other damages. Supposedly it was invented to tame the frizziness of Hollywood starlets' hair, possibly even Marilyn Monroe. That is why it qualifies as "retro" even though it is apparently not regarded by anyone as being in the same class of cultural artifact as Brylcreem, etc. However, places like Walgreens actually stock it in both the men's and women's hair sections. I can only assume guys are buying it because they want a big ole mess of grease in their hair.
This stuff doesn't mess around. The label says it all "super-concentrated". "Contains no alchohol or water". I've also seen it referred to as "organic", which I guess is literally true in the sense of the word "organic" that you learned in chemistry class.
In fact the two main ingredients are mineral oil and petrolatum (ie., petroleum jelly). In other words, it is very similar to what you can get by mixing those two, as I described previously. Ignore the directions that tell you to squeeze an eigth-of-an-inch blob. Squeeze out enough to seriously grease it up. Or better yet, buy it by the tub.
Your hair (and scalp) will stay very shiny, very slick, and very greasy all day long. You will be able to drive with the window rolled down on the freeway and your hair will not budge. It apparently has all kinds of wacky uses, although most of these could probably be accomplishd cheaper with plain petroleum jelly. If your lips are ever chapped, just run a finger through your hair and rub some of it on your lips. Why didn't Suzie Chapstick think of that?
The main disadvantage of this product (assuming you don't consider the inherent greasiness to be a disadvantage, which I obviously don't), is the smell. It somehow manages to smell more petroleum-jelly-like than petroleum jelly does, and worse things on top of that! To many people (including my wife) it quite frankly stinks, and the smell doesn't go away.
Brylcreem official website
Brylcreem's current website looks like some kind of a fashion shoot. I can tell you that the guy in this picture is using a hell of a lot more than a lil' dab. Some of the other brands on this same site actually border on being not safe for work.
Looks like a young Paul Clemmons, doesn't he Hatch?
Looks like a young Paul Clemmons, doesn't he Hatch?
sickamongthepure.com :: the induce act and the cartel
Connects the current fight over the INDUCE act to answering the question of "why does radio suck?".
Monday, October 04, 2004
marketing and branding article - My Excellent Brylcreem Adventure
Nice article about Brylcreem, Wildroot, etc.
Retro hair products, pt.3: Brylcreem
Brylcreem is so retro-chic that it is almost mainstream. People who've never heard of Vitalis or Wild Root recognize the phrase "a little dab'l do ya". You can find Brylcreem at every drug store, supermarket, and sometimes even convenience stores.
So much information about Brylcreem is already available on the Net that I won't waste too much space on it here. I won't bother describing its history or cultural impact, etc. You know how to use Google.
Many people think that Brylcreem was "greasy kid stuff". Actually depending on what sources I consult, it was either Brylcreem or Vitalis that used "no more greasy kid stuff" as an ad compaign. Compared to pomades and products containing petroleum jelly, Brylcreem is indeed non-greasy. Sort of an evolutionary step towards modern hair gels, I guess.
Like the Vaseline Hair Tonic discussed last time, it doesn't offer much in the way of "hold". Not in the usual hairspray sense of the word. If you follow the slogan and use a lil' dab, your hair will be shiny and good-smelling and easy to manage, but don't expect to be able to have a pompadour or 80s-cartoon-punk-rocker spikes. (If that's what you want then you should be using a pomade of some sort.) Using a big dab will allow you to comb just about any normal-looking hairstyle and your hair will stay put, and the smell will be even more pronounced.
So what does it smell like? To me it smells like a lotion that you would normally expect to put on your hands. (Looks and feels like it, too). So you will walk around smelling like you have a head full of lotion. Which is not neccessarily a bad thing.
Since the reason I started looking into these kinds of products was dandruff/dry-scalp, I was very interested to learn that there is a special version of Brylcreem that contains pyrithione zinc (the same thing as Head and Shoulders). Unfortunately I cannot find this at any store.
Because I couldn't find the dandruff formula, I actually stayed away from Brylcreem at the start of this project, and only went back to try it as an afterthought after having essentially solved the dandruff problem (oops.. spoiler!).
So much information about Brylcreem is already available on the Net that I won't waste too much space on it here. I won't bother describing its history or cultural impact, etc. You know how to use Google.
Many people think that Brylcreem was "greasy kid stuff". Actually depending on what sources I consult, it was either Brylcreem or Vitalis that used "no more greasy kid stuff" as an ad compaign. Compared to pomades and products containing petroleum jelly, Brylcreem is indeed non-greasy. Sort of an evolutionary step towards modern hair gels, I guess.
Like the Vaseline Hair Tonic discussed last time, it doesn't offer much in the way of "hold". Not in the usual hairspray sense of the word. If you follow the slogan and use a lil' dab, your hair will be shiny and good-smelling and easy to manage, but don't expect to be able to have a pompadour or 80s-cartoon-punk-rocker spikes. (If that's what you want then you should be using a pomade of some sort.) Using a big dab will allow you to comb just about any normal-looking hairstyle and your hair will stay put, and the smell will be even more pronounced.
So what does it smell like? To me it smells like a lotion that you would normally expect to put on your hands. (Looks and feels like it, too). So you will walk around smelling like you have a head full of lotion. Which is not neccessarily a bad thing.
Since the reason I started looking into these kinds of products was dandruff/dry-scalp, I was very interested to learn that there is a special version of Brylcreem that contains pyrithione zinc (the same thing as Head and Shoulders). Unfortunately I cannot find this at any store.
Because I couldn't find the dandruff formula, I actually stayed away from Brylcreem at the start of this project, and only went back to try it as an afterthought after having essentially solved the dandruff problem (oops.. spoiler!).
Friday, October 01, 2004
We do not validate
Wednesday, September 29, 2004
Testing Flickr mail
Tuesday, September 28, 2004
Places that viruses and trojans hide on start up
(Via BoingBoing) Damn, there are a lot of these!
Ted's Caving Page, with the story of his discovery in a local cave.
Via Slashdot. Haven't read the whole thing yet. Haven't read enough to be able to tell if this is a work of fiction or not. Great reading so far, though.
Update: I've read a little further... now I know the answer to my earlier speculations but I'm not going to let any spoilers out.
See also the Slashdot thread. And also an "updated" version of the story.
Update: I've read a little further... now I know the answer to my earlier speculations but I'm not going to let any spoilers out.
See also the Slashdot thread. And also an "updated" version of the story.
Rainbow - Twangers Clip
Is this real?
Monday, September 27, 2004
Netscape favicons
The "Netscape (Communications|Commerce|Enterprise) Server" is a product that as far as I know, no longer exists under that name. Long since rolled up into iPlanet and now SunOne. But I still run into sites that inexplicably have the Netscape logo as their favicon, in spite of having no connection to Netscape/AOL/Whatever. This apparently because they are still using Netscape Server, and it comes with the Netscape favicon by default.
Prime example: The Toronto Star, which also happened to be linked from Slashdot today.
For a long time, the U.S. House was sporting the "N" , but recently (as in just this past month) they seem to have finally come up with a favicon of their own.
Meanwhile, the U.S. Senate appears to have the Sun logo.
Prime example: The Toronto Star, which also happened to be linked from Slashdot today.
For a long time, the U.S. House was sporting the "N" , but recently (as in just this past month) they seem to have finally come up with a favicon of their own.
Meanwhile, the U.S. Senate appears to have the Sun logo.
Friday, September 24, 2004
Oslo plans sewer safari park
(via Trebz.com)
"We will supply people with suits and let them paddle a rubber raft through the sewer system. Also we have now bought an amphibious vehicle that can drive in the tunnels. Making the sewer available for all is after all a way of giving us exposureWhile the idea of officially sanctioned sewer exploration is interesting, I also like the ads on this site. Railroad tours of Norway? Hell yeah! And cheese!
Ace of Spades HQ: FAQ: What is the Deal With the Cowbell?
Even if you've got dial-up, trust me, fellas-- you're gonna want that cowbell.
Thursday, September 23, 2004
Tutti i modelli del Commodore 64 / All C64 models
More variations on the C64 than I ever imagined.. check out the portable/luggable SX64.
Retro hair products, pt.2: Vaseline Hair Tonic
Note that in spite of the "Vaseline" name this product does not contain petroleum jelly. It is instead plain old mineral oil (henceforth abbreviated POMO) with some "fragrance" added. The fragrance can only be described as smelling like the 1940's. If you thought Old Spice smelled dated, you ain't smelled nothing yet.
Vaseline Hair Tonic goes way back. Google for it, and most of the hits are for people buying/selling/discussing collectible advertising. I'm not sure when it was introduced, but it was definately pre-WWII.
The effect of putting mineral oil in your hair is pretty much what you'd expect. You know how if you go a long time without washing your hair, your natural body oil (sebum, I think its called) eventually builds up and makes the hair greasy to the touch (well, that happens to some people anyway)? A moderate amount of Vaseline Hair Tonic is basically a way to achieve that oiliness instantly, allowing you to wash your hair everyday and still look like you didn't. In larger amounts it is really shiny, too. It basically never dries out, either. All day long your hair will be slick and slimy. And so will your scalp, which is exactly what I wanted from this product. Another advantage is, if for any reason you ever want to get some mineral oil on your hands, you can just run them through your hair.
There are two main disadvantages. One is that if you have a bald spot like me, be extra careful about going out into the sun. POMO is (in)famous for its ability to act like a magnifying glass for the UV rays and really fry your skin. (cf. the way a lot of women use baby oil, or at least used to before people found out about skin cancer).
The other drawback to this product is that it provides almost no 'hold'. It's pure slickness without the control that one normally associates with products such as creams and pomades. If you want the shine and the smell of Vaseline Hair Tonic but also want to be able to keep your hair in place like a 50's TV dad, you need to use it in conjunction with something else. (I think this is what Elvis did, btw)
Petroleum Jelly was apparently the adjunct of choice in the 50's and still works pretty good for this now. See also the comments about getting it on your hands, too. A lot of the more complicated hair products actually are based on a mixture of POMO and PJ, so this is really like rolling your own custom hair gel and letting you control the relative amounts yourself.
(Side note: petroleum jelly is apparently the real "greasy kid stuff" of the 50's. It's what young guys would put in their hair when they needed lots of cheap goop and couldn't afford pomade. Plain PJ offers plenty of hold (not as much as wax) but very little shine and it of course smells like... well, PJ. There is also a product called Tres Flores, apparently aimed at hispanic men, which consists of PJ and very strong cologne. My wife would probably kick me out of the house for using it).
Vaseline Hair Tonic goes way back. Google for it, and most of the hits are for people buying/selling/discussing collectible advertising. I'm not sure when it was introduced, but it was definately pre-WWII.
The effect of putting mineral oil in your hair is pretty much what you'd expect. You know how if you go a long time without washing your hair, your natural body oil (sebum, I think its called) eventually builds up and makes the hair greasy to the touch (well, that happens to some people anyway)? A moderate amount of Vaseline Hair Tonic is basically a way to achieve that oiliness instantly, allowing you to wash your hair everyday and still look like you didn't. In larger amounts it is really shiny, too. It basically never dries out, either. All day long your hair will be slick and slimy. And so will your scalp, which is exactly what I wanted from this product. Another advantage is, if for any reason you ever want to get some mineral oil on your hands, you can just run them through your hair.
There are two main disadvantages. One is that if you have a bald spot like me, be extra careful about going out into the sun. POMO is (in)famous for its ability to act like a magnifying glass for the UV rays and really fry your skin. (cf. the way a lot of women use baby oil, or at least used to before people found out about skin cancer).
The other drawback to this product is that it provides almost no 'hold'. It's pure slickness without the control that one normally associates with products such as creams and pomades. If you want the shine and the smell of Vaseline Hair Tonic but also want to be able to keep your hair in place like a 50's TV dad, you need to use it in conjunction with something else. (I think this is what Elvis did, btw)
Petroleum Jelly was apparently the adjunct of choice in the 50's and still works pretty good for this now. See also the comments about getting it on your hands, too. A lot of the more complicated hair products actually are based on a mixture of POMO and PJ, so this is really like rolling your own custom hair gel and letting you control the relative amounts yourself.
(Side note: petroleum jelly is apparently the real "greasy kid stuff" of the 50's. It's what young guys would put in their hair when they needed lots of cheap goop and couldn't afford pomade. Plain PJ offers plenty of hold (not as much as wax) but very little shine and it of course smells like... well, PJ. There is also a product called Tres Flores, apparently aimed at hispanic men, which consists of PJ and very strong cologne. My wife would probably kick me out of the house for using it).
Retro hair products, pt.1: background
This post begins an ongoing series on seriously old-sk00l mens' hair care products. The background is that I have suffered from either dry scalp or outright dandruff for a very long time. Dandruff shampoo didn't help. Prescription-strength dandruff shampoo didn't help. Bizarre, scary, steroid-containing substances only helped temporarily - when the prescription ran out, the dandruff came back.
In utter desperation I decided to deal with it the same way I deal with dry skin elsewhere - keep it good and greased up! I have some patches of skin that are so dry and flaky the only thing I can do with them is to keep lotion (especially Eucerin) on them 24/7. So I decided to try the same thing with my hair.
And let me tell you, for a nice, oily scalp there is nothing like the mid-20th-century hair products. Before the "dry look" came along and ruined everything. Most of these are still available. Look in the "mens hair" section of any drugstore right next to the Grecian Formula and such you will find things you probably didn't know they still sold. Creams, tonics, pomades of every persuasion. (Not to mention the shaving brushes and soap cakes... hmm, cake) Every Walgreens and CVS is slightly different, too, so there are plenty of opportunities to explore.
In utter desperation I decided to deal with it the same way I deal with dry skin elsewhere - keep it good and greased up! I have some patches of skin that are so dry and flaky the only thing I can do with them is to keep lotion (especially Eucerin) on them 24/7. So I decided to try the same thing with my hair.
And let me tell you, for a nice, oily scalp there is nothing like the mid-20th-century hair products. Before the "dry look" came along and ruined everything. Most of these are still available. Look in the "mens hair" section of any drugstore right next to the Grecian Formula and such you will find things you probably didn't know they still sold. Creams, tonics, pomades of every persuasion. (Not to mention the shaving brushes and soap cakes... hmm, cake) Every Walgreens and CVS is slightly different, too, so there are plenty of opportunities to explore.
Tuesday, September 21, 2004
CSS for ill-behaved handheld devices
My PCS phone's browser is either over-confident or just plain ignorant. Either thinks that it is a "screen" browser rather than a handheld device, or it is totally unaware of media types at all. In any case, it tries to interpret all CSS rules, even those explicitly set off inside "@media screen" blocks. It foolishly obeys CSS positioning, even when this results in things being positioned off of the right edge of the screen in no-man's land. And it really is no-man's land, because there is no horizontal scrolling.
Today the way to deal with devices like this finally hit me like a ton of bricks: import a "@media handheld" stylesheet after the "screen" stylesheet. Correctly behaving graphical browsers will ignore this stylesheet. Correctly behaving handhelds will see it and use. The beauty is, ill-behaved handhelds like mine will use it to! Just use this stylesheet to explicitly override all those positioning rules that the phone shouldn't have seen anyway.
Today the way to deal with devices like this finally hit me like a ton of bricks: import a "@media handheld" stylesheet after the "screen" stylesheet. Correctly behaving graphical browsers will ignore this stylesheet. Correctly behaving handhelds will see it and use. The beauty is, ill-behaved handhelds like mine will use it to! Just use this stylesheet to explicitly override all those positioning rules that the phone shouldn't have seen anyway.
Viola! No more positioning!
@media handheld {
#container { position: static; }
#sidebar { position: static; }
#main { position: static; }
}
Blocks In Java
Really good stuff.
Monday, September 20, 2004
FRB: Check Clearing for the 21st Century Act Home
The Check Clearing for the 21st Century Act (Check 21) was signed into law on October 28, 2003, and will become effective on October 28, 2004. Check 21 is designed to foster innovation in the payments system and to enhance its efficiency by reducing some of the legal impediments to check truncation.
Friday, September 17, 2004
What I Dreamed Last Night
A robot, looking very much like Bender from Futurama, fell into a ditch and died. (Stopped working, or whatever it is that robots do)
The robot's body split right down the middle, and opened like a clamshell. Smoke came out. The smoke separated into two "ghosts", both of which initially just looked like smoky sillouettes of the original robot.
The ghosts started wrestling. Slowly but surely one of them gained an advantage, but the fight never ended.
Over the course of what I somehow perceived to be an extremely long period of time, the one who was constantly losing the fight looked less and less like a smoky ghost robot and more and more like Gollum.
The other one, the winner, looked more and more like... the devil. Not with horns and a tail and a pitchfork and all that, just a guy with a goatee and a little pointy mustache and a really evil grin on his face.
I am blogging this in the hopes that someone reading this will do it up in Flash.
The robot's body split right down the middle, and opened like a clamshell. Smoke came out. The smoke separated into two "ghosts", both of which initially just looked like smoky sillouettes of the original robot.
The ghosts started wrestling. Slowly but surely one of them gained an advantage, but the fight never ended.
Over the course of what I somehow perceived to be an extremely long period of time, the one who was constantly losing the fight looked less and less like a smoky ghost robot and more and more like Gollum.
The other one, the winner, looked more and more like... the devil. Not with horns and a tail and a pitchfork and all that, just a guy with a goatee and a little pointy mustache and a really evil grin on his face.
I am blogging this in the hopes that someone reading this will do it up in Flash.
My Crappy Ivan Pictures
Lindbergh Drive, east of Piedmont avenue. Traffic is basically sitting still. At this point I was sitting in the middle of water that was probably up to the bottom on the car. The vehicles seen in the picture are clear of the water, not only because they are SUVs but also because they are past the deep part.
Taken from the same location. A vehicle is totally hidden from view by the wall of water that splashes up all around it. Traffic going the opposite direction from me is moving quickly, compared to my direction. Several times I was splashed with muddy water that went all over the top of the car and the windshield.
Spaghetti Junction. The picture doesn't show this, but there was quite a lot of water pooling up on some of the lower levels.
Thursday, September 16, 2004
World Trade Center Remembrance Day
It's a little bit late for my only 9-11 post this year, but I just now noticed that the calendar I have on my wall indicates that September 11 is "World Trade Center Remembrance Day (US)".
As in_parentheses says:
Also, is "remembrance" even a word?
As in_parentheses says:
If your loved one died in the Pentagon or the plane over PA, though, I guess you're just screwed. No remembrance for you.
Also, is "remembrance" even a word?
A visual history of spam (and virus) email
This is pretty cool.
Wednesday, September 15, 2004
LincMad's Area Codes of the 1970s
The period from 1/1/66 to 11/4/82 - almost 17 years - with only one area code split, was by far the longest period of stability in the history of the North American Numbering Plan. Over 40 new area codes were added during 1997 alone.
Tuesday, September 14, 2004
Zild Application Server
Zild is an application server written in C. Not Java, not .NET. Plain old C. Apparently targeted at the embedded systems market.
I might have seen this on Slashdot, but I'm not sure.
Looking at the examples, it looks like a pretty nice use of Abstract Data Types. Everything that would be a class in Java is an ADT here. They even call them "classes" some of the time. Check out their list of header files, it is almost 1-to-1 equivalent ot the Servlet library. From this, it's obvious that this is all aimed at developers with Java experience, to try to make them feel at home.
Apparently "servlets" are compiled to shared libraries that use the extension ".clazz" instead of ".so", just so everybody knows that they are the equivalent of Java classes.
It doesn't look like they have an equivalent for EJB, though.
I might have seen this on Slashdot, but I'm not sure.
Looking at the examples, it looks like a pretty nice use of Abstract Data Types. Everything that would be a class in Java is an ADT here. They even call them "classes" some of the time. Check out their list of header files, it is almost 1-to-1 equivalent ot the Servlet library. From this, it's obvious that this is all aimed at developers with Java experience, to try to make them feel at home.
Apparently "servlets" are compiled to shared libraries that use the extension ".clazz" instead of ".so", just so everybody knows that they are the equivalent of Java classes.
It doesn't look like they have an equivalent for EJB, though.
Monday, September 13, 2004
92.9 Dave FM (see here) finally has a morning show. There goes the only commercial radio station that played actual music in the morning. This morning whrn I turned on the radio, I was subjected to the comedic banter of Barnes and Firfer. Which is Barnes from "Barnes, Leslie and Jimmy" on 99X, and Holly Firfer.
The Atlanta Radio Board is all lit up about it.
The Atlanta Radio Board is all lit up about it.
Friday, September 10, 2004
UmlAsCliffsNotes?
The "character maps" on the official Cliff's Notes website looks suspiciously like a variation of UML.
Two questions:
1. Which came first?
2. What does this add to the debate about UmlAsSketch vs UmlAsBlueprint ?
(Thanks to Scott)
Two questions:
1. Which came first?
2. What does this add to the debate about UmlAsSketch vs UmlAsBlueprint ?
(Thanks to Scott)
Mead Data UBIQ Terminal
Lexis-Nexis originally wanted these terminals look as different from typewriters as possible, since many lawyers (even today) think that typing is beneath them. Here's a picture of the result, which looks something like a cross between a microwave oven and an overgrown remote control.
(Thanks to Jim Martin)
(Thanks to Jim Martin)
Ooqa Ooqa
Ooqa Ooqa is an incredibly annoying new advertizing product by Unitied Virtualities that replaces (not adds to... replaces) all the browser's chrome with a "branded" Flash version.
For instance, try this in a Flash-enabled browser:
http://www.nypost.com/news/regionalnews/28331.htm
Actually it seems to only work in IE, even though I do in fact have the Flash plugin installed in Mozilla. One more reason to not use IE!
(Thanks, Scott)
For instance, try this in a Flash-enabled browser:
http://www.nypost.com/news/regionalnews/28331.htm
Actually it seems to only work in IE, even though I do in fact have the Flash plugin installed in Mozilla. One more reason to not use IE!
(Thanks, Scott)
Wednesday, September 08, 2004
Documentary hypothesis - Wikipedia, the free encyclopedia
The documentary hypothesis is a theory held by many historians that the five books of Moses (the Torah) are a combination of documents from different sources.
Documentary Hypothesis
This is just the first thing that a search for "documentary hypothesis" turns up. Probably more to come. This page includes the two different versions of the flood story in Genesis untangled from each other and presented side by side.
The Age of the Essay
You know I'm hard up for content when I have to parrot things from Slashdot two days in a row.
Tuesday, September 07, 2004
The Underground History of American Education - John Taylor Gatto
(via Slashdot. See review) Save to read later.
You thought the backwards masking on "Stairway" was something!
Am I the only person who ever stared at the clouds (smoke, flames, whatever) on the cover of the first Led Zeppelin album:
Until I saw this:
(Yes, I also see the same thing on other versions of the Hindeburg picture.. it's not limited to the LZ version. But I never noticed it anywhere else until after seeing it here.)
Until I saw this:
(Yes, I also see the same thing on other versions of the Hindeburg picture.. it's not limited to the LZ version. But I never noticed it anywhere else until after seeing it here.)
Friday, September 03, 2004
Remember when I expressed annoyance about co-workers who prefer meetings to email?
Well, the only thing more annoying is people who apparently don't trust the email system at all. If they need to tell you or ask you anything, they can't stand to just send an email and wait the 5 or 10 minutes it might take to get a reply. No, their impatience is such that they have to phone you.
When I was a desktop technician, I was used to getting paged all the time because I was usually away from my computer and it might be hours between email readings. Now that I'm a developer I sit at my desk all day long with Outlook running, and if anything I'm guilty of responding to e-mails too quickly. When the phone rings, I mentally equate that with really bad news, news so bad it can't wait for email.
But apparently everything is an emergency to some folks.
Well, the only thing more annoying is people who apparently don't trust the email system at all. If they need to tell you or ask you anything, they can't stand to just send an email and wait the 5 or 10 minutes it might take to get a reply. No, their impatience is such that they have to phone you.
When I was a desktop technician, I was used to getting paged all the time because I was usually away from my computer and it might be hours between email readings. Now that I'm a developer I sit at my desk all day long with Outlook running, and if anything I'm guilty of responding to e-mails too quickly. When the phone rings, I mentally equate that with really bad news, news so bad it can't wait for email.
But apparently everything is an emergency to some folks.
Google is dying
(via Cryptome)
See also: Is Google broken?
Google is dying. It broke sixteen months ago and hasn't been fixed. It looks to me as if pages that have been noted by the crawler cannot be indexed until some other indexed page gives up its docID number. Now that Google is a public company, stockholders and analysts should require that Google give a full accounting of their indexing problems, and what they are doing to fix the situation.
See also: Is Google broken?
Wednesday, September 01, 2004
Ads
The ads seen at the top of this page (if you're actually reading this with a web browser, that is) now pay me money when people click on them. We'll see how this goes. Back when MP3.com was still an advertise-your-indie-band service, I used to have some files on MP3.com that were supposed to earn money when people listened to them. I think I made like 1 cent in three years.
I Saw Her In The Anti War Demonstration
by Jens Lekman
If you can track down some MP3s of this Lekman guy, he sounds exactly like what would've happened if Morrissey had been born about 15 years earlier and been part of the summer of love.
you're looking for me in the demonstration
well I have already lost patience
and you might find me sitting by the pavement
or maybe not, 'cause I have shrunk
I fell in love with a punk and she took my breath
now there's nothing left
of blood enough to feed a family
well I just wanna feed Emily
with lukewarm English beer and vegan pancakes
I saw her in the anti war demonstration
it was a sweet sensation of love
ah...
love...
when I was sixteen I hung out with the kids who lacked it
the kind of punks that were born in leather jackets
the kind of punks who placed themselves in brackets
and she was one of them, back then she was somebody's girlfriend
and I was no one, I had nothing
and the skies, were clear blue skies
and her eyes, were clear blue eyes
and her thighs, were about the same size as mine
and we were walking in the anti war demonstration
it was a sweet sensation of love, of love
it was a sweet sensation of love
If you can track down some MP3s of this Lekman guy, he sounds exactly like what would've happened if Morrissey had been born about 15 years earlier and been part of the summer of love.
Tuesday, August 31, 2004
The Best Page In The Universe.
How the hell have I missed this site all this time? This is one of those blogs that when I happen to stumble across it, I am motivated to go through the entire archives.
Monday, August 30, 2004
Yahoo! Top Stories - Tree That Give Meat Instead Of Fruit!
Here's some good news that vegetarians can really sink their teeth into: Researchers have developed genetically engineered fruit trees that bear real meat!
Did they miss the fact that the same people who are vegetarians for the purposes of animal rights also tend to be opposed to genetically modified food of all kinds?
It's all worth while when you see the URL that Yahoo gave it, though:
http://entertainment.tv.yahoo.com/entnews/wwn/20030516/105309720008.html
(Yes, I know Ent is for Entertainment... but why is this in the entertainment section anyway?)
DLL Help Database
DLL Help exists to assist developers, system administrators, and other IT professionals who face file version conflicts with Microsoft software. Use DLL Help to identify which software installed a specific version of a DLL.
Saturday, August 28, 2004
Quaker Food? - Suite101.com
Quaker Oats have nothing to do with actual Quakers. But apparently the modern chocolate bar does.
Thursday, August 26, 2004
Are You Ready to Talk Money
If it's been a while since you were last in the market for a new job, then whatever you're assuming about pay negotiations is probably wrong.
Using MVC Pattern in Web Interactions
Work related, and long. But highly recommended by a co-worker.
See Also: Manageability - Open Source State Machines For User Interfaces Written In Java
See Also: Manageability - Open Source State Machines For User Interfaces Written In Java
Bigger or Better?
Developers are accustomed to think of things like CPU speed and memory capacity as real, physical quantities. When we write new software that requires more memory or a faster machine than the software of a few years ago, we really do have a mental picture that this is OK because our code now has a "bigger" room to play in.
But this is of course an illusion. Modern CPUs, memory chips, and hard drives are not bigger than their predecessors. The companies that make them are able to pack more instructions per second, more bits, more of everything into the same amount of space because people (and machines) have been hard at work optimizing the design of all these devices to make them more efficient.
In other words, they aren't bigger, they're better. What we software types think of as a question of quantity is actually one of quality.
We have the freedom today to do less optimization in our software because someone else is now doing ridiculously more optimization of the hardware level. I believe that optimization properly belongs down there, but that doesn't mean that those of us doing our jobs up above the abstraction ought to forget that it is an abstraction.
But this is of course an illusion. Modern CPUs, memory chips, and hard drives are not bigger than their predecessors. The companies that make them are able to pack more instructions per second, more bits, more of everything into the same amount of space because people (and machines) have been hard at work optimizing the design of all these devices to make them more efficient.
In other words, they aren't bigger, they're better. What we software types think of as a question of quantity is actually one of quality.
We have the freedom today to do less optimization in our software because someone else is now doing ridiculously more optimization of the hardware level. I believe that optimization properly belongs down there, but that doesn't mean that those of us doing our jobs up above the abstraction ought to forget that it is an abstraction.
Wednesday, August 25, 2004
Next Blog
If you're actually visiting this site at all and not just reading the feed, you've probably noticed that my kindly hosts have installed a "Next Blog" button at the top of this and every other blog. That means you can just sit there and keep hitting the button and seeing random blogs every time. I just tried it for about five minutes, and somehow it made me think of these lyrics:
Walked out this morning, don’t believe what I saw
Hundred billion bottles washed up on the shore
Seems I’m not alone at being alone
Hundred billion castaways, looking for a home
The Police, Message in a Bottle
How to use additional command-line switches that are not included in Outlook
(Microsoft Knowledge Base Article - 197180)
Every MS Office program seems to have a number of command-line options that are un-documented in the application's help files but which are explained in the knowledge base. These are the ones for Outlook.
Every MS Office program seems to have a number of command-line options that are un-documented in the application's help files but which are explained in the knowledge base. These are the ones for Outlook.
Disinfopedia - Disinfopedia
A collaborative project to produce a directory of public relations firms, think tanks, industry-funded organizations and industry-friendly experts that work to influence public opinion and public policy on behalf of corporations, governments and special interests.
golden era Missile command challenge
I shouldn't bother to blog stuff I saw on BoingBoing because everyone cool is probably reading it anyway. (Actually for a long time I was afraid to subscribe to BB in fear that I wouldn't have to read it all everyday.) But this is just too long, rambling, and historically relevant to not save a link here.
Tuesday, August 24, 2004
Fundamental gender?
Interesting discussion, from 1996, about a brief discussion of gender in the last pages of C.S. Lewi's Perelandra.
The Grammar of TV and Film
(via Crutcher)
Television and film use certain common conventions often referred to as the 'grammar' of these audiovisual media. This list includes some of the most important conventions for conveying meaning through particular camera and editing techniques (as well as some of the specialised vocabulary of film production).
Samedi Studios: Braindump
This could be what I've been looking for... a Crutcher apparently has a Blog, although apparently it's one of those multi-person blog things. Anybody who knows the Crutcher I'm talking about knows that his conversation style was always essentially blog-like.
AtariAge - 2600 Activision Patch Gallery
This gallery highlights the fabric patches that Activision offered for achieving high scores on their games. Contestants were instructed to photograph their TV with the high score showing and mail it in, and Activision would send back a patch.I earned a Starmaster patch when I was a kid. I think Activision was going through some tough times, presumably related to the video game "crash" that had taken place a couple of years before, because my patch came with a letter written with a blue ballpoint pen on notebook paper. Both this letter and the patch would probably be worth something on Ebay, but I have no idea where either of them are today.
The last I saw the patch, it was still on the v-neck velour shirt that I had asked my mother to sew it onto. I loved wearing those kinds of shirts because they looked (to me, at least) a lot like a Star Trek uniform. I also used to buy all kinds of NASA patches for those shirts.
When I was in college in the mid-90's I briefly decided to start wearing the v-neck velour shirts again. Unfortunately no one at that time seemed to be making such a thing for men. A female friend suggested I try shopping at a "big woman's" store. A few years later they came back "in" and you could get them at Old Navy, but of course the novelty was gone by then.
Historians rethink the war to end all wars.
While waves of revisionism and refinement have come and gone, something larger is at work now, and that is a tendency to view the war not as the end of everything but as just one more thing that happened. This publishing season brings us an exceptional round of new books on the subject, and it is possible to scent the first cool injections of historical embalming fluid at the edges of their pages.
Marching to November
Beginning in the 1980s, Democrats have delighted in scolding various Republicans as "war wimps"--public officials and think-tank types who advocate the use of military force and who did not themselves serve in the military.
On the kindest interpretation, the "war wimps" charge is based on a non sequitur, linking two things that have nothing to do with each other (military service as a young man, on the one hand, and sound judgment in geopolitical affairs, on the other). On a not-so-kind interpretation, it entails the repudiation of a crucial democratic principle: civilian control of the military. After all, if only men with military experience are justified in ordering other military men into combat, then national security has been ceded to an unsupervised warrior class--something that Democrats used to warn us against.
Monday, August 23, 2004
The Oxford Bottled Beer Database
The Oxford Bottled Beer Database is a constantly growing resource for beer lovers worldwide. There are currently 2101 beers listed, from 68 different countries. We aim to provide tasting notes, factual information about the beers and photographs.
Thursday, August 19, 2004
The Guestbar: Rudy Rucker
Working with computers isn’t quite like biting the head off a live chicken, but it’s close. The thing is, computers are somewhat repellent. Computer cases are a dull, ugly shade of beige. Computers are the tools of telemarketers, dot-commers, oppressive governments, and digital snoops. Many of us have office jobs where using a computer is part of the daily grind. The damned things never work like you expect them to for more than a few weeks at a time. You have to constantly upgrade their software and hardware. They flicker and they make an ugly noise. A lot of us lost money on computer stocks in the Dot Com Bubble. And so on.
Who but a chicken-head-biting geek could stand to spend much time with such machines?. What could less life-affirming, mind-manifesting, or philosophical than computers? Ah, but if you look, the secrets of life float just beneath the pulsing screen.
BAI CASH MANAGEMENT BALANCE REPORTING CODES - VERSION 2
It looks like this web version of the standard that probably plays some role in your online bank statements was generated by OCR'ing a paper version, and then never looked at by human eyes again.
190,SUMMARY,CR,TOTAL INCOMING HONEY TRANSFERS
191,DETAIL,CR,INDIVIDUAL INCOMING INTERNAL HONEY TRANSFER
Tuesday, August 17, 2004
I am the true inventor of the Buddy List
As I've stated before on this blog, I invented the Buddy List before AOL. I'm reposting this now to see if it stirs up any comments.
Trawling the web for emerging cyber-communities
Abstract: The web harbors a large number of communities -- groups of content-creators sharing a common interest -- each of which manifests itself as a set of interlinked web pages. Newgroups and commercial web directories together contain of the order of 20000 such communities; our particular interest here is on emerging communities -- those that have little or no representation in such fora. The subject of this paper is the systematic enumeration of over 100,000 such emerging communities from a web crawl: we call our process trawling. We motivate a graph-theoretic approach to locating such communities, and describe the algorithms, and the algorithmic engineering necessary to find structures that subscribe to this notion, the challenges in handling such a huge data set, and the results of our experiment.
Monday, August 16, 2004
Something Awful - The Worst Rock Stars Ever
The rock stars listed here have earned their places in the annals of crappy rock star lore for various reasons; some are monumental failures, some are unforgettable jerks, and some have seemingly dedicated their lives to destroying any possibility that the words “rock and roll” will ever be associated with any sort of artistry or merit.
Card Games
(via Novarese) Lots of good stuff here. Hours to waste reading.
Luncheon of the Boating Party
Pierre-Auguste Renoir (1841-1919)
Luncheon of the Boating Party, 1880-1881
Oil on canvas
Ever since the first time I saw this painting, I wondered "what's the deal with these guys in their undershirts?" Everybody else is wearing long sleeves, coats and ties, etc., but here are these two lounging about in their straw hats and wife-beaters.
The following doesn't really make them stand out any more than they already do, it's just an excuse for me to mess around in the Gimp:
One can't help but envy these fellows, who also do things like sitting backwards on chairs while talking to women with small dogs. They strut their comparatively-shirtless stuff with reckless abandon. The one in the left seems to be looking off into space at no one in particular, or just plain posing for the "camera".
Finally, after wondering about this for about 20 years, this page gives some explanations about these people, who were actual friends of the artist.
Luncheon of the Boating Party, 1880-1881
Oil on canvas
Ever since the first time I saw this painting, I wondered "what's the deal with these guys in their undershirts?" Everybody else is wearing long sleeves, coats and ties, etc., but here are these two lounging about in their straw hats and wife-beaters.
The following doesn't really make them stand out any more than they already do, it's just an excuse for me to mess around in the Gimp:
One can't help but envy these fellows, who also do things like sitting backwards on chairs while talking to women with small dogs. They strut their comparatively-shirtless stuff with reckless abandon. The one in the left seems to be looking off into space at no one in particular, or just plain posing for the "camera".
Finally, after wondering about this for about 20 years, this page gives some explanations about these people, who were actual friends of the artist.
E-Book: The Adventures of a Sci-Phi Pilot
A Sci-Phi Pilot is one who explores the realm between the precarious heights of philosophy and the cold, hard reality of science below.
The Adventures of a Sci-Phi Pilot is a growing collection of interrelated theories and anecdotes gathered during the many flights of mind by the author.
Mr Appliance | Appliance Repair, Service, Kitchen, Franchise
Online, apparently professional, repair manual for all kinds of appliances.
Frozen in Time: Convenience and the Environment.
In 1970 only three percent of the UK population owned a freezer. Twenty-five years later, the freezer had become an accepted, if not crucial element in the fabric of modern kitchens and the ordering of everyday lives. This paper examines the creeping "normalisation" of the freezer and the ways of life which go with it.I wonder what the equivalent statistics look like for the U.S.
Slashdot | Federal Reserve To Use Internet For Money Transfer
A rare slashdot article that actually has some bearing on what I do for a living. Read later.
Saturday, August 14, 2004
Appliance411 FAQ: How does a Frost Free Refrigerator's Defrost System Work?
Nice use of animated gifs.
Friday, August 13, 2004
Bush Soundboard
via Slacktivist.
What's the strangest this you ever found in the desk drawer when you moved into a new office/cubicle/etc?
I found a can of beets:
I found a can of beets:
Flight of the Rat
Spread the word aroundMy wife says these are the absolute worst lyrics, ever. I don't care, the song still rocks.
The rat is leaving town
The message is a song
The misery is gone
Once I had a dream
To sing before the queen
She didn't want to know
She wouldn't see the show
What a fright
I couldn't do it right
Oh what a night
Mystic demons fly
All about the sky
With memories of a clown
The saddest show in town
When I was seventeen
Me mother said to me
Be careful what you touch
You shouldn't take so much
I blew my mind
She was so kind
I could have cried
In my mind
I had to find
A kind of new way
Of being oh so cool
Like a blue blooded
Well studded
English fool
Speak about the past
Times are changing fast
Once I was so weak
I couldn't even speak
Shaking put a curse
Nothing could be worse
Walking through the door
Who could ask for more
Now I'm free
And I can see
And I can see
Spread the word around
The rat is leaving town
The message is a song
The misery is gone
Shaking out a curse
Nothing could be worse
Walking through the door
Who could ask for more
Now I'm free
And I can see
And I can see
Please stay away
New Slang
by The Shins
Note: this song was used in a MacDonald's ad that aired prominently during the 2002 winter Olympics, and is currently in ads for the movie Garden State.
Gold teeth and a curse for this town were all in my mouth.
Only, I don't know how they got out, dear.
Turn me back into the pet that I was when we met.
I was happier then with no mind-set.
And if you'd 'a took to me like
A gull takes to the wind.
Well, I'd 'a jumped from my tree
And I'd a danced like the king of the eyesores
And the rest of our lives would 'a fared well.
New slang when you notice the stripes, the dirt in your fries.
Hope it's right when you die, old and bony.
Dawn breaks like a bull through the hall,
Never should have called
But my head's to the wall and I'm lonely.
And if you'd 'a took to me like
A gull takes to the wind.
Well, I'd 'a jumped from my tree
And I'd a danced like the kind of the eyesores
And the rest of our lives would 'a fared well.
God speed all the bakers at dawn may they all cut their thumbs,
And bleed into their buns 'till they melt away.
I'm looking in on the good life I might be doomed never to find.
Without a trust or flaming fields am I too dumb to refine?
And if you'd 'a took to me like
Well I'd a danced like the queen of the eyesores
And the rest of our lives would 'a fared well.
Note: this song was used in a MacDonald's ad that aired prominently during the 2002 winter Olympics, and is currently in ads for the movie Garden State.