The United States in some respects has come to terms with it’s dead-end consumption of fossil fuels. A watershed moment happened a couple of years ago when Bush informed us all that we are “addicted to oil”, as if his administration reached that conclusion before the rest of us. Even global warming is not the same politicized issue it was a couple of years ago, today it could be regarded as fact without a partisan chip on the shoulder.
It is really sickening to watch the resurgence of coal energy, and it’s labeling as the energy source of the future. It isn’t. It is amazing that certain industry and interest groups could get away with such a corny mindfuck.
- It doesn’t just warm your house – While just over half of the electricity generated in the US is from coal, coal sources account for over 80% of CO2 emissions, the main greenhouse gas. Yes, they talk about clean coal technologies, but as of today that is still science fiction.
- Extraction methods are environmentally devastating – It absolutely amazes me that mountain top removal is a legitimate practice in the 21st century. The latest administration streamlined the process and relaxed regulations allowing coal companies to fill thousands of miles of waterways with toxic sludge.
- It is destroying communities – Mountain top removal was developed as a mining technique that negates the need for a large (unionized) workforce. As such, coal-rich communities don’t get the same employment opportunities as they used to. But they still pay a heavy price in loud blasts, sludge, floods, dried or contaminated wells, etc. Often the homes in these areas are rendered unlivable and people are forced to leave. The mining companies are rarely held accountable for any of this, while families see the price of their home drop to nothing, and their children’s health compromised. This is happening here, in America. Some of the poorest communities in the states are demonized as being backward, inbred, and unsavable, while mining companies rob them of the little they have on this earth.
- It is not renewable – When we finally deplete coal, rape our environment, poison our water, and pillage Appalachia, we will remain with the same hippie energy options we face today.
So I decided to do my blogger’s duty and get the word out, I also added a badge to my site which is very not like me. Sign it!
http://ilovemountains.org/webbadges/bloggers_toolbar1c.php?id=36038
I created a couple of packages that will make it easier to start using Speclenium.
Setting up the server
First, copy the Speclenium server to every test machine, if it is a Windows box, use this package, double click on speclenium.exe, everything needed for it to run is in that archive. If you are using Linux, use this package. You will need Python and Twisted installed for the Linux version.
Setting up the test suite
The test suite could be run on the same machine, or a different one. You will need Python 2.5 for this. Down load this package, adjust settings.ini for your environment, and run run_tests –help.
I need to set up a project page with all the latest packages and source code. Maybe on codetalks.org?
For the last month or so I have been plugging away and thinking of efficient and approachable ways for testing WAI-ARIA conformance across browsers. When Firefox first implemented ARIA there was plenty of hard work being done both by the Firefox developers and the assistive technology developers to assure that users will have a smooth experience when they encounter rich internet applications using Firefox. The accessible web experience is fortunately spreading with Webkit, Opera and IE working on their own ARIA implementations. What we really needed was an accessibility “acid test” to assure that these discrete implementations share enough in common so that screen readers and the likes will support all browsers with minimal blood sweat and tears.
I reached a couple of dead ends. Nonetheless I hope that most of that code has not been written in vain. For example, I have a Python library that does accessible tree comparisons using an algorithm that produces a minimal delta description. This makes it easy to quickly spot differences in large and complex accessible node trees.
Anyway, I happened upon an awesome project called Selenium that provides automated cross-browser, cross-platform web testing. This was a good find. Besides being browser and platform agnostic, Selenium is also fairly language and test framework agnostic, allowing tests to be written comfortably and integrated into any kind of test framework and scripting language.
Besides the Selenium “remote control” that runs on test target machines, I created another service called Specular, or Speclenium (the serializer and core is Specular, the specific service that works with Selenium is Speclenium). This server communicates with the remote control via XML-RPC and relays accessibility related assertions and verifications. This allows Speclenium to “do one thing well” and deal exclusively with accessibility related tests. Since Specular/Speclenium is written in Python, I was able to take advantage of both pyatspi and pyia to provide cross-platformness (Win32 and Unix). This allows writing tests that will work on both platforms.
[
](/assets/uploads/2008/08/spec-dia.png)Diagram of Selenium and Speclenium topology
This is what you need to get it up and running:
Note to non-git users: You don’t need to download and learn git. Github provides download links with current snapshots of the files in the repo.
Setup steps:
- Set up the target machine:
- Run selenium-server on the machine with the test environment.
- On the same machine run ‘speclenium’, it’s a Python executable in the specular package.
- On another machine (or the same one), set up the speclenium test scripts.
- Customize tests/settings.py in the specular package. It should point to your target machines and to the available browsers. It’s pretty self explanatory.
- I provided some sample tests that could be run with the run_tests Python executable. Try “run_tests -h” to get an idea of how to run them.
I’ll provide a screencast in the future for the lazy folks. In any case, I hope to polish up all the steps above and make setup a pleasant and simple experience. This is important especially in Windows where prerequisites could be a pain the the behind.
Oh yeah, the other use case for this hairball is accessible web application development. If you are a l33t web developer, and you test your code with Selenium, you should use Speclenium too!
That’s a long post. I hope to make all of that less complicated and streamlined in the near future.