<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-5764703310470488152</atom:id><lastBuildDate>Fri, 18 May 2012 15:13:15 +0000</lastBuildDate><category>voip</category><category>web</category><title>Turn Geek</title><description>A Technology Blog</description><link>http://turngeek.blogspot.com/</link><managingEditor>noreply@blogger.com (Medhavi)</managingEditor><generator>Blogger</generator><openSearch:totalResults>64</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/GeekUnplugged" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="geekunplugged" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-2719151528181389666</guid><pubDate>Thu, 26 Apr 2012 21:40:00 +0000</pubDate><atom:updated>2012-04-26T14:40:11.371-07:00</atom:updated><title>How to take backups within InnoSetup</title><description>One of the important requirements for any software installer is to be able to take a backup of the system before new code is updated. Once code is updated, there must be a rollback (or uninstall procedure) as well. The installer must be able to place the code backup in a place where it can easily pick up code from when uninstalled. For software patches where several patches can be installed successively, this can get fairly complex since we only want to rollback specific code which is associated with the patch.&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Taking code backups and doing a rollback is not an inbuilt feature in InnoSetup. However, with some customization, this can be easily achieved.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To backup code, a line very similar to code installation can be created when the installer is first created. For example:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: x-small;"&gt;Source: {app}\&lt;folder-name&gt;\*; DestDir: "{#InstallHomeDir}\UnInstall\{#MyAppVersion}\Websites\&lt;folder-name&gt;"; Components: Core; Flags: {#UninstallFlags}; Check:TakeBackup;&lt;/folder-name&gt;&lt;/folder-name&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div&gt;This line is similar to a code install line, except it copies code from the application folders on &amp;nbsp;the target machine to a pre-determined backup location. So this line only fires at run-time when code is being installed. For each "Source" line in the installer for code installation, there will be a matching line for backup similar to the one above. Note that a version number is included inside the DesDir to handle multiple patch scenarios. A Check is also used to turn backups on or off.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Once the backup is done, at un-install time, you can fire the following command from within Inno Setup:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: x-small;"&gt;Exec('xcopy', ExpandConstant('"{#InstallHomeDir}\UnInstall\{#MyAppVersion}\Websites" "{app}" /f /c /v /e /r /h /y'), '',SW_SHOW, ewWaitUntilTerminated, ResultCode)&lt;/span&gt;&lt;/blockquote&gt;This will copy ALL your folders you have backed up to the {app} folder.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-2719151528181389666?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7_Axh3p5M_O0M-Oi6VNHDZfTjg4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7_Axh3p5M_O0M-Oi6VNHDZfTjg4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7_Axh3p5M_O0M-Oi6VNHDZfTjg4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7_Axh3p5M_O0M-Oi6VNHDZfTjg4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2012/04/how-to-take-backups-within-innosetup.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-8633826246622719524</guid><pubDate>Thu, 26 Apr 2012 21:29:00 +0000</pubDate><atom:updated>2012-04-26T14:29:39.059-07:00</atom:updated><title>Executing VB Scripts within Inno Setup</title><description>While InnoSetup comes with its own programming language and you can use COM or build your own DLLs to do custom tasks, one of the easiest and versatile methods that I have come across is to invoke VB Scripts from within the installer. VB Scripts provide a much more richer set of programming constructs, error handling and are much more documented than Pascal Script (Inno Setups own programming language). While VB Scripts dont come close to what can be achieved by C# or C++ program, then can be a very powerful tool given they are around on all windows systems.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is an example of how you can invoke VB Scripts from within Inno Setup:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: x-small;"&gt;CommandWithParams := ExpandConstant('{app}\validate.vbs') + ' /Ovalidate.out /D'+ ExpandConstant('{app}') + ' /P"' + DBType;&lt;/span&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: x-small;"&gt;Exec(ExpandConstant('{sys}\cscript.exe'),  CommandWithParams, ExpandConstant('{app}'), SW_HIDE, ewWaitUntilTerminated, ResultCode);&lt;/span&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-8633826246622719524?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OgsdMRrCJ7TPl5Q11L8qs15C78E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OgsdMRrCJ7TPl5Q11L8qs15C78E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/OgsdMRrCJ7TPl5Q11L8qs15C78E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OgsdMRrCJ7TPl5Q11L8qs15C78E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2012/04/executing-vb-scripts-within-inno-setup.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-503308486967131595</guid><pubDate>Thu, 26 Apr 2012 03:30:00 +0000</pubDate><atom:updated>2012-04-25T20:30:00.048-07:00</atom:updated><title>Making a Web Request within Inno Setup</title><description>Inno Setup is a very easy to use installer for Windows Software. We use it to package and deploy our ASP.NET code, releases, automatically download releases from our website, determine required patches, configure the web.config files etc. A lot of this is achieved by integrating VB Scripts inside the installer instead of writing script code inside Inno Setup. However I recently had a requirement where an external ASMX web service needed to be invoked to encrypt a password entered by the user before it. This could be achieved by using a vb script and invoke that inside the installer but using the Windows &lt;a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa384106(v=vs.85).aspx" rel="nofollow" target="_blank"&gt;WinHTTP&lt;/a&gt; inside InnoSetup was fairly easy and this was the first time I directly used COM inside Inno Setup. Here is the code:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: x-small;"&gt;WinHttpReq := CreateOleObject('WinHttp.WinHttpRequest.5.1');&lt;br /&gt;&lt;br /&gt;      WinHttpReq.Open('GET', MYURL, false);&lt;br /&gt;      WinHttpReq.Send();&lt;br /&gt;&lt;br /&gt;      if WinHttpReq.Status &amp;lt;&amp;gt; 200 then begin&lt;/span&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: x-small;"&gt;        MsgBox('Could not run service to get encrypted password.', mbError, MB_OK);&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: x-small;"&gt;      end else&lt;br /&gt;      begin&lt;br /&gt;        //MsgBox('SUCCESS', mbInformation, MB_OK);&lt;br /&gt;      end;&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: x-small;"&gt;      if Length(WinHttpReq.ResponseText) &amp;gt; 0 then begin&lt;/span&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: x-small;"&gt;        index2 := Pos('', WinHttpReq.ResponseText);&lt;/span&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: x-small;"&gt;        index1 := Pos('&lt;string xmlns="http://tempuri.org/"&gt;', WinHttpReq.ResponseText) + Length('&lt;string xmlns="http://tempuri.org/"&gt;');&lt;/string&gt;&lt;/string&gt;&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: x-small;"&gt;EncrPasswd := Copy(WinHttpReq.ResponseText,index1,index2-index1); &lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: x-small;"&gt;      end;&lt;/span&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-503308486967131595?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0ngmXMGF6aWZtO39Akyegxq6hSM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0ngmXMGF6aWZtO39Akyegxq6hSM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0ngmXMGF6aWZtO39Akyegxq6hSM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0ngmXMGF6aWZtO39Akyegxq6hSM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2012/04/making-web-request-within-inno-setup.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-5382239686021581477</guid><pubDate>Fri, 06 Apr 2012 16:49:00 +0000</pubDate><atom:updated>2012-04-06T09:49:30.534-07:00</atom:updated><title>Setting up Subversion on Windows</title><description>&lt;span class="fullpost"&gt;There are a dozen ways to set up Subversion on Windows. I have done it at least three or more time and the last two times, I noticed I used different methods. On the server I used last, I am now stuck with an extra Apache instance so I am writing this blog so that other people don't make the same mistake. In addition, once you set up SVN, you should set up nightly backups as well where the repository is backed up on an external drive. That has saved me at least once when the host Windows OS failed on us once crashing the hard disks with it. One day I know I am going to be back on this page looking through my notes setting up SVN for the fourth time.&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;In our company we use Windows predominantly as there are many more people who are familiar with managing it, backing it. There is more software which can be re-used as well inside the organization. If I used Linux, which I am obviously more familiar with in terms of using SVN or as a product development box, I am sure the installation, backup and maintenance will be a lot simpler but then I am going to be stuck with it :)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;The first step to installing SVN on Windows is to find an idle server or install one from scratch. A Windows 2008 Server, 32 bit would enough. Make sure you put on some partitions on it to store the repositories since these can become huge. I would say put 250-400 GB in a separate partition or drive and use RAID on this server. In my case when the server crashed, it took down the RAID controller with it making the hard drives unusable. So you must still do backups.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;Second step is to make sure there is no IIS running on this box, since we will use the port 80 for SVN. Also make sure other software which grinds the disk is kept to a minimum (like SQL Server etc). You will possibly install MySQL on this server if you keep reading my blog.&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;Now you can &lt;a href="http://subversion.apache.org/packages.html#windows" rel="nofollow" target="_blank"&gt;download SVN binaries&lt;/a&gt; from one of the partners - Collabnet or WANDisco. You will need to register on their site before you download the binaries and make sure you dont download a "bundle" which includes other software like Apache. We will install that separately, or at least I did. By downloading it separately, you can get the latest Apache version which will work for you. Dont try to set up SVN as a service or anything since we will be using it with Apache.&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;On my machine for example, SVN got installed at: C:\Program Files\WANdisco\Subversion. Just note down where it gets installed on your system.&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-5382239686021581477?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VJZkVg9cdjIdP5y0pRdQ-OHFCcM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VJZkVg9cdjIdP5y0pRdQ-OHFCcM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VJZkVg9cdjIdP5y0pRdQ-OHFCcM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VJZkVg9cdjIdP5y0pRdQ-OHFCcM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2012/04/setting-up-subversion-on-windows.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-406270152085793902</guid><pubDate>Thu, 05 Apr 2012 03:08:00 +0000</pubDate><atom:updated>2012-04-04T20:08:40.333-07:00</atom:updated><title>Copy Paste not working inside Windows RDP?</title><description>&lt;span class="fullpost"&gt;You know the solution to the problem! You remote into the Windows server and paste the script, excited. Then you paste it again and then one more time only to find out nothing is getting transferred. Then you go back and try it again. It is frustrating isn't it. Especially since at the same time everyone else is having no issues doing the same thing. Well, next time you face this problem, launch the Task Manager and look for a process called "rdpclip.exe"running under your user id. Kill it and then restart it using the Run prompt. Things should magically start working.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;You should know that this process only runs if someone else is logged onto your computer using remote desktop. It is a server side process. This process has some known issues as well like sometimes it can eat up too much memory and CPU. When you exit out of a remote desktop session with something stuck in your clipboard then you run the chance of confusing this process. In any case it is safe to kill at the end of the remote session before logging off.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-406270152085793902?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zr3sYi1QGyIteL7OowkfbxPduks/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zr3sYi1QGyIteL7OowkfbxPduks/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zr3sYi1QGyIteL7OowkfbxPduks/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zr3sYi1QGyIteL7OowkfbxPduks/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2012/04/copy-paste-not-working-inside-windows.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-7571963826773007509</guid><pubDate>Mon, 23 May 2011 18:21:00 +0000</pubDate><atom:updated>2011-05-23T13:02:33.973-07:00</atom:updated><title>Any craigslist applications out there for Android?</title><description>&lt;span class="fullpost"&gt;Know of any craigslist applications which allow you to post ads in addition to just alerts?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;Update: Used&amp;nbsp; the &lt;a href="https://market.android.com/details?id=bazaar.android&amp;amp;feature=search_result"&gt;Bazaar android application&lt;/a&gt; to post my ad. It worked like a charm - except two small login glitches: While logging into the application, it told me to create a Bazaar account. There are some sort of network error creating that but the app logged me in. Then to post the ad into craigslist, I got a similar error logging in. Retrying the request just worked. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-7571963826773007509?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ilWA0aUzBIgvuCokCEYctmGvdQ4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ilWA0aUzBIgvuCokCEYctmGvdQ4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ilWA0aUzBIgvuCokCEYctmGvdQ4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ilWA0aUzBIgvuCokCEYctmGvdQ4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2011/05/any-craigslist-applications-out-there.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-9041925784187961190</guid><pubDate>Mon, 23 May 2011 18:20:00 +0000</pubDate><atom:updated>2011-05-23T11:20:48.195-07:00</atom:updated><title>iPad/Android</title><description>My iPhone is now my son's property. It seems that I am no longer even allowed to keep it on my table or pocket. "You must put it on charge in the night", says my son. That is how these youngsters are. The whole of last week went into playing and downloading iPhone games. I will post the ones we found good for kids here.&lt;br /&gt;&lt;br /&gt;I did notice that even after turning off my GPS and solely using the WIFI connection, my phone was still slow. That makes me scared of upgrading it newer versions of the iPhone OS.&lt;br /&gt;&lt;br /&gt;I am also thinking of buying an iPad or Android tablet next. Anyone with kids having a better experience with Android. I know the iPad must be good, but I am hoping Android has caught up by now with applications, ease of use and speed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-9041925784187961190?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NsH93FZ1lLYSLtFm6A8ODUwlvYQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NsH93FZ1lLYSLtFm6A8ODUwlvYQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NsH93FZ1lLYSLtFm6A8ODUwlvYQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NsH93FZ1lLYSLtFm6A8ODUwlvYQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2011/05/ipadandroid.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-7388855079257620190</guid><pubDate>Wed, 11 May 2011 17:00:00 +0000</pubDate><atom:updated>2011-05-11T10:00:10.448-07:00</atom:updated><title>Finally rid of my iPhone!</title><description>&lt;span class="fullpost"&gt;I am sure lot of people must be surprised to read my post - why is this guy talking about getting rid of his iPhone. While the iPhone 3G was a great product, it turned out to be my worst buy after an year of use. Now - this doesnt apply to most people so go ahead and buy your iPhone but just DONT UPGRADE THE SOFTWARE ON IT!! This is what I did - I used to religiously apply the software updates coming from Apple for my phone on iTunes. One of these updates which installed a newer version of the OS on my Phone (I think it was OS 3.0) totally messed up my phone. After that update my phone become very unresponsive and slow. For example, on occasions when a call would come in, it would just get consumed with the ringing process. I would not even be able to slide the slider to accept the call. Eventually after incessant ringing, the call would go to voicemail. Sometimes I would get a notification that there is a voicemail and when I click on listen, I would just have to roll my eyes for a minute after which the phone application was just killed by the OS - because I guess it could be unresponsive. Web browsing, searching etc - everything became slow. I even tried to downgrade my phone but Apple didn't allow that. I guess they just don't test these upgrades well enough. Because of my contract with ATT and my switching jobs and being very busy all the time, I was not able to find a "permanent solution" to this problem. Even snapping back at the phone seemed like a risky endeavor which could cost me $200-300. Now my contract is over and I am going for an Android phone. Its going to be a 4G phone for me from HTC (HTC Inspire). It arrived yesterday and I am going to be playing with it today and rest of the week. Thank God I am out of iPhone hell!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-7388855079257620190?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MqBgr7pragsfrsTDwdDDRqhbKJA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MqBgr7pragsfrsTDwdDDRqhbKJA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MqBgr7pragsfrsTDwdDDRqhbKJA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MqBgr7pragsfrsTDwdDDRqhbKJA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2011/05/finally-rid-of-my-iphone.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-2734394735871342461</guid><pubDate>Fri, 29 Apr 2011 21:18:00 +0000</pubDate><atom:updated>2011-04-29T14:18:09.444-07:00</atom:updated><title>Screenshot software: Greenshot</title><description>&lt;span class="fullpost"&gt;If you have been spoilt by SnagIT (made by Techsmith) which is probably one of the best screenshot tool out there and are now looking for a free alternative, you may find &lt;a href="http://getgreenshot.org/downloads/"&gt;Greenshot&lt;/a&gt; to be a pretty good replacement. Greenshot lets you edit, add additional text, pointers on top of the snagged images.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-2734394735871342461?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OzdK7Z31Nzof4dgYAvMiHFt3i-w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OzdK7Z31Nzof4dgYAvMiHFt3i-w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/OzdK7Z31Nzof4dgYAvMiHFt3i-w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OzdK7Z31Nzof4dgYAvMiHFt3i-w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2011/04/screenshot-software-greenshot.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-9107180427970232163</guid><pubDate>Fri, 29 Apr 2011 21:12:00 +0000</pubDate><atom:updated>2011-04-29T14:12:15.236-07:00</atom:updated><title>How to run command on one windows PC from another</title><description>If you don't know about it yet, &lt;a href="http://192.168.0.210/wiki/index.php?title=Page_http://technet.microsoft.com/en-us/sysinternals/bb897553_PSEXEC&amp;amp;action=edit&amp;amp;redlink=1"&gt;psexec &lt;/a&gt;is a nice utility which allows you to run a windows command on one PC from another. Here is an example:&lt;br /&gt;&lt;blockquote&gt;psexec \\remote-machine C:\RunBatchFile.bat  &lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-9107180427970232163?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9kvDZ9FnTxVDNS21ncICHECujqw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9kvDZ9FnTxVDNS21ncICHECujqw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9kvDZ9FnTxVDNS21ncICHECujqw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9kvDZ9FnTxVDNS21ncICHECujqw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2011/04/how-to-run-command-on-one-windows-pc.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-1307250738858833371</guid><pubDate>Fri, 29 Apr 2011 21:07:00 +0000</pubDate><atom:updated>2011-04-29T14:07:23.020-07:00</atom:updated><title>Run a Unix command remotely from Windows</title><description>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:WordDocument&gt;   &lt;w:View&gt;Normal&lt;/w:View&gt;   &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:TrackMoves/&gt;   &lt;w:TrackFormatting/&gt;   &lt;w:PunctuationKerning/&gt;   &lt;w:ValidateAgainstSchemas/&gt;   &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:DoNotPromoteQF/&gt;   &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:Compatibility&gt;    &lt;w:BreakWrappedTables/&gt;    &lt;w:SnapToGridInCell/&gt;    &lt;w:WrapTextWithPunct/&gt;    &lt;w:UseAsianBreakRules/&gt;    &lt;w:DontGrowAutofit/&gt;    &lt;w:SplitPgBreakAndParaMark/&gt;    &lt;w:EnableOpenTypeKerning/&gt;    &lt;w:DontFlipMirrorIndents/&gt;    &lt;w:OverrideTableStyleHps/&gt;   &lt;/w:Compatibility&gt;   &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathPr&gt;    &lt;m:mathFont m:val="Cambria Math"/&gt;    &lt;m:brkBin m:val="before"/&gt;    &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;    &lt;m:smallFrac m:val="off"/&gt;    &lt;m:dispDef/&gt;    &lt;m:lMargin m:val="0"/&gt;    &lt;m:rMargin m:val="0"/&gt;    &lt;m:defJc m:val="centerGroup"/&gt;    &lt;m:wrapIndent m:val="1440"/&gt;    &lt;m:intLim m:val="subSup"/&gt;    &lt;m:naryLim m:val="undOvr"/&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"   DefSemiHidden="true" DefQFormat="false" DefPriority="99"   LatentStyleCount="267"&gt;   &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;   &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;   &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;   &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;   &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;   &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;   &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;   &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;   &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;   &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"    UnhideWhenUsed="false" Name="Table Grid"/&gt;   &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;   &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;   &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;   &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;   &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;   &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;   &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;   &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;   &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;   &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;   &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;   &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt; /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin:0in;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:10.0pt;  font-family:"Times New Roman","serif";} &lt;/style&gt; &lt;![endif]--&gt;  &lt;br /&gt;After helping a customer numerous times by diagnosing a failed cron job, I was looked up how to call the job from Windows. This turned out to be interesting given it was a command which could only be run from sudo. Here are the details:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;First you need a program called plink which is part of the putty distribution. You can download putty from&amp;nbsp; &lt;a href="http://the.earth.li/%7Esgtatham/putty/latest/x86/putty-0.60-installer.exe"&gt;http://the.earth.li/~sgtatham/putty/latest/x86/putty-0.60-installer.exe&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Create a text file with your commands somewhere on the PC. For example:&lt;/li&gt;&lt;ol&gt;&lt;li&gt;/usr/bin/sudo su - &lt;username&gt; &lt;command&gt;&lt;br /&gt;&lt;/command&gt;&lt;/username&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Either set up your path environment variable on Windows or simply go the putty install folder &lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt; (e.g C:\Program Files\Putty).&lt;span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;plink -t zz000412@PRODDOCS-VORA -m &lt;path command="" containing="" file="" to=""&gt;&lt;/path&gt;&lt;/li&gt;&lt;/ol&gt;psexec is another command to run from windows to call a script on another windows box.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-1307250738858833371?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mWrMiZS7ISoRCcSBWphz8OiQi9Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mWrMiZS7ISoRCcSBWphz8OiQi9Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mWrMiZS7ISoRCcSBWphz8OiQi9Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mWrMiZS7ISoRCcSBWphz8OiQi9Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2011/04/run-unix-command-remotely-from-windows.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-8761347723797862371</guid><pubDate>Fri, 29 Apr 2011 20:52:00 +0000</pubDate><atom:updated>2011-04-29T13:59:40.401-07:00</atom:updated><title>Mediawiki + Bugzilla + SVN + SCMBug + Tweaks = Software Manager's recipe</title><description>It was fun trying to integrate SVN, Bugzilla and Mediawiki using SCMBug and BugzillaReports. The integrated system is really an efficiency booster and considering how easy it was to set up the value/effort ratio was well worth it. I am listing the steps needed to set this system up on Windows here which makes things very interesting sometimes. Linux install is similar and simpler.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="fullpost"&gt;The first step was installing Apache, PHP and Active Perl on Windows. This is straightforward and well documented.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;Install MySQL &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;Install Bugzilla. This is straightforward as well. Bugzilla uses Perl.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;Install Mediawiki.&lt;/span&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="fullpost"&gt;Turn off caching in Mediawiki. With caching on, you get stale data on bugs which can lead you to make wrong decisions. &lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;&lt;span class="fullpost"&gt;Install the Mediawiki - &lt;a href="http://www.mediawiki.org/wiki/Extension:BugzillaReports"&gt;BugzillaReports&lt;/a&gt; Addon. This gives the ability to write short scripts in mediawiki which query bugzilla and present data on a web page as a reports. This itself takes you from zero to fifty.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;Set up backup scripts for MySQL. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;Install SVN&lt;/span&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="fullpost"&gt;&lt;a href="http://www.collab.net/downloads/subversion/"&gt;Collabnet &lt;/a&gt;worked out pretty well.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;Set up Backup scripts for SVN&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;&lt;span class="fullpost"&gt;Create custom fields in Bugzilla for recording code change list&lt;/span&gt;&lt;span class="fullpost"&gt; &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;Install SCMBug&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;Customize code in SCMBug. This will help:&lt;/span&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="fullpost"&gt;Format the regular expression for parsing out the bug ID from the comments.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;Change code to post changes to custom field instead of comments. SCMBug by default posts changes to Bugzilla comments which can be very annoying to users.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-8761347723797862371?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/KUPKKtYza6L8WVAoR9z_1wAgscs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KUPKKtYza6L8WVAoR9z_1wAgscs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/KUPKKtYza6L8WVAoR9z_1wAgscs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KUPKKtYza6L8WVAoR9z_1wAgscs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2011/04/mediawiki-bugzilla-svn-scmbug-tweaks.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>5</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-8864423311753034447</guid><pubDate>Wed, 30 Jun 2010 03:26:00 +0000</pubDate><atom:updated>2010-06-29T20:26:54.949-07:00</atom:updated><title>To all the Odyssey owners</title><description>&lt;span class="fullpost"&gt;This post is for the Odyssey owners who have their AC condenser exposed to road debris.&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;Well, I may be no car mechanic, but this was easy even for me. The funny thing is that I bought a car part for my Odyssey from Home Depot and installed it using ties. Truly satisfying - the power of the Home Depot.&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;It seems this is a very common documented problem - something I knew about (the fix as well) before buying the car. Check out this website or google for the Odyssey AC compressor road debris issue - once I saw the compressor exposed below the OEM Honda Grille, I knew no one was making up stories.&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;An aluminum grille is available on Ebay for around $100, but the home depot solution was $12. Moreover in both cases, you have to use ties to secure the grille.&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;In the Home Depot solution, most people use the plastic gutter guards. I used the 1/4 inch fence net - which is just fine. With any metal net, you will need to cut it to size and make sure you wear gloves to prevent cuts. Rest is really easy. There are some instructions on these links:&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;http://townhall.edmunds.com/WebX/.f0e4807&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;http://www.carspace.com/chimrichalds/?slideshowShowThumbnails@@.59b06135!ix=12&amp;amp;lastStart=0#pix&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-8864423311753034447?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TKT4hq5_fRyaaNMVkqPwtBEFpaU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TKT4hq5_fRyaaNMVkqPwtBEFpaU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TKT4hq5_fRyaaNMVkqPwtBEFpaU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TKT4hq5_fRyaaNMVkqPwtBEFpaU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2010/06/to-all-odyssey-owners.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-4717508996073349096</guid><pubDate>Tue, 29 Jun 2010 17:37:00 +0000</pubDate><atom:updated>2010-06-29T10:55:49.298-07:00</atom:updated><title>NX client and server for RHEL</title><description>&lt;span class="fullpost"&gt;After having used numerous ssh sessions open from your windows PC to linux, you are going to appreciate the NX client and server. They are extremely fast and easy to set up. I followed the instructions on http://www.penlug.org/twiki/bin/view/Main/FreeNX for my RHEL 5 distributions.&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;Here are the quick steps. I am planning to set this up on all my boxes:&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="fullpost"&gt;Make sure what the release of RHEL or any other flavor of linux you are running is by typing the following command: cat /etc/*-release&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;Get into a temporary folder where you can download all the binaries (e.g /tmp)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="fullpost"&gt;Go to the Centos site to find the binaries for freenx, nx and expect which will work for you. After a bit of checking I found that CentOS release numbers are matched up with their RHEL counterparts, so I downloaded the packages for the CentOS 5.X releases:&lt;/span&gt;&lt;/li&gt; &lt;ul&gt;&lt;li&gt;&lt;span class="fullpost"&gt;wget http://mirror.centos.org/centos/5/extras/i386/RPMS/freenx-0.7.3-4.el5.centos.i386.rpm&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="fullpost"&gt;wget whttp://mirror.centos.org/centos/5/extras/i386/RPMS/nx-3.4.0-4.el5.centos.i386.rpm&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span class="fullpost"&gt; Now install these rpms as follows:&lt;/span&gt;&lt;/li&gt; &lt;ul&gt;&lt;li&gt;&lt;span class="fullpost"&gt;rpm -Uvh nx-3.4.0-4.el5.centos.i386.rpm&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="fullpost"&gt;rpm -Uvh freenx-0.7.3-4.el5.centos.i386.rpm&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span class="fullpost"&gt;This may tell you that you need expect. So download and install it as well&lt;/span&gt;&lt;/li&gt; &lt;ul&gt;&lt;li&gt;&lt;span class="fullpost"&gt;wget http://mirror.centos.org/centos/5/os/i386/CentOS/expect-5.43.0-5.1.i386.rpm&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="fullpost"&gt;rpm -Uvh expect-5.43.0-5.1.i386.rpm&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;&lt;span class="fullpost"&gt;You are now done with the server side. Now download the client from http://www.nomachine.com/download.php. The client requires some set up. You can pick any name for the session. If it fails to connect to the server, you need to check if you disabled encryption - it may be trying to connect to ports which are not open on your linux box. So enable encryption. Also root account works in case you have that question! Also you must remember to copy paste the client key from the server as the link above notes in the client. The windows client comes coded with some default key which doesnt work.&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;Note: The client key is located on the server at: &lt;/span&gt;&lt;br /&gt;&lt;pre&gt;/var/lib/nxserver/home/.ssh/client.id_dsa.key&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;and I found most of the other dependencies for RHEL 5 here (for some reason my yum update wouldnt work):&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;http://mirror.centos.org/centos/5/os/i386/CentOS/&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;span class="fullpost"&gt;Ciao and enjoy!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-4717508996073349096?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/elrJviBhC193psNFeP3rmhZ-4II/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/elrJviBhC193psNFeP3rmhZ-4II/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/elrJviBhC193psNFeP3rmhZ-4II/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/elrJviBhC193psNFeP3rmhZ-4II/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2010/06/nx-client-and-server-on-rhel.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-5198586559733987064</guid><pubDate>Sat, 25 Oct 2008 04:05:00 +0000</pubDate><atom:updated>2008-10-24T21:18:16.966-07:00</atom:updated><title>Lucene! O' Lucene!</title><description>Well, I recently got a chance to evaluate search platforms and it turned out to be a very interesting experience. First, the obvious choice was lets use Google - but it turned out that Google's search engine while doing a great job on the internet is one of the least equipped when it comes to enterprise search - which is more a data mining job rather than what happens on the internet - cross linking, user clicks etc. For example Google lacks faceted search - which is by far the most touted and seeming useful feature when it comes to enterprise data getting exposed on an intranet or even customers. Even the Lucene/Solr combination supports faceted search (though I have yet to try that out!)&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Search Engine integration and customization still proves  to be a specialist job though there is a lot of open source which exists in the area. If you are trying to do anything out of the ordinary (like the corner search box which does simple keyword search) or you have a large amount of data then you are in for some heavy duty $$ spending. The major players in the search space are still Autonomy, Endeca, FAST, Recommind, Exalead, Dieselpoint, Vivisimo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I did find a lot of open source which can be integrated with Lucene though: Nutch, Lingpipe, Gate and Carrot. You could do lots of nifty things with this. Also CNet and Factiva seem to use Lucene.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-5198586559733987064?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7qGwRs6FQvKZiP3MIAa8EVxisug/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7qGwRs6FQvKZiP3MIAa8EVxisug/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7qGwRs6FQvKZiP3MIAa8EVxisug/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7qGwRs6FQvKZiP3MIAa8EVxisug/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2008/10/lucene-o-lucene.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-7301895371718268212</guid><pubDate>Tue, 12 Aug 2008 15:43:00 +0000</pubDate><atom:updated>2008-08-12T08:43:50.902-07:00</atom:updated><title>Choosing between Drupal, Joomla and RoR</title><description>I recently did a quote update for myself where the three strong contenders are when building community sites today. Ruby on Rails has been in news a lot as the coolest app around, in hot demand. Rails has become almost the tool of choice for startups today trying to build something quickly without fear of it getting outdated or hard to manage when they grow. A lot of rails hosting companies have also sprung up.&lt;br /&gt;&lt;br /&gt;It may also seem that the debate between Drupal and Joomla needs to be resolved once for all. I have evaluated the two myself a few times without any conclusive results as to which one is the clear winner. I think a lot depends on what you really want to do and your goals. &lt;br /&gt;&lt;br /&gt;For example, Joomla may be the ideal choice when it comes to quickly building up a site with nice features which come integrated or are easy to find. However if you need flexibility or are not sure how the site will evolve as time goes by (in other words if you think your website may be your business next year or so), then you need to look at Drupal and RoR. Joomla may not be a wise choice, at least based on what I have read or experimented with. So if you have a bounded task at hand, Joomla is quick, simple, elegant and beautiful.&lt;br /&gt;&lt;br /&gt;If you are building a content site and have ruled out Joomla based on the above, then Drupal may be something you want to seriously look at. Though it is based on PhP, a not so hot technology, it has the bones to last you for a long time. &lt;br /&gt;&lt;br /&gt;Finally, if you have a custom application you are building from scratch (so there is no previous baggage of Java or PhP)&amp;nbsp; targeted towards consumers or a community, Ruby on Rails should be your choice.&lt;br /&gt;&lt;br /&gt;Enterprise or B2B applications may be best suited for Java and you can pick the Spring/Hibernate framework there which is probably a much more safer approach considering it is much more mature and feature rich.&lt;br /&gt;&lt;br /&gt;Finally, here is a g&lt;a href="http://www.ibm.com/developerworks/ibm/osource/implement.html"&gt;reat series of articles on Drupal&lt;/a&gt; from IBM, who picked it as their platform of choice between Joomla and RoR (though that was back in 2006)&lt;br /&gt;   &lt;div class="flockcredit" style="text-align: right; color: #CCC; font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: #999; font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-7301895371718268212?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OszYgkcnm7to5vfEdeob26IvyrQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OszYgkcnm7to5vfEdeob26IvyrQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/OszYgkcnm7to5vfEdeob26IvyrQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OszYgkcnm7to5vfEdeob26IvyrQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2008/08/choosing-between-drupal-joomla-and-ror.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-8332743676490910924</guid><pubDate>Thu, 07 Aug 2008 04:08:00 +0000</pubDate><atom:updated>2008-08-06T21:08:31.785-07:00</atom:updated><title>Rails v/s Spring v/s J2EE</title><description>Well, after having researched and played around with Rails quite a bit, I have a few conclusions I have formed. For example, if you are developing a web Software as a Service model, the best framework or language to use may be Java/Spring since it is clean and lightweight compared to J2EE for doing something much simpler than a full enterprise class application which may be best done using the latter. It is also much more mature than Ruby/Rails which may be more suitable for consumer facing or retail applications like a video sharing or social networking site. If you are starting fresh, I'd highly recommend going with Ruby/Rails to reduce the development cycles required. Other good choices would be Python/Django or just PHP if that works.&lt;br /&gt;&lt;br /&gt;While this lays down a few things regarding application development, some important decisions need to be made regarding hosting. CentOS is clearly a winner when it comes to deciding which operating system to use (most stable and free for server hosting). However I am still not clear which "cloud" provider is the best to go with. Amazon's EC2 presents some very flexible options regarding that, but it doesn't seem to come with persistent data. Amazon S3 doesn't seem like a good candidate to fill that hole since it doesn't do a good job of handling a database. There seem to be a large number of good alternatives like &lt;a href="http://www.gogrid.com"&gt;GoGrid&lt;/a&gt;, &lt;a href="http://www.joyent.com"&gt;Joyent &lt;/a&gt;etc in this space which may give a flexible hosting option (which looks more traditional than Amazon EC2) which includes a database. Check these out and do comment if you have a recommendation...&lt;br /&gt;   &lt;div class="flockcredit" style="text-align: right; color: #CCC; font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: #999; font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-8332743676490910924?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zGbG92QiauOb4UcV1UhjxHE4m7I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zGbG92QiauOb4UcV1UhjxHE4m7I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zGbG92QiauOb4UcV1UhjxHE4m7I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zGbG92QiauOb4UcV1UhjxHE4m7I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2008/08/rails-vs-spring-vs-j2ee.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-3483927455691231516</guid><pubDate>Fri, 18 Jul 2008 03:17:00 +0000</pubDate><atom:updated>2008-07-17T20:17:30.361-07:00</atom:updated><title>The Back-end Wars</title><description>While there is a war brewing up on the web front end frameworks, viz AIR, Gears, Sproutcore and Silveright, many don't realize there is a similar war brewing on the web back-end technologies as well. The developer communities are gearing up to take each other on on different aspects like ease of use, frameworks, performance, size of community etc. Here are the major contenders: &lt;br /&gt;&lt;br /&gt;1. PHP&lt;br /&gt;2. Python&lt;br /&gt;3. Ruby&lt;br /&gt;4. Groovy&lt;br /&gt;5. Perl&lt;br /&gt;6. Java&lt;br /&gt;&lt;br /&gt;All of these technologies have evolved in the past few years to come up with a lot of MVC frameworks which help clean up the code and reduce fresh development cycles needed to launch new sites. For example Symfony is the most popular framework for PHP. Django is the winner for Python. Rails is leading the path for Ruby and Grails is leading the path for Groovy (which seems to be the path Java developers may pick going forward). In Java, the Springs framework is quite popular now. Perl developers pick Catalyst a lot of times. &lt;br /&gt;&lt;br /&gt;These are too many options. So which combination is going to be the winner? My viewpoint is that this is not going to be a decision based on performance of the software as many think, but more driven by adoption. For example Python and Django have been blessed by Google App Engine. That means its a clear winner. Ruby and RoR have had tremendous success in the last few years as new developers move to Ruby in large numbers because of the language features. Groovy provides a migration path for Java developers and I think it will have its share of success as long as the bridges to existing Java code work. I really don't see much future for PHP or Perl based frameworks going forward. Among Python, Ruby and Groovy, I think Python and Ruby will continue to grow at a much larger pace than Groovy community.&lt;br /&gt;   &lt;div class="flockcredit" style="text-align: right; color: #CCC; font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: #999; font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-3483927455691231516?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kW7YADXYUHvWJKH_XcmfcQM59D0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kW7YADXYUHvWJKH_XcmfcQM59D0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kW7YADXYUHvWJKH_XcmfcQM59D0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kW7YADXYUHvWJKH_XcmfcQM59D0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2008/07/back-end-wars.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-1863940350035259455</guid><pubDate>Mon, 07 Jul 2008 04:52:00 +0000</pubDate><atom:updated>2008-07-06T21:52:12.561-07:00</atom:updated><title>Web 2.0 challenges for Ribbit</title><description>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;a href='http://www.ribbit.com'&gt;Ribbit &lt;/a&gt;is an excellent example of what kind of challenges a telecom outfit can face in the Web 2.0 world. First, Ribbit is an innovator of kinds - it is perhaps the only flash/flex based phone I have seen which claims to provide connectivity to the PSTN. I don't fully understand what architecture they currently utilize, but its quite possible that they connect RTMP protocol to their traditional network on the proprietary softswitch they have on the backend.&lt;br/&gt;&lt;br/&gt;There are several game changing plays still left when it comes to VoIP and flash, so lets summarize those before we come back to ribbit. Real time streaming using Flash today requires the Flash MX media server in the network and currently my assumption is that it doesn't support SIP (though Adobe has included support for &lt;a href='http://www.speex.org/'&gt;Speex &lt;/a&gt;- an open source free codec in the &lt;a href='http://www.flashcomguru.com/index.cfm/2008/5/15/player-10-beta-speex-p2p-rtmfp'&gt;latest version 10 of Flash&lt;/a&gt;). When Flash does support SIP, a lot of new players doing VoIP and Flash integration will jump in. Flash is a proprietary technology and there are a lot of open source versions of software which attempt to reverse engineer Flash (yes, this is completely legal it seems). &lt;a href='http://osflash.org/red5'&gt;Red5&lt;/a&gt; is the most prominent of all which intends to act as a substitute for MX server. &lt;a href='http://www.gnu.org/software/gnash/'&gt;GNU flash&lt;/a&gt; is a client side substitute for Flash runtime.&lt;br/&gt;&lt;br/&gt;I also didn't fully understand Ribbit's business model when I was on their site, but that is perhaps due to the fact that they are very different from a traditional telecom company from this perspective. A traditional telecom company sells minutes when connecting to PSTN or monthly charges for telephone numbers you can buy. Ribbit's model is a little different here and they seem to be mostly trying to sell their VoIP and web capabilities to other companies with web based products which will benefit with Voice features. Salesforce.COM is one integration they have done. One suggestion from me would be the more traditional customer support market where companies would benefit with Voice support to improve post sales communications with customers. On the consumer side, Ribbit's model is not clear and I am quite surprised they don't have the valley approved "Ad Model" worked out yet for that ;)&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-1863940350035259455?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qA-UJb5Dr-gz43Ct0RSi5sVSNIc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qA-UJb5Dr-gz43Ct0RSi5sVSNIc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qA-UJb5Dr-gz43Ct0RSi5sVSNIc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qA-UJb5Dr-gz43Ct0RSi5sVSNIc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2008/07/web-20-challenges-for-ribbit.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-7135494197853677542</guid><pubDate>Mon, 23 Jun 2008 20:15:00 +0000</pubDate><atom:updated>2008-06-23T13:15:56.750-07:00</atom:updated><title>The Zimbra for Mobile: Funambol</title><description>&lt;a href="http://www.funambol.com"&gt;Funambol &lt;/a&gt;has an open source approach to Mobile Email and Mobile Sync. Some say that &lt;a href="http://www.linuxdevices.com/news/NS9595069286.html"&gt;Funambol is out to take out RIM&lt;/a&gt;. They have a model similar to what I saw last with SugarCRM - free for Enterprise IT users or personal sync and you can buy the enterprise edition. I think that is a good model and the space needs a competitor as well. The software appears to be licensed under the AGPL, again I have seen that after a while. For those not familiar with &lt;a href="http://en.wikipedia.org/wiki/Affero_General_Public_License"&gt;AGPL&lt;/a&gt; (Affero GPL), it is a stricter form of traditional GPL license in that you cannot even host it w/o disclosing source code.&lt;br /&gt;   &lt;div class="flockcredit" style="text-align: right; color: #CCC; font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: #999; font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-7135494197853677542?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/FbUzxhZcZCS_iLiFekB0ECsVykI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FbUzxhZcZCS_iLiFekB0ECsVykI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/FbUzxhZcZCS_iLiFekB0ECsVykI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FbUzxhZcZCS_iLiFekB0ECsVykI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2008/06/zimbra-for-mobile-funambol.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-4175313670746474196</guid><pubDate>Mon, 23 Jun 2008 19:14:00 +0000</pubDate><atom:updated>2008-06-23T12:14:23.981-07:00</atom:updated><title>Wix and Sprout: Online Flash Editors</title><description>If the thought of having to learn flash to make the delightful widgets and apps ever occurred to you, then here are two tools for you: &lt;a href="http://www.wix.com/"&gt;Wix &lt;/a&gt;and &lt;a href="http://sproutbuilder.com/"&gt;Sprout&lt;/a&gt;. I tried Sprout myself and it was extremely easy to use (I am still waiting for a Wix Invite). Sprout's focus seems to be the creation of widgets - small pockets of content with rich media you can put on your blogs or websites to promote anything you want or tell people about yourself (the new jazzed up way against the old boring image of yourself). Wix on the other hand is more focused on building a full website.&lt;br /&gt;&lt;br /&gt;Other differences include the fact that Sprout is on the West Coast (and Hawaii) and Wix is in NY and the former is kind of ahead in that it recently got its Series A with Polaris ($5M).&lt;br /&gt;   &lt;div class="flockcredit" style="text-align: right; color: #CCC; font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: #999; font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-4175313670746474196?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NTtXxMQemNuX0_CbevzuoUHtD34/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NTtXxMQemNuX0_CbevzuoUHtD34/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NTtXxMQemNuX0_CbevzuoUHtD34/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NTtXxMQemNuX0_CbevzuoUHtD34/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2008/06/wix-and-sprout-online-flash-editors.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-9065353372381747295</guid><pubDate>Wed, 14 May 2008 13:39:00 +0000</pubDate><atom:updated>2008-05-14T06:51:04.021-07:00</atom:updated><title>Linux on everything</title><description>Here is a company I came across who provide linux porting on various devices and what I found interesting was the home page which was on wordpress with some default layout. That's geeky. But it was nice and warm. I quickly bounced from their site to another interesting company: Jumpbox which is again into some interesting things. Simple, but interesting. A Jumpbox is basically software which runs on virtual servers (and they restrict it only to virtual servers) and it provides a kind of starter toolkit for typical applications like joomla, crm (mostly open source apps) etc. Its great for enterprises, but I am not sure how they manage to keep the IT guy away. Eventually to manage even a website - to configure any opensource app to run properly you need a geek or you better be one. Most open source apps are easy to install at a certain level of geekness ;) I mean they are not hard. I have found most of the systems they are talking about there relatively easy to install without knowing any details about the systems. Maybe I need to learn more. I think one of the more interesting things Jumpbox does is the subscription. Even with that I still don't know why I don't need the IT guy. And if I have one, why do I need Jumpbox? It seems like a small delta. Need to understand it better...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-9065353372381747295?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QqQXmyoJV5VbgZoozQofRJoiMuM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QqQXmyoJV5VbgZoozQofRJoiMuM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QqQXmyoJV5VbgZoozQofRJoiMuM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QqQXmyoJV5VbgZoozQofRJoiMuM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2008/05/linux-on-everything.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-4669542578614087178</guid><pubDate>Sat, 03 May 2008 04:05:00 +0000</pubDate><atom:updated>2008-05-02T21:10:32.488-07:00</atom:updated><title>Evaluating Hosting Providers</title><description>Our next phase of network evolution is finally here which means I am evaluating a bunch of hosting providers for the services they provide and hope to share some information soon on different parameters like: (a) Where are the NOCs and why that is important for you (b) Availability of High Availability options (c) Cost etc. The providers I am looking at are: hostway, rackspace, servepath, theplanet, logicworks and godaddy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-4669542578614087178?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9xqoQhh04zcaI1MZdmgfDjHvht8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9xqoQhh04zcaI1MZdmgfDjHvht8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9xqoQhh04zcaI1MZdmgfDjHvht8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9xqoQhh04zcaI1MZdmgfDjHvht8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2008/05/evaluating-hosting-providers.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-6253103164184370514</guid><pubDate>Sat, 03 May 2008 03:57:00 +0000</pubDate><atom:updated>2008-05-02T21:01:03.718-07:00</atom:updated><title>Replicating MySQL over the WAN</title><description>I am researching how practical it is to do real-time replication of a MySQL database over a WAN SSH tunnel. What are the constraints caused by bandwidth, MySQL *blocking* bugs (apparently there are a few out there in older versions of MySQL such as 4.x) and how real-time is the real-time replication. How well does a Master/Slave or a Master/Master MySQL system work in this case?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-6253103164184370514?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/G1WGDjSBRm2qkLhAODQNkHfhU9Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/G1WGDjSBRm2qkLhAODQNkHfhU9Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/G1WGDjSBRm2qkLhAODQNkHfhU9Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/G1WGDjSBRm2qkLhAODQNkHfhU9Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2008/05/replicating-mysql-over-wan.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5764703310470488152.post-2969638277082180894</guid><pubDate>Tue, 22 Apr 2008 05:00:00 +0000</pubDate><atom:updated>2008-04-21T22:17:26.323-07:00</atom:updated><title>Challenges in peering a P2P SIP Network with a traditional SIP Network</title><description>There are considerable challenges in peering a P2P SIP Network with a traditional SIP Network and this goes back to why SBCs exist really for peering. For example, authentication, policy enforcement, billing, accounting and media path steering are few of the functions performed by the SBCs and most of these only work when SBCs are used for peering with other SBCs!&lt;br /&gt;&lt;br /&gt;For example the SBC needs to authenticate calls coming from the P2P SIP Network at both the signaling and media level. Several methods may be used here: (i) A certificate mechanism may be employed between the P2P SIP endpoints and the SBC. However this may soon become unmanageable since the SBC will need to authenticate a lot of certificates on a lot of connections, each belonging to a unique P2P node. However it is within the realm of possibilities (ii) A SIP proxy may be used as a fixed peering point between the P2P SIP network and the SBC. The SBC can indirectly trust all media associated with calls exchanged with the trusted SIP proxy. This avoids having to aggregate media which can introduce unnecessary relaying. &lt;br /&gt;&lt;br /&gt;Hung calls may also result in the system when the P2P SIP nodes dies or suddenly becomes unreachable. SIP Session timers must be used to detect these calls and the SBC must implement and enforce these timers.&lt;br /&gt;&lt;br /&gt;All calls from the P2P SIP Network passed on to the SBC must also be authenticated and accounted since the SBC lies in a different administrative domain. What if the node is authentic (has the right certificate for example), but is not allowed to make calls since the bill has not been paid? It seems that the aggregate SIP Proxy is the best foot forward. This proxy will need to make sure the call is accounted for and the endpoint is authenticated in the P2P SIP domain itself.&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5764703310470488152-2969638277082180894?l=turngeek.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/byb7YBtaKrCjLQzFfyXXeYC7yRc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/byb7YBtaKrCjLQzFfyXXeYC7yRc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/byb7YBtaKrCjLQzFfyXXeYC7yRc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/byb7YBtaKrCjLQzFfyXXeYC7yRc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://turngeek.blogspot.com/2008/04/challenges-in-peering-p2p-sip-network.html</link><author>noreply@blogger.com (Medhavi)</author><thr:total>0</thr:total></item></channel></rss>

