skysight-inc/HackerNews huggingface dataset:
I kind of wonder how these points are true today vs. 10 years ago ...

* It also compiles to Scala.js (it's actually the independent best compile-to-JS language out there in terms of libraries, tooling and IDE support). Support for compiling directly to native is coming around nicely.

* Scala is quite far away from the kitchen sink, and many of the questionable parts have been deprecated and/or removed.

* I have never seen much DSLs while writing Scala. Sure, it's probably quite nice, but I have rarely seen endless DSLs in practice.

* The jar is around 4MB (2.12) and when writing idiomatic Scala (~ not Spring/Servlet) there shouldn't be any kind of reflection or classpath scanning happening.
Yeah, really. Law is not an end in itself, it's meant to serve a purpose instead. When people, whose jobs is instrumental to the goal, start deciding about what the goal is, bad things happen. The same is with MBAs and businesses.
+1 for moment.js. Of all the npm modules I have used in the last year, none have been cleaner than moment. It has great docs, all the features you need, and just "works." I am constantly having to come up with workarounds for React, Sequelize, whatever, but momentjs never seems to force me into an awkward position.
Watch Out: Online scammers are getting smarter, organized and sophisticated
Previous discussion: https://news.ycombinator.com/item?id=12207970
The thing I love about the eieio instruction is that it serves the same purpose on-chip as in the song. Sort of a sync point.
Some people say we reject non 24 fps out of ingrained habits, I don't subscribe to this point of view. Nobody ever complained that a movie failed its purpose because it was filmed at 24fps.

Tangent: so many movie are lacking in terms of set, direction, pacing, scenario.. why do people believe tech is the variable to improve...
Thanks! I meant to edit the URL, but I forgot. X_x
Just import attrs [0] and don't worry about those annoying dunder methods.

[0] https://pypi.python.org/pypi/attrs/16.0.0
'yoga', btw, has the same meaning in Sanskrit.
I've found pt (the platinum searcher) to be better (and even faster) than ag for codebase searches (and it can automatically pick up .gitignore etc).

https://github.com/monochromegane/the_platinum_searcher
Six Similarities Between Learning to Code and Launching a Startup
> But your whole argument was that for some serious application you shouldn't trust on cloud services, wasn't it?

Well, with everything, there are pros and cons. My argument is that I think it's silly to trust someone else with your infrastructure. There can be benefits to doing so, however, your giving up a lot as well. And in terms of cost (which is usually the main argument that I hear), I've personally never seen it work.

Your trusting someone with something pretty critical with your business, so you should think long and hard about which direction you want to go. If your cloud-service gets arbitrarily shut down or has an outage, what responses can you take to fix it? Usually not many. Thats essentially adding a SPoF, which is generally considered a big no-no, although it does happen.

> The kind of things I was doing half a year ago you couldn't run on your home connection.

I'd be curious as to what your doing then.

> just a signal that you're not doing anything great.

I guess that depends on what you mean as great. I do a lot of useful stuff: email, web-apps, file-store, home-automation, etc.
Oh young grasshopper! Your analogy is very flawed.

Competition defines your existence. It determines where you live, where you work, and what you eat. It has determined who you are and how you are made, for you are a product of evolution. It is woven deeply into the fabric of your existence, on a daily level as well as on geological timescales. It even determines how you think, according to some theories about how mental processes work.

You don't have to derive your existential meaning from competition, but ignore it completely at your peril.
> Having said that, I've now switched to fish which I don't like but it doesn't need configuring.

That's a plus, but I really don't like how unlike the standard shells fish is. That's not entirely a bad thing (c.f. eshell, which is an interesting experiment), but also not a good thing (c.f. eshell, which is AFAICT unusable).

Another issue I have with fish is its popularity. eshell isn't popular, and so eshellisms don't tend to creep into shared environments; fish is popular, and more and more fishisms are creeping into the world at large. This is not, I think, a good thing at all.

If you're putting shell examples out into the world, they should be POSIX-compatible, or at the very least an extension of POSIX; they shouldn't be some wonky other language (else why use shell at all; use a better language altogether, which fish isn't).

I'd really like to see a good reason to use fish over zsh or bash.
The_platinum_searcher (Code search tool similar to ack and ag)
Sounds like ol' Murky and ilk is at it again...
Ask HN: Lesson learned notes
Are you taking lesson learned notes from you daily-job or side-projects?

Have you experienced any positives from it?

What kind of approach/tool do you use?
Came here to say this.

I see a lot of high kicks in MMA too. I've been taught to never do that, because if the person grabs the kick (or just takes the hit) and attacks my back leg, that'll be that.

In other words, the back and forth kind of kickboxing that you see is partially a product of the fighters not being allowed to aim for disabling blows.

It's unclear to me what fights would look like and whether any other arts would rise up if the fighter protections were removed. (and I'm not sure I want to find out)
Project Tofino – A browser interaction experiment by Mozilla
They should just do whatever other people want, regardless of how comfortable they are with it.
>“Let’s go get some dirt bikes, Sarge!”

To better understand this reaction and why the police want to use this technology to their advantage in winning the cat-and-mouse game with Baltimore's urban dirt bikers, see the documentary film "12 O'clock Boys".

https://www.youtube.com/watch?v=gOMQY6k16TU

https://en.wikipedia.org/wiki/12_O'Clock_Boys
I've been very curious about Perl6's gradual typing[1] which, as I understand it, draws a lot from Haskell's type system but in an optional manner.

subset NonNegativeInt of Int where * >= 0;

sub fib(NonNegativeInt $nth) {
given $nth {
when 0 { 0 }
when 1 { 1 }
default { fib($nth-1) + fib($nth-2) }
}
}

[1] http://blogs.perl.org/users/ovid/2015/02/avoid-a-common-soft...
Totally off topic - but - check out "eieio" for another good instruction name.[1] ;-)

[1] http://www.ibm.com/support/knowledgecenter/ssw_aix_61/com.ib...
The Reduceron (an FPGA core for running pure functional programs) contains a very simple hardware garbage collector[0]. Almost definitely not the same sort of thing, though.
The inverse square law can make your life really interesting sometimes.
It's like riding a red mountain bike on a bike path with a small sign saying "only black road bikes allowed".
And in Python you can write something like:

sum([p.price for p in products if p.type == "x"])

Excuse untested code from phone, but I like it better than the ruby version.
GitMonitor on Elixir
That is literally no different than people who push regular Ruby/Python/PHP/NodeJS/Perl/etc apps to platforms platforms like Heroku

It is different. On Heroku, you have to think (a little) about server configuration, and (especially) about how many servers you need.

In the 'cloud', they're someone else's servers, but they're at least somewhat visible to you. In 'serverless', you don't see them and don't have to worry about them (one hopes).
After striving to get grep to handle multiple delicate exclusions (exclude file types, dirs etc) and dealing with BSD vs GNU grep, and trying ag and the like, I've found pt to work "out of the box", be easily configurable, and have nice defaults.

And it's even written in Go, and quite easy to extend if I need...
I feel like you about the 6-9 period, and I still prefer and fall back to getting up at 9 (or later if nothing stops me).

But if getting up late is not an option, 3am beats 6 or 7 am for me. Which is a solution for times when I have to do something early.

But again, just my personal experience. Everybody is different, and nothing is worse than telling other people "oh, you are doing it wrong, just do X and be a normal person!"
Software Circus 2016 now free as in freedom. Extra money goes to Wikipedia
I've done this before. It is hard.

It is easier if you start off with a questioning attitude. For example - in a recent interview with a CTO, I asked why their glassdoor reviews are so bad. Then mentioned that as part of MY process to find a job - if we both choose to go further, "I'll want to meet with your lead dev, marketing person, and a customer of yours". Now, you have set your expectations of them. You are putting them on notice: You care, you are experienced, you want to learn, you are ballsy (fun ballsy!).

When you find yourself "Why the fuck is this interviewer asking me the same bullshit question" or "This guy is a douche - I don't want to keep talking to him, never mind work with him" or "I don't want to waste anyone else's time...I hate their cafeteria.." Whatever. Say something simple and honest like " look, this has been informative - but I'm getting the vibe that we won't be a great fit for each other" or "I think I can help you guys out - but it seems like many challenges you face would need X or Y skill to do it really well, right?" or "I appreciate your time too much to keep going - you have a nice team but, {insert true reason here}, what do you think?".

I've had this approach turn things around where they have asked me why I want to stop the process and ask for feedback. This also makes you stand out as knowing yourself well and being able to make tough decisions. Interviewers remember how you make them feel, not the right answer to a question they already knew.
Wow, then you were definitely not the target audience!
All over, but with decent sized groups in NYC and London. Hard to quantify exactly, but see the sponsors list of the juliacon events for some examples.
I can imagine, though, that more(1) in that case would eventually fork, so that some software depended on my-more and others on his-more and still others on her-more.

And that-other-dude's-more would have a security vulnerability, and no-one would update it, and we'd all get pwned, oh the embarrassment.
For every gene, there are typically at least 3-4 names that reference the gene. In some cases, two genes have the same name- for example, OCT1 and Oct-1. The first is "organic cation transporter 1" and the second is "Octamer binding protein 1". The second was "renamed" to (IIRC) POU2F1 but there are still plenty of references to the old name even in new literature.

This is just one example. The entire gene naming area is a pile of bollocks.
> kung fu refers to anything that is acquired through determination and practice

In Netflix's Marco Polo, there is an excellent scene that conveys this very idea: https://www.youtube.com/watch?v=iIieUmp0aZ0
Don't use facebook at all?
If those recursive structures are static then it's fairly easy to map them into an array form.
Take Home Free Wi-Fi from the Denver Public Library
I disagree. The things that come up every day in practical, real-world professional software development, such as design patterns and SOLID are the things that professional autodidacts normally have plenty of experience in and knowledge of.

The things that they have missed by not taking a Computer Science degree are precisely those things that don't tend to come up, such as big-O and the behaviour of various sorting algorithms.

Anyway, here are two paragraphs on the linked page that you might like to see:

"More than just theory, this book covers many practical areas of the industry as well, such as: Database design, SOLID, How a compiler works, sorting and searching algorithms, Big-O notation, Lambda Calculus, TDD and BDD."

"One of the more subjective parts of the book, but I was asked by many people to write about these things. Specifically: SOLID, structural design, TDD, BDD, and design patterns."
This also works if you are aiming for stable software - I can't find the quote or who to attribute it to:

> The only bug-free line of code is the line of code that is never written.
OpenBSD, FreeBSD, and NetBSD all have support for the older Apple G4 and G5 hardware. Obviously being older they are kind of slow (especially compared to amd64) but if you just use them as file servers they are fine. The biggest problem with BSD on PowerPC, in my opinion, is the lack of modern programming languages. I believe on BSD you are stuck with C, C++, ruby, python, and perl mostly. No node, no Java, no golang, no rust. If you use Debian you have access to Java.
Comparing to the lowest common denominator to feel better about something is often akin to denial.
>This statement depends on who you are. Attractive males and females both get more sex than unattractive ones.

It's difficult in the sense that not a lot of people can do it.

>It's bad for society to oppress classes of people based on their gender (discrimination). Shaming people for their gender in the name of "improving society" is pretty ludicrous.

Why is it "ludicrous" for society to discourage women from engaging in certain behaviors, if it turns out that it's bad for society if women engage in those behaviors? That sounds eminently reasonable to me.

>What I believe is that people (but mainly men) should not look for sex toys as life partners.

Should they not look for chaste women as life partners, if it turns out that marriages to chaste women end up being the most successful? Should society not then encourage women to be chaste, if society cares about how many marriages end up being successful?

>Generalizing about the effects of sex on men vs women is pointless; sex means something different to every person and affects every person differently.

Why is it pointless? If casual sex tends to have some particular effect on men and some other effect on women, or if it turns out that the sort of personality traits that lead a woman to engage in casual sex tend to be different from the sort of personality traits that lead a man to engage in casual sex, why is it not reasonable for men to treat women who have casual sex differently from how women treat men that have casual sex? If the effect of casual sex on women tends to make them less desirable life partners in the opinion of men, why is it not reasonable for men to discourage women from engaging in casual sex if those men are primarily interested in long term relationships?
> As my PHP fluent colleague said to me - don't bother learning PHP or you will end up having to fix (our) Wordpress sites and thats a nightmare.

This is my life right now... lol

It's not so bad, but the frustrating part is when I talk to people in interviews about all of the great work I'm doing modernizing (the surrounding) WordPress infrastructure and the tools I've built for it, their eyes just glaze over.

I frequently get told "you're a talented developer and you're wasting your time working at X". Well, at least at my job I get to remove technical debt constantly. I don't feel like that's the case at these places I'm interviewing.
"No one hires you to «use your full potential» - they hire you to do your job. What would be the problem if Albert Einstein were to teach jnr high school science and doodling away on his personal theoretical physics at 4AM?"

I wasn't caring about the employer on that particular statement, it was about living one's full potential in general. And for Einstein parable, in practice what you do often gets on your mind before something else, it's basically the opposite of "out of sight out of mind".

"I see no ethical quagmire of putting ones' interest before the employers while fulfilling the prescribed duties, especially when considering the power balance and the fact that the other party in this relationship is usually a soulless legal construct that puts itself (and shareholders) before any employee."

You've laid out a battlefield here, a context of conflicting interests or a situation with opposing parties at least. My advice was to get away from that, because that is not worth anyone's involvement. Change jobs, do something you enjoy and care to get involved into.
The regex is compiled anyhow to a C-call subroutine using a lib. So the overhead is only a function call. I highly doubt a single inlined proc is going to give much speed gain.
I guess the difference for me between Facebook, Google, etc. and the government, is that the former can't imprison me.
French police make woman remove clothing on Nice beach following burkini ban
I've interviewed somewhere around 200 people at this point and from my perspective, the degree, university or GPA have had no correlation with how well the candidate does. Now, I interview for Ops roles and not software engineering, so this might not apply across the board for other roles, but I have my doubts.
I don't have a CS degree, and while I know not to write ten nested loops it's nice to know the actual reasons behind why it's a problem. Understanding the core principles allows for a deeper understanding of what you're doing, and as a result might lead to some novel use of something.

Not saying novel use or innovative stuff requires a CS degree, merely that improved understanding of the basics of computing will likely improve the way you fully consider engineering problems. This one's definitely on my reading list for that reason (also MIT / Stanford open courses on the topic of algorithms, etc are super helpful for this kind of background)
What is this competition?

It is life itself, it is all around you.

What are the rules?

You choose them yourself, but choose wisely.

What if I don't wish to play?

Leaving the game is easy, people do it all the time. All you have to do is stop.

When does the competition end?

When you give up, or get too unlucky.

What is the prize when the competition ends and you are the winner?

The only prize is your own satisfaction, but no big prize at the end. The daily prize is that you get to keep playing.
That's the case for some elite finance institutions, but does it happen with programming?
I still use Delphi (2010) every few weeks (and its a nice language) yet i suggest first looking at .NET and C#, certainly if just targeting Windows.
I'll try it when I get a moment, but I'll take your word for it for now. From the screenshots it looks to me very much like it'll be a single scrolling viewport, though, with a line of input at the end. So, at heart, differing in some of the details, but no more than a few, a printer printing on a long roll of paper...
Such a nice comment, shame it's wrong: https://kb.iu.edu/d/abnd

I'd mind "concat" less than I mind "cat".

Oh, and by the way, some of the people who use these commands are not native English speakers. "catenate" is definitely not a word they'd learn early on (most likely not even later on). This is not about "dumbing down the language" it is about "making it accessible to more people, avoiding unnecessary complexity".

These are supposed to be basic OS commands, not poetry.

Oh, and to add insult to injury, cat covers at least two different usages which IMO should be split up, at least through aliases.

There should be a "display" or "show" or "view" command which does what it says on the tin: it displays/shows the file.

And the second command would be the "join"/"merge"/whatever command that does the merging.

Regarding join, I'm pretty sure cat predates join.

> What I'm not sorry about is that new users have to spend time to learn the system they're mucking around in before they can be useful with it. That's not a design flaw; that's a feature.

I used to wear a T-shirt with this: http://dilbert.com/strip/1995-06-24

It's a cute joke, but it does contain a nugget of truth, seen in the elitist remark you made.
Celebrating 15 Years of WebKit
For fast grep, consider ag

https://github.com/ggreer/the_silver_searcher
Nesting inputs inside of the label is accepted practice. The w3c wiki site even provides an example.

w3.org: The label element may contain at most one descendant input element, button element, select element, or textarea element.

You just have to be a bit careful with it concerning screen readers.

EDIT: besides, there are CSS reasons for wrapping the input with a label.
> mostly here on HN

Which may or may not be an accurate depiction (as we read personal accounts and thoughts of the commenters) of a quite marginal subset of real-life IT-professionals.

I wouldn't worry too much about what's being said or not said on HN. There are great ideas and topics to be covered here for sure, but they're sprinkled on top of a giant cake made with 1-part self-loathing, 2-parts day-dreaming, and 1-part regular huff-and-puffing.

It makes for good entertainment and procrastination.

> No idea what they mean, this books sounds great to me

That being said, not knowing Big-O while doing CS or IT work seems worrying. Sure, it's not absolutely necessary for most of the grunt work. But you should definitely have the same understanding of performance issues without knowing the fancy notation and terminology. Big-O is just a notation and a formalization of these concepts, and it helps with communication. I'd say it's still better to know it.

So, indeed the book probably doesn't hurt.
$299/y
http://www.typography.com/apps/
http://www.typography.com/faq/category.php?topicID=17
There is probably some truth to this. Every single contract I have been offered in the past 2 years including the one I am currently working required PHP5.6 & 7 knowledge, git, composer, JS, the latest JS frameworks, etc. Start the job... PHP5.3 codebase w/ some old jQuery. Its an absolute nightmare. I have to go home at night and write in PHP7 just to maintain some level of sanity or I'd have to cry myself to sleep. The only thing that makes the job tolerable is that I was able to load xdebug on the dev environments (though it doesn't always work b/c of all the redirects - it still is good enough to get me 90% of the way there).
To me, the takeaway is that assumptions made for certain algorithms may lose their validity within ten years. Exchanging 32GB over the Internet was absurd in 1993, when Blowfish was published. With video becoming a bigger part of the Web and Internet speeds going up, it may eventually stop being that way.
The excerpt on the Boolean Satisfiability Problem reads

> The basic concept that people have figured out, so far, is that a number of NP-complete problems can likely be solved if we crack the Boolean Satisfiability problem.

And

> If NP-Complete problems get resolved, it is likely (though nobody knows for sure) that we'll crack every NP-Problem

Isn't the definition of a NP-Complete problem exactly that it is in NP _and_ every other problem in NP can be reduced to it in polynomial time. So we know _for sure_ ([Cook71]), that as soon we have a polynomial algorithm for SAT _every_ problem in NP can be solved in polynomial time, and not just some of them as the excerpt claims.

Am I missing something? Because this seems like a very confusing, if not downright wrong, way to explain NP-completeness and its link to SAT.

[Cook71] Cook, S.A. (1971). "The complexity of theorem proving procedures". Proceedings, Third Annual ACM Symposium on the Theory of Computing, ACM, New York. pp. 151–158.
Just wow! The great hacker news community that doesn't like being tracked and loves privacy is using facebook! What a bunch of hypocrites!

A small tip for you...

https://www.facebook.com/help/delete_account
How to Build a Simple Backdoor in 30 Lines of Code