Eye of Hurricane Matthew

Eye of Hurricane Matthew

Posted in Tech | Leave a comment

John Collins “The Paper Airplane Guy”

CNN linked to a video of John Collins, “The Paper Airplane Guy.”

John holds the world-record for paper airplane distance throwing.

I had a chance to see John live recently when he gave a lecture and demo at my office in Silicon Valley.

It was a unique experience:

  1. John is a fun lecturer who really knows aerodynamics and can explain it clearly to both kids and adults
  2. learning the art of making high-performance airplanes was great fun.

I hold a commercial airplane licence and can say that he really knows his stuff. Highly recommended.

Posted in San Jose Bay Area, Tech, Toys | Leave a comment

Does Software Rot?

Back in the day, Joel wrote an infamous post asserting that “software doesn’t rot” over time.

I believe Joel was addressing the tendency of new programmers on a project to avoid learning the old codebase and write a new one instead, at great cost in terms of time and money.

But let’s discuss the more interesting topic of whether software can actually rot.

I would say that he was correct in a very narrow sense, namely a program written for a single version of Windows.

But in the big picture, he was completely wrong. Even Windows software requires re-writes for “Certified for Windows” assurance for new shrink-wrapped versions to be shelved in US chain stores. (Stores were trying to reduce the rate of returns and customer support.)

And how’s Silverlight, discontinued in 2012, working out for developers? :)

When it comes to web software, total re-writes have been required for:

  • mobile
  • XML and JSON output
  • new Javascript frameworks.
Posted in API Programming, Open Source | Leave a comment

Perl Petstore Enhanced REST API Framework

Perl LogoI’ve been doing a lot of work with REST APIs and microservices, so I decided to write a complete REST API framework in Perl based on the Mojolicious and Swagger2 Petstore sample.

You can git clone the repo and add a new API endpoint in about 5 minutes with automatic parameter validation and documentation:

git clone git@github.com:jamesbriggs/perl-petstore-enhanced.git
cd perl-petstore-enhanced/pets
less ../README.md
vi api.spec set.sh cgi-bin/pets.cgi ./lib/Pets/Controller/Pet.pm
# add an Alias for cgi-bin/pets.cgi to httpd or nginx
# point your browser at http://www.example.com/api/v1.0/pets/1
# Good job. Have a Modelo! :)

or you can spend an hour to rename the files for your project and tweak it to requirements.

This project serves as a convenient bridge for those who:

  1. can write simple CGI programs and want to write a best-practises Swagger (OpenAPI) REST API server without climbing a steep learning curve, or
  2. want to write a quick proof-of-concept API server to be re-implemented in other languages or frameworks later, as your Swagger spec file is 100% reusable
  3. are targeting a small VM. This will work in a 2 GB RAM VM just fine, or on an existing server running httpd or nginx.

Also of note is the samples/ folder, which has non-trivial client programs in several languages (bash, Java, Perl, PHP and Ruby.)

I learned the importance of Swagger2 and auto-generated API documentation and validation when I was programming with the old Rackspace Cloud v1 and v2 APIs.

People asked me, “How did you get anything to work? You must have really wanted it!” since the Rackspace sample code, docs and live API didn’t match each other. My secret: I actually guessed URLs in the browser to find the endpoints I needed. Swagger prevents that headache.


Posted in API Programming, Open Source, Perl, Tech | Leave a comment

Hawaii Trip 2016 – What’s New in Waikiki

Spent Labor Day weekend in Waikiki.

I enjoy going there every few years and seeing what’s new.

However, it’s been completely built out as a mall, so looks kind of corporate now. To combat that, plan to climb Diamondhead and go to the zoo.

Also, who would fly a quadcopter drone at one of the most crowded beaches in the world? Not surprised, just saying.

So what’s new in Waikiki?

  • Two hurricanes were approaching the Islands, but like usual did not landfall on Oahu
  • Not very busy, likely because of the Hurricane news
  • International Marketplace is now a shiny mall that opened Aug. 25. It is anchored by Saks Fifth Avenue, and has the only public restrooms in Waikiki now. It has plaques to remember the mom-and-pop stores they bulldozed.
  • Kalakaua is also a giant hand-bag mall for Japanese tourists
  • Matteo’s Italian (and Seafood) at Seaside and Kuhio closed, and a Crackin Kitchen Seafood opened next door
  • 24hour Fitness is charging $25 for a day-pass on Kalakaua, but it does have a beach view
  • Free Kuhio Beach Hula Show (Waikiki) is 6:30 pm Tues/Thu/Sat – features two dozen performers! Bring your own towel or beach chair to sit on, practise your photography.
  • 100 Japanese people were lined up outside Marukame Udon on Kuhio one night at 9 pm. Must be pretty good. Next door is a souvenir shop with the most awesomely tacky items. If you need a hula dancer for your car, get shopping.
  • Princess Kaiulani Hotel buffet ($42/person) still has free Hawaiian music and hula show downstairs, and a very good Polynesian show/dinner upstairs. (They cancelled the downstairs show at least one evening because of Hurricane weather reports.)
  • McD still serves the free pineapple cup with combos, and also offers taro pie – very sweet. They charge $10 for a combo, but you can get a BOGO Big Mac on Mondays and they have a Pick Two special, and they do have drink refills and wifi
  • Duke’s Restaurant is still packed, but the Hula Grill ($60/person) upstairs doesn’t have a wait list. Has restrooms.
  • TheBus is $2.50 per trip now, or $35/4-day tourist pass available in ABC Stores. The Waikiki Trolley is only $2/trip between Waikiki and Ala Moana and the open air cars are good for photography and sight-seeing
  • Lots of hotel and residential construction cranes
  • Flew American Airlines there – they served biscuits instead of meals, and had no entertainment systems. Ran APU for one-hour while finding pilots. Dreadful experience, but this is a USA airline, so I’m being redundant.
  • Disney Aulani is not a theme park – it’s a time-share (ie. scam) with a few hotel room rentals for $450/nite in the middle of nowhere. ok if you’re a large family that wants to cocoon, maybe.
  • if you go on a boat tour of any kind and want to have fun, buy the cheapest tickets or you’ll be stuck with grandparents

Waikiki photo vantage points:

  • beach sunsets
  • surfboard stands
  • rescue canoes
  • Kuhio Hula Show (Tues/Thurs/Sat at 6:30 pm)
  • street performers
  • Diamondhead
  • Honolulu Zoo

If you’re from the mainland, remember that Hawaii is hot and humid. Stay hydrated, wear a hat, and don’t over-exert yourself – especially around noon-time.


Posted in Travel | Leave a comment