2010年3月14日星期日

20 Most Popular Open Source Software Ever

via tripwire magazine by Tom Walker on 3/10/10

20 Most Popular Open Source Software Ever
20 Most Popular Open Source Software Ever These days, you can quite easily buy a brand-spanking-new computer and install all the software you need for free, using applications offered under the Open Software License. You can get a free image editor, a free sound editor, a free word processor, media player, file archiver, PDF creator… the list goes on and on and on. While some of these free apps do not offer quite the same level of polished functionality as their commercial rivals, others far exceed the capabilities of everything else on the market. Below, we take a close look at the cream of the crop: 20 invaluable and indispensable open source applications that you really should be using, if you're not already. The vast majority of them are cross-platform and absolutely 100% free! You're bound to find several that are perfectly suited to your needs.

1. WordPress

1-wordpress
WordPress is the world's most popular blogging platform, used by a staggering 202 million websites. As simple or as complex as you want it to be, WordPress is supported by a wide array of plugins which can be used to transform a standard blog into anything you could possibly desire. Besides blogs, WordPress can be used as a straightforward content management system to power anything from an e-commerce site to a social network.

2. Magento

2-magento
Magento, used by 30,000 merchants, including Samsung, Nespresso and The North Face, is the world's fastest growing e-commerce platform. Magento Community Edition is offered for free under the Open Software License. The Enterprise Edition, for which you have to pay, offers features like multi-store capability, store credits and gift cards, out-of-the-box.

3. Mozilla Firefox

3-firefox
Firefox currently accounts for 24.43% of the recorded usage share of web browsers, but this figure is on the rise. Already the browser of choice for most web professionals, Firefox's popularity is growing thanks to its vast selection of third party add-ons, which let users tailor their browsing environment down to the finest detail.

4. Mozilla Thunderbird

4-thunderbird
With its speedy searches, built-in RSS feeds, strong security and superb add-ons, Thunderbird has to be the best, free email application available. If you're prepared to spend some time tailoring your email environment with add-ons, you'll absolutely love it, but it's probably not ideal for complete novices.

5. FileZilla

5-filezilla
FileZilla is a hugely successful, cross-platform FTP client. It's also available as a server, for Windows only. Created in January 2001 by Tim Klosse as a class project, FileZilla has gone on to become the 5th most popular download of all time from SourceForge.net.

6. GnuCash

6-gnucash
GnuCash provides a great, free alternative to paid-for accounting software. Designed for personal and small business use, it offers bank account, stock, income and expense tracking, in addition to double-entry accounting.

7. Audacity

7-audacity
Music software like Cubase and Logic Pro can be incredibly expensive, which is why an increasing number of people are turning to Audacity, a free, cross-platform sound editor. Users can record and edit live audio; cut, copy, splice and mix sounds; and convert ageing tapes and records into digital format.

8. GIMP

8-gimp
Just like sound editors, industry standard image editing software is prohibitively expensive for a lot of people, but GIMP provides a free alternative. It performs every major function you could desire, except for, vitally, CMYK separation functionality necessary for prepress work.

9. OpenOffice

9-openoffice
With the ability to create text documents, spreadsheets, presentations and databases, OpenOffice is an accomplished rival to Microsoft Office, which clearly influenced OpenOffice's design. Microsoft Office users will feel completely at home and find that OpenOffice performs just as well, if not better.

10. VLC

10-vlc
At last count, VLC media player had been downloaded 300 million times. Unlike some paid-for alternatives, VLC supports practically every audio/video codec and file format. The most recent VLC release also offers live recording of streaming video, frame-by-frame advancement and superb speed controls.

11. Handbrake

11-handbrake
Handbrake rips/converts DVDs to MPEG-4 for playing back on your iPod or archiving. It doesn't have the ability to decode DVDs, but can do so if you have VLC, which includes a DVD encoder, installed on your computer.

12. Pidgin

12-pidgin
Pidgin is the ultimate, free instant messaging tool. It provides you with one window through which you can simultaneously interact with different people, whichever instant messaging platform they're using.

13. Freemind

13-freemind
Freemind is a terrific mind-mapping tool, which lets you get all your thoughts down as quickly as possible with the use of icons, shapes and colors. Besides the ordinary nodes and links, you can add hyperlinks and even documents to your maps.

14. Notepad++

14-notepad
Reliable, customizable, intuitive and free, Notepad++ is the most popular Windows-based CSS editor around. It offers everything: syntax highlighting; folding and auto-completion for CSS, C, C++, C#, Java, JavaScript, SQL, HTML, XML and PHP; multi-file viewing; tabbed editing; zoom in/out; and bookmarks.

15. 7-Zip

15-7zip
7-Zip is an extremely popular file archiver for Windows, which, although free, outperforms Winzip. It can unpack the vast majority of archive formats and can create TAR and GZ archives, commonly used on Unix and Linux systems, as well as its own 7z format, which easily outshrinks ZIP files.

16. Blender

16-blender
Blender is a 3D content creation suite which can be used for everything from modeling to skinning, particle simulation, animating and texturing. Unlike some other free apps in this list, Blender has not been designed to "imitate" other 3D graphics software, which means it takes a bit of getting used to, but once you've familiarized yourself with all the shortcuts, you'll be hooked.

17. PDFCreator

17-pdfcreator
Windows users can consider PDFCreator a credible rival to Adobe Acrobat. Creating PDFs is as easy as printing, literally, as once installed, you can select PDFCreator as your printer, letting you create PDFs from practically any application.

18. Calibre

18-calibre
According to Calibre, it's the "one stop solution to all your e-book needs". I'm inclined to agree. Besides letting you catalogue and manage your e-book collection, sorting, tagging and commenting on them as you please, you can download content from the internet and convert it into e-book form.

19. TrueCrypt

19-truecrypt
TrueCrypt really is the best free encryption program around for anyone worried about their security. It offers 11 algorithms for encrypting your files, as well as a comprehensive help manual, which gives advice on complex password creation, hidden volumes and erasing encryption giveaways.

20. Ubuntu

20-ubuntu
Named after an African philosophy of community, sharing and generosity, Ubuntu is a free operating system for Linux that's quick and easy to use. Recent figures suggest that around 50% of Linux users have Ubuntu installed. With its focus on usability, Ubuntu comes with OpenOffice, Firefox Empathy, Pidgin, GIMP and other tools pre-installed.

Author : Tom Walker

Tom is a designer and writer who works with a UK based online shop specialising in Epson printer ink, toner, paper and other printing accessories. You can read more of his writing on their blog.

Related posts:
  1. 15 Open Source eCommerce Platforms Whether you're about to open your first online shop...
  2. 25+ Free Editors and IDEs for Freelance Developers on a Tough Budget Spending hundreds of dollars on a text editor or...
  3. Excellent Free Editors and IDEs for Developers Most developers have picked their favourite editor and/or IDE...
Related posts brought to you by Yet Another Related Posts Plugin.

2009年5月8日星期五

Zend Framework Dispatch Workflow



To Download PDF: Zend Framework Dispatch Workflow (v1.01)

I've been researching Zend Framework lately and was curious about what's actually happening behind the scene of the whole dispatch process. I found a wonderful diagram created by Thorsten Ruf (zenddispatch_en.pdf)

Inspired by it's clear and beautifully presented workflow, I decided to go a step deeper and crawl Zend Framework's code. I came up with my own version of the flexible yet complicated workflow. The Zend Framework version is 1.7, noting that things might have changed a bit in the latest 1.8 version that was released a weeks ago.

2008年4月30日星期三

Web Accessibility Initiative (WAI)

Great Article

Site Resources
Site Tools
Screen Reading Softwares


NVDA - Non Visual Desktop Access (Windows only)

NVDA is a Windows screen reader that supports browsing the web with Internet Explorer and Firefox, reading and writing documents with office programs, sending and receiving email with Outlook Express, producing spreadsheets with Microsoft Excel, using command line programs in DOS windows (that is, the command prompt), managing the computer through things like My Computer, Windows Explorer, Control Panel applets and other general Windows tasks. It supports numerous languages, including English, Brazilian Portuguese, Czech, Finnish, French, German, Hungarian, Italian, Portuguese, Slovak, Spanish, Swedish, and traditional Chinese. It works with the speech synthesizer engines that comes with Windows XP and Vista, although you can also use the open source eSpeak speech synthesizer, which is reputed to be clearer and easier to listen to. This Windows program is free and open source, licensed under the GNU General Public License.

Thunder Speech Reader - the Talking Software (Windows only)

Thunder is a Windows XP and Vista program that is free only for personal use. It comes with a text browser that you need to use to browse the Internet. The browser is optimized for speech software in that it cuts out the visual clutter and presents the website in a line-by-line text. Other features include an Internet radio software which supports RSS news feeds and podcasting. You will need to supply your email address before you can download the software.

Orca (Linux)

Orca is an assitive technology for people with visual impairments. It uses a combination of speech synthesis, braille and visual magnification to accomplish its task. It is designed to work with applications that support the assitive technology service provider (AT-SPI), including the GNOME desktop and its applications, Firefox, OpenOffice and the Java platform. Orca is a Linux program and is part of the GNOME platform. It comes by default in some Linux distributions.

Emacspeak - The Complete Audio Desktop (Linux)

Emacspeak is a speech interface that allows visually impaired users to interact with the computer. The website claims that unlike speech readers that merely read or speak the visually displayed information, Emacspeak attempts to make sense of the content and voice the underlying content. Hence instead of merely voicing, say, a series of meaningless numbers in a calendar application, it attempts to say the data in a comprehensive manner. The software works on Linux only.

2008年3月19日星期三

What is progressive JPEG (.pjpeg)?

Original Source
A simple or "baseline" JPEG file is stored as one top-to-bottom scan of the
image. Progressive JPEG divides the file into a series of scans. The first
scan shows the image at the equivalent of a very low quality setting, and
therefore it takes very little space. Following scans gradually improve the
quality. Each scan adds to the data already provided, so that the total
storage requirement is roughly the same as for a baseline JPEG image of the
same quality as the final scan. (Basically, progressive JPEG is just a
rearrangement of the same data into a more complicated order.)

The advantage of progressive JPEG is that if an image is being viewed
on-the-fly as it is transmitted, one can see an approximation to the whole
image very quickly, with gradual improvement of quality as one waits longer;
this is much nicer than a slow top-to-bottom display of the image. The
disadvantage is that each scan takes about the same amount of computation to
display as a whole baseline JPEG file would. So progressive JPEG only makes
sense if one has a decoder that's fast compared to the communication link.
(If the data arrives quickly, a progressive-JPEG decoder can adapt by
skipping some display passes. Hence, those of you fortunate enough to have
T1 or faster net links may not see any difference between progressive and
regular JPEG; but on a modem-speed link, progressive JPEG is great.)

Up until recently, there weren't many applications in which progressive JPEG
looked attractive, so it hasn't been widely implemented. But with the
popularity of World Wide Web browsers running over slow modem links, and
with the ever-increasing horsepower of personal computers, progressive JPEG
has become a win for WWW use. IJG's free JPEG software (see part 2, item
15) now supports progressive JPEG, and the capability is spreading fast in
WWW browsers and other programs.

Except for the ability to provide progressive display, progressive JPEG and
baseline JPEG are basically identical, and they work well on the same kinds
of images. It is possible to convert between baseline and progressive
representations of an image without any quality loss. (But specialized
software is needed to do this; conversion by decompressing and recompressing
is *not* lossless, due to roundoff errors.)

A progressive JPEG file is not readable at all by a baseline-only JPEG
decoder, so existing software will have to be upgraded before progressive
JPEG can be used widely. See item 16 in part 2 for the latest news about
which programs support it.

2007年11月14日星期三

Free expression and controversial content on the web

原文來自Google Blog.Free expression and controversial content on the web
Posted by Rachel Whetstone, Director of Global Communications and Public Affairs, EMEA

Our world would be a very boring place if we all agreed all the time. So while people may strongly disagree with what someone says, or think that a particular newspaper article is total nonsense, we recognize that each of us have the right to an opinion.

We also know that letting people express their views freely has real practical benefits. Allowing individuals to voice unpopular, inconvenient or controversial opinions is important. Not only might they be right (think Galileo) but debating difficult issues in the open often helps people come to better decisions.

While most people agree in principle with the right to free expression, the challenge comes in putting theory into practice. And that's certainly the case on the web, where blogs, social networks and video sharing sites allow people to express themselves - to speak and be heard - as never before.

At Google we have a bias in favor of people's right to free expression in everything we do. We are driven by a belief that more information generally means more choice, more freedom and ultimately more power for the individual. But we also recognize that freedom of expression can't be -- and shouldn't be -- without some limits. The difficulty is in deciding where those boundaries are drawn. For a company like Google with services in more than 100 countries - all with different national laws and cultural norms - it's a challenge we face many times every day.

In a few cases it's straightforward. For example, we have a global all-product ban against child pornography, which is illegal in virtually every country. But when it comes to political extremism it's not as simple. Different countries have come to different conclusions about how to deal with this issue. In Germany there's a ban on the promotion of Nazism -- so we remove Nazi content on products on Google.de (our domain for German users) products. Other countries' histories make commentary or criticism on certain topics especially sensitive. And still other countries believe that the best way to discredit extremists is to allow their arguments to be publicly exposed.

All this raises important questions for Internet companies like Google. Our products are, after all, specifically designed to help people create and communicate, to find and share information and opinions across the world. So how do we approach these challenges?

It should come as no surprise to learn people have different views about what should appear on our sites. How and where to draw the boundaries is the subject of lively debate even within Google. We think that's healthy. And partly because of this, we realize that creating a flawless set of policies on which everyone can agree is an impossible task.

Google is not, and should not become, the arbiter of what does and does not appear on the web. That's for the courts and those elected to government to decide. Faced with day-to-day choices, however, we look at our products in three broad categories: search, advertising and services that host other people's content.

Search is the least restricted category. We remove results from our index only when required by law (for example, when linked to content infringing copyright) and in a small number of other instances, such as spam results or results including unauthorized credit card and social security numbers. Where feasible, we tell our users when we remove results.

At the other, most restrictive, end of the spectrum, we have what might be called commerce products –- the text of the advertisements we carry, which are subject to clear ad content policies.

The most challenging areas are where we host other people’s content -- offerings like Blogger, Groups, orkut and video. On the one hand, we're not generating the content and we aim to offer a platform for free expression. On the other hand, we host the content on our servers and want to be socially responsible. So we have terms that we ask our users to follow. (See Blogger and orkut for examples.)

So the question becomes: how do we enforce those terms? In general, Google does not want to be a gatekeeper. We don't, and can't, check content before it goes live, any more than your phone company would screen the content of your phone calls or your ISP would edit your emails. Technology can sometimes help here, but it's rarely a full answer. We also have millions of active users who are vocal when it comes to alerting us to content they find unacceptable or believe may breach our policies. When they do, we review it and remove it where appropriate. These are always subjective judgments and some people will inevitably disagree. But that’s because what’s acceptable to one person may be offensive to another.

We also face the added complication that laws governing content apply differently in the different parts of the world in which we operate. As we all know, some governments are more liberal about freedom of expression than others. These legal differences create real technical challenges, for example, about how you restrict one type of content in one country but not another. And, in extreme cases, we face questions about whether a country's laws and lack of democratic processes are so antithetical to our principles that we simply can't comply or can't operate there in a way that benefits users.

But it's not only legal considerations that drive our policies. One type of content, while legal everywhere, may be almost universally unacceptable in one region yet viewed as perfectly fine in another. We are passionate about our users so we try to take into account local cultures and needs -- which vary dramatically around the world -- when developing and implementing our global product policies.

Dealing with controversial content is one of the biggest challenges we face as a company. We don’t pretend to have all the right answers or necessarily to get every judgment right. But we do try hard to think things through from first principles, to be as transparent as possible about how we make decisions, and to keep reviewing and debating our policies. After all, the right to disagree is a sign of a healthy society.

2007年10月4日星期四

Accessible AJAX solution

擷取自Web Access Centre Blog - AJAX, accessibility and the user
The Solution
Ask yourself “Do I really need AJAX?”. If yes use progressive enhancement. This means build a standard application then overlay with AJAX i.e. HIJAX
Step 1: Content
Step 2: Mark up content semantically (X)HTML
Step 3: Add the presentation layer CSS
Step 4: Add the behaviour DOM Scripting

“Plan for AJAX from the start, implement at the end” Jeremy Keith, Progressive Enhancement and AJAX

The techniques
• Inform users JavaScript is needed
• Describe what to expect
• Provide alerts
• Allow for preferences and choice (alerts can also be distracting)
• On / off switches
• Highlight changes – temporary colour or font size changes
• Provide a heading structure, correctly coded lists and data tables

Popular Javascript Features:
• Forms which dynamically predict destination names you are inputting
• Pop up date picker
• Options on the page update depending on if you select the Return, One-way, Multi-city or Weekend radio buttons
• Form validation
• ....and more

2007年9月20日星期四

Selenium

Really really neat work Jason Huggins did on his Selenium Project.
He recently has become a Noogler(new people to Google) now.
An interview has been done and posted in Google Testing Blog about what he did and why he did it.

http://www.openqa.org/selenium/
Selenium tests run
directly in a browser, just as real users do. And they run in
Internet Explorer, Mozilla and Firefox on Windows, Linux, and Macintosh. No
other test tool covers such a wide array of platforms.