Archive for January, 2010

Eigenharp

Around Halloween last year, I discovered the Eigenharp. Immediately I placed an order for the Pico, the entry level instrument. It is a digital instrument, but the music you create feels very analogue. It’s sensitive to keypresses (it has 16 playing keys normally, arranged in two columns) in three dimensions. It makes a different sound (or can) depending on how fast you hit the key, how hard you hit the key and then how you move that key up/down or left/right.

It arrived in early November and I soon decided that I was a “wind” person, despite years of playing piano as a child… and that the supplied model of a clarinet was not exactly what I was looking for. I found a recommendation for a synth called “Reaktor” and a wind instrument model called “Silverwood v3″. It sounded great – as long as I tapped the keys with enough velocity, if I just touched the key, it often missed the note.

Eigenlabs fixed this bug tout de suite. Suddenly I feel as though I have an expressive flute at my fingertips. It hasn’t suddenly made me into a prodigy however. Now I have to practice, but at least because the sound is generated on the computer, I can do it in private: with headphones.

Naan Bread

You will need:
2.75h before you want to eat:
A domestic breadmaker with a basic dough setting. Set it up (don’t forget to put the paddle in), then load the bowl with (in order):

  • 1/2 tsp yeast
  • 250g strong white flour
  • 1 tsp sugar
  • 1/2 tsp salt
  • 1/2 tsp baking powder
  • 1 tbsp olive oil
  • 2 tbsp natural yoghurt
  • 100 ml water

Put the bowl into the bread maker, set for basic dough and wait 2h 20 mins (or whatever your maker says).

When it’s finished, take the dough out (it’s perfectly cool – or you’ve cooked it by mistake)
Put the grill on maximum and split the dough into four equal sized balls. Roll each flat and slightly longer than wide, then lay on a grille. Don’t be worried if it seems thin, it puffs up.
Put them under the grill and let them brown on each side, takes approximately 4 mins a side with my grill.

Enjoy.

And you’re back in the room.

This weekend, I plan to work on the frame again. Code’s installed on the server again, fingers are sharpened, so are my wits. I’m ready.

Where’ve I been?

I’ve been noticeably absent recently, that’s because it’s very difficult getting any kind of internet in the highlands of Scotland and I was out photographing wolves anyway :) So, now I’m back, with a week of holiday left, and a new mac mini to run the server on.

I’ve got some more work to do on the user side (forms for managing photo streams mainly) and I’m going to change it to use SQLite as that comes as standard with mac (and is probably installed on most linux systems too) I should have something people can easily setup and run.

I’d love to be able to tie up the relationship between the framecode and the friendly version (which you enter with the pin code to register)
Mine is:
Frame: 1B52B0CAD4E5CD0C2E0DBDA8A77EF1D6200027F6
Human: 0728-7314-8897-2498-1336

It could easily be some kind of lossy checksum in base 10. Perhaps a modulo 10000?
It’d be nice to tie this up. If you don’t know what to calculate, but you’ve managed to get your framecode, by all means post a comment in the same format as mine above.

Sanity Saver

Fed up with re-entering wireless settings on the frame?

If you have Windows, you can create some files on a USB key to make this “just work”. Well there’s no magic to it, the file is just XML.

Unzip WLANSettings.zip to the root of your USB stick (it will create a directory which is where the file is expected to be) and edit the Wsettings.wfc file to match your settings. Plug it into your Momento photo frame and select “Read settings from USB”.

WooHoo

http://indy.zippysoft.com/~faye/FrameRSS.jpg

Succes!

Red herring are us

Well it seems as though I was looking for a red herring. I used my ‘frame emulator’ scripts to fire off some sync requests at momentolive. It’s quicker that way than waiting for a poll request to not get blocked.
I’ve successfully added some feeds of the same data and different data to momentolive and found that the id is still random.
I have now successfully added FlickrTagsRSS feeds to my frame (and removed them accidentally) using my server.
Things to note: if you sync one feed, you sync them all. There’s a message I hadn’t seen before which comes up when you want to remove all feeds.
There’s also a message which seems to be sent when you browse an rss feed which tells it to (I think, not tested so far) send pictures from a feed to your live album.
It seems that the errors I’d got previously had been caused by my not adding a Content-Length header to the response for picturestream.sync.
Next thing I want to check is that I can update the picturestream.sync so that it adds a gallery.me.com feed (something I’ve been wanting from the start)

What you can do

I’m a bit disappointed at the moment, that noone has helped to contribute to this project.
If you have some code to contribute, eg. A web page for adding photos to your frame (which does the two SQL statements I wrote earlier) or any improvements to the scripts, then please send them in.
Your reward will be the current drop of my code which allows you to add and remove existing RSS feeds.

Something to play with

Warning

You still need to be somewhat experienced to set this up, and I’m not going to make any apologies for that!
That said, if you can configure DNS, Apache and MySQL then your reward is being able to update your frame with new photos.
You’ll need to register with this site to download the goodies, but it’s worth doing. When the forums are up and running, you’ll be able to start using them to discuss this straight away. In the meantime, feel free to post comments.
You can download the package here.
Enjoy!
ps. To trigger an update (once your frame is connected), try this for a start:
mysql> insert into pictures_to_sync values (’76abed88-aa17-4682-a5de-50b2106c2591′,’http://gallery.zippysoft.com/main.php?g2_view=core.DownloadItem&g2_itemId=199&g2_serialNumber=2′,’IMG_1165.JPG’,'fayep’,'Got stick?’, NULL,1,false,NULL,NULL);
Query OK, 1 row affected (0.00 sec)
mysql> update frame set last_update=(unix_timestamp(now())+0xe77918671)*10000000 where id=1;
Query OK, 1 row affected (0.00 sec)Rows matched: 1  Changed: 1  Warnings: 0
If this makes no sense to you, please wait for a more complete solution.

More progress

DIY Hackery

You will need: (for the moment, time is limited)
  • not to be afraid to google for answers to how to do the below
  • the ability to redirect *.momentolive.com to an ip of your choice (ie your computer)
  • to create a self signed cert for your webserver for *.momentolive.com
  • to run a webserver on your ip on ports 80 and 1066(ssl) answering to securesync.momentolive.com at least.
  • to assign the cert you created to the 1066 server
  • to be able to run scripts named .sync (AddHandler?)