skysight-inc/HackerNews huggingface dataset:
>Even supposedly technically superior well paying work usually treats the workers like tools. Management which is often staffed by not the most intelligent has the most power in an organization. They stress coerce and harass people in order to get work out of them, work which is often earning the company multiples of what they are paying people. And that's how the whole economy is structured. It is still not is possible to be a technical person who is well paid yet still not feeling happy, pleasant, or even healthy. It can still be a somewhat miserable way to live your life. Not as miserable as being not intelligent and employable, but still can be problematic.

As humans, we have this really weird way of adjusting to "normal" - You can put us in a veritable paradise (and I'm not quite sure how else to describe the modern tech company) - or you can put us in really pretty bad situations, and either way, we're gonna whine.

I'm currently having many of the feelings you describe about my dayjob. But then I sit back and think: The worst day as a low-status technical grunt at this job is way better than the best day as a nerd in high school.

In high school, at best you are a burden. Yeah, there were a few teachers who really went out of their way to be kind and helpful to those burdens, but you are still a burden. More usually, though, your highest value use is to be torn down so that someone else can feel slightly less terrible about themselves.

Heck, I think this job is probably better on average than a few of my early jobs, which I loved at the time, simply because being treated as a thing with some small positive value is vastly better than being treated as a thing with no value, and after high school, I was so used to being treated as something with no value that being treated as if I had any value at all was absolutely wonderful.

Being as I'm now used to being treated fairly well, even small slights seem to really come to the forefront, and I find myself complaining about relatively minor social issues.
I'm struggling to understand how even the most optimistic cryptocurrency fan could think this is going to end well.
I can't seriously read an article that promotes Scheme over any other languages. We had a class in university and everybody hated it. How can you write complex program with so many parenthesis?
It's true that for extremely simple programs like the author's sole microbenchmark, non-C languages can get a speed boost over C from reasoning about aliasing. But this doesn't scale. The author's argument breaks down as soon as you ask for an example benchmark that is larger and smells like something real.
It's interesting that those experiments have been reproduced, many times even. That's not a given in the social sciences which indicates there is indeed something going on.
I doubt the local authority was making a blanket statement that there was no such thing as a programmer in the universe. More likely there was no such listing in the official guide to acceptable job titles.
So there are no dialects in Finnish? I remember my Norwegian teacher telling me the same ludicrous thing 30 years ago when I moved to Norway.
It most certainly does mean they are better at achieving performance. The real headline of the optimization bit is that they are capable of more ops per second, not that they just use less energy and are therefor cheaper. To use a more open/mainstream analog with freely available metrics, look at the performance difference in bitcoin mining between GPUs and ASIC units.
It's not. I actively refuse to use Windows and have never had any trouble installing or using F#. I've only really used it in the last 1.5 years or so, so maybe what you claim was true in the past, but it is not true anymore. There are other reasons to not like it though. For me those would be a lack of HKT and functors, and its primitive compiler optimization due to relying heavily on a VM built for a very different language.
actually it seems I did have - some extra 1G data is activated - 10 EUR but I thought it was data based triggered, not subscrition. Funny, if during month you did not use data (that sim card), it would still probably be recharged for almost whole month even do its few days till the new month.
It's incredibly satisfying to watch this unfold after getting downvoted to death and told "bitcoin is inherently flawed, BlockChain Technology is muh future" in other threads.

After spending 4 years in bitcoin and having watched all the copy+pastecoins fail similarly to alternative internets I can say that any new blockchain isn't revolutionary or innovative in the way most people shallowly believe in the hopes of finding "the next bitcoin". It's already here just accept it.
Obviously, for the same reason cyber-criminals need to wear masks when hacking stuff:

https://static.securityintelligence.com/uploads/2014/04/2014...
William Hewlett and David Packard, for a textbook example of a company built by engineers and then plundered by administrators.
I was in a similar situation a while ago. You should check out this app: https://itunes.apple.com/us/app/hearing-help/id503936600?mt=...

I went to a tinnitus clinic and they did a profile of the tinnitus I hear. Then they configured this app to amplify sounds of those frequencies to mask my tinnitus. When I'm hearing a low buzz the app can almost completely remove it, but it doesn't work quite as well with a high frequencies.

You'll need rubber ear buds that form a tight fit with your ear canal.

Since the app only amplifies sounds it doesn't really do anything in a totally quiet environment. You might want to play pink noise to give your hearing something to work with. I've experimented with different kinds of noise, but this type seems to work the best: https://www.youtube.com/watch?v=ZXtimhT-ff4
Until people start demanding security, and become willing to pay for it, the IoT is going to be positively defined by this kind of nonsense. That, or some kind of legislative action I guess, but that seems like pure fantasy.
Housing articles appear on HN quite frequently and the comments are usually quite devisive. The same people that deride owning property as a terribly illiquid investment also complain about instability with regards to rent. Yes a 30 year mortgage may cost you interest expense and yes your down payment is locked up in an illiquid asset buy one of the main things you get is stability in your cost of housing. Your 20 year old self may be fine with moving here or there,telecommuting, etc..buy your 60 year old self on fixed income may be in another boat being forced to move from a community you have been in for 30 years. Buy land...it's the only thing they aren't making more of. Take a RE investment class, learn about valuations, figure out a place where you want to live. As hard as it is to do now...IMAGINE YOUR LIFE AT 60 OR 70. Set yourself up to be in control of your life then and make the immediate gratification sacrifices now.
> Any good reason why this wouldn't be the default?

It costs time and effort for the users, not only to execute it but to learn it, troubleshoot problems, etc. It would drive many users away; in a business environment especially, that time and effort are rare and precious.
* A lot of mainstream languages are syntactic skins on top of substantially the same semantics and skill in one is easily transferrable. A person skilled in C should be able to understand a Java program, but may find similarly high-quality, idiomatic Haskell totally inscrutable.

* The number and complexity of concepts with which you should be familiar are much higher. To tread water in most imperative languages, you need to find if/else, while, for, assignment, function call, and function definition. To tread water in these languages, you will generally need more.

* The idioms provided by these languages provide for and encourage code that is more expressive (says more with fewer characters) but may be more difficult to think about and write.

* All languages are equivalent in the sense that you can simulate them all by each other, i.e. by writing a compiler from X programs to lambda calculus expressions, and a lambda calculus interpreter in Y. This result does not imply that you can always express the same concepts in a reasonable, space-efficient manner.

I do have some nits to pick with the list, though. I would consider C++ advanced, in that there is a lot you need to know and think about to work with it.

Scheme itself is very simple: the entirety of its syntax and semantics can be learned by a laymen in an hour, and by the end of a semester first-year computer science students can write their own Scheme interpreters in Scheme. Its complexity is an emergent property of the kinds of abstractions it supports, not inherent to the size and complexity of its design like Haskell or Scala.
Did someone just insult the blessed C? Oh noes!!!
You could make the same claim about bitcoin not being needed, given that we have money and a working banking system. Your POV is just as invested in bitcoin as others are in Ethereum.
"It's not a small sum, but if we had gone through the normal process of hiring an outside firm to do a security audit and vulnerability assessment, which is what we usually do, it would have cost us more than $1 million," ...

It seems like a a pretty small sum to me. They paid out amount between $100-15000 for the bounties with a total of $75000. Gauging that one of the bounties at $15K sucked up around 20% of the overall budget and there were 137 other reports - it's literally the equivalent of paying outsourced-ODesk rates for security testing in time/value.

What reason would anyone have for wanting to actively participate (not just poke-around like I'm sure quite a few employed professionals did) vs selling the exploits off on the dark web or just working in security for a company that pays a reasonable rate?
Is it still the case that for most ISPs the uplink is much slower than the downlink speed? That was one reason running anything other than limited-use servers from your home wasn't feasible.
"approached by recruiters about potential internships." - Insulting. I would add those to my never list.
Web based is because JSON is always easier with dynamic types.

Rapid prototyping is because it requires less explicit up front design due to dynamic types.

Artificial Intelligence is because metaprogramming is easier in homoiconic languages.
Libertalia's self destruction
A Research Unix Reader, by Douglas McIlroy [pdf]
Yeah, but there is no "fast JIT" on iOS and PS4 (not sure about X1) at least because they forbid creating memory pages with "Executable" bit, so usually AOT compilation is still ftw in game dev.
> web-based programming and rapid prototyping

Any dynamically-typed scripting language is good for that sort of thing. Scheme in particular is very productive because of its meta-programming capabilities and REPL-based development.

> artificial intelligence

"Scheme was created during the 1970s at the MIT AI Lab [...]"

https://en.wikipedia.org/wiki/Scheme_(programming_language)
What problems do the parentheses cause you? They've always worked just fine for me and I notice no difference between the programs I can write in Scheme and the programs I can write in other languages.
>> "What reason would anyone have for wanting to actively participate (not just poke-around like I'm sure quite a few employed professionals did) vs selling the exploits off on the dark web or just working in security for a company that pays a reasonable rate?"

The answer the your first alternative is pretty obvious: morals. That and not wanting to do jail time. To the second alternative I'm sure the people participating mostly have jobs or other commitments are are doing it for reasons other than the money.
App Development: Cordova vs. React Native vs. Xamarin vs. DIY
The title makes it seem as if he was accessing these sites without the government expecting him to. In reality, this was a federal program called "Hack the Pentagon": https://hackerone.com/hackthepentagon
They say: "you're only as good as your last performance".

So, dust off. Stay positive and do another.

It's all about how you handle your (last) failure.

Most startups fail. The fact that you tried is more valuable than the result.
This article talked a bit about putting them in cookies:

The header method is preferred for security reasons - cookies would be susceptible to CSRF (Cross Site Request Forgery) unless CSRF tokens were used.

Secondly, the cookies can be sent back only to the same domain (or at most second level domain) they were issued from. If the authentication service resides on a different domain, cookies require much more wild creativeness.

As far as putting something in the header, if you're using javascript check out superagent. It's as easy as:

request(url).set('SomeHeader', 'SomeValue');

or the latest http fetch api just do:

var request = new Request('/users.json', {method: 'POST',
headers: new Headers({'Content-Type': 'text/plain'})
});

fetch(request).then(function() { /* handle response */ });
Maybe a protocol / standard that has all the security / best practices baked into it?
Scala's JVM support can get rough. Many a developer had gone down the road of finding a library like a db driver and using it in Scala. This works fine until you deadlock your production system because your execution context ran out of threads because your db driver blocks.

So yes, while you can use Java libraries you often have to jump through a lot of hoops.
which leaves your computer open to the internet by a simple login and password on the default rdp port 3389. Not nearly as good as SSH public/private key auth where the SSH private key also has its own passphrase on it.
Apple ordered to halt iPhone 6 sales in Beijing
I suppose you could, on the SDR, but then no standard feature phone or smartphone would talk to it.
No. Bitcoin IS different. Its network is vastly larger. Newspapers became obsolete when the internet came to fruition. Bitcoin is doing the same to fiat currency. There are many intranets but we all know which one we are talking about when someone says "the internet".
The lack of details in the new 'improved' link? I feel you.
I use passwordstore.

https://www.passwordstore.org/

It simply manages gpg-encrypted files in a directory hierarchy. Very flexible to set up whatever organization makes sense for you.

I find it suits my needs.
I gave up this fight a long time ago. I thought it was frustrating because it was so blatantly wrong and unclear, but someone once said something that convinced me to stop pointing it out. It's sort of two parts:

1. Language changes, which is fine

2. If someone says "It begs the question" and follows it up with the question it "begs" (which they almost always do) it becomes clear that they don't mean "begs the question" in the traditional sense.

Clearly they always mean to say "It raises the question", but "It begs the question" also makes sense if you think about it, though it's an awkward use of "begs"
You're missing out on a huge amount of great things if you let the parenthesis stop your lisp journey. With editor support for formatting and matching they are easy to deal with. In fact the main reason closing brackets are so noticeable in lisp languages is because of the minimal syntax needed. In other languages you need to deal with statements and expressions that end in many ways such as "fi" in bash, the lack of a tab in Python, ")};" in JavaScript.
99% of English speakers do not understand it either, and misuse it constantly.
Another interesting tuber I just found out about recently (although more popular in some parts of the world) is "Tiger Nuts": https://en.wikipedia.org/wiki/Cyperus_esculentus
> Are there any good sources on what sort of generative trickery a good cracking tool will use?

Two answers:

1) It's not worth trying to keep up with, unless that's your specialty. There are people who spend days thinking up attacks; how much time will you need to spend to keep up with them?

Far more time-effective than trying to anticipate all the specific attacks is to use provably secure defenses: Passwords that are mathematically too expensive to brute force, and which cannot be guessed by other means (e.g., by knowing personal information about you). That shifts the weak link from your password to the security of your OS, network, and applications, which probably have a couple of holes in them.

2) This will give you an idea of the scope of possible attacks. Note that it's 9 years old: https://www.schneier.com/blog/archives/2007/01/choosing_secu...
At the very least, they go out of business and now your expensive hardware stops working.
KDE on Windows status update
Heaven forbid communists should dole out enterprises to private individuals, from whom they forcefully took them in the first place.

Communism should stick to the pure Marxist-Leninist principles; then all is good.
Ubuntu has "apg" which I think does something similar.

https://help.ubuntu.com/community/StrongPasswords
Reeks of an anti-C bias. This comment by the author is flat out wrong, and I quote:

"""
`int x[1000]` in C or C++ doesn’t have much meaning. It’s semantically equivalent to declaring “x” as `int *x`. You can reassign X any time you want, to make it point to a different location.
"""

C is also a pretty different language style-wise than C++. Aside from that, they're both good languages for building runtimes since their memory model resembles physical memory and they can run in an unhosted (runtime-less) environment.

Just a childish rant really.
This is true and IMO does not get enough discussion.

It's a relatively easy problem to solve, but I'm not sure that hardcoding IP addresses into programs is the best solution for users who do not compile from source.

Out of curiosity I once reviewed the source code for a certain "onion router" program and found a handful of hardcoded IP addresses. Servers at MIT if I recall correctly. If these servers are inaccessible, what is the effect?

Perhaps "bootstrapping" is simply a matter of voluntarily downloading a trusted file, containing some reachable IP addresses.

Can millions of people all download the same file? If no, then how does Firefox, Adobe Flash or Chrome get installed on so many computers?

I consider the web (cf. internet) as more or less "bootstrapped". This is because of the preference for domain names versus IP addresses. It necessitates lookups.

Bootstrapping all starts with one file: root.zone.

Since 1993, this file has not changed very often. The IP address for the server where one can download it does not change very often either.

Once I have that file, whether the root servers are working is irrelevant. Don't need them. Only need TLD nameservers, .com, etc. to be working. And of course one can download a local copy of the .com zone, etc., as a backup.

But assuming those root servers are working I do not even need this file. Long ago I memorized the IP addresses for one root server and one com nameserver.

As long as I have a means to send DNS packets[1] I can look up the IP address for any domain name and I can "surf the web". Or at least get myself out of a jam without the use of recursive DNS servers.

1. Even netcat will work, as explained in its tutorials. I do not use "dig" or BIND libraries. Nor do I ever need to set the recursive bit. I can do the resolution using non-recursive requests, using some helper scripts/programs I wrote. Interestingly, using this method beats the speed of a cold cache in nearly all cases.

For the newly decentralized web, we will need supernodes that do not pass traffic but only provide port information to allow users to connect with each other through NAT.

The IP addresses of these supernodes will be the "bootstrap".
There could be millions of supernodes.

Today, the "web" is addresses of servers controlled by companies pandering to advertisers.

The "decentralized web" is addresses of users that can connect with each other to form communities. Those communities can be connected with each other, and so on.

The "content" being served to users by today's web is largely "user-generated". But overrun with advertising and "analytics". The content is served indiscriminantly to the open internet. And even if there are access controls, because the data is centralized with a handful of companies it's an easy target for third parties who want access to it.

Tomorrow's decentralized web allows user to selectively exchange their content with each other, without the companies and advertisers in the middle. Third parties wanting access may have to be more clever and more selective.
Since Strong A.I hasn't been invented yet, I don't think anyone knows which language is best for A.I. Maybe it'll just be something boring like Java.
> The JWT library I'm using in Laravel blacklists tokens by storing them in their own table, rather than invalidating them.

The main rationale for JWTs is that it removes the session store as a point of contention (and secondarily it resolves some xdomain issues that aren't that difficult to work around anyway). If you're going to introduce a new table/cache, you're likely better off just using sessions.

Totally agree about timeout management.
I guess you meant 36 to the power of 5, instead of factorial. 36! is a much bigger number than 60 million; same goes for 1,025,109 a few lines below
sadly, there are not private messages on HN, nor is your eMail public so i'm posting this as a comment.

you might be interested in reading this

http://hyperboleandahalf.blogspot.de/2010/04/alot-is-better-...

its a minor typo which you consistently repeat :)
Same exact situation here, and for the same reasons. I was young and stupid and worked as a roadie for a rock band, and numerous other very loud activities (engine room of a tugboat, for example) with no protection. I have constant tinnitus now, but like you it is just sort of the background hum of the universe for me. I suspect that any process which causes you to focus more attention on it will not be helpful.
Scala makes it really easy to call a blocking function using a future with a configurable execution context. I don't see why one would run out of threads. Currently we use the Typesafe supported Slick library but the mechanism is the same.

Maybe I'm missing your point but as a professional Scala programmer I've never run into a problem with Jvm or Java integration
I can recommend Scala:

- It is mature and rock-solid, but still manages to evolve, fix issues and simplify/remove features. Most other languages are purely additive, meaning you will have to carry on all the baggage since the languages' inception.

- It is a language which is interested in identifying the best way to solve common programming issues and spares you with all this ideological "OOP/FP is bad" bullshit.

- It has the largest ecosystem (plus it can use all of Java's, too).

- It has the best tooling.

- It has the largest community.

- It has some great learning resources, like the three (or four?) Coursera courses starting in a few weeks.

- Its JavaScript backend is stable and production-ready, Scala-Native is being worked on.

> That said, I come from a C++ and Python background, so do I need to know Java well before learning Scala?

Java knowledge might reduce the amount of learning (as many Java things like the JVM also apply to Scala), but isn't really necessary. You will be fine.
And the crowd goes mild.
Previous (~3 years ago, 424 comments):

https://news.ycombinator.com/item?id=6186730
Prepare for a long, frustrating stand. Professional writers and journalists misuse it 100% of the times I have seen it used. I have seen a single person in my entire life use it correctly, and it was a random forum post about something stupid like a video game.

Also, you can add "droll" to the long list of misused words.
I've tried finding a camera that has a server that can encrypt traffic, and I can't. It'd be nice to have access from outside of my network but I don't trust it. It really took me by surprise how bad at security these things are. I guess I could set up some kind of vpn but I assumed when I bought it I could enable ssl or something.