obhack#1: music recording software used slightly different clock timing
for sound playback and recording, resulting in timing errors between
tracks after a minute or so. known bug, bought different adaptor, but
wanted to keep already recorded tracks. Used Audacity to slightly
adjust the timing on an exported track (after experimenting to find out
what the timing error was), then re-imported the modified track for
accurate playback.
obhack#2: using wire-lock pliers to create twisted cables (if anyone's
ever seen wire-lock pliers you know what I'm talking about).
obhack#3: use external IDE/ATA to USB 2.0 adaptor to wipe ancient hard
drives before toss/recycle. (Also good for data recovery)
obhack#4: using white LEDs instead of light bulbs in "lights up"
decorative stuff (mini-fountain, fiber optic lamp). I think the devices
were designed so the bulbs would burn out a lot, and they're usually
hard to find special order bulbs. High-brightness white LEDs are so
cheap nowadays that there's no reason NOT to do this except the effort
it takes to 'hack up' the mount and maybe insert a limiting resistor,
particularly for 12VAC devices. Light may not be omnidirectional, but
you can always use extra LEDs to make that happen. Won't work with
things like lava lamps that need the heat.
ob-gamer-hack: item creation in 'Star Ocean TLH', use synth with
Sacrificial Dolls to make 'bottom stats' disappear off of an item.
Multiple synths with Sacr. dolls can isolate a single stat, synth with
weapon or armor to get rid of the 'disappears after incap' stat from the
doll. Makes it possible to create weapons, etc. that amplify money by
up to 160%, or experience by up to 80%. Grind monsters with special
weapons and neck/wrist items to multiply experience by ~5 for each
battle, or money by even more. With the right monsters, you can max out
your experience points in a few of hours of play.
So you use a bunch up at one time? :^)
I posted here about a week and half ago (message-id
<eli$11032...@qz.little-neck.ny.us>), but I'm not sure if it ever made
it off-site. I didn't see it at google groups.
> obhack#3: use external IDE/ATA to USB 2.0 adaptor to wipe ancient hard
> drives before toss/recycle. (Also good for data recovery)
I take out and store my harddrives at least a year or so after I think
I'm done with them. Then I disassemble.
> obhack#4: using white LEDs instead of light bulbs in "lights up"
> decorative stuff (mini-fountain, fiber optic lamp). I think the devices
> were designed so the bulbs would burn out a lot, and they're usually
> hard to find special order bulbs.
I doubt the design considered the life of the bulb at all. I stocked up
on mini-christmas tree lights of the white LED variety last December for
some LED projects I have in mind.
ObHack:
I found myself from time to time wanting to run something after a
particular time and not wanting to trust an 'at' job to do it since
environment tends to be different in at, and for a one-off you don't
necessarily want to be that careful in checking those things. So:
"waituntil" (below) was written. Sample scenario: automatic updates
of foo are broken and I'm in the process of fixing it. But over the
weekend when I'm not working on it, let's have it update.
$ script fooupdate.out
SCRIPT> waituntil 20110402 1000; echo Saturday run ; fooupdate ; \
waituntil 20110403 1000; echo Sunday run ; fooupdate
Obhack the second:
$ alias script
script=PS1='"SCRIPT> " script'
$
Elijah
------
#!/bin/sh
# waituntil YYYYMMDD HHMM [ longwaitsecs [ shortwaitsecs ] ]
# Poor man's at(1). Put at the start of a script to delay remainder
# until a particular date and time. Does not require any date math
# intelligence from date(1) or other sources.
# Runs even on very plain unixes.
# targetdate=20091024
# targettime=0200
long=3600 # 60 minutes, in seconds
short=900 # 15 minutes, in seconds
usage () {
echo "waituntil: usage:"
echo " waituntil YYYYMMDD HHMM [ longwaitsecs [ shortwaitsecs ] ]"
echo "Stop processing until after date and time."
echo "Longwait defaults to one hour, and is used until the day is reached."
echo "Shortwait defaults to a quarter hour and is used until the time is reached"
echo "Bug: do not specify a time less than shortwait from midnight."
exit 2;
}
case "$1" in 20??[01]???) targetdate="$1" ;;
*) echo "$0: First arg not in YYYYMMDD format"
usage ;;
esac
case "$2" in [012]?[0-5]?) targettime="$2" ;;
*) echo "$0: Second arg not in HHMM format"
usage ;;
esac
case "$3" in [1-9]*) long="$3" ;; esac
case "$4" in [1-9]*) short="$4" ;; esac
setdate () {
date=`date +%Y%m%d`
time=`date +%H%M`
}
setdate
if expr $date \> $targetdate >/dev/null ; then
echo "Target date has passed: now $date, target $targetdate"
exit 1
fi
while expr $date \< $targetdate >/dev/null ; do
sleep $long
setdate
done
echo Reached target date
while expr $time \< $targettime >/dev/null ; do
sleep $short
setdate
done
exit
[...]
> ObHack:
> I found myself from time to time wanting to run something after a
> particular time and not wanting to trust an 'at' job to do it since
> environment tends to be different in at, and for a one-off you don't
> necessarily want to be that careful in checking those things. So:
> "waituntil" (below) was written. Sample scenario: automatic updates
> of foo are broken and I'm in the process of fixing it. But over the
> weekend when I'm not working on it, let's have it update.
sleep $(( $(date -d "20110405 1200" +%s) - $(date +%s) )); echo Noon
probably not as portable as your stuff as it requires GNU date but
much, much shorter ;)
> #!/bin/sh
> # waituntil YYYYMMDD HHMM [ longwaitsecs [ shortwaitsecs ] ]
[...]
ObHack:
we are getting a lot of support tickets where we are required to run a
task for a list of parameters supplied in the ticket. A web interface
is being developed but until then, I'm using xclip to fetch whatever
is in clipboard, clean it up and fire a script for each param:
alias dstclip='for param in $(xclip -o |
grep/tr/awk/sed/etc); do dostuff $param; done'
so I can just select the list in the ticket and run dstclip in the
terminal, and viola...
Gnu date is not likely to be installed on Solaris. Nor is gnu date
a standalone package to isntall. My linux box offers me the nice
"sleep 16h" syntax, that I find pretty damn handy, but my work stuff
has to run in Solaris and three versions of Linux (old RedHat, modern
SUSE and Ubuntu), so I find myself not relying on particular versions
of many programs.
> alias dstclip='for param in $(xclip -o |
> grep/tr/awk/sed/etc); do dostuff $param; done'
xclip looks slightly handier than xsel, which I installed for
similar reasons cun-n-paste tricks.
ObHack: A couple of weeks ago the door was taken off the bathroom
while the floor was being replaced. This was done the easy way by
pulling the pins out of the hinges. Unfortunately one of the pins
bent during removal. When I put it back, the pin wouldn't go all
the way in, and got stuck. Then the door was very stiff. People
forcing it open and shut for a few days made the pin bend more. I
purchased a new pin for it from a hardware store (set of three for
four bucks) but the new pins are just slightly too large. They
look to the eye to be the same size, but won't slide in. I looked
through my drawers of parts and found a bolt that slides in nicely,
so I put that in place for now.
Elijah
------
learned a lot about the craziness that is the X clipboard when finding xsel