dev

I was planning to play around with Visual Studio Lightswitch for a while. Finally, I could spare some time. For me the best way of learning is by doing so before I started playing I had to imagine a project first.

To find an appropriate project of course we have analyse what Lightswitch is and is it good for: In a nutshell, Visual Studio Lightswitch is a fast and easy way to develop data-driven Line-of-Business (LOB) applications. As a developer, I am generally not very fond of such tools because they impose many limitations whereas while writing code we have unlimited freedom. But I also hate wasting time with boiler-plate code. Creating add/edit/search screens for some entities is such a trivial and boring task. Such forms should always be  generated by a tool to sustain consistency. Otherwise, especially in large applications and organizations. By the way, this reminded me the one of the worst forms I have ever seen in a Microsoft application. It’s the reporting form in Team Foundation Server 2010 as shown below. Even the tabs in the same form are inconsistent. But, I digress! Let’s move on.

TFS Reporting

For a long time I was looking for an nice open-source software to manage my movie collection. I tried a few but couldn’t exactly find what I wanted. So while trying to find a project idea I decided to create a simple movie manager application. It’s mainly data entry and search so it sounded an ideal project type for Lightswitch.

The result was amazing! Not that I created a complex and fully-functioning application but within minutes I had a simple database and two forms to enter movie and director information and a movie search form.

Movie Entry

Search Entry

The screens are customizable but the even the default templates create very satisfying results. They cover all the basic needs for data entry, validation and search. So having a such tool in my arsenal and always preferring to develop my own software instead of using someone else’s I decided to develop my movie and TV show management program with Lightswitch. Thinking this is only version 1.0, I think there’s great potential in it for there are so many applications to develop but not enough time.

hobbysecurity ispyconnect

Recently i decided to buy an surveillance camera to setup in my room. For two reasons mainly:

  1. Security: Shocking but true!
  2. Research: I always wondered how these devices operate, how they are installed what protocols they use etc.

I ordered one but the shipment never arrived. After waiting for two months, and a battle for refund i ended up where i started. (By the way, in this instance I was too cheap to shop at a company called TMart.com. I’m glad i finally could get a refund but I’m never ever going to shop there again. I strongly recommend everyone to stay away.)

In the meantime, it occurred to me that i had 2 laptops with webcams and a external USB webcam that i plug into my desktop PC. With 3 cameras i should be able to setup a small security system. So i started searching for some software to turn my cameras into a security system. Surprisingly i found an open-source one. It’s called iSpyConnect (http://www.ispyconnect.com). Better yet it’s written in C#. It supports cool features like uploading to YouTube. But most features that require server support requires a subscription. In the free version you are allowed to upload pictures via FTP to one server. But since I have the source code I’m planning to make my own changes.

So for now i have webcams and required software. I can’t use MacBook and it’s webcam since it’s not supported but I tested it with two webcams (One facing the door and the other facing the window) When it detected motion it started recording the video. Also uploaded pictures to my FTP server on the Internet. So even if the burglar notices the system and somehow manages to delete the local copy of the video feed, there’s still good evidence safe and sound out in the cloud.

I am planning to improve the system and I will be posting more details about it as I go along.

Resources

misc rss, google_reader, sqlite

I use RSS feeds extensively to follow the tech news. I love Google Reader and i’ve been using it since forever. But lately i realized that i didn’t have much experience in tweaking the settings. I didn’t feel the urge to go into settings and manage my subscriptions. Until 10 ten days ago.

I decided to eliminate some feeds because they seemed to be inactive for a long time. So i clicked on Manage subscriptions link which, by the way has a horrible place from a UI standpoint. It is not even always visible. When you hover on feeds the URL of the feed covers the button.

Google Reader

After fiddling a little with the labels, I made a horrible mistake: I selected all items and clicked Unsubscribe. As one may easily guess, it deleted all my subscriptions.

Google Reader

I had an OPML backup long ago but i don’t even know where it is now. Even if I looked for and found it would probably be out-dated beyond use. Lesson learnt: Start backing up RSS feeds regularly and automatically. While i was desperately pondering what i should do to recover my beloved little messengers, it hit me! I had an application on My iPad called Mr. Reader. It syncs with Google Reader so i also had my entire list of feeds on my iPad. I was hoping the app to support OPML exports so that everything would get back to normal in 5 minutes. Unfortunately, it didn’t! At least i was lucky that iPad was offline at the moment so it couldn’t sync and kept my feeds on the device. (Needless to say, i immediately turned off network access, quarantining my list!) I contacted the support of app’s company, which is the developer himself and he was very kind to respond quickly and offering me a few solutions. One of them was extracting the data from iPad by using a tool called JuicePhone (http://www.addpod.de/juicephone). It’s a free application. I installed it to my Mac immediately, hooked up my iPad and extracted all my data from it. Lesson learnt: Start backing up iPad regularly via JuicePhone as well as iTunes.

After a quick examination, I found out that the app is using an SQLite database to store its data. I downloaded SQLite Expert (http://www.sqliteexpert.com)

sqlite expert

It has a free version called Personal Edition and it seems to have a quite nice UI. Browsing through tables and viewing their data I felt quite relieved when I saw that the list of my feeds safe and sound.

sqlite expert

Now that I have all my feeds, I think it’s a great chance to organize and add or remove them controllably. By the way, after I completed getting my list I sent an email to the author of the app thanking and telling him that i managed to extract my data. A few days later the software updated itself mentioning some change about database. Then i added a new feed and applied the same steps above, to use if it still works, but the database seemed to be the same. I mean the app synced and deleted all my subscriptions and added the new test feed. But the list on the table is the same as before. Maybe he decided to keep its data privately somewhere else to keep it from people like me. Anyway, his advice worked out for me perfectly so I thank him again from here.