skysight-inc/HackerNews huggingface dataset:
Sheet of Normal Paper in a Table Saw Capable of Cutting 1/2inch of Wood
Things I Hate About PostgreSQL
I mean I don't doubt it's an honest mistake, but it's also an honest mistake that wouldn't have had the opportunity to be made absent the decision to annoy the user with the signup modal anti-pattern.
I agree with the first part of your statement, but I am curious how AJAX behavior was implemented without JavaScript? Are you talking about Java? CGI? I have no idea.
The middlebrow dismissal strikes again. You think this is about the Italian Red Cross not being able to afford their mobile phone bills?

But, do go on. What other things should the rescue workers do (between digging dead bodies out of rubble and rehousing thousands of homeless) that would "make much more sense"?
Sounds like the problem is that your sample size is too small. What happens if you expand the timeframe out to a month? Or a year? That should give you books that are cited repeatedly, not just the books which have recently been mentioned by high-karma HN users.
Yes, Schematics is impressive. Thank you, I added it to my list of Python OOP extensions [1]. I wonder why you need to supply a dictionary to the object instead of keyword pairs.

[1] https://github.com/metaperl/python-oop
Examples of QML? How about official docs
http://doc.qt.io/qt-4.8/qdeclarativeexamples.html
'patio11 put it well: "Suppose your company offered 'unlimited salary'." Makes it pretty clear the social pressures that would show up.
Or 6, they spoke to the security team in the interim period of several hours between the addition of all the domains and when the author reported the issue to the security team.

Neither of us really know what's happened here, but the author at least thinks DOs actions were justified so I'm reasonably happy to leave it at that.
Direct link to paper: http://biorxiv.org/content/biorxiv/early/2016/08/25/071530.f...
Similar posters from SpaceX with a tourism theme:

https://shop.spacex.com/accessories/mars-phobos-deimos-poste...
https://shop.spacex.com/accessories/mars-olympus-mons-poster...
https://shop.spacex.com/accessories/mars-valles-marineris-po...
Don't Ride It Over the Top
Show HN: Material design in game dev
We must be using a different definition of simple. I've never seen a simple makefile.
What constitutes a startup?

Because they did have customers and revenue for the service that they offered. They had everything that is part of a business (albeit, a very slow and unprofitable one). They're missing the ability to scale since they had no tech stack to speak of, but their MVP did not really need one.
Here is a direct link to the comment I think you are talking about: https://www.amazon.com/gp/customer-reviews/R3NZHDP4ALNJ4I/re...
Which is why you'd correlate with lists of known missing and known not-missing people before digging in.
Urgent: Pre-Revenue B2B Sales Forecasting
Hi,
I need to create a pre-revenue sales forecast for a b2b ad tech product. Can someone guide me or post relevant links on how to go about it please?

-Lylah

PS: you can also email me on lylah.shaw@yandex.com
Show HN: Instana Tracing: No Configuration. No Impact. No Sampling
Still, if there's way too much looping logic strewn around the code, that's probably because the code lacks good abstractions for the most routine data access tasks in this code.

If the code used more objects, each data type would be packaged up with its own methods for looping over the data. For code that doesn't wrap every bit of data in a specialized type, you may find that a few small utility abstractions will clean up your code substantially.

The tradeoff is that you must import these functions in every module that needs to use them, since they aren't passed to your code with the object.
Think GP is referring to book titles in mentioned in comments without a buy-the-book-here link eg
"Two books i always recommend reading are 'The cathedral and the bazaar' and 'The Mythical Man-Month'."
I do like simple makefiles. I adopted a C++-project without having much C++-knowledge, and simplifying the build setup was a big step in making it mine.

Thinking that it might be nice, I tried this one instead of my own approach at a simple makefile (https://github.com/onli/simdock/blob/master/Makefile) and I get this error:

> Makefile:16: * missing separator. Stop.

Which raises kind of an important point: Simple means understanding what is happening. I have no idea why `$(CC) $(OBJS) -o $@ $(LDFLAGS)` does raise that error - and just like that it is not simple for me anymore.

Edit: Now with the tab-error out of the way, it of course does not find the dependencies. That might be caused by a strange project organization (like said, it is an adopted project) or maybe the makefile is just not complete – I'm not sure how far the auto-generation is supposed to go. Played a bit with it, but that just removes the simplicity. For now, I think that the pkg-config way is nice and explicit, and would recommend to take a look at the linked makefile if a simple one is searched. Though I still would be happy about optimizations for that file!

I of course just might miss the point. Well, after all that supports mine: Not that simple after all.
Security of a system is an intrinsic property that does not change upon scrutiny. Rather than accuse those not reporting the results of their researchers we should focus on building systems that are secure like seL4. This blame game is counterproductive and distracts from making secure systems.
Canonical Lists.

I remember loving them then going to hate.

Guess it's where you are in life.
The Summer That Streaming Took Over
Then let's get rid of the with semantics too, because they add magic.

Compare:

with open("file.txt") as somefile:
for line in somefile:
print line

To the more explicit and clear:

somefile = open("file.txt")
line = somefile.readline()
while line:
print line
line = somefile.readline()
somefile.close()

But I'm still using some magic, I should be more explicit:

def explicit_readline(fd):
buff = []
char = fd.read(1)
while char != "\n" and char != "":
buff.append(char)
return "".join(buff)
somefile = open("file.txt", "rb") # just to be sure now
line = explicit_readline(somefile)
while line != "": # to be more explicit, of course
print line
line = explicit_readline(somefile)
somefile.close()

And we could go on like this to replace open with the os module file-descriptor functions, and print with sys.stdout/stderr (because more explicit, right?). But even without getting there, it should be obvious that:

* The "explicit" verison no longer behaves as the original one, because, for example, explicit_readline only handles well the NIX newline character. If I want to provide the same functionality as file.readline() I should add a lot more code.

I've reinvented the wheel for no good reason, and readability has suffered. It may also leave a lingering question in the mind of a read "why did he do that? is there some edge case that wasn't well documented anywhere and he bumped into?".

* I've seen more contrived code do a version of this "more explicit" programming style, to the point of having statements like:

def f1(number):
number = int(number)
return number & 0xff00 # or plug the number parameter in an equation, etc

* ... (not a verbatim example, but along those lines). And that code is redundant and it will fail anyway if another thing other than an int/long/float is passed. It would be certainly saner to have an assert, or simply specify in the docs that said function expects a number (which is implied in the args too).

My point was the "Explicit is better than implicit" means "be clear of your intent". And if I see someone using the attr module (which comes with the standard library), and I'm not familiar with it, I'll read into it. And for it's use case, I think it's clear enough in what it does, and how it should be used.
Sometimes (especially on mobile) it seems to be the only way to get rid of it.

I should apologize to "someguy@gmail.com" and "ihateyou@gmail.com" for all the things I've signed you up for.
5 ways to transform Grade 11 and 12 writing
HN discussion on the SuperMalloc paper: https://news.ycombinator.com/item?id=10770781
Make that surprisingly easy. Been doing it for more than a decade now, just on my house ADSL connection. It helps that a friend has agreed to host a backup MX.
Thanks for pointing that out
> If there are any vulnerabilities that ­ according to the standards established by the White House and the NSA ­ should have been disclosed and fixed, it's these.

It's too bad -- there's really just no accountability for these espionage organizations. And it seems like it will never change.
Would be nice if you could give an example, not just "use that".
There could be any number of reasons why they show angst over this:

1. They've been burned like this before and didn't have the courage to stand up for what they believed in. The author's standing up for what they believe in throws this in their face.

2. They identify with those that exploit others and feel that their behavior is justifiable because the author "had it coming to him for being so naive."

3. They are happy to accept that this is just the way things are and deal with it rather than rock the boat for the benefit of everyone in it.

4. They perceive this as just another whiner that got screwed and they're sick of listening to it, but rather than do anything about it, they just tell the whiner to stop whining and suck it up.

5. They see this behavior works for co-founders because most victims slope silently away with their tails between their legs and hope that when they model this behavior, their victims will do the same.

I say kudos to the author for writing the piece. It sucks he had to learn that lesson the hard way. I hope things turn around for him going forward.
New class of galaxy has been discovered, made almost entirely of dark matter
Has there been any analysis on the upswing in acquisitions of cloud computing and storage companies? First EMC gets bought by Dell, now Rackspace is getting picked up. Is it just in response to growth on the part of Google and Amazon?
This is not a mozilla invention. The only thing Mozilla should be ciriticzed for is that they are the last implementing this. All other browsers already support this header.

It's a bad situation, but it's based on bad decisions that were made in the 90s when the web was in its early days ("be liberal what you accept"). Hard to fix in a general way without breaking lots of stuff.
Especially since scons and cmake are in no way easy to learn, imho.
People talking about getting ink need to focus a little more on the underlying issue, the gas-lighting of greedy "founders". My employment contract & bonus contract had to all be walked out on as it was all predicated on my CEO being trustworthy. I recently met up with several other employees who didn't get paid for the end of their contracts either. The thing we liked most about talking was figuring out it definitely wasn't our problem.

> If the author's reading this, it sounds like you're fairly early in your career and learned a tough business lesson the hard way

Yeah. Second that. Experience is good. Knowing what it all actually looks like, the phrases, the mannerisms, is very valuable. You can take bigger risks when you know how the terrain rolls.

As an example of my senses getting more developed, recently I talked to a "CEO" of some startup I was interviewing and asked about someone else I liked who I knew at the company from earlier. Check this out:

"Oh, yeah [person] is really great...blah blah blah."

"So how is [person] doing?"

"Oh, well, they decided they wanted to do something else...blah blah blah."

Complete total waste of time was brewing if I didn't probe into the non-specific answer that artfully implied that [person] hadn't left the company and was soon part of my awesome team. I would have at the least researched them more. When you have to waste time on things like this, it makes getting where you want to be way harder and makes it harder to justify risks.
That is insane. Think about real world parallels:

- Leaving a window open, or a door unlocked, thereby allowing someone to enter through it, and while on your premise conducts a crime. Is this crime your fault for not sufficiently securing your home?

- Someone enters your yard because the gate wasn't locked and sells some pirated movies or drugs. Again, is it your fault because you didn't sufficiently secure your 6 foot fence from intruders?
A variant we use is:

Q ?= @

%.o : %.c
@echo 'CC $@'
$(Q)$(CC) -o $@ -c $(CFLAGS) $<

Now you can make the commands visible again via `make Q=`.

A more subjective question is, if you echo $@ or $<.
Fintech and Blockchain Is ‘Eating the German Landscape’
As many others have pointed out in the comments; Never, EVER, do work without a written contract listing everything. Does nit matter if the people you perform that work for are friends or family. If money is, or might become, involved you need a contract.

Live and learn.
Research Engineer – Servo
This quake happened at 4AM. Most people probably had phones on bedstand or charging stations rather on person.

I suspect most people knew where their neighbors were at this time which may have aided searches. Pretty much didnt need to bother with any public buildings.

P.S. I was in the 4AM 1994 Los Angeles quake. Night quakes have a little different psychology than day quakes.
Thanks for the link. Excellent text book for speech and language processing.
There are essentially two problems with combining the view and the controller:

a) Writing tests for the combined class is incredibly hard. Since you are relying on the UI framework to call your code you have very little control over when something happens (and what side effects it will cause).

b) Changing your code becomes a lot more time consuming. In an agile environment you want to be able to quickly change behavior and looks (sometimes even on the fly) which gets harder the stronger your coupling is.

The goal of MVVM is essentially to have extremely 'dumb' views that do nothing but relay data between model/logic and the UI.
I love this.

I think it gives too much weight to me.

Look at 2016, and there's a bunch of books I've linked to. I believe these are great books, but it's a bit weird to see them so high on the list.
Is Your Codebase a Hotel Room or a Home?
> Sometimes (especially on mobile) it seems to be the only way to get rid of it.

Or hit back and don't sign up at all.
By your argument, it is the right of Fedex/UPS/whatever to handle all of the parcels that you voluntarily hand over to them in whatever manner they want.
maybe not, because if triple DES were so unsafe wouldn't there be a lot more theft?
yes, you got it. the sci-fi stack exchange chops are strong in you.
Will get rid of the popup (at least in that form) as soon as the load goes down a bit. Appreciate all the feedback.
I'm sure the decision itself wasn't 'to annoy the user', but I get your point
This is not terribly on topic but that hits so close to home.

I get tonnes of emails at my, what i would assume to be uncommon [navarr] @ [gmail] address getting signed up for all sorts of things. Dating websites, Car dealerships, ugh its awful. Do they not accept @example.org which is a reserved domain? That would be a much better address to use

EDIT: You guys suck [1]

[1]: http://i.imgur.com/FaTJ4QB.png
What annoys me about it is that it requires everyone else to lose for Docker Inc. to win. It's rather like if Linus invented Git, then formed a VC-backed company on the back of it, and then tried to figure out how to extract enough money from the ecosystem so that Git, Inc. could be flipped or IPO'ed for a really big pile of cash.
That's good for finding the natural crypto people who like to break out of such crippleware restrictions, but I can't think of anywhere else in the industry where that is useful selection bias.
I understand his frustration. I'm not saying that I agree with the whole misleading or misunderstanding that may have happened.

Unfortunately we don't live more in a society that keeps their promise, word and honor. So, having everything written is a great way to protect yourself and others.

But this is a good lesson to learn: what is not written, does not exist.
It does, but it's beta and Android only: https://whispersystems.org/blog/signal-desktop/
Amazon's Move into Cars Is Only the Beginning
This? https://duckduckhack.com/
PC-BSD becomes TrueOS
Well, with implicit rules IMO you can get really simple but productive makefiles.

e.g. (not "medium-sized" project, but illustrates the simplicity)
https://gist.github.com/androm3da/9b5575fb288045775c178a4fb2...

here's a slightly more feature-rich example, still relatively simple IMO.

https://gist.github.com/androm3da/9126ff51b5b47f69b99b1e3db8...
The point still stands: these bad regimes will find it harder to do their dirty work as security increases.
#1 is a false equivalence. There really is no more secure here. The system is either secure or insecure. If it is insecure, then the only questions are how bad is it and how it could be made less insecure? If something is secure (e.g. seL4), then there is no room for improvement.

#2 is nonsense because the system is already insecure.

#3 is a straw man because we are talking about the NSA not contributing the results of their security research to the world. The other things that they do that actually making things less secure are not the subject here.
ahem Free software does not need to be gratis. There are several examples of companies which charge money for free software.
Physicists have created a 'black hole' in the lab
Their osx support killed it for me. I don't have a gaming computer anymore, and trying to run it on my mbp ran into nothing but terrible performance and constant crashes. I would switch to the playstation version, but I don't want to buy the game again, when I already purchased it and it doesn't run well.
Clojure is incredibly light weight, unless you're including the host platform.
Really good read and it highlights there's an over reliance on dependencies, especially when you don't know they're there or what they're doing.

You have no control over them, there could be security holes or they might even be malicious or just a picture of 'Guy Fieri'!
"it doesn't make economic sense"

It probably also makes no economic sense to shop at Macys rather than Goodwill or to buy a house rather than a shack. People pay more for things they want.
One thing I didn't consider until just now (sigh) is that if you're using ZFS as a backup medium (I am), unless your source drive is also ZFS (mine isn't), you're still exposed to the same bit-rot your source drive is, since that change would then get backed up to ZFS.
This same thing happens with CloudFlare & is being actively exploited. We reported it to them within the last two weeks and we were told that it's expected behaviour and that they weren't going to do anything about it.

I asked them to, at the absolute least, send an email notification to the prior-CloudFlare owner letting them know that the domain "your CF account used to control is now being controlled by a new CF account". Better yet, implement a domain ownership validation scheme.

They told us that they wouldn't be making any changes.

FWIW, on CloudFlare what happened to us was: we were moving registrars for ~100 domains, from GoDaddy to Route53. During this transition, the NS for the domains temporarily became blank; at this point CF automatically removed the domains from our CF account. The NS were then re-added to the domains on the Route53 side (<4 hours of 'no nameserver' time).

Apparently there are people out there that are looking for domains that are pointed to CF and then attempting to add them to their own CF account (automated I'm sure) -- which CF lets them do without any verification once they've been auto-removed from your [the original CF account] account.

Interestingly, the original account must be still stored in their system with the domain because we were able to re-add the domain to our original CF account without any verification; effectively "stealing the domains back" to our CF account, away from the thieve's CF account.

In this case, the "attackers" (perhaps more appropriate, I call them 'malicious actors') were able to commandeer ~100 of our domains for ~2 months, for free; they redirected them to Russian websites, torrent sites, affiliate sites, etc.

Again, this is being actively exploited on CloudFlare, at the direct expense of CF customers -- but, according to CF, it's not an issue...?!
Urban Building Restrictions: Should Everyone Crowd into NYC and San Francisco?
Get control over resource planning and achieve your multi-project goals
Count One More Gold for the US--in Math
Isn't this clearly FUD.

Of course if someone from your IP address is committing crimes and the authorities start an investigation they'll start looking into you and your family, you might be inconvenienced as the investigation goes on (e.g. have to park farther from your house because of that annoying white van that always seems to be parked in front). But, IP address is not sufficient evidence to take you to civil court nor charge you with a crime (at least in North American courts).

Regardless, has there ever been a single case where someone was committing a crime by connecting to an open wifi network?
Schema [1] does not appear to have any support for object initialization.

[1] https://pypi.python.org/pypi/schema/0.6.2
Kubernetes is definitely the technically correct solution. The only really hard part is getting started, but if you have a cloud service provider that runs a Kubernetes cluster for you then you don't need to worry about that. :P
NYC used to have tap payments for Citibank customers. It was a pilot about 5 or more years ago, IIRC. I used it until they took it away.
DDOS your competition's website. Hire rebels to eliminate socialist movement.
That woudl really suck if this ever becomes the normal behaviour. How could you ever have any trust in your co-workers/boss/team? Sometimes, these relationships need to be tighter than marriage.
What I mean is using JSON as the syntax, and JavaScript as the expression and scripting language.

Zope has this supposedly "restricted subset" of Python that you're allowed to use as expressions and scripts, but it's missing important features and isn't meaningfully safe from a paranoid security perspective, and you end up having to drop down to lower level Zope external methods to write real Python code, which is very inconvenient.

If you trust someone enough to give them access to editing templates with "restricted python expressions", then you can probably trust them enough to use real Python expressions. You'd be unwise to give somebody you don't actually trust access to even a "restricted subset" of Python running on your server. That's just asking for trouble.
Ah, I see what you mean. Well that is another level of digging into the data, love to have the time for that.
Please don't brew your own build system. It likely won't handle at least one of the following situations:

* installing into a DESTDIR

* setting custom CFLAGS/LDFLAGS

* changing prefix, libdir, sysconfdir

* cross-compilation

* parallel builds

* conditional features

* missing requirements

and will make packaging your software in Linux distros much harder than it needs to be.
Promoting Security Best Practices with Mozilla Observatory
EU copyright reform proposes search engines pay for snippets
Anyone considering a position with Mozilla should take a good, hard look at their glassdoor page first [0].

0. https://www.glassdoor.com/Reviews/Mozilla-Reviews-E19129.htm
Sometimes, I want something a little more murderous, so I tend to write this script on most systems I use:

ps -ef | grep $1 | awk '{print "kill -9 " $2}' | sh

Usually stored as /usr/local/bin/kll

I've found it's very useful for killing specific Java programs without having to killall -9 java.

(and, yeah, I should probably be using ps -efww instead of ps -ef, but old habits die hard... I've already got ps aliased to ps -ww for interactive use, so I should probably change this script...)