Category Archives: Computers

Tools I Use: S3 Browser

Disclaimer: NetSDK Software provided me with a free Professional License of S3 Browser as I am a freeware developer in exchange for an unbiased review. I was going to publish a review anyway but when I was given a Professional License, I modified it to include the additional unlocked features. However, my original thoughts and feelings about S3 Browser have not changed.

With the release of Custom Paper Deployment Tool last August, my server was flooded with users trying to download it. If you have used Custom Paper Deployment Tool at all, you know that it is a fairly hefty program with more than 500 MB of required files (This is due to the 32 PDF Notepads included within). My VPS (Virtual Private Server) with 384 MB of RAM and a 100 mbps network connection was unable to cope with the stress. I was forced to restart the server once per hour and the vast majority of users were unable to successfully download the program as the Apache Web Server would cut the connection when it got overwhelmed.

Needless to say, this was not a viable solution at all! As I was searching for something cost effective with the scalability needed to handle the load spikes when many people want to download Custom Paper Deployment Tool at once, I remembered that I had been playing with Amazon’s S3 (part of the AWS platform) and that it was designed to do exactly that! After verifying that S3 would allow me to utilize Microsoft’s ClickOnce deployment technology, I next needed a way to reliably move 500 MB of data to S3 and update it as necessary.

At first, I looked at S3Fox a FireFox extension I had used back when I still used FireFox. However, I was not thrilled with the idea of firing up FireFox (in addition to Google Chrome, my daily-use browser).

This led me to look for desktop clients for Amazon S3 and the two that I tried were CloudBerry Lab’s CloudBerry Explorer for Amazon S3 & NetSDK Software’s S3 Browser. After trying out both of them, I decided to use to S3 Browser primarily because I preferred it’s user interface and it felt more comfortable to use (at least to me). I disliked Cloudberry Explorer’s dual pane approach (local and remote storage) as it led to confusion during my informal testing. S3 Browser allows me to upload the files I need to quickly, efficiently and reliably.

The freeware version allows you to transfer 2 files simultaneously to Amazon S3 while the Professional version eliminates that restriction and allows you to transfer as many files simultaneously as your internet connection will support. S3 browser easily allows the creation of new buckets and completely and simply manages your entire Amazon S3 account.

S3 Browser has been the perfect solution I have been looking for. So far, I have published several updates of Custom Paper Deployment Tool to S3 after testing them locally and each time S3 Browser has quickly and efficiently uploaded the relevant files to Amazon.

I would most definitely recommend S3 Browser to anyone who needs to quickly move files to and from Amazon S3. I have attached a comparison table showing the differences between S3 Browser’s Free and Professional versions as provided by NetSDK Software.

Provided by NetSDK Software

Video: Introduction to Custom Paper Deployment Tool

Over the last couple of hours, I put together a quick little demonstration of the functionality available in Custom Paper Deployment Tool. This video walk through will take you from starting Custom Paper Deployment Tool, to deploying Custom Paper and retrieving diagnostic information from your Livescribe Smartpen!

Livescribe, We Want The Developer’s Program Back!

As most of us know, back in July 2011, Livescribe closed their Developer’s Program citing a change in company policy aligning them with a new cloud initiative.

As of July 29th, Livescribe will close its third-party developer program. With cloud technology and mobile information access becoming increasingly important to our customers, Livescribe is realigning its focus and resources on cloud access, storage and services. Our recent introduction of Livescribe Connect, which enables customers to easily send notes and audio, as a pencast PDF, to people or destinations of their choice like Google Docs, Evernote, email, and Facebook, is an important step in this direction.

Applications in our online store will remain available for download and purchase pending compatibility with future Livescribe software updates. We will continue to accept applications submitted for publishing in our online store, as well as pattern credit requests through July 22nd. At this time, the SDKs and developer website will no longer be available. If your application is close to completion and you would like to have it posted in our store, please contact us at[email protected] for support.

We greatly appreciate the time, effort and support you have given to Livescribe and our platform over the past three years.

Thank you again for your contributions.

Sincerely,

Joyce & Michael, Livescribe Developer Programs Team

Byron Connell, Livescribe CMO

The full announcement is available on Livescribe’s website here: http://www.livescribe.com/errors/developer.html As one of the major custom paper developers, I was rather disappointed with Livescribe’s decision as Livescribe’s platform is one that I have greatly enjoyed developing for. I get between 4-5 thousand page views a month on this website and at least half of those are from people who are interested in using my custom paper products. Within the weeks that followed, I saw many, many forum posts, emails, and comments on this website all filled with one message:

I’m a new Smartpen user. Now that Livescribe’s closed the Developer Program, is it over? Am I too late to join in and use Custom Paper?

The preceding is my paraphrased version of several Private Messages sent to me through the Livescribe Forums. Unfortunately a recent forum overhaul has prevented me from accessing any of those Private Messages and I was forced to paraphrase from my memory. At first, I was forced to tell them that yes, they were too late. But that soon changed with the release of my Custom Paper Deployment Tool. Since then, I have been getting many requests from users to develop different kinds of custom paper including music staff paper and I have been forced to tell them that I cannot simply because I do not have access to any additional pattern license. I have been directing users to this thread on Livescribe’s Get Satisfaction page: http://getsatisfaction.com/livescribe/topics/tommy-1l7gjj and asking them to add their voices to the people asking Livescribe to bring the Developer’s Program back. Jeff, a member of Livescribe’s customer support team is working internally to make sure that people inside Livescribe know that we want this. If you want the Developer’s Program back, which will allow the creation of additional applications and custom paper products, please go here: http://getsatisfaction.com/livescribe/topics/tommy-1l7gjj and tell Livescribe that! The more people that voice this sentiment, the greater the chance that Livescribe will listen to us and bring back the Developer’s Program.

Custom Paper Deployment Tool Updated

Since my last release of my Custom Paper Deployment Tool (now hosted on Amazon’s S3 Platform), I have made a series of changes to the tool as I have been preparing for the next major release (available now). These changes include new features, cosmetic fixes, as well as major changes to the tool’s code to increase reliability and stability as well as increase performance while running the tool. I’ll go more in-depth about these changes below.

New Features

  • Today I am happy to announce that using the “File” –> “Open” menu options, users can manually select .afd files and deploy them using my Custom Paper Deployment Tool. Under the “Open” menu there are two options “File” and “Folder”. “File” allows users to deploy .afd files one at a time. However, if you have a directory full of files and want to install all of the .afd inside it at once, you can use the “Folder” option to select the directory with the files in it, and it will install all of them at once.
  • The “Tools” –> “Smartpen” –> “List Installed Packages” function has been enabled and is now functioning. This allows users to connect their smartpen and view a complete list of all installed packages on their smartpen. This includes all Livescribe packages as well as all custom packages.
Cosmetic Fixes
  • The bottom of the main screen now shows the current status of deployment as the tool is deploying the .afd files. Previously, it only displayed the last file deployed.
  • I noticed several minor visual issues with the interface of the spawned windows when a user selects an option under “Tools” –> “Smartpen” including button and text field placement. Basically, the text field continued on underneath the button which led to a problem when large amounts of text were placed in the field and the user was unable to scroll all the way down to view it. Those errors have been corrected.
  • I found that the check boxes required selecting the text and then selecting the check mark itself (a full two step process). This has been replaced with a single click to either the check mark or the box itself to select it, significantly decreasing the number of clicks when deploying all of the notepads.
  • I have replaced modified the “Tools” –> “Smartpen” –> “View Smartpen Data” screen to format the user set time in a human readable format. Previously, it simply provided the number of milliseconds that had passed since Unix Epoch Time (Midnight on 1/1/1970 UTC). This number is now formatted correctly to show both date and time in a way that human-readable text. I have also removed the RTC (Real Time Clock) displayed on the same screen. This shows the milliseconds that have elapsed from the smartpen’s creation. I removed this because it provided no useful information. As far as I know, it is only used to calculate the user set time.
Performance & Reliability Tweaks
  • I’ve enabled multi-threading to allow the tool to process multiple actions simultaenously which increases it’s efficiency and stability. Each window now uses it’s own thread to allow background windows to continue processing while another window is open in the foreground. This also allows the main screen to display the current status at all times, even while deploying .afd files.
  • My main reasoning for not enabling the “List Installed Packages” function in version 1.0.x.x was that it took an insanely long time to list the data (over 10 minutes) and was constantly polling the smartpen while doing so. I’ve reworked that code so that it pulls the data from the smartpen once and then parses it quickly, while displaying the results in the window. This function is now enabled.
  • Previously, Custom Paper Deployment Tool required that users connect their smartpens after starting the program though it should have found any connected smartpens as it started up. I found a bug within the initialization routine that ran that part of the program in the wrong order resulting in the bug. This has been fixed and from now on, Custom Paper Deployment Tool correctly detects smartpens that have been connected before it starts up.
  • If there are no boxes checked, the deploy button will disable itself to prevent crashing the program by attempting to deploy nonexistent notepads.
All in all, this is a very major release with a couple of new features, as well as many cosmetic and non-cosmetic bug fixes. It’s a rather hectic time for me so I’m thrilled that I was able to get this update out as quickly as I did. I’m looking forward to seeing your thoughts on the update!

Update to Problems with Downloading my Custom Paper Deployment Tool

I know there have been severe problems with DNS (provided for free by http://xname.org) as well as web server overloads so I have finally setup deployment using Amazon’s S3 service for reliability and stability. The link on the download page has been updated to reflect that change. If you have a working copy of the download, it is not required that you uninstall and reinstall using that link, but it is recommended so that you automatically get future updates.

I would also like to note that as of now: http://xname.org DNS is now back in sync with all three of their DNS servers so my domains are routing correctly now. The plan is to eventually setup cname records to push out a new update (or two) with a seamless transition for user back to the install.rohankapoor.com install domain while still hosting on Amazon’s S3 platform. This should be seamless with an estimated 3 updates to the Custom Paper Deployment Tool. If you have not downloaded the new version since I changed the url, it is recommended that you do so, so as to not miss the updates.

Problems Downloading Custom Paper Deployment Tool

Recently I’ve talked about a new tool I’ve released for Livescribe Smartpens, my Custom Paper Deployment Tool, which allows users (running Windows) to deploy any of my custom papers (and soon any other custom paper) to any Livescribe Smartpen now that the Development Program has officially ended and Livescribe will no longer support Custom Paper and third-party development.

I’ve noticed that many users are having problems connecting to the download page (http://install.rohankapoor.com) and have traced the problem with it. The DNS servers I use, run by http://xname.org are having a replication problem and the primary DNS server is serving the correct data while the secondary DNS server is serving incorrect data that is two months out of date. As far as I know, XName is aware of the problem and will hopefully have a fix soon. I’ve also noticed much higher load on my web-server as the download files are quite large and the demand is quite high.

The solution appears to be providing an alternate download location (which I will probably use Amazon’s S3 service for). Unfortunately, I am currently quite far from the my development computer and will be unable to modify the manifest file to change that location until I return. I can recommend trying to use Google’s DNS (8.8.8.8) until I am able to resolve this as it is bringing more accurate results. I apologize for the delay.

Announcement: Custom Paper Deployment Tool

With the end of Livescribe’s Development Program, it is no longer possible for end users (or even developers) to download the SDK and deploy any of the numerous Custom Paper Products made by developers such as myself (among others). For a while now, I have been discussing the possibility of Livescribe creating and releasing a tool that installs third party Custom Paper Products to their smartpens. For various reasons, none of which will be discussed here, Livescribe did not release such a tool. I have been toying with the idea of building one myself for the last year, however I have not done so assuming that Livescribe will at some point do so. At this point, with Livescribe closing their Developer Program, it is obvious that they will not be releasing such a tool now.

The other reason I was hesitating with building this tool was that it would be coded in C# which I have had zero experience coding in before. I’m primarily a Java programmer with experience with both C++ and PHP (all of which use very similar syntax). Seeing no tool forthcoming from Livescribe and not wanting Custom Paper Products to be a product of the past (no pun intended), I finally dove right into it! I During this process, I learned that C# is nowhere near as complicated as I feared and most of the Syntax still applies from C++. With minimal googling, I was able to build a fully functional Custom Paper Deployment Tool using Microsoft Visual Studio 2010 as my Integrated Development Environment (IDE).

Please note that the Custom Paper Deployment Tool is not supported by Livescribe in any way, shape or form. As the Developer Program has ended, this tool is not associated with it at all. There is no warranty (either explicit or implicit) on the tool. I do not take any responsibility if anything adverse were to happen to your smartpen because of my tool. By going to the bottom of the page and clicking-through to the installer page, you agree to the terms and conditions listed above.  This tool is available freely to all users by following the download link at the bottom of the page.

You can download the current version (1.0.0.13) from the Custom Paper Deployment Tool homepage. Further information regarding Custom Paper Deployment Tool is available there. Along with the Custom Paper Deployment Tool, I am today releasing eight 150 page Lab Notebooks along with eight 25 page Unlined Notepads. Simultaneously, I have increased the number of all notepads to eight of each type. Stay tuned for their individual release pages coming up along with individual download links. The download for Custom Paper Deployment Tool includes all of the files needed to deploy and print all 32 of these Notepads so there is no need to download them individually anymore! As with all of my Livescribe related downloads, Custom Paper Deployment Tool is compatible with both Echo and Pulse Smartpens.

One Year of Using Dropbox

In January 2010, I switched to a three computer system: my desktop (custom built) which remained at my desk at home, my laptop (an older HP Compaq Presario V2000 AMD model) which I used around the house when I wasn’t at my desk, and my new netbook (an MSI Wind U110 ECO) which was to go with me everywhere. With such distributed computing, I needed some way of keeping files in sync across computers and easily accessible to me wherever I was. I had done some research on this several years before as I wanted an easy way to access my files from the internet in case I forgot something important and didn’t have the latest copy on a flash drive. At that time, I had looked into Office Live Workspace Beta which was almost exactly what I wanted, except for the fact that it only allowed me to access Microsoft Office files. This time, my requirements were somewhat more complicated: I needed the files to synchronize across all of my computers, I needed access to the files from anywhere with an internet connection, I needed to store whatever files I wanted to there, I needed security, and I needed reliability. Additionally, I wanted a free service, if at all possible, with as much free space as I needed. I did not have a hard number for the amount of space I needed to synchronize. After looking over reviews and articles in regards to cloud storage it became apparent to me that Dropbox was the only option.

Dropbox uses Amazon’s S3 for storage. Amazon’s S3 service states 99.999999999% or 99.99% reliability on its storage backend (depending on whether reduced redundancy or normal redundancy storage is purchased). With Dropbox using Amazon’s S3, data reliability was not a concern to me. Dropbox states that all files are transmitted to their servers in an encrypted form and remain that way till they are back on one of the owner’s computers. They also say that additional layers of security can be achieved by using Truecrypt or another volume encryption software to hold all the data within secure file volumes. For my purposes the SSL transfer between my computers and Dropbox is good enough security for me. My netbook (which is my only computer that leaves the house) is fully encrypted with Windows 7 Bitlocker and so I believe my data is reasonably secure.

Dropbox is primarily a file synchronizing service and synchronization of files is done exceptionally well. I am very grateful that it keeps all conflicted files, allowing me to figure out which file got saved at the wrong time (This is critical when used with Microsoft Outlook). It syncs quickly, changing only the changed bytes of the files rather than synchronizing the whole file again. I’ll explain why this useful to me a little later on as I explain several of my specific Dropbox uses. Dropbox also has a full web interface with access to upload and download any files from any device with an internet browser. For me this is a perfect “last resort,” in case I forget my netbook, its battery gets drained or something worse happens to it. By keeping copies of all files within the cloud, Dropbox doesn’t have to wait for me to have all of my computers on to sync the files, as each one turns on and off, it syncs with the storage on the web and the latest versions of my files are always there. This makes the ease of access that much better, I just have to make sure that Dropbox has finished syncing before shutting down my computers or putting them to sleep.

Dropbox offers a full 2 gigabytes (2 GB) of storage space for free with any sign up. They also offer 250 megabytes (250 MB) of additional space for every user that you refer to their service. The additional space gained from referrals is doubled for those who have .edu email addresses. Recently, they also offered a scavenger-hunt promotion called Dropquest where they gave users another full gigabyte (1 GB). They also give 128 megabytes (128 MB) each for connecting your Dropbox account to Facebook and Twitter and posting about it there. See this page for more details. Currently I have 9.5 gigabytes of free Dropbox storage space of which I am using 39.6%.

It is clear that I am very happy with the service that Dropbox provides. It fits my file synchronization needs perfectly. In the last year, I can remember two instances when Dropbox was offline and both were rather short periods (several hours maximum) of time that therefore didn’t affect me very much. I have been able to depend on Dropbox to have my files where I need them, wherever I need them and so far it hasn’t failed me.

I use Dropbox to synchronize many different types of files for an equally diverse number of purposes. First I have the usual smattering of Microsoft Office documents, spreadsheets, and presentations. For my school work, I have hundreds of these documents, all sorted nicely into a folder hierarchy under my main Dropbox folder. I also have a large quantity of Adobe PDF files. These are scanned notes from before I started using my smartpen and my netbook all the time for all notes. Most of these PDF files are organized and in the same hierarchy, however due to their sheer volume, many of them have not been sorted, split up and filed yet. Those files also live in a “to be sorted” folder within my Dropbox folder so that when I have a few moments of time, I can quickly sort another couple of files. I am a big user of Microsoft OneNote. I use it exclusively for most of my classes and I use it for other notes as well. I have nearly 10 actively used OneNote notebooks and all of them live within my Dropbox folder hierarchy. What’s exceptionally nice about using OneNote for this is that it automatically saves every few seconds while I am working. This means that if for any reason something were to go wrong with my computer while I was working in class, I would lose no more than one minute’s notes as they are constantly being synched to Dropbox.

One of the more complicated files to synchronize via Dropbox is my Outlook.pst file. My email, contacts, and calendar are all managed by Google Apps for My Domain and while I love Google Apps, there are places where I go that there is limited Wi-Fi and the offline versions of Google Apps just don’t cut it for me. I use Google’s synchronization tools to keep my calendar in sync with Microsoft Outlook. Email works natively over the imap protocol. Contacts are synched as well using a tool called GoContactSync. All three of these are synched wirelessly from my Google Apps account to my Windows Mobile 6.5 running Sony Ericsson XPERIA X1 as well as my Barnes & Noble NookColor. The one thing missing here is tasks. I’ve tried using Google’s calendar based task system but it was not robust enough for me. One thing that I absolutely require for tasks is categories. Google Calendar Tasks have no support for categories, nor is there a free way to sync them with Outlook and Windows Mobile. To keep tasks in sync between my various computers, the only solution that worked simply for me was simply putting the whole Outlook.pst file in Dropbox and letting it sync it. The first time it took a little longer (because of how large my PST file is) and Outlook had to be manually told where I moved it. However, I have had zero problems with this approach as long as I close Outlook and wait for it to fully sync out before switching computers. Failing to do so results in lots of duplicate copies of Outlook.pst because every little change I make in Outlook causes it to write to the PST file. With Dropbox, however, this is not very bad as a quick look at the tray icon tells me exactly what files in the Dropbox folder are still being accessed. I should add that I’m not syncing my larger than 2 gigabytes (2+ GB) email archive PST files. I am simply syncing the Outlook.pst file. Because I use imap, I let each computer keep its own Outlook email archive in sync on its own. The problem with synchronizing the Outlook.pst file is that it doesn’t always gracefully close. I normally close Microsoft Outlook, wait for Dropbox to sync and then put my computer to sleep. I then switch computers, keep working in Outlook and then repeat those steps when I’m switching computers again. Sometimes however, as soon as Windows resumes from sleep, a background process attempts to access Outlook.pst which is out of date as the latest version hasn’t been downloaded by Dropbox yet. This creates a conflicted Outlook.pst file as Dropbox downloads the real one and renames the conflict with a timestamp. What’s nice is that on the off chance that the synced copy is the wrong one; I can quickly delete it and rename the conflict to take its place.

I use a Livescribe Echo Smartpen which uses the proprietary application called Livescribe Desktop to synchronize data with a PC. The data is kept in a proprietary format in a folder tree in the Application Data (or AppData for Windows Vista & Windows 7 users) folder. Once I finish using a physical notebook or notepad with my Smartpen, I archive the data off of the pen to the desktop application and no longer carry around the full notebook with me. That means that if I need to access the data, I need to have an updated copy of my notes from Livescribe Desktop with me at all times. Dropbox doesn’t natively support syncing files outside of its folder. To get it to synchronize data from Livescribe Desktop, I had to literally move all of my Livescribe data files to the Dropbox folder and then use a form of trickery called symlinks to make Windows (and through it) Livescribe Desktop believe that the data was still there. I’ve outlined the whole process in this post. My apologies if that post appears very convoluted as there is a lot of text without pictures. Please note that I do plan to rectify that and add pictures to the tutorial with the next update of it. I also use symlinks to store my Mindjet MindManager maps folder in my Dropbox and still have MindManager’s open map dialog default to the correct folder. I have not outlined how to do so, however, if there is sufficient interest, I will write up a tutorial post for it.

This website is powered by WordPress as the backend platform on top of which plugins and themes have been layered. I like to keep backups of this website just in case something happened to the original live website. I have spent a lot of time developing content and various unique solutions and if they were to be lost, I would (naturally) be very, very upset. I use a plugin called wp Time Machine to make those backups. I have it configured to automatically generate the backup, and then push it to me via Dropbox whenever I publish a new post. Because it stores backups in Dropbox, I get the same inherent protection for my website backups as I do for any other file within my Dropbox.

All in all, Dropbox is one the best tools I began using in 2010. In the 15 months that I have been using it daily, I have had very few disconnects from their servers along with several duplicate files being created. As I said earlier, their reliability is excellent and a couple of small server disconnects isn’t going to change that. Quite honestly, the service that Dropbox provides is indispensable to me. After a year of using it, I can definitely say that I made the right choice when I chose Dropbox to provide cloud synchronization services for my files! And as I continue to use my three computer system, I will use Dropbox to synchronize my files between them!

More Lined Notepads for Livescribe?

I’ve already released 4 50 page notepads of lined notepads for Livescribe. Download: https://rohankapoor.com/projects/livescribe/lined-notepads-1-4/ . This gives a total of 200 unique printable usable pages before one has to archive to use them again. I’ve had several requests from people for more lined notepads. I have considered making them for my own use as well. I decided it would be best to take a public poll and see how many people actually would find additional lined notepads useful. If more people want them than not, I will be quite happy to create and license another 2 for now. If/when more are needed, they can be added as well. I have my original templates for the lined notepads so with a few modifications to the vector graphics files and a new paper project with the SDK, it will be fairly simple to generate the needed notepads.

My other projects for the Livescribe Smartpens are available here.

Thanks for sharing your opinion!

Do you want more lined notepads for Livescribe?

  • Yes (96%, 239 Votes)
  • No (4%, 10 Votes)

Total Voters: 249

Loading ... Loading ...

EDIT 8/22/11 @ 12:18 PM EST: The poll has been closed for a while and I have released four more notepads. All are downloadable from here: https://rohankapoor.com/projects/livescribe/custom-paper-deployment-tool/

Release: Lined Notepads for Livescribe

I just got around to uploading my lined notepads for Livescribe’s Smartpens. They are 50 pages a piece and there are four of them. The plan is to release two more of them soon. They are deployed via the standard deployment process (which I have outlined numerous times).

Instructions and Downloads are available: https://rohankapoor.com/projects/livescribe/lined-notepads-1-4/

Post a comment if you have any questions or concerns!