HNHacker News
TopNewBestAskShowJobs

karterk

4,443 karma · joined October 20, 2010

Co-founder @ typesense.org

kishore at typesense org https://calendly.com/kishorenc/30min

submissionscomments
karterk··on How I thought I wanted to become a digital nomad
1) get a remote-friendly job that fits your skill set and ambitions. Move every quarter or so. Stay in one place for a while.

That's kind of the best of both worlds. It's actually pretty tiring travelling AND working at the same time. You will have a large amount of context shifts which will destroy your productivity.

I also wish remote work is more common. While it usually works when you know a company really well (e.g. small company with known, trusted colleagues), not many companies are actively trying to make remote work possible.

karterk··on How Google’s Jeff Dean became the Chuck Norris of the Internet
I think they receive a little too much credit in many cases for invention when their primary contribution has been popularization.

That's being a little pedantic. Applying X for Y is definitely being inventive. That's how largely every domain works. We stand on the shoulders of giants etc.

karterk··on How Google’s Jeff Dean became the Chuck Norris of the Internet
The work that Jeff Dean and colleagues at Google are doing is pretty mind blowing [1]. Sometimes, I feel that you need Google's scale of problems to be forced to push technology that way.

The joke at my company is that everytime Google publishes about one of their technology on a paper, they already have a next-gen version of it running internally.

[1]: http://google-opensource.blogspot.com/2013/08/learning-meani...

karterk··on Facebook kills startups with new collaborative photo album feature
Link bait-y title.

> But we’re deadpooling all of ‘em, effective immediately.

I really don't like the tone of many parts of this article.

> Facebook is just too big to fail when it comes to normal people and photos.

The same could have been said about places.

karterk··on What I Learned by Going It Alone
Be Persistent and Keep On Starting

From personal experience, this is the most important thing. There will be days you will keep asking yourself what significance a little thing that you're doing that particular moment has on the grand scheme of things. The reality is that such little things compound over time. The most important thing is to keep persisting. Early on, you will feel like quitting and jumping onto the next big idea/thing, but only with persistence any of them will become fruitful. After you work on a few projects you will be able to interpret the early positive and negative signs better.

karterk··on Show HN: Kraken.io – image optimization service
Then you should consider linking to their websites. Will definitely make it look more authentic.
karterk··on Big Data Debate: HBase
I'm aware of consistency levels. But in general HBase performs much better out of the box when compared to tweaking Cassandra to be be more consistent. In other words, if I wanted consistency badly and at scale, I would go with HBase.
karterk··on Big Data Debate: HBase
We use HBase pretty extensively and I have mixed feelings about it. On one hand, it's very clunky. Though the documentation is pretty good these days, setting up and managing a HBase cluster on production and in scale involves tackling many moving parts. Setting up Cassandra is almost a joke in comparison.

HBase-Hadoop integration is great, but Cassandra has caught up significantly on that front. If you want strong consistency, apart from HBase there is no other (non-sql) solution that's really battle tested. If you're okay with eventual consistency, you should take a hard look at Cassandra.

karterk··on Big Data Debate: HBase
Store it in HDFS as sequence files. HBase (as the article mentions) is a beast to manage with many moving parts. But, HDFS is just rock solid and very stable. If you want to analyze logs, you can do so in a batch mode (I recommend using Scalding or Pig). If you want it to be more "searchable", then take a fraction of it using a MR job and index it in Solr or ElasticSearch.
karterk··on Porting dl.google.com from C++ to Go
Actually if one wants to use Akka, one should be using Scala. Akka using Java is a total pain in comparison. Atleast with Scala, one seldom gets the feeling that the library is far from the language semantics.
karterk··on Linus Torvalds, Visual Basic Fan (2006)
In many ways, Rails is the new VB. A little hyperbolic, perhaps, but I see a similar mindset when people ignore the language Ruby and live only in the world of Rails, eventually leading to shitty code.
karterk··on Ask HN: Fast, In-Memory, Distributed data analysis and machine learning?
I suggest storing your data in files and just memory mapping them during start-up. JVM can't memory map more than 2GB per file, so just create logical shards, and map them independently.

Since you will be mostly iterating over all records during your iterative algorithms, storing them in a separate in-memory DB makes no sense (have to call external process via socket).

You can then use a framework like zookeeper/akka for managing nodes in the event that you have to scale out. Even a simple master/slave set-up using thrift services will do.

karterk··on Ask HN: Fast, In-Memory, Distributed data analysis and machine learning?
A little bit of context: I have done a lot of hadoop, and also well aware of spark and storm. Storm is mostly well suited for handling a stream of real-time data. Spark is specifically for running iterative algorithms - it can read from HDFS, and with the expressiveness of Scala, it's great for building machine-learning related stuff.

However, 5GB of data is literally nothing, and that statement holds till your data size is atleast 50-60 GB. Given that 64 GAM RAM machines are now commodity, I would just load the entire thing in RAM and write a multi-threaded program. Sounds old school, but regardless of how well documented hadoop, spark and storm are, there is nevertheless a learning curve and a maintenance cost. Both of which are well worth only if you see your data rapidly growing to the X TB range. Otherwise, it might be just easier to stick it in a single machine and get stuff done.

You can stick to Scala/Java, and so long you develop good abstractions around your core algorithms, you can always move to spark/hadoop when you need it. Feel free to send me an email if you want to talk more (email in profile).

karterk··on Ask HN: Fast, In-Memory, Distributed data analysis and machine learning?
Hard to offer suggestions without knowing rough size of data - depending on how much money you're willing to cough up, even 1 TB is in the range of "can fit in the memory" territory.

Having said that, Spark is really great for running iterative algorithms and will definitely fit with what you have described. I suggest staying away from building it on your own using riak/redis (atleast until you have ruled out spark), as you will run into lots of operational issues like handling failures, resource allocation, retries etc.

karterk··on Why I Dislike EC2
This article pretty much reflects my experience with EC2. EC2 makes it very easy way to get started with things when you're figuring stuff out and don't have a great deal of experience in managing servers and machines. You don't have to deal with RAID, power outages, etc. and can literally treat hardware like software.

But once you get up and running, you will realize that this comes with a great cost. EC2 absolutely sucks in terms of raw performance. I also notice variation in performance of machines on different times of the day, and between machines.

Amazon has done a great job at selling "the cloud", and I can see many CXOs buying into that. But the fact is, renting dedicated machines from a good provider isn't exactly that hard. They take care of a lot of things for you.

EC2 is good if you have wildly varying amounts of traffic such that you need to really have that kind of elasticity in your infrastructure. However, for most businesses, especially web apps, that's not the case.

karterk··on Ask HN: What is "expert" level Javascript?
Here are a few things:

* understanding prototypal inheritance, e.g. knowing what __proto__ means

* knowing how to model asynchronous code in several ways, e.g. using callbacks, events or even using promises

* understanding how an event loop works

* knowing perf related stuff (though one should always benchmark stuff)

karterk··on How to Get a Job
P.S. I take issue with anyone who is 28 years old being considered a "veteran" at her job, let alone at McKinsey. Perhaps I think too old-school.

There are specific verticals, where one can very well be. For e.g. I know people who have been focussing on a vertical since they are 15 years old (e.g. web design, digital art). You can definitely master some verticals after 13-14 years.

karterk··on In Media, Big Data Is Booming but Big Results Are Lacking
Engineers are better equipped to collect and store massive amounts of data than to analyze it to draw meaningful conclusions from it or to drive decisions. It takes business acumen to ask the right questions to the data.

The way "big data" is stored today also poses problems with respect to queryability. NoSQL systems are great at storing huge amounts of data efficiently but don't help us slice and dice the data easily. Having to write map reduce jobs for every "query" is painful and time consuming. Tools like Hive, Pig and Cascading help in writing MR jobs succinctly but are still very slow when someone wants to quickly filter and explore the data.

karterk··on Twitter is the new RSS
A new RSS should be about open standards and not about a single entity locking down all data. Also, Twitter has too much noise. Even if you're careful about following people who tweet good things, quite often you end up seeing "pooping"-style tweets.

Having said that, Twitter should really be doing what Prismatic is doing. I find the discover tab to be largely a #fail. With all the data that Twitter has about me, they should be surfacing interesting things, but they don't.

karterk··on The Matasano Crypto Challenges
in a language of your choice sounds best to me.
karterk··on Tus - an Open Source File Upload Protocol
Felix, given that the rest of your stack is on Node, what made you choose Go?
karterk··on The Node.js Community is Quietly Changing the Face of Open Source
I'll take monolithic, well designed, tested, and popular over a huge choice of one off libraries any day.

Been there, done that. And, it's terrible. Monolithic things try to do too many things. It's fine if you grow along with it but a few years down the line - a beginner will find it very difficult to get started and manoeuvre around.

Small, composable things are better. If something is popular, it will be forked and maintained. Also, monolithic things tend to slow down over time (in terms of keeping up) as they start accruing so much baggage.

karterk··on The Node.js Community is Quietly Changing the Face of Open Source
Let's say your application depends on two libraries A and B. And let's say that these 2 libraries depend on different versions of library C. In Maven if library C is not backward compatible, you're stuck. Only one version of library C can exist in the classpath and so one of your 2 libraries might fail. However, in node, library A and B use their corresponding versions of library C. There are no conflicts.
karterk··on Show HN: Codassium - WebRTC-based video chat and code editor for interviews
Ideally, screen sharing will be nice, but we will have to wait for the proposed spec to evolve for that.
karterk··on Show HN: Codassium - WebRTC-based video chat and code editor for interviews
To be frank, I have not tested it extensively on Firefox. Will do that over the course of next week.
karterk··on Show HN: Codassium - WebRTC-based video chat and code editor for interviews
Noted. Will add it, thanks.
karterk··on Show HN: Codassium - WebRTC-based video chat and code editor for interviews
I work with a lot of languages too. And, this has been something which I have thought a bit about. There are jobs where polyglot skills play a big part (e.g. software consultancy), but there are also jobs which require someone to just go out and crank code. In those cases, I don't think it's wrong for someone to expect syntactical correctness.
karterk··on Show HN: Codassium - WebRTC-based video chat and code editor for interviews
Thanks :)
karterk··on Show HN: Codassium - WebRTC-based video chat and code editor for interviews
There might still be some quirks/bugs due to stuff like firewalls and anti-virus software. I'm hoping that this becomes more polished in the future versions of Chrome and Firefox.
karterk··on Show HN: Codassium - WebRTC-based video chat and code editor for interviews
It might also be because of the pounding that the server is taking currently, though it seems to be holding up fine. :) If you get a chance, please try some time later and let me know if it works then. Thanks.
← PreviousPage 10 of 18Next →