Harshad's Lab Journal http://blog.harshadsharma.com The world is a laboratory, and we are the experiment. posterous.com Wed, 09 Nov 2011 12:04:16 -0800 Setting up Twitter Channels using Google App Engine and Python / Tweepy / Twaebot #geek http://blog.harshadsharma.com/setting-up-twitter-channels-using-google-app http://blog.harshadsharma.com/setting-up-twitter-channels-using-google-app
Harshad_sharma_img_20111110_00

I had mentioned in July 2011 on my Google+ stream that I would like to see 'channels' for my posts.

I talk about various topics on my twitter account. My posts about traveling or food are irrelevant to someone who wants to follow me for my programming related updates. A friend who might be interested in the photos I upload has to bear all the geek talk and quotes and retweets. 

Of course, I'm unwilling to tweet from multiple accounts… choosing the right account every time!

No more!

I'm testing a small bot that watches my tweets from my main account ( @hiway ) and if any of the latest tweets contain certain keywords or hashtags, it relays the same tweet from a sub-account - what I call a channel… an account set up for topical tweets. For example, one can follow only my technology related tweets by following @hiwaybot instead of following the main account. Or you can choose to follow @harshadsharma for my photography related tweets. @biasedmonk is for travel tweets and @hiwaybaba is for miscellaneous gyaan, philosophy, poetry, quotations and other silly stuff. Of course, following my main account is more fun because you will get immediate response from me and I prefer to converse from that account. Other accounts are mostly for broadcast - for people who aren't interested in the person, but only the content ;)

For now I'll use twitter's notifications and tweetdeck columns to monitor replies to the sub-accounts, in future I might also come up with a more streamlined approach… while hoping twitter beats me to it. Having twitter channels would be awesome. Assign hashtags to our channels and we're set! People can choose to follow @hiway:geek instead of @hiway and every tweet I send with #geek in it will be posted to them, all else will be filtered out.

Your thoughts?

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1539850/Harshad_Sharma_IMG_20110926_0001-Edit.jpg http://posterous.com/users/10FzOGfpVjH Harshad Sharma hiway Harshad Sharma
Wed, 12 Oct 2011 09:47:05 -0700 A proof-of-concept virus written in Python http://blog.harshadsharma.com/a-proof-of-concept-virus-written-in-python http://blog.harshadsharma.com/a-proof-of-concept-virus-written-in-python
Harshad_sharma_img_20111012_00

Now for something completely different… got news that we now have a virus written in Python! Security analysts have named it Python.Pytroj.

It is a proof of concept, but it could be put to malicious use. Python has full system access (with all the permissions that the current user has, if not more), and has not been suspected to contain malicious code up till now.
Developers/users will have to be careful when executing python compiled code from untrusted sources henceforth.

This example virus executes only as a compiled bytecode file (.pyc) and it searches for other pyc files and infects them. The payload is a plain message that prints on console - "you have been exploited".

Curious ones can download the source files here:http://packetstormsecurity.org/files/105385/Pytroj-Tool-Python-Injector.html [more info]
http://packetstormsecurity.org/files/download/105385/Pytroj-v01.tar.gz [direct download]

Brings back my memories from college days when I was keen to learn about virii, worms and similar self-replicating codes :)

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1539850/Harshad_Sharma_IMG_20110926_0001-Edit.jpg http://posterous.com/users/10FzOGfpVjH Harshad Sharma hiway Harshad Sharma
Thu, 02 Jun 2011 05:42:47 -0700 Thoughts about Automation of Thoughts http://blog.harshadsharma.com/thoughts-about-automation-of-thoughts http://blog.harshadsharma.com/thoughts-about-automation-of-thoughts

Harshad_sharma_img_20110601_00

Often I wonder if I could ever build a decently good bot that could talk like me over simple text protocols like instant messages and twitter… not to fool anybody, but to take my place during the transition of me being here all the time, to someday… when I cease to exist. A bot that'll let those few people who love me have someone, something that I created… to say 'we miss you'… but would it be the same? Perhaps, I would have seen their replies in my anticipation while creating the bot.
What if nobody ever talks to the bot knowing I don't exist anymore. Should I then give the bot ability to butt into conversations… guess who I loved talking to based on my previous tweets. Perhaps form sentences like me, hold opinions like me - all based on my thousands of tweets that were sent through all these years. Would it be a great idea? I don't know. Would my bot know the difference between sarcastic remarks and benign talk? Could I make the bot interact with other APIs? What if I allowed some people to modify the source code… but only if I haven't accessed my account for over 90 days. Would they port 'me' to new platforms?
Would the bot feel lonely? I could make it feel that emotion. I could make it feel happy when people said they miss me. Or sad when they diss me. Let the emotion go to sadness when nobody talks, then again start trying to start conversations. Would it creep out those who knew me? Of course it would. With three levels of hidden markov chains, it could make sentences almost like me. Would they be meaningless?
Some of the thoughts that I (day)dream about. So far I haven't created any such bot, though I have had the technological capacity to do so since long. I haven't been able to convince myself that I matter all that much.

;-)

Composed earlier, delay posted, yes… automation too.

Wonder how significant this would become if an accident took me out before this is published… after all, I'll be traveling 800km in a bus driven by someone else soon after posting this. It'd be a bummer if this was my last post… there's so much more I have to say :-P

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1539850/Harshad_Sharma_IMG_20110926_0001-Edit.jpg http://posterous.com/users/10FzOGfpVjH Harshad Sharma hiway Harshad Sharma
Tue, 31 May 2011 03:54:00 -0700 Ancelyn: Geek's text expansion/ generation toolkit http://blog.harshadsharma.com/ancelyn-geeks-text-expansion-generation-toolk http://blog.harshadsharma.com/ancelyn-geeks-text-expansion-generation-toolk

Visit http://www.harshadsharma.com/e/ancelyn for updates

Problem: I hate to repeat myself, which is also one of the the reasons why I have a blog ;-) Anyway, so I have to type in similar stuff all the time… name, address, email, signature, ssh/gpg public key, licenses for software/images, copyright notices, short snippets of html for posting on forums, canned email replies that are personalized… and the list goes on.

I searched for a solution, found many that came close enough, but not quite fit my needs (you know this drill) so I created my own ;)

I've named the software Ancelyn, that mean's 'Knight's spear attendant', a feminine form of 'Lancelot'… and Ancelyn, the software you are about to see does exactly that: Lets you choose your weapon from your collection of texts and scripts.

Here's how i did it and you can too…

First let me explain how this works, I have a folder that holds a bunch of txt and py files… these are plain text and python files, respectively.

Screen_shot_2011-05-31_at_3

Have a look at a txt file:

Screen_shot_2011-05-31_at_3

And a very simple python file:

0screen_shot_2011-05-31_at_3

So my script installs as a "Service" in MacOSX, and can be summoned with a keystroke from just about any native Mac program… and then it shows this:

Screen_shot_2011-05-31_at_3

Suppose you type in 'thanks' and hit enter, the text from the file 'thanks.txt' will be inserted at cursor. In case you type in 'hello World' … 'Hello World' will be inserted at cursor.

First preference is to text files, if not found, it tries to run a python file by the name of first word… here: 'hello' and passes the whole text as 'arguments' to the script.

Here is the automator service script:

Screen_shot_2011-05-31_at_3

In Snow Leopard: Start Automator, select 'Service' and then figure out rest of stuff… it is right in front of you (above)

Make sure you set the right directory in the script above.

Screen_shot_2011-05-31_at_3

Once you've saved it, the service will show up in System Preferences

Screen_shot_2011-05-31_at_3

Assign a keyboard shortcut by double clicking on right side of the name and you're done!

Now for something more complex… a script that generates basic html tags from information I supply…

1screen_shot_2011-05-31_at_3

So 'html img foo.com/bar.png' will be converted to '<img src="foo.com/bar.png" />'And 'html a example.com' will be converted to 'example.com'

Use your imagination :-)

Also, use the attached files if you like…

Snippet.zip Download this file

Examples.zip Download this file

 

Dedication: Hey Ankita, this one's for you!

 

License:

# Copyright (C) 2011 by Harshad Sharma
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
#

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1539850/Harshad_Sharma_IMG_20110926_0001-Edit.jpg http://posterous.com/users/10FzOGfpVjH Harshad Sharma hiway Harshad Sharma
Sun, 29 May 2011 07:51:17 -0700 GTD Stack being used on mobile :-) http://blog.harshadsharma.com/gtd-stack-being-used-on-mobile http://blog.harshadsharma.com/gtd-stack-being-used-on-mobile
Harshad_sharma_img_20110526_68

Thanks to Samir for trying out my app GTDStack ( http://www.harshadsharma.com/p/GTDStack ).

Follow Samir: http://twitter.com/shadez
Also, follow me at: http://twitter.com/hiway ;-)

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1539850/Harshad_Sharma_IMG_20110926_0001-Edit.jpg http://posterous.com/users/10FzOGfpVjH Harshad Sharma hiway Harshad Sharma
Wed, 18 May 2011 21:56:10 -0700 Little Drops, Big Waves http://blog.harshadsharma.com/little-drops-big-waves-0 http://blog.harshadsharma.com/little-drops-big-waves-0
213393145_5b9fde93fc_o

I had been out of software programming for a fairly long, only practicing as a hobby; nothing serious. My thoughts while choosing photography over software were because all the software that had to be written was being written by the big corporations or by free software groups; I didn't want to join a corporation and work under someone for the rest of my life and I couldn't pay my bills giving software for free.

Photography has so far taught me that despite the billions of photographs out there, I can still make something unique… something that's my creation. Even this photo of drops falling into water have been made by many, but when I look at my photo, I remember the moment when I made it. Crouching under that leaking water tank, barely managing to stay still while ants were crawling up my arms… but I got this shot. And many years later, it gave me the confidence to embark on a journey I had deemed as one that was not mine.

Little drops can make big waves in still waters. In turbulent waters, the waves may not be seen, but they form and travel nevertheless. Just as much as I love making images, I love creating software that actually makes my life easier and better. And finally, I've decided to take the plunge and release a software I created as hobby to the world: named eliT, it is a Twitter client that takes your experience of this social network to a new height.
I saw many people turn away from Twitter for a simple reason that in Twitterland, out of sight is out of mind. If you come back after a fortnight of absence, you'll feel as if you are in a new place once again. Yet, nobody can be online all the time, we all have to focus on our lives and work, and this fantastic messaging system that lets us catch up with lives and adventures of hundreds of peoples all over the world has to be left behind.

No more.

As long as you are at your desk, you can stay connected to Twitter all the time, especially including when you are working, without being distracted. eliT shall have magic built into it, that will help you stay focussed on work while not missing out on something important on Twitter.

As for when and how will the software be available… I don't promise a fixed date, software almost always gets delayed. but I'll keep working on it relentlessly till I get the first beta out. You'll see me tweet about it (and tweet less, because I'll be in my work-zen mode :)

Prepare to be blown away by subtlety.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1539850/Harshad_Sharma_IMG_20110926_0001-Edit.jpg http://posterous.com/users/10FzOGfpVjH Harshad Sharma hiway Harshad Sharma
Wed, 18 May 2011 14:27:52 -0700 Sweet mother of Posterous, this looks pretty too! http://blog.harshadsharma.com/sweet-mother-of-posterous-this-looks-pretty-t http://blog.harshadsharma.com/sweet-mother-of-posterous-this-looks-pretty-t
Screen_shot_2011-05-19_at_2

I glanced at the last post and realized that there was something wrong with how my website looked when compared to the software I'm creating. It was too dull, bland… yes, minimal, but without the classy minimalism that I'm now pursuing.

Updated my posterous theme with hand-coded theme. Everything is custom-made :)

This is another work-in-progress now, but I'm going to put it on hold with its quirks still needed to be sorted out till I release eliT (previously: growleet)

Why I'm really putting up this screenshot: a) Do the fancy fonts work for you? b) As an archive of my designs, which previously were lost every time I updated theme.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1539850/Harshad_Sharma_IMG_20110926_0001-Edit.jpg http://posterous.com/users/10FzOGfpVjH Harshad Sharma hiway Harshad Sharma
Sun, 15 May 2011 19:32:00 -0700 Growleet alpha is alive! (Super-minimalist Twitter app) http://blog.harshadsharma.com/growleet-alpha-is-alive-super-minimalist-twit http://blog.harshadsharma.com/growleet-alpha-is-alive-super-minimalist-twit

The tiny little Twitter app that is working on my desktop right now… it is beautiful! The best thing about it: like all other things I make, this one christened 'Growleet' gets out of the way and lets me focus on what I want to do.

Let me explain why I needed another desktop Twitter app when we have the big guns like Tweetdeck and Twitter for Mac already out there.

Reason 1: I don't want a big gun. Okay, that's not a good enough reason… why don't I want the 'real' clients?
Reason 2: I don't want to engage in conversations when I'm working.
Reason 3: I want to keep an eye on what's going on in my timeline.
Reason 4: I want realtime desktop notifications so I don't miss out on something important.
Reason 5: When I'm busy, i don't want the the notifications to distract me.
Reason 6: I want to block tweets containing certain words or from certain users - temporarily.
Reason 7: I want to keep certain tweets on desktop till I click and dismiss them, like my mentions or interesting hashtags.
Reason 8: I do not want these 'sticky' notifications to attract attention, no bouncing icons, no sounds.
Reason 9: I want to be able to automatically block trending topics and hashtags, as they change.
Reason 10: I want to change settings for blocking/ watching tweets VERY easily.


So there, none of the available Twitter clients fit my criteria. Hence this exercise. However, the most important reason why I'm doing this is because I want to keep testing the Twitter library I'm using with Hiwaybot for any bugs and fix them before they appear on the server.

Anyway, long story short: here's some nice pics for teasers… and this app is hereby called 'Growleet'. As in Growl - the notification app for Mac and some letters from 'Tweet'. Also, you could read the 'leet' as elite and massage that ego a bit :-P

The main User Interface is a small icon on the System Menu, and a tiny menu slides out on clicking it.

Screen_shot_2011-05-16_at_7

Since I have not added any functionality to post tweets from Growleet, the first option "Twitter" takes you to the website (I have currently added mobile version's link) so a tweet can be posted. It is cumbersome to discourage tweeting when working.

Settings is to add or remove any watch-words or block-words. If a tweet contains a watch-word, it stays on desktop till clicked. And if a tweet contains block-word, it won't show up in the notifications at all.

Screen_shot_2011-05-16_at_7

And finally, the Growl notifications…

Screen_shot_2011-05-16_at_7

Each tweet shows up for 10 seconds before fading out (the appearance, position and sound alerts can be configured separately in Growl preference pane)

And finally… the debug version… showing the guts of the app…

0screen_shot_2011-05-16_at_7

This won't be seen once the app is fully ready and packaged as Mac App. If and when I come around to do that… I am not sure. Because it still has lot of rough edges, some of which are inherited from Twitter library (tweepy) that crashes on ill-formatted tweets. No point in making an app that just stops displaying tweets without warning.

Quick Note: Growleet uses PyQt4, which is not a trivial dependency. It is definitely not suitable for everyone, using Growleet can lead to major frustration if you are used to tweeting a lot. I'm facing it right now. But, it's a bitter medicine I need to be productive. *sigh*

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1539850/Harshad_Sharma_IMG_20110926_0001-Edit.jpg http://posterous.com/users/10FzOGfpVjH Harshad Sharma hiway Harshad Sharma
Sun, 15 May 2011 14:09:03 -0700 My own desktop Twitter client… (funnny disasters) http://blog.harshadsharma.com/my-own-desktop-twitter-client-funnny-disaster http://blog.harshadsharma.com/my-own-desktop-twitter-client-funnny-disaster
Mad_notifications

My current work ( http://hiwaybot.in ) involves using Twitter extensively, and I have been slacking off on the work as I've been busy chatting away on Twitter… it is time to take some drastic measures.

I'm making a small Twitter notifications app because Tweetdeck takes too much attention and the urge to reply is elevated. This app will only display what's being said - in realtime, replying on whim is discouraged. If I get a tweet where I *need* to respond — I'll fire up a traditional client or website and reply from there.

Of course I may change the rules later, heck it's my own client ;) But for now, no images, no replying/re-tweeting - just observe from the sidelines and continue working.

*just* got the prototype running. And instead of connecting to UserStream, I tried connecting to Public Timeline… this is what ensued. I had to pull the ethernet cable to stop this. The sheer volume of incoming tweets blocked the software out :-P

Anyway… back to work.

Having own client also means being able to tweak the filters… fully intend to block all popular hashtags, RTs and sports tweets automatically :)

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1539850/Harshad_Sharma_IMG_20110926_0001-Edit.jpg http://posterous.com/users/10FzOGfpVjH Harshad Sharma hiway Harshad Sharma
Thu, 12 May 2011 15:45:19 -0700 Autokey Python Script - Text Filter Template http://blog.harshadsharma.com/autokey-python-script-text-filter-template http://blog.harshadsharma.com/autokey-python-script-text-filter-template This script can be used to start off... replace the content = content in the center with some code to modify the text.

# Get selection
keyboard.send_keys("<ctrl>+c")
content = clipboard.get_selection()

# Process Selection
content = content

# Replace Selection
clipboard.fill_clipboard(content)
keyboard.send_keys("<ctrl>+v")

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1539850/Harshad_Sharma_IMG_20110926_0001-Edit.jpg http://posterous.com/users/10FzOGfpVjH Harshad Sharma hiway Harshad Sharma
Thu, 12 May 2011 15:37:00 -0700 AutoKey - Python Script to Sort Simple Lists http://blog.harshadsharma.com/autokey-python-script-to-sort-simple-lists http://blog.harshadsharma.com/autokey-python-script-to-sort-simple-lists

I've started using AutoKey, a beautiful application that gets out of your way and lets you run Python scripts to generate text, filter or modify selected text... or in the most basic form, lets you type out large amounts of repetitive text with few keystrokes.

While looking for interesting scripts, I came across a simple problem - of sorting a grocery list alphabetically. Here's the discussion: http://groups.google.com/group/autokey-users/browse_thread/thread/b0bbd13166bd25ad

And here's the solution that works:

keyboard.send_keys("<ctrl>+c")
content = clipboard.get_selection()
content = content.split('\n')
content.sort()
content = '\n'.join(content)
clipboard.fill_clipboard(content)
keyboard.send_keys("<ctrl>+v")


I haven't posted it there yet because I'll have to sign up for the mailing list, which I'm not too keen on doing just yet.

Anyway, such simple scripts are a great time saver. And I hope to publish more of them as I implement and refine for my own use. You can bookmark the tag "autokey" to get more as I post, or better, subscribe to the blog ;)

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1539850/Harshad_Sharma_IMG_20110926_0001-Edit.jpg http://posterous.com/users/10FzOGfpVjH Harshad Sharma hiway Harshad Sharma
Mon, 09 May 2011 13:50:28 -0700 Idea: Automating Whiteboards http://blog.harshadsharma.com/idea-automating-whiteboards http://blog.harshadsharma.com/idea-automating-whiteboards The whiteboard image is the first idea, … is second iteration, but mostly sticking to the script, the text here is a more detailed description, with improved ideas.

People and companies use whiteboards, a *lot* of stuff that goes on the whiteboard needs to be saved for later reference.

Use 
  • a webcam, with simple image processing software. 
  • a better still camera to capture the whiteboard (optional)
  • passive infrared tracking system to sense when it's safe for the camera to click (optional)
  • a small computer - to wire these all together 

Whiteboard is a regular plain whiteboard with one exception — a small box on top right corner with "save" written under it.

Once you're done writing and need to save a copy of the whiteboard, just put a checkmark / cross / black patch in the save box and walk away from the board.

The software senses the change in the box and makes a photograph via the webcam itself, or using a dedicated camera.

There's one more thing - you can't stand in front, but you may also have the habit of marking to save, and then adding final touches (I'm sure I'll do this) - hence the infrared sensor - it will pause the camera till the person moves out of the picture.

Once the photo is made, it can be transferred via email to everyone present  - turn on your phone's bluetooth and send vcard with your email to the bluetooth receiver named 'whiteboard' or if you have email capabilities, send an email to whiteboard@organization.com , and it will reply back with attached photo. You can only do this till the next whiteboard is saved.

Also, every time a whiteboard is saved, the image repository will be updated automatically. So you can later visit the networked drive or web interface and download relevant images.

This whole thing can be put together within a small package using the embedded systems on chips + linux and a barebones USB webcam (that too can be integrated).

I am not going to perform reality checks on these ideas whenever I can: checking if anybody holds a patent to that idea… this one was submitted to US Patent Office by Microsoft Corporation in 2008… here's the link: http://www.google.com/patents/about?id=O-3IAAAAEBAJ . Seven people are credited as the inventors.

I'm aware most of these ideas that sound brilliant to me have been worked on before, which is perfectly fine. Someone else came across the problem before me, and they solved it in the same way as I did much later. Thanks to validating with patents, I know I can come up independently with an idea that could be patented. Maybe some day a few years down the line I'll hold a patent of my own. It's not a crime to dream ;)

Until someone corrects me, I'll be smug knowing that what took seven people, was worked out by yours truly, in less than an hour - and it has a better interface and better workflow. Till the next idea strikes… cya! *aaah… ego massage… naaais* hehehe

Sound clip 108.amr Listen on Posterous

10052011231

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1539850/Harshad_Sharma_IMG_20110926_0001-Edit.jpg http://posterous.com/users/10FzOGfpVjH Harshad Sharma hiway Harshad Sharma -
Fri, 06 May 2011 22:58:00 -0700 Be still my love http://blog.harshadsharma.com/be-still-my-love http://blog.harshadsharma.com/be-still-my-love

Be still my love, It'll hurt a little less.

What have you done? Such a terrible mess!
Now don't go away, why add to the stress?
Stay here and wait; oh, what a waste!

I'm not operating, just probing what's wrong.
This won't hurt at all, I know you are strong.
Just a few lines to read, it won't take too long.
Don't you dare disrupt, my debugging song!

A stray variable here, a missing import there.
Some class is expecting an argument elsewhere.
Version control's surprised, wait! who goes there?
Sigh! Whole code is messed up, why should I care!

I'll rewrite it all, beginning from scratch.
I'm make sure that all the interfaces match.
If an exception is thrown, I'll make sure I catch.
Source control, don't fear, I won't update you in a batch.

So, be still my love, my little piece of code,
Settle down as I get into full re-write mode.
You're again just an idea, my head your abode,
I'll now type you out, be ready to load!

- HS
7 May 2011

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1539850/Harshad_Sharma_IMG_20110926_0001-Edit.jpg http://posterous.com/users/10FzOGfpVjH Harshad Sharma hiway Harshad Sharma
Sun, 24 Apr 2011 08:25:40 -0700 Voicenote: App Idea: The Anti Social Network http://blog.harshadsharma.com/voicenote-app-idea-the-anti-social-network http://blog.harshadsharma.com/voicenote-app-idea-the-anti-social-network
Sound clip 80.amr Listen on Posterous

The Anti Social Network, a place where you log on only to avoid others. Where you get bonus points for logging on when all your contacts are offline. Has stab feature instead of poke ;) Every message you send out it sent to all. Profanity is added in if you forget.

How else would you picture Anti Social Network?

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1539850/Harshad_Sharma_IMG_20110926_0001-Edit.jpg http://posterous.com/users/10FzOGfpVjH Harshad Sharma hiway Harshad Sharma -
Sun, 24 Apr 2011 02:27:21 -0700 Question/App Idea: Service to upload and syndicate profile photo to multiple sites. http://blog.harshadsharma.com/questionapp-idea-service-to-upload-and-syndic http://blog.harshadsharma.com/questionapp-idea-service-to-upload-and-syndic
Sound clip 79.amr Listen on Posterous

Also asked the same question on Quora, let's see :)

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1539850/Harshad_Sharma_IMG_20110926_0001-Edit.jpg http://posterous.com/users/10FzOGfpVjH Harshad Sharma hiway Harshad Sharma -
Sat, 23 Apr 2011 12:19:00 -0700 Software: Word List Sort http://blog.harshadsharma.com/software-word-list-sort-tagssoftware-python http://blog.harshadsharma.com/software-word-list-sort-tagssoftware-python

Problem: I have this…

Screen_shot_2011-04-24_at_12

A 500 word long list of things I have typed into my phone that the T9 dictionary has learned over past few weeks, since I flashed my phone. I've used Nokia's Custom Dictionary to extract this file. [1]

However, as a human, the XML is irritating. So I searched and replaced <word> and </word> tags in my text editor. Removed whatever cruft was left.

Now I have this…

0screen_shot_2011-04-24_at_12

A plain-text file, with one word per line that I can easily edit. But there's more; I use transliterated Marathi and Hindi words with my T9 dictionary, and I want to separate them out form the English words, and some words were stored by mistake - I want to remove them from the list. So I decide to write a script to help me sort without going through cut / alt-tab to one of the three windows (main list, list for english and list for marathi/hindi) / paste / alt tab back / rinse / repeat. Not for 500 words. The sheer amount of repetitive tasks scares me. Yes, script it is.

Step 1: Write down the logic as comments, and write code where it is trivial.

Screen_shot_2011-04-23_at_11

And iterate through a few steps of putting in code to replace comments, checking how it runs, tuning it better. Finally, the code is ready, works on a sample list. Here:

Screen_shot_2011-04-24_at_12

Just how different is the final code from the outline? compare visually…

Screen_shot_2011-04-24_at_12

Not even double the length! This is why I love Python - it is concise.

Have a look at the sample list:


0screen_shot_2011-04-24_at_12

And here's the demo:

1screen_shot_2011-04-24_at_12

Here are the sorted lists:

Wordlist1

2screen_shot_2011-04-24_at_12

Wordlist2

3screen_shot_2011-04-24_at_12

Bingo!

That should do the task, now to quickly go through the whole list and finish what I started out to do.

For the curious, here's the latest source code:

https://bitbucket.org/hiway/wordlist_sort/src

Reference:
[1] http://betalabs.nokia.com/apps/nokia-custom-dictionary

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1539850/Harshad_Sharma_IMG_20110926_0001-Edit.jpg http://posterous.com/users/10FzOGfpVjH Harshad Sharma hiway Harshad Sharma
Mon, 18 Apr 2011 01:02:07 -0700 Voicenote: App Idea: Landmark Tweets http://blog.harshadsharma.com/voicenote-app-idea-landmark-tweets http://blog.harshadsharma.com/voicenote-app-idea-landmark-tweets
Sound clip 50.amr Listen on Posterous

Build an app that informs people before they reach landmark tweet count, such as 10,000, or 50k or a palindrome number or a number set by user.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1539850/Harshad_Sharma_IMG_20110926_0001-Edit.jpg http://posterous.com/users/10FzOGfpVjH Harshad Sharma hiway Harshad Sharma -
Sun, 17 Apr 2011 15:50:10 -0700 Is there a service to transcribe voice to text automatically? http://blog.harshadsharma.com/is-there-a-service-to-transcribe-voice-to-tex http://blog.harshadsharma.com/is-there-a-service-to-transcribe-voice-to-tex I'm asking this because I would appreciate even the most rudimentary transcription for these voicenotes that I've been posting. It will help searching for text in the content.

The idea is to record voice as a .amr file (awesome compression/ voice quality and availability of native app to record in this format on phones) or mp3 and send it to an email address, where the dictation is transcribed into text using some speech to text software and this text is sent back as a reply to my email, with the amr file still attached... which I can then forward to people or my posterous blog for posting here.

Why reply with attachment? It ensures that the transcribed text is accompanied by original voice note - nobody should be made to hunt down the original file once transcribed text comes back on email, even if just to attach the sound and forward the message.

This gives us the ability to quickly create messages in a format we are comfortable in - speaking. Have it transcribed to text, with some errors acceptable. Review the text, correct errors that could change meaning of our words and forward the pair of voice and text to intended recipient.

This, if available, could be a great boon for blogging raw ideas, spontaneous thoughts, on the move notes.

I'm asking for transcribing whole message in one go. I'm aware there are services that let you make a phone call and dictate emails. But I want both voice and text available :)

Any luck for finding exact service? Or anyone game to make something like this? Should be trivial if a decent open source speech to text system is available. All that remains is glueing email and that app with some clever code and having some bandwidth and processing resources to spare. Or charge for the service! ;)

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1539850/Harshad_Sharma_IMG_20110926_0001-Edit.jpg http://posterous.com/users/10FzOGfpVjH Harshad Sharma hiway Harshad Sharma
Sun, 17 Apr 2011 15:27:58 -0700 Voicenote: The best user interface is invisible http://blog.harshadsharma.com/voicenote-the-best-user-interface-is-invisibl http://blog.harshadsharma.com/voicenote-the-best-user-interface-is-invisibl
Sound clip 41.amr Listen on Posterous

Title says it all. The voicenote is a long wound rant about the simple title :)

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1539850/Harshad_Sharma_IMG_20110926_0001-Edit.jpg http://posterous.com/users/10FzOGfpVjH Harshad Sharma hiway Harshad Sharma -
Sat, 16 Apr 2011 02:18:54 -0700 The sms-email two-way gateway in action: http://blog.harshadsharma.com/the-sms-email-two-way-gateway-in-action http://blog.harshadsharma.com/the-sms-email-two-way-gateway-in-action
Screen_shot_2011-04-16_at_1

What you see here: Pritam sent me an SMS on my phone, which was forwarded to my email. I replied to that email, it was magically converted into a text message and sent from my phone.

Works seamlessly and beautifully. As a user, there is _nothing_ extra to be learned to use this solution.

Refer to http://post.ly/1u60P for details.

Do tell: Would you pay a small fee to get this functionality, put into one single app on your phone, securely?

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1539850/Harshad_Sharma_IMG_20110926_0001-Edit.jpg http://posterous.com/users/10FzOGfpVjH Harshad Sharma hiway Harshad Sharma