ATTiny85 WAV Audio player for Halloween

It has been ages since I last posted. I wont get in to the reasons for it right now. Lately I have been working on a project for next years Halloween fun.

A few years ago I built a “Lightning Box” based upon a color organ circuit, and a halogen flood light. The unit works, but is a bit clunky, and relies upon an external CD player boom box unit I bought at the Dollar store for $5. The whole contraption definitely could use some re-working.

The current plan is to make the unit fully self contained (with the exception of the speakers) and solid state. The C player will be replaced with a audio player circuit I located that is based upon the ATTINY85 processor. I also plan to remove the amplifier board from a set of old computer speakers, combine that board with the audio player, and then feed the amplified audio into the color organ as well as the speakers. This entire collection of hardware should be able to be housed in a standard Carlon 4x4x4 PVC watertight junction box. More on that later…

I have attached a picture of the working prototype Audio board.

Advertisements

At the ends of our rope!

Yesterday just after the final battle between Robin Hood, and the Evil Sheriff I returned to the inner circle of faire to find a group of people staring up at the sky and worrying. The sky looked ominous, you could see the line from the front passing directly over the circle, and the sky to the west looked dark with disturbing cloud formations. I asked a few people if they had heard if there were any special orders, are we supposed to be seeking shelter? etc? No one had heard anything so, After a little discussion I decided to make the best of it. I knew the patrons would all be fleeing for their lives and the only thing to do would be to get out there in the streets and entertain them while we had them, and hope that they might decided that if the cast was still playing around, that it couldn’t be to bad and they might just stick around.
I’m not sure what point Andy arrived during the deliberations but right after I had resolved to go out and make the best of it, we glanced at each other, a flicker of insanity sparked in our eyes, and he suggested, “Hey do we have a rope!?” “There’s all sorts in the pole barn” I replied. “Wanna go row?” As if I would say no?!?!? “Hell yes!”
Andy disappeared into the barn, and returned with a long rope, and proceeded to tie it around my waste, he then did the same to himself, I handed him a paddle and we headed out to the streets. When we stepped through the gates there were patrons fleeing everywhere, and we jumped into the frey rowing, improving our arses off. “No one worry, we’re safe, we lashed ourselves to the nearest large object we could find! Ourselves!!!” Worried looks turned to smiles and laughter. Everywhere we went people rushing to escape the perceived doom began to laugh and smile, point, or offer comments. In top form and not missing an opportunity for comedy, Andy Looped us around a tree so that it looked like the two of us had been tied to it. We leaned out from the tree, and began to row, “No one panic! We are rowing the festival to safety”, “STROKE! STROKE! STROKE! STROKE! …. if we keep this up we are going to have a STROKE!! STROKE STROKE!” We looked for groups of patrons huddled in shops and did our best to entertain. “Don’t worry! In case of an emergency these two idiots can be used as a safety flotation device!” We lashed ourselves to trees in front of shops where patrons were huddling to stay dry, as we did, something amazing happened. Patrons became excited about the nonsense, and wanted to be involved. They would run out into the rain they were so desperately trying to avoid just to get pictures with us. Countless “Captain Morgan” poses were struck by patron after patron posing with us. Some played along assuming the role of a captain, barking out orders. Others just quickly got their picture and ran for cover again.
We wound our way haphazardly towards the gate following the patrons, offering boat rides, and other advice, all the while tied to the end of the rope. “ROW ROW ROW YER BOAT! GENTLY THROUGH THE STREAM!!!” We invented, and promptly forgot new versions of that song all the way to the gate. As we neared the gate we passed the Town Square Public house where the Bristol buskin frolic and others had gathered upon its balcony to sing. “…and the ocean waves do roll…” We hammed it up on the street, doing an impromptu dance worthy of being used as an example illustration of how “white guys can’t dance” and then moved on to leave the BBF and company to entertain folks there, not wanting to eat up focus.
We moved ever closer to the gate, next encountering the Earl of Bedlam, whom we promptly wrapped up in the rope between us, and quickly ran through all the previous bits about lashing things to ourselves for safety. Again not wanting to steel audience or focus from another performer we moved on leaving the Earl to his patrons. We next encountered a couple members of fight cast, one of which decided to dive over our rope and do a roll into the street. We let him, and then moved on to the gate as the storm continued to dump buckets of rain upon us. Once we arrived at the gate we found some patrons, huddled in the remembrance shop, as well as a steady stream exiting the faire. we once again lashed ourselves to a tree, this time by the gate, and started rowing. More random verses of ROW ROW ROW yer boat were bellowed, more reassurances that we were fine , more insistence that we were rowing the festival to safety. As the patrons passed they smiled, they laughed, they occasionally joined in. The last thing they saw as they exited the gate on their rainy day was the two of us making the best of a bad situation. “Look I’m doggie paddling”, I then stuck the paddle in my mouth, leaned out from the tree using the rope as support, put my hands up and panted around the paddle. At times during our fun I even caught the security people laughing at us.
As the rain let up we claimed credit for saving the festival from the storm. As we began working our way back to the pole barn we encountered two patrons, a man and a woman, one insisted on crossing over the rope between Andy an I, We refused, and made him go under, we then insisted that the woman climb over, and we lowered the rope. They chuckled, and as we walked away, Andy turned and shouted “Congratulations! You are now married!”. I nearly lost it, the patrons doubled over laughing, and high five-ed each other and then held hands happily laughing their way to the gate. Andy fell overboard off the imaginary ship, and had to be hauled back up by his rope, as he re-boarded his thankful manly hit to my shoulder caused me to fall overboard, requiring me to be hauled aboard. It was that moment that eventually triggered my favorite bit. I took the 2nd paddle back from Andy and whispered “Water ski!!!”, not missing a beat, he began water skiing off me as I rowed like a man possessed. Unbeknownst to me at the time, Andy was in rare form, he was performing jumps, daring poses worthy of Tommy Bartlet, and all sorts of crazed daring-do. As I rowed I began to shout “We’ve invented a new sport, we are calling it Water Skiing! It’s sure rough on the guy rowing though!” people responded with laughter. Cameras flashed, people pointed. We continued this all the way back to the barn, occasionally switching places.
When we finally returned to the barn we collapsed in a fit of laughter.

Weekend 4 – Best and Worsts!

This, turned out to be an incredibly fun weekend at the Bristol Renaissance Faire. Despite my back still acting up, I had a great time!

Worst

  • backing into a friend’s neighbor’s truck after dropping her off Sunday and damaging both vehicles
  • still having some back pain Both days
  • missing out on duck brownies 😦

BEST

  • Best audience of the season!!!
  • Sing-a-long at the old wash well with friends on both Saturday and Sunday
  • Having a nearly full house for Andy and I’s show in KK
  • Hugs, gifts and excited questions from fans of Cutlass Cooking
  • Finally catching a New Minstrel Reveu show this weekend
  • Fantastic compliment from Joe Fernandez
  • Huge turnout for pub crawl Saturday, and actually getting patrons to sing along on songs and even contribute verses
  • Finally getting street time together with Andy
  • Watching Ann Q’s bit stealing soup from the duck get such great reactions from cast and patrons alike!
  • Little girl so excited about learning how to row that she accidentally clocked me in the face with my paddle when she turned to show her mom
  • Hearing how excited other cast were over their weekend too!

Opening Weekend 2009 – Best & Worsts

Best

  • First thing Saturday morning being set upon by the Sheriff and his men, and getting patrons to lie to him in my defense 🙂
  • Having so many friends show up to support Andy and I at our first show in Kids Kingdom Saturday. It meant a lot!
  • Having a much larger audience at the end of Andy and I’s show than at the beginning.
  • Singing in the street with Jon Baade, and Jen Brinkman, and earlier with Jen Spitzer
  • Having a patron shout “you bastard!” at the sheriff when he attacked Jyncks, and the bursts of laughter when I “re-inflated” Jyncks after the fight.
  • Watching Robin and his men fawn over Jyncks after his defeat and totally ignore Little john writhing in agony on the ground.
  • Being able to help in the process of re-uniting a little lost girl, Lizzy, with her parents.
  • A sweet little extremely well mannered and well spoken ~5year old girl who right after the funeral described to me in great detail her exciting time at the maypole.
  • Being in the right place at the right time to support friends after the funeral procession
  • Worst

  • Sundays Funeral Procession
  • Missing out on the Musicians revel I love so much
  • Absolute Best

  • The serendipity moment of being out with the repaired “pirate’s booty” puppet when we encountered a group of blind children. (Details to come)

Dip Leftovers, or what to do with a leftover veggie tray.

Today at work our Dean held a potluck, I took a veggie tray and mixed up a double batch of the Wind Ridge Herb Farm Garlic Lovers dip.  (Wind Ridge is a vendor at Stronghold)   After the potluck was over I still had about one batch of the Dip, and a small metric ton of carrots left.  (OK, not really, but there was two compartments in the tray full)   I decided to try a little something with the dip when I got home.    I thawed some chicken breasts, and then coated them in a good thick coating of the dip. I then placed them on a wire rack  in a baking pan.  I set the oven for 350 degrees, and set the timer for 40 minutes.   When that was cooking I tossed the carrots into the steamer pan, and sprinkled a little basil over them and steamed them.   In addition to these two items,  we prepared pene pasta with a nice vodka sauce.   After the forty minutes were up I turned the oven to broil,  to brown the chicken a bit.

When all was done, it turned out to be an excellent meal.    And best part, there’s not a lot of leftovers in the veggie tray.

Foxmarks in the Library

Recently I was asked by one of our librarians to come up with a way to easily add bookmarks to our Internet workstations.   A little background on this situation follows.  Our Internet workstations are all Linux based, with a custom version of FireFox.  This custom version of FireFox has a lot of things disabled to keep the browser in a stable stat.   I have removed the ability to modify the bookmarks on the workstation in any way. The event code for drag and drop, the menu items, you name it, its gone.   This has made it impossible for the librarians to manage the bookmarks on the workstations themselves.   Any bookmark changes have required me to connect to the machines via SSH and manually update the bookmarks.html file.    This method was just not convenient, and did not allow for easy updates by any means.

Earlier this week, thanks to the offloading of some tasks to our new employee, I was able to put some thought into this problem.   I needed a solution that was easy to maintain, simple for the librarians to use, and most of all, easy to implement.   That last criteria ruled out creating something from scratch, which I really didn’t want to do anyway.   Earlier in the week a co-worker had mentioned how he had just setup foxmarks on his machine and how it was going to sync his bookmarks both at home and work.   It hit me then, why not take a look at foxmarks.  I downloaded and installed it in my browser, and it did exactly as it was designed to.    I realized then that it was a purely native chrome based app.   This fact about its design made it a perfect candidate for what I needed.

I set to creating a generic account for the library, a simple task thanks to the easy to use interface.  Once that was done, I installed foxmarks into the browser on one of the Internet stations.  Due to the customizations, this was not as easy as it normally would be. ( I have all installation menus, and handlers disabled.  Ooops…) I finally worked out a way to install the extension, and once I did I set it to use the newly created account, and checked the box to save the sync password.   Foxmarks  performed its initial sync, and I was able to confirm the success by browsing the foxmarks website.   I then closed the browser, clicked yes on the dialog to clear all stored personal information and felt confident I had a good start.   I re launched the browser, hit sync, and foxmarks asked me for the password for the sync account.  What? I was certain I checked to save the password.  I checked it again, and restated the browser, again clearing the personal information.  Sure enough, foxmarks asked for the sync password again.   It then occured to me that clearing the personal information was probably clearing the foxmarks password.   That would be a problem for sure.  Confident that the password hurdle could be overcome, I set about to modifying the chrome files, and was able to hid the configuration menu items, and remove the keystroke sequence for accessing the configuration menu.

foxmarks-overlay.xul
    <menupopup id="menu_ToolsPopup">
        <menu id="foxmarks-menuitem" label="Foxmarks" class="menu-iconic"
            image="chrome://foxmarks/skin/images/foxmarks_bug.png"
            accesskey="&menu.accesskey.foxmarks;"
            insertafter="devToolsSeparator" hidden="true">

After the UI modifications were complete I  again launched the browser, and checked over the browser to make sure nothing was visible that could allow malicious patrons to manipulate the setup.    Everything I could think of was tested and it passed with flying colors.  I then added a bookmark via the website, and triggered the sync process.   After entering the password, foxmarks synced and the new item appeared.  Again, I still had to fix the password problem.   I  closed the browser again, this time un-checking the options to clear the password store.  After re-launching foxmarks synced perfectly, remembering its password.  This then confirmed for me that foxmarks was indeed using the firefox password store.  It makes perfect sense that it would, but of course in this situation, it’s very inconvenient.    I again dove into the code that comprises foxmarks.  I found, in the foxmarks-settings.js file two functions that handled the username and password.    As I suspected they ultimately called “return” with the value for the username and password.   A simple one line change to each of these functions resulted in a hard coded username and password that would stay put after a clearing of the password store.  By placing a return() just inside the function declaration we essentially bypass the default actions of  the functions.

 get username() {
	return "our_foxmarks_user_account";
        return this.getCharPref("username", "");
    },

 get passwordNoPrompt() {
        return "our_foxmarks_account_password";
        if (!this.rememberPassword && this.sessionPassword) {

After saving the modified file, I started up firefox and hit the sync keystroke, presto, no request for password or user name, and the browser synced.  I restarted again, making sure to clear the password cache, and again foxmarks worked perfectly.   At this point I deployed the modified version of foxmarks to all of our workstations, and sat back and watched the fun.   Within a short period of time, every workstation had correctly synced its bookmarks and all was well.

Finally I  sat down with the librarians and explained how to work with foxmarks’ website interface.  By the end of the first evening after foxmarks was installed we had a healthy collection of frequently used websites all bookmarked, and categorized.   The sync process has been working well and we have had no real problems.  (there was one point where I had accidentally left one of the browsers restored to its default state and some things were modified, but I caught it quickly and fixed the problem.

This alone would have been a fantastic solution, but not being one to rest on my laurels, today I used foxmarks ability to create RSS feeds from links in folders, and used that data to allow the library to randomly select a link and twitter it.  Yup, more fun with twitter.

The twittered catalog

Tonight, I managed to twitter enable our library catalog.   Now, if you find a book you want to recommend to your friends, just click the “tweet this!” link, and fill in your twitter username and password, and click “tweet”.  As if by magic, the item is tweeted, complete with a link to it in our catalog.    Yup, I’m a geek!   Twitter folks, try it out at:

http://library.waubonsee.edu/catalog/