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.

Hmm, so far it seems to be a bit of a delemia. links-hacked can’t handle posting to LJ; links lacks many small features. ELinks has them all, except the GUI mode, because it’s forked from a really old version of Links lool

Today was really, the only chance I had to sleep… but like normal, I didn’t
get any rest this morning. Work on the otherhand, went fairly smooth. Came home
and got to record most of my thoughts (and designing a window manager) before
chow time. Later, I just crashed for a nap and woke up a few hours later.

Since then, I’ve been been experimenting with links / links-hacked / elinks
some more. Really, elinks is almost exactly what I want… except for the lack
of GUI support. links-hacked, hmm I’m not so sure about right now; I just don’t
see it’s “hacks” as a big enough improvement over links proper. The minimal
adjustments I would need to make to links 2.2, is working with it’s cookies,
user agent spoofing (well, not neccessary, but desired), and add a few hooks
here and there (text entries, key to open new window, etc). In links-hacked,
I’m not sure yet. links-hacked seems to have much more primitive text area
handling, and much like how links lacks a key to open a new window
(links-hacked also lacks it!), there is apparently no key to just open a new
blank tab. Like, what kind of idiot makes a keyboard command to close a tab,
but doesn’t make one for opening one? (at least, if there is, it sure ain’t
documented, and the ‘t’ command from elinks doesn’t work in links-hacked). I
suppose, I could always find a way to stick that in…

EDIT: done, it now opens new tab, hehe.

Now that was kind of cool, I’m wondering what open_in_new_tab()s second
parameter does, and why it always seems to get passed NULL as the 2nd
parameter. Sure enough, I checked the function defition again — and it doens’t
use it for jack, hahaha.

Tried out links-hacked, nice browser but I think I like links 2.2 better.

I downloaded links-hacked, had to make a few trivial changes to the source, and punch it into the face to make it obey –disable-backtrace as intended. Startup time was a bit slower then links, but stil a quick mover. Keybinds seem to be a bit more minimalist, text fields improved visually and tabbed support is present. I couldn’t get lua support to configure though, which is a shame because I really wanted to try it out.

Overall though, I think links 2.2 is a better browser. If no unexpected “gotchas” pop up, links may soon become my default browser on Dixie. +/- a few custom modifications, hehe 😉

It also gave me an idea, I could use links bookmark manger easy enough to simulate the GOTO URL behavior I want, and always munge together a converter between my bookmarks tool and the netscape format; or just get around to writing the appropirate backend, lol. Hmm, this is interesting xD

Now if I could just get this S.O.B. to allow me to customize keybindings without hitting the sources, and some cookie handling – and it would be perfecto.

Ahh, I’m really feeling much better now. Got up and had a bowl of cereal, good to be back to a healthy snack, even if I’m still up at night lol.

Been using links a lot for web browsing latly. During the big upgrades, heavy browsers like Opera 9 and Firefox3 were a bit to bulky with how much resources the portupgrade program throws ontop of the upgrade script (compared to using FreeBSDs built in tools); I also fouled up glib/gtk at one point, so links came in handy. It renders pages fairly well (but without CSS) and even can do images inline (could use better positioning, but hey it’s a simple browser lol). It also has the virtue of low dependencies: C library, standard libraries for compression & encryption, the standard image libraries (libtiff, libjpeg, libpng), and a small subset of X11 libraries.

The worst thing I can say about links, is it lacks tabbed browsing; other wise I think I would use it everywhere I can lol. It’s rending of webpages could be better but the primary problem it has is CSS support, while Lynx renders webpages as if there was no CSS, and as if it was made for all presentation and layout moved into a stylesheet. That’s the worst thing about Lynx ^_^.

If I could get the experimental JavaScript enabled to see how stable it is, combined with the fact that Links renders web pages very well for such a browser (damn good actually). All I would have to do is patch in a few hooks to allow the stuff I want, wherever links doesn’t provide it. (Easy enough, I know C but don’t know my way around the code base).

What I really should do, is check out Links Hacked, which adds tabbed browsing (yay!) and scripting in Lua. I don’t know Lua, but I could learn it swiftly with good cause. Hmm…. xD