firstly i would like to say that i bloody love this font, linux libertine, it is a free font as in freedom to be free you free your mind freedom, and my god it is so beautiful i have actually put aside my semi-pirated font Georgia and use this. its that good. i am actually going to install this on other OS's that purport to ship 'better' fonts but instead ship crap in a pixel box. oh and btw everything on OS X looks like blurry shit.

of course i cant find the quote, i save snippets from the net and cant find anything. this is the ludicricity of our computer life, machines so well-made for remembering yet unbridled and unharnessed

on perl i remember i needed a hash extension, i used cdb which is a hashtable extension to tie perl's arrays to a constant database to do fast key-value lookups from a file that doesnt change, hence the name constant database. i tried many other databases and used many different ones like sleepycat's db and others but man, i remember trying out way too many.

i was granted such a moment. first i was made to suffer. i was blinded for 2.5 years. i was literally blind and could not see newspaper headlines, watch tv, read anything, use a computer. i sat on a lazyboy in the dark listening to the radio for 6 months. radio is not that good.

a guy named bart at a linux meeting told me once that the first 20% of the mac interface is very polished. then you try to do something that isnt so polished and all hell breaks loose. try to export your original photos in iphoto and you will see what i mean. you end up with a finder window full of autogenerated directories where you manually have to select the photos to copy, choosing from an ill-sorted hierachical tree list where you cant easily see what's what.

sdl is limited to single toplevel windows, meaning you can only have one window per process that has a fast buffer to draw into. one window. to get a fast drawable frame is not a big deal on any system, if youre working at a lower level. maybe on windows you use the old directdraw interface. on linux you might use the X "mit" shared memory extension. its doable. and you get more than one toplevel window to do it in.

what do i propose, or what is my idea, or what im doing with my life

its important to mention the tablet craze. how much shit can you watch, how much can you read without wanting to write, wanting to create? want to make a nation of bums, crack addicts, and useless gabbers, then yeah, give em all tablets and fuck the real computers. fuck the creation urge. better yet get that loud electric buzzer going that never lets us finish a thought to make us all equal like in ayn rand's anthem. oh wait a sec, my buzzer is going, my bitch is sexting me. brb.

i remember xmms. do you? it was a clone of winamp that worked perfectly, that used the gtk toolkit, version 1. well it doesnt even compile anymore, and even binaries wont run because no one ships gtk1 anymore, because gtk 1 is 'deprecated'. fuck deprecated. some cunt took a long time to write it, and a lot of other cunts enjoyed it. the worst part is that you cant even run the existing binary. its there sitting on disk staring at me in the face, but it wont ever start again.

the core has to be linux. it has to be x86 32-bit. you can call kernel calls with int80 that dont change. the elf executable format is documented. binaries could be made to work for years. its possible but you have to give up the libs and the dynamic binding to them.

i remember meeting rms back in 98. he wont remember me, i was a pissant and still am. so is he. but the point is that i told him i was planning on being a lawyer. he told me i would probably end up a parasite. i didnt end up a lawyer.

i had an issue with ffmpeg where the same line with a --threads argument would make a file that wouldnt play on my set-top divx box anymore. if i removed the threading arg from the command line, the same file with all the same options with the same binary on the same computer, would make a file that would play on my set-top divx player. you fucking explain that to me. obviously there was an error in ffmpeg when threading was enabled. if that doesnt even work, why would anyone think that a new compile, even of the same source, but with different tools and linked to different libraries, would work the same way every time?

neither do i

SDL uses a shared memory extension on X windows to get a fast box to draw into, unless you've specified to use the opengl interface.

X applications communicate with the X server using unix domain sockets when you run locally which is almost always now since the network transparent part of X has passed into almost obscurity if not unusability (see dbus etc).

I will bypass xlib completely, and xcb too and talk the X protocol raw via the unix domain socket. A subset of the X protocol that still gives me the mit-shm mit shared memory extension to get a fast buffer should be enough. As above, when you use a subset you can get things done with minimal pain and as a lone programmer. try to do everything or to the letter of the spec and youre doomed. time is a killer.

of course no gtk, qt, or tk. kinda goes without saying if youre bypassing xlib.

unix domain sockets are a two-way pipe between processes with a similar api as tcp sockets.

The app opens a unix socket to the X server. Then it mallocs a chunk of memory for the screen buffer. Then you tell X over the unix socket to use this shared memory buffer for your toplevel. That's how you get a fast drawing window, like sdl, without the baggage that is sdl.

If you stick to a subset of everything, x86 opcodes, elf binaries, x server protocol, you can do it all, from the bottom to the top.

I will use other people's libraries from a different process. This way I get the benefit of their libs now while i work on replacements without complicating my executable or the generation of it.

the development of the tools to bootstrap this vision is done with tcl/tk because thats what im best with.

it is very important to mention, or reiterate the truth of my life. i was blinded and struck down for my folly. I tried to live a life where i ignored the reality of what it means to be alive, to live and breathe code, to program in my dreams, to be defined by it and to define it for myself. i tried to use my skills to make money and i made money. there is nothing wrong with that but when you ignore the soul, the crux of yourself, of your code interior, then it all falls apart. blindness is the result and i am now grateful for it. those years 2.5 years opened my eyes in a way that they would never otherwise. i would be consulting even now and earning 75$/hr like before working on shit that doesnt matter for people who dont mean anything to the universe. i would be getting fatter and fatter and more out of shape and dumber and dumber until all i had in my head was the IE6 css rules and web arcana that pays dollars but leaves you impoverished spiritually. this is very much a spiritual and matter of reality. the only fantasy is the shared delusion that i lived and now have given up on. this is why i am moving to a place where my dollar stretches further and will take my wife and children there too, and i will teach my children to commune with the great code spirit and contemplate the secrets of the code. we are on a spiritual quest, and i take it as seriously as the crusaders took the crusades. hopefully, with more mirth and less tears.