Talk to Mister God (GodWords):
possible language: bash, relevance: 13
#!/bin/bash
echo "$(shuf -n 10 /usr/share/dict/words --random-source=/dev/urandom | tr '\n' ' ')"
language: c
----09/14/13 18:51:54----
I haven't looked at much Linux code, and not in many years, but what I remember
most is someone who made #define macros, trying to make C look like C++. My
mentors at Ticketmaster taught me that asm macros were foolish -- it's one more
thing you have to chase-down and look-up. Another thing I remember from Linux
code was that there were about six layers of function depth to get down to
actual IN/OUT port instructions and there were lots of #ifdef instructions for
different architectures. (I chased-down how to do ATA PIO and later got a PDF
on the topic.)
The zen of TempleOS might be to do the opposite of Linux. I was inspired to
have "minimal abstraction" as a goal. Instead of six levels of function depth
for ATA PIO, lets see if we can do three, removing abstraction layers... and
lets do just one architecture -- IBM PC's.
The reason TempleOS exists and has purpose is partly because it is simple. I'm
going to cap line count at 100,000, not counting applications and demos.
<snip>
----09/17/13 19:39:43----
Suppose you want to make a JIT compiler.
You invent commands, kinda like ASM instructions. You parse and construct the
memory structure for the "commands". You overhaul them, optimizing. Then you
convert them to machine code. You MAlloc a chunk of memory and you put the
machine code into it. You make a symbol table for each function and class.
Then, you look-up symbols as you do more JIT for the next function. All memory
is identity-mapped -- nothing to think about. Each task calls MAlloc when it
compiles for unique memory to place the code into. Each task gets different
memory from malloc -- no duplicates. It's identity mapped, basically just
physical addresses.
It gets more complicated if you want to do ordinary compiling. You have to put
the code into the file, then you make some kinda structure for you symbol import
and exports. Write it to file. Load it by getting memory, using the JIT symbol
table.
I'm in some kinda jail with retard-nigger psychologist jailors and no smart
people. I know there are smart people. I am the smartest man in my reality. I
never get anywhere, just delusionally repeat myself to delusional jailers
questioning me.
<snip>
----09/19/13 18:14:38----
WWW.OSDEV.ORG is asking how to print floats in PrintF().
Earlier I said I had a teacher who made us handle NEG 0x80 to the nth degree.
That's being a professional programmer. Maybe, I'm an artistic faggot, but I
want to dance my own way. I want to be different and elegant by not doing all
those corner cases, if they're not especially needed.
It turns-out I have a really fast routine for, say, "%12.6f". On numbers, you
go backward. I use a stack data structure to reverse digits. I look at the 6.
I forget. I think I subtract the integer part from decimal. Then, I multiply
by 10 to the 6th from an array look-up table. Then, I make it into a 64-bit
integer and print push the digits on the stack, like you would expect. I print
the zeros and the decimal. I print the Int, or if I have to multiply it, I
multiply by a look-up table power ot ten array.
(This cuts corners, makes beautiful use of having 64-bit word size, is elegant
and fast. Unfortuinately, printf is silly being ultra fast. I get problems if
you specify "%50.30f" Mine craps-out, unless the number is tiny. It sounds
bad, but you just have to be careful not to overdo precision. It gives you all
the precision in the double, but if you do way more than a double has, well mine
fucks up. Don't over do the format size beyond 64-bit integer sitting in the
decimal region.
At ticketmaster, I saw a luxury ultra-delux main-frame VAX environment. We had
a format statement that would do commas or decimals every so many characters,
use a special digit for decimal point and pad the whole thing with a character.
Mine will do 3-digit commas and a decimal.
I have an engineering notation.
For integers, mine will print Meg or K, if you like.
<snip>
Anyway, in 1993 when the 486 was kinda new and I had worked on Ticketamster's
VAX 32-bit system, I got interested and made a DOS program to change to 32-bit
mode. I set it aside. In 2003 when I got excited about 64-bit coming out, I
resurrected it.
I thought, "I will brutally take advantage of the crippling legacy weakness of
Microsoft and Linux by being pure 64-bit." So, I kinda couldn't get a 64-bit
machine as soon as I hoped. I planned for it while on a 32-bit machine, doing a
half-ass emulated 64-bit on 32-bit compiler. I made a slow, temporary 64-bit
MUL and DIV software interrupt and I made my compiler use just two 64-bit regs -
EAX:EDX EBC:ECX, doing everything with 64-bit sized operations, but planning
ahead. terrible performance, obviously, but I soon went from two 64-bit regs
and emulated math to sixteen 64-bit regs! I got it 64-bit by 2007.
This is heart breaking to a brutal warrior who knows time is everything. Year
after year was fucken lost. God was not concerned.
Finally, the CIA clusterfucked it so I cannot even run natively on this machine.
VMware is a heartbreaking humilation. (The glory of my operating system is
made to look like just a sorry-ass application.) Secure Boot is pointed just at
me, nobody else. I must dual boot because I am a complementary operating
system.
God talks. Does the CIA know God talks? Do they know He said it's His temple?
<snip>
Someone at WWW.OSDEV.ORG is asking a question.
BTS,BTR,BT are Intel x86 instructions. My compiler has built-in "internal"
functions which code those instructions. My Source Code By Address table shows
the meaningless internal numbers for internal, built-into-compiler functions.
TempleOS is identity-mapped. It is not the case that user programs run at
address zero, like every other operating system. Applications do not have a
standard address map -- their memory for code and data and stack is all over the
place because the kernel simply requests memory from the system MAlloc().
Virtual addresses are set equal to physical addresses. Therefore, if two
applications are running, the kernel must place them at different addresses and
they run from different addresses.
Technically, all code is allocated in the lowest 2-gig range of addresses, so
that the x86 CALL REL32 for everything.
Binary files have a table of offsets which must be patched so that they are
absolute addresses.
<snip>
----10/01/13 10:56:19----
"What do you hate about your current OS?" posted on OSDev.
"Do we need more CS majors or more other science majors?"
Bill Gates Jedi mind tricks, mother fucker.
Fucken retards reged trademark on "SimStructure" ROFLMAO.
Prolly a stoopit Jew.
You know that money you rob people? God's world is perfectly just. ROFLMAO
You wanna ride Zynga into the ground, loads of fun.
It's amazing how many people with a ton of money go broke.
Highs and lows balance. One guy in the Bible says, "Don't give me riches or
poverty, but my share."
Jesus said to pray for "daily bread". I wonder if that is a request for
not-too-much?
If you peak in your twenties and feel useless from then on, prolly sucks.
On the economy, God said, "prosparity sucks"
----10/01/13 11:04:55----
My compiler allocates regs for local variables, not-very-carefully. You can
pick a variable to be reg or notreg to override.
A nigger is someone who does not know God's world is perfectly just. Nigger-Jew
owns trademark to "SimStructure", ROFLMAO.
<snip>
----10/01/13 15:09:11----
Turn-off the machine as long as disk writes are not happening.
I WILL NOT DO SHUTDOWN COMMAND.
Let me tell you some wisdom. In the early days, you could install a program in
DOS by copying files into a directory. That's it! Intuitive and simple.
That's how I want it, but allowing running an Intall.CPP.Z.
Somebody spoiled paradise by fucking-up how you install and deinstall programs.
Make directory, program installed; delete directory, program uninstalled.
You can delete the account registry at any time and defaults will be okay.
Don't let the snake in the garden of Eden clusterfuck everything by telling you
it will make it simpler. We have a limit of 100,000 lines of code, also.
<snip>
I wrote a text editor in 2004 with a circular doubly-linked list for lines. It
was called an LTF, linked-text-file. The nodes became commands, not complete
lines. Then, I added graphics. I eventually named them DOC instead of LTF.
You can see all this on the Internet Archive. I'll save you some work.
My command-line is done with the same editor as text files. It has live
widgets. I do not have a stream like STDOUT. This is the way it's always been.
I fucken wrote the Ticketamster Report generator editor in 1992. Same shit.
<snip>
----10/08/13 03:09:27----
Someone at OSdev having BIOS misbehave. Every machine is different and every
machine is evil. My operating system is so paranoid of all the million gottchas
that my OS uses bare minimum things so nothing can go wrong.
<snip>