Site search

Blogroll

Categories

Tags

June 2013
S M T W T F S
« Jan    
 1
2345678
9101112131415
16171819202122
23242526272829
30  

iPad not designed for iFamily

Microsoft Windows PCs are now fairly easy to configure with different access levels for different family members with products such as Windows Live and NetNanny.

But laptops and desktop PCs are no longer primary internet access devices for kids. iPhones, iPads and similar devices are becoming much more common for school aged children. Some schools are actually requiring them! But iPads/iPods and other ‘i’ devices can’t have separate accounts for kids. Apple’s marketing model is geared towards individuals each buying their own device, thus the ‘i’ prefix to iCloud, iTunes, iPad, iPod, iPhone…

I later learned that it is possible to make separate accounts on iPads only by “rooting/jailbreaking…” the device. But the US made this illegal yesterday with yet another pro-monopoly DMCA provision. Unless someone cares enough to sign the petition against this pro-monopoly DCMA provision, my fancy new iPhone won’t do what “I” want it too.  Monopoly-locked iPhones are also useless outside of a carrier’s region or if a carrier goes bankrupt. Which is why I decided that it is a good choice going with an Android tablet. It allows ‘I’ to do what ‘I’ want far more than the iPad does. Android’s latest version 4.2 OS does have multiuser capability but some Android devices are so inexpensive it is much more practical to have one device per family member.

Apple tablets, phones and iPods aren’t bad devices, but they’re targetted to a particular market, young, urban, singles and dual income no kid couples. The rest of us, are more focused on ability to share, freedom to customize, ruggedness price and portability between networks than on slick eye candy. At least that’s what iWant.

Take no prisoners ‘justice’ claims another victim in the US

Aaron Swartz helped create the RSS technology which made blogs, podcasts, facebook and twitter possible. He also created Reddit. He made some mistakes, one of his biggest might look something like this:

wget -r http://www.{website containing scientific journals of tax-funded research}/*

Wget and curl are tools used by web developers, researchers and internet archivists. Similar tools are used by Microsoft’s Bing , the internet archive and Google every day to find, cache and index websites. These tools automate browser “save as” for every _public_ file on the website. Yes I used the word public intentionally because curl and wget are not magic hacking tools. They simply automate what your or I or great-grandma Moses could do with their web browser.

But if the site has no security (for example, a simple robots.txt file or CAPCHA can help distinguish scripts from browsers), the above wget command might download millions of files.  So the US federal prosecutor pushed for a 30 year sentence and up to $1,000,000 fine and ultimately drove Aaron Swartz to suicide. This is just the latest example of what I call a take no prisoners approach  which has corrupted the US justice system.

Academic and free information activist Lawrence Lessig put it well in his article entitled, Prosecutor as Bully:

For remember, we live in a world where the architects of the financial crisis regularly dine at the White House…  Somehow, we need to get beyond the “I’m right so I’m right to nuke you” ethics that dominates our time.

You hit the nail on the head Mr. Lessig. It’s what I’ve called take no prisoners justice. I’ve seen lives ruined or severely damaged when the US justice system turns a correctable mistake into scorched earth.  One of my most gentle and intelligent friends could not be faulted for never wanting to again set foot in the US after a minor traffic accident almost destroyed his family. It’s the sort of thing you might expect from totalitarian states. I don’t believe the US has yet sunk to that level, but in order to prevent this we need to know how dangerously near we are to the edge.

More A11y inspirations

I’m making some progress on data driven accessiblity testing using mago+ldtp2.  I’ve also built enough atspi2 to get atspi over dbus to work on Solaris.  There was no smoking gun with respect to performance except that the dbus_daemon consumed the most time within syscalls (you knew that didn’t you?)    I suppose I should see what syscalls it’s spending the most time in but that would require rebooting into Solaris.  Stay tuned…

I’ve also set sight on some long term projects.

  • Use mobile phone accelerometers, GPS and camera data to create a community ‘best accessible path’ with (optional) community tags.
  • Horizontal and vertical obstacle recognizer using conventional phase/contrast detection AF and cylindrical lenses
  • Fourier optic shape recognizer
  • Plenoptic camera in face/environment recognition system.
  • Music as an I/O method
  • Using observability tools (e.g. dtrace) to glean a11y information from badly behaved “closed” applications.

None of this makes much sense yet but I’ve written it down here so I don’t forget about it.  A year ago I considered buying an arduino, beagleboard or hawkboard.  Now it looks like I should be buying a smartphone since my old symbian smartphone died in Spain.  Since I intend to do some opensource and a11y hacking, I’ll stay away from Apple.  I’d like an android with a qwerty keyboard for about 200 Euro which seems to be an impossible goal here in Ireland.  Wish me luck.

Inspired by accessibility team

two kids and daddy hack shortly before Aegis/Gnome accessibility hackfest

Family hacking

So now I’m inspired to try to help accessibility by:

  • Formalizing the standards for different types of accessibility so that they can be written as rules which are pulled into data-driven automated regression tests.
  • Improve Accerciser, add capability to use automation tests in a plug-in. Add link from interface view to documentation, improve general documentation.
  • Build ATSPI2 and orca on Solaris so I can do some dtrace exploration of the cache misses Mike mentioned and try to dig out the root cause of other performance issues.  I have this running at the moment and the dbus-daemon does spend far more time in syscalls than anything else.  This isn’t a smoking gun because it seems to be doing usual daemon type things.
  • Use dtrace to glean accessibility information from inaccessible apps (Adobe are your ears ringing?)
  • Have a look at other applications of OpenGazer technology and orca. (I already tried to build it on Ubuntu but it seems unhappy with my choice of cheap webcams)  There are many possibilities which make use of community weighting, mobile phones, GPS and image recognition.  When trying to figure out a simple fast method using optical FFTs to separately detect horizontal and vertical obstacle, I realized that I was reinventing aspects of how our vision works.  Hmm.

Aegis conference & gnome accessibilty hackfest

I just returned from the First international Aegis accessibility conference and Gnome hackfest in Seville, Spain. I began with a presentation of my automated accessibility testing prototype. I intended for this to be a round-table discussion rather than a one way presentation but things got off to a slow start and Peter gave a detailed presentation of the Aegis testing framework background so I tried to wrap up quickly. I did get some excellent feedback and more importantly, I began to get to know some of the talented people who work on Gnome Accessibility.

Joanmarie and API suggested that I organize the test classes around roles rather than application. Applications are accessible with the application role. We need to get together to discuss the rules. If possible, I’d like to see the rules expressed in a parseable format which can become part of the documentation. We also discussed several levels of report, similar to a compiler’s warning/error/pedantic reporting flags.

Shaun pointed me to blip, a really nice reporting tool which he wrote and which would be a nice central place for test results as well as linking the maintainer to the code and allowing us to notify the correct person.

Mike was working on some dbus performance issues with ATSPI2. We were wondering about those ubiquitous bounce events. Why are they being sent over the bus and could we improve things if we only sent stuff over the bus when there were registered listeners for that event.

I met with Gerry later to go over the technologies and design. He liked what I’d been doing and would like to try to help if possible. I could use help! The Accessibility team could use help. The people are brilliant but there are too few of them. It’s quite a blow when big companies pull out talented people such as Willie Walker for no coherent reason. If it weren’t for Mike, Joanmarie, Eitan, API, Mario… opensource desktop accessibility might have been set back years.

I feel very fortunate to have the opportunity to work with this team. I only realized earlier today that my interest in accessible technology goes back to the late 1980s when I build a hardware text-to-speech device and used the tuner from an old radio in place of the crystal so that the speech rate could be varied.  I found that designing a katakana to phoneme translator in Commodore 64 basic was much easier than designing an English to phoneme translator.

Thanks to all of the people I met in Seville. I’m looking forward to working with you and seeing you again soon.

it was…

It was the best of times, it was the worst of times, an age which celebrated the diversity of the human spirit, it was an age when differences were feared and outsiders were loathed. It was the epoc when we knew we could bring our dream to the world, it was the epoch when we thought we would fail. It was the season of shared knowledge, it was the season of hoarded, hidden truths, it was the spring when we were on the verge of an open and enlightened world, it was the winter when our dreams were crushed by the depth of evil to which humans will descend, we had technology and spirit and and wisdom and life, we had nothing– but hope.

Story Spectrum prototype

Here is a story spectrum application I’ve been working on. It highlights “purple” prose as well as prose which appears in Shakespeare or Canterbury tales

http://opensourcemechanic.com/stories/submit/

Here is the facebook application I’ve tied to it:
http://apps.facebook.com/textrum/

Fixing a Casio SK-200 Music Keyboard

Sometime in the late 1980s or early 90s I bought a Casio SK-200 sampling music keyboard. It has been a lot of fun over the years. I’ve sampled everything from radio static to hulusi’s and harps. The sound quality isn’t brilliant, it’s only 8-bit sampling at 10 kHz, but slightly higher quality than the more popular but older Casio SK-1. I was surprised to learn that 20 years after I bought this keyboard, there doesn’t seem to be a similar “kid-sized” fun sampling keyboard. So I hung onto it and now my kids have fun with it. I think it may have helped encourage my little boy to talk.

The little guy helped break it, but we can fix it and learn how it works.

Boys will be boys, and the little guy loves playing music keyboards with his feet. So one of the black keys was wobbling like a loose tooth.

Who needs C# anyway?

I decided to take it apart and try to epoxy glue the key. Wow there were quite a few screws inside! I read that the SK1 had 4 screws holding the key assembly into the case, this one had 14! Ideally I would replace the cracked key or swap it for a seldom used one at the top of the range, but while white keys are discreet, black keys are grouped, about 10 together on a single piece of plastic. The plastic has exactly the right springiness to make the keys bounce well. The SK-200 is full of discrete electronics, many ICs capacitors, diodes, transistors… all work together to make a robust and wonderful keyboard. Here is a photo of the M4135-MAIM board:

Main logic and sound circuit board SK-200

Here are some of the parts on the M4135-MAIM board

TC4066BP (3) TC40175BP(2)
5218/4558?(2) TC74HC174P
TC74HCU04 8517PX204
TC74HC157P2 MSM6294-03
74HCABP(2?) 7416PX204(uPD4464C -15L)
tM6283-02 HD61702A04
The other circuit board has a few small ICs and lots of transistors, capacitors, resistors and diodes. It appears to be the power supply and audio amplifier board.

I took apart a cheap modern keyboard recently and only found one of those ugly black blobs. You can see why keyboards such as this and Casio’s SK-1 are sought after by circuit benders. There are thousands of points where circuit modifications could be made. I found a point where it would be easy to pitch bend and the trick of piggybacking an extra memory bank and soldering the data-select to a toggle switch wouldn’t be too difficult, but I think I’ll leave well enough alone. With this minor repair the keyboard is just as fun as it was in the 1990s and neither Casio nor Yamaha appear to have taken advantage of 20-years of advancements in memory and sampling electronics and given us a higher quality portable sampling keyboard. So this was well worth fixing.

One word of caution, if you do use epoxy, only use enough to fill the crack. You don’t want the stiffness of epoxy to mess up the key bounce. And be very careful you don’t glue the key to the case.

SourceJuicer at Beijing OpenSolaris User’s Group

While I was in China working with the desktop QA team,

SourceJuicer introduction for Beijing OpenSolaris User's group

I was invited to present SourceJuicer to the Beijing OpenSolaris Users Group/Beijing GNOME group combined meeting. (Thanks Emily and all!)

An engine crosses Malahide rail viaduct testing in progress!

I was pleasantly surprised at the quick progress in plugging the breach in the weir and repairing the broken viaduct. Today marked a milestone, it was the first time since the rail problem that I saw a rail car traverse the broken section of track!

14 November 2009, railcar goes across malahide estuary.

14 November 2009, railcar goes across malahide estuary.