The Launch of the Hack Programming Language: A Proud Moment

The Hack Programming Language

The Hack Programming Language

It has been a long while since I have posted to this blog. This is due to many factors, the rise of other social networks and a busy life being the primary two. However, I feel a post is warranted after experiencing what I can describe as one of proudest moments of my career, if not the proudest of them all.

I have been working at Facebook for just over a year now. My time there has been, well, awesome. But I will save my overall Facebook experience for another post. I work with a team of super smart people that owns languages and tools within the company. Two of the specific technologies that I have been working with is HHVM (the open source virtual machine that runs PHP and sites like facebook.com) and a new programming language for HHVM that was just released to the public called Hack.

I have been part of various releases while at other companies or working for myself (internal products, language standard specifications, website, etc.), but this was different. The release of Hack to the public and open source world was my first real product launch at this scale.

My primary role with Hack was its user documentation. When I got to Facebook, I helped create the initial documentation for internal users. This served as a good testbed for what would end up being the public facing documentation for the language. For the launch, we decided to add the Hack documentation on top of existing documentation and tools that already existed for PHP. This required a migration of the internal documentation from a markdown format to a docbook format, code changes to the rendering tools to support new syntax (e.g., generics) and interfacing with our new website design. So creating user documentation isn’t just documentation — it also included (and continues to include) a bit of coding, which I love.

The last two weeks before the Hack launch was the most interesting, if not the most hectic (as probably expected). Dotting all the i’s and crossing all the t’s actually requires a bit more coordination than you might think at first. Are the domain names in order? Do we have our GitHub repos ready? Is the code packaged correctly? Does the code work on multiple distributions? Does the logo and website design flow correctly? Is all the initial documentation complete? Do we have open source licenses in order? And much more.

Hack was officially launched at 9AM Pacific time on March 20, 2014. And I can tell you that we needed every minute up until that point to make sure the launch was successful. Imagine a web server, configuration files and making sure the sites could be viewable.

But we did it. And it felt really good to experience something like this for the first time. What makes this a very proud moment for me is not just that the work I did had an impact on the launch itself, but the reception to Hack was actually very positive overall. Watching the amount of continuous traffic to the websites that first day was surreal. Reading all of the articles, tweets, posts and comments about the launch was downright fun. Of course, with something this big, and building upon a very popular language like PHP, it was expected that some people may not warm up to Hack. But all in all it was a great experience. One that I sure won’t forget. One that will sure be tops in my career highlights.

Congratulations to the entire team and thank you for allowing me to be a part of this launch.

Launched a Fantasy Football Website

Kicker Last Logo

A wonderfully designed logo by DK Graphics

It has been over a year since my last post where I made a simple tribute to the late Steve Jobs. Since then, I have had some life events, both personally and professionally … but I did not feel the need to blog about them.

Well, I feel the need to blog now.

I love football (the American version of football). I am an avid National Football League (NFL) fan. And, like many fans of the NFL, I play fantasy football. I *love* fantasy football. It borders on an addiction for me. I look forward to every August when I get together with my friends and colleagues for our fantasy football draft. And then it is on like Donkey Kong for four months.

I always wondered how I could harness my love for fantasy football with my love of technology. And building a fantasy football website seemed to be the logical marriage of those two entities.

Late in 2011, I registered the domain name “kickerlast.com” thinking that someday I would have a website dedicated to fantasy football. It sat dormant for about 11 months. In September 2012, I had the time and got the motivation. And now that “someday” is today.

Using the following local development tools:

  • Macbook Air and iMac
  • RapidWeaver
  • MAMP (Macintosh, Apache, MySQL, PHP)
  • VirtualHostX
  • Querious
  • Transmit

in conjunction with outsourcing/purchasing aspects such as logo design, plugins, statistics, etc., I developed and tested the website that has now become kickerlast.com.

After getting some really valuable feedback from my better half, on November 2, 2012, I uploaded the first public version of the website to my LAMP based VPS.

kickerlast.com is now up and running. If you are a fantasy football player, I hope you check the site out, follow it on Twitter and tell your family and friends about it. I actually use real statistics to make my rankings and projections….I have a secret formula :)

This endeavor was a great learning experience. Web design. Database design. Statistical analysis. Writing. Sports. Webmaster. Hiring. Purchasing. All of these came together to produce this site. I am actually proud of this accomplishment.

And remember …. ALWAYS DRAFT YOUR KICKER LAST. NO EXCEPTIONS! :)

To Find Out Version of LAMP (Linux, Apache, MySQL, PHP) Via the Command Line

I am running a LAMP server on Slicehost. I always have to look up how to determine the version of each component of the LAMP server I am running. I am using Ubuntu Linux 8.04.4 (Hardy). In my case, here are the command-line instructions I use. I hope this helps you too. Btw, the command “whereis” is very helpful in locating programs (i.e. whereis apache2).

Linux

> more /etc/issue

or

> lsb_release -a

Apache 2

> /usr/sbin/apache2 -V

Note: Apache 2 doesn’t have “httpd” anymore. It was changed to “apache2″ instead.

MySQL

First log into your MySQL database from the command line, using something to the effect of:

> mysql -u username -p

Then:

mysql> select version();

PHP

> php -v

or

> php5 -v

Note: This assumes you have PHP 5 installed and that you have installed the Command Line Interface (CLI) to PHP via “sudo aptitude install php5-cli”. Alternatively, you can find out the version of PHP via instruction “< ? phpinfo() ?>” within a .php file.

The Authoritative Top 10 Pearl Jam Songs

OK … authoritative as chosen by me. :-)

When anyone asks me my favorite singer or band, there is no hesitation that it is Pearl Jam. Lollapalooza 1992 pretty much defined my musical interest in this band, and there has been no turning back.

I was challenged to come up with my Top 10 favorite songs by this band, led by Eddie Vedder. I would say their catalog consists on the order of 175+ songs, and I like a bunch of them. Narrowing the list down to 10 was horribly difficult. But I did it. I quickly narrowed down the list by grabbing my “5-star” rated songs off of iTunes. There were about 25 of those. Then I listened to those 25 to come up with my decision.

Without further ado, here is the list of all Pearl Jam lists, with video samples so you can get an idea of how great these songs are:

10.

Down (Lost Dogs, 2003): An uplifting song off of their Lost Dogs album, I have no real main reason for liking this song other than I just like it. It almost has an R.E.M type feel to it. Talks about being lifting yourself up from the depths of some sort of despair. I would say this is the most “poppy” song on my list. At least it is not “Last Kiss”, I guess (although, I like that song better than a lot of people). By the way, for the video below, I was at that concert in San Francisco :-)

http://www.youtube.com/watch?v=_o1wVTP3gSI

9.

Love Boat Captain (Riot Act, 2002): This song starts builds from slow to fast and ends slow. A great blend of melody and singing. It is actually a very emotional song, especially to Pearl Jam. It is dedicated to nine people that died during a concert Pearl Jam was giving in Denmark in 2000. “Lost nine friends we’ll never know, two years ago today”.

http://www.youtube.com/watch?v=NhtgreZF1cQ
http://www.youtube.com/watch?v=N6CvDtJmU58

8.

Rearviewmirror (Vs., 1993): A hard-hitting, fast-paced song with Vedder on the guitars. The beginning instruments just captures you. And then “I took a drive today/Time to emancipate”. For some reason, I initially thought this song was about some sort of date rape, but them came to realize it was about becoming free of abuse of someone who was hated with a passion. Apparently, this is about Vedder hating is stepfather. The end of this song gets your air guitar going. :-) Oh, and for you Cold Case fans, this song was featured in a two episode series featuring Pearl Jam (right after their greatest hits album “Rearviewmirror” came out).

http://www.youtube.com/watch?v=U6lCVgE6xnM
http://www.youtube.com/watch?v=_e5N5y58k6U
http://www.youtube.com/watch?v=8Fxk2JrZgvA

7.

State of Love and Trust (The movie “Singles” soundtrack (1992) / Rearviewmirror, 2004): This was written for the 1992 movie “Singles”. A song about love and faithfulness, this is just one of those songs that jams. It is fast and the ending guitar playing is awesome.

http://www.youtube.com/watch?v=60HrwY_CsiQ
http://www.youtube.com/watch?v=Xxw6cf3jFIs

6.

Yellow Ledbetter (Lost Dogs, 2003 / Rearviewmirror, 2004): Mainly a very popular concert ending song, the lighters get thrown up when this song is played. It has been admitted that Jimi Hendrix was “ripped off” for this song. Not a fast song. Lyrically powerful. I believe Vedder has mentioned this being about someone dying in war. I love the song-ending guitar. Another Cold Case featured song.

http://www.youtube.com/watch?v=hs8y3kneqrs
http://www.youtube.com/watch?v=agF6VCzzjn0
http://www.youtube.com/watch?v=YhcnKYvzfZc
http://www.youtube.com/watch?v=xLd22ha_-VU

5.

Black (Ten, 1991): Number 1 on many Pearl Jam fans’ lists, Black is probably the song I would introduce to a new listener of Pearl Jam…especially one who is more inclined to softer ballads. One of their most emotional songs, I believe it is about a couple’s breakup and the pain that goes with it (others say it is about a suicide or an abortion). The sticking lyric – “I know someday you’ll have a beautiful life, I know you’ll be a star in somebody else’s sky, but why, why, why, can’t it be, can’t be mine?”. And another Cold Case featured song.

http://www.youtube.com/watch?v=6X8Ic86Hx3w
http://www.youtube.com/watch?v=2DTFwYZ6YJU
http://www.youtube.com/watch?v=AFVlJAi3Cso
http://www.youtube.com/watch?v=Vi2x28FEwCo

4.

Porch (Ten, 1991): The best song on their debut album Ten in my opinion. Just beating out Black. There really isn’t a whole lot to the song, actually. A quick intro, an awesome beginning riff, verse, awesome instrumental, verse, awesome ending. Quick and hard hitting 3 minutes. A great concert song. This song got me loving Pearl Jam. Period. In a way, this song will always be my favorite. By the way, the crowd jump in the second video below from Pink Pop 92 is freaking amazing (about 2 minutes and 50 seconds in).

http://www.youtube.com/watch?v=7piN4dsj-Gg
http://www.youtube.com/watch?v=ckRsIy4Zqgo
http://www.youtube.com/watch?v=EXtAm7QbwMc

3.

I Got S**t (Merkin Ball, 1995 / Rearviewmirror, 2004): The made for release title is “I Got ID”. I like the original title better :-) Capturing me with its initial guitar sequence by Eddie Vedder and Neil Young (yes, that Neil Young), the lyrics start off depressing and emotional. And it stays that way. Great riffs. Neil Young adds a bunch to this song.

http://www.youtube.com/watch?v=iAMm5ry64MA
http://www.youtube.com/watch?v=qMyToPVWH9c

2.

Elderly Woman Behind the Counter in a Small Town (Vs., 1993): I think this is the longest title of any Pearl Jam song. It is a fairly popular song. Having an acoustic feel, this song really showcases Vedder’s lyrical and singing ability. About a woman working in a small town who sees a long lost love interest. I love it!

http://www.youtube.com/watch?v=l1wQ8cOJbtY
http://www.youtube.com/watch?v=5i6fCGkFYa0

1.

Immortality (Vitalogy, 1994): This song actually snuck upon me as my favorite song. While popular, it is not as well known as songs like Jeremy, Alive, EvenFlow, Last Kiss, etc. In fact, I would call it is a nice gem. I am not quite sure I understand the entire song, although rumors are it is about Kurt Cobain of Nirvana and lyrics were added after his death. For those musical instrument inclined (not me), I think it is a simple enough song. But it is the perfect blend of great vocals, melodies and instrument play that make this tops on my list. And, in case you are interested, it is featured in Cold Case :-)

http://www.youtube.com/watch?v=s1KlnKvtJJw
http://www.youtube.com/watch?v=Z2niU_FZ_-w
http://www.youtube.com/watch?v=PowCFdg0rrY

[Other songs in consideration for the top 10: Life Wasted (Pearl Jam), Comatose (Pearl Jam), Corduroy (Vitalogy), Given to Fly (Yield), Faithful (Yield), Dissident (Vs.), In Hiding (Yield), Unthought Known (Backspacer), Animal (Vs.), Evenflow (Ten), Sad (Lost Dogs), Alive (Ten), Thin Air (Binaural)]

Changing Themes After Three Years

After upgrading WordPress to the latest version, I figured now was the best time as any to change my theme. The Mac-looking theme served me well for a while.

Old Theme

But it was time for something fresh. There haven’t been many updates to the old theme (Librio) since I first downloaded it. And WordPress has been steadily moving along. The funny thing, though, is that I chose the current WordPress default theme (Twenty Ten). It looks good. It is very customizable. And will be updated, as needed, along with future WordPress updates.

We’ll see how long this theme can stick. Right now, it seems to fill the niche just fine.

Offered A Position I Didn’t Even Apply For – I Must Be Good!

I open my inbox and I see this message:




Wow! Really? I am honored. While I should probably jump at the chance to take a job offer, one that I didn’t apply for mind you, I should probably think about this for a minute. Let’s see….

1. It is from a hotmail account. Not really all that professional, Paulette.
2. The Subject is “Application ID2C586 1″. Not really an attention grabbing or relevant subject line.
3. The To: is to “trayc.foutz@gmail.com”. Not my email address. That’s weird that I got it. Was I BCC’d on my own job offer?
4. I am addressed as “Candidate”. I would think if you were going to offer me a job paying me (hopefully) a boat load of money, you would at least know my name.
5. Keller Investment Services — um, who are they?
6. Oh, they want me to be a “partner” to “invest” in “mutually beneficial opportunities”. I see. In other words, they WANT MY MONEY! Hey, what kind of job is this?
7. My strong background and experience? So a technologist like myself is the right type of person to be an Advisor Assistant, huh?
7. Application Process? I thought I already had the job. What is this a big tease? And who is this “tim.ki.bauer@gmx.com” person anyway?
8. Sarah Walter? I thought your name was Paulette Villafane? Very confusing. Or she is having an identity crisis.

So, after much consideration and thought, I think I might have to decline this job offer (or application for job offer or whatever it is). It was a close call Paulette/Sarah, but I just don’t think we are compatible.


Announcing the Launch of Programming Classroom


So, I finally did it. My company Twin Roots has launched an actual product. Well, not a product exactly; more like a service. Along with my outside partner in crime, Rex Jaeschke, we planned a website where we are providing a service geared towards programmers.

Programming Classroom is the result of this effort.

Rex is well known throughout the programming community, especially in the standards world. He is also highly regarded for his live programming seminars where he teaches classes in C, C++, C# and more.

We thought it would be a great service to offer the seminars that Rex uses in his live classroom teachings to the general public in electronic format. These are the exact same materials from documentation to example source code. It is just that it is at a much lower cost than a classroom setting because it is self-paced learning. You will find seminars on C#, C++, Java, Visual Basic, and C. You will also find some freebies like sample chapters and tips.

So check out ProgrammingClassroom.com and let us know what you think. Needless to say, I am very excited while very nervous at the same time.


10 Songs That Have Made An Impact On My Life

I have thousands of songs in my music collection. And I have heard thousands above and beyond those in that collection.

For some reason, I got to thinking about which songs actually have made an impact on me on a personal level. They are not necessarily my favorite songs nor do I necessarily listen to them much anymore. But they are songs that actually had a noticeable impact on my life or emotions.

Here are 10 songs (well, technically 11 since one set has two songs associated with it), in no particular order of favoritism, that have made some sort of impact on me:

Just the Way You Are – Billy Joel: First song at my wedding. Nuff said, really.

Black – Pearl Jam: My favorite song off the album that made me a Pearl Jam lifer. And they still remain my favorite band ever. Just listen to the lyrics of Black sometime. Love lost.

Smells Like Teen Spirit – Nirvana: As cliche as this song has turned out to be, this song literally brought me to a whole new level of musical appreciation. That’s really the bottom line. Defined my generation.

Cheeseburger in Paradise – Jimmy Buffett: First concert I ever saw with my then college girlfriend (and now my spouse). Walnut Creek Amphitheatre in Raleigh.

Cornflake Girl – Tori Amos: First concert I ever saw in a concert hall with the piano as the primary instrument. Tori Amos rocks the piano and it made me a Tori Amos fan forever.

Caribbean Queen – Billy Ocean: My first EVER concert. I was about 10 years old at the county fair in Ft. Lauderdale. It was at that point I new I loved music.

To The Bone – Sex Police / Fun & Games – The Connells: These two bands really help define my college experience. The Sex Police specifically helped to define one of the greatest times I have ever had in my life.

Brass Monkey – Beastie Boys: Might have been the first *cassette tape* I owned. Remember the tail of the airplane on the cover? My middle school years were heavily influenced by this song and album from many different perspectives.

Joining You – Alanis Morissette: Just listen to the lyrics and you will understand why I put it here. I really find the story in the lyrics kinda chilling (the story might actually be true if I remember correctly). And I love the riffs. I have never grown tired of this song. Alanis is one of the most underrated musicians of my time.

Ice, Ice Baby – Vanilla Ice: The first *CD* I ever owned. Got it as a joint gift with my first portable CD player. Also the song that made me realized that I might just sometimes be ridiculed for the choice of music that I may like (as I am with Kelly Clarkson now).


My Communications Infrastructure is led by Google Voice (with teammates the iPhone and Ooma)

In the last month I have completely revamped my communications infrastructure, hopefully for the better.

Here are the before and after pictures.

Before


After


Yep. I am using Google Voice as a hub for phone communications. My Google Voice number will be a primary number for people to contact me. Depending on the person calling, Google Voice will forward to my iPhone, my home phone, my spouse’s mobile phone or any combination of the three. (With Google Voice, you can actually get so granular that you can forward to different numbers based on the person calling, have a different greeting for any person, and a different voicemail message for any person or group of people). And I can add or remove phones from the forwarding mechanism at my leisure because my Google Voice number will shield anyone who calls from the black box that is now my web of communication facilities.

Sure people will still call my iPhone directly. And I expect some people to do that as it is my primary line for business discussions, etc. But for a majority of people, calling the Google Voice number will be all that is needed.

And, as what I am seeing as a huge money saver, I have left Vonage (where I was paying $20-25/mo) and came to Ooma. I paid $199+tax at Costco for free U.S. calls for life. Ooma has premium services that you can pay for, but at this point, since I have Google Voice, I don’t see the need just yet. (Note: I had no real negative issues with Vonage. The service was actually very good for the time I had it. But, you can’t blame someone for trying to save some money).

What if Ooma goes out of business? Well, that’s the beauty of Google Voice. I can remove Ooma and add something else to the infrastructure and no one would be the wiser. People know the Google Voice number and don’t really care how (and with what device) I answer the phone on the other side. I am actually considering adding a Skype phone number to my account to see if I can forward numbers to the Skype number for the times I am away from my home and online.

Here are my assumptions about using Google Voice as a communications hub:

  1. Google is not going out of business anytime soon. Thus, my Google Voice number can be my number for life.
  2. Google Voice will continue to be free (or ad supported), or some reasonable charge if it comes to that.
  3. Google Voice will keep my privacy just as well as the government does with respect to my phone calls ;-)

We’ll see how this all plays out; but right now I feel excited with my new setup.

Google Voice is in beta right now, but you can sign up for an invitation and these invitations are going out daily.