skysight-inc/HackerNews huggingface dataset:
I just checked and it's mentioned in the elf and ld manpages. It should probably be called out more, but there is at least some documentation for it.

from man elf:

.note.GNU-stack
This section is used in Linux object files for declaring stack attributes. This section is of type SHT_PROGBITS. The only attribute used is SHF_EXECINSTR. This indicates to the GNU linker that the object file requires an executable stack.
That's not an analogy, that's trying to directly apply the sport to another device. That would be like saying an analogy to soccer is kicking basketballs into hoops. The most natural thing to do with a car is to drive it and the most natural thing to do with a gun is to fire it. And running over paper targets instead of racing would probably be an improvement in motorsport safety ;)
"Rust is a much more complex language, with no formal semantics forthcoming"
"All of this would require new deep research"

That's what my Googling showed me. Good call. SPARK, C subsets, and embedded Java still winning in this area.
They say it a few different ways on their site. Regardless, it's research, so we'll see if they even figure it out! I hope so, though.
As discussed earlier today, but without the obvious conclusion called out: https://news.ycombinator.com/item?id=11601725

I'm surprised the stack is still left executable. They should have taken the 64-bit transition as an opportunity to change the defaults.
The government wants your fingerprint to unlock your phone
Definitely. I think that's why companies that do this (like SpiderOak and Keybase) implement client-side web crypto for convenience use but provide a pretty visible warning about the potential pitfalls compared to the desktop app, so users can make an informed choice.

A lot of people are researching solutions like the app-cache approach to try and fix this, fortunately it's getting better!
I am not able to understand which parts of your comment are sarcastic and which aren't.

Are you saying you assume candidates did not prepare? If so, then I think you clearly have a problem with how you perceive candidates and you should work on that instead of dismissing candidates so quickly and believing it's their fault.

Even a candidate who performs badly in the interview may have spent a ton of time preparing. They may just honestly not be the right choice for the role, due to technical mismatch, even though they have an excellent work ethic, they studied, they had their friend come over and role play interview questions, they couldn't sleep the night before worrying if the cheap suit they borrowed from their uncle is going to make them look bad, etc. etc.

You should basically view literally every candidate as a person who is trying their best. If that turns out to be false, oh well -- it's not your business to care about forming opinions about candidates who you think weren't giving their best. Just assume they were, that it didn't work out, and move on.

Again, I may not be reading your comment right. But if you feel it's "charitable" to assume any given candidate sitting in front of you studied hard, cares about the job, works hard, and really wants to present themselves well, that's just nuts.
> The biggest problem with init is that it's just init.

Why does init have to service supervision? What's wrong with having init just launch the service supervision process and afterwards just reap dead processes (which allows init to be a very simple program indeed [1]).

As for the requirements to the init+rc system.. mine look a bit different: it should be reliable and predictable first.. performance not so much.

OpenRC works pretty well for me, the only thing I would change right now is to replace that start-stop-daemon rubbish with runit (and there is work under way to allow that if I am not mistaken).

Now you will probably say that anything still using start-stop-daemon is strictly worse than whatever systemd does, because it won't restart the daemon at all if it crashes (and is ugly in some other ways too).
I would agree with that in theory, however in my case this happens rarely enough that it is the smaller evil versus the systemd system sometimes not booting properly at all.

[1] https://github.com/rxse/lyrica/blob/master/lyrica.ml
In this case "the most poorly maintained" happens to be the most used. Only on BSD have I seen rc.d scripts that are not full of redundant boilerplate. Although of course I've not checked every distribution there is, but on those i've used and still use I find a lot of scripts that reinvent racy ways to deal with pidfiles and to let the environment of the shell from which you call the script leak into the service.

I agree that it doesn't mean that rc scripts can't be written properly, but it is a rare occurence on many distributions.

Some issues that I've had with SysV init scripts that disappear with systemd :

* a service having different fd limits when started manually than when started at boot because ulimit values leak from the shell from which you call the init script to mysqld

* a service suddenly having encoding problems because the person who restarted it used a different locale than the one who initially started it and the environment leaks

* countless scripts that fail to properly kill the process

* restart methods that randomly work because it tries to start the new process while the old one hasn't been killed

And all of those on popular distributions. All of those problems go away with systemd.

Not saying it's the ultimate solution to everything, it has it's faults and I'm open to considering other systems but SysV init had to go.
Your PS is particularly annoying when the result is from an 8 year old forum thread, and the thread was closed with "this thread is too old; use Google."

To comment on the headline, I am an experienced developer who also uses Google and DuckDuckGo several times per day. It's often faster to look up a method in the Java or Ruby stdlib that way, rather than navigating through the official docs hierarchy.
How do you keep a good work/life balance
I left my last job because of burnout but now after 2 years here I'm picking up the same bad habits, checking email and doing extra work on weekends. I know one of the triggers was getting a work laptop, which I now use as my primary computer. How do you keep a balance between life and work?
Smart guns in the context of this article. They are not self-firing, they just identify their operator.
I mean, that's great if you build things that screenshot well, or can open source. But say you've worked on closed source network code for the last 8 years. Stuff poking around with embedded systems or fpga's aren't really clone and run, you need some hardware.
This only works if you trust the owner of destructible.io.
are there any potential cons to switching the linker to default to adding stack protection? I'm trying to think of any legitimate use cases for an executable stack, and can't think of any. It should definitely be better documented, but I'm wondering if we could just change the default behavior and have done with it.
When I am struggling and things are too generic, I even use the Stack Overflow Query interface[0], if you are a SQL Server nerd you can even get the execution plan and do whatever you can dream up.

For example: https://data.stackexchange.com/stackoverflow/query/edit/4811... sum and average of posts score who have a comment starting with the word hacker or news.

[0]https://data.stackexchange.com/stackoverflow/query/new
Even if I didn't find Haskell or CS interesting (which I do), I'd still find Simon a nice, funny and engaging speaker. At least judging by the talks I could find online. Researchers, and especially computer-related researchers, sometimes sound arrogant. But in all of Simon's talks I could find, he sounds like a genuinely nice guy. And funny! He sure knows how to give a great talk.
For a long time I felt the exact same way (also big mitted), but I got challenged to leave the Springfield at home and use a borrowed G17 for a week long course. I still prefer the M1911 for sport, and satisfying my need to constantly tinker (yes my feedramp is polished and ejection port flared). But if I were pressed - I'd begrudgingly go with the utilitarian choice offered by Glock. But everybody has their reasons for developing preferences in their tools: I will give up my modal text editor when they peel my cold dead fingers from around it.
After all, could any other artist convince a major music publication to integrate a custom font?

“How many people can just say ‘Hey, I’m changing my name to this symbol so can you use it from now on?’ and everyone’s like ‘Alright. Okay. No questions asked. You’re Prince! We’ll do it!’ It was kind of funny to me.”

Then again, music journalism is probably a business where they are accustomed to seeing all kinds of diva behavior.
"Likewise, you almost certainly wouldn’t nix a garment purchase because the zipper isn’t YKK."
Until now.
gcc uses it for their nested functions extension to C.
I think one important difference is that Zynga was always essentially an exploitative company. Amazon and Apple clearly deliver customer value; I'd argue that Facebook and Google do as well. All of them are building multi-decade relationships with their users.

Zynga, on the other hand, was the unholy child of an MLM scheme and a slot machine, a supposed games company that provides very little fun and quite a lot of addiction. So it's not clear to me that anybody there benefits from a long-term orientation.
Often they're the same. But once in a while a director like Stone will go his own way, luckily for us.
50'000€ Prize for Compressing Human Knowledge
Using docker for django development
Awful, clickbait headline. Here is the relevant analysis of the rule change:

"The amendment would allow them (FBI) to issue warrants to hack into and seize information on a computer if its location has been “concealed through technical means."

In other words, if you're using Tor or similar, a judge out of jurisdiction (the critical change - since the jurisdiction of a Tor user is necessarily unknown) can now sign a warrant to have your data/stuff seized.

Problematic, but kind of a far cry from pre-declaring criminality.
U.S. spy court rejected zero surveillance orders in 2015: memo
Does "anonymity software" include VPN as well?
Exceptions are not discouraged, using them for flow control is.
There are I think a few reasons why exceptions are a being a little frowned upon.

The first one is that usually we do not want to rescue them,
the let it crash philosophy.
If an error happens, the the process will crash, it will be restarted,
the error will be logged, and everyone will be happy.

In the case we really do want to handle an error,
we can usually just use `case` or `with`, which are simpler, avoids to
rescuing something we did not expect, as well as some pitfalls,
for example the fact that recursive calls inside a `try` cannot be
optimized to be tail-recursive, which can be an issue depending on the case.

However, I think it is fine to use exceptions if it can avoid
deeply nested code, which was probably your case.
I can confirm, Signal will not go through initial run without access to your IMEI, even for an existing account.
The colors are embedded tiles rather than stickers, and it's made to allow the sides to twist faster and more smoothly. https://rubiks.com/store/product/rubiks-speed-cube
'Star Trek' Lawsuit: The Debate Over Klingon Language Heats Up
> marked as requiring an executable stack (in all threads)

Not a C/C++ developer here. What's the significance of this? Would it make buffer overflows easier to exploit?
"(2) A PERSON SHALL NOT INTENTIONALLY ACCESS OR CAUSE ACCESS TO BE MADE TO AN ELECTRONIC SYSTEM OF A MOTOR VEHICLE TO WILLFULLY DESTROY, DAMAGE, IMPAIR, ALTER, OR GAIN UNAUTHORIZED CONTROL OF THE MOTOR VEHICLE."

intentionally access ... an electronic system of a motor to ... alter...

If you replace a light bulb, you have violated this proposed law.
Thanks for bringing the unhosted trend to my attention. I haven't heard of it. I'm a bit skeptical about the graphic in the front page given applications often need to perform computations on the data itself. There's probably something in the site that addresses that. I'll read it in a few days and then maybe look at your tool.

Btw, you need to correct the WebCryptoAPI link in "Security and Philosophy" part of this page:

https://github.com/diafygi/byoFS

Clicking it gives me nothing. Copy-and-pasting the link results that resembles spyware. I think it's just missing a colon after http is all.
You can increase performance and fuel economy in practically any turbo-4 car by tweaking the ECM software. Modifying software you paid for in the context of your own personal use shouldn't be a criminal matter. This law seems unconstitutional.
بنت جامده تتناك في الحديقة سكس اجنبي ساخن
Yes - a common way to exploit a stack overflow is to basically "write code" in the stack and then execute it. If the stack isn't executable, you can't execute the "code you wrote" in the stack.
The Dare Stones
In that case I misunderstood you and owe you an apology. Sorry about that. I appreciate your viewpoint, even if I disagree with you. I think systemd is a bit of a sore spot for me so I'm probably a bit too insistent and forceful on this issue so if I overstepped the mark I apologise for that also.

Peace :-)
those are amazing features I didn't expect C++ to have. I wonder if 'auto' is similar to type inference 'var' in C#.
How many would you recommend for better security? The thought was that these links wouldn't last long, and the files are deleted upon expiration. But of course trusting obscurity for security is a flawed concept in itself. But looking for a good middle ground.
Using the derogatory term "Junkie", judging another's actions as "selfish behavior", deciding that you know better than others about what is a choice for them -- somehow I don't see an intention to understand.

If you look at someone struggling with addiction and all you see is these labels and judgements, how can you see the person? How can you gain a new understanding about something you believe you already know?

I am sorry you've lost close ones and I hear your pain. I imagine you already suspect that it's not as simple as someone being a selfish junkie".
I never read the closing letter and it is quite unnerving.

"If my experience serves any purpose, it is to illustrate what most already know: our courts must not be allowed to consider matters of great importance in secret, lest we find ourselves summarily deprived of meaningful due process. If we allow our government to continue operating in secret, it is only a matter of time before you or a loved one find yourself in a position like I was – standing in a secret courtroom, alone, and without any of the unalienable rights that are supposed to protect us from an abuse of the state’s authority."
I would go so far as to say anyone who brags about not using Google to look for answers (or looks down on someone who does so readily) is worse off for it. Nobody can know all the answers to every problem they will run into (this goes for any profession, not just programming) -- the first step if you don't have a quick answer yourself should be to search the internet for answers others have come up with, or at least more information.

That doesn't mean you just copy and paste whatever you find. But it means you are now more informed than you were before and can come to a better, faster solution.
auto is type inference. That's not "pythonic", that's something that statically typed languages have had for decades. Indeed, it's nothing like Python, where general practice is to pass around things derived from Object and depend on runtime typing failures.

There's also nothing Pythonic about lambdas. Come on, lisp is ancient and it has lambdas.

This article essentially says C++ got stuff that has been around for decades, and Python has stuff that vaguely resembles them, so C++ is learning from Python.
They're hoping to make producing cellulostic ethanol easier.

They found out that by combining photosynthetic pigment with the enzymes plant-eating fungus use to break cellulose down, they can speed up the process. The pigment absorbs light and produces electrons needed by the enzymes to do their work.
The only issue is the need to solve captchas because Google thinks you are scraping them.

I don't know if I am experienced or not (beyond the numbers of years programming) but I am sure "search engine oriented programming" give you a lot of advantages and connect dots that take years if you follow other routes.
They're working on Concepts, and they're working on yield (search for resumable functions). Maybe they can say "no" to "saying no"? :)
>how C++ is becoming Go

Hmm? Go has almost none of these features.
I'm sure I'm not the only one who doesn't like how these things are bolted on and shoehorned into the existing constructs, resulting in some ugly-ass syntax. Consider:

auto triple = std::make_tuple(5, 6, 7);
std::cout << std::get<0>(triple);

Ugh. And don't even get me started on "myList.push_back(5)" . "push" usually means "add to the front"; why not use "append" ?
Someone on your VPN endpoint is using Tor, so... fair game.
Honestly, it sounds pretty reasonable. Presuming that the normal standard for probably cause is required, then all this is saying is you don't have to prove where the traffic originated from.

EDIT: I read through and that definitely is the case. Probably cause is still required to issue the warrant.
And I'll give up my non-modal EMACS when....

Although the grip angle of Glocks is just plain wrong for me, I've read that I ought to try the Springfield XD if I wanted to go in that direction. Which I don't, for concealed carry I believe an external hammer is essential for holstering safety (put your thumb on it and either stop the drop if SA or feel it rising if SA/DA or DAO).

And, yeah, given that I can shoot most guns well/very well (a couple of years of JROTC rifle team with Winchester 52s, after informal starting in 1st grade or so, made a big difference, but don't ask me to wingshoot), yeah, I should give something different a serious try just to see. I'll put it on my list.
I've actually seen certain garments (usually one's meant for tougher situations) marketed with YKK zippers. Little did I know it's actually a pretty common zipper.
The transition to WebExtensions is absolutely necessary though, from both a security standpoint and developer friendliness standpoint.

The current Firefox extension model is simply too powerful. The API surface (and thus attack surface) is humongous, and extensions can literally change and replace any part of the browser's native UI with little restrictions, leaving the browser open to all sorts of phishing attacks from extensions and making it a nightmare to ensure extensions compatibility because any change whatsoever to the UI can break something. This is a large part of the reason why Firefox extensions still require manual audits while Chrome extensions don't. The status quo is not simply sustainable for Firefox, especially when considering how little resources Mozilla has to spare compared to tech giants like Google.

In addition, XUL is an archaic technology that should eventually be replaced by proper web standards in order to leverage the skills and knowledge of the entire web development community like Chrome has done. Quite a few of my web developer colleagues maintain Chrome extensions in their spare time, and when I ask why they don't offer a Firefox version as well, 9 out of 10 times the answer boils down to not wanting to work with XUL. WebExtensions will alleviate not only the problems with XUL itself, but will also offer great compatibility for building extensions that work across browsers, making the lives of extension developers even better, which will only help make the extension ecosystem even more vibrant than it is today.

The people at Mozilla have been working with extension developers however they can to enable them to port extensions to WebExtensions. If some extension developers simply choose to abandon their extensions instead of working with Mozilla to port them, that's their decision to make, but I feel it's rather unfair to blame Mozilla for this.

I use Firefox as my main browser mostly for the extensions, and needless to say, I'm a huge fan of Firefox's current ecosystem of extensions myself. The potential of losing some of my favorite extensions does suck a lot, so I understand where a lot of the frustration is coming from. However, I'm also extremely optimistic about WebExtensions and the future of the budding cross-browser extension ecosystem, and have no doubt that even if some of my current favorites end up being abandoned, a new wave of great extensions will come to replace them in due time.
Richard Stallman Talks About Ubuntu (2013)
"Computers have uses beyond hacking. Guns are for killing."

There are somewhere around 300 million guns in the United States. There were around 30,000 deaths by firearm (including homicide, suicide, and accidents) in 2013. So... approximately 1 out of every 10,000 guns was used for "killing" in that year.

If their only use is "killing", one is forced to conclude that they really aren't very good at it.
I think suggesting Paramount doesn't have a viable copyright over the Klingon language is absurd. English-to-Klingon translators and such are fun, but no, it's not a real language really used by anyone.

As someone who has done a lot of fan fiction related content, hosted websites, etc. regarding Star Trek, I hope Axanar gives up quick, for the sake of everyone who wasn't trying to turn a profit off the fandom.

Paramount has granted us INCREDIBLE leeway to create things around their IP, and has give everyone a pretty wide berth on it. I'd go so far as to say I've never seen a company so generous with letting their IP be extended and used. But there was always one clear rule: Don't make a business off of it.

Axanar crossed the line, Axanar needs to be crossed off. It's that simple.
> Only on BSD have I seen rc.d scripts that are not full of redundant boilerplate. ... SysV init had to go.

As I mentioned, this has been discussed widely elsewhere and I'm disinterested in engaging in rehash #1,020,102 of the same tired topic. But, to summarize:

* If your service requires non-trivial work done as part of startup, reconfigure, or shutdown, you must use a script or other external program to get that work done as systemd's unit files will not provide the features required to help you.

* Services that require complicated actions as part of startup, reconfigure, or shutdown will necessarily have complicated code to handle those actions. There is no way around this.

* Only on systems that used both SysV init and SysV RC did you find that gobs and gobs of copypasta. Every distro I've seen over the past decade+ has factored out common functionality into libraries and kept copypasta in the distro-supplied init scripts to a bare minimum. [0]

> ...I'm open to considering other systems...

Check out OpenRC. The minimal service management script isn't much larger than the equivalent systemd unit file and is no more difficult for a complete newcomer to read.

[0] Can you find egregious examples of copypasta and/or scripts that handle edge cases poorly? Sure. But you can find that stuff in any sufficiently large sample of code. Additionally, pushing the required startup scripting out from the distro maintainers to the maintainers of each individual project seems like it greatly increases the chance that a given wheel will be reinvented.
Motorcyclists care about gear because it exists to keep people alive in an accident. The details unfortunately matter quite a bit.
I sat next to him at a conference once (scala-exchange). Had a nice chat before the keynote started. I had no idea who he was. But when at the Q&A he started grilling the speaker the fog lifted and I realised who was next to me. And yes, he was a nice guy.