Uncategorized – Open Source Mechanic blog http://www.opensourcemechanic.com/blog cat /dev/random | strings | grep "For being ignorant to whom it goes I writ at random, very doubtfully" Tue, 10 May 2016 21:50:54 +0000 en-US hourly 1 https://wordpress.org/?v=4.7.5 More A11y inspirations http://www.opensourcemechanic.com/blog/2010/10/more-a11y-inspirations/ Wed, 13 Oct 2010 22:22:55 +0000 http://www.opensourcemechanic.com/blog/?p=173 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 http://www.opensourcemechanic.com/blog/2010/10/inspired-by-accessibility-team/ Tue, 12 Oct 2010 21:10:21 +0000 http://www.opensourcemechanic.com/blog/?p=165 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 http://www.opensourcemechanic.com/blog/2010/10/aegis-conference-gnome-accessibilty-hackfest/ Tue, 12 Oct 2010 00:15:25 +0000 http://www.opensourcemechanic.com/blog/?p=154

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… http://www.opensourcemechanic.com/blog/2010/10/for-opensource-desktop-accessibility-it-was/ Sat, 09 Oct 2010 19:00:25 +0000 http://www.opensourcemechanic.com/blog/?p=146 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 http://www.opensourcemechanic.com/blog/2010/05/story-spectrum-prototype/ Fri, 14 May 2010 18:17:04 +0000 http://www.opensourcemechanic.com/blog/?p=140 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


Here is the facebook application I’ve tied to it:

Fixing a Casio SK-200 Music Keyboard http://www.opensourcemechanic.com/blog/2010/02/fixing-a-casio-sk-200-music-keyboard/ Sun, 28 Feb 2010 23:40:32 +0000 http://www.opensourcemechanic.com/blog/?p=118 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 http://www.opensourcemechanic.com/blog/2010/02/sourcejuicer-at-beijing-opensolaris-users-group/ Mon, 08 Feb 2010 08:11:08 +0000 http://www.opensourcemechanic.com/blog/?p=111 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! http://www.opensourcemechanic.com/blog/2009/11/an-engine-crosses-malahide-rail-viaduct-testing-in-progress/ Sat, 14 Nov 2009 13:18:42 +0000 http://www.opensourcemechanic.com/blog/?p=103 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.

Use it or lose it patent legislation proposed in Minnesota http://www.opensourcemechanic.com/blog/2009/09/use-it-or-lose-it-patent-legislation-proposed-in-minnesota/ Sun, 13 Sep 2009 20:10:08 +0000 http://www.opensourcemechanic.com/blog/?p=87 My friend Ron at inventorsagarage.com found this proposed Minnesota legislation which would grant an employee the right to use a patent if his/her employer sits on the patent for too long:

(b) An employer who has a right to develop or utilize an invention or proposal
1.11must make a substantial investment in the invention or proposal within five years of the
1.12submission of the invention or proposal or forfeit all rights and interests in the invention
1.13or proposal to the employee.

I’d wondered about this possibility years ago when I noticed how common it was for an invention to languish in an employer’s defensive patent armory while everyone, including the inventor, is blocked from doing anything with it. There are many reasons for this, for example a company may be operating in a business where the patent might not be applicable. Do we want the idea for a 90% efficiency solar panel or a cure for cancer to sit in a warehouse because the inventor’s day job is at an investment firm or oil company which has absolutely no financial interest in developing the technology? Even when a new patent aligns with a company’s core business, developing the patent might not figure into to the company’s immediate business plan. SEC guidelines force companies to focus on near term (90 day) profits. IMHO this discouraged R&D and may have contributed to the fact that NASDAQ remains below the trend line set in the pre PC, pre-Internet vacuum tube era. The proposed ‘use it or lose it’ law might help uncork some of the innovations which, I imagine are sitting in a warehouse not unlike the one at the end of ‘Raiders of the Lost Ark.’

I agree with Ron that this law has very little chance of passing, but at least it has seen the light of day. If a similar law has passed in another state or country it would be interesting to see if it encouraged innovation. I suspect it would discourage large companies who have every reason to want to maintain their patent hoard, but it would also encourage small start-ups who would take advantage of the wasted IP. Sooner or later we will reach a critical mass of inventors whose creations are kept under wraps and there will be a level of reform somewhere. Then perhaps one day the patent system will live up to the mission of creating an environment that “encourages investment in innovation, and fosters entrepreneurial spirit.”

A carpenter’s explanation of OpenSource http://www.opensourcemechanic.com/blog/2009/09/a-carpenters-explanation-of-opensource-software/ Thu, 10 Sep 2009 20:22:33 +0000 http://www.opensourcemechanic.com/blog/?p=89 Imagine that you are a shop teacher intending to teach children how to build a wooden footstool:

The shop teacher and the prefab 'lumber'yard You go to the lumberyard and ask for some lumber and nails. The guy at the lumber store shakes his head and says, "Sorry, we don't got that, we only carry EasyDone or NanoHouse products. How about this beautiful prefab bathroom?" You tell him you don't need a bathroom.
"Perhaps I can interest you in a EasyDone kitchen?" he says.
"Just wood and nails," you say. Frustration is beginning to show in your voice.
"O.K. then you must choose between an EasyDone or NanoHouse prefab livingroom."
"I only need wood and nails! Ten penny nails, 2X4s, plywood!"
"We don't sell that."
"O.K. then how much is an EasyDone bedroom, I can take it apart and use the wood and nails."
"What? That is far too expensive for my budget!"
"It's fully integrated, painted, the carpet is in place and the bed is even included, it's ready to go!"
"But it doesn't do what I need. I'm only going to take it apart and we are going to use the wood in shop class."

]]> Imagine that you are a shop teacher intending to teach children how to build a wooden footstool:

The shop teacher and the prefab ‘lumber’yard

You go to the lumberyard and ask for some lumber and nails. The guy at the lumber store shakes his head and says, “Sorry, we don’t got that, we only carry EasyDone or NanoHouse products. How about this beautiful prefab bathroom?” You tell him you don’t need a bathroom.

“Perhaps I can interest you in a EasyDone kitchen?” he says.
“Just wood and nails,” you say. Frustration is beginning to show in your voice.
“O.K. then you must choose between an EasyDone or NanoHouse prefab livingroom.”
“I only need wood and nails! Ten penny nails, 2X4s, plywood!”
“We don’t sell that.”
“O.K. then how much is an EasyDone bedroom, I can take it apart and use the wood and nails.”
“What? That is far too expensive for my budget!”
“It’s fully integrated, painted, the carpet is in place and the bed is even included, it’s ready to go!”
“But it doesn’t do what I need. I’m only going to take it apart and we are going to use the wood in shop class.”
“Wait a minute. Did you say something about taking it apart?”
“Yes! It doesn’t do what we need so I have to take it apart so my kids can rebuild!”
“No, I can’t sell it to you for that, it’s against the law, violates the EULA. Besides, all the joints are epoxy rivet-welded together. You couldn’t possibly take it apart without turning it into sawdust.”
“But I need the raw materials for my students to build a footstools!”
“Go away. I need someone to buy my prefab bathrooms, I have some overstock.”
“Fine!” You say, “I’ll take my business elsewhere.
“There is a NanoHouse prefab garage store down the street.” he offers.
“I’m not interested! And if I ever do need a new bathroom, I’m going to build my own!”
“Oh no you don’t. NanHouse has a patent on those.”

Opensource software is a raw material which can turned on a lathe, nailed together. It can (and must!) be replicated at any stage of customization or enhancement. Therefore, it improves as it is used. If you can’t buy exactly what you want, you can build it or put together the components and configure them to meet your needs. Free software doesn’t eliminate the need for software expertise anymore than raw lumber eliminates the need for carpenters. Free and opensource software (FOSS) is a good fit for education where thousands of schools across the country have similar, but perhaps not identical needs. Ironically, many proprietary software companies have all but abandoned the educational market because of widespread piracy of proprietary software in schools.

When schools had solid federally subsidized budgets for computers, proprietary software running on proprietary operating systems installed on proprietary fat client computers (with a shelf life of little more than one semester), may have seemed a good idea. But this was never an efficient use of funds. For some schools it was the equivalent of buying a pre-fab house for the shop class to take apart and build into footstools and candle holders. Times have changed, educational money has disappeared. Such inefficiencies are now impossible to overlook. In order to give children the best chance of a bright future where they can compete in the global economy, we need find these holes where our government is throwing tax money, and fill them as quickly as possible. It is becoming obvious that to balance their budgets, governments and educational institutions must utilize opensource software and eco-efficient, future-proof, low TCO hardware wherever possible.