Now Reading
A Pastime Coding Biography @ marginalia.nu

A Pastime Coding Biography @ marginalia.nu

2023-12-30 06:10:12

This can be a little bit of a retrospective of each venture I’ve labored on, so far as I keep in mind them. I’ve tried to unearth any artifacts that stay.

Removed from all the things is flattering and resounding success, however then once more, possibly that’s good. There are undoubtedly patterns within the issues that
didn’t pan out.

I used to be undoubtedly programming stuff, however I don’t assume it ever amounted to something tangible. It was extra like enjoying home,
I constructed GUIs that appeared like actual functions however didn’t actually do something however look cool to me. Actual hackertyper vibes.
This was in Java, Delphi and VB script largely. I additionally constructed a bunch of internet sites on geocities and angelfire. That is undoubtedly
way back to 1999. I did some QBASIC stuff even earlier, like primary textual content based mostly video games and drawing circles and stuff.

I spent a variety of time in highschool exploring Linux. I used slackware, then gentoo. Ripped these distros aside to see how
they labored. At one level I ran Slackware with all of the init scripts stripped all the way down to a minimal, booted in a short time however then
I needed to mount partitions, run modprobe instructions and arrange community interfaces by hand. On reflection, I’m unsure why I assumed
this was a good suggestion.

I lived within the terminal, in blackbox, in vim, in IRC, in man pages and shell scripts.

Pop3Share [C]

The earliest venture I keep in mind ending was a wierd file-sharing software that used the POP3 (electronic mail inbox) protocol.
The applying would allow you to create a pop3 server that uncovered recordsdata in a listing on the host system as if they had been emails,
so an electronic mail consumer may obtain them. Doing this with “massive” recordsdata like 100 MB+ would crash many
electronic mail shoppers.

This was preceded by discovering the RFC1939 for POP3, and with nice fascination
checking my ISP-provided electronic mail inbox with telnet.

The applying was largely an excuse to play with sockets and fork(). I’m unsure I ever thought there was a lot want for
a pop3 file sharing program.

I’m pretty sure Beej’es famous network guide
was what I used to be following when doing this. This was in-built C, and I keep in mind spending an awesome period of time twiddling with linked
lists to get the “excellent” implementation. I used to be additionally proud my program had reached a gargantuan 5000 traces, felt like rather a lot on the
time, and it had reached this aim with out imploding underneath my dangerous coding practices.

My “stack” at this level and for a number of years ahead consisted of C and Linux syscalls.

This will need to have been in 2003-2004, since I undoubtedly constructed this someday early in highschool. The sources are misplaced to the mists
of time, however I discovered a single reference on this Japanese web site.

Community Chat Program [C and Java]

Emboldened by the “success” with pop3share, I doubled down on the Beej information and constructed a gaggle chat app.

First in C after which in Java. It used UDP broadcast to speak on to different shoppers on the identical subnet, a lot to
the chagrin of the sysadmins at college. The C model had a little bit of an ‘irssi’ GUI that I rendered straight with
ANSI escape codes.

I don’t assume I ever printed the sources, but it surely was all very primary and advert hoc.

I additionally posted asking silly questions on C in damaged English a number of occasions on comp.lang.c on this interval.
These used to indicate up in search engines like google and yahoo, however I assume no search engine indexes usenet archives anymore.

On this time I feel I used to be very fascinated with piercing the veil and discovering extra about how know-how labored. With the ability to
inform the terminal to do stuff like transfer the cursor by outputting secret sequences of characters was so up my alley.

? A BASIC interpreter (?C?) ?

(for some unfastened definition of BASIC) – don’t understand how far I acquired, however I keep in mind being impressed I used to be capable of parse the syntax
utilizing a really naive parser.

?Minor sport initiatives [C++; SDL]?

(Nothing stays)

Software program Synthesizer [C++; SDL]

At this level I used to be bored in math class and enjoying with a graphing calculator, resulting in discovering a number of Fourier series.
Utilizing sure guidelines and choose coefficients, you would add a number of sine waves to get a sq. wave, or a triangle wave. I used to be curious to learn the way such waves sounded.

This led right into a detour the place I constructed a software program synthesizer. I didn’t actually have anybody to ask how to do that, and didn’t have the vocabulary to search out
sources at my stage of understanding of music (which was principally nonexistent), so I had to determine a lot of the stuff out alone. The synthesizer
both wrote on to the /dev/dsp [OSS] gadget, or wrote uncooked wave information to a file. It captured keyboard inputs by way of a SDL window.

I finally discovered wiki articles on a number of filters I used to be capable of perceive and implement. It used a declarative configuration language,
all the things appeared a bit like a C struct definition. It was able to composing a number of wave varieties, and had envelope shaping in accordance with some
ADSR-scheme.

I studied physics, however lots of the courses had been fairly simple so I had a variety of time to work on pastime coding.

Software program 3D rendering [C or C++; SDL]

One of many first courses for engineering college students at college was linear algebra, and I took to it as I shortly realized the functions in 3D rendering. I constructed a really primary
spaceship simulator. Like Descent, besides each object within the universe is a rectangle. By no means earlier than or since have I fairly crushed an examination fairly like that Linear Algebra examination. No code survives.

? A bunch of fractal rendering stuff ? [C]

This is able to have been after Linear Algebra, since I’m doing 4D rotation matrices. I dug up the sources a number of years in the past. I don’t keep in mind a lot of this, however this is among the outcomes
re-rendered in 2021. This inscrutable C++ code survives.

Tunguska [C++; 2008-2011]

https://tunguska.sourceforge.net/

https://github.com/vlofgren/tunguska

The subsequent rabbit gap was trinary computing. I feel I simply discovered it on wikipedia and have become fascinated. With a purpose to determine it out, I made a decision to
construct an emulator for a trinary pc, loosely based mostly on the 6502 instruction set. This acquired extremely out of hand and by the point I graduated from
college, the factor had an assembler, a small OS, an IDE and debugger written in GTK+, and a C compiler (for some very unfastened definition of C known as 3CC)
since you recognize, all the logic system is totally different.

Debugger
IDE. After all it has syntax highlighting 😀

Right here is Pong in trinary 6502 assembler: pong.asm

It’s humorous wanting again at this, I used to be very steeped in academia at the moment in my life, and a variety of the stuff I produced looks funny in consequence.

It was a enjoyable venture, if a bit, you recognize, Terry Davis. I did have a number of customers, largely in or from Russia, as trinary computing traditionally has been a analysis
curiosity within the Soviet Union. In the end I didn’t have the time and wished to maneuver on, and it’s been gathering bitrot and cobwebs since.

?? Extra DSP stuff ??

Was into constructing comfortable modems, Fourier transforms and stuff. Quite a lot of the identical concepts from the synthesizer, besides with undergraduate mathematical abilities reasonably than highschool -. No code survives.

[[ Aside; XKCD’s forums ]]

Right now, the now defunct XKCD boards had been one among my favourite watering holes, and its coding subforum was a improbable place to be for a younger programmer.
The ‘Coding: Fleeting Ideas’, an bazillion web page thread for informal dialogue was the place a variety of cool discussions occurred. It was frequented by some very
good folks, however was nonetheless welcoming and chill. It uncovered me to a variety of new concepts and undoubtedly made me step up my sport a number of notches. Talking of notches,
one factor I fondly keep in mind about this discussion board is when (the) Notch demoed a really early model of what would turn into Minecraft in one among its threads.

The lack of this discussion board is mourned. I glided by the deal with “You, sir, title?” for years earlier than anybody realized it was a pun.

A concatenative stack-based purposeful programming language [2009? C++]

Sure. All of the paradigms directly.

There was a variety of speak about purposeful programming, and in what was at this level time honored custom; to determine extra about how they work I made a decision
to create one among my very own. It was as little bit of a forth-meets-lisp factor. The concept was as cool because it was nebulous, however I simply didn’t have the expertise for
one of these work but. Though it had turn into a lot rarer for my initiatives to implode, the language type of fell aside underneath my very own incapacity to implement
a rubbish collector.

At this level I graduated, and acquired a full time job in software program. For a number of years I didn’t have time or vitality for any pastime initiatives. I did study quite a bit about working
on bigger initiatives within the meantime. This stuffed in a number of gaps I had about growth practices and software program structure that had been the reason for my software program implosions.

See Also

This isn’t supposed to be a resume, so I’m skipping any and all the things I’ve completed professionally, besides to say in a broad sense, I used to be engaged on excessive excessive reliability Java
functions in fintech a lot of the 2010s.

Gamedev stuff [C++/SDL; 2014-2015]

I did a bunch of gamedev initiatives. I used to be largely focused on determining how video games work, so I constructed the engine myself. Beneath is a video from after I was enjoying with a
Commander Eager-style sport.

Dabbled in Haskell [ 2015? ]

Ported Parsec-style monadic parser building to Java Generics as a shitpost entry for a hackathon at work. I sadly didn’t save the code.

I had a little bit of an Workplace House second and re-evaluated my relationship with workplace work. Took a sabbatical most of 2016. Didn’t produce a singular line of code. It was nice. Got here again and I’ve labored
32 hour weeks since. Explored different hobbies, which is nice. Don’t restrict your self to being a pc man. Simply be a man as an alternative.

This was type of a painful interval of my life, however I feel it was good. I got here out extra properly rounded and happier in consequence.

I used to be fairly disillusioned with programming at this level and for a number of years ahead, did contracting work for a number of years.

marginalia.nu [2019-]

(Some folks inform me 2016 was eight years in the past and 2019 was 5 years in the past. I reject this blatant misinformation.)

Some years for the reason that darkish night time of my soul, I used to be happier, however one thing was nonetheless lacking. Like an itch I couldn’t scratch, a quiet starvation that wasn’t ever sated.

I wanted to create.

I acquired a weblog up and operating on an previous Raspberry PI that had lingered in its field for years. It was in Swedish and didn’t actually have an viewers, however that wasn’t the purpose both. I used to be on
a philosophy bender at this level, and felt like I wanted to jot down down a few of the thoughts all these novel concepts had been stirring up. This in flip did type rekindle an previous flame, reminding
me of how enjoyable and rewarding programming could be. It jogged my memory that I used to run net companies for enjoyable (and it actually was enjoyable.)

So I began engaged on this… dunno, service mesh? A bunch of Java processes that talked to one another and did small duties. I had a climate forecast service,
a podcast aggregation service, a reddit fronted, and so forth. I constructed stuff I felt I wanted. I’d by no means actually completed that earlier than, as an alternative largely following my curiosity.
It wasn’t a lot for the enjoyable of constructing it, however simply to switch irritating companies I needed to put up with.

It’s an attention-grabbing factor although, as an skilled programmer, you’ll be able to simply construct one thing that solves an issue you might have. Makes you a bit like a wizard.

This marks a refined shift from exploring cool know-how to utilizing boring know-how (like Java) to discover attention-grabbing ideas.

memex.marginalia.nu [2019; Java]

I constructed a hybrid gemini/HTTP hypertext engine factor…? That is current sufficient for there to be a writeup.
Hypertext is cool and stays very slept on. In all probability one of many biggest improvements within the earlier century. Disgrace we’re paving it over with net functions,
when it could possibly be a lot extra.

encyclopedia.marginalia.nu [2021?; Java]

https://encyclopedia.marginalia.nu – this can be a revamped model.

One other hypertext exploration. I used to be within the nature of distraction in net design, and determined to construct a minimal-noise wikipedia mirror.

That is principally the first blog entry on the present web site, so to keep away from a biographical singularity; writing an infinite
play-by-play breakdown of enhancing an entry in about this weblog submit concerning the weblog submit I’m at the moment writing, I’ll terminate the method right here.

Source Link

What's Your Reaction?
Excited
0
Happy
0
In Love
0
Not Sure
0
Silly
0
View Comments (0)

Leave a Reply

Your email address will not be published.

2022 Blinking Robots.
WordPress by Doejo

Scroll To Top