Michel Alexandre Salim, originally from Indonesia, is currently pursuing his doctorate in Germany. His research group's focus centers around wikis and software development tools. Michel is a long-time Fedora user and he runs down his picks of the best social media and web development tools to use with Fedora.
I'm an Indonesian, born in Indonesia but have lived in many different places -- Singapore, UK, USA. I'm now doing my doctorate at a university in Germany.
My research group is focusing on wikis and software development tools. we're working to provide a more solid engineering foundation to both -- e.g. make wikis more structured and programmable, and make it possible to describe an organization's software development process in such a way that one can readily reuse it in different contexts. We're a Linux-based shop -- mostly Debian/Ubuntu and openSUSE right now, but I'm happy to say we do have a laptop running Fedora right now.
Hircus. There's a curious story behind that. I have a very low interest in astrology, but I happen to be born under the same Graeco-Roman and Chinese zodiac sign. Capricorn, in the year of the Goat. and "Capra hircus" is, I believe, the scientific name for goats. It's an ironic take at both astrology and at all those verses in the Gospel that enjoin people to be like sheep rather than like goats -- though I'm personally not *that* rebellious :)
In a way, before Fedora Extras even exists! I first found out about Linux at a computer fair in Singapore. didn't even have my own PC then, and this is before the time for live CDs/USBs so my initial Unix/Linux knowledge was completely theoretical. From a book that came with a Caldera CD in 98 I had my own computer, and... this graphics card trouble is going to be a repeated pattern... it had a Diamond FireGL card. The first Linux I put on it was RHL .. 5.1 or 5.2, probably the former. and of course X booted up in 640x480x16 colors. so while I was using that computer it was mostly running SuSE Linux and Debian. So I was exposed to several RPM-based distributions as well as Debian at the beginning. but to cut a long story short, starting around the time of Red Hat 7.x I was mostly on Red Hat; at some point I started doing backports of certain packages from the Fedora Rawhide tree - Evolution, and a couple of others - and that was around the time Warren Togami was starting his Fedora Project, and we talked a couple of times about it. and then it became Fedora Extras, and then the Core/Extras split was removed. Funnily, I don't even run Evolution anymore. Stopped when IMAP support was really broken a few releases back. but I liked the way it pioneered the "virtual folders" concept, and that's been the focus, if there's a focus, of my Fedora packaging. Cool stuff.
I have this certain fascination with electronic communication media. and in a way, most of the early networking concepts have Unix heritage (the Web got started on a NextSTEP box, I believe, but that's still Unix-y). At a certain point I decided to use mostly Linux unless I can help it (my Windows partition is there for flashing the BIOS, mostly) and needed to make sure that I can still blog, chat, etc. as I normally would. Thankfully it is an easier task now. I tend to be old school when it comes to Twitter-like services. I use them either directly from the site, chain it through another service (e.g. Ping.fm to broadcast to several microblogs, and HootSuite to poll my blogs and automatically forward them to Ping.fm), or use command-line tools like Greg KH's excellent bti (a Twitter & identi.ca client that enables you to make posts from a Linux command prompt called bash.)
For instant messaging, I recommend an application called Pidgin. There are some cool plugins for it:
Pidgin's IRC client is quite decent too.
For blogging, I used to use Drivel - which supports LiveJournal, WordPress, and other blog systems - but sadly it's not maintained anymore upstream. But the browser-based ScribeFire works really well, and now works on Chrome in addition to Firefox. It supports pretty much any blog platform you can name.
Linux users can video chat with each other (on desktop Linux as well as on mobile devices such as the Maemo-based Nokia N-series). but interoperability with Windows/Mac Google Talk users is a bit problematic. Pidgin used to crash when a GTalk user initiated the video call with 32-bit Linux, no problem. With 64-bit Fedora, the instructions for getting Flash working is, I'm afraid, a bit more complicated. We document the process quite well - and I believe Firefox will redirect users to the Adobe site where they can download Flash, but alas it's not as automated as on Windows/Mac (the Flash download site can be quite cryptic if you don't know what RPM and Deb files are.)
AJAX works just fine. I've only recently experienced *one* social networking tool that was broken on Linux - Delicious.com's Firefox plugin. Delicious is a social bookmarking service, but you can also set your bookmarks to private, which is neat if you use more than 1 type of browsers and you can't rely on the vendor-provided tools. One recent update broke Linux support - you can install it, but your bookmark list is empty - and the developers acknowledged they did not test it on Linux! But older releases continue to work, and they fixed the issue within a couple of weeks.
One really cool thing about Fedora being a leading-edge distribution is, even by sticking to stable releases you get new functionality not long after they're announced. Fedora 14 will have the new WebM codec, for instance. I believe YouTube is encoding all its new HD videos in it as well as in H.264.
Fedora is probably one of the best choices as a development platform, thanks to the virtualization technologies available. Red Hat leads KVM development, and Oracle's VirtualBox (mostly open-source, apart from some USB and 3D support) is also available, though only for stable releases. So if you want to do all your testing from a single machine, Fedora is probably a really good choice. KVM is the only virtualization solution I know that flawlessly support BSD guest installations, and Richard WM Jones (Red Hat employee) is working on a really cool project, guestfish, that let you access guest images from the host OS.
You don't have to, and I believe it can even mount LVM, and let you hex edit parts of the disk image, etc.
I do believe we have Ruby on Rails, and the more popular Python-based platforms (TurboGears, Django, etc.).
For code editing, it depends; I'm not wedded to a single editor. For social media development especially, I'd say the code editor you should use depends on what framework you use for the overall platform. If it's Java, then you can use Eclipse or Netbeans (we have both in our repositories, though if you want to install third-party features, our Netbeans packaging is probably easier to use; if you want to customize Eclipse I suggest downloading it from eclipse.org). For Python it's either Eclipse, Netbeans (both have good Python support), or - my favorite - using ipython on the console, coupled with Emacs for editing the source. ipython is an enhanced python interpreter shell. You get syntax-highlighting, code completion, etc. Let's not forget gedit. our default GNOME desktop uses a shared library for syntax highlighting, so gedit, Anjuta (a GNOME IDE) and other apps all get support for the same languages. We ship a C#-like language, Vala, that's used by some of our key desktop applications (the Shotwell photo editor, Pino microblogging client), and there's a really good plugin for gedit that turns it into a Vala IDE (with code completion etc) by the folks who develop Shotwell. It's called Valencia and it's currently being reviewed, after which it should be in Fedora 13 and Fedora 14.
I'm partial to Django-like platforms. the ones where you don't really have to know about all the different components that it's composed of -- they should just *work* together. So I'd say Django for Python, and if you want something more scalable, the Play Framework for Java/Scala is really cool. Both let you deploy to Google's App Engine too, so you get free hosting of your web application (App Engine has two backends; the Python one is a slightly-modified Django and the Java one basically let you use your own framework, subject to some limitations.) The beautiful thing about the Play framework is that it's the first Java-based framework I know that works just like Python / Ruby on Rails. You also don't need to manually run the compilation step, and it auto-detects changed code.
For an IDE, I'm a Netbeans & Eclipse fan. If you're a J2EE developer, Netbeans just works with your Ant and Maven project - and you can even edit the configuration files within Netbeans.
Netbeans has good support for Python, so sure. You normally just start Django from the command-line, though, and it automatically detects whenever the code has changed so you don't need to restart your development server.
For collaborating, it depends. Email is probably still the best option. At work we use Git for version control, and we configure a post-commit hook to send email notifications to the developers in that project. So, if there's any problem with a particular commit we can create a thread off the commit email.
Just a friendly announcement that, as someone with really bad judgement when picking video cards myself, be careful when picking a new laptop. :) If possible, try it in the shop with a live CD or try the live CD on a friend's laptop, to make sure you'll be able to get proper 3D support.