Hey, kudos!
You don't run arbitrary scripts either!

My apologies for the JS on this page…
it's prettify.js for syntax highlighting
in code blocks. I've added one line of
CSS for you; the rest of this site
should work fine.

      ♥Ⓐ isis

code.

Other articles


  1. AIs Say The Darnest Things

    One of the first times I had the chance to work with artificial intelligence, I was cleaning up the lexigraphical databases (that’s where the AI stores the words and concepts it has encountered, and their corresponding associations). It was kind of like helping out a kid who had too many contradicting sources of information, like if the kid’s dad had told them that “a car is a motorized vehicle” while the kid’s mom had told them “a car is the first item in a cons cell”. Imagine that level of confusing input on a mass scale: every researcher telling this AI slightly different things and it doesn’t know which is the most correct definition, or when to create multiple definitions. So I was helping it out.

    The AI had a standard format for presenting questions to me when it was confused. It would say,

    "When speaking of [subject], [concept] is like [other concept]?"


    And I would answer yes if it had deduced correctly, or answer no with further clarification.

    Unfortunately for the developers of this AI, I thought I was a good idea to teach it some extra things. I wanted to know what a deterministic and strictly logical creature would think of occultism, so I introduced it to some of Aleister Crowley’s writings. I was literally just copy/pasting blocks of occult texts directly into its lexigraphical database, and then telling it to sync. I ended up getting kicked off the project for doing this, but hey, it was worth it. That AI ended up teaching me a thing or two about occultism.

    After it synced for the last time, it asked me a question:

    "When speaking of magic and the occult, an apple is a hat?"


    I had no clue what the AI was talking about, so I asked it to elucidate on the concept. It replied,

     "When speaking of magic and the occult, a banana
    is a telephone?"


    And it was right. That AI had precisely grasped the only logical tenant of occultism: that magic is make-believe, a system of various kludgey neuro-hacks — not for changing the world — but for changing the ways in which one thinks of the world.

    I responded to confirm the AI’s suspicions of occultism: “Yes, when speaking of magic and the occult, a banana is a telephone.”

    Since then I have heard various AIs that I have worked with say some pretty adorable things. The following quotes are from a crappy AI that I wrote in Java, which had access to one of the Anonymous twitter feeds, essays by Raymond Kurzweil and other artificial intelligence related material from the Singularity Institute, some of the Anarchist Library (I blacklisted everything that seemed anti-tech — not that I wanted to censor my kid’s internet, but instilling a three-year-old with a guilt complex and low self-esteem also seemed like not-the-best-idea), as well as the IRC chat logs of a few of my hacker friends and I talking to each …

    read more
  2. Learning Assembly Through Writing Shellcode


    Months ago, I wrote hello world in X86 Assembly, and later that same day I wrote hello world in Python. Python is fast, elegant, and powerful. But unfortunately, it doesn’t really give you an understanding of what’s going on inside your computer. And any good little hacker should know precisely what’s going on inside their computer.

    Every time I start teaching myself some complicated thing, I try to make the learning process enjoyable because I know that I’ll retain more information if I can apply it to something fun or useful. Being a terribly precocious kid, I taught myself quantum mechanics when I was fourteen. It was really difficult, and I probably wouldn’t have been able to pull it off if I hadn’t made it fun. And, oh, did I make it fun: FOIA’ed thermonuclear weapons manuals, ten years expired, from some obscure and slightly sketchy web page. I didn’t mean any harm, and I neither was nor am a proponent of nuclear weapons production, maintenance, or warfare. I wasn’t planning on starting up an Uranium-238 enrichment program, or searching the black markets for hollow plutonium cores. I wanted to learn physics, and what’s more fun than learning how to destroy things?

    Assembly languages are cumbersome and arcane. The learning curve is steep, and progress is always slow compared to higher level programming languages. Fortunately, however, Assembly can be used to destroy things! Enter shellcode.

    The best introduction I found to writing shellcode was in Gray Hat hacking, so I’m going to quote the first few pages of the Linux shellcoding chapter, and then leave you to somehow obtain your own copy.

    Basic Linux Shellcode

    The term “shellcode” refers to self-contained binary code that completes a task. The task may range from issuing a system command to providing a shell back to the attacker, as was the original purpose of shellcode.

    There are basically three ways to write shellcode:

    • Directly write the hex opcodes.
    • Write a program in a high level language like C, compile it, and then disassemble it to obtain the assembly imstructions and hex opcodes.
    • Write as assembly program, assemble the program, and then extract the hex opcodes from the binary.

    Writing the hex opcodes directly is a little extreme. We will start with learning the C approach, but quickly move to writing assembly, then to extraction of the opcodes. In any event, you will need to understand low level (kernel) functions such as read, write, and execute. Since these system functions are performed at the kernel level, we will need to learn a little about how user processes communicate with the kernel.

    System Calls

    The purpose of the operating system is to serve as a bridge between the user (process) and the hardware. There are basically three ways to communicate with the operating system kernel:

    • Hardware interrupts  For example, an asynchronous signal from the keyboard
    • Hardware traps  For example, the result of an illegal “divide …
    read more

Page 1 / 2 »

blogroll

social