skysight-inc/HackerNews huggingface dataset:
I moved from the US (high on the list) to the Netherlands (bottom of the list) a while ago. Different jobs and sectors vary, but the theme I can confirm is that the Dutch feel more productive, generally (I work in software development).

In very broad terms, the Dutch are more likely to plan and stick to those plans. Personal time and time off are valued, so you need to be efficient in your working hours. You can't really expect someone to respond to your emails after working hours. Having to work in the weekends at all is a sign of bad project management, and should be exceptional. Meetings have agendas which are sent out ahead of time.

Americans are generally more optimistic, which makes for worse time management and planning, which leads to overtime and stress. Being seen at work somehow equals working, and internal guilt for not working efficiently while at work leads to more weekend work. There's a big focus how much you've 'worked' this week. Interruption is common for things which could be structured.

To be honest, it's been pretty difficult to adjust, but the payoff is huge. Actual free time after work, real weekends, and longer vacations are all possible because people plan... whereas friends back home are often unable to plan vacations because they/their boss don't know how busy they'll be in 5 months.
Because the people who need it most don't actually need it that much, otherwise they would have written it. When I debug most Go programs, I'm doing high-level debugging. A debugger is a sharp tool. For 90% of my debugging task I don't need scalpels, I need tools that can provide a holistic view of a system from above. I use DTrace for that.

When I actually use a debugger, it's low-level work; I either debug the runtime or the compiler and I use assembly. Mdb/gdb/acid is perfectly adequate for that. A debugger with special Go support is of no use to me.

That being said, a Go debugger is on the table.

Yes, on the Internet everyone wants everything, generics, IDE, higher order metaprogramming, etc. In the end, people who actually implement any tool, feature, or process are doing it only because it helps their concrete work in a very practical way. Yes, a debugger would be useful, but almost anything is useful in isolation. So far, the people who do the work didn't write a debugger, because even if it might have been useful to some, it would have been a net loss for their particular problem they were solving at that particular time, because of the additional effort.

I'm writing the arm64 compiler. I wrote a CPU simulator and a debugger. It's a very low-level tool and very useful to me at this particular stage in the port. Even though it took time to write it, it saves time overall. It's useless for 99.99% of other Go programmers.
A few notes/tips:

- If you live in a western country, try to get a remote job. Spend a few months in your remote position and see how you like it. If you like it, you can talk to your manager and ask if moving to wherever you like is feasible. Make sure you get good enough internet when you go, and learn enough about batteries and inverters to buy a power supply system (solar 12V batteries and a chinese power inverter will set you back 200USD and last for a good year at least).

- Send you resume to NGOs. Forget the startup crowd for a bit. Most people applying to NGOs are people with social/education/medical backgrounds, and IT skills are in very high demand, because nobody with IT skills ever applies to be sent to a remote place. I'm pretty sure almost any NGO will hire you if you can teach IT-related topics (programming, networks, systems...). Pay isn't great in general, but the experience makes up for it (also, the countries you'll visit are, by definition, not expensive to live in).

If you need contacts, I can give you some in Tanzania and Senegal even if my network here is a little more limited (finding my contact info is left as an exercise to the reader).
some discussion is available here: https://groups.google.com/forum/#!topic/golang-dev/UiVP6F-9-...
Hm! I once looked at auto-generating GUI wrappers for command line programs from their manpage syntax, but it turned out that manpage syntax, while it looks standardised to a human, isn't. This would open a lot of really exciting possibilities if it were more widely used.
I think there is a balance. Usually the smartest guy in the room still needs to explain how his brilliant insight can be applied to the situation at hand.
What's so awesome about Android is that Google can't reject you, since you can just install any APKs you want. If you can't appreciate that (among all the other freedom features, like root, ADB, customization, etc), you don't really get Android's philosophy.
> pure Go AES => slower, but safer

Just curious, why Go AES is safer than OpenSSL or GnuTLS, anyone? Or safer here means something other than secure?
What were your results? What did you do it for?
Flappy Bird in Cobol!
My PhD is in discrete math and graph theory, and yet I find calculus and probability to be indispensable tools. I devise algorithms that work on images and streams of text, and yet I use power series and vector spaces over the complex numbers to analyze them.

Writing code to implement error-correcting codes doesn't use continuous math, but some error-correcting codes are best understood as working in polynomial rings over finite fields, and many of the ideas and tools are directly linked to similar structures in infinite continuous spaces.

Limiting yourself to learning only about discrete math that does not require any continuous math is like limiting yourself to using only one style of programming, or one language, or one operating system, or one hardware platform. If you don't mind being so limited, fine. If you want to understand things in greater depth and thus give yourself more opportunities and have more tools in your arsenal, learn both.

They support each other in ways you can't imagine without actually learning them.
If user convenience requires trashing server analytics, then server analytics should be trashed.

Possibly even deliberately - enabling that by default automated way in commonly used products, so that this tracking becomes ineffective and useless, and there's no more motivation to insert these artifical layers of redirection.
Heh. That app will want to access your health records in order to determine whether or not you are at risk of epilepsy, so it can adjust its flashy graphics.

Then, of course, they'll transmit the results of your last HIV test to every advertisement network on the planet.

The funny thing is that here in Germany, where consumers are heavily protected, people are sceptical. But in the US of A, where a piece of information about your health status can make you uninsurable, people are rather enthusiastic.

I'm not even entirely sure which approach will be more beneficial in the mid-term future. But for now I'll stick with my boring German ways.
I had a few meetings in the Netherlands when I was there on business, and was very impressed with the flexibility and number of people working less than 5 days. I worked 4 days a week for a year when we had a child, and that was somewhat unusual (for a man in Australia).

I'd much prefer increased flexibility over less hours.
Can we not just accept that "hacker" now has two meanings?
Most support is 8-18x5.
we worked with TI OMAP3 and 4 and we had the full source code of the driver stack, it was available under NDA. I am sure Apple has access to the same
It must be said, some of the best shots I get are straight down. If in doubt, velcro more cameras to the thing. MOAR!
Ask HN: How do you reach Quora with feedback?
They are so closed, I can't even find how to raise a concern, on the site. And that's what I wanted to raise a concern about.

Well played, Quora. I can see someone there knows Godel.
How a One-Person Business Can Break $1 Million in Sales
see my other comment, you can get the Imagination driver source code under NDA
Show HN: Using SEO techniques for a SWOT analysis of SoundCloud
Ladykillers: Hurricanes with female names deadlier
Light rail is typically used for compact urban areas. The US has lots of compact urban areas. And some of them do have light rail.

The land area argument is often trotted out by Americans ignoring that there are many other countries with even lower population density, and ignoring that population density varies greatly by area and average population density for the US as a whole is only relevant if we're asking questions about the US as a whole.

Your overall point that it's dangerous to compare is fair enough, though.

(I'm just tired of the population density argument being trotted out, coming from Norway, with a population density well under half that of the US that's a poster child for why average population density is irrelevant - things like rail etc. works well in Norway only because the main population centres covers only a tiny portion of the land mass; and that's largely true for the US too)
You seem to know a lot about this and it's something I've always been interested in:

When laws were passed to mandate 8 hour work days, what % of companies had 8 hour work days already? 10%? 20%? 80%?

Nowadays we know that total productivity is higher if you have 8 hour work days, even though you work less total hours, because your productivity per hour is much higher. Was something like this known at the time? Or was the push to 8 hour work days only so that people could spend time with their family? What kinds of arguments were used?
Hmmm, I would agree that some areas of mathematics are more "easily applicable" to programming.

However, mathematics is really all about reasoning and dealing with abstractions. A proof in linear algebra is not much different than proofs in real analysis or topology, in my opinion (the content might be very different, but the methods of reasoning are the same). So I think it really comes down to the answer to two questions: why study CS and why study math?

If we are a little more precise, and split "CS" into "computer science - the study of the theory of computation" and "programming" while also splitting "math" into "mathematics - the art of mathematical reasoning" and "a tool to solve problems" we can cross those two sets (to be a little math-nerdy :) and we get the following tuples:

(computer science, math for reasoning),
(computer science, math as a tool),
(programming, math for reasoning),
(programming, math as a tool)

The problem is that people who have little or no exposure (and some people who have lots of exposure) may not think about/be aware of the difference between each of the tuples. Furthermore, by the time you understand the differences and what your personal preference is, you may have invested too much time into one particular school/program of study/however you're learning to switch.
"Where are the Ghanaian Programmers" would have been a more appropriate title. I'm Kenyan. Articles like these presume we're operating within the same market conditions when nothing could be further from the truth. The disclaimer in the first paragraph seems to acknowledge this, but talking about "African programmers" is neither useful nor helpful IMO. All we have in common is the fact that we live on the same land mass.
So if you want to move somewhere off the beaten track your job choices are going to be:

1) Mining
2) Power/Electricity
3) Support for the above.

Most companies don't hire in the countries they operate in, since the skills just don't exist. Most sites are populated by a mix of European/South African/Indian expats who are there for a limited period (typically < 5 years)

The way to get into these types of jobs is to get hired by the European or South African companies that operate in these areas, and then ask for placement at your shithole of choice. The current rule of thumb is to ask for your SA salary * 4 or * 5 depending on how bad the place actually is.

At the moment there is is a lot of activity in Northen Zambia (copper) with companies like Yokogawa/Siemens/ABB looking for people.

Northern Mozambique is pretty active (coal/gas) with Vale/Jindal being the major mining houses and ABB/Siemens etc. providing the tech.

On the power generation side - South Africa has quite a lot of activity on the renewable side with Spanish and Danish companies taking the lead (Abengoa for solar esp.)

There is currently also a bit of a power generation boom in Ghana and Benin, but I don't know anyone directly involved.

Most of the work is in hardware, project management, or process control though. It is going to be much harder to find software only work.

EDIT: I forgot to mention - there might be more opportunity for software only work in banking. I know Barclays is currently busy with a big push up into Africa, but I am not very familiar with that industry.
> as for the argumentation - it is again the same thing! instead of "whole company", you moved to topic into "individual branches", but it is still the same - apparently, a huge number of workers is employed in places with zero profit, be it whole companies or just branches. this is an incredible claim. why would we accept that workers in highly successful branches should get underpaid, just so that a couple of barely profitable branches could remain open?

Let's do some maths then :

McDonalds 2012 profit : $5.5 billion
Revenue : $27.56 billion
Employees : 1.8 million

Revenue per employee : $15311
Profit per employee : $3055

So costs per employee : $12256

Let's say McDonalds locations vary in revenue by 25% (95%) and that the main cause is employee_cost/customer. That seems to me a very reasonable claim.

That means employees make McDonalds between $11483 and $19138 in revenue, -772 to 6682 in profit. Let's assume uniform distribution. The amount of net-negative employees would be about 10%.

Since most companies are much less profitable than McDonalds, the idea that a lot of people are effectively employed with zero or negative gain seems quite plausible to me. In the US and Europe both you could defend the idea that most people have a net-negative utility to the US and European nations (taken as a whole), a gap that gets filled by the sale of treasury notes to foreignors.

But there are whole classes of employees that will have net-negative utility :

1) government employees (government does not produce goods or services. And where it does it's financed by taxes, negating the benefit)

2) management (they don't contribute directly to work getting done)

Ideally, neither function would exist (and police and roads would simply be organised directly by the people who want to use them). I'm not saying that's realistic, but it would be better from an economic perspective.

In my opinion people often overestimate how inefficient capitalism is. There was a huge fuss about oil profits a few years back, when oil first went to $100/barrel. When you calculate how much per gallon oil company profits were (and thus how much they could be theoretically maximally lowered by nationalizing the oil companies) you'd get something like 2-3% depending on the company. This was the populist solution to bring oil back from $105 or so to $60 ...

Of course if you're living in San Francisco and see Goldman Sachs organise a bankers' convention in the most expensive hotel in the city it seems excessive, but all their costs only amount to at most the low double digits of their revenues. For the vast majority of firms, it is the low single digits.

That doesn't mean improving the "common man"'s life is not worth it, of course.
'Female' hurricanes cause more deaths, because people don't take them seriously
Because Go is a memory-safe language (unlike C), therefore a large class of bugs that have plagued OpenSSL are avoided.

That being said, the AES implementation uses fast assembly code, if possible, so some safety is lost.

In any case, TLS would have provided a better example, AES is much easier to audit for correctness than TLS.
Clojure and Pulsar would be a good fit as well.

I don't mind Go. But I would hardly consider it "fun". The error handling is a chore, it's lack of libraries frustrating and you don't get the more interesting constructs of a FP language.
I'd be happy if they fixed Mail's connection to Exchange (drops randomly - a know issue), or the terribly slow SMB - mounting Windows drives is just a nightmare. There is a fix, more like a hack really, forcing the OS to use an earlier version of SMB.

Fix those two and I'm there.
That's not the whole story.

For single parents going from 40 to 32 hours per week can be a net-neutral operation from a money perspective. The various tax breaks will increase with just about the same as your net salary drops. In rare cases you'll even end up with net a bit more than before. Going from 32 to 24 might still be the same, below that the balance shifts and you end up with less.

I just ran the numbers with one of my employees in NL and we came to this exact conclusion so she decided to work one day less. In countries with a strong social net the equation is not always as simple as time*hourly rate, your situation should be taken into account as well.
Several classes of security problem, including the Heartbleed bug, are impossible or very unlikely in a language that doesn't have manual memory management.

His assertion is theoretical...he assumes a Go implementation will be superior based on this removal of a huge class of potential problems. But, it is difficult to be certain without an audit and a lot of real world testing and experience with the library. It is not unreasonable, however, to assume that security libraries in a language like Go could be safer than similar libraries in a language with manual memory management like C/C++.

Purely functional programming and programming without side effects (as in Haskell) can also reduce some types of error and make for more provably correct software, but Go is not particularly pure in this regard...but, as I understand it, can be used in a manner that is similar in many ways. Again, this could prevent entire classes of common security problem.
There are tons of areas of CS where "continuous maths" are needed. Not only ML. And even if not needed per se, "continuous maths" can help to build intuition about discrete results.
It won't make any difference from the employers perspective other than that they'll have to do a better job of sharing the knowledge required to do the work across more employees. This is a good thing anyway. The number of fte's remains the same. The number of people fulfilling those fte's goes up but payroll will remain roughly unaffected.
Would a Python 2.8 help you port to Python 3?
Ask HN: what programming languages do you use in your work on a daily basis?
Looking at all the talk today on HN about swift and rust, it struck me how many different languages people are using in their work.

Curious to see what languages people are using on a daily basis and what they are doing with them?
it is kind of interesting to see godrone.io being mentioned here, where the f/w for the parrot drone is in go. for comparison with erlang, here it is being demoed with in-flight hot-code-reload :) http://www.erlang-embedded.com/2013/10/minimal-downtime-in-f...
Discussion: https://news.ycombinator.com/item?id=7835925

Other sources:

https://news.ycombinator.com/item?id=7838123

https://news.ycombinator.com/item?id=7837881

https://news.ycombinator.com/item?id=7837530

https://news.ycombinator.com/item?id=7837191

https://news.ycombinator.com/item?id=7836509

https://news.ycombinator.com/item?id=7839083
Discussion: https://news.ycombinator.com/item?id=7835925

Other sources:

https://news.ycombinator.com/item?id=7838123

https://news.ycombinator.com/item?id=7837881

https://news.ycombinator.com/item?id=7837530

https://news.ycombinator.com/item?id=7837191

https://news.ycombinator.com/item?id=7836509

https://news.ycombinator.com/item?id=7839076
If you're an Arch user, why would you learn a language that won't ever compile on anything other than OSX?
I've created a couple of projects in Go so far (a map server, similar to TileStache etc.) - Sure, the lack of generics is annoying, but I think the real elephant in the room is dependency and package management. The way Go expects you to organize your source code (the workspace concept, GOPATH, go get and github-repos as import paths) is a huge road block here. To this day the Go community hasn't settled on any kind of solution. If you bring any of this up on the mailing list you'll be crucified by the Go zealots who think Go's way of doing things is a thing of immaculate perfection.

If you want to be safe you will have to version your dependencies with your project. So one way to achieve this is to put your entire GOPATH src folder into your project repository. Of course this defeats the purpose of resolving "github.com/myname/myproject" with "go get". Or, more annoying still, you'll put them into a /vendor/ folder inside your package folder and rewrite all the import paths. So "github.com/myname/myproject/vendor/somepackage".

Of course, if you simply rely on "go get" then dependency hell is just around the corner when it comes to transient dependencies. A -> C-v1 and A -> B -> C-v1.1. In fact if the entire Go eco-system relied on "go get" there would be no guarantee that a library worked - upstream dependencies could change at any moment.
Oh man, I wish more services had a kids login/kids button. Watching videos with my daughter really messes up my youtube recommendations.

YT: "What do you want to watch? Some blood-drinking metal band from eastern Europe? Some fine ladies playing beach volleyball? Richard Hammond racing ice-cream trucks on fire? Or Bob the Builder?"
Angular-translate 2.2.0 released – internationalization for your Angular apps made easy
Remind me again why you need HAProxy/Nginx ? SSL support in the JVM space is first class and there are plenty of libraries that negate any need for a separate infrastructure piece.

Also the argument about initial wait times is bizarre considering you are talking about server side applications. Plus there is always Drip.
We're going to be hiring an intern for web development via aiesec (https://www.aiesec.org/#/news), I'm going to try look for someone who's good with linux, can write python, and strives to write excellent code. Going to bring them to our Sydney office. If it works out well when we start an office in South Africa we'll hire developers there too.
Well, I understand your point, but there's a limit to how much namedropping you can do in one article. There are hundreds of programming languages, each with their own little niche of enthusiasts ready to get outraged that their raison de vivre language hasn't been mentioned. The fact that Nimrod, D or Julia weren't mentioned isn't necessarily relevant in the overall estimation of the quality of the contents of the article.
There are tons of areas in CS indeed, and I am not familiar with all of them. While there are tons which require continuous math, it seems to me that it is equally true that there tons which does not require continuous math. Study of programming languages comes to mind for example.
Rather make a petition to stop people with no real technological skillsets glorifying themselves as "hacker" every chance they get. Be it on HN, their own blogs or facebook.

Making wordpress themes isn't hacking, no matter how hard you want to ride the web 2.0 train.
Concurrent Programming Made Simple
Everybody has papadagen where I work too. However I've always wondered how much getting one is decided by the difficulty of securing daycare for all children and the costs it has.

Would they still get one if the daycare was cheaper and with plenty of room for everyone or would they prefer the salary increase?
I was disappointed that they didn't use it as "The simplest possible game" in the WWDC presentation