Wednesday, August 1, 2018

TRON II

Yesterday would have been my mother's birthday. Gets me thinking about my father, and how grateful I am to still have him around.

He is a tremendous father. He taught me discipline and how to practice.

He explained over, and over, and over again,

"Most people will tell you that practice makes perfect. The truth is, practice makes permanent. Only perfect practice makes perfect."

Which brings me to TerryRON = TRON (Ron is my father's name). He bought me my first computers and gaming systems and always made sure I had the latest gadgets, books and educational opportunities.

Glad to make it through Wednesday. Only two more days to the weekend.

But for tonight, I'm going to kick back and enjoy..,.


Tuesday, July 31, 2018

My foobar experience withgoogle!



void(0) = nolybab

dedicated to my mother whose birthday would be today. been missing her all day.

Work In Progress...just trying to get this out there to help others, but also editing as I go along and eventually within a day or so this will be pretty cleaned up.

first, if you have no idea about foobar.withgoogle.com just google it

or, try going to www.google.com/foobar

at work, google search on programming topic, window opens in google results screen (refer to other blogs for images of search results screen). investigate, whois withgoogle.com, search foobar and withgoogle on internet etc, then finally click on link to follow...

first challenge (pretty easy, timer, approach, comments, etc)
second challenge: also pretty easy. did take some thinking, but once it occurred to me it was very easy to implement. at this stage, i was thinking, why these unit tests, why these specific algorithms and examples?
third challenge: solved it using someone elses code, wsn't really interested in getting a job, just in seeing what was at the end. when i solved it, i got a key!

screenshot taken after the fact (to show invite)

took me a while to decide what to do with the key. at first, i wanted to give it to a colleague or friend, but who? but i just couldn't stop thinking about those IDs, the patterns from the example, what it all means...etc...

but I had a key. For me, this was like a free life. At the time, I just started the fourth challenge. and there was the challenge about the maze, and the thoughts of the IDs,why those examples? particularly on the maze, as i'll explain, the challenge was to find shortest path through maze...the trick was that any wall can be removed and to return the number of steps...and i just kinda translated the circumstance/narrative into the wall i wanted to remove, was the wall keeping me in this maze in the first place, or maybe the wall that keeps people out? walls, cubes, mazes...

so first thing I did was solve the challenge, but I did not submit. I think I had like 2 days or something. And since I had a key (free life), i decided to go deeper and tinker a bit and take my time. see what was under the hood of this baby.

once i was of this mindset, I remember the first command I entered was [] (basically, thinking of passing in an empty array)...sure, why not? instead of the usual, command not found, error message, I got "Scram! Gravy ain't wavey" (notice the ey not just wavy). At first, I thought Ah Oh. Scram? obviously get out...but gravy ain't wavey? that must mean that nonsense input was 'gravy' and it ain't wavey (cool)...but hmmm...got me thinking...so i tried more and more...here are some screenshots of what I found.


and some more


So I did a google search to see if anyone else had any info on foobar withgoogle and then just the keywords i had found so far, etc., and found a couple links on some hacker forums where someone thought it was worth mentioning, and tons of info on the web about all of it.

One thing stuck out in my mind. Where there's foo there's fire! I decided to keep digging. My question was, how many messages are there like that for bad commands? How would I know if i had discovered them all?

then it hit me, the maze puzzle (which i was on) and the wall to be removed...and where there's foo, there's fire, this was designed by google...there must be more to this...

START THINKING OUTSIDE THE BOX IMMEDIATELY was my thought

Now i don't care about a job, but i know that if i were at google and designed this tool i would want to find people that can think outside the box...enough said...

so how would I know if I had found all the messages? I decided to go look the only place I could hope to find them...and I found this:

NOT_FOUND_QUOTE:["He who foos last foos best!","Many smoke but foo men chew!","Notary Sojac!","Where there's foo, there's fire!","1506 nix nix!","Scram gravy ain't wavey!"]

now, i'm sure any 'real' hackers out there aren't really too impressed at this point. fact is, it's just a few quotes to spurt out randomly to malformed input...no biggie...but still...where there's foo, there's fire...I decided to dig deeper...(before i go on, just beware the sentinel...trust me, if you can get through problem one on your own and you know even the basics about web development, you can easily find everything i am about to show you. question is, why it takes till now to find it? did others find it and not reveal anything? anyway...to continue...

so i searched for things I knew I could do. pulling up 'help' i can see the following:


so I searched for 'feedback' and hit paydirt!



I found the following undocumented (in help) commands:

define("commands/home"
define("commands/login"
define("commands/mount"
define("commands/pwd"
define("commands/recruitme"
define("commands/whoami"
//note, i think part of the goal is to know what to mount and the pwd

or even better:

define("commands/commands",["commands/cd","commands/cat","commands/deleteme","commands/edit","commands/feedback","commands/help","commands/home","commands/less","commands/login","commands/ls","commands/mount","commands/pwd","commands/recruitme","commands/request","commands/save","commands/submit","commands/verify","commands/status","commands/whoami","commands/common"]

screenshot of editor with alt-e

screenshot of alt-e  key combination in editor

remember, where there's foo, there's fire (be careful how you use key combinations in editor and parameters you pass to pwd and mount as you may mess up your ability to perform certain functions if you fall into a trap--they want you not just thinking out side the box, but THINKING, outside the box--at least as far as I can tell).



I ain't sayin' i cracked it...i'm saying they left out the welcome mat!




Forgot to add that Gödel, Escher, Bach: An Eternal Golden Braid (Douglas R. Hofstadter) is my bible, and my favorite shape would either be the dodecahedron (or it's hyper-equivalent), or the Hofstadter Butterfly (last edit: possibly scutoids would also qualify to be on the list).