Author Archives: Rohan Kapoor

Clothing the Raspberry Pi (Or Getting the Raspberry Pi a Case)

Before I even had a Raspberry Pi, I purchased this project box from eBay hoping that from the schematic measurements of the Raspberry Pi, it would fit. When I got my Raspberry Pi on April 19th, I was much more concerned with playing with it and my upcoming AP exams than casing it. This past weekend, I pulled out the project box and began to fit the Raspberry Pi inside it.

I used an X-Acto knife to cut out the pieces of plastic from the box. The USB ports, RCA jack, and headphone jack all stick out past the sides of the box – to make them fit, I had to trim down extra material from the top of the box to allow them to slip in. The rest of the ports are flush except for the power jack and sd card slot, both of which are less than 1 inch shy of the box’s edge. For those ports that didn’t need to be cut top-down, I used the Punnet template to get the sizes of the ports down correctly. I taped it onto the project box sides and then used a drill to take out most of the holes. I then used the X-Acto knife to straighten them out.

To provide a bed for the Pi to sit on, I cut out strips from the pink piece of foam that the Pi shipped on and hotglued a small piece in each corner the Pi would touch.

Overall, I am very pleased with how my case for the Raspberry Pi came out, even though it’s not perfect by any means. I just wish their store was available again so that I could buy a couple of Raspberry Pi logo stickers for the plain box.

So far, I’ve tested it with the box closed for 3 days running as an AirPrint server (see the demo) and have not had any overheating issues. To the touch, the lid of the box is a little warm but nothing significant. I’ve included a small photo gallery for anyone interested.

Project Box (Closed)

Image 1 of 11

Demonstration: Raspberry Pi Running as an AirPrint Server

A few weeks ago, I wrote about setting up the Raspberry Pi to function as an AirPrint Server. This has the effect of allowing Apple’s ios devices to print to regular unix printers (that are accessible to CUPS) using the avahi-daemon for announcements. I’ve gotten all of this to work reliably on the Raspberry Pi and have been testing it out for the last several weeks. I know I promised a tutorial, but it has been rather slow going. The tutorial is coming soon – but today, I have a small video demonstration which shows how well this works.

The one thing I have noticed is that printing via AirPrint is a little slower than printing natively to the printer. My reasoning for that is twofold: One the limited processing power on the Raspberry Pi may be affecting the PDF rasterization time. And two, my Raspberry Pi is connected to a wireless ethernet bridge (802.11g) while the iPad is connected to the wireless access point (802.11n) so there is likely some lag caused by wireless network signals. All things considered, I am currently able to print from the iPad to my network printer (which itself is not AirPrint compatible) having spent on $35. This is the power of the Raspberry Pi!

Stay tuned for the tutorial – it’s on it’s way.

 

Raspberry Pi Working as AirPrint Server

As I just posted on Twitter, I have successfully gotten my Raspberry Pi to function as an AirPrint Server for ios devices. This allows any of the ios devices connected to my WiFi network to print to my network printers which do not support native AirPrint functionality. It was a bit convoluted to set up and did require a heavy usage of the terminal but in the end it was totally worth it! It took me about 35 minutes to setup (including the 2 minutes I spent wondering why the iPhone couldn’t find the printer before I realized the WiFi was off)!

A tutorial (with step by step instructions) and a video demonstration will be coming out on Saturday, so stay tuned!

“Americanizing” the Raspberry Pi

The Raspberry Pi is made by the Raspberry Pi Foundation, a UK charity organization. For this reason the Debian SD card image (and presumably the others) default to the English – UK locale, timezone, and keyboard layout. For those of us in America, this is clearly not going to work! Clayton Smith excellently documents the procedure for Canadian’s in this post on his blog. I followed his procedure, replacing en_CA with en_US. To make it a little easier to follow, I have turned this into a photo-tutorial using PuTTY to remotely SSH into the device from my Windows 7 running Desktop PC.

First up is logging in, which uses the username pi and password raspberry.

Next, change the system locale from en_GB.UTF-8; to en_US.UTF-8 by running the command sudo dpkg-reconfigure locales.

Use the arrow keys to move up/down and highlight options. Use the spacebar to select/deselect the options.

Press tab to select <Ok> and then press enter.

Confirm your selection.

The Raspberry Pi will now generate the selected locales.

Now, it’s time to set the keyboard layout. Run the command sudo dpkg-reconfigure keyboard-configuration.

Next, we need to set the timezone. Run the command sudo dpkg-reconfigure tzdata.

Use the up/down arrows to select the appropriate location and press enter.

Use the up/down arrows (again) to select the appropriate timezone (closest city in your timezone) and press enter.

The Raspberry Pi will acknowledge the timezone change.

Next up is to modify the Debian packages source to use the US mirror (rather than the British one). Run the command sudo vi /etc/apt/sources.list.

Change the uk to match your two digit country code (us for me).

Write the changes to disk by pressing escape and then entering :w and pressing enter.

vi (the text editor) will confirm that the changes were written to the disk.

Quit vi (the text editor) by entering :q and pressing enter.

Then, run sudo apt-get update to update the package lists with the new source.

Finally, run sudo reboot to reboot the Raspberry Pi and confirm your changes.

Congratulations, your Raspberry Pi has been “Americanized!”

Raspberry Pi – It’s Finally Here!

I first heard about the Raspberry Pi last September and was immediately excited thinking about the endless possibilities of such a device. It truly could serve as the center of many things including a small linux server, a security camera to IP Camera converter, a small television mounted media center, and even the brains behind a small robot. At a price of $25 for the Model A version and $35 for the Model B version, it certainly is much more affordable than other such boards with this level of hardware. Both variants have a Broadcom BCM2835 – Arm11 CPU running at 700 Mhz with 256 MB of RAM and a Videocore 4 GPU. The only differences between them is the inbuilt USB hub and Ethernet ports providing two USB ports and 1 Ethernet jack directly on the board (Model B). This makes the Raspberry Pi a tremendous deal at $35 (for Model B).

After several manufacturing delays, the Raspberry Pi finally went on sale on February 29th with 10,000 available to buy. At this time, it was announced that the Raspberry Pi Foundation would not be the ones selling the Raspberry Pi (as was previously announced). To ramp up production quickly, Premiere Farnell and RS Electronics would be producing, selling and distributing Raspberry Pi’s. The first 10,000 were ordered by the Foundation and would be distributed to Element14 (Premiere Farnell) and RS Electronics when they arrived. I placed my order at Newark within minutes of the announcement, as the web-servers running the respective websites of Element14 and RS Electronics crashed. I was hopeful that I might have gotten one of the first 10,000 but cautiously so. At the end of the day, it was estimated that more than 100,000 Raspberry Pi’s were preordered.

It is now clear that there are in fact more than 350,000 preorders placed for the Raspberry Pi at this time. On Monday, I received an email from Newark stating that my Raspberry Pi had been shipped and I was ecstatic to hear that I had in fact, managed to get one of the first 10,000. After obsessively checking UPS for several days, my Raspberry Pi arrived on Thursday to my utmost delight!

After unpacking the Raspberry Pi, I burned the Debian release to my 8GB SD card and connected it all up and was greeted with… nothing. I had forgotten to actually put in the SD card (oops)! After putting in the SD card, the Raspberry Pi booted up with a proper terminal.

Next step: “Americanizing” the Raspberry Pi.

See below for a series of pictures of the Raspberry Pi and my setup!

Top View

Image 1 of 12

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.