Showing posts with label Programming. Show all posts
Showing posts with label Programming. Show all posts

Thursday, February 24, 2011

[How to] Setup a Personal Project Repository for free

If you are working on an open source project, there are many places where you can host your project. Some of the popular ones are Google Code, Github, etc. Google Code includes SVN and Mercurical as SCM system. However, if you are working on a personal project and don’t want to open your code yet, there are very limited options left for you. One of the popular free hosts is Beanstalk which offers you 100 MB space, 1 user and 1 repository. Github offers private repository but its little expensive. Here is a tip for you to setup your private repository using free cloud-based file hosting services like Dropbox, SugarSync, etc. Note: I will be using SVN for explanation in this post. You can use any versioning system of your choice.

Personal Project Repository on the Cloud

Setup private repository on the cloud

  • Create your SugarSync account. Setup an account with Dropbox or SugarSync (Referral links). Dropbox offers 2 GB free storage where as SugarSync provides 5 GB and you can sync multiple folders with SugarSync. The rest of this post assumes that you have a SugarSync account and have installed SugarSync desktop application. Note: Both Dropbox and SugarSync have their in-built versioning system but you can not enjoy all the features of an SCM like branching, merging, etc.
  • Creating the repository. Create a folder named “Repositories/<your_repo_name>” within your synced folder. Then, create a SVN local repository in the same folder. You can use any of the SVN clients to do this. I have used TortoiseSVN to create repository.
  • Committing the code. Now that the local repository is ready, you can start committing the code / any file to the repository just like any other repository. The only difference will be accessing the repository via file:// protocol. As you commit the files, the repository will be synced on the cloud. It is important to understand that only the committed files will be synced on the cloud.
  • Syncing Work / Home setup. If you are working on multiple computers, you can setup SugarSync / Dropbox sync from all the machines. If you commit on one computer and then commit on another before SugarSync/ Dropbox has synced the files, you may end up with a corrupted repository. To maintain the sanity of the repository, please ensure that the files are synced before committing the files. 
  • Team Collaboration.  There are two options for you to collaborate with your team. Frist and the simplest one is to share the repository folder in Windows. Your peers can also access the shared repository via file:// protocol. The second option is to setup a local SVN server using tools like VisualSVN Server. This will help you setup a repository as well as providing HTTP access to your repository. There is also a third option but I don’t recommend using that. You can share the repository as a folder on SugarSync / Dropbox. Your peers will be able to sync the folders locally and commit the changes to their repository and it will be synced on the cloud. Be aware that using this method may corrupt your repository.

-- Varun

Sunday, February 13, 2011

Chronon – Time travelling debugger

Today I came across this cool product – Chronon and I am really impressed with its capabilities. It’s a time travelling debugger for Java programs. It records every line of code executed inside a program and saves it to a file. The recordings can be played back on the time travelling debugger. With this debugger, you can not only step back and forth but also to any point in the execution of the program. The recording of the program execution also means that you don’t have to reproduce any bugs. Chronon can be installed as an Eclipse plug-in. Try it out here.

Chronon in actionHighlights

  • Execution Path.  Once you step into a method call in debugger, the execution path of that particular call will be shown in green. It will definitely help in debugging your applications if you have lots of branches on your method.
  • Timeline.  A timeline to indicate the progress of the program execution. Using this timeline, you can not only step back and forth but also to any point in the program execution.
  • Variable History. You can track how the variable changes with time. Variable history will give you an audit trail of the variable.
  • Method History. With method history, you don’t have to use breakpoints to debug the problem. This view shows all the calls made to a method. It also tracks the parameters being passed and the return of the call. This view also provides a filter option which is much better than the “conditional breakpoints” in traditional debugger. (Impressive)
  • Threads View. You can see all the threads of the application and their execution time window.
  • Exceptions View, Stack Traces, Locals View and many more views.

More info here, here and here.

-- Varun

Sunday, September 5, 2010

This week on Twitter [Sep 05, 2010]

In an effort to make the Twitter news available on a daily basis, I have created Varunkumar Nagarajan daily based on my tweets and the tweets of people whom I follow. I will continue to post the “This week on Twitter” series here.

Science & Technology

  • Smallest Full Moon of 2010. Link.
  • TEDxAmazonia. In the middle of world’s largest rain forest. Link.
  • Eclipse day at GooglePlex 2010. Link.
  • After Apple & Google, Yahoo jumps into TV. Link.
  • Firefox 4 Beta 4 out. Link.
  • MIT testing self-assembling solar cells. Link.

Industry News

  • Kevin Rose steps down as CEO of digg. Link.
  • Google acquires Angstro to compete with Facebook. Link.
  • Google buys SocialDeck. Link.
  • Google backs out of JavaOne. Link.

Social Networks

  • Facebook testing “Subscribe” – its version of follow. Link.
  • Twitter in Real Time. Link.

Google

  • Call phones from Gmail. Link.
  • Gmail gets priority inbox. Link.
  • Blogger turned 11 and Google organized BloggerFiesta worldwide.
  • Useful Gmail shortcuts. Link.
  • Google releases Chrome 6 on its second birthday. Link.
  • Google mobile gets a cool new YouTube channel. Link.
  • Google can read SVG documents now. Link.
  • Google reader gets full screen mode. Link.

Gadgets

  • One-click rooting for Nexus One. Link.
  • Unicode fonts on Android. Link.
  • Apple Music event 2010. New iPod Touch, Nano announced. Link.
  • Official page of Samsung Galaxy Tab. Link.
  • The great big spreadsheet of all known Android devices. Link.

India

  • Landline telephone number may soon sport a 10-digit number. Link.
  • Book KSRTC bus tickets from your mobile. Link.

Programming

  • Lazy loading of JavaScript. Link.
  • Binding Python and Mozilla DOM. Link.

-- Varun

google-site-verification: googlea4d68ed16ed2eea6.html