If you have an iPhone or iPad, check out the game Fat Cats!
January 5, 2012
December 31, 2011
Browser Pause
Here’s an idea for Web browsers. When the browser window loses focus, stop everything. Freeze all threads, animated images, scripts, plugins… everything. This would be most useful as a setting that could be enabled and disabled at will. Sometimes I’d just like the browser to just simmer down while my attention is elsewhere. No need to be AJAXing around and stuff.
Thoughts?
December 22, 2011
Don’t Get Locked In
Here’s a Public Service Announcement for those of you who wish to buy an iPhone and might want to use it for a different carrier than the one the phone is locked with.
You can’t.*
If you buy an At&t iPhone, Apple says Thou Shalt Only Use Thy iPhone with At&t, and makes it very difficult to use the phone with, say, T-Mobile. You’ll get to use the phone, but At&t and Apple really still own part of it, the part that says how the phone can be used.
Strange, isn’t it? It’s like you bought a roll of duct tape, but it only works on ducts.
Other ideas:
- buy an unlocked iPhone instead. iPhones hold their value well, especially unlocked ones. They cost a lot more so the upfront cash required is high, but an unlocked phone gives you the freedom to change carriers anytime for any reason. When you figure out the price of the phone, don’t just look at the initial price, look at the cost of the contract over the life of the contract and check prices on similar used unlocked phones on eBay.
- don’t buy an iPhone. By purchasing an iPhone you’re telling Apple that you’re willing to pay the price of your freedom. Apple pushes hard on its customers, saying what they can and can’t do. They sure do make awesome technology, but at the cost of personal freedom.
Learn more about freedom at https://www.eff.org.
* If you are brave, patient, lucky, and desperate, you may be able to bypass the electronic measures in place which lock the phone to At&t.
October 8, 2011
Does the FSF need better top-down social skills?
Larry Cafiero and Joe Brockmeier are two big voices for technological freedom. They’re both pretty fired up about RMS’s f-you epitaph of Jobs.
Generally you want the figurehead of a public foundation to be, uh, attractive. Intellectually, maybe even physically. Right? Not only does the cause itself have to make sense, these people need to attract other people to their cause. And they usually “say the right things”, smile, wear a suit, whatever. But I always thought these requirements only applied to other causes (besides Free Software).
Certainly RMS lacking those traits didn’t keep me from FLOSS. I heard about RMS and the proprietary printer a while back, and that’s all it took to get me hooked on FLOSS. I could identify immediately because I write software, and proprietary code is a pain. His cause just makes sense, even if he doesn’t. But I’ve been justifying his abnormal behavior because, well, he started something new! Something important. He knew it was important, and dedicated his life to this thing that many, many folks never even know exists. Something that affects all our lives, every day, more and more. Software must support our Freedom, or we are not free.
So he won me over, but I’m a nerd. I’m used to eccentrics in my field. Truth wins, period. And I still don’t know if it matters if RMS is a polished, smiley, public-friendly dude or not. Would Free Software be farther along today if RMS were kinder, more respectful, or somehow a better “public figure”? Would DRM have never been allowed to exist? Would the government pass laws that software for implanted medical devices be Free?
October 5, 2011
Link Checker Wishlist
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
Please check out my post Warren Buffet’s Long Bet on the BreadVault blog.
September 19, 2011
offline HTML 5 validation
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
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
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
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.
- Connect to the remote server using SSH. Install VNC server:
sudo apt-get install vnc4-server
- On the remote server, become the user tests run as. For example:
sudo su - ci
- Set a password for the VNC server using the
vncpasswdcommand. - Start headless X server by running
vncserver. Note the given display. Ifexample.com:1is included in the output ofvncserver, the display is:1. 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.
Port-forward VNC to your local machine.
- Disconnect from the server.
- Reconnect, including
-L10000:localhost:5901on your SSH command line. - Leave this connection open.
On your local machine, connect a VNC client to localhost:10000. An X terminal should be displayed.
In the X terminal, run your web tests.
- When finished debugging, kill the X server using the display noted earlier.
vncserver -kill :1
