False-Light Security

Security is a losing battle.

If I told you to build a lock that could never be defeated, you could try. But you'd never succeed. Suppose you create a self-destructing lock that eliminates all visible, auditory, and molecular traces of the item in question you're trying to protect...

When you look at something, what do you see?

If you said you see whatever you're looking at, you're wrong...

If you said you see the light that reflected off of whatever you're looking at, you're closer...

If you said you see what your brain interprets that light to be, then you're even closer...

So now visualize what happens in the area outside the scope of the lock in question. Even if the item itself is obliterated and gone forever, the light that bounced off of it is cast out into space, and can be viewed by any passing starship.

Assuming a technologically advanced species, said item protected by said lock could be and likely would be recreated down to the molecular structure.

A long time ago I mentioned to friends about an idea I had called the Light-Scholars. The basic gist of it is that if a faster then light travel is ever invented, the complete, unabridged history of every atom of the Human Race could be recorded and stored for future generations, based solely on the fact that we could teleport to a distant part of space, point powerful telescopes at the image of earth, and record. What we'd see is not what Earth is, but what Earth was. Light that traveled from earth out into empty space. Light with no lifespan.

Understanding this, we're capable of impressive feats of intelligence.

For example, if what we see might not be correct, how could we ever trust what we see?

It's an interesting paradox.

But we're actually going to apply it.

In a typical hollywood-style hacking scene, a username and password are used to gain entrance into an impressive intimidating mainframe type system. If the wrong password is typed, the person attempting to log in gets an error message and the opportunity to re-type it in. Likewise if someone trying to log in quickly to check mail gets their password wrong courtesy of a typo, they also get that error and a chance to type it in again.

This is the wrong way to do it on both counts.

If the hacker uses the wrong username/password, they should be sent to a generic windows screen with almost no content to look through. a keen eye would spot forgeries and fakes here, and they'd have to log out and back in to attempt again.

If the genuine user makes a typo on their password the same thing should happen. they might be logging on just to surf a few pages on the net, at which point they'd log back out. this actually gives them more security.

It's like the difference between logging in as a user and logging in as root. But to take things even further, it could serve as a panic button - if someone is alerted every time the system is activated, it could serve as a warning that an employee might be held at gunpoint (or blackmailed) and forced to log in, at which point further action could be taken.

The key of the system is that you're falsifying information that people accept as truth. You're not building an unbeatable system, you're attacking a very vulnerable insecurity. In short, instead of forcing a person to walk around in platemail armor and drive around in a tank, you're allowing them to be anonymous, like they're walking around town next to a more inviting target, which turns out to be a fake.

Obviously it's not foolproof. But as our world becomes more and more digital, and as new technologies are developed that improve speed and accuracy of everything we do, it's going to become more and more important to attack the human side of the algorithms.


How I saved my school in 1995

This is a secret that I have kept for almost 15 years now. I feel that now is as appropriate a time as ever to tell the truth. In the first half of the school year in 1995, I fell in with the wrong crowd. My friend Josh was troubled, more so than I was, and he began to associate with groups online and offline that endorsed hate and espoused propaganda. Most of this hate was directed at the United States, at our government, and at the people in charge.

Josh took things a step further than most would. He constructed a napalm bomb, and had begun carrying it around in his bag, showing it off to his close friends such as myself, and a few others, and I suppose he used it as a tool to empower himself, since he like me felt somewhat beaten down by the others in school.

When others did not take action because they were afraid or did not know about this threat, I did what I could to stop him. As we were heading to lunch one day, I asked Josh what he planned to do with his bomb. He glared at me and told me to keep quiet. I lied to him and said that no one was listening, and nobody cared. He then revealed that he intended to wait until the portable classrooms were headed to lunch, so that everyone would be indoors, then he would use it. I pointed out that this would allow his accomplices to lock the outside doors and chain them shut. Then he stopped cold and realized that everyone around us actually was paying attention – including the two teachers at the sides of the lunchroom entrances and the security guard next to them.

They were paralyzed with fear. But I didn't allow Josh to take advantage of the situation. I kept him talking and he had no idea what to do next so he just continued as well. I asked him how long a fuse he intended to use. He said he didn't need one. I didn't understand what he meant, so I had him clarify. He explained that he was going to light his cigarette lighter and plunge his fist into the jar of napalm. He said that the blast would kill anyone within a hundred feet instantly and guarantee that the whole school would burn down. With his other friends blocking the exits, even the fire department right down the street would have been helpless. I told him that was stupid. That he should try and find a way to escape. He refused, saying that that wasn't what he wanted. I continued to argue with him until he hit me and I went to wait in line to get my lunch.

The next day, Josh was arrested, after a “random locker search” discovered dangerous materials. The school's officials lied to the press and stated that there was no bomb, only bomb-making materials, that there were no death threats made, and that everyone was safe. For a long time I was very angry with them, partly because I had to sit alone at lunch the rest of the year, part because I thought it was wrong not to talk about this situation, that hiding the truth was some sort of sin. I realize now, especially in light of recent history, that there was some virtue involved in keeping this out of the public spotlight. I've seen people take advantage of other people's fears far too much now. But the people still need to know. Today is the 9th anniversary of a successful terrorist attack on US soil. I see it only all too necessary to inform you of one that was not successful.


Strike Range

Now when playing a free for all multiplayer game there are a lot of strategies that hold true to form. Creatures still want to get in the red zone, spells that hit multiple players are harder hitting than spells that don't, and cards that blow stuff up are still immensely valuable, but there are a few things to remember. And as I say this, if you've never played multiplayer games before, don't wait to read this before you jump in. Being a wallflower is the worst way to prepare yourself.

Now a lot of players will tell you that certain cards like Lightning Bolt, Dark Banishing, or Disenchant are more powerful in duels and that you should rely on stuff like Wrath of God, Earthquake, or Shatterstorm in a multiplayer game instead. That's only partially true. If players detect an underabundance of creature kill, they'll bring out creatures that take advantage of that playgroup's weakness. Lightning Bolt is the big one though. Dealing three damage to a creature is nice but to a player almost seems like a waste of a card in multiplayer - it is NOT. The key concept here to remember is that when your life total is low, you enter strike range. It'll be different from player to player, and at first glance appears to always be bad.

Picture this scenario:
In the later stages of a 5 player game, one player has been eliminated. the life totals of the remaining players are 3, 6, 8, and 12. The player with 3 life is currently the active player. He has 3 cards in his hand and two of them are Forests. (or at least he has convinced the other players of this because those cards are/have been useless). The player with 8 life counts his mountains in play, and then casually reveals one card from his hand and says "oh dear, I seem to have dropped this. Boy, it would be really awesome if someone was to lower someone else's life total to three so I could kill someone."
The active player, with 3 life remaining, now has to look at the creatures he has on the table and send them into the red zone against someone other than the guy with the lightning bolt. He's stuck in a situation where he needs to bluff his way into dealing as much damage as possible to someone in order to make them a better target.

The guy with the lightning bolt is using his cards very well. He's forced another player to dedicate his creatures to the red zone, and hasn't even used his bolt yet. The trick doesn't work for too long - nobody likes the idea of players controlling other players, and you usually end up attracting a lot of undesired attention. But if you do it right, you earn that attention rightfully when you eliminate a player with another player. I've seen tournament rules that rewarded players for each kill they made - it doesn't work! Powerful strategies like this are key to multiplayer prowess.

But it's not always bad for the pawn. If you find yourself in a situation where you can't attack a player because he has the card in hand to kill you, then just play along. You can sit there at 3 life and say "Well, looks like I gotta kill somebody, so here goes!" And the more you put into that, the more people realize that they have to stop the guy with the bolt. To add even more flavor to your game, play it out like the goblin minion of an archvillain. The more attention you attract to him in the process, the better it gets for you, and you can usually get away with it. If your opponent with the bolt is "controlling" you by keeping you in strike range, and he suddenly sees himself staring down the barrels of three other players he might just off you but in the right situations you can get him to waste that bolt on something that just became a more opportune target. This means that even in the worst possible situation, you can keep playing the game and contribute even more while under the gun. You also benefit from a more subtle effect. Supposing that your opponent has a lightning bolt and a Door to Nothingness (which kills a player right out if it gets used), you can ignore the door. Nobody else can. In fact if you can find a way to protect yourself from the bolt, you can pretty much guarantee you won't be the target of the door, because that player wouldn't waste a golden gun opportunity on a player he can kill with much less effort if he draws another bolt. To make the situation even better, if the player only has enough mana to activate the door (but not both it and the bolt), then you can wail away on the guy holding you hostage because he wouldn't dare waste the opportunity to blow away a much bigger target. Just make sure you leave him alive. If it's life or death the question is much easier to answer.

Now there are some rules that are simple and obvious. Cards that mill your opponent's library just don't work in multiplayer, with obvious exceptions. Now that doesn't mean that milling itself won't work. Building a mill deck for multiplayer means building a heavy deflection deck (lots of walls and deterrent cards to make the other players more opportune targets) with enough gunpower to take out a target of opportunity when the situation presents itself. In this deck Prosperity is your biggest card and your namesake. It makes the deck work, because with each card you draw you get the deterrents you want, but you magnify the threat of each other player and give them the tools to take out the other opponents. If you kill a player who is on the verge of winning on their attack step, it doesn't have the shock factor of another kind of kill, and you can usually get away with more while keeping your threat value low. This kind of deck usually wants to stay lowest or second-lowest on threat, because you can't handle it when other players gun down your walls. Take care not to leave too many cards in your hand, players get very suspicious when they look over at a guy with 5 cards in his hand who isn't doing anything. Instead of looking like someone with threats in their hand, you look like an easy target, which is bad news, because even if you DO have threats in your hand you'll be forced to use them ineffectively. Since the strategy works, I've classified it as one of the many multiplayer guns, or deck archetypes that work in general form. (more on that later)

Another strategy forms itself into a deck archetype. What I call "Striking" is the deck strategy of dedicating a creature to the battlefield every other turn or so, and hitting one or two players with every combat phase. Bait your opponent into an alpha strike by counting his creatures and saying something like "Yeah, I could just barely handle all that", then play fog, and send in your own alpha strike for a kill. This strategy works in all colors but Blue, and in each case, playing red or green for it is your best bet to make sure fog sticks. For some reason the combat tricks of white and black make your opponents shy away from overextending. Fog is its signature card like Prosperity is for the deck strategy above. There are multiple kinds of striker decks, each one has its own tricks.

A Rage Striker deck throws down hasty creatures and just acts like the all-purpose barbarian. hit things. hit them often. bring people down into the strike range, then beat up other people and do the same. Create opportunities for your opponents to fight each other when you attack. Don't go after an easy kill if another player is a bigger fish. When someone hits you, hit them with a massive retaliation. If someone attacks you with an alpha strike, use fog. If your opponents kill your creatures let them stay dead. Don't use any combat tricks unless they save your life or bring other players closer to strike range (save your biggest creature if you can, he brings home the bacon). His signature card is Fog.

A Military Striker assembles an army with lots of combat tricks, and goes for an alpha strike when possible, but also for the most part gets people into strike range (but unlike the rage striker, they give the opponent a false sense of security) The signature card here isn't fog, it's Disenchant. You want to take out strategic cards on your opponent's side to weaken him so he can't be on the offensive. Military Strikers are usually white. Military Strikers like equipment, and creatures that do double duty for surprise blockers and attackers. Bonesplitter is great with Auriok Bladewarden here, for the penultimate of that strategy. Surprise 6/3 blocker is nice but the explosion in damage caused by two of them allows you to quickly hit targets of opportunity. Vigilance is your best friend. The Military Striker's signature card is the one that grants him Vigilance, Angel's Trumpet or Serra's Blessing is recommended.

A Kill Striker throws down creatures that exploit weaknesses like Black Knight (protection from white can get him through some walls, especially ones w/ shroud), then follows up by creating weaknesses in defenses and exploiting them. Barter in Blood removes pesky walls while your preferred soldiers walk into the red zone and take what they want. As with the other striker deck strategies, you don't want to hammer a single player until he's dead, you want to lower everyone's life totals to about even levels because you don't want your opponents to feel like you've backed them all into a corner. If you're not creating opportunities for other players to do things you may have messed up. Much like the archetypal villain role though, this player doesn't mind being #1 on threat, because he usually has lots of creature kill and life drain. His signature card is either Terror or Dark Banishing or Doom Blade, or a long list of many other similars.

A Nuke Striker has no need for single target spells and usually does little in the way of creatures, but when he does, they're big. His forte is mass damage, between Hurricane and Earthquake or Jinxed Choker and Sulfuric Vortex. The Nuke Striker is very strong in multiplayer play because these spells are front-loaded (and therefore slightly lower threat) or just outright low threat, allowing him to get away with more while doing a lot to bring everyone down into strike range. If a Nuke Striker shows up, combo decks just end up eating dirt, and in one of the cases mentioned above, even lifegain can't save you. If it could be managed properly, Spiteful Visions fits into the same category (I'm working on it) but it carries some baggage in that it enables the solutions against it, by letting players draw the cards to get rid of it. Combine these strategies with surprises like Eater of Days and Hall of the Bandit King (9/8 Flying haste with trample for the low cost of 4 mana and 3 life?) and your opponents will realize that you really did mean it when you said they wasted the opportunity to attack with Llanowar Elves. The Nuke Striker's signature card is either Earthquake or Jinxed Choker, depending on your playstyle. Don't use both. To beat the Nuke Striker, use Angel's Grace, because he will use it too.

Side note: Jinxed Choker is on the short list of very very broken cards for Free-For-All multiplayer. It warps the format much like Necropotence does, and may even warrant its own article. It's very rare that a card will threaten you with so much and yet also enable you - having it played against you makes it look just as good as if you'd played it yourself, and if you're land flooded and can't draw anything worthwhile, Jinxed Choker allows you to contribute to the game, by both removing counters before it hits you and adding more afterwards. If you destroy it or sacrifice it, other players see it as an attack on one of their resources and respond appropriately. It is phenomenal at doing exactly what this post is about: putting people into strike range and gaining something from that.

When a player is using this strategy in multiplayer, it is usually best to play along. Instant speed lifegain (I recommend Hallow) can completely warp their strategy and force them into an awkward position. But even better is to take advantage of what the striker is providing. if he attacks someone with two guys, attack him with one and leave the other as a blocker. The net result of the skirmishing is that you benefit from more than one player being dealt damage. You can work the striker's momentum against him, even while pursuing an alternate agenda. If your combo deck wins because the other guys were fighting amongst each other and your mana elves got in for 4-5 damage for a kill, it's still a win!


The Multiplayer Threat Spiral

It's the summer of multiplayer, according to the folks at Wizards of the Coast, and it's nice to see my favorite version of Magic: the Gathering finally get some attention for what it is.

A long time ago, back when planeswalkers were immortal, super-powerful beings that could not be summoned like mere creatures, many of us battled amongst the planes in Eastfield Community College. We gathered in the pit, drew our hands, and did battle with each other without the senselessly pompous duels that the game was typically known for.

I learned many gaming strategies from my time there and quickly became known as the guy to beat, not because I was the strongest or scariest adversary, but because of something I'll teach you today.

You see in a multiplayer game you don't have the luxury of simply making sure your deck of cards uses every resource at its disposal to hammer out as much damage as possible fast or gets to its game-winning combo before everyone else. If you play that way you'll quickly find yourself in situations where you're facing off against a united group of enemies who are far more deadly than one person could ever hope to be.

It may sound scary but there are ways to re-orient yourself to the game so you'll understand how best to approach the situation.

We'll start with something simple.

It's a fact that human beings have limited brainpower. There are limits to how many things we can be aware of at any given moment. If you're swamped with work, the slightest request can set you off and make you react irrationally to a request, for example, to go get someone a drink, or to pick something up off the floor, or whatever.

The best estimate I've seen is 7. I have no idea who came up with the number but it works okay. Seven things are supposedly the maximum number of things that a single person can worry about at any given time, which is by no means going to be appropriate for everyone you run across, but let's roll with it.

Picture the following scenario:
You are playing a green deck in a multiplayer game with 4 other players.
In front of you are a few forests, untapped, and a wall of wood.
The other players each also have only one creature:
a 2/2 White Knight (with First Strike), a 2/2 Suq'Ata Lancer(with Flanking), a 3/4 Scragnoth(with Protection from Blue), and a 4/4 Air Elemental(with Flying).

It's easy for us to identify the player on the board that seems the most threatening. That's the guy with the Air Elemental. He's right now in a bad situation, because while his guy may be bigger than everyone else's, he's not in a situation where he can attack. it will leave him open to take far more damage than he'd be dishing out.

Visualizing these creatures we can easily put them into a sort of totem pole of threat, with Air Elemental on top and Wall of Wood at the bottom. But that's wrong. You see, we human beings innately only worry about the top threats. Sometimes as things get complicated we lump things together, which is good, especially if they act in unison. But this is a special case.

Here's where I'll introduce a new concept to you: the Multiplayer Threat Spiral. The creatures we've mentioned tend to spiral inwards, with the 7 most threatening things on the outside. Anything that finds its way on the inside of that spiral tends to disappear from our collective consciousness, and gains a very valuable trait for multiplayer gaming. It's invisible.

So let's look at our guys and arrange them in a spiral pattern based on how threatening they are.

Air Elemental
White Knight
Suq'Ata Lancer
Untapped Mountains
Untapped Islands
Untapped Plains
Untapped Forests (owned by player with bigger creature in play)
Untapped Forests (owned by player with Wall of Wood)
Wall of Wood

Unexpected? Not to worry, it gets everyone the first time around. Notice that the untapped mountains and islands are (of course!) more threatening than an 0/3 wall. Even the Forests around him are more threatening, because without them, he's nothing more than a speedbump. A terrain feature. An Obstacle. (why did I capitalize that word? FORESHADOWING!) It's also worth mentioning that the threat value of those untapped lands is multiplied somewhat for each card in the opponent's hand plus the cards they'll be drawing the next turn.

Note that in this case we're in a situation where there's a very high chance that someone may attack you, not expecting that you have something up your sleeve for that wall.

So you may be thinking of whether this "threat" is actually going to be useful, or if it's just some random thing to watch for while you're playing. Well it can work in your favor, but there are things to worry about.

You do NOT want to be the most threatening guy on the table. This isn't a game where the guy that held the top spot longest wins. It's about the last guy standing. And you don't want to be the least threatening guy on the table either, because players that just want something to shoot will gun for the first easy target they see. The best position, from experience, is the second most threatening guy in the group.

This does take some work though.

* Whenever anyone else is the top dog, mention it. Get as many people as you can to look their way, and take advantage of the fact that they may skip over you as a target in an opportune moment.

* keep track of whether the cards in your deck are "problems" or "answers". a "problem" is something that your opponents have to deal with. something that becomes a threat. An "answer" is something that CAN deal with a threat. Some cards don't fit the categories, but this will really help your game. Nothing worse than walking through a 45-minute stalemate because you forgot that you don't have any more cards that can get rid of a Platinum Angel. At that point it's best to move on to the next game.

* Be sure to remember to hold cards in your hand based on what you think other players will do. If you have Scragnoth, by all means play him and force your blue-playing opponent to play something bigger (which leads to the example above). He knows if he doesn't play his big guy, he's toast, and playing it makes him the aggro magnet while you can build up your forces under the disguise of doing so defensively. But for the most part, cards in hand are less threatening than when in play.

* Play with cards that "hose" certain colors or strategies. Scragnoth is a good example for the reasons mentioned but there are others. Light of Day can eliminate a player outright, but better, it can eliminate two, if you just need someone to swing in with their guys to a helpless opponent, while you come in for the kill once his guys are tapped. Fog can eliminate a player in much the same way, by drawing in a massive alpha strike and then letting the others take him down when it fails. Sleep can do double duty, both eliminating potential attackers AND forcing that player to play more threatening cards, setting him up for an atrocious downward spiral where he's trying in vain to rebuild his defense over one turn, and inevitably finds himself staring down the barrels of everyone's guns.

* Walls don't block, they deflect. If you have Wall of Wood and the only other creature out there is a white knight, you're not getting attacked! Even if the white knight player has a spell to pump up his guy in combat it would be wasted to kill a Wall of Wood. Wall of Wood is one of those very rare cards that actually becomes less threatening when you dedicate it to the board. Don't waste that power.

* Don't get caught in a duel. In a multiplayer game where you have 5 players, and 2 guys inevitably have some sort of out-of-game score to settle, they might get caught up in a fight with each other. If you walk away from that with 3 life and a handful of creatures everyone else wants dead, you become the easiest target and the most threatening.

* Playing with high-threat cards and just playing fewer cards doesn't work. It only takes a couple of spells cast that attract everyone's attention before they look to you as the guy to kill and immediately assume that every card in your hand is "one of THOSE cards." And that's even if you're only using them to take out big threats other people play.

* Playing with low-threat cards exclusively doesn't work all that well either. If you have lower-threat cards in your deck you have the luxury of dedicating more cards to the board and still looking less threatening. But you can - and will - run out of cards in hand and when that happens, you're toast. You can fix that by putting obstacles in your opponents' way, be they walls or other things, but it won't be foolproof.

* Talk. Talk a lot. In fact, at times, don't stop talking. It's not that it bothers your opponents, it gives you insight into what they're thinking. You can tell easily which person they find most threatening, just by speaking to them and gauging their response. You can guess whether their hand is full of problems or answers, you can tell if they've got a fistful of forests, you can guess if they've run out of creatures in their deck! And it helps to keep the mood lighter. In the end, Just talk.

There are other tricks to multiplayer that are just as important but this will help the most. The second thing to keep in mind, which is called Strike Range, I'll go into later with my next post. In the meantime have fun building multiplayer-friendly decks.


Traveling Salesman, continued.

Inbetween fighting with my OS's and discovering the wonders of Playonlinux, and my wondrous library of old games I can play again, I suppose I really should get back to this; It's kinda important.

Here I have a diagram of one case that might pop up while you're messing with Geometric Collapse. This is (supposed to be) a grid of points arranged all nice and neat for your convenience. (I blame MSPaint for my horrible art skills)

We do our normal Geometric Collapse first step, wrapping a rubber band around the outer points, and take a look at the closest point - problem is, that's all of them. Choosing one at random to begin, we see that there are two points on the path that are the closest to the new point, this causes much confusion.
Not to worry, we can just take things in order. When you have the choice of which point to hit up next, just take things in stride, and things will work out.
We can't add the point to the path a second time, that's... well, bad. But whatever. In case you're wondering, the point to the left there is now the nearest neighbor and will be connected to the diagonal line now. You'll end up with an H shape, if you follow along correctly.
But now we're going to break Geometric Collapse.

Here's a picture of a path that defeats the algorithm, depending on how you look at it.

It's very easy to see where the outer path will be once you've started, but then you have an interesting conundrum like the one above. You'll start out like that H pattern, creating a square indention in the path, but then you have a very strange problem. The nearest neighbor (well, had I drawn it more appropriately) will actually be very close to dead-even with a path directly outward from the nearest point. This is tricky because If Geometric Collapse worked correctly, we (sorta) know that we'd end up with a large C shape in the end. But I'm not too confident that will actually happen.

Will our hero turn out triumphant in the end? Who knows. Ooh, shiny!

Let's turn our attention (deficit disorder) to a new method: Geometric Explosion.
Geometric Explosion is much like Geometric Collapse in practice, with you building a path from points in space, but the coolest part of Geometric Explosion is that it works in 2d, 3d, and even 4d space (with Time as the 4th dimension).

This time, instead of creating a path around the outer edge and working our way in, we're going to create something out of nothing, beginning with a very simple geometric feature and 'exploding' it outward until it becomes an incredibly complex and beautiful path, which in the end will connect back to its real start and form a loop.

We begin with a cluster of stars, out in space.

No pictures here, since I'm bad enough at 2-dimensional artwork.

What we do first is create an imaginary point in space at the center of gravity/mass of that star cluster.

Then we draw a dotted line from that point to its nearest neighbor. This is our 'starting' point but we haven't even really begun in real space yet, we have an imaginary line and a real point in space.

From there we find the nearest neighbor to the imaginary path, and connect the real point to that point with a real line.

Now at this point I have to stop you because I find this very cool even though it's completely trivial information. We've just created a sort of triangle, only it's a triangle with one side of length ci, where c is a constant and i is the infamous imaginary number, the square root of -1. Our second side is of length c2, a second constant. our third side is of length NaN, or not a number, null, etc. We've effectively just linked together the real, the imaginary, and the nonexistent, and proven that the three are distinctly different. Sweet! I shall hereby dub thee the 'Awesome Triangle!" I'm sure plenty of math professors out there will consider you a waste of time but that, in my opinion, is the best way to use time. Back to the shortest path we go...

From here on we proceed much in the same way as we would with Geometric Collapse, with a nearest-neighbor-to-the-path procession through our stars, which will eventually form a large snake through space, and once all the stars are covered, we simply connect the tail to the head and form our Ouroboros. (Score another point for video game vocabulary!)

But what if those stars are actually moving?
Surely space is not so boring. Well, whatever. In the case of stars it's very easy to calculate what their path will be over the estimated time of your star trek, so we just use that as a guideline. We can give each star a curved vector to describe its path through space, and that gives us a timeline for each star. That means that the first star along the path will be connected to the "earliest" part of its vector, and the last star will be connected to the "latest" part of its vector. Something we might want to keep in mind is what might happen if a star decides "screw this I'm going bowling" and goes nova as we're along that path, all of the stars are going to have their vectors dramatically changed, but we can just roll with it. After all, we're able to calculate this path out so fast that we can do it while we're on the way to the first star. Let's just hope our shields can handle it, Captain.

As was the case before, I welcome any and all commentary on my methods, and encourage you to offer feedback. If you see anything wrong, take a torch to the house of cards and help build a better one! If this does turn out to stand up to scrutiny, that's a wonderful thing because it calls into question the idea that P is not equal to NP. If it fails your tests, that's just as important to know.

Best of luck to you all as you attempt to prove or disprove the theories, and have fun.


Traveling Salesman in Polynomial Time

I had considered posting this on April Fools' Day, but it would have been very cruel.

Many years ago, as I was playing Mario Kart, I inadvertently solved a very difficult math problem in a very important way. Just for fun, I tried visualizing the absolute slowest way to go around a racetrack, and realized that in the game, aiming directly at the wall would either result in your go-cart stopping completely or moving very slowly perpendicular to your aim. That's when I realized that the racetrack could easily be used to find its solution. It's not something you can see from the point of view of the driver, but looking at the situation from above, the solution to the racetrack is as simple as the path of a rubber band that you stick down and wrap around the inner barriers of the course. The rubber band of course will automatically stretch out, going from one turn to another and showing you the exact location to make a turn, and when to shift from turning left to right, or vice versa.
Here's a visual representation of 3 racetracks:You'll notice I took the liberty of showing the shortest path for each of them as a red line. for the first track, there's no need, the track itself is its solution.

The second course's solution is a near-exact replica of the first course.

The third track, however, is where things get interesting. Although the solution isn't exactly like the second course, we can see that there's a mathematical relationship between these three tracks. Much like the derivative of a function, each step to the left represents a simplification of the course. This presents us with the ability to solve more complex problems, in much the same way.

Here we have a more complex racetrack, which I've taken the liberty of showing the solution for, to the right.

Down here I do something more interesting. I highlighted the curves where the driver has to go around and put dots where the racetrack doesn't allow the driver to take a shortcut. So these are the points on the graph that matter, they describe the path itself.On the right here, I did something really interesting. I deleted the barriers and the track itself, creating a representation of the dots that would be a traveling salesman problem. I have, essentially, gone from the solution to the problem to the problem itself. Thing is, I took the liberty of deleting the barriers, because I like randomness and want to see if there's a shorter path around these points. If you choose not to, you'll get the exact same path as before when we work the next few steps, but this is like doing it with training wheels or a bumper in bowling. We don't need it, we'd rather do a harder problem, and actually see some impressive results. After all, this is one of the hardest problems in math, so let's go ahead and be a badass.

K, here we go:This is a process I call Geometric Collapse. Basically we're taking a complex geometric shape (a rubber band-like circle-ish shape) and we're collapsing it into a series of much simpler shapes: lines. the first thing we do is wrap it around our little path, which you could visualize as oddly-shaped thumbtacks on a board, or perhaps as a delivery route, in which case you're now going to visualize adding stops to. turns out since the outermost points are necessary, they describe the extremes of the graph. Since we know we have to include them, and the path can't be any shorter, this is where we start. This can be very annoying to those of you who want to solve this programmatically, since there's no quick and easy way to get that other than starting off with it. However, and this is the big part:

We can, from this point, solve the problem correctly, and as quickly as a nearest-neighbor algorithm. All we have to do is remember that we want the nearest unconnected neighbor to the path itself, not the last point we visited. so if you're thinking of it as thumbtacks on a board, you're just stretching the band to the nearest unconnected thumbtack and pinning it down to the board. We proceed, as above, until all points are connected.

If you're visualizing it as a delivery route, you're thinking, "Where along my route can I get this delivery done so that it interferes the least with my schedule?"

The real reason this works so well is because of how powerful networks are. Visualizing the problem from the point of view of a single person, you're doomed to fail. It's too complex a task for one eye to do it (which is neat, since we have two eyes, perhaps our bodies go through this process naturally? food for thought!). Yet, when the delivery guy thinks about how to work something into his route, the problem becomes very easy.

But supposing he already has his route set up and he gets 4 new stops because he's operating so efficiently? Would adding them to his path work out just as well as starting from scratch and creating a path that includes all the old and new stops? Definitely worth testing.

But it's important, because it means you can solve a traveling salesman problem with 200 points in a matter of minutes, instead of 788,657,867,364,790,503,552,363,213,932,185,062,295,135,977,687,
000,000,000,000,000,000,000,000,000,000,000,000,000 calculations. (computers can do billions or trillions of these a second.)

That is to say, this is a way of actually doing it.

To put things in perspective, if you started a program today to calculate that problem, and the program was flawless, and the computer it was running on was upgraded every time it could be, and you moved it out of the way when earth blew up, and when our sun died, and when our galaxy went out, it would still be running when the universe ended of heat-death.

So solving this problem quickly is a good thing. :)
And I have no intentions of patenting the technology. It's a mathematical truth and it belongs to the world!

Join me next time when I describe another way of solving it, which is more programmatically-friendly. I call it "Geometric Explosion." It's also nice in that it can be done in three dimensions, which is a nice plus. I'll also discuss the most difficult situations in which geometric collapse is tested, namely on grid-like structures where the points are equidistant and it's difficult to choose how to proceed from where you are.

Until then, I can be reached via email, I am kingrames of gmail.
I can also be reached via twitter, if your scathing rebuttals are 140 characters or less. http://twitter.com/Kingrames

I welcome all comments, especially the derogatory hateful stuff, and especially if you prove me wrong. That's what this whole process is about. Please offer criticism of all kinds, I welcome it.


Feeling better now. Can't wait to be fully healthy again.

With most of the crap I was dealing with behind me now, all that's left is an impending hernia surgery, which will be quite fun. My, I'm cheerful, aren't I?

I was shopping on Amazon on Saturday, and after a purchase, Amazon felt it was appropriate to remind me of some stuff on my wish list. I went ahead and grabbed one, a game I already own the sequel to, and then amazon recommended "Record of Agarest War." my first reaction was something along the lines of "come on, amazon, you should know I hate Record of Lodoss War." Then I noticed that it clearly did not say Lodoss. Then, I looked at the cover of the game, and saw what looked like two girls in a bathtub. I said, "what the heck kind of war is that?" and immediately googled the game's name. I must say the trailer was hilarious. Deciding it was worth a look, I checked out the game to see what came with the preorder, and - it comes with one of those stupid japanese mousepads with the boobies-shaped wrist rests. I instinctively reached up to facepalm, and knocked my own hockey puck wrist rest onto the floor. "Dammit, I hate when that ..." I caught myself mid-sentence.

Well played, gentlemen. Well played.



My infection is gone, but I'm still feeling something from the medication. Perhaps it's just the withdrawal, but whatever it is, I'm miserable. What I wouldn't give for a star-trek-style medical miracle device.

I started watching Star Trek: Enterprise recently, and have seen most of season 1. Other than a few glaringly bad lines of dialogue I've found it acceptable. Perhaps I should go back and watch it one of these days when I'm not medicated.

Writing a blog is somewhat uplifting. Perhaps I should begin updating more than once a week.


So I have a deadly infection.

I'm infected with some sort of bacteria strain, close to my brain.  The nurse says it could be fatal.  I may have only minutes to live - and the fate of the world rests in my hands.  Or I could be exaggerating. Slightly. As much as this sucks, I find it isn't too bad. It could certainly be much worse.

The weather in Texas is never predictable, but lately it's been pretty crappy.  Probably just due to it being winter, but the rain and the snow (yes, it happened) really made going to work miserable.

I'm having trouble focusing on anything worthwhile, and thank God for caffiene or I'd be dead asleep. Perhaps tomorrow would be better for writing.


Star Trek Online is good.

So I tried out Star Trek Online when it was in beta, fully expecting it to be incomplete, unfaithful, and mediocre.  Five bucks is nothing, I thought, and when I first logged in and played around, it seemed to be exactly as i predicted.

I logged back in a day later, and started messing around with my inventory after i had looted a tribble.  I found two of them, and couldn't spot the romulan ale i had looted earlier... a little while later I check back to see there are now 5 tribbles! I quickly handed them out to my bridge crew, hoping to stem the tide of the epidemic, and beamed down to a planet to investigate some fishy seismic readings. I hear purring, and quickly spin around to see which officer is responsible, when they all hide behind me. Then I calmly turn the camera around slowly and wait, and catch her in the act!

My vulcan engineer is smiling and stroking the tribble, and I just lose it and laugh.

The game is filled with all sorts of Trek stuff, but the best by far are all the little things.  The Wolf 359 fleet graveyard, the Ferengi smugglers, the planets you land on that look like they're straight out of the original series' oil paintings...

Good is just the right word to describe it.