22 Aug 2003 grey   » (Journeyer)

Needed to get some ideas down... moving again and again has really screwed things up for my home computing life - so this is it for now; no time or motivation to bitch at megapath for fucking up; no time or space to unpack and plug things in. On the other hand moving has been a blessing as I've simplified, all my crap is in boxes. That and I've actually started to solidify my notions of what I -need- to be fucking doing, beyond realizing that I can't keep postponing shit because I'm not going to be really settled, I've been _doing_ things because I can no longer wait to get settled. One major annoyance is that I'm going to need to figure out the best way to rectify that for programming, because the laptop I was using from work I'm giving up in a week because I'm getting a new one and my current one is shifting down. While I'm getting the hang of minimizing, simplified and solidifying, I've realized that a few things need to be stable. Ergo, I -need- a personal machine that I can use at any time and keep with me. A laptop is going to cost me a bit which I'm pissed about, and I'm also pissed about the timing because I would like to wait for an amd64 thinkpad or something spiff. This means that for a month or two at the least I'm going to be sitting on my hands as far as actually having a personal laptop, and I'll be dealing with cumbersome crap like writing stuff on my soekris, or within VMWare or other bullshit like that, and I hate that.

Anyway, baguazhang is going really well - it's so refreshing to be _doing_ something that I'm unfamiliar with, screwing up, correcting mistakes, and progressing. Having it twice a week helps too as it -happens- I can't shrug it off because my mood isn't quite right. The philosophical parallels between the martial end of computing (sec/hack/whateverthefuck) are nice to think about too as I have moments to contemplate (usually when driving).

On the programming front, I picked up K&R used and already it's a bit of a relief from pcp - I like the emphasis of a small book fitting a small language; some of the tomes out there just seem like total overkill. Not to mention, where I'm at - I need to work on small things. I'm trying not to get distracted, notions of trying to build everything from the ground up (e.g. try piecing together an assembler, then maybe a compiler, etc.). Anyway - that's starting at a level that I'm not ready to tackle, so just like martial arts I'm trying to follow someone else's example first (doing book exercises) and then as I become more comfortable move to the next step. After the external stuff gets good the internal bits begin to follow a little more, and so the inversion of starting with the abstractions and then moving over time to the minutia of the experienced might pan out.

Then again, I'm just talking out of my ass, as I'm a beginner in both respects.

That said - I have a few ideas I've been meaning to write down. The recursive/emulationOS notion has been invading my thoughts more and more and feels like something that's worth pursuing. I'm going to start with a bootloader, whether through modifying bits of other people's or writing one from scratch, probably both.

Some thoughts about what I want to do...

. Bootloader portion... have some stuff from the get go, spit stuff to the serial port for one; option to encrypt the disks as another; on the serial port end - maybe even intercept portions of video signals to mimick a realweasel or cyclades card in software [no BIOS, but it could get you somewhere].

For the OS portion - start with just an x86 emulator running off the bootloader... it'll evolve from there, broken down, done again and so on undoubtedly if it progresses. There's going to need to be some real thought put into how to abstract things - video cards, NICs, hdd's, fuck - everything hardware might benefit from an abstraction. This can provide some real benefits just thinking about the hdd, for one you could allow the hdd to store images for the emulation portion, or you could use the bootloader portion and just boot it directly [perhaps with some lite residual disk interpretation, e.g. some of the crypto hardware bits]. I almost wonder sometimes if the goal wouldn't be even better realized within hardware altogether. Maybe long term future that would be ideal [emplant, hardware designed for the OS, comes to mind bleh] Regardless, software will need to come first. Some kind of inspiration from scitech's SPAN and kgi/ggi (which I just heard about this week thanks to todd) is likely to be of use - but don't just do it for video cards - do it for everything. Not only will this help from an emulation standpoint, but it will help longer term as it hopefully evolves into an OS.

plan9 research has been pretty intriguing... need to read more about TRON and mach too. My hope is to take best practices across disciplines and merge them together - I hope it will be very small and fast. The licensing needs to be as liberal as possible, public domain if possible; though I know if others are going to contribute BSD/MIT for credit might be necessary at a minimum - I'd rather leave that to those contributors. I'd rather avoid anything more restrictive [e.g. gpl]. I just don't see how there's any hope of a wholely new platform/OS competing with previous OS's if compared against its competition:

A. it costs more [so it must be $0]

B. it's with a more restrictive license [so it must be PD].

C. it doesn't run what you already have [so it must have a complete emulation component]

D. It doesn't do things *natively* better than what you were used to before [so it must be more secure, more stable, more reliable and much faster].

The A-D in brackets are basically the design criteria in my mind for any new OS that even hopes to compete in the future, we already have to deal with the non-bracketed portions and it fucking sucks computing has become fucking entrenched in its own installed user base morass. It's like the phone system, a complete piece of shit compared to what you can do today - but we're still dealing with it. The only way we can junk the old is by ensuring compatibility with the old, but the ultimate appeal is by offering something that you just can't get with the old. The internet did this - let you communicate with others, in ways you couldn't before. Sadly, it's now at critical mass, and changing it is going to suck fucking eggs. Oh, and did I mention that TCP/IP needs to go away? It's an irony, your ideas finally get widespread usage, but 30 years after they were originally envisioned, and in those 30 years lots of ways of doing the same thing a lot better have occurred, but you can't just supplant the whole thing... or can you? With the right planning at the onset, perhaps you can make it simple enough to be flexible enough to endure time... there's a mystery there somewhere... maybe I'm wrong about the failings of the past in some respects. I will say that _some_ things they nailed perfectly; other things are getting severely fucked though. It's like many people's feelings about the political and corporate state of affairs - the mechanisms have been abused, and the people are suffering while fuckwits benefit. You're disenfranchised, you feel like the mechanisms in place to fix things aren't working - and you're right. So, what do you do? You need to break out, do you OWN thing. Then you will see the others who are in the same state and you can collect together, and together you might have some hope in time of effecting the change you wish to see. Perhaps the movement becomes a kindling for the masses and revolution occurs, the cycle goes on. Sadly, the revolutions really evolve very little - but sticking to your own things, and realizing your own ideals will be more satisfying, you can lead your life & hopefully those of your family, friends and colleagues in a manner that is satisfying, despite the turmoil and bullshit that the world is facing. Perhaps you can help to push back the worst of the tyrants a little... improving things a bit, or at least preventing the worst. You still need to be aware of the others, protect life & justice, work towards preventing our own extinction because if we can keep on long enough - we can rise up above our bacterial blooming and not kill ourselves off.

Wow I wandered... anyway I really think a new paradigm needs to occur - Winshit and Unix are crap and ancient respectively, and they're the only things really running right now (linux, OSX in the unix camp). My fucking Amiga was a more usable machine than anything made in the past ten years practically and that's complete bullshit.

It needs to be effortless.

It will be.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!