skysight-inc/HackerNews huggingface dataset:
I'm not in love with White Hat as a company, but they do collect stats across their customer base, and their annual stats have shown sharp declines in SQL injection.

DOM corruption is a somewhat complex class of vulnerabilities (see lcamtuf's "Notes From A Post-XSS World" for an example of why), and it's not surprising to see we're making less progress.
Defragmentation and cleanup on traditional hard drives take longer when they're full for different reasons including the increased amount of data being managed and in many cases empty space being further away from the data being moved which will slow down moving of data to clear and consolidate free space. On a solid state drive the bigger issue is that there is a minimum size block of data that can be written in one operation. Having empty space available means that the drive can write data into that empty space without having to do garbage collection first.
> Human: where are you now ?

> Machine: Kobol .
True it will not work for most products but will work for fashion and clothing which Amazon lags bigtime.
There's nothing cynical about it. Experienced candidates know what corporations are and how they work, and they know that employment is a business relationship. Its purpose is not to make either side "happy" but to exchange value for value on agreed terms. It is not a family relationship, friendship, or psychologist-patient relationship. In that context, your question to candidates is out of line. Answering it nontrivially helps you but not them; it gives you more leverage, and more opportunities to make promises you cannot or will not keep. Your argument may be that you wouldn't do that, but how is the candidate to know? They don't know you; you just met. The sensible thing to do is to keep one's cards well hidden.
Perhaps this is too simplistic, but I think it should be cheaper to build solid-state chip than mechanical device.

But this also reminds me LCD / CRT wars. LCDs were promised to be cheaper, but it took years to amortize the setup costs, but we got there eventually.
Ecommerce Marketing: How Pinterest Drives Online Commerce [Infographic]
Somewhat off-topic, but I'm suddenly reminded of a joke proposal for Fortran to drop the letter 'O' entirely from its character set (in response to frustration regarding its confusion with '0'), the justification being that 'GOTO' statements would suddenly be impossible and therefore incapable of doing harm.
I think Elixir and Go solve different problems -- but for the problem space the author mentions here, web services, Elixir is clearly superior.
For anyone looking for a visualisation solution reasonably priced were you don't need to write SQL http://www.viurdata.com
We will be launching support for Amazon Redshift very very soon.
Mobile apps is a good idea for getting a subscription base, as long as you are totally willing to accept that most or all of your apps will make zero dollars (and in the eyes of people with business degrees, actually cost you money). Once you are doing it for the sake of having a good time, you remove the disappointment inherent from the extreme likelihood that your apps won't make money, and you remove the stress that inevitably will make you stop. And then any reward you reap from those apps will just be icing on the cake of doing what you enjoy doing. If you are strictly only about the money, then the other advice here about doing side contract work is a better idea, since it will give you surefire money immediately, though with no possibility of scaling.
You made me realize that we use 0-indexing because we confused the torsor[1] for the group. What I mean is that we may take differences between labels (numbers on the posts) to see how many posts to the left or the right a post is relative to another, and then we do this all relative to the first post. It is convenient in, say, C to do 0-based indexing because then you can add the index (the difference) to the pointer to the first element to move over that many posts, but that is different from the concept of which ordinal the post is labeled with.

[1] Quickly stated, a torsor over a group is a collection of things which support taking differences, and the differences are elements of the group. One example is pointers vs integers, since the difference between two pointers (to things in the same array in C) is an integer, and the sum of a pointer and an integer is another pointer. Another example is energy vs work, or Euclidean space vs vectors.
You know, interviews ideally go both ways. If a company was not willing to provide me with working equipment, I would likely decline any offer they might make. Not because I need the best of the best hardware or anything, but because it would be a huge red flag that they don't value the position or the people that fill it.
How Turing helped me to crack cancer code
I really would like to move to Vegas but a few people who have lived there have told me that Zappos is realistically (but not literally) the only game in town for tech. Does anyone with boots on the ground there know if this is the case or not? How does it compare to the LA/DFW/AUS scene?
> And in this way it wasn't "bad," and in fact they turned out to be some of the best things that happened to me.

In what way? And what growth can be claimed for the people killed by the Holocaust? Pardon my Godwin's law, but it's a pretty glaring example of the train-sized hole in this "no such thing as bad" idea.

And on this:

>Maybe "holy" is better....

"Holy, adjective: dedicated or consecrated to God or a religious purpose; sacred." Definitionally, if something is dedicated for a religious purpose (or consecrated), then it is separated from everything else.

If everything is "holy", then there is no "separated out"; i.e. nothing is "unholy". So then there's no separation, meaning that there's no "holy-ification".

It sounds like you're trying to start a conversation about religion based on your assumptions about religion and before you're equipped to actually have that conversation.

Speaking as a Christian, I've grown up steeped in the notion of poking and prodding my religious thought to understand it and to find answers wherever there are holes. I can do so confidently because if Christianity is indeed the truth I believe it to be, then it will hold up, and if it's not, it won't. Plain and simple.

I'd recommend trying to examine this "new religion" you're trying to start (which is really more of an epistemologically-void philosophical system) with a similar level of scrutiny.
That only costs a couple of percent. The rest is waste/fraud/theft.
Except that Go doesn't really need interop with C for many systems programming tasks because of its stdlib support for the full POSIX and associated kernel-specific interfaces, without depending on a libc at that. Along with other more generic interfaces.

Then the fact that it's practically designed to be used on top of a Unix userland, much like C. Contrast to Erlang where you live in BEAM.

FFIs in general are often bad, though cgo from my minimal interaction with it seemed tolerable by most standards.

EDIT: Don't know how FP and the pipe operator alone make things Unix-y. Erlang/Elixir definitely play in their own league and I don't recall ESR's rules off the top of my head to make a detailed comparison right now.
Zappos is not the only game in town, but yes, the relative amount of tech jobs is much lower than a lot of big cities. You have Zappos, companies like the UFC who hire engineers and designers, the gaming companies have tech teams and now all the startups moving in around the Downtown project. Still, the number is low.

I just moved here from DFW. The tech scene feels a lot smaller here than Dallas, but I'm still getting to know people after 3 years of making connections in Dallas so YMMV.

For what it's worth I'm absolutely loving Vegas so far.
Wow, this is interesting to see, as I just finished installing 9Front in VMWare Fusion (which uses rc, from which es is derived).

By the way, 9Front works pretty well in Fusion.
The problem is now more state actors than 'hackers'.
We have realized, long ago, that computers are cheap and programmers (the humans who most often read "human readable" stuff) are expensive.

We also tend to forget, or never learn, what was discovered before our careers began.
"However, they will not replace Go for a rather simple reason. Erlang is an application runtime first and a language second. It's not meant to play with the native OS all that well, instead relying on its own scheduling, semantics, process constructs and the OTP framework. It exports a minimum set of OS libs for things like file system interaction, but you wouldn't write a Unix subsystem daemon in it. Though, you certainly can - if you want to hack with NIFs, port drivers and C nodes. But then you put the global VM state at risk if some native caller blows up."

I have to disagree here. One of the best applications of modern times ever written in Erlang is Riak. It has lots os system services, they do IO a lot (it is a key-value store after all) and it works beautifully. It is using LevelDB under the hood for storing the data on disk and it is written in C++. Erlang makes it possible to have a distributed service using Erlang for the distributed parts and C++ for the disk IO combining the best of both worlds.

You are right about the potential NIF problems, but one shortcoming that can be possible worked around does not invalidate the rest of the system that is cutting edge.

How can you be sure that Erlang is great? Just look into projects like Akka and many more Scala project, they pick up features from Erlang because it simply works, easy to understand and reason about.

The notion of Erlang replacing Go is funny anyways because Erlang existed for much longer time than GO and even if you are looking in the web stack in Erlang it is pretty cool. Webmachine is one of the most stable tools out there, providing absolutely amazing latency and a state machine to handle HTTP requests.

Go as a language is new and certain way immature (like debugging and generics for example). It is an ok environment to develop in, but I would use Erlang/Elixir much more willingly for HTTP services (saying this after tried to use Go for a while but I just gave up, it was too much hassle for not too much gain).
It is important to note that it was a default judgement, the defence was struck because Tim Rourke was a no-show in court.
The more readable and accessible data is, the more "future-proof" it will be. Unless you have a specific requirement for performance, it is never a good idea to sacrifice accessibility. JSON has won the developer community primarily because it is simple, readable and easy to implement.
LeanChair
I know it is possible. But I wonder what stops us from doing it for most programs we write from day to day. And, if proving correctness is indeed important (I believe so), can we do something / what is the next thing to do to enable us proving correctness in our daily job.
Introducing Deis PRO Powered by Engine Yard
Zero doesn't have to be a special case. In ruby 0 is a truthy value, as well as the empty string. The only things that are falsey are false and nil.

Truthy/falsey means when used in a conditional or after a unary !. So you still get strong typing, e.g. false == nil is not a true statement.
Can you write a little more about your evaluation of the two?

We've been using the python celery task queue library to coordinate python ETL-esque jobs, but as our setup gets more heterogenous language and job wise we're looking for something built more explicitly for the purpose. Luigi and Airflow are both contenders.
http://mesamatrix.net/

It does, every driver independently advertises GLES 3, and while it doesn't support full 4.3, every driver supports GLES 3. That post is like three years old now.
Peiter was talking about BGP. In 1998, you had to be somewhat diligent to get to a vantage point from which you could inject bogus BGP, and the Venn diagram between those people and "nihilistic assholes" is not that scary. In 2015, you can still technically fuck up BGP, but probably not for very long, and not without burning a lot of assets. Why would anyone bother?

The hunting and taxidermy of corrupted BGP advertisements is basically what got the NANOG crowd out of bed every morning; it's a pretty big chunk of the job. I always felt like the alarmism over BGP was a bit tone-deaf. Certainly, nothing Peiter said came as any surprise to anyone who'd ever managed default-free peering.
HN Support: For a techie in need :)
Hey, my name is Andrew. I'm a graduate, designer, wannabe sports person, milkshake connoisseur and Hodgkins warrior.

Still curious: http://andrewraynes.com / check my blog out.

I've worked on many projects in the past and I was also a bit of a domainer in the past too. I'm now trying to frantically sell my portfolio of websites and domains to help fund my latest project 'Hack Cancer'. You can find out more about this here: http://andrewraynes.com/posts/hack-cancer.php.

Domains
bids.ly
rank.onl

Websites
blacklis.com

- ALEXA under 80k
- Av 150/200 uniques a day
- Google Adsense Rev on av $11 PM & a few bucks via Infolinks/Adf.ly PM too.
- Can provide full proof of Analytics, Google Adsense, Adf.ly & Infolinks
- Will include the Google Adsense, Adf.ly & Infolinks accounts
- PHP Website
- All code commented
- Social media accounts on FB/Twitter

I hope people don't mind me posting this here, please share and help me sell these domains and the website! Its all going to help a good cause and help me on my way to finish what I believe will be a great project in which hopefully some amazing hacks will come out of to help people like myself with cancer. Be it social networks or mole checker apps I am sure we are going to get some awesome stuff built at the hackathon.

Cheers
Andrew

Offers to be sent to: hi@andrewraynes.com
For the record, I don't need any convincing of Erlang's greatness. I know that and I'm a big fan of programming in it.

Nor did I ever deny that Erlang excels at I/O, that much is obvious. I made it clear the various ways of interfacing with native code, as well.

But I wasn't talking about more abstract distributed services, rather stuff that brutally exploits POSIX and kernel-specific APIs. Using Erlang would probably be inconvenient for most people, so they'd use a language that seamlessly interacts with its host and has a small runtime, understandably. Not that you couldn't reap benefits from supervision, multi-node distribution, hot reloading and other things if you made the effort to do some elaborate hacking with ports and NIFs.

Erlang/OTP blows Scala/Akka out of the water for me, personally.
Actually, I'd argue he's set the entire conversation back considerably. My inaction is much less harmful than this post, to the conversation overall.
Yeah, but the problem is that SSD failures usually have nothing to do with flash wearing out, and more to do with catastrophic, sudden failures somewhere else (mostly the controller AFAIK) causing the drive to stop doing anything at all. I had a 840 Pro fail on me, hadn't had many writes but just stopped showing up in the BIOS one day.
Could not agree more.

Not only hardware is cheaper, but is much more easily replaceable, have a well defined behavior and usually don't go nuts and need to take prescription drugs. Also they mostly don't have a life and family outside work.

This is why technology usually converges to serve the humans, not the machines.

Or else we would all be writing assembly code instead of garbage collected, duck typed and compiler aided languages.
> 1. Reverse engineering popular antivirus software so the agencies can see what data it sends home.

How is this totally fine? The DMCA in the USA prevents this sort of thing, look at Russian programmer Dmitry Sklyarov, he was jailed for several weeks and detained for five months in the United States. I'm not a big believer in "intellectual property", but if the act of invention is sacred, and confers property rights on the inventor, then spy agencies need to respect that. Otherwise, either (a) the DMCA is an instrument of oppression or (b) the spy agencies are instruments of oppression, or (c) both (a) and (b).
XML was never intended as a memory-efficient format (or if it was, it was an utter failure before a single tag had been transmitted over the wire). I don't understand why you believe that binary formats naturally lead to increased bloat; while it may indeed be the case, your post largely reads like speculation to me. One could just as easily posit that the rigidity required of such a format makes it much harder to change (and examples supporting this viewpoint abound, including things like IPv4). Can you provide some examples of actual binary protocols that underwent this transformation?
I spotted this on Twitter [0] and it was timely for me because I've been sorta building my own learning path lately. After learning Haskell a few years ago I got really interested in PLT, type theory, and other higher math (like CT) and also things like formal program verification and automated solvers. So I started trying to decide on a good self-study path (as a guy with a day job who's not going to be starting a Ph.D. anytime soon). I ran across this very helpful Reddit thread [1] and so far I'm thinking of the following path. I'm starting with How to Prove It, because I never did a lot of proof solving in college (and that was >10 yrs ago anyway) and it's a good basis for further work. Then I have two branches.

The first is for abstract algebra and CT, because I find them interesting and they're useful for understanding Haskell, that currently consists of Pinter's A Book of Abstract Algebra, then Conceptual Mathematics by Lawvere and Schanuel, then Awodey's CT book, which is a path straight out of that Reddit thread.

The second is for PLT/type theory, and starts with Software Foundations by Pierce, then Types and Programming Languages by Pierce, then Practical Foundations for Programming Languages by Harper (for completeness, as I have heard pros and cons for both), then maybe moving to Advanced Topics in Types and Programming Languages and such. Mix in some Oregon Programming Language Summer School (OPLSS) [2] videos here and there when they fit. (OPLSS sounds great and I'm glad their videos are online)

[0] https://twitter.com/manisha72617183/status/61301658769664819...

[1] http://www.reddit.com/r/haskell/comments/29reb7/first_or_sec...

[2] http://www.cs.uoregon.edu/research/summerschool/
Web workers are real concurrency and afaik, there is no GIL that spans across the main thread and the worker threads in any of the browser implementations of web workers.
I loved both the layout and the article. This was one of the best webpages I've visited, ever.
There's no reason to put a sample library on an SSD.
Almost live chart of lawmakers position on Confederate flag
A Tube map of the London Underground that's more useful than the 'official' one
Further, I recall several of the L0pht members were heavily interested in TEMPEST and van Eck phreaking at the time. Really played it up in an ominous tone.
Give better technical interviews
I remember some motivational poster from my old tech recruiter's FB feed that seems appropriate here:

"What if we invest in training and our employees leave?"

"What if we don't, and they stay?"
Certainly, I never made point otherwise.
Regarding the initial argument, I'd opt for C or D; since here we're being consistent with our signs and therefore the statement's more readable. To me this is more apparent than the number of elements being the upper bound minus the lower, or natural numbers shrinking to unnatural (which I confess I don't understand given here i is by definition an integer and thus natural).
Of these two I'd likely opt for C since this lends itself to natural language (e.g. if I ask someone to choose a number between 1 and 10 I mean the choice is inclusive of 1 and 10), so again is likely more readable.

Also "pernicious: having a harmful effect, especially in a gradual or subtle way". I don't understand this statement either.
A language not mentioned, PowerShell, uses two dots to great effect (ellipses vs two dots is another debate; but I can't see how one would be considered harmful and the other not). `1..10 | %{"we're at number {0}" -f $_}`; simple, clear and obvious.

The whole article reads as if someone's trying to show off their intellect, rather than present an honest analysis of the benefits of the merits of the different indexing/numbering systems.
@TOGoS's comment on this thread, on the other hand gives a compelling and well reasoned argument of when to use each system.
I saw that too, in the page of AV company logos. All from outside the USA.

As one of my kids pointed out to me last week, you really need to trust your locksmith. It would appear that you really need to trust your AV vendor, too.
It's scary how much information antivirus software nowadays send home every day. It's often marketed as "cloud-based heuristics" or something similarly nebulous. What it really means is that the antivirus software will send home a sample of anything it's not sure about. It could be a confidential document of yours. It could contain your personal information. Oh, and don't forget that MITMing your TLS connections is now a highly desirable feature. A lot of them have Superfish built right in!

In the past, if you bought an antivirus software, that was it. The antivirus would download new signatures at regular intervals, and not bug you until your subscription expired. Nowadays, every antivirus requires you to be logged in to your account all the time, ostensibly to ensure that your subscription is valid, but also in order to allow anyone with access to the web-based control panel to trigger all kinds of scary actions. Every vendor also tries to upsell at every opportunity, sometimes even after you've paid.

I tried to stick with Microsoft Security Essentials for the longest time, because if I had to open a backdoor to somebody, I might as well trust the company that wrote my OS in the first place. Also, MSE was pretty good when it first came out. But its detections rates have steadily gone down, and a number of people to whom I recommended it have gotten viruses that MSE couldn't catch. I use BitDefender on my Windows boxes now. It's the only antivirus I could find so far (apart from MSE) that doesn't constantly nag me to upgrade, but who knows? I might have just opened a backdoor for the Romanian government or something.
That is moot. The question is why you would recommend against it.
Many SSDs have tremendously long startup consistency checks. An unclean restart of a FusionIO card used to take an insane amount of time (I haven't tried it in years; it could be better now).
Heh it was coming through at the first sight, you know it very well.

" I know that and I'm a big fan of programming in it."
Me too btw. :)

I see your point, yes that is absolutely true. I think one reason why Erlang is great because they realized that exposing the POSIX threading APIs to software developers is harmful. :) Why would you ever want to know how many cores you are running on? If you know it you have to keep track of it and adjust it on different systems and bunch of other issues. On the top of that POSIX threads are so expensive that it totally did not make any sense to implement a system that allows the developer to create a thread. I think Joe & team made an excellent decision there. On the other side, you can't really access these low level primitives so this is I guess what you are talking about. For the low level stuff you need a systems language (C,Go whatever).

Oh, yeah, JVM based actors are kind of interesting. I am not sure how can they meet any latency SLA. The GC is skewing the response time potentially, right? In Erlang/OTP it does not happen because of the GC implementation as you know.
Who in their right mind still uses RAID5 with spinning disks in a production system? That is like not wearing a seatbelt and driving above speed limits constantly.
I'm quite curious, what's the contingency plan in case the Yubikey gets stolen? How do you deal with things like email encrypted to the key you've now lost?