Posts

Setting up a Raspberry Pi for OSX using a direct ethernet connection

Image
The Raspberry Pi is a great piece of hardware. However you don't always want to hook it up to some screen and keyboard when working with it. I in fact never did since I like to do everything using SSH which is enable out of the box if you are using the raspbian distribution. So just hook it up to your router and start hacking. But what if you have no router and only you Mac? The Raspberry Pi is configured by default to receive an IP address from a DHCP server. So you need a DHCP server. This can be done using the sharing option in OSX. Just set it up like that, ignore the warning about your ISP, since you are not connecting to anything but you Raspberry Pi. You can also share your wifi-connection if you are at home but if you have secure enterprise wifi this option doesn't work. Once you have enabled this option just connect your mac and Raspberry Pi using an ethernet cable and THEN connect the power to the Pi. Also note that you don't need a cross-over cable, ...

Mounting SSH on Mac OSX

If you want to stay stay with free tools and mount ssh shares on OSX MacFusion is the tool of choice. However for me MacFusion quits with an error "Failed to mount" and the log revealed: (SSHServerFS, phy303.uni-regensburg.de, 29.06.11 19:27) /Library/Filesystems/fusefs.fs/Support/fusefs.kext failed to load - (libkern/kext) link error; check the system/kernel logs for errors or try kextutil(8). This is a bug in the current MacFuse version (2.0.3). The solution is to install the NTFS-3G Project's MacFuse binaries at tuxera.com Thanks to Jacobs UNIblog

2011 Macbook Pro: State of linux wireless support

Want to use your favorite operating system of your favorite laptop? The 2011 Macbook Pro uses a Broadcom 4331 chipset for which there exists no driver at this point. And according to the Ubuntu forums NDISwrapper does not work either. However Broadcom states that: "We have plans to support the BCM4331, and other new chips, with the brcmsmac driver. I don't have an ETA, but new chip support is the first thing on the priority list after getting the brcmsmac driver out of staging." Also there are also community efforts to create a driver and today one kernel-hacker told me: "Hey, the work has just started and its really hard as we don't have ANY specs. Everything I write is from dumps without knowing real stuct of the driver. There is a lot if guessing, starring at the dumps and trying to find a relation with specs for older cards. I'm on vacations right more, I expect to perform first tests in 2-4 weeks, do then ill be able to tell you more." So all one ...

OSX Snow Leopard on VirtualBox

Can't afford a Mac? Wanna do iPhone development with Ubuntu? There are reasons why one would want to have OSX running on VirtualBox but getting it to run is not so easy. First of all you need - VirtualBox - Hazzard OSX Distribution, can be found on the net Now set up a new virtual machine in VirtualBox and select Mac as operating system. The harddisk size should be at least 10GB, I chose 20GB This gives you EFI enabled in the system tab of the virtual machine's settings. Next boot the Hazzard OSX Distribution an start installation. Use the Disk-Tool to make a new partition. Don't start the Installation yet! You need to customize it and only install the Legacy Kernel and the latest Chamealeon bootloader. This is all and you can begin the installation. When you're done and before you boot into you new system go the the virtual machine's settings again and switch off the EFI option in the system pane. The last step is to switch off Apple CPU power management by deleti...

Andtie

So let me cover an innovation that actually look good on me - like an iPhone. The andtie . It's gonna keep you warm since the folks from Denmark know what cold and wet means. They came up with the idea and the material feels pretty high-quality. Check it out.

Dry-Ice Canon fun

Image
Use frozen carbon dioxide (dry ice), mix it with water and pipe the steam into a PET bottle. When the bottle at roughly 22bar explodes you can shoot for example a toy chicken over more than 80 meters (We had serious problems to build a projectile that is not destroyed by the power of the launch). We built the device for a creativity competition at our university. And well, we could not place an object accurate on 20m but for shure we did it with the biggest impact. Music on Amazon and iTunes If you are curious, here some detail about the construction: For us secure handling was not only an option. We have seen some people that put water and dry-ice together into an bottle close it and put it into a pipe. But you have good chances that it will explode in your hands. So we put an PET bottle into our pipe and connect it with an CNC made adapter to the presure reservoir outside. Beside that, all parts are made from steel and welded. We experienced that a 1.5l coke bottle (actually we used...

This blog makes money... erm gifts!

Image
I lately discovered CuriousInventor as they sell some quite interesting diy kits like the touch strip LED display that looks perfect for synthesizer controlling to me (Hope to get one for christmas). But the really interesting thing to me is that you get a PanaVise Junior Clamp for free if you link them from a page with Google PageRank of 2 or higher (this page had 3, when I checked). So lucky me, I get a gift worth 18$ at their shop for free. Who said making profit from the web would be hard? ;)

It's done

Image
Finally Summer of Code 2008 is over for me and it has been good. Although I had a lot to do this summer, I can say that I really enjoyed working on my project. So thanks to Google, Musicbrainz and Philipp for his mentoring.

Screencast

I made a little screen cast showing my project in action:

Implementing an finite state machine

Image
I have to confess that informatics has to offer some really useful concepts. One of them is the finite state machine . Basically it works like this: The system is in a certain state. Then you have transition matrix that contains the condition for a transition from one state to another. If the update() function is called matrix conditions are checked. If a conditions is fulfilled for the current state a transition is done and the system enters the new state. Here is the current transition matrix: The states used are: Init: asks the user to drag in some files add_files: at least one file dragged in to_many_files: over fifty files dragged in. Tells the user that less would be better but doesn't force him to do so select_ungrouped: asks to select the "ungrouped cluster" choose_method: ask to put mouse over scan or lookup to get an detailed description of the two methods explain_lookup: As it says, explains the lookup process, advantages and disadvantages explain_scan: same he...

Second part started

I'm glad the wiki thing worked and I'm already working on the in application support part of my project. The goal is to guide a first time user through the process of tagging. This will be accomplished by a little box above the two main panels that provides information on what to do next automatically and based on the users action. Although I realized that there a many ways users are working with Picard, I decided to go a simple way that should work for most users. As the user advances in using Picard, he'll find his own favorite way of tagging.

Help me to improve support texts

Hi, under the hood the wizard now is quite finished. But as I'm not a native English speaker I need your help at improving the support texts given inside the wizard. They are, as Robert stated a bit to formal and stiff. I really would be glad if some of you could have a look at the wiki page , where you can edit the texts.

Midterm evaluation is near

Image
It's already some time ago that I last posted an update. Doing something really periodic seems to be my week point. The time of the midterm evaluation has finally come. This means I have to fill a survey on how things are going for me and my mentor. I have to say, that everything seems to be alright. The Wizard part of my project is quite finished despite of some smaller fixes and a bit code cleanup. Here you can see it in it's full beauty: From the last time I posted changed that it now has an functionality to sort out duplicates in various manners. Another thing is that the wizard can be disabled to show up on when starting Picard. On the other hand it can be started from the menu now. If one clicks cancel without completing it one is also asked if it should show up the next time Picard starts. This should be enough to prevent the wizard from annoying long-term Picard users.

Screenshots!

Image
Here you can see my work-in-progress of the first run wizard. The help texts still need to be improved but the rest basically should work. Dependent on if you choose "Custom format" in page 3 (unfortunately hidden on the screen shot, but is within the preset list) you get page 4 displayed. The bottom right dialog appears if you hit insert field in the custom format dialog and displays you a choice of fields you could use. Maybe one should change the background color of the help texts to make them distinguishable from ordinary text widgets. So, was quite a bunch of work so far and I hope it payed out.

official coding stated

This week the official coding started. An monday Philip and I had a little chat on how I should proceed from now. The first thing is to integrate the prototype on which I worked on in the pre-coding time into Picard itself. Therefor I brached Picard on lauchpad. So feel free to check out my working copy of picard . Just keep in mind that you will also need the latest version of Mutagene to run picard's trunk. (Ubuntu folks go here )

Wizard: File handling setup

Image
So, being back from London (was really cool meeting all those people) I started coding. I decided to start with the first run settings wizard that basically sets up the things that are accessible from the settings dialog too. Additional I'm trying to make the file naming easier by providing an overview of the existing scripting variables taken from the wiki . Here comes up a question I'm just think about: Should I save the description in a local plaintext file or should it be pulled from the wikipage? The second option would be nice on the one hand as the wikipage is easy to extend by non-coders, but everything could also break more easily, too, e.g. by changing the formating. Another idea that might be interesting to put on my schedule is the posibility of downloading and installing plugins available for picard but not included for e.g. legal reason using the wizard.

Diving into pyQt

I started learning pyQt and as far as I can tell I'm quite happy with my book. While I didn't have this big expectations on the book reading it is a quite a joy. The author starts by introducing python itself, but in a way also interesting to people experienced with python. Of course there are mentioned all the basic concepts in python but also some less known topics like things that are new in python 2.5 and even 2.6. So now I'm at the point of general principles on hand-coded dialog layout and the signal and slot concept. While having learned pyGtk and wxWidgets more from reading the reference it is really nice having everything introduced by well explained code examples.

timeplan update

Here is the updated time plan for the PicardQt Wizard: Total duration (Week numbers): 21 - 33 Layout: 21, 22 Sample Application: 23 - 27 mid term Evaluation Real Application: 28 - 32 Cleanup and other things: 33 ps: please someone write a gantt chart widget!

Starting up...

Image
I finally decided to buy the book " Rapid GUI Programming with Python and QT. The Definitive Guide to PyQt Programming" by Mark Summerfield. Actually there are not many choices if you're looking for something up to date. Thinking on what might be the best way to introduce the user to Picard it came to my mind, that I maybe should choose a more visual way based around screen shots. I came to this conclusion while looking at myself always clicking away these more annoying than helpful "Tip of the day" dialog boxes when starting for example GIMP. But I will see how this could fit together when starting with the actual dialog outline while practicing some pyQt.

Accepted for SoC 2008

Hi, I finally got accepted for Google's Summer of Code 2008 . One interesting thing is, that I my semester are two more SoC participants, so the University of Regensburg probably has one of the highest rate of participants at all. For SoC I plan to update my blog about once a week, to allow people to keep track of my progress on creating "A Wizard for PicardQt". PicardQt is a quite innovative mp3 tagger using the Musicbrainz database run by the Metabrainz foundation. From the software side it is written in python and using Qt I really would recommend it to everyone who would like to have a clean and structured music collection. The purpose of the Wizard is, in short, helping new users to set up PicardQt correctly and provide help on further steps after. So having mentioned Qt, this will be my first investment in the project: Buying a book on Qt. As I did stuff with wxWidgets and Gtk using the reference was ok, but a book is simply more comfortable if you don't have...