skysight-inc/HackerNews huggingface dataset:
It's a question of which you prefer: declarative or imperative. Having that in mind, and knowing that "readability" is a tricky concept, here is an example in LiveScript:

# utility, normally wouldn't be here
map2 = (f, xs, ys) ->
map (apply f, _), (zip xs, ys)

startsWith = (prefix, str) ->
map2 (==), prefix, str |> and-list

endsWith = (suffix, str) ->
revStr = unchars << reverse << chars
startsWith (revStr suffix), (revStr str)

"<<" is function composition, "|>" is a "pipe" or "reverse application order operator", "_" is partial application. "map", "zip" and "apply" functions are standard and have expected semantics, "chars" transforms a string into an array of chars and "unchars" does the opposite (and they all come from prelude-ls library).

This code is both shorter and easier to read (to me, at least) than equivalent for loops and it also composes better. The details of iteration are irrelevant here and so are abstracted, which means they can be trivially changed.

Of course, for "map" to be this useful it needs to be supported by many functionally oriented language constructs. It's also not the best example for anything, it's just a piece of code I wrote in a style I like, in a language I use.
It's actually legal to brew alcohol for personal use. No selling, however.
I'm a heavy Uber user and I even sold my car about a year ago because I no longer needed. I use it exclusively for my trips around San Francisco and the East Bay. I've noticed recently (past ~1-2 months) there is always surge pricing. I wonder if this has to do with drivers not being paid enough or if they internally redefined what surge means.

Either way I like Uber but I just don't understand how there is always surge pricing. This is still has not deterred me from using it but still I wonder...
Sleep deprivation increases dopamine, it's almost like taking amphetamine (Adderall).
http://www.sciencedaily.com/releases/2008/08/080819213033.ht...
There's ton of criticism on MPT. Would like to hear you on that ! Are they valid ? Should we use PMPT ?
That does sound like a disaster. I try to spend at least 6 hours a day directly available (working in the same room as them) even if they're just working on problem sets. I really love programming, and I want everyone else to love it too - so I worked really hard before starting this to make sure it was successful. I spent a lot of time with a few different teachers I hired to give feedback on my lectures, teaching method, etc. I'm trying to constantly evaluate what is working and what isn't.

My biggest failure so far was the talk I was most excited for. I put together a talk that went from doing math with voltages, to building logic gates with resistors/diodes, to building adders with logic gates, to building a register and then a really small CPU, then doing some basic assembly operations using those available items, and then showing the higher level function that was comprised of those instructions. I've always wondered how 1s and 0s can do all of this stuff, so going from the bottom up (simplified heavily) was something I thought others would enjoy hearing as much as I enjoyed writing. I really underestimated the amount of assumed knowledge I put into this talk and I had never given it before so it was greeted with confusion.

I've got some more talks I'm excited for I've actually tested out with my teacher coaches though who didn't know how to program. One of my favorites coming up is "comparative anatomy of programming languages".

I told them to budget for 4 months, we're blasting through it pretty fast though.

Pays $14/hr for projects that are for the company. So if I give a talk or they're in the office just working on a problem set, then that's not paid. But they have their apprenticeship project that will be delivered as part of the program, all of that is paid, and then any incidental projects (I may see if someone is around this weekend and wants to write some code that was really easy to abstract from something I'm working on for example). Any grey area goes their way -- for example company meetings they get paid for, or we have company training classes weekly that they've been going to and that's paid.

I basically start every morning answering questions, then I give a talk of some type and a problem set. Problem sets are basically designed to make them better at googling and reading documentation -- I don't introduce every concept, but I try to give a broad overview and then if something is confusing or frustrating I'll go into more detail. Usually just being around to answer questions is enough. I've discovered presentation mode in pycharm and phpstorm so that has been great for coming up with random problems and just walking through my problem solving process including my google queries.

Got 100+ applications (stopped counting after a while), I really wanted candidates so good I felt bad denying some of the others and that is basically what happened. I've got a really solid group of 4.

Hope that answers some of your questions, I really do want to write up everything though and share it -- including my notes, problem sets, etc. It's just about finding the time!
Last I checked (~3 months ago) Proguard was not Java 8 compatible, at least according to their website.
#3 should really say "make polymorphic public base class destructors virtual."

There are reasons why you might want to use public inheritance that have nothing to do with run-time polymorphism.
You need a collect on that first example, you end with a Vec<uint> in the second, but an Iterator<something> in the first.
A start-up is a sprint to profitability ... except it's a distance run that tests your endurance. I did this for a long time and managed a reasonable balance by paying very close attention to my pace.

When I was sprinting at full pace, I learned that I could only reasonably expect about 5-6 weeks before I crashed (hard). I always planned for a much more relaxed pace for a couple months afterwards.

On the other hand, if we had a long-term project I could plan about 55-60 hours per week maximum, but I could sustain that pace almost indefinitely while still maintaining a life.

If you're doing continuous 80+ hour weeks you need to stop now ... if you don't, your body will fail you and other parts of your life will degrade (relationships). It's simply not worth it ... a few extra bills in your pocket is not going to compensate for missing life.
'it is easier to "climb up from poverty" as a poor white person in the US than as a poor black person.'

In my specific case this may not have been true - race-based scholarships were not available to me because of the white color of my skin for example.

Rather than view everything through the lens of race, I'd be curious to see your numbers run with the split based on students of poor urban-schools vs students of better suburban schools.
Xbox and google now do the same thing. As I understand it all the sound is filtered locally for the keyword. If it's detected, then it starts recording and sends the audio to a server to be processed.
I wish the FBI would spend its time going after actual crimes- like the ones where people's money are stolen-- rather than political crimes.

But that they aren't is proof positive to me that the government does not operate for the benefit of the people, but for the benefit of itself.
Location: São Paulo, Brazil

Remote: Yes

Willing to relocate: Yes, to Europe. I have Portuguese citizenship.

Technologies: iOS, Python, PostgreSQL, MongoDB, MySQL, PHP, JavaScript, React.js, RabbitMQ

Resume: https://www.linkedin.com/pub/ricardo-borelli/8/40/608 | https://careers.stackoverflow.com/ricardo

Email: ricardo.abc at gmail dot com

I'm a Software Engineer with experience in integrating two sides of a project (example: a mobile app with a backend API, doing both at the same time or working close with one of the sides), fixing a database structure and informations (migrating from an old to a new way of doing things) and starting projects from scratch, with a total of 9 years of professional coding experience.

I'm an iOS developer since the old days of iOS 3, always an indie developer and being a full-time developer for 3 years. In the indie life I had the opportunity to build a bunch of apps that have been published sometime along the years and 2 apps that are current live in the app store (contact me for more information).
Who wants to be hired?
I'm starting a thread to allow those looking to be hired by a company a way to communicate that to the HN community. Think of this as the inverse of the "Who is hiring?" monthly threads [2] -- except this is not a whoishiring sponsored or monthly thread (yet).

There are a couple of reasons why this thread may be valuable on HN. One, it gives those interested in looking to hire HN enthusiasts a quick view of who is looking for a job. Second, it also gives the HN community a way to give back by helping other HN members find a good fit through networking.

If you're looking to be hired by a company, please use this thread to let other HN members know.

If you're looking for talent, by all means, check out the candidates below and if you see a good fit, connect! Please no recruiters, unless specifically indicated (opt-in).

If you're not hiring/looking to be hired, take a look over the candidates below and connect with them if you're aware of a potential fit for them.

Up/Down Voting: I would propose that up/down voting be reserved to help promote high quality submissions, and push down those clearly not putting in much effort or are off-topic. Use sparingly.

I am loosely proposing the following format (obviously you're welcome to use any format you'd like):

[Location], [Remote | Relocation], [Full Time | Contract | Part Time]

Stack: [Comma delimited list of technologies]

Resume: [Link to resume]

Contact: [Email address or other means of contact]

[Brief overview, what you're looking for in a company, etc.]

Note: Do not use this thread to hold meta discussion. This thread is reserved for posts by those looking to be hired.
Personally, i think that's more of a problem for the guy with the $500k retirement account. You will have no shortage of white gloved managers eager to help you invest your $25M. But anything short of $1MM you're solidly in Edward Jones territory. At that point you're probably better off keeping it stuffed under your mattress.

If you're not a multi millionare, IMO it's worth the time to learn how to manage your own money. Because nobody will ever care as much about your money as you will. A good place to start IMO is by subscribing to the TastyTrade podcast. It's the only investing infotainment I've found that treats the listener like an adult and an equal.
Hopes in the skin
#1 should really say, "Avoid new and delete." new and delete are for experts. The average C++ programmer should go nowhere near them. If heap memory is used internally by a class that was written by someone who knew what they were doing, then fine. Use your std::vector. But new and delete are huge red flags in code.
Except the issue is that many drugs affect your ability to be responsible.

If people could take heroin or ice and (a) stop whenever they wanted and (b) still function as society expects then nobody would have an issue with them being legal. But drugs like those effectively rewire the brain and are incredibly destructive. A significant amount of domestic violence, child abuse, family breakdown incidents are directly attributable to drugs. You can't blame society for not wanting drugs like those to be readily accessible.
Additionally see: http://www.telegraph.co.uk/news/worldnews/asia/china/1121688...
It doesn't make any money :)
Yeah, this whole "a responsible asset manager has to use MPT" is completely not true. A responsible asset manager has to consider risk and return, of course, but how they measure and evaluate risk and return is an art as much as a science. MPT-driven portfolios have been shown to underperform more naive formulations, mainly due to model risk and mis-estimation of parameters.
This has been around for nearly a decade. Many years ago I remember seeing fancy Google queries that popped up a list of these cameras.

The fascination now is about the same as it was then. Mostly driveways.
For a less snarky explanation of what's going on: https://news.ycombinator.com/item?id=8495498

We are working on it. Inbox was designed to be 'mobile first' and use "Material Design" animations, and pulling off 60fps animations of that style in an app like Inbox is very complex, in fact, each new version of Chrome broke assumptions and broke animations we had running previously. The Web, as a platform for competing with mobile-style interfaces, is in a rickety state at the moment, where performance is non-deterministic not only across browsers, but across versions. We often have to work with the engineers on the browser layout engines directly to resolve these issues. We're working full time on Firefox now, with Mozilla engineers helping, which is a lot easier to do now that the project isn't secret anymore.

I do think it is unfortunate that the error page advertised Chrome. I think we could have handled that better by saying "Firefox is coming soon, we'll email you when it's ready, click here" or some such, rather than putting a 'Download Chrome' link.
Try out Pop, Pop, Win! (http://kevmoo.github.io/pop-pop-win/) or any of our other samples on Firefox, Safari, or IE.

Making small, fast, compatible Javascript is critical to the success of Dart.
13 dating apps, ranked by likelihood of sex (Tinder, Grindr, etc)
What does it even mind "a noble job"? If you meant contribution (as in - maximizing total utility) then they aren't contributing equally.
I actually asked their CEO about this on PH. Building websites != engineering, and we need more of the latter. I do think there's a place for skills-based learning to take up some of the slack, but simply rehashing the same Rails/JS tutorials isn't going to cut it unfortunately.
You need a good estate planning attorney (ask rich friends), and a good accountant (ask rich friends), and a good financial advisor.

Of these three, if you believe in MPT, the financial advisor is simply a coin-operated sales guy. At a 1% fee against $25 million, your business represents $250K/yearly. That is a solid sum of money to any business.

But practically speaking, what is that financial advisor going to sell you? Odds are after you get past the glossy color printed custom, just-for-you, spiral bound investment plan, you will see a custom portfolio that will be assembled with MPT. This is the product that sell every day to every other $25 millionaire that walks in the door.

Sure, you get to tune the outcome based on your risk threshold, or other biases you may have. But unless you are rolling your own investment strategy based on your own perception of future returns across asset classes (in other words running your own micro-hedge fund) you are buying MPT.

Are there managers and funds that beat everyone else year in and year out. Yes there are. Why don't you get the chance to park your $25 million with them? Because even the choice of parking your funds with them is bound by the math of MPT.
Oops, you're right. Fixed.
This is a thoughtful post, thank you.

> Meanwhile perl's incoherence makes it very hard to write large programs and solve hard problems ...

I've been on teams writing very large systems solving very hard problems in Perl 5 for more than 20 years. I know that some of that stuff that was written in the 90s is still under active development and maintenance today, even though it's several developer generations in the past.

Perl 5 may or may not be 'incoherent'. It is certainly somewhat idiosyncratic. But so is JavaScript, perhaps to a lesser degree.

Perl 5 in the large requires some somewhat different (but not too difficult) disciplines.

But that's not so different than most other languages.

> In many ways I'd say it was the go of its day.

This made me smile! Thank you again.
How about "can say it but don't"? Their getting insulted is a price they pay, but not one I pay. They might reasonably object if I say "we pay".

And if you have never been in a situation where you are the white stranger in a group of persons wondering whether they can break out the n-word in front of you, you have missed an (obnoxiously0 amusing but uncomfortable situation.
I would never downvote someone for it, but starting a comment with "Huh?" is always incredibly annoying to me, although it happens a ton on HN. To me it reads like something you would only say if a comment was literally unintelligible, or logically impossible or something. If you changed it to "I disagree," or "What do you mean?" it would change the whole tone of the comment, at least for me.

Anyway, just a guess, I don't even have enough karma to downvote.
I think reproduction is a pretty fundamental instinct that goes back almost to the beginning of life on this planet. We're programmed to reproduce. Even people who intellectually choose not to reproduce are drawn to the sexual act of reproduction, though of course they defeat the mechanism with birth control devices.
I agree. The awful conventional wisdom that options are "riskier" than stock, that they're not appropriate for retail investors, has not done retail investors any favors. To me, it's like saying that sharp knives are too dangerous for the home cook. If you want returns similar to professional investors, you have to use professional tools. There's a learning curve, but that's true of most things in life that are worth knowing.

Edit: People downvote what they don't understand, that's fine. But if you care about this subject at some point you will ask yourself "why do retail investors underperform" and you can either throw your hands up, call it a rigged game, and blame High Frequency Trading or El Nino or whatever. Or you can look at what a professional trader does differently, and adapt those techniques yourself.
Aside from your specific point (which I liked), isn't there a kind of tension here in a systems language?

For loops are almost always going to explicitly show their allocations whereas the functional version has allocations that are not nearly as obvious.
Why Vanguard Total Stock Market? Why not SPDR S&P 500 ETF? Why not include international stocks, or bonds, or real estate? Choice of index is a hugely important decision, and can't be waved away so easily...
Right, but unless your Base or Derived class is going to pass Base*/&s to friends and/or other instances, you typically don't want your protected destructors to be virtual just so you can get safe destruction. Of course, the thing with C++ is, the longer you sit and think about it, the more reasons you can come up with a reason to do something atypical

Slicing isn't even necessarily harmful either... but I'm not sure what you had in mind.
This is actually one of the design decisions behind discourse.org - its hotly contested for much of the same reasoning. Expert users 'get' threads quickly, and cant even begin to put themselves in the shoes of an internet newbie.
The parent specifically referred to distilling (making spirits) at home, which is in fact illegal in the US without a license. Laws vary in other countries, though this seems pretty common (with the exception of NZ, apparently).

http://www.ttb.gov/spirits/faq.shtml

This is different from brewing beer, cider and winemaking, which are quite differently regulated.
Interesting. I've never taken amphetamines, but I'm not surprised to find that this is the case.
Ok, that's a good example. Your one-liner is pretty concise and the intent is clear.

I think on a higher level with complex code, you definitely want better abstractions to convey intent, rather than say just having one large function that does everything.

I think in many cases map/filter does in fact help with readability of intent, especially if you're not declaring the function body inline, and the functions are commonly available ones like parseInt. But generally this isn't the case, which diminishes the readability such that it's comparable to a for-loop anyways.

I spend most of my time trying to figure out exactly that -- the higher level abstractions that aren't easily conveyed by "map" or "filter", that having map/filter generic functions isn't high on priority. I just want a simple language that I can spew out thoughts onto uncompilable code... tweak the code often as I see fit, and work on fixing type errors later and once I'm done with that it will probably run fine with few bugs. The nice thing about for-loops is that it exposes more control points e.g. breaking out early, using the index, inserting log lines -- that the flexibility helps me mutate the code quickly.

So maybe it's more about coding style, rather than readability. Do you like to spec out your code completely before writing things down, or do you prefer to define the spec as you write and edit the code because it helps you get things done faster?
On the bright side it leaves us in the same position as man has always been- rather charted territory.

I've been skeptical of Tor et-al from day one. I didn't have provable reasons why, but the court has always served as the gatekeeper to investigation, and the Tors of the world seemed like the sort of hubris we techies are so prone to- "Age-old social justice problems man has struggled with for thousands of years can be trivially fixed with my technology!"

It is my opinion that we (techies) overestimate ourselves. Tor is useful, but it would have to be perfect (which no technology can be) to protect you from the flawed judicial system. Which is why I think we are destined for heartbreak, and the longer we forestall that realization the worse off we will be, for we will ignore the judicial system and allow it to become ever more broken.

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
Promiscuous use of shared pointers is a code smell.

std::unique_ptr (or its predecessor, boost:scoped_ptr if you don't have access to C++11) should be used all over the place. There are many reasons why you may not want by-value containment of objects, and std::unique_ptr gives you object-lifetime ownership of pointers.
That's awesome, and I think it's very brave of you.
Are you serious ?

Selling drugs is illegal. Hence running a website to sell drugs is also illegal. Of course the government is going to shut down the website or any other sites where there is clear evidence of criminal behaviour. The criminal case against Blake et al over whether they ran the site is a separate issue.
More specifically, Dart on App Engine via Managed VMs. (Dart was already runnable on Compute Engine instances.)

App Engine is a subset of Cloud Platform services and is a platform-as-a-service (PaaS) offering – auto scaling, a scalable datastore, logging and other managed services and guarantees that aim to substantially reduce your DevOps.

By contrast, Compute Engine (and its closest competitor AWS) is more an infrastructure-as-a-service (IaaS) offering – provision your instances and run anything you'd like on it, as well as choose from available resources like load balancers and firewalls to meet your needs.

Managed VMs attempt to offer the best of both worlds: the managed scalability of App Engine with the choice and flexibility of Compute Engine. Through a Docker-based container approach, App Engine scalability guarantees are still kept while allowing you to run your own language, like Dart or Node.js, and services.

My Dart app, http://woven.co, has been running on Compute Engine, and I plan to move it to App Engine.
It's some guy's weekend project that took off, and it's too clever to use plebian nonsense like a database.
Umm... Am I just interpreting you wrong? Python has map in the builtin namespace:

>>> map(lambda x: x*5, range(5))
[0, 5, 10, 15, 20]