A great piece by the Amazon CTO
[LinkBlog] 10 Lessons from 10 Years of Amazon Web Services
A great piece by the Amazon CTO
A great piece by the Amazon CTO
Now that Apple has announced that OS X updates will be free going forward, and many of its first party apps like iWork are going to be free with new devices, Microsoft seems to have its task cut out. Many people seem to think that this move by Apple will really hurt Microsoft. In some ways Apple is trying to commoditize software the way Microsoft commoditized hardware over the last 2 decades. However, there are a few key points that not many have mentioned:
The bottom line is that Microsoft has to continue to woo its OEM partners who bring in the OS revenue, while at the same time transform its revenue source to hardware. The Nokia acquisition becomes even more important now.
First came the software to write stories based on data collected:
Once Narrative Science had mastered the art of telling sports and finance stories, the company realized that it could produce much more than journalism. Indeed, anyone who needed to translate and explain large sets of data could benefit from its services. Requests poured in from people who were buried in spreadsheets and charts. It turned out that those people would pay to convert all that confusing information into a couple of readable paragraphs that hit the key points.
Then came the essay grading software:
The EdX assessment tool requires human teachers, or graders, to first grade 100 essays or essay questions. The system then uses a variety of machine-learning techniques to train itself to be able to grade any number of essays or answers automatically and almost instantaneously.
The software will assign a grade depending on the scoring system created by the teacher, whether it is a letter grade or numerical rank. It will also provide general feedback, like telling a student whether an answer was on topic or not.
Just a prelude to the battle to figure out the loopholes in both with each trying to game the other?
Giveaway of the day and Game giveaway of the day are pretty interesting sites wherein they give away a commercial software for free for a period of 24 hours, periodically. The software installers are encapsulated within the giveaway of the day software that connects to their servers to check the validity of the giveaway period. One of the limitations of this software is that it does not work behind authenticated proxies, i.e., proxies wherein you need to enter your userid/password to access the internet (quite common in education institutions).
It seems to use the “Internet Option” settings of Internet Explorer to detect the connection settings. So, the simplest way to use the software behind such a proxy is to use a HTTP tunnel client that creates another proxy layer with the userid/password settings already entered. HTTP-Tunnel Client is a useful software in this regard and can be used to serve the purpose (something I had used earlier to make the State software work behind an authenticated proxy). Just follow the instructions to configure the proxy in the software and change the settings in Internet Options.
Once this is done, the installer should run fine and connect to the server without any errors. It may fail the first time, in which case just try once more.
This is a pretty useful workaround and should work for other software that use the Internet Options connection settings, but do not support an authenticated proxy.
I’ve been interning at Sun Microsystems in Delhi from May 1st and during this period, I’ve had the opportunity to research a variety of open source applications. My initial project was to explore and research various open source applications suitable for use by students and compare them against each other and with the proprietary alternatives. There are indeed a bunch of alternatives available for the software we use during the course of our day to day work.
I managed to submit a paper on “Components of an Open Source Operating System for Sustainable ICT Education in Schools in Developing Countries” to the HICSS conference, and I’m starting off a multi part post with my learnings on open source software and development.
One of the interesting works that I read on open source development was Eric Raymond’s “The Cathedral and The Bazaar”. This is probably one of the definitive works on open source development, and a number of theories stem from it. In fact, quite a few papers that I referred to during the course of my research cited this work. He has postulated the following principles in the essay:
Most of his principles are for software development in general, and so also apply to open source development. The key learnings form his essay are two-fold. First is that it is important to have a working prototype of the project before making it open source, or at least trying to find other developers who’d be interested in it. Second is that open source attracts a wide variety of talent that can be put to various uses, ranging from bug finding, to improvement suggestions to actual coding. Thus, it is essential to treat the participants in the right manner as everyone could make an important contribution.
One of the other observations to be made about open source development is the vital role that the internet has played in creating the synergy that exists between the developers, users and other contributors of any open source project. In fact, Eric Raymond has said as much in his essay:
… Another (in hindsight) was that the Internet wasn’t yet good enough.
Before cheap Internet, there were some geographically compact communities where the culture encouraged Weinberg’s “egoless” programming, and a developer could easily attract a lot of skilled kibitzers and co-developers. Bell Labs, the MIT AI and LCS labs, UC Berkeley—these became the home of innovations that are legendary and still potent.
Linux was the first project for which a conscious and successful effort to use the entire world as its talent pool was made. I don’t think it’s a coincidence that the gestation period of Linux coincided with the birth of the World Wide Web, and that Linux left its infancy during the same period in 1993–1994 that saw the takeoff of the ISP industry and the explosion of mainstream interest in the Internet. Linus was the first person who learned how to play by the new rules that pervasive Internet access made possible.
In essence, open source development has a lot of potential when used in the right manner. In fact, many companies use it quite strategically and couple them with interesting licenses (I’ll cover licenses in another part). There are also quite a few organizations championing free (as in freedom) software with the FSF (Free Software Foundation), headed by Richard Stallman being one of the pioneers. There is also a bit of controversy in the Free/Open Source world with some preferring the term free to open source. This has however not deterred organizations from leveraging open source development strategically. Open source development may not be practicable in every situation, particularly for routine software development in enterprises, but it definitely has its merits and I’ll be looking at other aspects of open source software in subsequent parts.
I’ve been suggesting quite a few software to my classmates over the last few months. So I thought of collating all the recommendations into one post. Here’s the list of different freeware that should be useful for different purposes.
GIMP – This is the open source alternative to Photoshop, and the most popular image editor on Linux. It has a variety of features and there are quite a lot of tutorials available on the net for it. It recently underwent an interface overhaul.
Paint.NET – A Windows only image editor that should be powerful enough for most needs while being fairly simple to use.
Picasa – Not a full fledged image editor, but good enough for touching up photos. It serves quite well as a photo organizer, and is the official tool for uploading to Google’s Picasa web album.
Windows Live Gallery – Very similar to Picasa, with slight differences in the interface. It fills the gap for a uploader combined with a photo gallery for Flickr.
Virtualdub – A very basic video editor (mainly for AVI files), useful for trimming and clean up.
Windows Live Movie Maker – The Live version of the popular Windows Movie Maker that supports publishing to the MSN online service.
Videospin – A very good alternative to the Windows Movie Maker. It has a host of features, and videos can be created in a variety of formats. I got to know of it from its coverage on the Digital Inspiration blog.
Audacity – One of the best audio editors out there, and a very handy alternative to the paid Sound Forge. Very useful for performing different tasks and processing on audio clips.
Camstudio – A decent alternative to the paid Camtasia Studio. It supports the creation of screencast videos, along with the ability to record audio.
Wink – Another screen capture software that records images, but can also be used for making screencasts.
OpenOffice – An open source alternative to Microsoft Office – not 100% compatible, but it has some additional features of its own along with support for other formats. The memory usage is on the higher side.
Lotus Symphony – Another alternative to MS Office by IBM. Similar to OpenOffice, but with fewer applications in the suite.
PDF creator – A handy utility to create PDFs from different sources (installs as a PDF printer).
Notepad++ – A must have replacement for notepad. Has a tabbed interface, supports syntax highlighting (useful for editing HTML, XML etc), and recording of macros.
7-Zip – Supports most of the commonly used compression formats like zip, rar, cab etc along with its own 7z format which boasts of one of the best compression ratios. A very good alternative to paid software like Winzip and WinRAR. It can also be used to split files which comes in handy when sending large email attachments in batches.
CCleaner – One of the most popular system cleanup utilities. It clears temporary files, browser cache, history etc.
VirtualBox – Useful for creating virtual machines, like say for Linux which can then in turn be used for different purposes. Much more convenient than trying to set up dual boot configurations, especially on laptops.
ComicRack – Very useful for keeping ones comic/ebook library organized. It supports various formats like pdf, cbr etc. Kind of like a media library for books.
Pidgin – A popular messaging client that supports most of the major IM networks like MSN, Yahoo!, AIM and GTalk. Definitely more convenient than having a ton of IMs loaded at the same time, granted that none of the advanced features of the networks are being used.
Flock – The social network incarnation of Firefox. It contains built-in tools for posting to blogs, uploading to photo sharing sites like Flickr, checking social networking sites among many other features.
Feed Demon – A powerful feed reader that is integrated with the Newsgator service (similar to Google Reader) to keep feeds in sync across machines.
RSS Bandit – Another feed reader that’s currently under development, but supports integration with Google Reader.
PortableApps comprises of an entire suite of applications that can be run directly from a removable storage device like USB drives and external hard disks. It contains many of the software mentioned here. Some of them are included by default in the download, while others can be added using the respective installers.
The applications range from browsers and email clients to media players and editors, office applications to virus scanners among many more. Every portable device should include this.