Yes, TeamDick isn’t dead! It’s just highly neglected. Lucky for all of us the server hosting TeamDick was shuttered, forcing it to be moved and updated and tested and… well… I’m already logged in so why not throw out some quick post.
Sent: Friday, May 15, 2015 1:08 PM
To: Adams, John
If given – would you keep? If you even had to keep the tailpipes?
From: Adams, John
Sent: Friday, May 15, 2015 2:23 PM
Subject: RE: ...
That is a great question. I should immediately say yes. Driving that thing will be VERY fun (and a little scary) and I’ll be on the inside so I don’t have to look at that train-wreck of thing produced by a child gaining access to his mother's makeup kit while unsupervised in a room full of white walls.
But then I look out the rear-view mirror and I see nothing but tailpipe. Then I start to think about how those tailpipes will actually slow the car down because the air pushing down through the pipes will increase pressure up through to the manifold and the cylinders will not be squeezing out all the exhaust gas it should, leaving less room for new, freshly squeezed gasoline and oxygen to ignite and send me forward several miles per hours more than it would with those Fenway Park obstructed view, performance reducing, pipes.
And then, now that my mind has gone in a negative direction, I’ll remember that I’m in a car that has a pattern on it reserved for ladies undergarments who are either from Jersey Shore or over the age of 50. That mental image of Grandma Snooki will percolate and permeate and eventually taint everything that was wholesome and good inside my head and, distracted trying to find a Dyson product for brains and save what few, clean square inches of 70's orange shag carpet there are left in my head, I’ll run someone over. They’ll be thrown up onto the hood and immediately impaled by a hundred little spikes. Were this an animal like a cow, I could say I was just tenderizing the meat and show the bottle of A1 in the trunk to the cops. But if it’s an actual human being I’m going to have a much harder time trying to explain the many divots left in the bloody mass trying to run away screaming, NOT because of they are in physical pain, but running away from the latest offering from Takashi Miike that is that car.
I’m a fan of Gilbert Gottfried. Judge me how you will for that one.
I once bought a signed copy of his DVD off his website and the signature on this thing looked like something written by a five-year-old. That seemed appropriate.
He recently started a podcast called Gilbert Gottfried’s Amazing Colossal Podcast. He invites friends of his over to his apartment and they talk for an hour. It sounds simple, and boring, but it’s one of the most interesting podcasts I’ve ever listened to. Of the first 15 shows, the guest list is wonderfully eclectic and includes people like Dick Cavett, Paul Schaffer, Larry Storch, Penn Jillette, and Billy West. Most of the podcast is Gilbert and the guest trading stories, and there’s awesome stories, about comedians, television and movie stars, and more. The only thing that you might find uninteresting is several of the stories are about old-time stars that anyone born after, say, 1980, will have no clue who they are, but this is what Wikipedia was created for.
Check it out. It’s free and it’s worth it.
I blogged a while back about a contest where you were asked to find input for an MD5 hash that would produce a result that matched at least some number of bits to a hash value the contest provided.
I found the contest by watching the promotion video on the Novena crowd funding campaign web site. Towards the end of the video you’ll see some text appear for a fraction of a second on the screen behind Andrew Huang. It’s a base64 encoded URL for the contest web site. The contest awarded a Novena laptop to the person who found the most strings whose hashes matched a given number of bits. The contest web site stated the number of bits you had to match might change depending on how difficult the challenge proved to be.
When I found the contest, the number of bits you had to match was up to 107. There was one person at the top who already had several hundred matches under their belt. Either they are and expert at MD5 and its vulnerabilities, or (my guess) they found the contest much sooner when the difficulty was much lower.
The target hash for the contest was “29c986a49abf80e9edf2ffe8efb7e040” which is the MD5 hash of the string “novena”.
The most number of bits I was able to match was 105 after running my HashAway program for 48 hours on a 4-core Intel i5 processor. That I didn’t even find one was a bummer, but it was a great exercise in the search to pull out the best performance from my program. For example I had initially written the program to generate a random string and hash that to search for matches. What I eventually did was hash the result of the previous hash. This had a great boost in performance as the overhead of generating random strings, and converting them to byte values to hash, was gone. A simple trick with big results. It was also a great exercise in becoming familiar with multi-threading in Java.
The last version of the code I had posted was version 1.3. Here is HashAway version 1.4 which is what I used to find my best 105-bit match.
I did do a quick search and found one other person’s source code for this problem. In the source you can see they found the contest when the difficulty was at 105 bits. If only I’d found the contest sooner. The comments in the source also state the contest started out at 90 bits! I can get 90-bit matches at a rate of 4/5 a second even on an old dual-core processor.
Ah well. So it goes.
My first thought: I’d like to hack that. All manner of scenarios flooded my mind. What happens if I just tipped it on its side? Does it send out some kind of SOS to it’s robot overlords? If I’m going up in an elevator with one, what happens if I press all the buttons? Can I give it commands using the touch screen? Maybe make it open up and take whatever is inside it? Can I reprogram it to send its delivery to a different room? After it makes a delivery, can I tell it to pay a visit to another room? Reading further about this robot, I’ve learned it uses a wireless connection to talk to, among other things, the software on the elevator to control where it wants to go. So that means the elevator is accepting commands via a wireless network? Can I send the elevator commands too? Can I send the robot a false response from the elevator so it gets off at the wrong floor? What if I wrap the whole thing in foil to block any wireless signals from reaching the thing at all? Can I force it into some kind of debug or developer mode? Can I plug into it with my laptop? Can I install Linux on it?
Then I thought… is this the robot equivalent of sexism? If I see a particular attractive woman, that initial “I’d like to … enjoy her company” thought that crosses the mind, is that in the same zip code as looking at a robot and thinking “I’d like to hack that”? Is that objectification … of an object? And if so, is it a bad thing since it’s an actual object? Would humanizing an object be as incorrect as objectifying a human?
That I was listening to The Electric Lady at the same time may have influenced these thoughts a bit.
Perhaps we’re living in the Mad Men equivalent era of human/robot relations, where humans drink hard and treat robots as objects created only to fulfill personal desire. Awesome! The time to abuse what is acceptable, but in the future be seen as abhorrent, behavior is now. Grab a robot and hack it. Hack it hard.
What’s happening here?
Sounds to me like the student is copying off the teacher. Or Moroder created both and gave Faltermeyer the credit. I’m leaning towards the latter. I think at the very least the guitar track off both songs came off the same synthesizer. And maybe some early work on The NeverEnding Story was recycled for Top Gun.
Earlier this year I caught wind of a campaign to raise funds to purchase hardware and develop software to then communicate with an abandoned satellite and bring into orbit near Earth. The International Sun/Earth Explorer 3 (ISEE-3) was launched on August 12, 1978. It’s original mission was to sit in an orbit around the Sun-Earth Lagrangian point (L1) and monitor various properties of the Sun, the Earth, and the interactions between the two.
In 1982, after completing it’s original mission, NASA repurposed it to chase down a comet and study it. Over a few years it made a series of maneuvers, making the most of it’s remaining fuel and gravity to slingshot around the moon and Earth and put it into an orbit around the sun with an eye towards Halley’s Comet.
By 1999 NASA ended the mission, powered down the satellite, and donated it to the Smithsonian. Or so they thought. In 2008 NASA found out that it had not been powered down and that all of its instruments, save one, were still operating. This presented an opportunity to take control of the satellite once more, move it back to L1 and let it continue to do science for however long its systems keep running.
One problem: NASA didn’t have the equipment to properly communicate with it anymore. After they thought it had been turned off in 1999, the necessary equipment was decommissioned.
Enter the ISEE-3 reboot project. A private group of scientists and engineers made a bid to take back control of the satellite by recreating the lost hardware using software-defined radio (SDR), in other words use a computer to simulate the physical hardware. Money was needed to fund development of the system as well as hardware to transmit the signal and to buy time on radio telescopes like the one at Arecibo Observatory (as made famous by the 1997 film Contact).
By the end of May the project was funded and the group immediately got to work. Within a month they were back in communication with ISEE-3 and began preparations to fire its thrusters and bring it back to L1. The entire project chronicled in their ISEE-3 Reboot blog.
This week, on Tuesday July 8, they attempted to make the Trajectory Correction Maneuver (TCM) to bring ISEE-3 to L1. Unfortunately the thrusters sputtered and died. The next day they tried to troubleshoot the problem as best you can from several hundreds of thousands of miles away. The diagnosis: the nitrogen gas used to pressurize the fuel tanks and force the fuel out of the tanks and into the thrusters had been depleted. The fuel is there, but without pressure it’s not going anywhere. The whole effort played out live on the ISEE-3 Reboot Twitter account.
So what now? The ISEE-3 Reboot team have put the satellite into science collecting mode. As long as its systems allow, it will continue to collect data and transmit it back to Earth. Unfortunately it will eventually head back out towards the sun and be too far for us to listen to it in a cost effective manner. We’ve got about three months until it’s too far away and so they’ll make the most of it.
And maybe in another 30 years it’ll come back and we can listen once again, for a few months, about what else ISEE-3 can see.
RocketNews24 has a cool story about how a Japanese variety show stumbled into an expose on Freemasonry.
The show, You ha Nani Shi ni Nihon e? asks foreigners as they arrive at a Japanese airport why they came to Japan. They then follow these people for a little while learning more about them and what they’re doing. One of the people they approached came to Tokyo to take part in the initiation ceremony of a new Grand Master in Tokyo. The film crew were invited inside the Grand Lodge in Tokyo and got a peek at something few outside of Freemasonry ever get to see.
I like the idea of the show itself, and I love how something so simple can turn into something quite interesting.
Suberanai Hanashi is a show hosted by Hitoshi Matsumoto. In the show a group of comedians sit around a table taking turns telling funny stories. Who goes next is determined by a roll of a dice.
The title of the show basically means “Stories That Don’t Suck”.
Unlike a lot of Japanese television, this is one where a lack of understanding of the language means you’re not going to get anything out of it. Lucky for us GodzillaRadio has created subtitles for us. It’s an hour long and worth checking out and laughing your ass off.
I saw a video on the internet not too long ago. In it, on a screen in the background, for just a few seconds, displayed a string of text I immediately recognized as being base64 encoded data. I paused the video, typed the text into my base64 decoder ring, and found it was a URL. I put the URL into my browser and found out that I’d stumbled upon a little contest that would begin sometime in the future and that I should keep checking back to see if the contest has started.
Well I forgot about all of that and only went back this evening to check and sure enough the contest had begun. It ends on May 10th.
The contest is fairly straightforward computer geek stuff. An MD5 hash value was provided and the contest was to find strings that, when similarly hashed, shared X number of the 128 bits in the hash on the page. There’s a form asking for a name and e-mail address to register. Once registered, you can submit strings you find that meet the criteria. When the contest is over, the person with the most number of found hashes wins a new, very cool computer.
There’s only 10 people on the leader board and only 2 of them have over 10 found hashes, but those two currently have over 100. The number of bits you need to match can be changed as the contest operators sees fit. It’s currently set at 107 bits. With nothing to do on a Friday night and a desire to take a little Java refresher, I dug in.
It’s multi-threaded to maximize all the cores in my CPU (4). Thread priority is set to minimum, so I can keep doing whatever I want on my computer and it won’t slow down. I’m averaging about 900,000 hashes a second and after an hour I haven’t found a match. This may take some time. The program can be set at the command line to use more or less threads and change the difficulty to. Try it at difficulty of 90 and you’ll see a few start popping up immediately.
I’m not providing a URL to the contest and the hash in the source isn’t the real hash the contest wants you to use. Maybe I’ll mention it after the contest finishes. For now I just want to find my first hash with the program I wrote. My electric company will love me.
— Update 2 Days Later —
It started out at about 900,000 hashes a second. I found some ways to speed things up such as avoiding string manipulation wherever possible and using bit operations instead of Java objects like BitSet and I found a slightly faster RNG than the native java.util.Random. That got me up to 3.5 million hashes a second. I then realized I was running a 32-bit JVM (for browser compatibility). I installed a 64-bit JVM and now I’m up to 5.5 million hashes a second.
The source linked above has been updated to my latest.
I probably have about 36 hours running this thing so far and I haven’t found a match yet. I modified the code to keep track of the highest number of bits matched against so I can get some sense of progress. The highest I’ve matched is 103 bits. So close, but so exponentially far away.
I’ve got six days left.
— Update 3 Days Later —
I’ve removed the use of String objects from the search loop (except when outputting a match, that doesn’t mean much from a performance standpoint) by writing my own code to generate the hexadecimal values instead of using Long.toHexString(). I have also removed the calls to the random number generator in the loop. Now I seed the loop with a random value, but then keep hashing the previous results. This is, in a way, how RNGs work and for my purposes (i.e. this is not a security application) it gets the job done without the overhead of generating new values with every iteration.
This has boosted performance up to 10 million hashes a second. 5 days left to go and no matches yet. Still trying to squeeze out every last drop I can from this code (“SO USE ASM or C!” Yeah, I know, but I want to stick with Java as this is a Java learning experience.)