Sound fix for Adobe Flash for Firefox 4 beta on Fedora

I am currently using Firefox Minefield 4.0b12pre but I have tried this fix also on Firefox 4 beta 11 on my 64 bit system (Fedora 14)! This problem has occured to me with the 64 bit Adobe Flash plugin 10.2.

Some of the code I will paste here (the code for creating the linusmemcpy.c file)  was found in this post at Ahmed Abdo’s blog!

I will give you the script code to paste it in the terminal as after doing some trivial staf f the bug will be exterminated! But I will pretty much explain what this script does.

In general, what we need to do is to create a C file (with a certain memcopy function that will solve our problem) , and the binary and then load the binary when we open Firefox.  The first line of the script creates our C file at the hidden folder .mozilla  (to unhide use Control+H) named linusmemcpy.c , then “cat” is waiting for us to write our text (this time the C code) until we write EOF (end of file). Then what we do is to enter the .mozilla folder and compile the c file. Our last step is to use the GNU Linker with ld on the binary files.

Just copy the whole text and paste it on your terminal as it is 🙂

cat > $HOME/.mozilla/linusmemcpy.c <<EOF
#include <sys/types.h>

void *memcpy(void *dst, const void *src, size_t size)
{
void *orig = dst;
asm volatile("rep ; movsq"
:"=D" (dst), "=S" (src)
:"0" (dst), "1" (src), "c" (size >> 3)
:"memory");
asm volatile("rep ; movsb"
:"=D" (dst), "=S" (src)
:"0" (dst), "1" (src), "c" (size & 7)
:"memory");
return orig;
}
EOF
cd $HOME/.mozilla/
gcc -O2 -c linusmemcpy.c
ld -G linusmemcpy.o -o linusmemcpy.so
linusmemcpy.clin

Now the next very small step is to automate the procedure of starting Firefox correctly with the shortcut on the desktop panel. We will create a small shell script the same way we did with our C file. If you are using beta that means somewhere in your system exists the “firefox” shell script that executes the firefox-bin. We need to know the path to it! If already have a shortcut, right click -> Properties and look at “Command” . This is it. Mine (for firefox 4 from spot’s repos) says firefox4. Don’t forget the & at the end 😉

cat > $HOME/.mozilla/custom_firefox_startup.sh <<EOF
LD_PRELOAD=$HOME/.mozilla/linusmemcpy.so firefox4 &
EOF
chmod u+x $HOME/.mozilla/custom_firefox_startup.sh

So, now is our last step! Go to the icon of Firefox on the desktop panel , right click -> Properties , and at the command click “Browse” press control+H to unhide the folders, enter the .mozilla folder and select “custom_firefox_startup.sh”.

Now, close every instance of Firefox that is running right now (yes I ask too much, but you can leave my blog 🙂 ) and press the Firefox button 🙂

==== Ελληνικά/Greek ====

Σε αυτό το post δίνω οδηγίες για το πως να φτιάξετε το πρόβλημα που έχει παρουσιαστεί με τον ήχο στο Flash της Adobe (10.2) για τον Firefox 4 beta 11 (αυτό και το Minefield στην έκδοση 4.0b12pre δοκίμασα, λογικά τρέχει και σε άλλες beta). Χρησιμοποιό την 64bit εκδοση του Fedora 14.

Θα εξηγήσω λίγο τι γινεται με το script, όμως μπορείτε να το αντιγράψετε και να το επικολλήσετε στο terminal ολόκληρο χωρίς να γράψετε τίποτα εσείς! Απλά τα γράφω για να μη τα κάνετε απλά copy paste χωρίς να ξέρετε τί γίνεται περίπου.

Στη πρώτη εντολή δημιουργούμε ένα κενό αρχείο που θα είναι o C κώδικας με το fix μας (μια συνάρτηση που λέγεται memcpy) στο οποίο θα γράψουμε ότι χρειάζεται και θα περιμένει την λέξη EOF (που σημαίνει τέλος του αρχείου , end of file). Μετά δίνουμε την εντολή cd και μας κατευθήνει στον φάκελο .mozilla (η τελεία δίνει είναι κρυφός φάκελος που βρίσκεται στο home folder και για να τον δούμε πατάμε control+H). Εκεί βρίσκονται οι ρυθμίσεις του Firefox. Κάνουμε compile το C αρχείο και εκτελούμε και την εντολή ld για τον GNU Linker.

Στο επόμενο βήμα δημιουργούμε ένα μικρό shell script το οποίο απλά θα προφορτώσει τo binary αρχείο που φτιάξαμε προηγουμένως την ώρα που ανοίγει ο Firefox! Πάμε λοιπόν μετά στο εικονίδιο του Firefox στη μπάρα στην επιφάνεια εργασίας και κάνουμε δεξί click. Στην 3η σειρά με τη λέξη “Command” επιλέγουμε το Browse και από το Home folder πηγαίνουμε στο φάκελο “.mozilla” και επιλέγουμε το custom_firefox_startup.sh. Κλείνουμε κάθε παράθυρο του Firefox που είναι ανοιχτό και ξανανοίγουμε. Έτοιμοι! 🙂

Microwave circuit design/sim programs on Fedora

Hello once more,

Recently I made a presentation at the TEI of Pireaus on Arduino and Fedora Electronic Lab. Hopefully, I will repeat it to give the chance to more people to come.

I intend to make some simple tutorials (we’ll see how complex they’ll get on the way actually) on using programs that assist or create designs and simulations of microwave circuits and set-ups. In this post, I will just post a simple guide to install some programs that deal with the design and simulation of microwave circuits and components. What I am trying to do is at least reach the 3D FDTD simulation using free and open source software. Currently I have found Qucs, Transcalc, emGine and MIT’s Meep that will help us reach this goal. I am trying to install Elmer-FEM (which looks extremely cool and a lot easier than Meep) but unfortunately, I couldn’t install it due to problems with a certain dependency (ftgl-devel is installed but not found 😦  see here).

You can easily install Qucs with : $ su -c “yum install qucs” (it’s also inside Fedora Electronic Lab together with other valuable packages). It’s a circuit simulation program (not only for microwave circuits) that has various microwave components to use.

Transcalc is ” an analysis and synthesis tool for calculating the electrical and physical properties of different kinds of RF and microwave transmission lines”. The idea behind this is to get the dimensions of real components and then use the results (the parameters we need) in our simulation programs!

To install Transcalc you will need to install the GTK2.0 development files (gtk2-devel on fedora). After you download the package and place it in a folder of your choice (I have a “programs” folder and place every to-be-installed program there) you can go to the terminal and write :

$ cd ./your_path_to_transcalc_folder/

$ ./configure (if something is missing search in yum or “Add/Remove applications”)

$ make

$ su -c “make install” ….and to run the program just type : $ transcalc

A few words for emGine! It’s a full-wave 3D electromagnetic field simulation environment solving Maxwell’s equations in time-domain. You create 3D models of your components, put the parameters and then simulate and get your graphs and results. Not 3D FDTD.

Let’s install it then! You are going to need to find and install (if not already installed): tkinter , python, vtk , vtk-devel, wxWidgets (I got wxBase, wxGTK, wxGTK-gl, wxGTK-media installed) , wxPython, numpy and python-matplotlib. Now go to the download page and get the package (emGine GUI platform independent of course) .

As you understand we are going to compile using python. So, go to the emGine folder (like we did in transcalc) and just type in your terminal:

$ python emGine.py

It might take a bit to run, but if nothing is missing the program shoud start. And that’s for the emGine environment.

Now, to the more serious staff. Meep is an FDTD program to model electromagnetic systems! One of my next posts will be an example running a 3D (I hope) simulation (if not a 3D then a 2D). I will try to get the dimensions of a real waveguide, get the parameters from Transcalc, use them on Meep to visualize a cool simulation and maybe see what we can do on a circuit with Qucs.

What did I need to install Meep on Fedora 14?

libctl (new version on the link, or install libctl and libctl-devel version 3.0.2 from yum etc.), hdf5 and hdf5-devel. I think that was all I needed.

Then let’s go to the terminal one last time:

$ export LDFLAGS=”$LDFLAGS -lm”    (this line is needed to avoid the DSO Linking error with libm.so)
$ make
$ make install

Now if you type: $ meep …you should get:  meep>    I tried to make a 2D example to simulate a waveguide. Not the fastest thing I have done in my life 😛

The reference is here. Start the calculations and wait for my 2nd post. (Also, just found it, check this out, there are tools like the japanese ADVENTURE and its modules)

Mozilla Balkans meeting 2010 : Ljubljana

Hello everyone!

It’s been a week since I returned from the Mozilla Balkans meeting in Ljubljana. An event that was quite different from those I usually attend as it was more…private, for the organizing purposes of our community at the Balkans area! A great chance to meet a lot of interesting people (of all ages).  I had a very pleasant stay, and I should really thank all the people who organized the event.

The great thing is that, a huge surprise happened. We had the honour to meet the new CEO of Mozilla Gary Kovacs, the President of Mozilla Europe Tristan Nitot, the Chief Marketing Officer of Mozilla Chris Beard and last but not least the head of community marketing Mary Colvig !

Saturday and Sunday were planed according to this schedule. We were accurate and productive and the space Kiberpipa provided to us was wonderful. During the work sprint, together with the other Mozilla participants I put my hands into code (eg. the Jetpack session) and I also translated stuff as requested from Kadir Topal the head of our super SUMO development team. Axel Hekt helped me a lot too. Well, the thing is that Pierros, Axel and myself spent quite a lot of time during our common flights and at the airport. It was fun and interesting! Learned a lot of stuff and grasped some new ideas.

On Sunday we had Mary with us! We used our organization skills and did some brainstorming for the benefit of the Balkans community. We split in 4 teams and afterwards presented our ideas.

On Sunday night Pierros and I (the only Balkans team left in Ljubljana) had dinner with Mary, Chris and Axel. Since I had already seen Mary and Axel in action, discussing with Chris proved to me once more how cool everyone in Mozilla is and how unique Mozilla is among all free and open source foundations/projects/etc today because of these people.

Photos : http://bit.ly/mozbalkansLJU

Athens Digital Week 2010 recap

One of the major events here in Athens (and Greece), that allows us to inform people about FLOSS, lets us give a great deal of swag and meet interesting people is called Athens Digital Week (ADW). This year ADW 2010 had once again an Open source section and (once again) the Greek Fedora team couldn’t miss the chance and make the best of it! So, the set up of the first day had to be done by me, Nikos, Thalia, Anastasis and Christos! Pierros was at POSSE in South Africa that day but he joined us on Friday. Many other Fedora members joined as well! Thanks to everyone!

In overall, the event was quite good. Not like last year as I was told (last year I was living in Barcelona 🙂 ) and even in 2008 I remember even famous bands playing at the stage of ADW. Budget problems maybe. Anyway, in 2008 I had the chance to meet Max Spevack just for a little bit. This year, I met Jon “maddog” Hall. And he is one of the most impressive people I’ve ever met, due to his work and ideas around FLOSS, plus his amount of experience that makes him a perfect advice-giver. I learnt a lot (eg. Project Cauã) and had fun (ouzo and mezes FTW). And that’s what matters. Not to mention that after he concluded his talk he thanked Pierros Papadeas (who invited him), the Greek Fedora team 😀  and ADW.

Concerning the Fedora presence. As usual we informed people for our latest news and technologies, how we practice freedom through software and how we work as a community. At our booth, we also presented to people many of our Spins like Fedora Security Lab, Fedora Electronic Lab (I didn’t try much, it is an awesome spin), and Greek Fedora EDU remix. Well, of course we had balloons and a pop corn machine because in Fedora contribution is a party!.  Plus, chats with Maddog every now and then. ‘Nough said.

Anastasis Stasinopoulos talked on Saturday for Fedora Security Spin. Christos Bacharakis made a talk for Fedora on Education, followed by my talk on Fedora 14! I also co-presented the same morning a workshop on Arduino (together with Pierros, tzikis and Konstantinos).

In overall, it was a successful event, as for  next year I hope it will get even better 😀

Some photos here (most of the pictures were taken from Thalia)

=== In Greek / Ελληνικά ===

Μία από τις μεγαλύτερες τεχνολογικές εκδηλώσεις στην Αθήνα (και στην Ελλάδα), στην οποία ενημερώνουμε σχετικά με το ΕΛΑΚ λογισμικό και υλισμικό, να μοιράσουμε υλικό και να συναντήσουμε ενδιαφέροντα άτομα, ονομάζεται Athens Digital Week (ADW). Φέτος το ADW 2010 είχε και πάλι Open source τμήμα και (πάλι) η ελληνική ομάδα του Fedora με χαρά της το εκμεταλλεύτηκε στο βέλτιστο βαθμό! Την 1η μέρα στήσαμε με Νίκος, Θάλεια, Αναστάση και Χρήστο. Ο Πιέρρος βρισκόταν στην Νότια Αφρική για το POSSE αλλά την Παρασκευή κλασσικά συμμετείχε και εκείνος. Δεν ξεχνάω και τα υπόλοιπα μέλη της ελληνικής ομάδας Fedora που ήρθαν και βοήθησαν! Ευχαριστώ!

Σε γενικές γραμμές η εκδήλωση ήταν καλή. Από οτι μου είπαν όχι σαν πέρσυ (έλειπα στην Barcelona), και σίγουρα όχι όπως το 2008 που ήμουν παρών. Οικονομικής φύσης προβλήματα μάλλον. Πάντως, το 2008 είχα την ευκαιρία να συναντήσω τον Max Spevack για λίγο ( ήταν οι πρώτοι μου μήνες ως μέλος του Fedora). Φέτος, γνώρισα τον Jon “maddog” Hall. Είναι σίγουρα από τις πιο εντυπωσιακές προσωπικότητες που έχω γνωρίσει, λόγω της δουλειάς που έχει κάνει αλλά και των ιδεών του στο ελεύθερο και ανοιχτό λογισμικό και λόγω της εμπειρίας του που φάνηκε στις συμβουλές που μου έδωσε. Έμαθα πολλά (πχ. Project Cauã) και διασκέδασα. Και αυτό μετράει. Στο τέλος της ομιλίας του ευχαρίστησε τον Πιέρρο Παπαδέα (που τον προσκάλεσε) την ελληνική ομάδα του Fedora 😀 και το ADW.

Για την παρουσία του Fedora. Ως συνήθως ενήμερώσαμε τον κόσμο για τα νέα και τις καινούριες τεχνολογίες στο Fedora, το πόσο χρήσιμη είναι η ελευθερία στο λογισμικό, πως την ασκούμε και πως δουλεύουμε ως κοινότητα. Στο booth δείξαμε και τα Spins του Fedora. To Fedora Security Lab, Fedora Electronic Lab ( εντυπωσίασε αρκετό κόσμο που ασχολείται με τον τομέα) και το Ελληνικό Fedora EDU remix. Φυσικά είχαμε μπαλόνια και μια μηχανή pop corn γιατί στο Fedora συμμετέχουμε γιορτάζοντας.

O Αναστάσης Στασινόπουλος μίλησε το Σάββατο για το Fedora Security Spin. Ο Χρήστος Μπαχαράκης παρουσίασε το “Fedora στην εκπαίδευση” και ακολούθησε η ομιλία μου για το Fedora 14! Επίσης, συμπαρουσίασα (μαζί με Πιέρρο, tzikis και Κωνσταντίνο) ένα workshop για το Arduino.

Γενικά ήταν μια επιτυχημένη εκδήλωση και ελπίζω να πάει ακόμη καλύτερα του χρόνου 😀

Μερικές φωτογραφίες εδώ (σχεδόν όλες έχουν τραβηχθεί από την Θάλεια)

MSP430 (ez430) on Fedora

For learning purposes I currently have on my hands a EZ430-F2013 Development Kit (We all should also use Arduino 🙂 ). This kit comes with a CD containing proprietary software (an IDE) in order to program and debug the MSP430 microcontroller. So, I took the chance to run it on Fedora using Linux tools and a few resources on the internet. In this post I will write down how you can program and debug your ez430 using Fedora 13 and your terminal.

First, I plugged in the ez430 and opened a terminal (yes we will work only this way for now). Write down lsusb and hit enter. Then you should get some lines containing this one:

Bus 005 Device 003: ID 0451:f430 Texas Instruments, Inc. MSP-FET430UIF JTAG Tool

That means that by default your system recognises the device and you can actually communicate with it.

Next, we need our tools! Go to System ->Administration-> Add/Remove Software (or use yum install etc.). The software we need is (actually not sure if everything is needed):

  • latest version of gcc, texinfo, patch, ncurses5-dev, zlib, zlib-dev, libX11-dev, libusb-dev (not only libusb1-dev), libreadline6-dev, msp430-binutils, msp430-gcc, msp430-libc

and also : mspdebug (the program that actually does the work).To install it manually (in case there is an older version on the repository) download the .tar file create a  folder named “Programs” (in case you don’t have one) on your Home Folder.Then, extract the mspdebug folder there!

With your terminal (you can auto-complete the words in the directory using Tab on your keyboard) :

$ cd /home/(your user name on Fedora)/Programs/mspdebug-0.11

(now you are in the mspdebug folder with your terminal, the version 0.11 is the current one I use, yours can differ)

$ make (this will compile the program)

$ su -c “make install” (and give your root password to install it)

(the $ symbol is just to show that you are using different commands in the terminal, don’t copy it)

now you have installed mspdebug! Great!

If you are ready to use the MSP430 you should have a program already written. In case you don’t, get this example (modified by me to get it to compile) that flashes the internal LED of the device:

/* Blink LED example */
#include <msp430x20x3.h>

/** Delay function. **/
delay(unsigned int d) {
int i;
for (i = 0; i<d; i++) {
nop();
}
}

int main(void) {
WDTCTL = WDTPW | WDTHOLD;
P1DIR = 0xFF;
P1OUT = 0x01;   // THE x IS NOT Copy-Pasted CORRECTLY 🙂

for (;;) {
P1OUT = ~P1OUT;
delay(0x4fff);
}
}

Create a file named blink.c in a folder of your choice, copy this on the file and then cd on the folder. Now to compile it we need 3 lines (I also changed this to work):

$ msp430-gcc -Os -mmcu=msp430x2013 -o led.elf blink.c

$ msp430-objdump -DS led.elf > led.lst

$ msp430-objcopy -O ihex led.elf  led.hex

In order not to do this every single time, you need to run the program, you can create a Makefile based on the one in this site (it’s inside this zip file).

Next, to run mspdebug in order to flash the program into the MSP430, type :

$ mspdebug -d /dev/ttyUSB0 uif

(“/dev/ttyUSB0” is of course the ez430 if you don’t have any other device and “uif” the parameter to run it with mspdebug, check the manual for more)

To flash the program you need to type : prog led.hex . Notice that it is a command to control mspdebug and not the terminal). If you push Control+D mspdebug will close, the ez430 will reset, start the program and also blinking the LED! 🙂

My resources were 3 posts in this site : http://bit.ly/deonNa I should also mention that I have installed all the Fedora Electronic Lab packages with: $ su -c “yum groupinstall “electronic-lab”

The atonement : gnome-launch-box

Seriously, It was an embarrassing moment when I had to deal with the comments in my previous post as all I wanted to do is give people some piece of info on how to make their life easier using gnome-do. What I didn’t notice was that gnome-do is written in Mono (which I don’t dislike as it is hard for me to disapprove).

Carl van Tonder suggested gnome-launch-box and yes I had to give it a try and I did. So either go to Add/Remove Software (I use Fedora 13), or go to the terminal and type or copy/paste : su -c “yum install -y gnome-launch-box”

now you have installed gnome-launch-box. What is next, is to create a short-cut with your compositing window manager (I have compiz fusion). Go to the settings manager of compiz and then at General -> Commands. At the “Commands” tab go to “command line 0” (or whatever you want) type gnome-launch-box. Then go to the “Key bindings” tab and at Run command 0 (or whatever number you previously chose) enable it and then create the short-cut you wish. And now we are done!

==In Greek/Στα ελληνικά==

Ώρα για την εξιλέωση! Αφού το gnome-do είναι λίγο ευαίσθητο από νομικής άποψης (λόγω του Mono) και δεν θέλουμε τέτοιους μπελάδες στο pc μας, προτείνω λοιπόν το gnome-launch-box.  Μπορούμε πολύ εύκολα μέσω του Add/Remove Software, γράφωντας το όνομα (με τις παύλες) ή μέσω του τερματικού (su -c “yum install -y gnome-launch-box”) να εγκαταστήσουμε το πρόγραμμα.

Για να το λειτουργήσουμε εύκολα όπως και το gnome-do μπορούμε να δημιουργήσουμε μια συντόμευση πληκτρολογίου για να το καλούμε όποτε θέλουμε. Εγώ χρησιμοποιώ το compiz fusion. Στο settings manager του compiz πάμε στο General -> Commands. Έπειτα στην καρτέλα “Commands” πάμε στο “command line 0” (ή σε όποιο νουμεράκι επιθυμούμε) και γράφουμε την εντολή gnome-launch-box. Στην διπλανή καρτέλα “Key bindings” επιλέγουμε το “run command 0” (ή το νουμερο που επιλέξαμε πριν), ενεργοποιούμε και δημιουργούμε την συντόμευση που θέλουμε. Και είμαστε έτοιμοι!

Software Freedome Day Athens (review)

Yesterday, as you may know was Software Freedome Day. I will start with this link [1]

Yes the only people that were present were members of the greek Fedora team [2](we could be more but some lucky ones are at FUDCon @ Zurich 😀 ) together with Richard Kweskin of Hellug. We made a simple booth outside of NTUA at Stournari str., with leaflets and stickers and started to inform people about free and open source software. We started at around 11.30 and finished at 2.30. In the mean time Richard gave as a copy of a licence to have presence at the corner of Stadiou str. and Aiolou str., where we also went for the last 30 minutes.

Some photos here [3]

Next event, Athens Digital Week [4]. See you there!

==In Greek/Στα ελληνικά==

Εχθές ήταν  η παγκόσμια ημέρα ελεύθερου λογισμικού. Έτσι, το Fedora δεν μπορούσε να μην συμμετάσχει ενεργά σε αυτό το γεγονός. Και όταν λέμε ενεργά, το λιγότερο που μπορεί να κάνει κανείς είναι να δώσει το παρόν κοντά στον κόσμο για ενημέρωση. Έτσι και έγινε στην οδό Στουρνάρη έξω από το Πολυτεχνείο (αρχίσαμε κατά τις 11.30). Μάλιστα είχε κανονιστεί και ανακοινωθεί στο site του SFD [1](Software Freedom Day). Παρόντες είμασταν μέλη της ελληνικής ομάδας του Fedora [2] και ο Richard Kweskin του Hellug που μας έφερε φυλάδια αλλά και μια άδεια του Δήμου Αθηναίων  για να μιλήσουμε στην γωνία Σταδίου και Αιόλου στο κέντρο όπου και πήγαμε στις 2 το μεσημέρι για τα τελευταία 30 λεπτά (έτσι για δοκιμή και για να μην πάει χαμένη η άδεια).

Μερικές φωτογραφίες εδώ [3]

Το μόνο παράπονο, ότι δεν είμασταν αρκετοί για να ενημερώσουμε τον κόσμο. Ελπίζω την επόμενη φορά του χρόνου να είμαστε πιο ενεργοί όλοι σε εκδηλώσεις όπως το SFD και όχι μόνο στα μεγάλα events όπως το Athens Digital Week[4] που έρχεταιιιιι 😀 .

[1]  http://wiki.softwarefreedomday.org/2010/Europe/Greece/Athens

[2]  https://fedoraproject.org/wiki/FedoraEvents/SoftwareFreedomDay2010Athens

[3] http://picasaweb.google.com/anton.cost/SoftwareFreedomDay2010Athens#

[4] http://athensdigitalweek.org/