skysight-inc/HackerNews huggingface dataset:
Go's strong decisions around formatting (`go fmt`) are another example of planning for enterprise-size. There is no need for a style guide for go programs - it's built into the language, and with an approach that feels less pedantic than Python.

How is that different from the 40 years old Unix utility indent? Pretty much every single non-trivial programming language has its own code formatter. Auto code formatting is neither novel nor unique to Go.
It is not a black and white situation probably. Golang is better because it has built-in channels and encourages users to take advantage of them. It also has garbage collection. So those 2 things right of the bat help.

But there are better things out there -- isolated heaps (Erlang), borrow checkers (Rust), stronger type systems and immutability (Haskell) etc. There are no magic unicorns so those things often come at a price -- sequential code slowdown.

Getting back to go. One can of course say, "Oh, send only messages. We are all adults here. Let's just agree to be nice. Stop sharing mutable memory between goroutines!" But all it takes is "that guy" or "that library", doing it "that one time" and then there are crashes during a customer demo or during some critical mission. It crashes and then good luck trying to reproduce it. Setting watchpoints in gdb (or the equivalent Go tool), asking customers "Can you tell me exactly what you did that day. Think harder!" and so on.

Also, as others have pointed, with Golang though, often it is run with just one OS thread backing all the concurrency. So many potential races could be just be hidden.

There is also some confirmation bias involved. When something is broken, often authors don't write blogs about it, don't advertise. They fix it, and move on. So maybe a lot of programs are full of concurrency bugs but just nobody is blogging about it. They've invested time and energy into learning a new ecosystem and now they have to blog about its flaws and so on. That is hard to do.

Another observation is that when spending a lot of time debugging and handling segfaults, pointer errors, user-after free errors, concurrency issues, that becomes the default and expected view of how programming works. It becomes hard to imagine how it could work another way. It becomes obvious that weeks would be spent tracking one concurrency bug or having to add cron jobs to watch for crashed programs and restart them because the system is so complex and non-deterministic, replicating the bug is too hard.
A janitor does not need much training for his work. So he can start working full time much earlier than an engineer, who most likely went to school for an extra 6 to 8 years to train for the job.

It would be totally unfair for an engineer to miss 8 years of salary, amass a huge student loan, and still be paid equal to a janitor.
Show HN: QKSMS, an SMS replacement app for Android
yes it's easier to fire and wait for async tasks in parallel - but I specifically mentioned processing serial async responses, i.e. sequentially like a normal for loop.
Personally, I like to learn any language, regardless of how popular it is. It's just fun.
I seem to stand corrected.

I guess we'll have to watch this story very carefully.

I'm also "in" the security industry (I'm applying to my first jobs, but that is my chosen career path), and I do not believe Tor is sufficient to protect one's identity; but it irks me when people dismiss it outright because it has flaws.

The flaws are serious and should be better known, but nothing will ever excuse you from maintaining proper OPSEC and employing defense in depth.
> a couple Cortex M4 cores, presumably for realtime logic like the PRU's

Those M4s in that link are labelled 'IPU's. Can Image Processing Units be so easily used for general purpose programming as PRUs?
I did phone numbers validation in the front end, and I yes the expected couple hours ended up being multiple days of works and I ended up using google's validator!

thanks for the jquery plugin, I'll definitely keep it in mind!
In college in the late 80's I lived above an individual who had some anger problems. I finally got fed-up with threatening and calling the police when he'd have punching fights with his GF so I took a 15" Electro-Voice subwoofer and mounted the speaker downward facing directly to the concrete floor using concrete anchors with my apartment serving as a free-air enclosure. I then connected it to a class-a tube amp & piped in a 20Hz signal from a frequency generator I got from a university yard sale. Whenever he was alone in his apartment at night I'd turn it on. He moved out within the month. Interestingly enough, the landlord later saw the setup and I was subsequently evicted.
We have special checked types you can use if you want checked arithmetic. The default is to not check, because CPUs currently make it expensive to check (although I would love it if that could change--we need hardware support though).
Disaster at the speed of sound: the tragedy of SpaceShipTwo’s final flight
Feel free to ask any questions here!

The app has been in testing for a few months now, and in that time it accumulated over 20k members in the G+ tester community. Today, it's finally being released for the masses :)

Side note, I'm publishing an update in a couple hours to fix some of the crashes that have been showing up in this update
Direct TV Problem
Not jobs. Maybe an internship. I self-educated starting at a young age, and started almost every job until recently with a very low paying trial period. If someone is showing interest and room for growth, they may qualify for that. It's more of an investment than a hire at first.
In what way are send and recv fundamentally broken?
> show how to easily trigger races & deadlocks? I mean, the Go team needs to be aware of these problems and provide a fix or something.

You mean file a bug like "issue #1935 -- stop sharing memory between goroutines" (I just made it up to be silly there is no such bug report)

In other words, they have explicitly designed in the ability to share memory between goroutines. You can certainly file an issue or bug report about, somehow I doubt that will lead to much but being kickout and laughed at.

One can also just have 2 goroutines wait on each for results and that's a deadlock. Maybe there is a tool to detect that would be nice. Do you know of one?
Congratulations on your success and thanks for answering.
Anecdotal support; Uber is keeping me from purchasing a car. I have an inexpensive motorcycle that handles 95% of my rapid transportation needs, and I try to live in areas where walking or mass transportation solve my "slow transportation" needs. I use Uber for all the edge cases where walking or motorcycling doesn't cut it, and I cannot see any scenario where I'd prefer to own a car and drive myself compared to the ease and reliability I have experienced with the service so far. Maybe Uber won't be the king of the hill when the dust settles, but so-called "ride sharing" services absolutely are taking dollars that would otherwise go into purchasing a vehicle, a much larger market.
>I just pity Holder for mismanaging this. Or maybe there are more horrific details we haven't heard of yet.

Your pity would be misplaced; there are horrific details. A large part of the problem is that there is a revolving door between the DOJ and the law firms that represent financial firms (likewise for the SEC). Holder was assistant AG in Clinton's DOJ, then he moved to the law firm Covington and Burling where he represented the bank UBS among other clients, now he's back at the DOJ, and soon he will likely move back to the private sector where he will be handsomely rewarded for his service to the finance industry while AG.

The big picture is that the Obama administration is to Finance as the Bush administration was to Oil, but
for horrific details about Obama's economic team, read this:
http://www.vice.com/en_uk/read/larry-summers-and-the-secret-... .
The Rust vs Nim comparison is tainted by very out of date documentation hosted on some MIT servers (the condition system is entirely gone). It's unfortunate and we have contacted the web master but there's not much they can do to remove or change how it appears in search engine rankings.

For reference, doc.rust-lang.org is the only place to look for documentation for the standard libraries; any other hosting of those docs is likely to be out-of-date.
In other words, not for those dependent on consummerism and overeating.
Work with an advisor who has access to DFA. Invest for the long term. Pull funds out when you want to use them.
I didn't mean to imply Go invented automatic formatting :) It's unique among the popular language that I know in that the formatter is built into the standard toolkit. It also goes well beyond indentation. I've never seen a discussion of the format of go code outside the discussion of how `go fmt` should work - this I consider a benefit.
What's funny is that the first part of the description sounds not unlike many of the big-name companies in Silicon Valley (other than the lifelong devotion to one firm). You spend all day there, are regularly expected to work overtime because you'd be letting your fellow employees down otherwise, and now they're even building their own dorms!
Honestly to me, this book is great because there are so many fucking clueless managers and executives out there and they make work miserable. Thinking 10X bigger is something that rarely happens in a typical company. The recruitment process is shit as well, we have at our company an inexperienced inhouse recruiter and tech interviewers who are basically looking for bare minimum skills, fresh out of university people who can't find jobs elsewhere. Pumping out projects as fast as possible with inexperienced people is great for short-term profit but horrible for any longevity. This book would turn around and give them evidence and proof that the new world is smart people who want to work on hard problems.
Slide 20: Push notifications from HTML5. Is that what their saying? That would be an interesting feat.
How is MPT supposed to determine the risk in an individual security? The human element, and the number of variables under consideration seems to pretty much require MPT to be restated as "an approximation to a mathematically ideal portfolio for a given amount of risk". On the other hand, I don't know MPT at all. Can you give any info on how risk is quantified so well?
> As a sidenote I find it bitter satire; people who cannot accept the will of others seeking tools to forcefully impose their own morality on the world instead

By this do you mean those that can't accept the will of others comprise the judicial system or those not prepared to submit to it and pursuing alternate avenues? Your comment works either way, but if you're talking about those attempting to place themselves outside the judicial system that's less them imposing their own morality on the world and simply not allowing the world to impose its morality on them.
I put the JavaScript version inside Postgresql (plv8). Was validating 50000 phone numbers per second
As far as I know, XMPP requires keeping a connection alive when you want to receive realtime messages. On most mobile OS, keeping alive that connection and responding to it requires keeping the CPU awake, which severely affects battery life.

TextSecure can use the mobile OS's built in push notifications, which gives you realtime message receipt without killing your battery.

XMPP may be superior when it comes to security/technology but TextSecure is superior when it comes to usability and practicality on mobile devices.
nice :) already excited about rust for other reasons, but that's going to be a great plus
I have seen very corrupt fee only estate planning advisors. This is unfortunately still not fool proof.
For one, there is also critical mass. Also, it's a two way street: As the price goes up, the demand tends to go in which direction?
Russia freaks me out with all its neo-nazi who don't know their own history, the sacrifice made in fighting Nazis, it's almost bizarre.

Then again the neo-nazis in Mongolia is also shocking as well.

I was learning Russian a while back, I would love to visit Eastern Europe but not sure what the general attitude is like. I do see Asian looking Russian speakers so this leaves me confused. They are not quite East Asian but Asian nonetheless.
Reminding people about something you purportedly want them to forget seems counterproductive.
I feel sorry for the unnamed YC founder who looks like Mark Zuckerberg and is now learning that he has been the subject of an ongoing joke for the past 4 years. Having a startup fail is hard enough even without having people make jokes about it.
not all gets loaded, only the classes you use.
I think the phrase actually is comparing modern men to men of the past. My interpretation is that it's teasing softer men that their grandfathers were tougher than them.

Doesn't seem to me like it says anything about women. I'm forced to conclude that this is a hot button topic for you, and isn't something relevant to the article or discussion at hand.
Blockspring (YC S14) Is Hiring Employee #1: Product Designer
Making Soup, Making Games and Setting Realistic Deadlines
It seems relatively clear that he's quite new to both languages, with maybe a few weeks worth of familiarity if not less.

From his rookie mistake of using path package instead of path/filepath to join system file paths [1], to non idiomatic naming with underscores, and what he describes in general.

It's interesting from the perspective of what a fresh perspective on both languages is, but the comments have less value once you've spent significant time with either language and used them to build large projects.

[1] https://gist.github.com/adamhjk/5a475b8dd45971a4e814#comment...
So this has occupied my thought all day- What are these signals? What "data" is being transmitted here?
it's easier than having one succeed
I don't know what to say. You absolutely did not deserve that kind of treatment. It's very disappointing to hear even a big economy like Austria is this backwards in terms of races.

I think even though this article highlights that racism transcends wealth and status I also feel like there's a strong voice,view from Americans in general of being aware and against racial prejudice where as in other countries there's not even such awareness, rather racial profiling is the norm. It's appalling.
For me - it's because Go exists in the same uncanny valley as Java. It is a language that manages to get a good number of trade-offs right, balances performance & productivity, and provides a good all-around package.

However, it's not the best at anything. If you need super performance and the ability to control the machine directly, you still need C++. If you want super productivity and the ability to quickly try out ideas and see if they work, you still need Python or Ruby. If you want to write for web browsers, you still need Javascript. If you want to write for iPhones, you still need Objective C. If you want to write for Android, you still need Java. If you want to be absolutely certain your program will work as intended when it compiles, you still need Haskell.

I guess Go is the best mainstream language available in one area, networking concurrency. And that's where we see its successes so far - Cloudflare and Doozer (Heroku's Paxos implementation) and dl.google.com.

But virtually all the money in the tech industry is made on the margins - by being the best in the world at one specific task. If you want to build the fastest, most memory-efficient database possible - you still need C++. If you want to crawl, parse, and index the most pages on the web - you still need C++. If you want to have the highest-quality graphics at the best frame rate possible - you still need C++.

I could see Go getting pretty widespread adoption within the enterprise (as in, software departments of companies whose primary product is not software), much like Java has. There, you don't need to be the best in the world at something, you only need to make the best use of the computing resources you can with the staff you have available, and a language that gives you a good trade-off works out well. But these people moved away from C++ a decade ago; the enterprise is all Java land now. The people who still are on C++ generally work for product companies where performance is critical; because of the economics of the software industry, it pays for these companies to hire a few more expensive developers and ensure that their product remains better than the competition than to switch to a more productive language and take the risk that their technology stack won't let them achieve the goals that make them competitive.
http://www.theglobeandmail.com/globe-investor/funds-and-etfs...

Look you're an adult and free to do as you please but I'll try any way, please don't sell covered calls. Its very easy to make money and fool yourself into thinking you can beat the market.

Its really the worst of all possible worlds...

you have to hold the stock but don't get the upside when it rises.
you have to hold the stock but still loose if it falls by more than the premium you still have the down side of being long the stock.

All you're doing is collecting pennies infront of the steam roller that is the market.

The reason indexing works is that you are always invested when the market has its big moves up. With covered calls you can't participate on the big moves up but you still get hammered when the market moves down.

The reason people do it is that the market can be calm for months and then move.

So you get:

small income in month 1

small income in month 2

then suddenly you either miss a 25% move up by the market as you get exercised on your calls or the market drops and you lose as the market falls 15% and you've lost not only the premium from writing your calls but also some of your principle as well.

Or put in laymans terms, the down side far outweighs the upside.

Also be careful here:

> Buying stock is a 50/50 bet. (Random Walk theory; Efficient Market). The price can either go up or down. There's no reason a retail investor should not tilt those odds a few points in their favor the same way professional traders do every day.

Please note this is just wrong.

There are actually 3 outcomes, which you should know if writing covered calls because you are essentially betting on the third option, which is that the stock stays flat, ie it doesn't move.

My whole point is that selling covered calls does tilt the odds, just not in your favour:(
I'm regularly up at 4AM.

At that time, I need to make a decision: Do I produce, or do I consume?

If I produce, I write English or code. I can get in a couple hours of this before I need to wake up the rest of the house, and it's great.

If I consume, I watch a movie or surf or something, and I don't feel all that great in the end. Where did that time go? Doing reading is better, especially if I'm gronking down technical stuff that I've been meaning to read for a while.

In any event, early morning "alone and quiet" time is pretty neat.
Many more people read the headlines of hacker news than actually click the link so today they learned some sort of joke thing about Paul Graham being tricked by someone who looked like Murk Zuckerberg.
I thought PG was building it into a joke.. the post sounds way too defensive.
you guys know that the plastic surgeons who were telling their clients they could make them look like Zuckerberg are hoping this doesn't get out, right?
I'd have to get some kind of sponsorship and visa to work and live there. I'd go there in a heartbeat if there was opportunity there.

Don't get me wrong. I lived in Vancouver all my life. I love it, it's home. But we also have the lowest salary in the country in the tech industry, we have zero protection from exploitative employers, crowded labour tech market with a small job market.
I don't think it's impossible for anyone to make money in the stock market, I just think it's impossible for me. OK, not impossible but it still strikes me as rather foolish to try. And I'm not even uninitiated, I used to work at one of the companies mentioned in this article.
http://www.railforthevalley.com/wp-content/uploads/2014/07/A...
The numbers were split not just by race, but also by parental income. Yes, if you're in the bottom 10 percentile of parental income as a white kid, it's harder to get scholarships than if you're black. Still, these kids are more likely to move up the income charts than their black counterparts, because even though race-based scholarships are more available, the other disadvantages outweigh them.

While I don't have the numbers at hand, I think it's unreasonable to expect that white children of parents in the bottom 10 percent of income are attending good suburban schools in significant numbers, because if you're in the bottom ten percent of income you probably can't afford to live in those regions, regardless of race.

I'm not saying that race is the most important factor, and I'd also like to see splits by schools and other factors. But I think parental income is extremely important, and even after controlling for that we see a very substantial racial component. If race-based scholarships were had such an overriding effect, we wouldn't be able to reproduce these statistics. If you have numbers that show that controlling for some other factor (like school quality) leaves no remaining racial component, definitely let me know, but given how large the disparity remains after controlling for parental income, I sincerely doubt it's the case.
Your release() example is kind of interesting actually, since in most cases RVO will kick in and allow you to return a unique_ptr without fuss.

#include <iostream>
#include <memory>

std::unique_ptr<int> foo() {
std::unique_ptr<int> x(new int(42));
return x;
}

int main() {
std::cout << *foo();
}

the folllowing also works:

std::unique_ptr<int> foo(std::unique_ptr<int> x) {
return x;
}

the following however will not work because RVO cannot be employed (the space occupied on the stack for the return value can't be shared with the source object)

std::unique_ptr<int> foo(bool b) {
std::unique_ptr<int> x(new int(42));
std::unique_ptr<int> y(new int(17));
return b ? x : y;
}
I think this sort of meme doesn't require the people using it to believe that it was originally anything beyond a joke. As long as it sounds funny, that's enough.
Schwab Intelligent Portfolios are launching next year, and will offer balanced portfolios with tax-loss harvesting for a low, low price of 0% of assets under management.

https://intelligent.schwab.com/
Stuck me as a really odd comparison, a "out of context" quote and a conspiracy theory.
Awesome! How fortunate you were.
The specific situation being addressed was C++03 code. But, sure; unique_ptr is harmless and mostly impossible to misuse. (Though again, to be fair, it provides little real value that the "stick it in a vector" trick didn't in 1998).

But aesthetically, I've learned to distrust any code that likes to throw objects around the design by pointer. It's untidy, and leads to needless abstraction and poor coupling. The time you spend trying to fit your objects into by-value composition is time you save later not having to untangle your knots of pointers.
Honestly this post is garbage and shouldn't be on the front page. Just because it's PG doesn't mean we should give the author a pass for such drivel.
Joking about someone's looks? Not like the person had much choice in the matter it seems. That's a level of superficiality I wouldn't have expected here.
I have no doubt that PG was joking, but comparing those of us that believe that Pattern Matching by VCs is still a factor in suppressing diversity in Tech, with the idiotic Birther Movement, is a bit of a reach.
Moving Toward an Evolutionary Theory of Cities
Yup, I didn't know he believed that you needed to look like Mark Zuckerberg to succeed. But now I know that he's actually quite obsessed with the idea!
Is Aluminum Magnetic? (2013)