Installing broadcom wireless drivers on a linux system is pretty simple, just download the driver source from http://www.broadcom.com/support/802.11/linux_sta.php and follow the instructions on the README file. However, if you are running CentOS5 you might be faced with an error message during the compilation phase that reads something like below:
[asiri@asiri-laptop hybrid_wl]$ make
KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory `/usr/src/kernels/2.6.18-194.3.1.el5-PAE-i686'
LD /home/asiri/software/hybrid_wl/built-in.o
CC [M] /home/asiri/software/hybrid_wl/src/shared/linux_osl.o
In file included from /home/asiri/software/hybrid_wl/src/shared/linux_osl.c:17:
/home/asiri/software/hybrid_wl/src/include/typedefs.h:80: error: conflicting types for ‘bool’
include/linux/types.h:36: error: previous declaration of ‘bool’ was here
make[2]: *** [/home/asiri/software/hybrid_wl/src/shared/linux_osl.o] Error 1
make[1]: *** [_module_/home/asiri/software/hybrid_wl] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.18-194.3.1.el5-PAE-i686'
make: *** [all] Error 2
Now I can’t say much about the reasons for this error but you can simply work around it by commenting out three lines from the source file src/include/typedefs.h (lines 79 – 81):
//ifndef TYPEDEF_BOOL
//typedef unsigned char bool;
//endif
I didn’t discover this solution myself; I found it on a forum couple of months back when I was setting up a different installation and thought of logging it here just in case I bump into it again
One of the annoying problems I came across recently is that it’s really painful to get tomcat installed on Fedora (or CentOS) without being dependent on OpenJDK. I don’t like using OpenJDK because SunJDK is widely used and well tested (plus, I don’t see a distinct advantage of using OpenJDK). Also in my specific use case, XWiki has some problems when run on OpenJDK (Tomcat).
For me, the main advantage of using platform provided tomcat version (one that depends on OpenJDK) is that it is well integrated into the system (init scripts, updates etc.) but getting it to work with SunJDK is kind of hackish. There are several blog posts on the internet about how to configure the platform provided tomcat version to depend on SunJDK instead of OpenJDK (most solutions make use of the alternatives command) but none of them seems to be without side effects (and in my specific case, it just didn’t work – XWiki failed to start).
I finally made up my mind and decided to install tomcat and SunJDK from their official web sites. Right now I’m executing tomcat from my personal user account and I have set my JAVA_HOME and PATH variables correctly so that tomcat uses SunJDK rather than system provided OpenJDK. It might not be the perfect solution (administrative difficulties, security concerns etc.) but for my particular use case it was acceptable. However, I believe these disadvantages can be overcome with some effort (write an init script, create a separate user account for executing tomcat etc.) and that it’ll still be worthier than being dependent on OpenJDK.
I bought a new Nokia 6300 mobile phone recently and I have started playing with it already. As for my first hack, I was able to watch video files (mpeg-4) that should not be played on the device (according to the spec). This is about how I went on doing it. Although the whole procedure took me about one whole day (with testing and failing most of the time) I will only list the important steps here.
- Compiled and Installed faac (most recent version)
- Compiled and installed ffmpeg (with –enable-libfaac)
Finally, executed following command to make it all happen:
ffmpeg -i input.mpg # Input video file
-f mp4 # Output file format
-acodec libfaac # Audio encoder
-vcodec mpeg4 # Video encoder
-s qcif # Output video size (176x144)
-r 30 # Output frame rate
output.mp4 # Output file name
Note that I have put a single command into multiple lines to accommodate the comments. You should type the command in a single line instead. The output video file plays really nicely on my 6300 and audio quality is excellent.
Hope this helps. Happy Hacking!
Since I have been using open source software for all of my work, I was thinking of a way to pay something back; to do my part for the community. And GSoc (Google Summer of Code) has given me the opportunity. But there are several other reasons to apply for GSoc; first, I won’t have to be a part-time employee while on final year at the university (if selected, money will help for sure…) second, there is a good reputation of GSoc among the local software companies; I’ll have better employment opportunities then.
So I started going through project ideas put forward by many organizations, looking for something more than just applications development; something that involves more theories. I’m particularly interested in compiler theory and operating systems. And there it was, an idea put forward by Vim (Bram Moolenaar) which said “Improve vim’s regxp performance”.
I knew that lexical analysis (which involves regular expression evaluation) was a challenging and fun subject. Then I decided to give it a shot. I started digging in by subscribing to vim developer mailing list and asking a few questions here and there, there I met “Nikolai Weibull” who helped me a great deal. I was not so sure whether I could handle this job (nevertheless, I loved the job), with feed-back from Bram and Nikolai I have finally decided to apply for the project.
For the past few days, I have learnt many things including Finite Automata, NFA, DFA and related techniques for regxp evaluations. Although the most challenging problem I’m facing is that the current regxp implementation of vim is sort of cryptic (based on Henry Spencer’s original regexp(3) implementation), given enough time I think I can crack it somehow. I think this is enough for now, if I get selected I will have much more to say