HNHacker News
TopNewBestAskShowJobs

kartickv

1,169 karma · joined August 15, 2014

submissionscomments
kartickv··on I Want a Smartwatch That Can Do More
A bigger smartwatch has a lot more space for a battery.
kartickv··on We Wasted $50K on Google Ads So You Don't Have To (2019)
This is an insightful yet very short comment, a combination I rarely see.
kartickv··on How to Invest in Startups
You'd be right if the valuations of startups were independent of their eventual market size. In that case, it makes no sense to invest in a smaller company.

But if you're going after a niche market -- a computer vision-based tennis coaching app, for example -- your valuation will necessarily be lower than a company with broad appeal.

So instead of saying, "No, that's a small market" you could invest at a lower valuation and still make the same or higher return as with a unicorn.

kartickv··on Lessons from six years as a solo consultant
Like?

It will help me, so thanks in advance.

kartickv··on Lessons from six years as a solo consultant
What terms did you put in after learning the hard way?
kartickv··on Things to Teach or Learn Before Programming
Author here. Thanks for sharing your experience. But how do you know whether Python or C served his needs better? For all I know it could be Python -- you can build a web server using Django, write scripts, do machine learning, do computer vision using OpenCV... These might very well be more useful to that person than what C lets you do. Nobody should learn C because you think it's important; they should learn it if, and only if, it's the best tool for what they want to do.
kartickv··on Ask HN: What should be taught in high school?
A lot of things that are not hardcore CS but very useful, and often simpler solutions to many problems than full-fledged programming:

- Becoming a power user of spreadsheets, with formulas, pulling in external data (like forex rates), basic statistical analysis, conditional formatting to present a conclusion (green is better, red is worse) etc.

- Running a VM on AWS, SSH, basic Linux administration, etc.

- Automating manual tasks like cropping 500 JPEGs and rotating them. This could use Automator on macOS or a Python script.

- Writing small throw-away programs in Python. For example, I have a noisy signal, noisy due to errors in measurement. Would averaging with a second noisy signal reduce or increase noise? I wrote a simple Python program to generate two random arrays, measure standard deviation of each, and print out whether the resulting array has lower standard deviation than neither, one or both the input arrays. I then repeated 100 times to eliminate variability caused by the random number generation.

- HTML / CSS / JS to build a simple web site.

- Exploring emerging no-code tools (Airtable?)

Hardcore techies often don't have these skills. That would be like a surgeon who can perform open-heart surgery but can't administer first aid.

kartickv··on Show HN: Futurecam, an advanced iPhone camera app for photography enthusiasts
Hey guys, I want to show you Futurecam (futurecam.app), a labor of love, which I've been working on for the past 3 years after I quit my job at Google.

I've been been interested in photography for a long time, first with my Sony mirrorless camera. Like everyone else, I moved to smartphones but found them lacking for the kind of photography I wanted to do. I looked around, and there were some good apps, but none did exactly what I wanted. I kept experimenting with computational photography algorithms, running an experiment one weekend with a billion pixels, for example. I built Futurecam from this exploration, and did fun things along the way like GPU-accelerating and optimising our algorithms to process 1GB of data every second on an iPhone!

I built Futurecam not to be a replica of an SLR in software form, but to do things an SLR cannot do. For example, Futurecam's Liquid Shutter lets you change the shutter speed of a long exposure after capture. You can play with this live on our web site futurecam.app. Futurecam also has a light trail video which, again, you can try out on the website. And more.

Try it out for free, and if you know anyone passionate about photography, let them know.

kartickv··on Expectations vs. Reality at Work
Author here.

Different people expect different things, so the expectations in my post can't obviously be interpeted as universal.

> Many of the “reality” parts are not always true, too

Which is why they're phrased as "often" or "sometimes" or "can happen". Not "always happens". If I've forgotten to add such a qualifier somewhere, please let me know, and I'll fix it.

kartickv··on PDC 1996 Keynote with Bob Muglia and Steve Jobs [video]
Why didn't they give WebObjects away for free? Since it's just software, it has no marginal cost to NeXT, and any NeXT workstations it sold would be profit.

Put differently, any platform needs a critical mass to survive, and if they price it so high, it won't have that critical mass, causing it to die, in which case the development cost would be wasted.

Surely people in the 80s weren't so dumb as to not understand network effects, so what am I missing?

kartickv··on Safari 13 Is Out
Thanks for this information. How do the capabilities of the new API differ from the old one? If a developer is willing to put in the effort to do what Apple says, what extra capabilities do users get, and what existing capabilities are taken away?

I'm not asking about ad- / content-blockers, because that issue has been discussed many times and there's no value in rehashing that discussion. I'm asking about OTHER TYPES of extensions.

kartickv··on A high-speed network driver written in C, Rust, Go, C#, Java
The perfect is the enemy of the good. I'll take a rough estimate over no data at all. If the Python guy took 10 days and the Java guy took 20, then the conclusion is that Python is more productive than Java. Is it more productive exactly by 100%? No, maybe 60%, or maybe 120%. But whether the benefit is 60% or 120%, I know which tool I'll choose next time.
kartickv··on A high-speed network driver written in C, Rust, Go, C#, Java
An approximate answer is useful too.
kartickv··on A high-speed network driver written in C, Rust, Go, C#, Java
To measure how long it took to build it, track how many days it took to implement in each language.

To measure how secure the resulting code is, have a test suite of malformed packets or other input and see how many of them the code in each language handles.

kartickv··on A high-speed network driver written in C, Rust, Go, C#, Java
It would be good to have them measure aspects other than performance, like how long it took to build each, was there a learning curve because it's an unfamiliar language, how secure the resulting code is, etc.
kartickv··on Do Tasks Quickly and Imperfectly
Author here. Thanks for weighing in.

Why don't you get stuff out, determine what needs to be improved (if any, as opposed to starting a new task) and improve that?

If you put out a marketing video for your app, and it drives 1000 purchases of your app, you should be proud of that. The video itself is irrelevant, so don't judge it, or yourself by it.

I think the craftsman analogy is misleading because physical objects can't be updated after selling. Maybe a better analogy is that of a chef, who doesn't measure himself by how it turned out when he tried a new dish for the first time. He measures himself by how it is after repeated iterations.

As Basecamp says, work should always be compared with what it was before, not a theoretical ideal.

kartickv··on Google Doesn’t Want Staff Debating Politics at Work Anymore
I agree again. A big cause of useless arguments is both sides having different unstated goals.
kartickv··on Google Doesn’t Want Staff Debating Politics at Work Anymore
> I also wonder if there's a universal central reason behind why it is important to understand someone else's argument if their conclusion differs than yours.

In fact, if you can't argue for their side as well as they can, you haven't really understood it, so you shouldn't argue.

kartickv··on Google Doesn’t Want Staff Debating Politics at Work Anymore
I agree. A big reason for not achieving something in an activity (whether a discussion, a software project or something else) is not being clear what you want to achieve in the first place.
kartickv··on India’s Messy Electric Vehicle Revolution
Thanks, but I was looking for an India-wide statistic, like a graph, so I can see how fast (or slow) we're making progress.
kartickv··on India’s Messy Electric Vehicle Revolution
> improved public transport (metros)

Where can I find statistics on how many metro stations are in operation today vs a decade ago?

kartickv··on The (not so) hidden cost of sharing code between iOS and Android
People say things like "Why do you want to build and maintain two codebases when you can maintain one?" but it's interesting that we're so bad at predicting or even understanding overhead. This applies to other domains — we don't know how much overhead our cars have.

From a project management point of view, native is the least risky. Yes, it takes more people, more salary cost but you know it will work. The last thing I want to find out after six months or an year that our strategy isn't working and we need to rewrite things. Risk is worse than financial cost or time. That is, I'd rather spend a quarter longer or X rupees more if I know I'll get something working at the end of it.

kartickv··on Oil Needs to Fall Below $20 to Compete With Green Alternatives
Thanks, but if it's over a 25-year time period, shouldn't we consider the price of an EV bought at the beginning of the time period, not the end?
kartickv··on Oil Needs to Fall Below $20 to Compete With Green Alternatives
Does this take the higher cost of EVs into account?
kartickv··on What does an unprocessed RAW file look like?
Yeah, sorry for the typo, HN doesn't let me edit it now.
kartickv··on What does an unprocessed RAW file look like?
Thanks.

Regarding pixel well depth, I suppose we can have a sensor with greater pixel size and low pixel count, like a 3840 x 2160 sensor in a full-frame camcorder. Since this would be sold as a video-oriented camera, lack of higher resolution will be a problem problem than in a still-oriented camera.

kartickv··on What does an unprocessed RAW file look like?
How is that?
kartickv··on Declined Proposal: A built-in Go error check function, “try”
Interesting perspective. Are you expressing an opinion about "explicit is better than implicit", or is your point on a different axis?

I suppose concise / implicit is fine when the thing that's being hidden can't go wrong, like in:

[i * 2 for i in 1...10]

The loop counter increment logic can't possibly go wrong, so it's fine to not think about it.

Regarding error-handling, don't you want to think about? If you're calling a() followed by b(), what should you do if a() fails? In some cases, b() shouldn't be called, but in others, it should, like deleting a temp file. And if you have to think about it, it's better to be explicit?

kartickv··on Giant batteries and cheap solar power are shoving fossil fuels off the grid
How does solar thermal fare compared to solar PV, once you factor in the cost of the batteries?
kartickv··on Giant batteries and cheap solar power are shoving fossil fuels off the grid
If you lock your money in any asset, whether solar panels or a house, you're taking a bet on the future value of the asset. That, naturally, is a downside. As compared to investing in a fund of some kind that invests in a diversified manner across different forms of renewable energy like solar and wind. Then, if solar prices go down in peak hours, your investment in wind will protect against that to some extent, as opposed to putting all your eggs in one basket.
← PreviousPage 2 of 21Next →