“Was isolated from 1999 to 2006 with a 486. Built my own late 80s OS”
imgur.com
imgur.com
However, there was some hackery you could do to get close to usable 32KB for your program, although I never did that. My tape drive never worked properly, so my programs were naturally very short…
When I graduated to a 286 (in the Pentium era), that was a pretty special moment. It had a 42MB HD!
After that a relocation routine took care of moving the ROM code to the upper portion of the RAM which left you with 48K of usable RAM in BASIC and 64K - the video mode you were using for assembler!
My first computer was a Laser 286 and I marveled at the power it had. Even the turbo button from 8->12 Mhz of course :)
Oh, and the video card that took 4 AA batteries to run...
Some motherboards from the 286 era used 4 AAs as the CMOS backup battery.
I remember going to downtown in bus with my brother to a game store, watching amazing games in catalogs and then going back to home with 40 floppy disks just to figure out that number 38 was broken and after lot of trips to the game store, that the game didn't work on my hardware.
I learned programming much later in a newer hardware, but I learned about files, directories, etc in this machine.
The thing I've found interesting is how she goes back and forth between the r-pi and the iPhone pretty seamlessly. I don't think she realizes that they're fundamentally similar devices. To her the iPhone is just a black box with some fun games on it, but the r-pi is a lot more like an adventure.
My parents were also poor, I learned BASIC without having access to a computer except for one hour a week at school, I didn't have my own computer until many years later, I was fixing other people's computers to earn money to get components for my computer, I didn't have access to internet until around 2000, so I was learning from outdated books. I sometimes wonder what would happen if I didn't have those limitations.
Anyway, Raspberry Pi is definitely the closest thing to the experience now. You boot up the default image and you have access to a lot of programming tools. You even get to peek/poke memory to access the GPIO pins, but you have to do it as root these days. :)
Only semi-kidding.
So we're teaching a bit of history along with some coding skills. Down the road we're going to add additional 'dialects' such as Apple LOGO, and Atari, Sinclair and Commodore BASICs, but the Apple II version will be out soon -- I'll be sure to mention it on here when we release it =)
More than half the kids I knew who had computers growing up just used them to play games - there was no experimenting with BASIC or anything else. It was a games console with a keyboard - that was it.
OF those who did program, I think many were forced in to getting 'better' because of the limitations. You generally couldn't say "just add another meg of ram to run this" - there really was only one configuration in many cases - you had to think of interesting ways to compact more info in to a program (compression, page out to disk, etc).
Yes, having a programming environment as the first thing you're greeted with probably did get many people involved, but the limitations also produced a mindset amongst many devs of learning how to do more with less.
FWIW, I work in Big Data and feel the same way :)
Hum, maybe I'm stretching a bit here.
The Coleco Adam: https://en.wikipedia.org/wiki/Coleco_Adam
I also had my first generative music experience with the Adam - POKEing numbers into various registers would trigger the waveform generators and if combined with various patterns/functions (sin, cos, and the like) would make some cool sequences.
It's what made me learn Linux, as it was so low-spec that Windows XP wouldn't run correctly on it. Slax was an excellent distribution, a Slackware-based Live CD that I forced to boot from the HDD despite it not really supporting it then. Prior to that I ran Damn Small Linux, and Windows 2000. No gaming for me, so I learned to build software instead!
20 years later I guarantee you my code reflects the ingrained thinking from those early days.
What was it like using it?
My career possibly started there but I was already infected by a text adventure that a grown up relative had made/adapted. (Or more specifically I was infected by the idea that you could write code and have the computer do stuff for you.)
If only my machine ran all those amazing games, I wouldn't have been a coder now ;-)
But don't get me started on using the switches to input the single bits over the console on the even older computer.
It's strange how consistently true this has been. I wonder how many games Notch plays, especially during his prime when he was making Minecraft.
While I played a bunch of games on it, they weren't games to play to death. Once I finished the levels of Loderunner, for example, it looped back to level 1, and I stopped playing it. The game instead was to figure out neat thing to do, then do it.
The comments on the reddit link are often uninformed, both the negative ones (few hobbyists of the era used source control) and the positive (the projects did not make real use of the hardware, and show no special 'knack' - I certainly am from that era but have no knack for the demoscene).
First, a 486 with 64K RAM is ridiculous as they typically had multiple megabytes of memory.
Second, he worked with that PC for 7 years and isn't quite confident of how much memory it had? This doesn't sound quite right either. I can clearly remember the amounts of RAM my first few PCs had, starting from 1999.
I'm close to someone who I've been watching slowly discover their passion for programming over the last six months or so. They never realized they'd care so much, or be any good at it. I've been giving consistent positive reinforcement, and I dread the day that they roll out their first real achievement to the masses. They might just throw their hands up in the air and give up entirely, judging by how people usually act.
One, nobody's forced to share their project/efforts on the Internet, which is essentially the entire planet, all of humanity, 24x7 for all the rest of time (info wants to live forever, etc.) We are all free to keep our things private, off-line, just among friends, etc. You're free to approach people in real life you know for feedback, tips, encouragement. They're more likely to be polite, and also you're not asking something of a total stranger.
Second, there's been a cultural change that a lot of younger people or newbs may not be aware of. For folks of the pre-Internet, "first with computers" generation, that's precisely the standard operating environment when we we learning, just starting out, taking those early baby steps. When we were first scribbling out our first programs, however naive or full of bugs or flaws, we didn't immediately go push it in the faces of millions of strangers across the world (ala Show HN, GitHub, blogs, etc), a good portion of whom would be professionals alot further along, and say "omg look at this isn't it amazing I'm a hacker now please hire me k thx" -- we couldn't because the Interent didn't really exist and most of these modern ways of publishing and sharing didn't exist. So most of that early crude, naive, sometimes embarassing stage was done in private, off-line, or only among friends or teachers known personally. Today we have the equivalent of proud (and healthily, voluntarily deluded) parents posting their kindegartener's first crayon house-and-trees-and-sun drawings out onto blogs, GitHub, HN, Reddit, YouTube, etc and then being shocked or having their feelings hurt when others aren't as eaually blown away as them, and in some cases critical or dismissive. Its just the nature of the beast. Nobody forced them to share those things, and in that public global anonymous mixed (newbs/kids and experts/pro's) of a forum. They chose that. And it makes sense you'll also get back a mix of reactions, some of which you won't like.
What the modern Internet enables today has lots of great qualities (eg. I can download all this cool software for free, Wikipedia, Kickstarter, etc etc) but it also enables lots of sucky stuff (eg. eternal September, eternal kindegarten mode, arrogant assholes, FAQs, RTFMs, trolls, flamewars, phishing, astroturfing, doxing, etc.) Its hard to enable one without the other.
No one was asking for anyone to hire anyone. I have no idea why you're saying this or belittling people's work.
If you can't be supportive, don't say anything unless you have strong reason to say it. Doesn't matter how far along the work is or how bad it is. If everyone followed this, the world would be a better place than it is, particularly the internet.
The lack of support is exactly what causes people to switch careers, because they get the impression everybody in the field is a flamer.
It's a bit like Australian Woolworth's.
I learned to code in machine language, I was punching in hex codes into an Amiga, all from one reference manual. It was a painfully slow way to learn. With no IDE or other reference manuals, QBasic would be the only way to achieve any of this.
Frankly I remember playing with qbasic/basic and being put off by how unwieldy it all was. Kudos to any kid that makes anything in basic.
I didn't become interested in programming until I managed to get a copy of Modula-II off of a BBS.
Relevant: http://www.pcworld.com/article/2033318/black-annex-is-the-be...
Homepage of this (incomplete) game: http://www.blackannex.net/
As an illustration to those that don't seem to understand, there was that year when I was a kid when my friends and I decided BASIC on the C64 was not good enough, and we tried to figure out how to get started with assembler....
Something that started with us trying to poke the character codes for BASIC statements into memory, unaware that we were not only still writing BASIC, but had "invented" a storage method substantially less efficient than what BASIC on the C64 already used (it was stored tokenized).. It took a long time before I managed to get hold of an assembler, and months more before I managed to get hold of a tutorial that got me anywhere.
This was with a group of 5-6 of us that all wanted to learn, but none of whom knew where to get the information, nor had parents that knew. My dad was programming, but only BASIC, and didn't know where to get what I wanted - few books were available, even fewer translated.
People really shouldn't underestimate how vital easy access to documentation is.
We're talking about a time when e.g. when I (years later) finally got hold of precise cycle counts for raster interrupts for the C64 (understanding precise cycle counts in the presence of sprites etc. was vital for many more advanced demo effects), it was a 3rd or 4th generation photocopy of a handwritten diagram that someone had partially learned from others, partially reverse engineered through countless hours of adjusting interrupts a cycle at a time to study the results.
None of the books I'd managed to get hold of contained even a fraction of the amount of detail.
Conventional memory was limited to 640kb. Access to higher amounts of memory either required switching to protected mode or using XMS.
Additionally, there was the segmentation limit of 64k for pointers, which may have limited things in qbasic.
I don't know how much processing power nor memory it had. I had never owned a computer, and my dad left it behind for me after the divorce so I had something to use. I had no idea what was inside.
I'd agree that this would be a very relevant factor if I had programmed a "true" operating system (since most true programmers would probably be knowledgeable with the amount of memory usage going on etc), but to take things a bit more indepth, I suppose I haved't actually coded an operating system, but rather a dos Shell of sorts that is a facsimile of an 80s-style operating system. It merely uses the same commands as dos and interprets them into a visually descriptive feature on the screen (such as a split-screen with directory and file listings for example), as well as a few commands of my own that I added in. My terminology is not fantastic, but I suppose indicative of what I considered to be an OS. A Graphical shell might have been a more accurate term.
I remember the specs of all the systems I've had since then, but with the 486, I didn't spec it out myself, and was merely a kid with a computer at that point.
A more mainstream option would be python. The free courses at udacity.com would be an easy way to get started.
Edit: Also just wanted to point out that writing a few games has in a way ruined playing games for me. I still load up a new or classic game every now and then but it's more to admire what the developers have done and not so much as to play the game. I don't really 'play' games any more.
Two other similar things ring similar to me. I was big into haunted houses when I was younger, volunteered at them and hung out around the online "haunting" community every season, and to this day visiting haunted houses is more about admiring what is being done than being scared. I recognize the animitronics from the catalog, know to expect that panel to drop, and know how that illusion is done, but I still enjoy visiting a good haunted house.
The other really sad thing, is that living in downtown Atlanta where there is a moving/tv show being filmed within a block of my place every other week it seems, I've seen the sausage being made. Knowing how long it takes to setup and shoot a scene that may only be 30 seconds in the movie, it's "ruined" watching TV shows/movies, as I can't help but think about the filming process. I was blissfully unaware how much work went into filming a simple shot of two people walking down a city street.
Knowing how it's done and how difficult it is, don't you start looking at things such as lightning, cut techniques etc. in a more informed manner?
It's not usually the same movies (or music, or games) that gets popular with the professionals in the industry is popular with regular folks, for this very reason.
A handful of maps to go through and I've completed plutonia on UV. Next, I'm probably playing Back to Saturn X ep1. It's amazing there's so much new, inspiring stuff for this old game..
> old Apple Powermacs from the 1980s (the tiny ones)
Except that Power Macs were available from 1994 until 2006.
The only reason I knew anything about the hardware of the classic Macs at the time was that I was an Amiga user, and Macs were occasionally dragged in on the periphery of the war of the 68k based machines that was primarily an Amiga vs Atari thing.
Beyond knowing it too had a 68k, that it had laughable small screen and was monochrome and cost a ridiculous amount, that was it.
That was despite hanging out at the local computer store every few days, and reading every computer magazine I got my hands on (I can thank Commodore Computing International for a lot the earliest English I learned)
Most PC users of the era certainly had no reason to know much more about Apple than the name Mac, and know it was some other computer.
Yep, especially in Australia...
I had a few floppy disks with these titles on them, but again, having played them for so long, I chose to start my own little endeavour to create games instead of playing them, so I eventually removed everything but ROTT for as much disk space as I could get (being my first computer and such, I believed it might've helped performance, was still learning at this point). When I wasn't writing crappy interactive textventures, I was writing up stories in general in EDIT. My reasoning was also that when my stepdad would come into the room, he could never say I was "off playing those bloody games" again in an argument, and that I could argue that I was studying the books I'd picked up from the library.
I did play a lot of ROTT in my spare time. It was an early copy (1.0) which had some features removed from the final game such as alternatively coloured pushpillars and the such, but as my system had no speakers, the pc speaker became more and more annoying over time as well. That much I definitely remember, but since we went through so many shareware games in the 1990s, I don't remember what was ultimately on the system when it was given to me (nor when it was thrown away). I would give everything I owned to get it back, but unless someone chose to salvage and restore it, that system is long gone and crushed up.
You'd be surprised what happens after 10 years or so. There are games I played as a kid countless times, in arcardes and on my PC, and yet I coulnd't remember their titles at all when I was at university age and such.
I only rediscovered some of their titles with luck and queries on Google later (in my 30's).
E.g.:
"game where a frog tries to cross the road" was apparently Frogger.
"game where you have a crosshair and hit people" is Prohibition.
"pc game where a cat jumps in an neighborhood" is Alley Cat, etc.
Or try an arcade related forum or subreddit. I'm sure someone out there can help you.
The other game I can't remember was contra/turrican like game with main character like a robot and you could go in all directions on a map. I remember there were egyptian motifs around levels and I vaguely remember that game had a name Phoenix or something similar. Same time period, same nondescript arcade cabinet. Both in Europe / Croatia.
I'd know where my school was, I'd just 'go there', I didn't know the street name.
I'd turn on the TV, I didn't know what brand it was.
I'd just turn on the computer and play Escape Velocity, didn't know it was called that.
There are lots of exceptions, like I wouldn't miss the name 'teenage mutant ninja turtles' or ever forget it. But especially for things like computer games when I was 8, I'd just 'doubleclick the game icon with the picture of a car' not having a clue what that racing game was called.
I've had so many questions about my story with people saying "I call bullshit because he wasn't able to remember (minor detail X)" etc. It's only through absolutely racking my brains to bits and insane amounts of googling, facebook messages to old friends and such that I've managed to answer a few of these. It's good to know that my memory is not just deteriorating rapidly as I'd initially thought.
Some things stand out more than others. I was suspected of having ADD for a while, then the diagnosis was shifted to Aspergers Syndrome (something they apparently didn't know much about back then, or was not as commonly diagnosed/referred to as it is nowadays), but a potential giveaway for this was that I had an eidetic memory for some things, and a lot of other stuff that should've been important but I didn't care about was instantly discarded. I can remember down to a millimetre what few toys and possessions I owned, and what they looked like, yet I can't remember what my own BEDROOM looked like because it wasn't the bedroom itself, it was what interested me within it. The same went for most of my house, I barely remember what it looks like or what the furniture placement was. I put this down to perhaps some kind of mental block for traumatic memories. The old house appears in my dreams as a very very very large building and often in pitch black darkness so that I cannot really see what it looks like save for an insanely dim and flickering flashlight. I guess the mind has a funny way of dealing with inabilities to recall events.
Yet I can recreate in my head in incredible detail the structure of the school I attended as I spent quite a considerable amount of my time every day there, and I found the absolutely enormous building to be very interesting and different compared to the bland 1970s brick and tan buidings of my primary school years (I actually went on to recreate it in 3d from memory recently and was able to source some photos of it from the school themself).
http://i.imgur.com/eXb430f.jpg http://i.imgur.com/BDpt6wt.jpg
And yet, I can't remember how much RAM my system had, because it wasn't of any interest to me. It was just "the computer" to me at the time, not "the 486 DX2". Any time I would've seen how much memory the system had (I don't recall if I even used the MEM command, assuming it existed in that version of DOS) but if I had, it would've been "Oh I have X amount, okay" and then I probably never checked it again.
I also don't remember what exact games I had installed on the system, as I barely ever played most of them. I remember which ones I'd played at that point, but I do remember I definitely had Rise of the Triad shareware on there as it served as a key inspiration for writing a "3d" raycaster/FPS style engine. Interesting how selective memory can be, and how it will remember utterly useless details and points of information (or worse, remind you of the moments you did something embarassing or stupid) yet when it comes to crucial or vital events, it can draw a blank on something that was so striking to witness that you would think it would burn the image into your head for an eternity.
Myself and a friend tried to create our own version of Windows 3.1 in QBasic when we were in middle school. I wish we would have saved our progress. I don't think it was as far as long as I remember. I know it read INI files, and we could drag windows around. Not sure how much else.
OP got to learn how to program the fun way, like a lot of us did in the 90's. Grinding away at crazy side projects on old DOS systems with lots of limitations. That opportunity just isn't available to kids anymore. High powered computers are everywhere and accessible, no reason to make an old PC do new tricks. But I guess they have the web to do crazy things with, so it's not so bad.
That's a really damning statement about our modern software ecosystem. You see what this guy was able to put together as a kid, and it's impressive. Sure, it was close to 20 years out of date, but it was good-looking and (appears) usable.
Why isn't it as easy for him, with the knowledge he's accumulated, to build software with modern languages, modern tools and and modern libraries as it was for him to build software with BASIC?
I mean it's the difference between a tool box 70 years ago (Software lives by dog years) and a tool box today, the tools you will find are vastly different, and even though you can build a house with the tools from 70 years ago, that does not necessarily mean you will be able to travel forward in time and build a house with todays tools because you have zero experience with it.
goes back to building JS and CSS files with his frontend build system, and testing in IE8
void setup() { ellipse(10,10,20,20); }
[1] processing.org
I heard that the Battlefield 2 engine was written on Python, or perhaps I could be mistaking it for another engine, but it seemed pretty cool knowing of something that was finally written on something else.
1) I opted to try and self-teach using tutorials which were highly inconsistent with one-anothers practices instead of learning at an accredited college or doing some type of course. It's also possible the tutorials I used were not that brilliant. I did find some fantastic ones later on around the time I stopped (as I started working full time).
2) I believe my folly also lies in jumping the gun, a lot. With BASIC I was able to just skip around in the commands list and experiment with each command in an afternoon, figure out how it worked and see if it was what I needed. If so, I had learnt what I needed, if not, I had learnt something for use in another day, and another code. It mightn't be the most optimal way to learn, but for me it allowed me to create -exactly- what I had intended, even if the mechanics inside were smoking and banging around, they still did what they needed to.
C was just not quite the same, and I wouldn't expect it to be. It's a much more powerful language from what I've observed.
One of the issues I frequently stumbled into, would be a tutorial that would state to use an external library/header that was never explained nor included on the tutorial page. One might state that I needed to include SDL.H but at no point in the tutorial, did it describe what the contents of it were, or of its purpose / where to get it. Now sure enough, you can google it and find that it refers to the Simple DirectMedia Library but am I wrong to think it's not professional to write in references and sources in a tutorial intended for beginners? "Figure it out / google it" doesn't always strike me as the best way to teach someone, but instead writing down a clear explanation of what is required and where it can be obtained etc.
I also had stumbled upon tutorials where the author had written their own custom headers for use with the code, but the headers themselves were not included for download or reference in that tutorial, nor the contents of them explained, so I'd often have no idea of what to substitute in place of that header or how to recreate that header accordingly.
I also became frequently discouraged by the responses I got when asking for help. It seemed that if I (as well as a LOT of other people, I saw this happen to a tonne of others) was stuck or unsure and made threads anywhere asking for a bit of advice or critique as to where I've gone wrong, I was constantly met with replies of either "If you don't even know the answer then you shouldn't be programming." or "The answer is obvious, programming is not for you." etc. I made a post at one point asking for a bit of advice on building a simple calculator once as one of my first few applications, and was met with responses of "This is a HUGE waste of time, there's already calculator sources out there available for download." which sort of missed the point; I was trying to make one, rather than plagurize someone elses. Getting questioned as to why you're learning to code when you can just steal someone elses seems the wrong way to go.
Perhaps I was in the wrong communities for me, although interestingly enough there was a tech journal article that I had read not too long ago where a senior programmer slammed the sadly all-too-frequent types of these responses due to the fact that it discourages a lot of potentially good novice programmers, with people arguing for and against negative reinforcement. Personally, being told "your code is shit, you're definitely not made to be a coder" isn't really inspiration to me. Being told "You've made an error here, this is what's wrong, this is why it's not working and this is how you fix it. Have another go at it." seems more appropriate. Sure a few people react to being told they're not good enough by thinking "Well fine, I'm going to beat you at that statement and do the BEST DAMN APPLICATION EVER", but to me, I don't like to think of programming as a boot camp, but as learning just as you would if it were photoshop or 3dsmax, and I sure as hell didn't hear people in any 3dsmax class I've attended saying "You're really bad at modeling, you should quit before you waste too much time on this.".
I wanted to imitate this stuff in my Amiga 500, so I joined a friend who knew about electronics and he removed a Commodore 64 keyboard and made the interface to connect to the Amiga as a second keyboard. I made the software in assembler to use the same computer with a single monitor in two windows using two keyboards. A bizarre but funny project.
ii) In 1992 I wanted to make my own graphical operating system. Not in the real sense but in the Windows 3.0 sense. I started doing this in Turbo Pascal and at some point I stopped because my multitasking was cooperative just realizing a few years later that Windows (and Apple!) used this basic strategy too. I felt ashamed of them.
On (i) I took advantage of the preemptive multitasking being able to use the computer by two people in the same computer monitor.
On (ii) I knew that the Amiga was superior than a PC but I had access to more documentation and better programming languages (Turbo Pascal, Turbo C++) on the PC. In the Amiga you ended up doing multimedia stuff with a lot of hardware information about the coprocessors and DMA while in the PC was more straightforward.
I have a similar story but not as harsh as his. I started programming basic(not sure which variant) on a small hand held system CASIO PB700. One this system I've created a Paranoid clone and a 4 frame ascii animation. My father saw my aptitude on programming he introduced me to his more advanced systems. He was a computer engineer and had an habit of buying new systems in 1980s. On the newer systems(I don't recall the name) I learned Turbo Pascel. Back then those systems didn't have any storage. MSDOS had to be booted from one 5 inch floppy drive and a new disk had to be inserted to get the different programs.
Every time you compile and run a program, it would take a couple of minutes to read the compiler from the 5inch floppy disk. Those floppy disks were fragile and they had a tendency to developed bad sectors after a frequent read-write session. To circumvent this, my father deployed a ramdrive on the system. A drive would be created inside the ram every time the system boots up, and it would copy the Turbo Pascel compilers and all relevant libraries to that ram drive. So next time you hit 'run', it would take seconds instead of minutes. This solutions still blows away my mind.
Another thing about these old machines, they all came with monochrome monitors. It was all green and had a very low refresh rate. Every time there was a large change on the display, you could still see the previous characters being faded away. Like matrix.
Later I had access to better machines(Pentium 1 133Mhz), but haven't forgot those days. I wish I had more information about those systems to post here, but I am long way from home. Back at home those systems are still all packed up and stacked on top on one another. The funny thing - all them work as if they are 'brand new'.
They definitely don't build 'em like they used to! The Pentium 1 133mhz system I used for a while after leaving is still in top notch shape today. I opened it up last year and there's no dust, rust or corrosion at all (and this is after it sat in a heavily tropical atmosphere for a few years recently). The hard disk is in perfect shape too, the whole thing runs like new.
I wonder how well the Osborne 486 would be running if I still had it, or if someone ever salvaged it out there and is running it today. Kind of a crazy thought but it's a shame to think that it's very likely become part of a landfill.
I'd happy that you are taking your time to reply to this thread. How are you doing this days? What are you working on?
"The confusion likely stems from the various limits which existed when running qbasic in real mode on a 486. Conventional memory was limited to 640kb. Access to higher amounts of memory either required switching to protected mode or using XMS. Additionally, there was the segmentation limit of 64k for pointers, which may have limited things in qbasic."
To hazard a guess, the biggest "wow" programming languages for the author now would be Python and JavaScript.
Everyone, let's be sure we stick to the real business of HN: gossip about companies which were started for no reason other than to get sold, fighting over the brands of fetishized personal electronics, hagiographies of people like Steve Jobs and Edward Snowden, flamewars about women in tech, and preening about how we personally are the top 1% of software engineers and only hire people like ourselves.
Otherwise, someone might feel saddened.
Modern conversation seems to be morphing into the art of using others' comments as triggers for one's own monologue. Instead of having the discipline of quieting ourselves in order to comprehend what others are saying, we isolate ourselves into narcissism by placing mirrors onto their heads.
An awareness of this trend may surprise you about how little we actually relate to each other. Rather, we use others to relate to ourselves.
I'm pretty sure in real life it happens that in a coming together somebody has a spark and tells a story in 5 minutes. This is in no way different.
I have tried probably too hard to not be this person. As a result, i've had literally hundreds of people tell me I'm a great listener. I don't order food at my usual haunts, they just make it. Letting people talk, and actually hearing and giving one flying fuck, is more impactful than I ever imagined.
For what it's worth I don't disagree that there is some cosmic absurdity and truth in what you are pointing out, but it's just such an innate component of human communication (in all of its forms, since long before there was an Internet and long before this post existed) that complaining about it is akin to saying "I'm saddened by the way these people are always breathing".
...and yes, I began this post with my own "I'm" to show I'm a proper software coder who appreciates the humor in meta-level recursion and thus I'm ever so clever!
Guess this is the generation Me.
Reading about people who have written PHP code on entry-level mobiles in 2005, or other Australians who tapped away on 15 year old systems at their school definitely has put me a lot more at ease. It has made me realize that my situation was not as bad as I'd felt initially, but rather many other people had the same deal growing up.
Contrary to the shock and rejection of belief expressed by a lot of people who have obviously grown up in areas with well funded schools and financially secure parents, this sort of thing happened to quite a lot of people, and it is STILL happening today.
I'd say there is still some kid out in some house out where I used to live, who is sitting in his room, hopefully not under the same oppressive circumstances as myself, but is working with his dads "old Windows 98 system" etc because it's all he has. There's no "right" in Australia to be up to date with the latest and greatest. No kid here has a guaranteed right to a mobile phone and a high powered computer in his bedroom, but is very fortunate to have them.
Thankfully, technology is much more affordable nowadays. In 2004, laptops were multi-thousand dollar items, but you can get a used system with Windows XP (or even 7) for less than a few hundred if you shop around now. I find that incredible.
I was ~12 years old (around 2004), I really wanted to learn programming but all I had was a cell phone (one of the first budget class phones with GPRS, Nokia 3510i). I had very little access to internet / pc (about 30min/week) and couldn't speak English, Russian, or any other major language.
So I tried to get my hands on any PHP code examples, type it in using my phone, and upload to FTP using some online forms.
Eh, funny times. I wrote a bit more about it http://blog.gedrap.me/blog/2013/07/30/writing-code-with-a-ce...
Of all the versions of Windows I've ever used 2000 was my favourite.
I apologise to the Win 2000 fans. I never actually have tried it on a system in much greater health, but from what I've heard in the last few days, I'm sure it's not that bad, and guess I was just a bit mis-lead by the ridiculous systems they ran on.
I'm actually very willing to bet the school is still running those systems today.
Thanks for the invite too. I don't know where I'd start with modern tech. I've been building up more knowledge over the years and started by purchasing each individual part to build my own system in 2009. I'm no whiz but I'd say I have a reasonable degree of literacy nowadays. The one thing I could use help with is getting started in modern programming. My head appears to still be stuck in the idea of using a simple text-editor-style compiler with no additional libraries, headers, (linkers?) etc required. I had a bit of trouble finding good tutorials that actually supplied the relevant libraries, headers etc for the code they were explaining, so it became difficult when they would expect that every new programmer knows straight away what the SDL header is for example, and where it can be acquired from.
There are many good tutorials on the Internet for a lot of things, but many make assumptions for things that aren't specifically code-related (libraries, linking, etc) that can be frustrating when you're starting. Consider it a rite of passage.
If you have any questions on anything (there's no such thing as a dumb question), again feel free to e-mail.
The projects you describe here are obviously works of love that show great technical talent. Too bad you didn't have access to better learning resources at an earlier point in time, but learning is thankfully a multi-decade project. (I also hope your P.O.S. stepfather got what was coming to him in the end).
Clarification of facts is not naysaying.
I think what they did was impressive and interesting.
Technically, the naysayers haven't bothered me too much, but a lot of people seem irked (and rightfully) that it was initially mistermed as an Operating System when in fact a simple shell of sorts. I have amended the imgur description since however.
As for what I'm doing at the moment, I'm a Lead Quality Assurance Analyst for a video games company. I love what I do, but as for pay, it's less than half the minimum wage. Goes to show that I REALLY love what I do I suppose, but I would really like to do something more technical someday. Perhaps special effects or something of the like.
I'd say the works were definitely a very important part of my life, although they were not necessarily a technical triumph by any means. I still claim that they're nothing more than a series of cheap hackery and tricks, but hey, even a Magicians work will entertain and amaze, even if it's not "really" happening you know?
My stepfather is still out there, but both time and emphysema will catch him in the end, so I try not to concern myself too much with it. Nature and tobacco will do its work.
For those not familiar with the calculator, it ships with an OS that provides a shell where the user can input mathematical expressions, as well as a graphing interface. It also provides a program editor where the user can write what are essentially shell scripts for the main interface in TI-BASIC, or run machine code written in hex if the program starts with the AsmPrgm token. It also lets you transfer files from a PC using a usb port on the calculator. You could download and install "Apps" for the calculator. When I was 12-14 I mostly wrote small programs, like Pong and a quadratic factorization utility, in TI-BASIC, and played games that I downloaded in class.
After a while I tired of TI-BASIC because it was slow, and that limited the possibilities. I downloaded Axe, an App that modifies the code in RAM of Kernel's TI-BASIC editor to allow for programs written in a different language, which was basically assembly + a lot of macros and a standard library useful for writing games, or like C without a type system. This code was compiled to machine code on the calculator, and therefore the code ran at a reasonable speed (keep in mind it's still just a 15MHz cpu from the 70s).
With Axe I made some more interesting programs. Unlike with TI-BASIC, where learning the language was easy since the calculators main interface was basically a REPL for the programming language, Axe was hard to learn. I needed to look at external documentation to know what I was dong in Axe, but even though I had a smartphone at this point, I couldn't use it in class, so I printed out the manual to reference it in class. I wrote a bunch of programs in Axe, like a cellular automata simulator, a game of life program, a 4-level grayscale sprite editor (which worked by flickering the pixels of the 1-bit display which had a slow enough response time to create a static gray color if alternated quickly enough). I also learned z80 assembly and used an on-calc assembler and editor called mimas, but editing assembly on-calc was too bothersome with a 64x96 display, so I mostly stuck with Axe.
Eventually I stopped being the nerdy kid who played with his calculator all day, but I had fallen in love with the platform, so even though I wasn't writing code in class, I wrote code for the calculator at home, sometimes on my PC and sometimes on the calculator just because I liked that experience more.
I'll be sad to see these ancient calculators finally phased out of the math curriculum in the US, so that kids no longer get access to that last stronghold of 80s computing. Raspberry Pi is cool, but it's still so much more modern than the calculators, which hurts its coolness factor for me, but more importantly, kids won't have access to it unless their parents want them to get into computing. Soon I see kids only having hardware that seems impenetrably locked down, which is a real shame.
Also, TI-BASIC made it so easy to display graphics, just by using the 'output' function or plotting to the graph. I think a huge turn off to beginner programmers is the amount of material you have to learn before you can do simple stuff like that (I remember looking for a "draw pixel" function in Java, only to learn to my dismay that I had to choose a GUI toolkit and create a window first). The ease of using the TI API made it addictive, and it lured me into programming for hours at a time in school.
We had the TI-85 in our year. I wrote a chat program which used the link cable. With an "enhanced and extended" link cable, it was possible to chat with a classmate sitting several meters away. Teachers knew nothing, as it was a calculator and just a calculator for them.
1998 - chat on a handheld device without data or SMS costs :)
It was the time I first learned https://en.wikipedia.org/wiki/Tetris_effect is a thing. :D
He was a really talented programmer but eventually became really weird and drove everybody away, so I have no idea what he's doing now.
I have heard of games (like Doom) on the TI calculators, that also had sound effects. The program was sending pulses to the linkport, and the user needed a 3.5 mm to 2.5 mm adapter to connect a headphone plug into it, but then you got sound.
The problem there of course is that you're dealing with a 1MHz CPU, and 64K memory, and for real-time sampling you need to make tradeoffs between sacrificing sample rate for cycles to somewhat compress the data vs. running out of RAM in seconds.
For playback, it's equally primitive: With some settings, flipping the volume to max and down creates a sufficient click that doing that for 1, and keeping it off for 0 gives you recognisable sampled music output.
It's really quite amazing how low bitrate you can get to and still have recognisable music.
If you do pre-processing you can get quite tolerable, substantially longer samples (if you do lots of pre-processing you can end up with this: https://www.youtube.com/watch?v=D6MSbdUMFZ4 )
I'm not too sad to see old calculators go -- I'm just hoping we'll get something like python notebooks on smart phones used in the classroom. Might have some problems with the networking... maybe there's a marked for an android pad that doesn't have any wireless hw?
In Norway those Casio calculators were also approved for use at the college level -- but they were stupidly banned, because you could flash the rom, and store all sorts of useful things on them. Really stupid IMNHO, because if you can solve the (college level/sen. high school level) exam with the help of some utility or other -- or just a large book -- the exam is probably structured very poorly.
There was an initiative to move to "open book exams" -- where you were allowed to basically bring any books/notes you wanted. I think it was great -- the questions were a little harder -- and you still had to know the subject matter or you'd run out of time before completing -- but I think it encouraged better tests than when you could essentially administer a glorified spelling test for any subject.
For all of the benefits of the internet, I see this as a tragic side effect. Rather than just trying something and seeing if it works, the first instinct is to Google it to see if anyone else has done something similar. Even if you manage to start on something, eventually you'll be exposed to someone who's done it so much better and more thoroughly than you and get discouraged and give up.
Of course, plenty of innovation still happens and people can find inspiration in superior implementations, but the loss feels similar to the loss of biodiversity, or language diversity resulting from globalization -- that is, isolated populations create vastly different solutions to the same set of problems in ways that aren't possible without those barriers.
The downside of "lazy learning" is you can't know what tools you'll need in the future. I was able to win at one of my favorite work projects because I'd played with signal processing and machine learning for fun.
Had I not, I would've concluded I couldn't beat the terrible solution we had—I wouldn't have had the tools to know better.
And of course, your reinvented wheel might turn out to be an actual improvement!
Of course, I can never know everything. I do both: I learn things as needed to get something done, and I learn things just because they fascinate me and might prove useful later. That latter part—gaining knowledge for the sake of knowledge—has been an amazing benefit, specifically by giving me a better map of what's possible, and how the seemingly impossible might be done.
IOW, I consider lazy learning necessary, because no one can know everything, but not something I'd encourage for its own sake, because sometimes you have to know something before you can know when it'll be useful. I absolutely encourage playing around just to learn more about your craft—you'll learn things that will prove useful later.
I do agree that this does mess with tinkering with the fundamentals and stuff. But here's my thesis: when you work with a technology for a long time, after a while you will naturally be curios about how the lower level stuff is working. I think this is why a lot of application developers still find systems programming exciting. And also why the hacker news audience is also keenly interested in stuff besides the very narrow focus of cs/ee.
It's really both. The trouble is you want e.g. a protocol to secure your communications, and designing one yourself while making it secure is a huge ordeal, whereas you could just use TLS for free even though it's full of warts. So everybody uses TLS. Which then snowballs into everyone using OpenSSL for TLS even though it's ancient and full of cruft.
The problem is you do want everyone using the well-reviewed long-tested thing, but then that thing becomes a decaying designed-by-committee monstrosity which nobody can fix because it would break compatibility. See also HTML, HTTP, DNSSEC, javascript, etc.
I also, as you can guess, first got into programming on my trusty TI-83+ when I started high school. Without really knowing the TI-BASIC language and lacking the link cable, I remember some time when I was in the library typing a Mandelbrot set program line for line from the computer, trying to figure out where all those random tokens were located. Once I finally got that working, I was hooked and started making all sort of different programs.
Some of the early programs I remember creating were mostly math programs and algorithms I learned from classes. But very soon I started getting into gaming. I had always wanted to make really cool games, but I always ended up limited by the capabilities of the calculator, and ended up mostly producing puzzle games; Minesweeper, Sudoku, Skyscrapers, etc. I also managed to make a text adventure and an 'AI' chat bot.
I wondered how people were able to make some of the more advanced games and eventually stumbled upon assembly. It took me a really long time to grasp all the concepts and it was very frustrating. Every instruction has a bunch of side effects, you have to remember what every register is holding at every point in time, and you have to memorize all the mnemonics. I was also annoyed that I couldn't program it on the go (Mimas didn't exist at the time) but that certainly didn't stop me! With nothing better to do during that bus ride to and from school, I actually printed out all the op-codes, ram locations, bcalls, ascii tables, token tables, and would literally type in the hexadecimal into the calculator to program! It was insane and really dangerous, constantly deleting the memory every time I typed a wrong character or forgot about the endianess. I eventually just gave up on that and stuck with programming assembly games on the computer in my free time.
By the time I learned enough assembly to produce my first full game, a PacMan clone, it was around the end of high school and it was then that I decided that I really wanted to make it easier for people like myself to be able to make actually good games on the go. It wasn't until a year later that I started creating Axe Parser for that purpose. Although I didn't have any formal experience with compilers, languages, or other relevant theory I started anyway, just doing what I figured would work best. It actually managed to succeed and after only a month of work, I was able to program a full game in about an hour! It was exactly what I wished had existed when I was in school, and it's super exciting to see there are students out there now that actually have this power and are making awesome stuff! Its even more thrilling when it influences people to get into coding more seriously. Warms my heart every time I see things like this :)
As for me now, I haven't touched z80 programming for a few years now. I'm working at an amazing start-up where I get to combine programming and mathematics to do some really interesting things.
Good job!
I got hooked on programming by the HP65, an early and very expensive programmable calculator (with magnetic data storage!) that a family friend let me play with for an afternoon. Eventually I got my own Sinclair calculator (36 instruction memory!) and programmed it obsessively. If that thing ran at 1MHz I'd be very, very surprised.
Incidentally, around 1983-85 there was a brief explosion of electronic typewriters with small (usually 2-4-line) LCD displays and oversized calculators with qwerty keyboards, a decent amount of memory (16 kB say), and some form of BASIC. They looked interesting, but I don't think I know anyone who bought one (and my friends and I were all programming geeks).
In the mid-80s I did have access to several models of those pocket Japanese computers that ran BASIC, including the CASIO FX-750P. I was definitely a loner in this regard. I just got lucky -- my father was in Japan doing film work and probably spent his entire paycheck several times at the electronics malls. He bought these because he wanted to write software to help camera operators with setting up their shots, anywhere in the world.
http://casio.ledudu.com/images/pockets/casio%5Cboites/zoom/f...
I had dabbled in Apple IIs at school but this was my go-to machine at home. I could not do very much with a 1-line LED display but I wrote some simple games and animations.
Every kid learning engineering would benefit from working an old-school piece of equipment, even if simulated.
Frustrated the teachers to no end as well, I'd never do my homework but get A's on all of my tests/quizzes. I guess I was too busy learning the material to cheat, instead of doing the homework...
I eventually got caught when I started giving the programs to popular kids so they would include me in stuff, luckily I had written a failsafe that deleted the cheats, but left some games I had (even at 14 I knew how confusing false positives can be). I got in trouble for playing games, the popular kids got in trouble for cheating. I wasn't included in much for a while after that...
One of my favorite things about it was that it had an internal speaker. You could specify the frequency and duration of notes. I was in concert band at the time and was into "The Planets" suite by Holst. I ended up writing two programs that played the main tracks for Jupiter. I had another friend who had the calculator so I gave him one part and retained one for myself. We started both programs at the same time and listened to beautiful tinny classical music.
It was stupid easy to output sound on that thing. Like someone else mentioned it was also very easy to output to the screen. I know applications are much more complicated than they were back then but I do feel bad for kids that they might not have a sandbox environment to try to push the boundaries for their knowledge. This kind of stuff got me hooked on coding.
This article really is somewhat misleading, as that is not an OS, rather it is an application running on DOS.
Did the same sort of thing as a kid on an Atari 130 XE. Was a lot more graphical though. It's something you do when your computer is essentially useless :)
Truly shocking that this could happen in Australia. Where were the child support services? Why didn't the teachers notice anything?
The rest they say, is history. Mum finally ditched the guy who made our life hell. I was allowed to move back to civilization and had my mind absolutely BLOWN away by Crisis screenshots.
I wonder how old the author was when this happened? Was he still being kept captive as an adult?
This story raises serious questions about the adequacy of child protection and law enforcement in Australia.
Not being allowed to leave the house after school hours, or use the internet is still a fairly common situation for kids in many sects that are not considered problematic enough to interfere with.
What you describe as "being kept captive", others would consider protecting their children from corrupting outside influences (I'd like to emphasise that I absolutely don't think that is right).
That the stepfather in this case seems to have been motivated by hiding from the authorities doesn't make much difference - the point is most schools have students that are in similar situations, so it's not something most schools would see as exceptional and something they can interfere with.
It's a difficult tradeoff in terms of child protection, because the traumatic experiences of being taken into care or disrupted by lots of interference can easily become worse than what the interference is meant to fix, and because the moment you start passing moral judgement over peoples parenting, you're in for a crazy struggle over how it is acceptable for people to raise their kids.
A lot of times, my parents (mother and stepfather) played it off as "he needs to be disciplined etc", although they omitted certain truths when it came time to talk to the police. A punch to the side of the head was a "clip over the ear" etc. The police however seemed not to care, I will never forget hearing their "Ah yeah." reactions to it, but again they face the same thing as mentioned above. Even if you're not legally allowed to hit a child now, it's still seen in some places here as an unwritten omission of law to discipline your child if it is "Reasonable", such as a smack on the bum etc.
Indeed being kept inside the home wasn't really the bad part of it all. I have always been much of a loner, and it was very likely I wouldn't have done much outside of the home. I did sometimes "Run away" for nights, and I would walk through the city or walk out into the country for a very very very long time at night wondering where to go or what to do. Now that I look back on it, I'm actually very surprised albeit greatful that I never was abducted or robbed. But at that point, I didn't really care where I went or what happened because anything seemed better than what was going on at home.
http://www.dailytelegraph.com.au/news/nsw/child-death-cover-...
The Department of Community Services was responsible for overseeing cases such as child abuse etc in during that time (or DOCS as we called it). My counsellor spoke in great depth to me about it, but he was not confident that much would be done (as seen above, many many cases are left behind or ignored). He put in a lot of requests to DOCS to look into my situation, and they did only a few of those times, but their methods were shocking and they did absolutely nothing. They interviewed my stepfather once and it more or less consisted of "have you mistreated a minor in your household?" "No?" "Oh okay well thanks anyway, bye". On another occasion, they spoke to me about it. I honestly couldn't remember what we talked about, as I felt a bit too young to fully understand what was really going on. I spoke to so many people about it and no-one was able to help, including the police.
(I'm wondering if the department was understaffed or suffering some other internal crisis? They still are apparently.)
In 1999, I would've been 10 years old, so when I finally left, I was 17 nearing 18 as the new year approached. Goodbye teen years, but it would've been a lot worse if I was a kid. A lot of the physical nasties that occurred stopped as I grew older, perhaps out of the fact that my stepfather was aware I'd be a lot wiser about how to tackle it (ie I could more easily convince police of something going on.). He was very careful to get as close to the border-line of crossing the arrest threshold as he could, without ever actually going over it. He never hit my mother, but he hit us and we were raised by him to believe that getting either choked, kicked in the back etc was "Discipline" rather than abuse.
I'd have to agree on the inadequacy of both child protection and law enforcement here, as it's been shown in the last couple of days with the "terrorist" in sydney, the justice system here is seriously broken. The same man who deprived us of liberty was walking free on around 40-50 other charges, including break and enter, sexual assault of a minor, assault etc, much like the fellow who held up the cafeteria. I don't know where the break down is, but the justice system always seems to "let people off with a warning" or a light sentence. If you assault someone, expect to walk free. If you break into someones house and molest a child as he did, you walk free with a big scary "warning". If you continue, it's another big scary "warning" etc.
He's still out today, and I haven't pursued it, because I know that there is no way he would ever be behind bars, the justice system completely let us down and I wouldn't trust it with my life. One of the first men I rented my first apartment with was exactly the same; multiple charges that should have landed him behind bars, yet he was walking free but with police coming to the door from time to time to "check on him". Of course it wouldn't stop any crook from doing something stupid if they are clever enough not to be caught.
Around ~2000 we got a Pentium "75", that is - 75mhz, 16mb ram, 500mb hdd with no cdrom or sound card. I think it had a 2mb S3 video card, and came with Windows 95.
At some point, after some tweaks, you could play Mortal Kombat 4 in a very small window, installed from multi-rar archives on around ~20 floppys.
We had a lot CDs with games from gaming magazines, with "cool" (or so I thought at the time) HTML/JavaScript autoruns, that ran with Internet Explorer 4. Since most of these games (eg. NFS 3) wouldn't run on my PC, I found out how to "View Source", and I basically learned HTML/CSS/JS from them. In 2003 I sold my first "DHTML" menu widget.
I keep seeing stories similar to mine. I really think we (humans) have lost something with new tech. Simple UI breeds users whereas hard seems to breed developers.
Edit: typed that out on my phone - made some typo fixes.
Also forgot to mention - I never went to school for CS and I dropped out of community college which I attended for graphic design.
I actually started programming around 2002/2003. At that time QBasic was of course already horribly outdated. But that was what my school teacher was using. We used it to have direct PEAK/POKE access to the LPT-Port (the big, bulky printer port!). So we connected LEDs and other Stuff to the LPT Pins and made them blink with QBasic (and Windows 2000).
I still sticked to QBasic a while because i refused to learn anything else and C-Style languages just looked scary to me. By the way, if you are looking for a cool, modern, cross-platform BASIC Compiler take a look at FreeBasic. It started out as a QBasic-kompatible Interpreter but now is a Project on it's own.
Indeed C was a bit intimidating to me at first. I took up a TAFE games programming course in 2008 to learn it, but our teacher was an ex-banker and didn't seem to really have any enthusiasm for games, and there wasn't really any "games programming" in the course. I left after getting mugged in broad daylight on a busy road (Mount Druitt is absolutely atrocious, never going back there again!)
Basically, I was without any modern resources for quite some time. I had a 486, QBASIC and EDIT.com to play with; the rest of the DOS exes etc I didn't want to touch out of fear of buggering up my system as I wasn't very computer literate.
My library had two 1970s books on BASIC which I loaned out (Basic BASIC and Advanced BASIC by James S Coan) and with nothing else to do in the hours after school, I decided to try my hand at it. I played around with it for a bit and built a really primitive "DOS Clone", which relied on a simple series of INPUT's, PRINT's, IF / THEN statements and GOTO. I then also began experimenting with the ASCII Character map which was included in the QBASIC help file, and realized that if I used the correct ASCII codes, I was able to form visualizations on the screen, simple GUIs etc. I combined the two and began adding more and more functionality to it until I eventually named it "OSCI" ("Aussie"). That's pretty much all there was to it.
How: An old 486, QBASIC, and lots of free time
Why: Boredom, curiosity.
The books I had loaned out however were dated 1977 - 1978 according to a recent google search. Very obsolete for the time. I'm tempted to call the high school library and see if I can buy them, since they'd be even more so useless for any student who wants to get into programming now.
Better yet, it's just given me an idea, if they still haven't updated their books on programming, I might even see if I can buy a few good modern books on C / Python etc and donate them to the library, along with software. Who knows, it might stop someone else from ending up the same way I did.
I'll have to look into his early years and see, although I was probably nowhere near. I was a very emotionally unstable and unusual kid after the move to the country. I had zero social skills and a lot of post traumatic stress disorder from events at home. My methods to socializing and living in general were very odd.
I hoarded food and possessions as the cupboards at home were often (but not always) padlocked to keep me from picking my own food out. I would hunt around in bins for discarded food or 5 cent coins to save for canteen food and was referred to as a "scab" quite a bit, but I tended to ignore this, even though I was probably seen as one of "Those oddball kids". I had very little value placed on my reputation.
A lot of my possessions were often confiscated, and anything of special value (ie gifts from my dad) were often smashed and broken in front of me. I had a beautiful Carramar Lava Lamp once that he purchased for me which was destroyed by my stepfather to stop me from staying up at night and using it to read. The trait still sticks with me now; I don't hoard general junk, but I am extremely protective of my current possessions.
Not sure if this ties in with Julian Assanges story. Again I'll have to check it out. He sounds like a very intriguing person.
I also reinvented the wheel many times and wrote a bunch of silly little programs. It was a great and fun experience and this story really took me back.
The other oddity having lived thru a slightly earlier era in high school, we did TONS of sneakernet peer 2 peer filesharing using floppies. The stuff he needed would be getting would be kinda obsolete, on the other hand the school had stuff laying around so if you wanted a "turbo C" it was literally sitting in the library waiting for you to copy it. Anyway I'm surprised he never found anyone to trade "warez" with.
In '99 when the story started I already had 5 or 6 years of experience with a linux desktop at home, first with SLS floppy based installs off a BBS, but by 99 I had a couple years experience with Debian, makes you wonder what would have happened if the guy had been on an abandoned isle with a linux distro instead of quickbasic...
I'm about to graduate with a degree in computer science and I would love to work on a long term project like this but I feel like I could never accomplish something remotely close to the complexity involved in your project, especially without outside help like the internet.
http://obligement.free.fr/articles_traduction/itwshihab_en.p...
(original title was "An Australian, isolated from 1999-2006 with a 486. Built his own late 80s OS").
Other than that, I had no knowledge. I didn't know anything about processor power, RAM, etc.
I'm not sure if it's used for anything anymore, but QBASIC is, I believe, freely available on Microsofts legacy FTP. It's a very safe and easy to use environment to learn about putting together some basic programs (hence the name BASIC?). If you learned to say, build a calculator in QBASIC, it wouldn't be hard to take that programming knowledge and move it across to a modern language like C.
http://www.reddit.com/comments/9x15g/programming_thought_exp...
Though I wish I'd at least had a basic copy of Windows XP, and a good C++ compiler + some reference books.
And when I say people, I really mean kids. Heartbreak!
So why label it (c) Copyright 1995? http://i.imgur.com/XSDOXEZ.png
The terms used in the article are misleading though, like many people have already pointed out. Not an OS, a shell, I don't even know if you can build an OS with QBASIC alone, maybe with some assembler support, but I don't recall qbasic supporting assembler, at least without any binary tricks ?
As for the 486, I brought it down to my dads when I moved, and switched to using his much more modern system. It did eventually "die" in 2007-2008. My dad threw it out after the clock chip failed on the motherboard. I was pretty bummed because it sounds like a fairly straightforward fix / such a minor issue, but he's as sentimental as I and referred to it as "an old clunker".
They don't build em like they used to! The Pentium 1 interior blew me away upon opening it. Not a tad of corrision, rust, or even dust! Also the disks are still in top notch shape and seem to read just fine.
At least you have your Pentium. I've still got a bunch of my old code from the 90s and I'd have a very hard time getting any of it to run on a modern PC.
He has been lucky that his 486 don't broke, but sometimes the old hardware is more resilient what you think. The only hard drives that I seen to die, was modern hard drives of >100GiB . However, I have here an Amiga 1200 with a little hard disk of 200MiB that it keeps working fine.
I see our kids every day staring at various screens, being miles away from any creative impulse and getting really mad, if we discuss (or execute) internet access limits.
Right before leaving for the country, circa 1997-1998, my best friend was trying to get me into C++, as he was a games dev / games fanatic like I was. I had always wanted to get my hands into C++ and start working with it. It never really transpired sadly as I had no idea where to start.
Thank you for the inspiration, and have a great career ahead.
It would be a really different story I guess...
Boredoom can easily lead to creativity it seems. And this guy is smart.
Indeed having no inspiration or having a lot of boredom leaves the mind to create its own entertainment and innovation, however I'd disagree that I'm smart. My code is merely a series of hackery and visual tricks. It technically -does- do what it is supposed to, but it is nowhere near as maintainable, optimized and well written as the code of that of a talented or seasoned programmer.
Thanks for your kind words!
BTW, is the guy in jail now?
As proven with the recent attack in Sydney (the guy had been walking free with 40 charges against him), my stepfather was in the precise same position. Multiple charges but walking free because the justice system had catastrophically failed.
I discovered a program called qbasic and started fooling around with it. I did whatever I could on it. It was so interesting.
Then after about a year I got a fast computer because my dad felt sorry for me and I just started using the internet to download emulators and roms. I lost the same level of patience back when I used to have a 286.
Anyways I still remember those times. Magical moments like figuring out how to program. I wonder what would've happened if I had kept going. Sadly, the internet and video games completely took over.
Now if I try and code something, there are too many distractions, yet when you're sitting in a silent basement, your ideas tend to fill your head pretty quick (+ many a hot dull afternoon at school).