New and improved! The previous post on one line!

This following bash code outputs the puzzlebot facebook email from my previous post with no extra output. This is one of those “just for fun things” that non-CS people don’t understand.

echo -e "#include <stdio.h>\nint main(int argc, char ** args){printf(\"%d@facebook.com\\\n\", 0xFACEB00C>>2); return 0;}" > fbmail.c; g++ fbmail.c -o fbmail; ./fbmail; rm fbmail.c fbmail

http://facebook.com/puzzles

I had a preliminary interview with a woman at Facebook yesterday. We scheduled another interview for Thursday, which will have more technical kinds of questions. I asked her what i should be doing in the interum,and she suggested that I check out http://facebook.com/puzzles. The page had brushed past my radar in the past, but I didn’t give it a serious look until now. The page has a bunch of programming puzzles for anyone to do. Even the submission email address is a puzzle.

Submissions should be sent via email to the address: {0xFACEB00C>>2 in decimal}@facebook.com

Since one can easily find the email with a quick Google search, I thought I’d show how to find it. The puzzle page is Unix-centric, so for this task I logged into an Ubuntu virtual machine that lives on my home network.

In ViM, here’s the simple program:

Facebook Email 1

Continue reading

FRI is dead, but its spirit lives on

It’s been almost a year since I’ve updated FRI, my ROM library program. FRI is now officially dead, but not completely gone. Since I started working on FRI I have gained a lot more programming experience. I started writing the thing when I was still a C# novice. Between then and now I have written an elaborate intranet site in ASP.NET, debugged and written C++ applications, and have learned the true value of a regular expression.  I look at FRI’s code now and am a little grossed out.   I decided that if I was going to make any more improvements to FRI, I’d have to start over and rearchitect the whole thing. The name of this new project: Arcadia.

With Arcadia I have committed to research everything that I suspect will make for a better design. Because of this, Archaida’s backend is shaping up to be elegant and efficient. I researched how to do inheritance in C#, and have used that to save myself from writing a lot of code. This has drastically decreased development and testing time. I learned how to use basic regular expressions over the summer, and have used them in some areas (more on that later). For the frontend I decided to switch from WinForms to WPF. All I can say is that databinding is epic, and I still have a lot more to learn about it.

Here’s a shot of Arcadia in its current form:

Arcadia prealpha

Continue reading