Archive for ‘Opensource’ Category

Best Open Source apps at your finger tips….

datePosted on 11:52, January 11th, 2008 by Many Ayromlou

Are you constantly hearing about Open Source software and are wondering how to go about getting started. Do you want to cleanse your Mac or PC from all those so called advanced applications that don’t do what they advertise, yet take up all the diskspace on your computer. Or maybe you’re just sick of BSOD’n/Beachball’n apps that you brand new computer came loaded with and are ready for some Open Source Lovin’. Well WinLibre and MacLibre have your answer. Both are free to download and both offer you an easy way to install the best Open Source Apps that are out there.

MacLibre Featured applications

  • Create
    • Audacity
    • Blender
    • Gimp
    • Inkscape
  • Internet
    • Adium
    • Colloquy
    • Cyberduck
    • Fire
    • Firefox
    • Nvu
    • Thunderbird
    • Vienna
  • Multimedia
    • HandBrake
    • MPlayer
    • VLC
  • Office
    • AbiWord
    • NeoOffice
  • Utilities
    • ClamXav
    • DesktopManager
    • iTerm
    • VirtueDesktops
    • X11

WinLibre Featured applications

  • Create
    • Audacity
    • Blender
    • Gimp
    • Inkscape
  • Internet
    • NVU
    • Firefox
    • Gaim
    • Thunderbird
    • FileZilla
  • Multimedia
    • WinLAME
    • CDex
    • VLC
    • Zinf
  • Office
    • PDFCreator
    • OpenOffice
  • Utilities
    • ClamWin
    • Notepad2
    • 7-Zip
    • TightVNC
    • NetTime

Stream your Linux/Windows/Mac Desktop as video using VLC

datePosted on 17:54, January 8th, 2008 by Many Ayromlou

A buddy of mine (thanks Mike) showed me this today. There is a input Access module in the newer versions of VLC (0.8.6+) called “screen” which makes this possible. To stream your desktop to another machine (ip address: in this case) just use the following command in Linux (sorry command line only):vlc screen:// :screen-fps=30 :screen-caching=100 --sout '#transcode{vcodec=mp4v,vb=4096,acodec=mpga,ab=256,scale=1,width=1280,height=800}:rtp{dst=,port=1234,access=udp,mux=ts}'or in Windows (slightly different syntax) use this command:vlc screen:// :screen-fps=30 :screen-caching=100 :sout=#transcode{vcodec=mp4v,vb=2048,scale=1,acodec=mpga,ab=192,channels=2}:duplicate{dst=std{access=rtp,mux=ts,dst=}}This is one massive command, so lets take a look at it in more detail:

  • screen:// is our input module selection (if you just run vlc screen:// you’ll see your own screen on the server inside vlc….kinda cool)
  • :screen-fps=30 specifies that we want to screengrab at 30 fps (from default 5 fps)
  • :screen-caching=100 sets the internal caching to 100ms (from default 300 ms)
  • –sout is our output chain.
  • #transcode tells vlc that we first want to transcode the input using parameters to follow
  • {} contains our transcoding parameters
  • vcodec=mp4v sets the video codec to mpeg4 video
  • vb=4096 sets the bitrate of the transcoded video (4Mb/s)
  • acodec=mpga sets the audio codec to mpeg audio (mp3). Audio does not work yet, this is a place holder.
  • ab=256 sets the bitrate of the transcoded audio (256 Kb/s)
  • scale=1 sets the scaling value
  • width=1280 sets the width of the transcoded video to 1280 pixels
  • height=800 sets the height of the transcoded video to 800 pixels
  • :rtp tells VLC that we want to use rtp protocol to send the encoder output to our receiver machine using Real Time Protocol.
  • dst= is the ip address of our destination/playback machine
  • port=1234 is the default port on the destination/playback machine
  • access=udp specifies UDP protocol
  • mux=ts sets multiplexing to mpeg-2 Transport stream

Now on the destination machine just open vlc, goto File/Open Network and by default the Media Resource Locator on top of the window should read udp:// and UDP/RTP with port 1234 should be selected. If it’s not select UDP/RTP (option 1) and put 1234 as the port number. Press Okay and you should see the video stream from the other machine (your server machine). That’s it….Opensource comes to rescue again :-)

ItunesFS….MacFUSE rocks!!!

datePosted on 13:43, January 4th, 2008 by Many Ayromlou

Okay so hot on the heels of my MacFUSE install, I find iTunesFS which is a FUSE module for iTunes written by Marcus Müller…..YUMMY :-). Now it’s a read-only module (ie: it lets you take stuff out of itunes/ipod/iphone storage, but most of the time that’s all you want to do anyways. If you want to try it just download the FUSE module from Mulle KybernetiK. Make sure you have the MacFUSE core package installed first.

MacFUSE….ready for primetime?

datePosted on 12:32, January 4th, 2008 by Many Ayromlou

I think so, you see I’ve been waiting for about a year — since last years Mac World announcement — to try MacFUSE, but to be honest I’ve been a bit of a chicken. In my book you rarely, if ever, play around with the filesystem. Specially with ported beta code and all the “uncertainties” of Apple’s latest feline.

Anyways, today I finally got up the courage and had enough time to try out MacFUSE 1.1.1 (specially compiled for leopard). You can download the required files from the Google Code’s download page. For those of you who don’t know, FUSE stands for Filesystem in USErland, and it provides a generic interface that lets the operating system see virtually anything as a filesystem. FUSE provides a single interface that filesystem modules use to interface with the OS. Best of all, anything that provides the correct interface can be interpreted as a filesystem. There are a bunch of modules out there for FUSE and most of them work nicely under MacFUSE.

To start you have to install either one of the core packages. MacFUSE-Core-10.5-1.1.1.dmg for Leopard or MacFUSE-Core-10.4-1.1.0.dmg for Tiger. Once you’ve got this installed and rebooted, you’re ready to use any MacFUSE module to access services as filesystems. I’m gonna talk about sshfs (which you can download from the same google code page). There are quite a few modules out there that you can start using, examples of file systems that work and have been tested (to varying degrees) include sshfs, ntfs-3g (read/write NTFS), ftpfs (read/write FTP), wdfs (WebDAV), cryptofs, encfs, bindfs, unionfs, beaglefs (yes, including the entire Beagle paraphernalia), and so on. You can try these once you get comfortable with the basics. Let’s take a look at getting sshfs module working:

  1. Download sshfs module from google code download page.
  2. Save it somewhere on your mac and double click the dmg file to mount the disk image.
  3. Once the image is mounted you’ll find a single file inside called sshfs.
  4. For my own use I created a macFUSE folder in Applications where I’m planning to keep all my FUSE modules.
  5. Double clicking on the sshfs will run it and bring up the following dialog. I’m going to specifically mount just my Sites folder during this setup. This will allow me to run iWeb and have it natively save my website changes directly to the server. Web developers and anyone else who manages files via SFTP/SCP should rejoice. Using SSHFS means no more synchronizing files with an SFTP client.
  6. Next you’ll be prompted to enter your ssh server password.
  7. Now you should have a new network mounted disk that gives you secure ssh access to your directory on the remote server (in my case my website folder).

Notice that all the files on the server are treated as local files, you get the preview icons, you can drag and drop them on to your desktop or even double click on the files and edit them right on the server, through a secure connection. Now that’s power. Hope you have fun with this, also try out the other modules that are around and let us know which ones you like, which ones work nicely with the mac and so on…..

Tablet Puppy….

datePosted on 22:23, October 27th, 2007 by Many Ayromlou

For all the Nokia N800 fans out there……this is what happens if Nokia was sponsoring your High school :-). Seriously though, this is a fantastic example of what kids (and adults) can do using the opensource N800 platform for robotics control. Now who’s gonna stick one of these things on a gas powered RC car…..Dibs on the Remote :-)

screen…it’s not just for nerds anymore.

datePosted on 20:26, October 7th, 2007 by Many Ayromlou

So after hearing from people at work how great the “screen” command was (yeah welcome to gnuland boys and girls), I decided to do a short tutorial on screen. This way I can stop telling them to RTFM and instead tell them to RTFB (Blog). Anyways, What is “screen” first of all….From the pages of wikipedia:

GNU Screen is a free terminal multiplexer developed by the GNU Project. It allows a user to access multiple separate terminal sessions inside a single terminal window or remote terminal session. It is useful for dealing with multiple programs from the command line, and for separating programs from the shell that started the program. GNU Screen can be thought of as a text version of graphical window managers, or as a way of putting virtual terminals into any login session. It is a wrapper that allows multiple text programs to run at the same time, and provides features that allow the user to use the programs within a single interface productively.

Think of screen as a Virtual Machine (I know it’s not but bear with me). Once you run the command, the ‘virtual machine’ takes over and allows you to create multiple interactive command line sessions. In each of those sessions you can run commands that are either interactive (menu based) or serialized. Once you’re done you can disconnect the session — keeping in mind that the session is actually alive and running, including all the programs that were spawned inside that session — go to another computer and ‘restore’ the session with all the programs still running. By far one of the coolest things about screen is that it automatically allows you to nohup your commands, by just disconnecting the session and reconnecting to it later. So without any further due here is screen:

Obviously you need to run it, so first step is to type screen at the command line. When you do that you get a new shell window and the adventure starts. Remember that pretty much all screen commands start with Ctrl-a followed usually by a character (ie: you press Ctrl button and c together, let go, and follow it with the character).

So now you have a new shell, run a command (ie: pine, vi or something). Okay so now we can simulate you leaving your machine and detaching your session.

– To Detach : Ctrl-a d (this will detach the session but your command is still running inside that screens shell….you’ll see)
– To Reattach : screen -r (without the quotes. You should get the session back with whatever command you were running in it).

So now you’ve got the very basics of screen. Detaching allows you to run commands, leave them halfway, detach and go somewhere else and use Re-attach to restore the session.

Now, how about multiple sessions. Yeah you can do that too, one screen process with multiple sessions inside it.

– Use screen -r to reattach to your process (If you haven’t done so already). Note that your program is still running (say vi). If you now want to run lynx for example you can use the Ctrl-a c command to create another session (c for create). So now you have two sessions inside your “screen virtual machine”.
– Use Ctrl-a n and Ctrl-a p to flip between sessions (n for next and p for previous). You can also create more screens with Ctrl-a c. Lets create 2-3 more sessions.
– Use Ctrl-a followed by a number between 0-9 to switch between up to 10 recently created sessions.
– Now use Ctrl-a d to detach from the session, logoff (don’t reboot, that will kill the screen process) and log back in. Now reattach to the process using screen -r. Note that all your sessions are still there (you can check using Ctrl-a n and Ctrl-a p to cycle through the sessions).

One last thing before I take away the training wheels, to kill your screen process (and all sessions running inside it) use Ctrl-a Ctrl-\.

Okay, so here is a small list of the many screen options and commands:

Ctrl-a “ : gives you a full screen list of all your sessions and you can scroll down to the one you want to switch to and press Enter (remember to get you have to use Shift-‘ and ESC gets you out of the list).
Ctrl-a A : (that’s a shift-a) allows you to give a meaningful name to your session window.
Ctrl-a k : allows you to kill your current session (not all sessions spawned inside a screen process, just the current session).
Ctrl-a S : will split your current session screen in half. It is easy to confuse Ctrl-a S, which uses a capital ‘S’ with Ctrl-a s, which uses a lower case ‘s’. The upper case command causes screen to be vertically split (that is, with one region on top of the other), while the lower case command causes the parent terminal to freeze (Scroll Lock). To unfreeze the parent terminal, use the Ctrl-a q command.
Ctrl-a : will jump between the regions in a split session. Keep in mind that the new region will have nothing in it until you designate another open session to pop in there using Ctrl-a p and/or Ctrl-a n which will cycle the next or previous session into the new split region.
Ctrl-a X : (that’s a shift-x) will close a region (ie: split region goes back to full).
Ctrl-a + : will enlarge the current region (and shrink the other).
Ctrl-a – : will shrink the current region (and enlarge the other).
Ctrl-a M : (that’s a shift-m) allows you to monitor the current window for output. I use the MSN command line client pebrot occasionally, and always set its window to notify me when something happens (ie: a join message).
Ctrl-a _ : does the same thing as above, but in a opposite way. It switches into the monitoring mode for 15 seconds of silence, which triggers a notification in xterm’s status area. So when our compile finishes, we will be told so even in another session.
Ctrl-a [ : will place you in copy mode. Use this when you need to copy some text from one session to another. Do Ctrl-a [ in the source session to enter copy mode (you can exit copy mode using ESC). Move around using cursor keys to the beginning of where you want to start copying and press Spacebar to mark the beginning. Now move to the end and press Spacebar again to mark the end of your copy block. You can now switch to another session, move to where you want to paste the block and press Ctrl-a ] to paste what was put in the buffer.

Here are a couple of more useful startup screen commands:

screen -ls : will list all the screen processes running under your userid (yes you can run multiple screen processes with multiple sessions inside each).
screen -r screenname : restores a specific screen process.
screen -R : will try to reattach if there is a detached process, if not it will start a new process.
screen -D -RR : this is the “I want control now” command. It will detach already attached clients and attach to the first session listed.

As usual screen is controlled via .screenrc file for configuration parameters (there is a system wide file in /etc/screenrc and the personal one in your home directory, under ~/.screenrc). You can add the following commands in your personal .screenrc to make life a bit simpler:

#kill startup message
startup_message off
# define a bigger scrollback, default is 100 lines
defscrollback 1024
# An alternative hardstatus to display a bar at the bottom listing the
# windownames and highlighting the current windowname in blue. (This is only
# enabled if there is no hardstatus setting for your terminal)
hardstatus on
hardstatus alwayslastline
#hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %C%a "
#hardstatus string "%{= mK}%-Lw%{= KW}%50>%n%f* %t%{= mK}%+Lw%< %{= kG}%-=%D %d %M %Y %c:%s%{-}"
#hardstatus string "%{= kG}%-Lw%{= kW}%50> %n%f* %t%{= kG}%+Lw%< %{= kG}%-=%c:%s%{-}"
#hardstatus string "%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %d/%m %{W}%c %{g}]"
hardstatus string "%{gk}[ %{G}%H %{g}][%= %{wk}%?%-Lw%?%{=b kR}(%{W}%n*%f %t%?(%u)%?%{=b kR})%{= kw}%?%+Lw%?%?%= %{g}][%{Y}%l%{g}]%{=b C}[ %m/%d %c ]%{W}"

As usual there is a lot more to screen, so once you’ve got the basics nailed, take a peek at the man pages for more goodies and don’t forget…..Command line is your friend :-).

Second Life developers start thinking big…

datePosted on 12:44, September 23rd, 2007 by Many Ayromlou

So this week marks a beginning for Second Life and Linden Lab to truly start to open up second life and think about interconnected worlds and a standards for connecting them. Well, welcome boys and girls, now maybe you can throw your weight in with Intel and HP to further the standards that Croquet has been working on for years. You see Croquet has been doing exactly that for a long time (ie: being truly open source and working towards standards). For those not familiar, here is a short explanation from their site:

Croquet is a powerful open source software development environment for the creation and large-scale distributed deployment of multi-user virtual 3D applications and metaverses that are (1) persistent (2) deeply collaborative, (3) interconnected and (4) interoperable. The Croquet architecture supports synchronous communication, collaboration, resource sharing and computation among large numbers of users on multiple platforms and multiple devices.

Every part of the system is designed around enabling real-time, identical interactions between groups of users. The architecture of Croquet actually makes it quite easy to develop collaborative applications without having to spend a lot of effort and expertise in understanding how replicated applications work. There are a number of simple patterns and rules to remember, but otherwise, it is quite simple to quickly develop very powerful systems. Click here for more detailed information on the technology.

So my message to you, if you’re thinking about developing metaverses and such take a close look at Croquet, they are light years ahead of Linden Labs in terms of a truly open developer standard.


datePosted on 12:13, September 23rd, 2007 by Many Ayromlou

So google does it again, as promised by Eric Schmidt earlier this summer, google presentations was released on the last official week of summer. Now it’s not quite power point yet (remember they have had a couple of years of head start), but is quite usable and actually offers some neat features missing from the standard power point. One of them is sharing and shared editing, the other is online presentation where you can actually invite people to look at your presentation, go through it with them and discuss your points over text chat. Now I know it’s not quite like standing in a room and presenting to real people, but something tells me that voice chat is right around the corner.

My biggest problem — and it’s not so much a problem than a missing feature — is that there is no ppt export function, but again I think those boys and girls at google are busy working on it right now :-).

Now if google can maintain the momentum of this platform (google docs) for another 2-3 years, I predict that people will seriously start to think about upgrading to Office 2010 (or whatever it will be called). With google docs on the market and Openoffice/Lotus Symphony/Abiword killer trio I think the days of expensive/closed office packages are over.

Free your Office….

datePosted on 09:52, August 31st, 2007 by Many Ayromlou

While we’re on the subject of saving you some money. NeoOffice, the OSX native version of Open Office, has just released their latest. This release includes support for the Mac OS X Spellchecker and Address Book and experimental support for Office 2007 Excel and PowerPoint files. From the overview page:

NeoOffice is a full-featured set of office applications (including word processing, spreadsheet, presentation, and drawing programs) for Mac OS X. Based on the office suite, NeoOffice has integrated dozens of native Mac features and can import, edit, and exchange files with other popular office programs such as Microsoft Office.

Released as free, open source software under the GNU General Public License (GPL), NeoOffice is fully functional and stable enough for everyday use. The software is actively developed, so improvements and small updates are made available on a regular basis.

It is available for free from the NeoOffice download page.

Manage your Projects FREE….

datePosted on 09:44, August 31st, 2007 by Many Ayromlou

You all know my dislike for Microsoft and their products. Whenever possible I’ve tried to get away from having to use their software. Here is another opensource product that allows us to do our thing without them. From their overview page:

OpenProj is a free, open source desktop alternative to Microsoft Project. The OpenProj solution is ideal for desktop project Click to enlarge in a new windowmanagement and is available on Linux, Unix, Mac or Windows. OpenProj is a complete desktop replacement of Microsoft Project and even opens existing native Project files. OpenProj shares the most advanced scheduling engine in the industry with Project-ON-Demand. The OpenProj solution has Gantt Charts, Network Diagrams (PERT Charts), WBS and RBS charts, Earned Value costing and more.

You can get more detailed information on OpenProj or download now!