HNHacker News
TopNewBestAskShowJobs

kkowalczyk

1,904 karma · joined December 23, 2009

submissionscomments
kkowalczyk··on The Way of the Gopher: Making the Switch from Node.js to Golang
I agree, it's a work in progress.

If you have more links, I'll be happy to add them.

I have a much longer list of companies that use Go (https://quicknotes.io/n/1XB0-companies-using-go) but it's harder to find descriptions of rewrites than find out who's using Go.

kkowalczyk··on So Cal Edison fires hundreds of IT employees and replaces them with H-1Bs
The title of this article is a manipulative propaganda.

If you don't bother reading it, it suggests that Edison hired people on H1B as their own employees and then fired existing employees.

The facts in this article are that Edison fired some IT employees and instead hired contractors from Infosys and Tata.

Those contractors are employees of Infosys and Tata, they don't work for Edison. Implying that they do is the first attempt at misleading readers.

Another fact is that some of Infosys and Tata US employees are H1B visa holders.

So it's possible that some of those H1B holders will end up working but the article doesn't actually make that statement other than a hearsay (a statement made by someone (in this case apparently an Edison worker being laid off) but not verified by the "journalist" writing the article) i.e. it's quite possible that none of the people who will replace Edison employees are on H1B.

We just don't know and the article either is so poorly written as to hide the facts behind the headline or is maliciously or incompetently distorting the facts.

kkowalczyk··on Should I invest $100K in a startup for 3% equity? – pre money valuation is $20M
Obviously you have way more information about this, but judging from what you've disclosed, it's a terrible investment.

Stock in a company is worthless (literally, as in "worth $0") until 2 things happen: * the company gets sold * the company does an IPO

Those are hard for all kinds of companies but next to impossible for a consulting company.

Consulting companies don't scale they way product companies do.

Revenue of $20k/month is nothing (this is what Google spends on a good engineer per month). They don't make enough to pay you a market rate.

How is this company going to ever get to multi-million dollar a year profit (a condition necessary but far from sufficient for a sale or IPO) ?

You seem to be so pre-occupied with details of the deal that you seem to be missing the obvious thing: investing in this company looks like a terrible idea because there's no way this company is going to be so successful to warrant a sale or IPO.

kkowalczyk··on Ask HN: What are the basics to starting a company?
You're asking a question that requires a book to answer. Such books are plentiful, for example http://www.nolo.com/products/form-your-own-limited-liability...

The same goes for patents, for example http://www.nolo.com/products/patent-it-yourself-pat.html (although the very fact that you think about patents to "secure intellectual property" betrays a naïveté about how those things work in real life. If you don't have tens of thousands of dollars (at a minimum) to spare for a patent lawsuit, then obtaining a patent is pointless).

kkowalczyk··on Ask HN: someone infringes my code on GitHub, what should I do?
MIT license requires attribution ("The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.") so removing you copyright violates the license.

Realistically, there's not much you can do.

You could sue that person but it would be costly (lawyers fees) and the outcome is unknown (those things usually are not litigated so there's little case law to fall back on).

You could send them an e-mail to the effect of "I noticed you've removed my name from your fork of my project. It's not cool and violates the attribution clause of MIT license. I would appreciate it if you restored my copyright attribution.". The important thing would be to not be too forceful or else you might end up with the opposite result (i.e. they'll just dig in).

Or you can just let it go.

kkowalczyk··on Some thoughts on Go and Erlang
I write it fully acknowledging that programming language flamewars are pointless, but this article just shows that you don't even have to try hard to create a biased comparison.

Here's the essential difference between Go and Erlang: Go gets most of the things right, Erlang gets way too much wrong.

So what does Go gets right but Erlang doesn't:

* Go is fast. Erlang isn't

* Go has a non-surprising, mainstream syntax. You can pick it up in hours. Erlang - not so much.

* Go has a great, consistent, modern, bug-free standard library. Erlang - not so much.

* Go is good at strings. Erlang - not so much.

* Go has the obvious data structures: structs and hash tables. Erlang - no.

* Go is a general purpose language. Erlang was designed for a specific notion of fault tolerance - one that isn't actually needed or useful for 90% of the software but every program has to pay the costs

* Go has shared memory. Yes, that's a feature. It allows things to go fast. Purity of not sharing state between threads sounds good in theory until you need concurrency and get bitten by the cost of awkwardness of having to copy values between concurrent processes

So sure, if you ignore all the major faults of Erlang (http://damienkatz.net/2008/03/what_sucks_abou.html, http://www.unlimitednovelty.com/2011/07/trouble-with-erlang-..., http://ferd.ca/an-open-letter-to-the-erlang-beginner-or-onlo..., http://sacharya.com/tag/erlang-sucks/) it compares very favorably to Go.

You just have to overlook ugly syntax, lack of string type, lack of structs, lack of hash tables, slow execution time. Other than those fundamental things, Erlang is great.

kkowalczyk··on Go’s map iteration order is random
Yes, you are missing the point.

In Go, iteration order of keys was always non-deterministic.

At some point it was changed to be also random i.e. iterating the same hash the second time would produce a different sequence of key/values than the first time.

This is exactly what the article says, except using more words.

kkowalczyk··on Go’s map iteration order is random
You're blaming a language for a bug in your code.

interface{} is nothing like void* because it's type-safe. interface{} is (type, value) i.e. it remembers the type of the value it contains. void * is just a value.

Your code snippet has a bug because you didn't check the type assertion result. Here's a fixed version: http://play.golang.org/p/vlsXtEmgMs

In C a cast is unsafe because it doesn't tell you if you did something wrong.

In Go, type assertion is safe. It tells you if it succeeded and if you ignore it, it'll panic, informing you that you have tried to perform an illegal operation.

For more see: http://golang.org/ref/spec#Type_assertions

kkowalczyk··on The Ethos Operating System
It's actually very false.

"Security" is an invisible quality, by which I mean it cannot be easily observed and because of that it cannot be easily compared and because of that is not going to drive adoption.

This is in contrast to visible qualities: price, performance, availability of the source code and its licensing terms, size of the ecosystem (number of applications for the OS, number of books, articles, conferences, programmers who know how to program for it) etc.

How exactly will you demonstrate that Ethos is more secure than, say, OpenBSD?

kkowalczyk··on How are cold-calling ceasefires illegal?
Pointing out the obvious: engineers are not "goods" that Google or Apple produces.

Even if consider employees salary to fall under that dubious categorization, good luck proving the salaries were "likely depressed" when during that period the salaries went up. A lot.

It seems that it only affected lazy and apathetic engineers i.e. those who couldn't be bother to send out a resume.

kkowalczyk··on After Big Bet, Hedge Fund Pulls the Levers of Power
Acman's behavior is not bad because he's shorting Herbalife.

It's bad because after he bought short position, he's using his money and influence to crash Herbalife, by any means necessary, buying fake concern from various "community" groups, trying to influence government officials to start investigation etc.

Metaphorically speaking, he's a corporate terrorist, trying to cause distress in a company in order to profit from it.

And let's be clear: he doesn't care what happens after (potentially temporary) drop in Heralife's stock price.

He's end-game is not fixing Herbalife via some government action, all he needs to make his billions is temporary drop in stock price caused by FUD that an investigation would create.

kkowalczyk··on After Big Bet, Hedge Fund Pulls the Levers of Power
Of course it's Ackman's fault - he's the one bribing all those people. He's much bigger problem than people taking the bribes. He's the one trying to exploit the system for financial gain.

Of course trying to ruin a company by bribing government officials to begin a witch hunt investigation is wrong if you stand to profit billions of dollars from that witch hunt.

Given the enormous profit he'll realize if he's successful in discrediting Herbalife, I can easily discount all of his other arguments as BS. He has no credibility in the matter if billions are at stake.

Note that I'm not defending Herbalife. Maybe they are scammy company that should be investigated and regulated more by the government - by that investigation shouldn't happen because a billionaire starts buying politicians, lobbyists and "non-profit" lapdog organizations.

US government already has established channel for complaining about unethical companies: Better Business Bureau. They don't need manufactured complaints.

kkowalczyk··on How to survive a job you hate
Here's a list of no-ones using Go in the real world: https://code.google.com/p/go-wiki/wiki/GoUsers
kkowalczyk··on “Facebook turned me down” (2009)
I would say that the reason he struck gold (which is different from being valuable) is because he's a good programmer who happened to work on a break away product.

There are much more good programmers out there than break away products like WhatsApp.

You can't create successes like WhatsApp just by hiring good programmers. There are plenty of great teams that didn't achieve product/market fit and failed.

There are plenty of great programmers at Facebook or Google that do important but not wealth creating work (not on the scale of WhatsApp wealth).

In cases like this most likely the reason why WhatsApp is popular is that there was a person in charge who had the right vision for the app and came up with just the right set of features and a little bit of luck.

But even that person isn't valuable per-se in the sense that you should hire him for your company at all costs hoping that he will create similar wealth for your company.

I'm sure I'm butchering the analogy, but those are Schrödinger's successes: you can only tell they're successful at the time of the exit, but not at any time before that.

kkowalczyk··on “Facebook turned me down” (2009)
If he was hired by Facebook, he wouldn't have (co)developed WhatsApp. If Facebook hired him, he would most likely be worth (to Facebook) as much as any other random Facebook programmer.

Unless he's the one who started WhatsApp, it would have been developed and successful anyway and Facebook would have to buy it for the same amount of money.

The reality is that product/market fit is much more powerful force than programming capabilities of any single engineer.

kkowalczyk··on Editorially is shutting down
I'm not the author of penflip but you're missing a big thing: Editorially had 11 people on staff (https://editorially.com/about).

Penflip apparently is just one person.

If penflip makes $500k/year, it's a lot for 1 person but not even close to covering 11 people.

Collaborative writing is not a junk idea. There is a bazillion of different takes on that (draft, all the etherpad clones, google docs, ...).

kkowalczyk··on Swiss immigration: 50.3% back quotas, final results show
Given that (in aggregate) startups are phenomenally successful, looks like the Swiss made the right decision.
kkowalczyk··on Swiss immigration: 50.3% back quotas, final results show
It's actually the opposite of the "bus nonsense" and actually the concerns are valid.

In SV, poor(er) people complain about too many rich(er) people coming in.

When it comes to immigration, rich(er) people are afraid of too many poor(er) people coming in.

Also they are not removing freedom of movement, they put a limit on rate.

Which is something U.S. has been doing for decades and nothing bad really happened because of that.

In addition, the math for Switzerland is much different.

It's hard to change demographics of 300 million country by letting in a few hundred thousand immigrants.

According to the article, already 25% of 8 million Swiss are foreigners. That would be a pretty alarming number if you were native Swiss. If the current trend continues (80 thousand immigrants per year), that would be 50% in ~25 years.

Let's also not ignore the real danger of ethnic-based or religious-based conflict, like Bosnian War.

kkowalczyk··on Ham on Nye: The high cost of “winning” an evolution/creation debate
There is no gene for religion.

There is a very simple explanation for religion: most people conform to the culture of their surrounding.

That's why most people growing up in Muslim country become Muslims, most people growing up in Mormon area become Mormons, most people growing up in atheist countries are atheist and Germany (yes, I'll go there) had a surge of Natzis-ism.

Cultural norm is a powerful thing.

But hey, I'm open to changing my mind given some evidence.

Why don't you sequence a few deceased atheists and a few deceased religious folks and by way of simple diff isolate the "religion" gene. There might be a Nobel prize in it.

kkowalczyk··on Another go at Go failed
They are not refusing to debate.

They have debated this many times over in the past.

What they don't do is repeating that debate every week. It would take a lot of their time and is largely pointless (in the sense that person that starts the debate with 'go sucks because it has no generics' will not be convinced that it was the right (or at least practical) decision to make regardless of how cogent your arguments are).

kkowalczyk··on Go’s Type System Is An Embarrassment
Hoare didn't invent 0-valued pointer. It was there since the beginning of time. Or at least the beginning of the CPUs.

People talk about getting rid of nil like it's actually possible.

It's not.

If you have pointers, they sometimes have to start the life uninitialized (i.e. with a value of 0) hence nil pointers.

As you admit yourself, the proposed solutions don't actually get rid of anything. At best they can force you to handle nil value by wrapping it in some wrapper.

Guess what - if you have that kind of discipline, you can do the same in C++.

Why aren't people doing that?

Because it comes at a cost. There's a cost to the wrapper and when it comes down to it, you still have to write the code to handle the nil pointer whether you're using a wrapper or a raw pointer.

It just doesn't buy you much.

Finally, fixing crashes caused by referencing a null pointer is downright trivial. Spend a few weeks chasing a memory corruption caused by multi-threading and you'll come to a conclusion that fixing a null pointer crashes (which can be done just by looking at the crashing callstack most of the time) is not such a big deal after all.

kkowalczyk··on The problem is with the product
I doubt Google has as simplistic view of their business as you do.

Google's bottom line is the same as everyone else's: making money.

Currently, the ads are very lucrative for them and they use the money from ad business to both expand the ad business (like investing in YouTube or Android) AND try to find other sources of revenue (e.g. Google Fiber or Google Apps for enterprise).

You can't assume that Google is terminally stupid and can't see past their current business model.

Google Fiber is not free. If people use Comcast, they'll see as many ads from Google as if they were using Fiber. Google can estimate how much ADDITIONAL ad revenue they could expect per user from Fiber vs. Comcast usage and that's probably not much.

At $70 or $120/month, this can be very profitable business (long-term, of course, initial investment is huge). Outside of US, companies make good profit at lower prices.

Same goes for self-driving cars: transportation is a massive industry. Taxis alone are $10 billion industry. Personal car ownership and use is massive. If Google could get a piece of that business, it could be more profitable than their ad business.

kkowalczyk··on Google sues to protect Android device makers from Apple-backed patent hell
We don't need to insinuate anything.

It's clear that both Microsoft and Apple are pulling the strings. They didn't collectively spend $4.5 billion to just have Rockstar do whatever they want. (Not that creating a patent troll under any scenario is morally defensible for Microsoft or Apple).

The shell games provide them plausible deniability only to naive.

They sued Android. Android is a big threat to both Microsoft and Apple.

Coincidence? I don't think so.

kkowalczyk··on Protesters vandalize Google bus, block Apple shuttle
A private corporation pumping money into police department.

What could possibly go wrong?

kkowalczyk··on Google Bus blocked, window smashed in West Oakland
1. Shortage of housing is even worse near Google campus than in SF

2. Angry mob or your opinions should not dictate where people choose to live.

I could offer many suggestions as to how you should live YOUR life to better suit MY goal and ideas, but I don't because that would be stupid.

You should choose a place to live that suits YOU the best and you should offer the same curtesy to others.

The "occupy Google bus" movement is straight-up bullying.

kkowalczyk··on Inside the Go Playground
Not really, at least not in 1.3.

As http://golang.org/s/go13nacl describes, supporting Chrome is not a goal for 1.3 release, only being able to run nacl-sandboxed executables from command line.

kkowalczyk··on Thrun pivots Udacity toward vocational education
Yes. Read the original article (http://www.fastcompany.com/3021473/udacity-sebastian-thrun-u...) this is based on. It's much more informative.
kkowalczyk··on How SQLite is tested
1. 3.8.0.2 fixed a logical error in the code. High-level language won't help you if you invert a logical condition or commit some more subtle logical mistake.

2. Our software also needs to be fast. No one needs a slow database engine. There is no high-level language that beats C on tasks like writing sqlite.

3. Finally, show me that unicorn high-level language with strong, automatically provable invariants and one piece of widely used, reliable software that was written in it.

Sqlite works. Testing works.

If there actually was a credible alternative to C for writing software that is efficient and reliable with requirements that sqlite has, I can assure you that people would use it. The problem is: it doesn't exist.

kkowalczyk··on Penny Arcade’s Insultingly Horrible Job
This is serious mis-interpretation of reality.

Do you think that if cricket players formed a union (maybe they already did, I have no idea), they would be paid as much as NFL players?

Of course not. NFL players are paid so much because the league can afford to pay them and still stuff their bank accounts.

The same goes for TV/Movie writers - good, proven talent is in low supply and there are millions at stake, so it makes sense to pay well to get the best. The 5th box office hit on a given week usually makes a fraction of what the 1st and 2nd does, so it makes sense to optimize for hitting the 1st spot and you do that by getting the best talent and you get the best talent by paying them more than others.

We (programmers) don't need the unions to be paid well because there's still more demand for talent than supply of such talent.

If it ever happens that we need unions to be well paid, the unions won't help much because you can't pay high salaries if you don't have high revenues.

Also, given that software companies are generous with stock options, as part owners of the business, we should be very much against overpaying the employees, even if they are fellow developers.

kkowalczyk··on Penny Arcade’s Insultingly Horrible Job
Almost none of the above matters (except the location).

Offers are made based on your past experience and interview, before an employer can do a full psychological profile to see if you're a good fit.

So number one priority is to have a good resume.

Then you just "feel out" the current rates based on what you currently make and taking in other signals like glassdoor, salary ranges in job postings in your area (jobs listed on AngelList are most transparent about that) and talking to your peers.

The best way to get good salary is to get multiple job offers and increase your demands with each successive offer.

Yes, it is time consuming, but much less than writing code and with much better long-term effect on your salary.

Page 1 of 10Next →