About My Craft
...but initially, about me, me, me...
|
|
I'm just an earnest and [struggling to stay] humble programmer, a proud Indonesian, and constantly in love with the craft of programming. I spend 17 years of my youth in Balikpapan, East Kalimantan, a city popular in the province for its bustling commercial areas, large oil-refinery industries1, and the mostly undeveloped landscape up to the outskirts (back then. I don't know about it now, having left for so many years). |
Computer
My first inkling of what a computer is came through diddling with an Intel 386DX 33MHz CPU, armed only with the deceivingly-simple MS-DOS 3.6, in my elementary-school days. Because none in our family used it for anything other than running WordStar 4.0 or Lotus 1232 (the reason my father bought it in the first place), I practically got some freedom to explore the system and adapt it to suit my needs, which was not far from the realm of computer games.
Many games at that time, restricted by 386's real-mode of memory
addressing and MS-DOS's simple memory arrangement, must operate
within the lower 640KB memory area. The more peripheral you install,
the more driver you need to operate them, which means ever-dwindling
space for other memory-hungry apps unless you're able to move the
resident programs to the extended memory, above the sacred 640KB
area. I got acquainted with the mem utility, and figured
out how to force some TSRs doing time in EMS. So that's how I got my
very first computer proficiency at quite a young age, memory
optimizing, which I could still adapt to more contemporary
systems. I could strip off unused registry entries, unneeded
bits-and-pieces of the OS loaded to the memory, or later, remnants of
removed applications, from an installation of any MS operating system
and make it run faster and uses less RAM and disk space.
Along my lone journey with the 386DX 33MHz, or later, Pentium-I
100Mhz, there are countless events of self-inflicted data losses,
leading to lots of disk-reformatting/repartitioning, OS-reinstalling
and apps-reconfiguring boredom. So there you go, my other skill, a
rather forced acquaintance with system administration tasks.
Surprisingly, I could use all those experiences with DOS when dealing
with some variant of Unix, namely Mandrake Linux and FreeBSD, when I
and several co-perpetrators inadvertently fry several computer's
whole filesystems down to its Master Boot Record region, and had to
recover all of them for the many precious data contained within
(they're the properties of the organization where I worked, back
then). We managed to recover all 20GBs of data with a hardcore
use of Unix's fdisk and some hexdumps. It is, to this
day, one of my few terrifying moments of cuddling with boxens, and
also my proudest moments I could yap about anytime to anyone poor
enough to be present when nostalgia struck me.
In recent years, I started to introduce myself to the world of Unixes, not through Linux, sorry, but FreeBSD. A baroque piece of an app, FreeBSD is curiously simpler to use than DOS, but much more complex to manage, for me. Some nitty-gritty stuffs still eludes my comprehension up to this day, though. Oh yeah, I also recently managed to run the OS in my newer machines through both Bochs and VirtualPC, my mind's practically so into the wonderful operating system.
For the programming side, suffice it to say that I moved from (chronologically) batch programming in junior high school3, to programming in Object Pascal (Borland Delphi) in senior high school, through to C++, Java, Python, 80x86 assembly language and some other less-practically-used languages like Common Lisp and PHP, fairly smoothly. Systems programming in C/C++, and increasingly, 80x86 assembly are still my core proficiencies even though right now I rarely use them. Now, my interest is mainly in programming language design and compiler construction, still looking for unfilled niches where contribution in these areas will be worthwhile. Potency of free software (or open source) philosophy are yet to be discovered, especially in Indonesia; so many unexplored areas of interest. And I wish, and I wish, and I wish, I could just give any kind of contribution to this whole new and fresh kind of software development environment.
Experience with the many programming languages was, and still is, exciting and useful for me; varous paradigms and perspective to problem-solving embodied within the languages are so enriching, I urge you to just try out those interpreters or compilers for some obscure language lying around in your disk, the richness of experience with which can always be used practically. And the fun thing about programming is, there's no end to what one can do with one's tools with even a bit of imagination. And there are smarter hackers out there, keeps me burning with the desire to advance.
Art Bits
I also have some serendipitous (or disastrous, for my first volunteering effort) introduction to the world of graphic design, having the lucky chance to observe firsthand the works of some of the (IMHO) finest graphic artist in Yogyakarta. Afterwards, I managed to land some small contracts to design materials for posters, ballyhoos, t-shirts and many other printed media outside the voluntary ones. Guess I could say that I'm very proficient with a lot of software graphic tools and media-authoring applications, but in this field of work, technical proficiency doesn't mean much, and the sky's the limit4. Regarding print media, my whole bit of knowledge about book-typesetting came to a shocking turn when I learned about TeX, and later, LaTeX. I quickly try to master the typesetter-system, and grows to be fond of it. For vernacular documents, I could just use OpenOffice.org Writer like now. But for serious stuffs, I mostly fire up my plain text-editor and start banging out macros.
This Site
Now, having known a bit about me, you browse the site and wonder “Where the hell's all the s@$t this guy's bragging about?” Well, simply, the majority of this site is not for the bragging kind of stuffs. It will just contain items I perceive would somehow be benefiting for you, either for learning if you're a novice programmer, or actually use (if there's any such things, I'd be delighted). If none seems so, you'd give just as much public contribution by telling me as making it yourself.
About the rest of me, you can deduce it from my writings elsewhere. Anyway, I hope you enjoy what I have to give you here.
Best regards,
Adhi Hargo
1Balikpapan owes its initial development to these oil companies, especially Pertamina, a state-operated –and the only domestic oil company, where my father worked.
2For those much younger than me (gee, I'm old!), WS and Lotus123 to the late 80's was what MS-Word and MS-Excel was to the late 90's: the word processor and spreadsheet application.
3An unfortunate fact. There's not much advanced development tool in early 90's Balikpapan. I didn't even know what Pascal is, back then! I managed, though, to create a fairly complex user interface to some system utilities and my collection of games with it, a big .BAT kludge involving a lot of GOTOs and checking return values from applications.
4A slightly offmark transliteration of an Indonesian proverb, “di atas langit masih ada langit”, which better convey what I'm trying to say: when I say I'm good enough at something, most probably I'm not.
All contents of this site are made by me,
Adhi Hargo, unless noted otherwise.
Seluruh halaman dalam situs ini dibuat oleh Adhi Hargo,
kecuali orangnya bilang sebaliknya.