Awhile back I stumbled over a macro program for Win32, but lost track of it; found it again today: http://www.autohotkey.com/

I’ve been missing such abilities under Win32, and ain’t about to swap my old PS/2 keyboard for one of them fancy G15s lol.

Flitations with /bin/ed

lately, I’ve been developing a strange affection for the old ed(1) text editor. Because tpsh defaults the value of EDITOR to ed on unix, and edit on windows; I’ve had to deal with ed quite a lot whilst working on my shells ‘fc’ built-in (fc is the command for listing and editing/re-executing commands through the shells history).

Of course once support for ENV was worked out, I changed it to ex >_>

atm I’m reading the ed tutorial in ed, via ssh to my OpenBSD machine; it actually makes a nice pager :-/. All in all, I don’t think I would take ed over vi for coding but it’s a rather interesting program; after starting vim it’s also possible to drop into extended ex mode with gQ, effectively giving a modernized line editor.

My interest in ed atm is for short editing tasks, the kind where vi and other screen editors are not often necessary for the task. Some times, I can’t help but wonder if I’m secretly older then my birth date suggests lol.

mmm.

lol@someproject

I don’t know what is more funny, reporting potential security errors to a project or looking at the even worse ‘solutions’ they cook up.

A few bytes of sentimentality

Found some information on my first computer today, and laughably a few Tandy 1000SX systems on eBay for chump change. I think mine was a SL; according to my current info, that would mean an Intel 8086 CPU. The best records I ever found on the Tandy family were 8088 based with various configurations of memory and floppy drives.

I was a little kid at the time, no one really used the Tandy for much; when I was older, I would spend afternoons loading games off the 5 1/2″ floppy disks. Ha, I still remember doing math material from the upper grades on that box, back in Kindergarten / first grade. Most of the software we got came from a local school supplies store, so it was largly educational lol.

Because of how much her son had improved in school using one, our aunt talked ma into getting my brother a computer. So ma went down to Radio Shack and voila: a 15 pound paper weight! My brother never really used it, so I used to tinker with it as a child, heh MS-DOS and I couldn’t even read yet :-/. Ok, so I’m was a strange kid ^_^. That Tandy 1000 had a single foppy drive, couple of empty expansion slots; colour monitor, joystick, (a) keyboard (to dream about), and a dot matrix printer. Oh man, I haven’t seen that computer-printout paper in years and years! it had this binder friendly stuff on the sides you could yank off, and the pages were attached in a continuous stream, so you had to tear off the page later. When I was older, i tried to read the things user manual and threw it up in the air: may as well had been written in binary of ancient greek.

When WebTV came out, I got my first exposure to the internet but the Tandy was still ‘it’ for computers here. By the time we upgraded to a Pentium around ’99 or 2000, I already knew my way around the world wide web thanks to WebTV. I didn’t really start getting into computers until around then, in the mid 2000s I finally started to geek out. I think if I ever found a Tandy or TRS-80 at a garage sale, I’d probably buy one: just to see if I could make it do anything useful.

I don’t know if I’ll always be into computers, but I think that I will always be a programmer in some form.

Yet Another Way To Hang Your Web Browser

Try copy/pasting ~4.5MB of data into a text area, then watch your CPU catch fire and the laptop overheat. If you have a decent browser or a cooling system, you might get as far as the form submission timing out ^_^,

Honestly, I could swear there is almost no complex software on this damn planet that does not f***ing suck!

Complex software that doesn’t suck: FreeBSD, OpenBSD, nvi, vim, GNU Screen, rxvt-unicode, GNU grep, nawk, ed, the better forms of emacs, gcc/g++, perl, fvwm2, but what else….. lol. There is more software that sucks then that doesn’t.

git rules, cvs drools

Hmm, after a using git for all of my stuffs these past few days…..

CVS can go rot in hell, someone actually wrote a real system 😉

As much as I try to keep my OpenBSD box lean & mean, git is fairly light on runtime dependencies:

Terry@vectra$ cat /var/db/pkg/git-1.5.6.4/+REQUIRING                            
libiconv-1.12
p5-Error-0.17009
curl-7.18.2
rsync-3.0.3

libiconv is required by other things I use, and I believe gettext depends on it, and a lot of stuff uses gettext lol (uh, almost everything). curl and rsync are also useful to have around, and rsync I actually would want installed anyway (just in case I need it someday). So really, there is no serious dependency issue from it, since OpenBSDs standard git package doesn’t include the TK gui tools like FreeBSDs does. TBH, although I usually keep tcl/tk on my development systems, I never use tcl or tk-bindings. And I really have no desire to use any git front ends, nor gitk/git-gui for that matter.

Using git after getting used to living with CVS for so long, I can’t help but wonder….. why the **** anyone uses CVS anymore. Even Subversion is easier to live with then CVS, but not always a fun thing to install/manage at times, ‘least it is well documented (and tirival for cvs users to pick up hehe).

git… simple, effective, fast, and not brain damaged.

A quick conversion from cvs to git

notes:

  • I store all files related to services under /srv, or provide symbolic links.
  • Personal files are stored in a CVSROOT of :ext:Terry@vectra:/srv/cvs/ and are filed under module ‘Terry’, for lack of a better name lol.
  • server is vectra, workstation is dixie; communication done via the Secure SHell protocol.
  • I don’t use graphical software for these kind of tasks. GUIs are available, but I don’t want them wasting my time
  • The contents of my personal CVS module will be stored in it’s own spot as ‘cvs-head’ for backup purposes: I have no plans of committing to CVS or merging stuff back into it.
  • Access git is more or less just me and occasionally root@hostname, but may be expanded later
OpenBSD server:
# su - root
...
# pkg_add git cvsps
...
# groupadd -g 2005 git
# cd /srv/
# mkdir git
# chmod 7755 git
if you want to lock down the CVS, go to the CVSROOT
and revoke write access on your modules files
e.g. chmod -R ugo-w fooproject
# cd git
# git cvsimport -ikv -d /srv/cvs -C cvs-head Terry
...
# mkdir Terry
# chmod 0750 Terry; chown Terry:git Terry
# su - Terry
$ cd /srv/git/Terry
$ git init
...
FreeBSD workstation:

$ su - root
# pkg_add -r git
# pw groupadd -n git -g 2005 -M Terry
# exit
$ git clone vectra:/srv/git/cvs-head /tmp/Terry
$ cd /tmp/Terry; mv * .* ~/
$ cd ~
$ git remote add origin vectra:/srv/git/Terry
$ git push origin master
...

In a little while, I’ll probably refine things. Originally, I used the old mv file.ext file.c-vN.M and (cd ..; tar cf – project | gzip -c > /tmp/project-N.M.tar && mv /tmp/project-N-M.tar ./project/backups/) style approaches to my stuffs. The first time I went into using a source code management / version control system for a project, I selected Subversion (also known as svn) and enjoyed it quite a lot. Later on, when I decided to start checking in my configuration files, well… I like to keep my OpenBSD box pretty lean & mean; thus I used what came in the base, which was cvs (concurrent versions system). Subversion and CVS are so much alike, that I could live with CVS very easily (after all, it’s just my config files and an occasional project). I prefer svn to cvs, but hey, I’m a cheap bastard!

I’ve been thinking over the merits of Subversion, Bazaar (bzr), and git for various projects. I generally ruled out Monotone on inputs from another programmer, and having a general lack of interest in it myself. I also considered Mercurial (also known as hg), but I’m more familiar with git then hg. One of my friends uses hg for submitting patches to Mozilla and what not, and there is a project I’m involved with that I feel would benefit from using bzr; but either of those would mean a dependency on Python. Despite my levels of fluency in Python, my file server doesn’t have need of a scripting language like Ruby or Python; because OpenBSD provides Perl, SED, and AWK. So for me, git is a smaller package and it is just as easy to choose to pickup git as it is bzr. My workstation will always have Python, but that’s because I write python code lol.

Several of my various micro-projects use git on my work station, because there is no real need to stick them in the CVS server – and I don’t like CVS or rcs enough to employ them for the task lol. I’ve also considered replacing cvs with git on my laptop, and using it to fire off final commits to the CVS server, but eh… fuck CVS.