<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Disqus - Latest Comments for hkarthik</title><link>http://disqus.com/by/hkarthik/</link><description></description><atom:link href="http://disqus.com/hkarthik/comments.rss" rel="self"></atom:link><language>en</language><lastBuildDate>Thu, 03 Oct 2013 14:51:40 -0000</lastBuildDate><item><title>Re: Slow Tests are the Symptom, not the Cause - Re-factor</title><link>http://re-factor.com/blog/2013/09/27/slow-tests-are-the-symptom-not-the-cause/#comment-1069082002</link><description>&lt;p&gt;One point I would make is that args.fetch(:finds_user) { User } will allow you to use dependency injection to stub this class dependency without explicitly requiring the User class to be loaded (either via a manual 'require' or with Rails autoloading).&lt;/p&gt;&lt;p&gt;If you get serious about writing true unit tests that work without the Rails stack, then this technique is very useful.&lt;/p&gt;&lt;p&gt;EDIT: Apparently args[:finds_user] || User will also work without requiring User to be required or autoloaded. Thanks for setting me straight Oren! :)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Thu, 03 Oct 2013 14:51:40 -0000</pubDate></item><item><title>Re: Beating the Talent Crunch With a Distributed Team</title><link>http://hkarthik.me/beating-the-talent-crunch-with-a-distributed-team/#comment-393786880</link><description>&lt;p&gt;Ash and I go way back. I knew him back when he slung Visual Basic for a living and thought outsourcing to India was the wave of the future! ;)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Sat, 24 Dec 2011 15:07:36 -0000</pubDate></item><item><title>Re: Beating the Talent Crunch With a Distributed Team</title><link>http://hkarthik.me/beating-the-talent-crunch-with-a-distributed-team/#comment-385840441</link><description>&lt;p&gt;This is an area where we still struggle a bit. Visual Whiteboarding is definitely something I miss as a developer but there are some online tools that help with this.&lt;/p&gt;&lt;p&gt;For serious UX decisions, we've had our UX guy fly out to brainstorm with our founder and just do it in person. It's not always necessary, but it's the most efficient way to get things done. Three days of concentrated in person work can translate to weeks or months of work for the whole remote team. It's a small price to pay in that case.&lt;/p&gt;&lt;p&gt;We occasionally use mockup tools like Balsamiq, but mostly we rapidly prototype using actual CSS, Javascript, and HTML. I understand this may be more difficult if you're doing native desktop or mobile development.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Tue, 13 Dec 2011 14:53:09 -0000</pubDate></item><item><title>Re: Beating the Talent Crunch With a Distributed Team</title><link>http://hkarthik.me/beating-the-talent-crunch-with-a-distributed-team/#comment-385772332</link><description>&lt;p&gt;I personally think its up to the individual to squelch their chat notifications if they want heads down time and don't want to be interrupted.&lt;/p&gt;&lt;p&gt;With new team members, you have to assume they will need help and may ask a lot of questions. It's not impolite to point them to a API dock or URL if their solution is easily found via Google.&lt;/p&gt;&lt;p&gt;I agree, some individuals are more receptive to helping out than others. Thats why it's important to build camaraderie  through the chatroom and through social events/face time.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Tue, 13 Dec 2011 13:17:52 -0000</pubDate></item><item><title>Re: The vim learning curve is a myth</title><link>http://robots.thoughtbot.com/post/13164810557#comment-370833042</link><description>&lt;p&gt;As someone who avoided vi/vim all through college. I can understand being afraid of the editor.  For the better part of a decade, the only vim command I knew was ':q!'&lt;/p&gt;&lt;p&gt;But about a year ago, after watching some screencasts of Ruby code katas being done with Vim, I decided to sit down and learn it. The key for me was going through all the examples in the RSpec book, entirely using MacVim. I did it side by side while doing my normal work in TextMate so I could feel the difference. After two weeks, I ditched TextMate.&lt;/p&gt;&lt;p&gt;Now there's no way that I could go back to another editor or IDE. I'm a vimmer for life.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Wed, 23 Nov 2011 10:32:59 -0000</pubDate></item><item><title>Re: An Open Source Workflow With Ruby on Rails - Karthik Hariharan</title><link>http://hkarthik.me/an-open-source-workflow-with-ruby-on-rails/#comment-369719221</link><description>&lt;p&gt;Thanks Daniel.&lt;/p&gt;&lt;p&gt;I definitely dig the work you've done for &lt;a href="http://railsapps.github.com/" rel="nofollow noopener" target="_blank" title="http://railsapps.github.com/"&gt;http://railsapps.github.com/&lt;/a&gt; and I think it's a great set of tutorials for folks getting started with Rails and using application templates.&lt;/p&gt;&lt;p&gt;I think they're also great for studying some good practices in how to set up Rails apps as well.&lt;/p&gt;&lt;p&gt;I do think folks sometime overuse the templates though, as there is a sweet spot between using a template versus creating something from scratch and avoiding being boxed by the template's choices (like what auth framework to use, for instance).&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Mon, 21 Nov 2011 19:08:45 -0000</pubDate></item><item><title>Re: My Reasons for Leaving .NET</title><link>http://hkarthik.me/my-reasons-for-leaving-net#comment-364701506</link><description>&lt;p&gt;There are few reasons why I feel more productive with RoR. It  is an opinionated framework, but if you open your mind, accept its opinions and let it do its thing, it is fantastically powerful.&lt;/p&gt;&lt;p&gt;1) ActiveRecord is an awesome ORM, mostly because it is built in Ruby and has a rich DSL for modeling and querying data. If you embrace its opinions on your database structure, data persistence is a lot less of a headache and stays out of your way.&lt;/p&gt;&lt;p&gt;2) Data migrations are seamless in Rails. If you need to quickly add, change, or delete a column on a table, it can be done with a single command line that also creates a migration script for your db. Again, to gain the productivity you have to accept the opinions, but it's very powerful and liberating to be able to change  your database at will.&lt;/p&gt;&lt;p&gt;3) Testability is built into Ruby by default due to its dynamic nature. You don't have to jump through lots of hoops or redesign your code just to make things unit testable. That makes it easier (and faster) to write a test for something than manually click through the UI to verify a behavior. That makes you a lot faster and improves the quality of your code.&lt;/p&gt;&lt;p&gt;4) Rails has view helpers for nearly everything at the UI level. Need to capitalize something? Use the .capitalize method. Separate words? Use .humanize. Convert decimals to dollars? Use .number to currency. While these things may be trivial and easy to write in just about any other framework, not having to write and re-write them every time saves a lot of time. And there's a ton of them built into the framework and every one of them has been tested and vetted by the community.&lt;/p&gt;&lt;p&gt;5) There's a gem for nearly every problem you might encounter while building a system. Ruby has a system for managing open source libraries called 'gems'. Anyone can publish a new gem and allow anyone else to pull it in. NuGet on the .NET side was directly written in response to RubyGems. A more recent gem called Bundler manages gem dependencies and even allows you to quickly use local source code for a gem if you need to test a patch before contributing back. Or you can pull the gem into your project and modify the source directly. This is a huge time savings compared to managing binary dependencies in .NET. I haven't used NuGet, which I'm sure is great, but because it's based on binaries, it will always carry certain limitations for modifying libraries.&lt;/p&gt;&lt;p&gt;I'm barely scratching the surface of this topic, so if you want to read further and try Rails for yourself, I'd recommend checking out &lt;a href="http://railstutorial.org" rel="nofollow noopener" target="_blank" title="http://railstutorial.org"&gt;http://railstutorial.org&lt;/a&gt;. It's a good first start to the framework.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Wed, 16 Nov 2011 10:42:58 -0000</pubDate></item><item><title>Re: My Reasons for Leaving .NET</title><link>http://hkarthik.me/my-reasons-for-leaving-net#comment-364248518</link><description>&lt;p&gt;I guess that's just what frustrates me. I look at Xamarin as having more talent than some of the giants in the space (Microsoft, Oracle, HP, IBM), but they focus so much on just being "the other guy" for every platform when they seem capable of so much more.&lt;/p&gt;&lt;p&gt;I really feel that they could be the next Sun or IBM, and I really think having such a .NET focus holds them back. Again, I hope they prove me wrong in the coming future. Maybe they're hiring runtime engineers just do to that.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Tue, 15 Nov 2011 23:28:24 -0000</pubDate></item><item><title>Re: My Reasons for Leaving .NET</title><link>http://hkarthik.me/my-reasons-for-leaving-net#comment-364247557</link><description>&lt;p&gt;Thanks Jake!&lt;/p&gt;&lt;p&gt;I think the reason this has gotten so much attention is because there's a lot of developers that feel similarly about one or more parts of this post.&lt;/p&gt;&lt;p&gt;I totally agree on losing the dogmatism. Once you start focusing on creating, it changes your outlook and attitude immensely.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Tue, 15 Nov 2011 23:25:33 -0000</pubDate></item><item><title>Re: My Reasons for Leaving .NET</title><link>http://hkarthik.me/my-reasons-for-leaving-net#comment-364031838</link><description>&lt;p&gt;I have friends at Xamarin and I have the utmost respect for what they've accomplished with Mono, but I can't help feel like it's always going to be playing catch up to the primary offerings of .NET which are Windows based. If they had more creative control over where C# went as a language, I'd be more in support of using Mono.&lt;/p&gt;&lt;p&gt;I would love to see Mono break free of C# and invent their own new language with type inference and functional aspects similar to Scala while continuing to run on their Mono runtime. I know many folks had high hopes for Boo becoming this, but its not seeing enough love from Xamarin to go anywhere.&lt;/p&gt;&lt;p&gt;Lately, it seems they are focused on a nice niche around building mobile toolkits for C# devs that don't want to learn Java or Objective-C and charging a pretty penny for it. I'm sure it's very profitable for them, but I'd like to see their focus shift back to the runtime.&lt;/p&gt;&lt;p&gt;My hope is that they are building something great for Unix that they can't talk about yet. Here's hoping.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Tue, 15 Nov 2011 17:27:32 -0000</pubDate></item><item><title>Re: My Reasons for Leaving .NET</title><link>http://hkarthik.me/my-reasons-for-leaving-net#comment-364025516</link><description>&lt;p&gt;Glad you enjoyed the post, I've had many people tell me that they made the switch within the last year and it really resonated with them too. Quite a few of us .NET ex-pats out there :)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Tue, 15 Nov 2011 17:20:32 -0000</pubDate></item><item><title>Re: My Reasons for Leaving .NET</title><link>http://hkarthik.me/my-reasons-for-leaving-net#comment-363619896</link><description>&lt;p&gt;Not sure if you're being serious here or trolling, but if you see the bottom of my post I mentioned wanting to check out Scala or Clojure, both JVM languages.&lt;/p&gt;&lt;p&gt;Respectfully, I don't see how Groovy can out-Ruby Ruby.&lt;/p&gt;&lt;p&gt;There are, however, some interesting JVM languages that are gaining steam now like Clojure and Scala. As I mentioned in my post, I am interested in learning these languages.&lt;/p&gt;&lt;p&gt;I'm also aware of the Play Framework, and if I ever do anything in Scala, I'd probably build a small web app in Play. It's a very nice framework and now that Play 2.0 will make Scala first class citizen, I'm keeping a closer eye on it.&lt;/p&gt;&lt;p&gt;The founder of Groovy, James Strachan, stated that if Scala had been available in 2003, he never would have created Groovy. &lt;a href="http://en.wikipedia.org/wiki/Groovy_(programming_language)" rel="nofollow noopener" target="_blank" title="http://en.wikipedia.org/wiki/Groovy_(programming_language)"&gt;http://en.wikipedia.org/wik...&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Tue, 15 Nov 2011 08:58:18 -0000</pubDate></item><item><title>Re: My Reasons for Leaving .NET</title><link>http://hkarthik.me/my-reasons-for-leaving-net#comment-363352333</link><description>&lt;p&gt;It took me about 2 years of learning Ruby before I could finally make the jump. I still lost seniority, however, because I was at a Technical Lead level with .NET when I switched. I wouldn't have felt comfortable leading a team of RoR developers, and rightly so.&lt;/p&gt;&lt;p&gt;You must crawl before you learn to walk. &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Tue, 15 Nov 2011 00:25:54 -0000</pubDate></item><item><title>Re: My Reasons for Leaving .NET</title><link>http://hkarthik.me/my-reasons-for-leaving-net#comment-363135816</link><description>&lt;p&gt;Regarding Git, I know plenty of .NET shops that are starting to use Git, but once you see how central it is to most Rails shops, you'll see that most of these .NET shops are barely scratching the surface of what's possible with Git when your whole ecosystem has embraced it. Also, the .NET shops using git are few and far between. Most use TFS , Subversion, or something even worse.&lt;/p&gt;&lt;p&gt;Regarding startups, I agree cost is a big factor and .NET devs get paid very well. The good news is, Ruby is starting to pay very well too and I think in many cities, the pay is on par or even exceeds .NET. Either way, its better to supplement your skills with something else as well (like Native Mobile dev) so you can bring more to the table.&lt;/p&gt;&lt;p&gt;Regarding how I got the ball rolling, that's probably a story for another post. And yes, after 3 months, I'm washing my hands clean of .NET for the foreseeable future.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Mon, 14 Nov 2011 17:39:40 -0000</pubDate></item><item><title>Re: My Reasons for Leaving .NET</title><link>http://hkarthik.me/my-reasons-for-leaving-net#comment-363104071</link><description>&lt;p&gt;Excellent comment. I toyed with a couple of possible titles for this post, but one thing is that the proprietary nature of .NET tends to make it feel like a zero sum game.  For years, I identified myself solely this way so I felt the need to state that I'm distancing myself from it.&lt;/p&gt;&lt;p&gt;One of the themes of this post is around Unix based development. From that perspective, there isn't much to be gained by continuing to keep up on all the happenings in .NET, which is nearly 100% Windows focused.&lt;/p&gt;&lt;p&gt;Stating the technologies that I'd like to learn over the next few years is not about fully committing to become an expert in any of them. It's more of a statement that I don't plan on simply trading one horse for another by going from .NET to Ruby.&lt;/p&gt;&lt;p&gt;In fact I'd like to be more open to understanding the strengths of multiple technologies, and be able to use each one as I see fit to solve the problem at hand rather than continue to use the same hammer as I did when I was a .NET developer.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Mon, 14 Nov 2011 16:44:51 -0000</pubDate></item><item><title>Re: My Reasons for Leaving .NET</title><link>http://hkarthik.me/my-reasons-for-leaving-net#comment-363035601</link><description>&lt;p&gt;I spent 2 years assuming Ruby would just be another tool in the toolbox and attempted to use it that way, but I noticed I couldn't identify clearly with either group (Ruby or C#) because of the cultural differences.&lt;/p&gt;&lt;p&gt;I realized over time that this was less about Ruby vs C# and more about Unix versus Windows. Hence the big Unix component to this post. Switching platforms really did require the full reset as you mentioned, much more so than any programming language differences.&lt;/p&gt;&lt;p&gt;Thanks for the offer on the Tekpub Annual, I may take you up on that!&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Mon, 14 Nov 2011 15:12:09 -0000</pubDate></item><item><title>Re: My Reasons for Leaving .NET</title><link>http://hkarthik.me/my-reasons-for-leaving-net#comment-362985333</link><description>&lt;p&gt;This post is less about languages and more about platforms, tools, and personal choices.&lt;/p&gt;&lt;p&gt;To me, .NET generally is synonymous with C#, Visual Studio, and Windows. You'd be very hard pressed to find anyone who classifies themselves as .NET developer that doesn't primarily work with these three things.&lt;/p&gt;&lt;p&gt;There is no "best tool" for any job.  There is only what you know, what you're passionate about, and how much effort you're willing and able to put into that tool.&lt;/p&gt;&lt;p&gt;For me, I'm just not passionate about .NET anymore nor am I willing to continue putting efforts towards it so I've moved on.&lt;br&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Mon, 14 Nov 2011 13:56:26 -0000</pubDate></item><item><title>Re: http://bradleyjoyce.com/post/10618304079</title><link>http://bradleyjoyce.com/post/10618304079#comment-354144007</link><description>&lt;p&gt;I think there's another problem that you haven't addressed yet. Most of the tech talent in Dallas is unfortunately of the big company pedigree which means they aren't well versed in technologies outside of .NET and Java.&lt;/p&gt;&lt;p&gt;So even if you're able to pry someone away from their cushy 9-5 big corp, six figure job, you often have to train them on your startup focused tech which may utilize Ruby on Rails, Python, iOS, or Android. Having to take that on just increases the risk further of your startup not working out.&lt;/p&gt;&lt;p&gt;I'm hoping that we can start to change this with a more concerted effort to get the local talent more excited about the tech so they're willing to take riskier jumps outside their Enterprise comfort zones.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Wed, 02 Nov 2011 16:14:14 -0000</pubDate></item><item><title>Re: Thoughts on WebMatrix</title><link>http://blog.wekeroad.com/microsoft/someone-hit-their-head#comment-129395756</link><description>&lt;p&gt;Ugh sorry for the pseudo double post. The Codemash connection wasn't all that great. Feel free to delete and recombine these comments :)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Sat, 15 Jan 2011 09:57:48 -0000</pubDate></item><item><title>Re: Thoughts on WebMatrix</title><link>http://blog.wekeroad.com/microsoft/someone-hit-their-head#comment-129230326</link><description>&lt;p&gt;So where does the data access code go? I've heard rumblings that there are no controllers or models, so the only logical place left is the View and/or View Helpers.&lt;/p&gt;&lt;p&gt;Is that true? If so, then a comparison to PHP (without an MVC framework) would probably be more appropriate.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Fri, 14 Jan 2011 18:18:30 -0000</pubDate></item><item><title>Re: Thoughts on WebMatrix</title><link>http://blog.wekeroad.com/microsoft/someone-hit-their-head#comment-129229155</link><description>&lt;p&gt;I've heard from some folks that there are no controllers in WebMatrix, and that all of the data access code goes into the views and/or helpers. Is that true?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Fri, 14 Jan 2011 18:16:00 -0000</pubDate></item><item><title>Re: Choosing between Dogmatism or Denial</title><link>http://webgambit.com/2009/11/09/choosing-between-dogmatism-or-denial/#comment-24150724</link><description>&lt;p&gt;Thanks for the comment, Jim! I agree with everything you've said and I've been very impressed with the Rubyists attitude regarding unit testing. Let me know what you think of my follow up post here: &lt;a href="http://webgambit.com/2009/11/26/comparing-the-ruby-and-net-ecosystems/" rel="nofollow noopener" target="_blank" title="http://webgambit.com/2009/11/26/comparing-the-ruby-and-net-ecosystems/"&gt;http://webgambit.com/2009/1...&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Thu, 26 Nov 2009 19:14:32 -0000</pubDate></item><item><title>Re: Goodbye, Twitter</title><link>http://fallenrogue.com/post/214907142#comment-20229904</link><description>&lt;p&gt;Your tweets provided a lot of amusement as well as great info. I hope you reconsider your decision. My advice is to just unfollow a lot of people and ignore the ones whose replies you don't care about.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Fri, 16 Oct 2009 16:31:04 -0000</pubDate></item><item><title>Re: The Value of Complexity</title><link>http://webgambit.com/2009/10/15/the-value-of-complexity/#comment-20148762</link><description>&lt;p&gt;I definitely think there is value in providing options for the hobbyists so that we continue to attract great minds to the field. Most of the great developers I know today didn't go to school for it. And I know many people are thinking "I was just a hobbyist, would I have gotten into this industry had I been 10 years late?"&lt;/p&gt;&lt;p&gt;I don't think the options for the hobbyist have diminished, in fact I think they have increased.  But I think having a filter for the hobbyists is not a bad thing.&lt;br&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Thu, 15 Oct 2009 16:16:16 -0000</pubDate></item><item><title>Re: Moving off Graffiti CMS and on to Wordpress</title><link>http://webgambit.com/2009/09/30/moving-off-graffiti-cms-and-on-to-wordpress/#comment-19789568</link><description>&lt;p&gt;I had used Wordpress a lot and when I was at Telligent, I was very excited at the prospect of having a Wordpress like CMS on the .NET platform. It wasn't meant to be, but Wordpress has always gone strong and Graffiti was never a serious competitor to it.&lt;/p&gt;&lt;p&gt;I agree Wordpress has some great plugins. I've utilized a few on my comments and contacts form and I've been very pleased thus far.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karthik Hariharan</dc:creator><pubDate>Sat, 10 Oct 2009 12:00:20 -0000</pubDate></item></channel></rss>