Adam Monsen

October 5, 2011

Link Checker Wishlist

Filed under: Default — Tags: , , , — adam @ 7:00 am PDT

Link checkers spider through your website and make sure that links work. I want an awesome link checker. Ideally, it would espouse as many of these attributes as possible:

  • easy to learn
  • easy to configure/customize
    • example config: don’t hit URLs on other servers
  • sensible default behaviors
    • example: respects robots.txt and ‘nofollow’ link attributes
  • scriptable / embeddable
    • useful from command line
    • useful from within CI servers like Jenkins
  • recurses (parses HTML, follows links)
    • and smartly avoids checking the same pages twice
  • fast
  • thrifty with memory
  • pluggable
    • example plugin: run jslint on all JavaScript
    • example plugin: validate HTML 5
    • example plugin: validate CSS
    • example plugin: compute accessibility score
    • example plugin: JUnit XML output
    • example plugin: OpenDocument spreadsheet output
    • example plugin: Excel output
    • example plugin: CSV output
    • example plugin: JavaScript engine
    • example plugin: follow hashbang URLs
  • beautiful source code
  • FLOSS

September 30, 2011

Warren Buffet’s Long Bet

Filed under: Default — Tags: , — adam @ 12:35 pm PDT

Please check out my post Warren Buffet’s Long Bet on the BreadVault blog.

September 19, 2011

offline HTML 5 validation

Filed under: Default — Tags: , , , , , — adam @ 11:05 am PDT

HTML 5 logo

I’m liking Henri Sivonen’s Validator.nu service. I’ve got it running locally, and it works well. I can use it as a web service and validate HTML from within Vim, using quickfix to rapidly resolve errors. My Jenkins CI server uses the same validator via phpunit tests.

Warning: it took me a very long time to get it running locally. Technically easy (just run a build script), but it downloads tons of libraries and files before it can do its job.

September 6, 2011

New job

Filed under: Default — adam @ 2:37 pm PDT

My new job is going well! I can’t wait to post more about it. Sign up if you’d like to hear more as we share more.

Visit http://breadvault.com to sign up.

July 28, 2011

FedEx short tracking URL

Filed under: Default — adam @ 8:29 am PDT

http://fedex.com/Tracking?action=track&cntry_code=us&tracknumber_list=TNUM

Replace TNUM with your tracking number.

July 26, 2011

Debugging web tests on remote servers

Filed under: Default — Tags: , , , — adam @ 8:01 am PDT

I run “web tests” on a remote server. I use Selenium to act like a person interacting with a website, viewing and entering data. Selenium is pretty awesome, it can drive a real web browser like Firefox.

Even better is to have these web tests run automatically every time I commit code. I use Jenkins for this. Jenkins even fires up a headless desktop so Selenium can run Firefox.

When a web test breaks (especially in some way I can’t reproduce on my local desktop), sometimes it helps to actually see what Jenkins sees as it runs the test. Here’s a quick guide for doing so on an Ubuntu GNU/Linux server.

  1. Connect to the remote server using SSH. Install VNC server:
    sudo apt-get install vnc4-server
  2. On the remote server, become the user tests run as. For example:
    sudo su - ci
  3. Set a password for the VNC server using the vncpasswd command.
  4. Start headless X server by running vncserver. Note the given display. If example.com:1 is included in the output of vncserver, the display is :1.
  5. Figure out which port the VNC server is using. I usually do something like

    sudo netstat -nape | grep '^tcp.*LISTEN.*vnc.*'

    Here’s some example output:

    tcp        0      0 0.0.0.0:6001            0.0.0.0:*               LISTEN      107        3099855     13233/Xvnc4     
    tcp6       0      0 :::5901                 :::*                    LISTEN      107        3099858     13233/Xvnc4

    By trial and error, I figured out that 5901 was the port I should use.

  6. Port-forward VNC to your local machine.

    1. Disconnect from the server.
    2. Reconnect, including -L10000:localhost:5901 on your SSH command line.
    3. Leave this connection open.
  7. On your local machine, connect a VNC client to localhost:10000. An X terminal should be displayed.

  8. In the X terminal, run your web tests.

  9. When finished debugging, kill the X server using the display noted earlier.
    vncserver -kill :1

June 29, 2011

Books II

Filed under: Default — adam @ 8:50 pm PDT

Some more books I’ve read lately. I guess I really like Sci Fi. Most of these are free from Feedbooks. Thank you, Feedbooks! I like the Feedbooks versions because they include handy recommendations at the end of the books. These recommendations led me to many of the books below.

  • Treasure Island by Robert Louis Stevenson – Awesome. Must read.
  • Brave New World by Aldous Huxley – Must read. This came out in 1932, but is as compelling as any of the best science fiction ever written. Ever.
  • I, Robot by Cory Doctorow – Short, fun. Must read because I like Doctorow’s take on sentient robots.
  • Starfish by Peter Watts – Crazy, intense. Must read.
  • Peter and Wendy by J. M. Barrie – Must read.
  • The Shallows by Nicholas Carr – Very thick with useful, interesting information. I need to read this a few more times to really soak it all in. Must read because we need to think hard about the technology we consume.
  • The Time Machine by H. G. Wells – Like.
  • Computers, Ltd. by David Harel – Like. I need to read this one a few more times. Must read for computer nerds, because you’ll understand why some programming problems are unsolvable.
  • Philip K. Dick short stories (Beyond Lies the Wub, Beyond the Door, Mr. Spaceship, The Crystal Crypt, The Defenders, The Gun, The Skull, The Variable Man) – These are all short and pretty fun.
  • 2BR02B by Kurt Vonnegut – Short, fun. Must read.
  • The Dark Fields by Alan Glynn – Pretty good. Probably better than Limitless.
  • Lee Child (Jack Reacher stories) – These are always fun. I read the latest one and liked it, but I don’t even remember the name. Doesn’t really matter since they’re all pretty formulaic. Still, good books.
  • Jury Service by Cory Doctorow – Crazy fun. Gotta love Doctorow.
  • Sherlock Holmes by Arthur Conan Doyle – Awesome.
  • Planet of the Damned by Harry Harrison – Must read.
  • Deathworld by Harry Harrison – Must read.
  • The Machine Stops by E.M. Forster – Pretty good.
  • Missing Link by Frank Herbert – Ok.
  • Operation Haystack by Frank Herbert – Not bad.
  • The Call of Cthulu by H. P. Lovecraft – Ok. I don’t quite get what’s up with the intense cult following.
  • Benjamin Button by F. Scott Fitzgerald – Like.
  • The Last Universe by William Sleator – Meh.
  • Island of Dr. Moreau by H. G. Wells – Must not read. This book was like nails on a chalkboard.

See also

Books I

May 18, 2011

OpenLogic FUD

Filed under: Default — adam @ 8:44 pm PDT

What’s up with OpenLogic? A recent wave of press claims that OpenLogic’s data reveals the top Open Source license. Meh, no way.

I commented on that article (corrections made):

Sean, your headline and article are misleading. These claims may be true for OLEX, but not FLOSS in general. I’ve been downloading FLOSS for over 10 years, and I’ve never heard of OLEX. I download most FLOSS from GNU/Linux distributors (Fedora/Debian/Ubuntu/Canonical). I’m not sure if they even track downloads.

Do the people at Geeknet/sf.net, Google Code, and the FSF support your findings?

Come on, OpenLogic. Are you serious?

May 5, 2011

You are not a Software Engineer

Filed under: Default — adam @ 12:21 pm PDT

http://chrisaitchison.com/2011/05/03/you-are-not-a-software-engineer

Thank you Jesse for the link!

I really like the post, but I’d like to suggest a couple changes to the Chris Aitchison. Maybe the team of people building the software is the garden, and the software product is just a fruit (or maybe people producing the software are gardeners and the garden!). Second, the metaphor works well enough for Web programmers. But folks writing game ROMs (for instance, 8-bit Nintendo games), lunar lander software, and Level-A software for commercial airliners really are Software Engineers.

May 1, 2011

New Blargh Title

Filed under: Default — adam @ 7:08 am PDT

I still like Free Software, but I decided to change the name of this blog to just… my name. In my feed reader, I found myself renaming other creatively-named blogs authored by one person mainly about their own interests to their name. So I guess this is dogfooding.

Dear reader, I’d love to hear your preference: creative blog names or simple but accurate names?

Blargh == blog. I think I got that from Aaron Patterson.

« Newer PostsOlder Posts »

Powered by WordPress