Showing posts with label open source. Show all posts
Showing posts with label open source. Show all posts

Tuesday, June 17, 2008

Metric equivalent of Microsoft fonts for Linux

Visit any random website and chances are the website expects your machine to have a set of which have become the de-facto standard on the Internet. The fonts being Arial, Times New Roman, Courier New and so on. While it may not be illegal to install these fonts on a Linux machine, they are propritery and are owned by . And Microsoft does not licence third parties to redistribute these fonts - a reason why you don't find these commonly used popular fonts installed in Linux by default.

This is going to change once and for all. Red in association with Ascender Corp has developed a set of fonts which are the metric equivalent of the most popular Microsoft fonts, and they have released it under the GPL+exception license. Three sets of fonts have been released, them being:
  1. Sans - a substitute for Arial, Albany, Helvetica, Nimbus Sans L, and Bitstream Vera Sans
  2. Serif - a substitute for Times New Roman, Thorndale, Nimbus Roman, and Bitstream Vera Serif and
  3. Mono - a substitute for Courier New, Cumberland, Courier, Nimbus Mono L, and Bitstream Vera Sans Mono.
The advantage for Linux users is that now you don't have to explicitly install Microsoft fonts anymore as the web sites or documents which use Microsoft fonts will display flawlessly using the metric equivalent fonts which can be included in all Linux distributions by default.

The work on the fonts is yet to be completed and so will be released in two stages. In the first stage, all the fonts are released as fully usable but will lack the full hinting capability provided by True Type/Free Type . In the second phase of the release which will happen some time in later half of 2007, the fonts will have full hinting capability and will be at par with or excel the Microsoft fonts in quality. For now Red Hat has made available all the fonts for download so that you can test it on your machine.

Creating good quality fonts - ie. fonts which retain its quality even in smaller sizes is a very tedious and time consuming process. And buying good quality fonts is a very costly affair with each set of fonts costing anything upwards of $100 . By taking the initiative to develop good quality fonts which are the metric equivalent of Microsoft fonts, and releasing them under a Free licence, Red Hat has done a very good deed and Open Source cause.

Work productively without starting X server in Linux

When was the last time you logged into a console only mode in Linux ? By console only mode I mean in run level 2 or 3 where X server is not running? Obviously now-a-days you needn't resort to such a drastic step as the GUI applications have gotten richer and the end user has a variety of choices before him. More over, most Linux distributions boot into graphical X by default the very first time they are installed. I am willing to bet that in a couple of years time, the new users embracing Linux won't have any idea of what a console mode is unless somebody specifically tell them.

This was not the same till a few years back (go back to 8 years) when even the average user had to first deal with the console mode and learn to start X by running a command before he was put into a graphical environment. He had to learn the syntax of the XF86config file (it is now xorg.conf), learn to use a console editor and so on before he was able to enjoy the fruits of Linux in GUI mode.

On this note, if you are wondering how the heck then the people using Linux were productive, it seems there were a number of command line tools at ones disposal. They are still around (if one bothers to look). Luke at "Terminally Incoherent" blog has compiled a nice list of command line tools in an article titled "A day without X", where he lists console programs that help one to accomplish common tasks like sending and receiving emails, web browsing, viewing images and so on. Another blogger, K.Mandala has also compiled his own list of command line applications which you can read here.

Who knows, if you face a situation where your favorite uncle gifts you with a 486 machine loaded with a stripped down version of Linux as a birthday present, you can genuinely be happy (instead of just pretending) and assure him that you will put it to good use....

Google Gears : Your Web applications can now be used even when not connected to Internet

Microsoft has had a definite advantage in being a virtual monopoly in the PC market. In the past few years Google has been trying to grab this enviable market share enjoyed by Microsoft by releasing web applications which have similar features of popular Microsoft software products. Thus you have Google spreadsheet as a potential replacement for MS Excel, Gmail, Google Docs as a replacement for MS Word and so on. But till now Google applications lacked a fundamental feature which was that none of the Google products could be used while you are offline. In other words, you needed an Internet connection to use any of the Google offering except Google Desktop search.

Now this is bound to change for once and all and you can look forward to Google storming one of the bastions of Microsoft which is the PC Desktop. Google has just released what they have named as Google Gears. Simply put, Google gears is a web browser extension which makes it possible to make web applications run while you are offline.

Google Gears provides three key features which are :
  1. A local server, to cache and serve application resources (HTML, JavaScript, images, etc.) without needing to contact a server.
  2. A database, to store and access data from within the browser.
  3. A worker thread pool, to make web applications more responsive by performing expensive operations in the background.
Google has released Google Gears as a open source product which means, interested webmasters can use the API to develop their own web applications which work offline. You can go through a Google gears tutorial as well as access some sample applications to whet your appetite.

But what I find most enticing is the fact that Google has simultaneously released the web extension for Linux too along with that for Windows and Mac OSX. If you are interested in say, writing an email in your Gmail account while offline and then connecting to internet just to send the mail, then you can download and try out Google Gears.

Saturday, June 7, 2008

OpenMoko Neo1973 - an open source Linux based iPhone killer in the making ?

OpenMoko is a GNU/Linux based open software development platform. What this means for the lay person is that using OpenMoko software development kit, phone manufacturers will be able to bring out mobile phones which have more or less the same features of the now widely known iPhone from Apple and much more - all this under an Open license powered by GNU. This also means that for the first time there is potential for you to be completely free from being tied up with one mobile carrier or even a single phone manufacturer (read Apple) for want of anything better.

Fig: Openmoko touch screen phone

Recently OpenMoko a project set up by "First International Computings" (FIC) released a developer version of a mobile device named Neo 1973 which is a completely open, Linux-based, GPS-equipped, quad-band GSM/GPRS phone and which has a touch screen equivalent to that in Apple iPhone but which additionally comes with a stylus. The Neo1973 is priced in the $300 to $450 range. Below I have included the rough specifications of both the Openmoko's Neo1973 and Apple's iPhone for comparison.

Openmoko Neo1973 cell phone specifications

* 2.8" VGA TFT color display (640x480 resolution)
* Touchscreen, usable with stylus or fingers
* 266MHz Samsung System on a Chip (SOC) (ARM9 processor)
* 128 MB RAM
* 64 MB Flash memory
* USB 1.1, switchable between Client and Host (un-powered)
* Integrated AGPS
* 2.5G GSM – quad band, voice, CSD, GPRS
* Bluetooth 2.0
* Micro SD slot
* High Quality audio codec
* 1200MA Lion cell battery which the openmoko team guarantees to provide a minimum of 4 hours of power when used continuously before a recharge. The battery can be easily replaced by the users.

Additional freebies thrown in with Neo1973 phone include...

* 512 MB Sandisk SD card.
* A good quality set of ear phones.
* A USB connectivity cable.
* Stylus
* A very functional pouch to hold the phone and
* A Lanyard to safely tether your phone.

Apple iPhone specifications are as follows :

* Powered by ARM11 processor
* 128 MB RAM
* 4 or 8 GB flash memory
* Screen resolution of 320x480
* Bluetooth and WiFi enabled
* Integrated 2 Megapixel camera and
* an accelerometer

When compared to an iPhone, the Neo1973 from OpenMoko is a bit behind as it doesn't come with a camera, no accelerometer (Which is promised in the next version of the phone), no multi-touch, does not provide WiFi support and does not have gigabytes of storage space.

But in many respects, people buying this phone will have a decisive advantage that the phone runs on GNU/Linux which means that third parties can easily develop applications using openmoko software development platform and thus provide an enhanced end user experience.

Additionally Apple's iPhone has a number of drawbacks such as ...

* The battery is soldered to the circuit. So it is not possible for the iPhone owners to replace the battery by themselves.
* iPhone software development kit is proprietary to a fault so much that third parties will not be able to develop software to run on an iPhone.
* There is no USB connectivity.
* There is no GPS.
* And you can't switch carriers.

Here is another interesting thing... you can charge the Neo1973 phone by merely connecting it to the USB port of your PC and you can browse the internet using the phone as a modem more specifically using its GPRS data connection. And it has GSM multiplexing capabilities provided via a custom patch to the Linux kernel (2.6.18) which means you can browse the net and at the same time receive a call too.

Tuesday, June 3, 2008

How to create a custom DVD from multiple video formats

I have always found it a hassle to convert a video file from one format to another in Linux for lack of (or rather, not being aware of) a good Free video conversion suite. I have tried converting an Avi file to another format such as mp4 using some software but the results were far from satisfactory. I take it that it has more to do with the settings I selected than the fault of the software I used.

Axel has written a quite detailed article explaining how to create a custom DVD using a Free video conversion software called DeVeDe. What is really interesting about his article is that he shows the exact settings he used in the conversion - a big factor if you want your converted video file to have more or less the same quality. In fact my experience shows that you need to get the ratio of number of frames per second with respect to resolution of the video right else the quality of the video might suffer.

Fig: DeVeDe software interface

He has used the Windows version of DeVeDe but this is a software which is available for Linux as well. For example, in Ubuntu, you can install this software using the command :
$ sudo apt-get install devede
You need to have Mplayer, Mencoder, DVDAuthor, VCDImager, MKisofs and all the proprietary codecs installed though since DeVeDe is just a front-end. More over since DeVeDe is a Python script, it requires Python as well. For more details on the actual steps required to convert a video file from one format to another, do read the guide.

Portable Apps - Carry all your favorite Open Source applications where ever you go

Recently while visiting a friends house, I ran into a situation where I had to use his computer. His computer is a rather old one which he has seldom maintained properly. He still has Windows 98 loaded on it. The very same Windows OS which came pre-installed on his computer when he bought it a couple of years back. And most applications including the web browser (IE) have not been updated. In fact the web browser he has on it is IE 4.0. And as you will know, IE 4.0 does not have good CSS support and so render most websites poorly. And on top of all that, he is so tech phobic that he was not inclined to allow any other software on his machine.

That was when I felt the need for a solution where in I could use a standalone version of my favorite applications. And after some googling, I came across this unique website called portableapps.com which has a collection of many Open Source and GPLed software which I use on a daily basis.

The idea is that you can use these applications without installing on the hard disk. For instance, faced with a situation such as mine, you can easily carry all the applications on a USB stick and then just plug in the USB stick and click on the necessary application to start using it. It is as simple as that.

The website provides the portable applications bundled as a suite in two different formats which is :
  • Standard format 89.5 MB and
  • Lite format 30.4 MB size
At present, there are over 50 different open source applications including the latest version of Firefox (2.0). And all the applications are guaranteed to work in Windows 98, Windows 2000, Windows XP, Vista and Wine. Some applications are also known to work in Windows 95 too.

Advantages of using portable apps
You can carry the following things with you on a USB stick ...
  • Your web browser with all your favorite bookmarks
  • Your calendar with all your appointments
  • Email client with all your contacts and settings
  • Instant messenger and your buddy list
  • The whole office suite (OpenOffice.org) along with your documents and presentations
  • An anti-virus program and other computer utilities
  • All your important passwords and account information securely.
You can also put portable apps to use in diverse ways such as ...
  • Have your favorite websites handy to recommend to a friend or colleague
  • Have your presentation AND the required software ready to go for that big meeting
  • Have your password with you if you want to bank online while traveling
  • Have utilities handy when visiting family or friends that are having PC problems
If you are always on the move and are forced to use computers not your own, then this handy suite of open source applications will be a real convenience to you especially if you are wedded to using open source applications to get your job done.

Saturday, May 31, 2008

Cisco is hiring for multiple Open Source positions

Cisco is a hardware giant which is the leading supplier of networking equipment & network management for the Internet. Products include routers, switches, hubs, ethernet and so on. I am sure many would be aware of Cisco certifications such as CCNA, CCNP and CCIE. Cisco is among the top 100 Fortune companies in the world. And it is hiring Open Source enthusiasts to fill its technical positions. Read on to know whether you fit the job profile.

Jobs are based in San Jose, California Research Triangle Park, North Carolina Richardson, Texas.

Cisco is looking for the following skill sets :
  • Software developers familiar with Linux or similar UNIX programming environments
  • Developers who have contributed to the Open Source community
  • Quality engineers
  • Flexibility with programming tools including Eclipse IDE, C/C++, Java, Python, Perl, Bash, etc.
  • Interest or experience with Agile methodologies
  • User Interface/GUI development
  • Tools development
  • Software Managers for development and quality teams
Job positions
Performance Software Engineers (R819660, R819661)
Cisco seeks an Open Source Performance Software Engineer to define, design and build software for the Cisco products that generate significant revenue. He/she will also be expected to contribute to the implementation of any recommended performance optimizations.

Skills Required: 3-5 years experience in the S/W industry and an Engineering degree or equivalent.
Experience with Linux, Unix (and its variants) or other multi-threaded multi-processor Operating Systems is preferred. Development experience with multiple development languages including “C”, “C++”, “Java” and/or scripting languages is preferred.

Familiarity with performance measurement tools, analysis of performance related data and with the implementation of performance optimizations in multi-threaded multi-processor Operating Systems is desirable. In particular, this software engineer should be familiar with industry standard Open Source software architectures and implementations including Unix, Linux and a broad spectrum of Open Source components.

Knowledge of existing industry tools for the acquisition and analysis of performance data is desirable. Also, familiarity with existing Open Source tools and frameworks for understanding the performance of the system would be preferred.

Software Manager (R819707, R819716)
Cisco seeks an Open Source Manager of Software Development to lead the Open Source development engineering group in the design, development and engineering of our software platform. This manager will build, lead and motivate a high-performance engineering development team responsible for designing and bringing new software to market.

Skills Required: Experience with Linux, Unix (and its variants) or other multi-threaded multi-processor Operating Systems is essential. Requires BSCS/EE or equivalent and 8+ years of software development experience with 2+ years in a first level management role. Strong communication and team-building skills required.

The candidate should be able to understand and participate in high level design discussions for the purpose of providing feedback on the potential performance or testability implications of a proposed design. He/she must also be able to review existing designs and suggest alternate approaches that may result in improved system performance or testability.

He/she must also demonstrate effective communication skills as the role demands interaction with numerous other groups.

In particular, the Open Source, Manager of Software Development will be required to have significant experience with industry standard Open Source software architectures and implementations including Unix, Linux and a broad spectrum of Open Source components. Knowledge of existing industry open source tools (particularly performance analysis or test engineering, but general software development tools as well) would propel a candidate above others.

Technical Leader/Performance (R819655)
Cisco seeks an Open Source Performance Technical Leader to lead engineering groups in the design, development and engineering of software products.

Skills Required: A successful candidate will have at least 10 years experience in the S/W industry and have an Engineering degree or equivalent. Experience with Linux, Unix (and its variants) or other multi-threaded multi-processor Operating Systems is essential. Experience with performance measurement tools, analysis of performance related data and with the implementation of performance optimizations in multi-threaded multi-processor Operating Systems is expected.

In particular, this technical leader will be required to have significant experience with industry standard Open Source software architectures and implementations including Unix, Linux and a broad spectrum of Open Source components. Knowledge of existing industry tools for the acquisition and analysis of performance data is needed. Also, this technical leader should be familiar with existing Open Source tools and frameworks for understanding the performance of the system.

The candidate should be able to understand and participate in high level design discussions for the purpose of providing feedback on the potential performance implications of a proposed design. He/she must also be able to review existing designs and suggest alternate approaches that may result in improved system performance.

He/she must also demonstrate effective communication skills as the role demands interaction with other design groups who will need to both understand the performance of the existing and communicate to the design team possible changes to improve system performance.

This technical leader will also be expected to work with the many cross-functional organizations who be depending upon the team for delivery of high performance Open Software components. He/she will be expected to work with various product teams to both help them to analyze their platform specific performance and to suggest possible improvements.

Open Source Test Engineer (R821917, R821937)
Cisco seeks an Open Source Software Test Engineer to define, design and build test tools and test programs. You will champion new methodologies and create scalable software solutions that interact with widely deployed Internet products, thereby touching an endless number of users worldwide.

Skills Required:
A successful candidate will have at least 3-5 years experience in the S/W industry and have an Engineering degree or equivalent.
  • Experience with testing on Linux, Unix (or equivalents)
  • Basic understanding of networking technology.
  • Devtest experience should include developing test plans, execution of test plans and automation.
  • Experience with white-box and system-level testing.
  • Familiar with basic test processes - test result reporting, defect filing & diagnosis, verifying fixes.
  • Experience with Management Interface testing including CLI, SNMP and XML-based interfaces.
  • Experience with Software Test Development using scripting languages like Tcl/Expect, Python, C, C++, Java and XML.
  • Experience with tools (Eclipse).
  • Effective communication skills and should be able to work closely with development and other test teams.
  • Have an innovative approach and passion for Quality
  • Team player and can work with minimum supervision
Additional Skills Preferred:
  • Experience with using and or developing different testing tools - test generation, code coverage, web interface for test reporting and execution
  • Experience with kernel level testing
  • Experience with testing embedded system software
  • Familiar with the agile development process
In particular, this software engineer should be familiar with industry standard Open Source software architectures and implementations including Unix, Linux and a broad spectrum of Open Source components. Knowledge of existing industry tools for test development is desirable. Also, familiarity with existing Open Source tools and frameworks would be preferred.

He/she will also be expected to contribute to the implementation of any recommended test optimizations.

Program Manager (R821943, R821944)

Cisco seeks a software program manager to help the Open Source development engineering group in the design, development and engineering of software products. Working collaboratively with cross-functional stakeholders, the program manager helps align teams and business priorities to establish project and program schedules and plans. The ideal candidate brings a track record of success in a similar role, strong interpersonal skills, a can-do attitude, and significant experience working with multiple programs and stakeholders at once.

Experience with Linux, Unix (and its variants) or other multi-threaded multi-processor Operating Systems is essential.

Requires BSCS/EE or equivalent and 8+ years of software development experience with 2+ years in a program management role. Strong communication and team-building skills required.

The candidate should be able to understand and participate in high level design discussions for the purpose of ensuring a common understanding of expectations and deliverables. He/she must also demonstrate effective communication skills as the role demands interaction with other business units with different organizational imperatives.

Skills required :
Candidate will also need to coordinate cross- functional development programs and provide development leadership for current and future products. The successful candidate will
  • Be able to work with a wide range of professionals and distributed teams
  • Knowledge of and training in product lifecycle processes
  • Exceptional facilitation, interpersonal, and written and oral communication skills
  • Integrate efforts of all relevant stakeholders
  • Provide effective risk assessment and management
  • Define critical path risks, complex scheduling and release planning
  • Develop proactive and reactive measures to mitigate risks
  • Develop and maintain realistic project schedules
  • Track and report relevant metrics
  • Assess and integrate requirements
  • Ensure project process and guidelines are followed or managed appropriately
Required Knowledge:
  • Delivery of shipping software products.
  • Direct software development experience.
  • Experience with open source operating systems.
  • Negotiation and persuasion skills.
  • Motivated high energy contributor.
Working knowledge of Cisco hardware and software components (IOS, OS'es, drivers, utilities) is a plus, but not required.

How to apply
If you meet the necessary requirements for the job position, visit the Cisco website and apply online. Or you can also contact Cisco recruiter Brent Rogers [Email id : breroger [at] cisco [dot] com ] directly.

Tuesday, May 13, 2008

100 of the Best Open Source Applications

The following is a list of about 100 of the best open source applications, that actually help make Linux more usable for people. This list aims to show potential Linux users that there is really a pile of large, effective, productive and usable range of free, Open Source applications. This list tends to lean towards tools which are invaluable in web development related work.

Read the whole list of 100 open source applications. You will definitely find some very useful applications which you did not know existed.
AddThis Social Bookmark Button