Oh, I got hot sause all over my bazito!

You know what this is? It's a brain sucker. You know what it's doing? Filing its tax return

If you wish to make an apple pie from scratch, you must first invent apple pie

The Adventures of Little Ed Brave

Tell airport security your name is McCannister because you can hide anything in a cannister.

You know what? Nobody notices when this changes anyway.

There are 10 types of people in the world: Those who understand binary, and STFU

What happens in a black hole stays in a black hole

The black hole draws you inexorably inward. Time slows. You are likely to be eaten by a grue.

I'd diddle little umdidlie... if she weren't my half-sister.

Abortion prevents pedophilia. In more ways than one!
Get Firefox!
I wrote a haiku

which I was about to share,

but then I thought, "screw it."
Level 1

Notice to all users of the Holodeck:

There are safety protocols in place that cannot be deactivated without the approval of two commanding officers or the captain to protect users of the Holodeck from potential harm. However, every time the Holodeck is ever used in a nontrivial manner, no matter what the safety protocols say, the Holodeck turns into a deathtrap.

Unless you believe yourself to be adept at constructing a forcefield from your communicator and 19th century Earth tools, or you're at the very least not wearing a red shirt, you are strongly advised not to attempt to use the Holodeck until a designer comes up with a safety protocol that doesn't kill you whenever somebody looks at it funny. Even when you're not on the holodeck. Or in the same quadrant. Or time period.

In fact, if you are wearing a red shirt, Starfleet may not be the job for you

Ed

Category: Programming

Pages: << 1 2 3 4 5 6 7 8 9 10 >>

DNA hacking

Permalink 09/09/08 at 06:29:38 pm, by Ed, 383 words   English (US)
Categories: Programming

I recently read an article that mentioned Junk DNA in such a way that somewhere in my brain, two neurons previously unlinked by a synapse fired in conjunction, thereby creating the thought of a biological equivalent to a certain form of computer exploit known as a buffer overflow.

Essentially, when you run a program, it's stored in computer memory like this:

program
program
program
nothing
nothing
nothing
data
data
data

The nothing is a buffer, such that when you need to allocate more memory, it fills in just above the last allocated data spot, going into the nothing, and turning it into data. So if you need to allocate 10 pieces of data to store the string "dassmesser" (10 letters long), then it would take the 10 nothings above the top-most data and put that string in there.

What if the data you think you have is not as much as the data you actually have? What if you allocate three pieces of data for a 5-letter word? It will just overwrite the data that was on top of the data stack! The unfortunate end-result is that you've lost that data, and now it's equal to whatever the input was. In most cases, not a problem, the program crashes, and you restart. But if that piece of data actually contained a pointer of where the next program line was:

program
program<-----
program     |
nothing     |
nothing     |
<allocated> |
<allocated> |
data--------|
data
data

and the input overwrote it with a value somewhere in the nothing:

nothing
nothing<----|
<input>     |
<input>     |
<input>-----|
data
data

Then the computer would skip all the nothing and just start running the input as if it were the program itself!

The reason I thought of that is because the Junk DNA is like the nothing in the middle there. A hacker could come in and overwrite all the Junk DNA without anybody noticing (ostensibly, somebody would probably notice if you're changing their DNA; ignore that.) and then change one tiny piece of DNA that's actually useful and tell it to go there instead and start randomly morphing you into a beaver! There would have to be some pretty advanced compression algorithms to store beaver DNA in a human's junk DNA, but I don't doubt it could be done. Some day, my pretties, some day. You'll all be beavers.

1D FTW

Permalink 08/23/08 at 08:53:22 am, by Ed, 246 words   English (US)
Categories: Work, Games, Media, Programming

I've been working on a game called "Sid Meier's Civ IV: War of Two Cities" at work for about a month and a half now. Essentially it's a 1-dimensional version of rock-paper-scissors (by itself a 0-Dimensional game, seeing as how you're not moving).

Essentially, you create either Infantry, Ranged, or Mobile units which then meet the enemy's similar units and "battle" in the middle. It's more interesting than that, but in its essence, it is rock-paper-scissor.

In this screenshot, you can see it looks very 2D, but don't let the hills fool you, it's very one-dimensional. You can't jump or anything. Your units can only travel in one direction: Towards the enemy. Here you see a blue Mobile unit (elephant) attacking coming to attack the player's city. Uh-oh, there aren't any defending units (except the wall, of course)!

Actually, looking at that screenshot, I see that it's inaccurate. Player units are blue, and enemy units are red. Strange that the elephant is blue and walking towards the player's city. It's an uprising! The peasants are revolting! Or, the elephants, or something.

Anyway, since I've been working on it for so long, it got me thinking about what other games could do with a dimensional change.

Just make sure you don't accidentally castle.

At least you can keep going.

But here's the kicker. I was thinking, "What about something like Hopscotch?" But oh, that already exists.

1D Hopscotch

Now, doesn't that just seem kinda lame?

Google's WordRank

Permalink 08/22/08 at 06:34:14 am, by Ed, 126 words   English (US)
Categories: Programming

Just looking through Google's statistics for my website, and I found this list of how Google ranks my site's content starting from the most important word:

1. new
2. holodeck
3. earth
4. safety
5. it's
6. name
7. work
8. email
9. school
10. ajax
11. drawing
12. permalink
13. job
14. twins
15. categories
16. busy
17. fine
18. star
19. wars
20. dead
21. design
22. shirt
23. aliens
24. alan
25. users
26. bed
27. birthday
28. comparing
29. crap
30. death
31. apartment
32. blog
33. credits
34. doom
35. duct
36. english
37. fun
38. people
39. form
40. allow
41. games
42. gray
43. mom's
44. haiku
45. doesn
46. feed
47. hardware
48. language
49. man
50. sink
51. dreams
52. happy
53. hate
54. jazz
55. purpose
56. water
57. movies
58. that's
59. addict
60. computer
61. existence
62. keyword
63. linux
64. matrix
65. nothing
66. photomasher
67. turing
68. words
69. world
70. asleep
71. comes
72. doing
73. faeries
74. knew
75. media
76. red
77. anything
78. box
79. browser
80. conscious
81. facebook
82. kraken
83. light
84. mind
85. phantom
86. philosophy
87. play
88. protocols
89. quid
90. stories
91. sucks
92. wearing
93. yonder
94. aire
95. book
96. caniballism
97. computers
98. edison
99. energy
100. face

Naughty Exceptions

Permalink 08/19/08 at 08:57:35 am, by Ed, 207 words   English (US)
Categories: Work, Programming

I was looking for help on some intricacies of how exceptions work in C++ today for work. For those who are unaware, exceptions are "thrown" whenever something unexpected or illegal happens in a program. For example, if you try to divide by zero, an illegal exception would be thrown, and you, as the programmer, would have to catch it. If you didn't your program would crash.

So anyway, I was looking up how to catch a specific type of exception, and I found a good forum that usually has good answers. But it wasn't the answers that prompted me to write this post. It was the Google ads on the bottom:

Ads by Google:

C++ Programming Classes
Learn Basic & Advanced C++ with instructor-led courses. Get info!

Kernel C++ Developer Jobs
Create Ultra Hi Performance C++ API NYC Major Financial Firm. Top Pay.

Humiliate Your Spouse
Expose all of their dirty secrets with top-rated monitoring software! Catch them in the act!

Throw Pillow
Find throw pillow. Your Door To Modern Living.

C++ Resume
Find Qualified Tech Job Seekers. Post Job Listings & Connect at Dice

So if your spouse tries to do anything illegal, you can just throw pillow and catch them in the act, I guess.

Got that monkey

Permalink 05/08/08 at 03:07:21 pm, by Ed, 176 words   English (US)
Categories: School, Programming

I seriously feel so good right now. I just submitted my final projects for my two CS classes at once, and I couldn't care less what happens after this point. I'm frickin' done with them!

Working in groups shouldn't be this hard! In a real setting (i.e. the industry), it's not! You have somebody who tells you what to do, and they would be called your boss. In our projects, we were an egoless organization of programmers who kept interfering with each other, on purpose or not, which meant that little got done at some points. And we had to define our own boundaries, rather than have a team leader who isn't involved in the project do that for us.

Anyway, it's done, and the only thing left for me to do is to paint my flat in my stagecraft class and take a final a week from tomorrow. I am so done with this. I'm out of here.

Now I just gotta figure out where I'm into.

Incidentally, this is how I learn piano:

<< 1 2 3 4 5 6 7 8 9 10 >>