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)

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”

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/

I really really gnome-do

Short story : I installed gnome-do on Fedora. Do your self a favour and install it too.

How?

For Fedora users go to Add/Remove Applications and type gnome-do. Select the application and press “Apply” to install it 🙂

or for keyboard-lovers (the 1st way is more simple) just type (or paste) in your terminal:    su -c ” yum install -y gnome-do” , give your root password and you are good to go.

Actually, I don’t really like -y inside the command ( “-y” means yes to any message that occurs after you tell yum you want to install a package). I like to see what I install  (dependencies etc). But it’s faster this way for gnome-do. Gnome-do is similar to Mozilla’s Ubiquity for Firefox.

By default it is activated automatically at start-up and afterwards you need to press a keyboard shortcut (<Super>+space). Gnome-do is of course customizable. You can also add plug-ins. (For KDE fans, the default krunner -thanks Andrew-)

In Greek:

Με λίγα λόγια : Εγκατέστησα το gnome-do στο Fedora. Βάλτε το!  Πως? (1o link πάνω) [1]

[1] http://do.davebsd.com/wiki/Installing_Do Μεσω του γραφικού περιβάλλοντος πηγαίνουμε System->Administration->Add/Remove Software και γράφουμε στου κουτάκι της εύρεσης “gnome-do” επιλέγουμε το πακέτο και έπειτα πατάμε κατω δεξιά το Apply.

Αλλιώς για τους λάτρεις του terminal su -c ” yum install -y gnome-do”  🙂

Είναι προεπιλεγμένο να ξεκινάει με την εκίνηση του Fedora και ενεργοποιήται (σε περίπτωση που το χρησιμοποιήσετε και χαθεί) με το <Super>+Space (το Super είναι συνήθως το εικονιδιάκι των Windows -_- ) .Έχει και plugins (προεκτάσεις).Για τους λάτρεις του ΚDE (μπλιαχ :P) υπάρχει προεγκατεστημένο το krunner.

Drawing arrows with GIMP

Today I desperately needed to draw arrows in a picture to point parts of an Arduino stack with an Ethernet and Xbee shield.

So, I took the picture of the stack, increased the contrast and made other adjustments to perfect the pictures, and I was ready to place the arrows. Arrows? How? OK, I googled and found this http://registry.gimp.org/node/20269

You just have to download the .scm file. If you are a Linux user (obviously I use Fedora), go to your Home Folder and press Control+H to unhide the hidden folders. Next, go to the “.gimp-2.6” (1st: Yes there is a full stop, 2nd: 2.6 is the name of the folder right now according to GIMP’s current version). Inside this folder find the folder “scripts” and place there the .scm file. Now, open GIMP (or re-open if already running), go to Tools and you are good to go 🙂

(Tip: To draw an arrow you must use the path tool at the toolbox. Just click one time to point the start of the arrow and a second time to point the end. You will just make a straight line that will be used as a path)

In Greek : Στον σύνδεσμο που υπάρχει παραπάνω μπορείτε να κατεβάσετε το .scm αρχείο που θα σας επιτρέψει να σχεδιάζετε βέλη με το GIMP αυτόματα. Για να λειτουργήσει το αυτό το script πηγαίνουμε στο Home Folder, πατάμε Control+H για να αποκαλυφθούν οι κρυφοί φάκελοι και στη συνέχεια πηγαίνουμε στον φάκελο “.gimp-2.6″ (1ον ναι υπάρχει τελεία, 2ον το όνομα προέρχεται από την τωρινή έκδοση”). Μέσα σε αυτόν τον φάκελο υπάρχει ο φάκελος “scripts” όπου και τοποθετούμε το .scm αρχείο. Ανοίγωντας το GIMP τώρα μπορούμε να δούμε στο Tools το Arrow 🙂

(Συμβουλή: Για να φτιάξετε το arrow πρέπει να σχηματίσεται ένα μονοπάτι με το path tool. Αν απλά κάνετε ένα κλικ για την αρχή και άλλο ένα για το τέλος του βέλους εκεί που επιθυμείτε είστε έτοιμοι να φτιάξετε το βέλος με το Arrow που βρίσκεται στα Tools)