Our blog has been pretty quiet the last few days. And the reason is a good one, we have just been swamped with great response to the Tonido beta.
A big thanks to all who sent in comments that made our effort in the last 1.5 years worthwhile.
Frankly, it is all a little overwhelming. For the first time in the last 1.5 years, programming came to a complete standstill so that we could digest and chew on all that came pouring through. And it has been pouring as never before from Twitter, Facebook, blogs, comments, forum postings, direct emails. Just a lot of feedback.
We are trying to pull everything together and organize it in one big list. We are also trying to figure out what is the next most important thing to do. And believe it or not, we have plenty to do, upto 3 new plugins are in the works, 2 more in the pipeline.
We are also amazed by the interest in the Tonido platform, so that is one of our priorities. We are planning to get at least the Windows SDK version out quickly and get the other OS versions later.
We also have a significant product announcement coming within this week. So stay tuned.
Now let me get back to work.
It is going to be a month since we released the public Tonido beta. Since then we have got great response and feedback from everyone who has tried Tonido. We even recently crossed a milestone with the number of Tonido Profiles created as well as number of people online.
At CodeLathe, we believe in the power of the open platform as well as in the open source movement.
We think that there is great potential in the Tonido platform and really like the power and flexibility that Tonido offers to end users. We also believe that there are many more applications waiting out there that are yet to be developed by creative developers for Tonido. We want those applications to come alive on the Tonido platform.
As a first step towards that goal, we are happy to announce that the Tonido platform will be available under a open source license (Most likely the GPL v3). This means you can download the Tonido Platform SDK and develop applications based on it completely free of charge.
Not only do we want to get more users to try the Tonido platform, we also want developers worldwide to develop on the Tonido platform.
If an open source license doesn’t fit your needs, the Tonido Platform SDK will also be available through other licenses.
It is going to take a short while to get the SDK ready for download and all the licensing legal stuff worked out.
If you would like to sign up on our developer mailing list, please do so. We will send out information once the SDK is ready.
“Microsoft confirmed on Monday that Azure users suffered an overnight outage over the weekend during which their applications weren’t available. “
ComputerWorld Mar 19, 2009
“Business and personal users of Gmail suffered an outage starting about 1:30 a.m. PST Tuesday”
CNet News Feb, 24 2009
“Amazon storage ‘cloud’ service goes dark, ruffles Web 2.0 feathers”
CNet News Feb 15, 2009
“Salesforce.com was down for under an hour on Tuesday, leaving many users in the dark. “
PC World Jan 6, 2009
“According to reports on Friday, cloud storage provider FlexiScale (www.flexiscale.com), a unit of UK-based web hosting provider Xcalibre (www.xcalibre.co.uk), has been hit with its second outage in two months, leaving some customers without access to their servers for more than 18 hours.”
Web Host Industry Review Oct 31, 2008
“Recent unreliable commercial e-mail service from Google has underscored the need for enterprises to develop contingency plans for software-as-a-service applications.”
Gartner Sep 3, 2008
“Outage Forces Cloud Computing Users to Rethink Tactics – IT Departments scramble to devise backup plans following service disruptions at Amazon, Citrix and Google.”
Information Week Aug 16, 2008
“Microsoft Windows Live Services Suffer Global Outage.”
Channel Web Feb 26, 2008
When the system is down and when the business is idle for more than 30 minutes, the reputation suffered is priceless.
Despite the possible privacy issues, businesses and individuals are lining up to get a spot in the cloud. There are a number of advantages listed for cloud services – Reduced Cost, Increased Storage, More Mobility etc., Well… the goliaths and proponents of Cloud Services are yet to prove that they can deliver their service in a reliable fashion.
We have lost all our tweets that we have written between (March 17 – April 4, 2009 ) from our twitter account. We again lost some tweets after April 4th.
Did it happen to any of your tweets? or Is it just a random occurrence?
One billion dollar valuation is all fine and dandy. But first Twitter need to make sure that their messaging platform is scalable (You guys must have seen Twitter Over Capacity Message!) and stable.
If it happens again, probably we need to think about releasing our own peer-to-peer twitter clone on top of our Tonido platform to talk with our followers. Let us know whether we are alone in this twitter episode.
We often transfer large number and large size files over the network from one computer to another. FTP is the default choice for transferring few files and SCP is the typical choice for transferring large number of files.
If you happen to transfer files from one computer to another over a slow network(such as copying files from home computer to office or vice versa) then the following tip might be helpful. This technique works as follows:
1) Performs on-the-fly compression of files at source computer.
2) Transfer the compressed files over the network.
3) Performs on-the-fly decompression of the files at the target computer.
This technique uses just SSH and TAR commands without creating any temporary files.
Let us assume source computer as HostA and target computer as HostB. We need to transfer a directory (/data/files/) with large number of files from HostA to HostB.
1) Command without on-the-fly compression
Run this command on HostB
# scp -r HostA:/data/files /tmp/
This command recursively copies /data/files directory from HostA to HostB
2) Command with on-the-fly compression
Run this command from on HostB
# ssh HostA “cd /data/;tar zcf – files” | tar zxf -
This command recursively copies /data/files from HostA to HostB a lot faster on slow network.
Let us take a look at this command in detail:
1) ssh HostA “cd /data/;tar zcf – files” | tar zxf - : From HostB connect to HostA via SSH.
2) ssh HostA “cd /data/;tar zcf – files” | tar zxf - : On HostA switch to directory /data/
3) ssh HostA “cd /data/;tar zcf – files” | tar zxf – : Tar ‘files’ directory with compression and send the output to STDOUT.
4) ssh HostA “cd /data/;tar zcf – files” | tar zxf – : Pipe(|) STDOUT from HostA to STDIN of HostB.
5) ssh HostA “cd /data/;tar zcf – files” | tar zxf – : On HostB decompress and untar data coming in through STDIN.
To show how useful this technique is, we transferred 45M worth of files from HostA to HostB over a DSL connection. Here are the results:
1) No compression method: 12min 59 sec
2) On-the-fly compression method: 2min 33 sec
This method will be effective with uncompressed large files or directories with a mix of different files. If the transferred files are already compressed then this method won’t be effective.
My previous semi-humorous blog post on becoming a bad programmer generated a lot of reaction, so I decided to write one more, this time eschewing the humor (some appeared to not *get* it) and just jumping to the list directly.
1) Be an apprentice first
Becoming a programmer is like becoming a mason. In the medieval ages, a mason had to first become an apprentice, work hard for several years before becoming an independent mason and joining the guild. Unfortunately, no such process exists for programmers. It is my opinion that programmers need the same mentoring before they develop good programming habits. If you have never met or worked with someone who is a better programmer than you, you are unfortunate. Without the ability to work and see at first hand the habits and processes of great programmers, it is hard to become one. My ability to handle complex problems increased dramatically when I worked with great programmers.
2) Continually adjust your complexity mental models
Programming is purely a mental activity and has no relationship to any physical activity including typing. To become a better programmer, you will need to exercise and build up the part of the brain that deals with managing complexity and dealing with the relationships between countless objects.
So how do you actually get better at this activity? It is by continuously learning from mistakes and tweaking your understanding and process by which you manage complexity. When you continuously refine your complexity models, you get better at managing complexity more efficiently. There is no end to this process – as you work on more complex projects, you will add more tools in your arsenal to manage complexity inside your head. The important thing to realize is that a mental model exists and that you must act consciously to improve it.
3) Be curious about new trends in computing
Programming, unlike bridge building changes the basic tools and processes every 5 years. It is hard work to keep abreast of the changes. But keep up, you must if you don’t want to be left behind. From programming with punch cards, Waterfalls, Assembly, Windows, MFC, Java, J2EE, .NET, PHP, Ruby-on-Rails, REST, Agile Programming, Design Patterns, AJAX, you will have to keep up with the rapidly changing landscape. And I say this not to keep jumping on the latest fad, but to keep up so that you understand the latest technologies and the benefits (and cons). Programming is partly about building things efficiently and choosing the right tool for the job. To get that piece right, you *have* to know what exists out there. Otherwise your program will be obsolete by the time you are ready to release.
4) Understand the major pieces of the software stack
Joel Spolsky talks about leaky abstractions. That is when you work with any abstraction, it always leaks a little bit, allowing the ugly underlying complexity to seep through. When that happens, if you don’t have an understanding of the layer below you will be screwed. Say you are a web programmer, you need to know a little about HTTP. If you are a .NET or MFC programmer, you need to know something about how Windows messages works.
Modern programming environments are little like fishbowls. You can live happily within this world for eternity, but if you want to do more than what is provided within the confines of the fish bowl, you better learn more about the *outside*.
Learn a little about all the pieces of the software stack, from registers in a CPU to low level memory management, process management, networking and so on. You will never be surprised or stopped dead by the glass walls of your fishbowl.
5) Be passionate
To become better at programming, the one sure-fire way is to be passionate about it. You need to be genuinely interested in working, thinking and living in code. No amount of knowledge, experience will otherwise help.
Agree, Disagree? Let me know.
The newest application that is part of the 0.2 release available now is Tonido Thots.
As a long time WordPress user, I love how WordPress works. The ability to post interesting things to your blog and share them with the world as a thought stream is such a simple and powerful concept.
Over time, as I used WordPress, I wished I could organize all the information that I keep around in my own personal WordPress; without necessarily needing to share this to the world. This was a little impractical as WP or any modern blog software requires setting up a web server (Apache and likes + MySQL + PHP) which is a little too much to run on a regular basis.
Now there is a way using Tonido Thots.
If you like WordPress, you will love Thots.
Tonido Thots is a private blog or journal, which you can use to store notes, bookmarks, web clips, and other random pieces of information. Thots is deliberately simple and easy-to-use and uses the familiar blog UI that has become so common these days.
So what could you use Tonido Thots for?
- Keep a personal journal to record your moods, your insights, events in your life
- Keep track of what you are working on each day as a work record
- Use it as a store of interesting web URLs that you come across when you browse the web (easy to do with the ClipThots Firefox plugin), that may or may not be worth sharing publicly via de.li.ci.ous or such services
- Use it to store clips of web page text (again with ClipThots) that you find interesting
- Use it as a research tool to organize information you discover and to keep track of, irrespective of whether you are working on a PhD or researching the next car to buy (Not that you will buy a car during this economy)
- Use it to track various events in a chronological order
- To post individual posts to Twitter, thus keeping a backup of your tweets.
Your Thots data is completely private and resides only on your desktop. And since this is a Tonido application, you can access it and use from anywhere, online or offline.
Here are a few screenshots of Thots in action.
Thots Main Page
You can see Thots looks identical to a WordPress blog (Which is not a bad thing), with full search, categories, timeline, RSS feed etc. You can directly add Thots and edit thots without a separate admin interface.
Editing a Thot
You can see the editor in action, allowing you to set a date and time, as well as change categories for this thot. A simple text editor is available for now, but look forward to more advanced features in the near future.
If you use Firefox (and you should if you are not) Thots makes bookmarking and clipping text from webpages easy-as-pie. Once you install and setup the plugin, you can simply right click on any web page to bookmark effortlessly. Bookmarks are automatically categorized in a ‘Bookmarks’ category that you can later file away in better categories. The same for clipping web text.
Thots is a simple application, but its simplicity is it’s strength, allowing you to do what you want to do without getting in your way.
Like Thots, get it now.
CodeLathe is proud to announce the general availability of Tonidofox, a Firefox addon for Tonido. The aim of the plugin is to help automate monitoring tasks for Tonido and provide useful shortcuts for Tonido and its plugin applications. Some of the features of Tonidofox are
- Monitor local or remote Tonido server for new messages or group invites
- Provide easy shortcuts to directly open Tonido applications using right click shortcut
Future versions of Tonidofox will provide greater integration with other Tonido features. Tonidofox is currently supported on Firefox version 3 and higher.
Once installed, Tonidofox will show up as an icon in Firefox’s status bar (Right bottom corner)
The interactions with Tonidofox is via right and left mouseclick on the Tonidofox icon. Right click on Tonidofox will display Popup with option to set Tonido server information and Access Tonido Application shortcut menus.
In order to set the Tonido server information, select the “Set/Change Tonido Server” option. When no Tonido server is set (as in the case after a fresh install), left click on Tonidofox will also display a dialog box to set the Tonido server information.
Once the Tonido server information is added, Tonidofox will monitor the Tonido server. Currently, Tonido server monitors for new messages and new group invitations. Tonidofox icon color will change to indicate whether Tonidofox is able to connect to the Tonidofox server instance, new notifications available or otherwise.
Note that once a new Tonido server information is added, it will take few seconds for Tonidofox icon to change color because of the periodic checks.
When a message or a invite is received by the Tonido server being monitored by Tonidofox, the Tonidofox icon will change color to indicate that notification is available. Left clicking on the icon will show additional information.
Tonidofox also supports updates and any new updates to Tonidofox can be easily applied using Firefox’s add on update mechanism. We hope to provide powerful features at regular intervals to enhance the Tonido experiance.
Interested ? You can download Tonidofox here
We have gone through a requirement process to identify the key requirements of an issue tracking system for our personal, p2p application platform -Tonido. Our requirements are pretty generic except that we want to use it as our help desk system and also we want superior email support capabilities. We have evaluated three open source issue tracking systems : Bugzilla, Mantis and Request Tracker. Finally we have chose RT for its superior email functionalities. This requirements will be useful for other tech startups too. That is the reason for this post.
- Accessibility: Web, email and command line interface
- Ease of use, Multi user capabilities
- Track changes to ticket – Ticket history
- Nice professional user interface in case if we open our ticket system to outside public
- Customizable work flow
- Integration with existing tools – subversion, Hudson
- Ticket Dependency Support
- Create tickets through emails
- Fits both internal software bug tracking and for external product support
- Reply tickets and send notifications through emails
- Adding Custom Fields
- Public / Private Access
- Canned Replies or templates
- Free and open source
So far, We are happy with the selection of Request Tracker. One minor caveat though… it will be nice if the search interfaces are little simple. Hopefully We will get improvements in forthcoming versions. Let us know your thoughts..
Do you store and share your photos online? Watch out.
“As of February 1st, 2008 the ImageStation online service is permanently closed.”
Sony ImageStation, Feb 1, 2008
“Photo site Digital Railroad derailed completely.” CNet News Oct 29, 2008
“The AOL Pictures online photo service is now closed.” AOL July 14th 2008
“Yahoo Photos going dark as Flickr shines on.” USA Today May 4th 2007
“If the amount of storage you use is equal to 2 gigabytes (GB) or less, you must make purchases totaling at least $4.99 once every 12 months. If your storage amounts to over 2 GB, you must make purchases totaling at least $19.99 once every 12 months. If you do not meet the applicable minimum purchase requirement, your photos may be deleted.” Kodak March 13, 2009
“Users of the Fotango photo-sharing website were thrown into disarray today after finding out that the company has abruptly announced that it will close down the site next month.” Photography Press June14th 2006
“On approximately September 15, 2005, the HP Photo site was permanently closed, and is no longer accessible.” Snapfish Sep 15, 2005
“Zing.com, an online photography site backed by venture capital powerhouse Kleiner Perkins Caufield & Byers, said it will shutter its consumer operations next month.” CNet News June 13, 2001
It is not just the online photo storing sites, even cloud services that offer file storage are closing down…
“Thank you for your interest in HP Upline. The HP Upline service has been discontinued as of March 31, 2009.” HP March 31, 2009
“Yahoo’s Briefcase online storage service, which soldiered on for almost 10 years with a distinctly Web 1.0 capacity of 30MB, is finally being shut down.” PC World March 30, 2009
“The Xdrive service is closed. Thank you for having been an Xdrive user.” Xdrive July 14th 2008
Does this bother you? Is your data safe and secure?
If giants such as Yahoo, HP, and Sony closed their online storage services then it is a real possibility that it can happen to any company any time.
So what can you do?
- Remember that Your data is secure and safe at no other place other than your PC.
- Create a backup plan and backup the data in your hard drive at regular intervals.
- Avoid storing sensitive data and personal photos online that you cannot afford to lose.
Hmm… But some of us want to share this data with friends and family.
Peer-to-Peer (P2P) service: With a P2P service, you can directly share your files and photos with your network of friends and family without having to upload to web or email the photos and files.
Good.. But I want to access my files and photos from anywhere.
Tonido gives you the best of both worlds. Tonido does Peer-to-Peer file and photo sharing. In addition, Tonido gives an unique benefit of accessing files, photos, music etc that reside on your PC from anywhere.