skysight-inc/HackerNews huggingface dataset:
Yeah...I mostly have experience only running test suites for popular libraries and for my own software...but the existence of this library is a massive WTF...such that had I read its official introductory post, I would have thought it to be really good satire:

https://www.box.com/blog/introducing-flaky-a-nose-test-plugi...

Can someone describe a real life production scenario in which this flaky behavior is desirable? That is, preferable to these other generally accepted practices:

- flag the test and mark the bug as an issue and at some point, attempt to fix it

- delete the test, if it happens to relate to dead code or was poorly conceived in the first place

- use fixtures and other libraries to mock dependencies, e.g. Webmock and/or vcr to intercept http request and respond with a pre-recorded fixture.

I understand that there are scenarios in which production most go on even when a test fails. But to throw on another testing layer that tells you, "hey, it kind of works, for some unknown reason", instead of just marking the test as a failure to be investigated...what possible value or insight could outweigh the additional noise generated? I guess one possibility is that it lets you know that something is truly fucked up...but that is not at all the tone of the Box blog announcement:

> When testing Sync 4, Box's desktop sync application, we also ran into this issue, but we also didn't want to simply remove our flaky tests. When we noticed that most flaky tests would pass when rerun, we realized we could make doing so automatic. Flaky is a nose plugin that can rerun flaky tests without interrupting your test run. Using it is as easy as decorating your test methods with @flaky
Would Scheme count as a functional programming language by this definition?

On one hand, the idiomatic emphasis on tail calls (supported by tail call optimization in the language) makes it easy to avoid stateful for and while loops.

On the other hand, most nontrivial code has plenty of `set!`s.
err - there are hard limits to what you can do with wifi in terms of no of connected users per access point, bandwidth and power.
Page Tables in Rust
>Anyway, it's clear that you don't (and won't) agree with Ormandy. Ormandy has an established track record and is currently employed by a security-focused company, performing security bug elimination work. AFAIK, [1] you're a guy who knows how to spell XSS and nothing more.

I don't think he's made a factually incorrect claims. You think his closing implies the XSS was fixed, and if that's the case, I know enough about XSS to know it wasn't fixed (as I said, clicking on his link executes the alert(1) code). If he knows the XSS wasn't fixed but thinks it wasn't a big deal, then he hasn't said anything false. But in that case, I have a ethical problem with his actions, partly because they seem to violate Google's policy, and partly because he's revealing a 0-day in a chrome extension without even removing the extension from the store. The benefits of full disclosure can be debated. But if you currently offer software for download, don't continue to offer it after you've 0-day it without a patch. That seems unnecessarily nasty to your users.

No, I don't work in security. I'm actually in college now. But I know a bit more than just how to spell XSS. What about you?

>Have you... like... even considered that a not-insignificant number of Chrome extensions also expose their users to XSS vulnerabilities? And that... like... maybe that's the current status quo, that the initial issues were beyond the pale, and the remaining possible XSS threat for just two domains -while shitty- is not substantially worse than average?

According to the report, the extension bypasses chrome's detection, which presumably violates Google's policy. So I think it shouldn't have been publicized until the decision whether to keep the extension was completed. Also, I think Google shouldn't publicize information on a currently active XSS, as above.

Now, I just happened to look at the report again, and it has a new comment at the end. He says (in response to someone with the exact same concern as me) "The XSS you're referring to cannot be used as-is due to mixed-content, it was intended to be illustrative only."

So that might account for it, although it still seems like it shouldn't have been released before AVG finishes the audit, or decides not to, or whatever.
I've been using Ubuntu Linux as my primary OS since 2006, and I can't disagree with many of the annoyances. Especially with regards to graphics drivers and the switch to the Unity desktop. I tried Linux Mint with the Cinnamon desktop and it is nicer, but couldn't commit to it I guess.

But everytime I use Windows and Macs again, I get even more annoyed. Mainly with how slow things are. Even on a new Windows 10 desktop or laptop, it's not uncommon to have to wait minutes for things to settle down after booting and logging in, or waiting while updates are installed during startup or shutdown. And on OS X, the spinning beachball was one of the main reasons why I stopped macs for the most part in 2002 or so. I figured it was just a byproduct of OS X still being early in development and computers not being fast enough or having enough RAM. But no, everytime I try a brand new mac, it still pops up, especially when trying to type in a URL or something like that. The bouncing in the dock and not knowing if an app is running or shutdown or not is annoying, too.

But as long as you keep your stuff backed up or in the cloud (like google drive, google music, etc.), and stick mostly to stuff that works cross-platform (Chrome browser, Libreoffice, cross-platform IDEs, etc.), it's very painless to switch being OS's or devices or to wipe and reinstall things. Even Microsoft Word and Excel work in the browser nowadays, though I still usually just stick with Google Docs.
While I somewhat agree with you, I'd like to add that this is not a necessity.

If you don't want to be serious about fitness, because you just want to be healthier, just do the lifting. This will already be a great improvement. If you become used to it, feel better about yourself and feel like there's more room for improvement, then start watching you diet.
If a submarine is zero-buoyant it follows it is the same average density as the water it is suspended within — and therefore has the same gravity when observed from an external reference... or am I missing something?
A language can be purely functional, purely object-oriented, purely garbage-collected, ...

The sole specifier 'pure' is meaningless without context...
> In the case of the TV the service component wasn’t even mentioned at all until well after installing the bloody thing

Yap same here. Bought a TV (Vizio). Without agree-ing to their "we'll monitor everything about you" disclaimer couldn't connect it to the wifi, couldn't start any of the apps. So agreed to it. Then had set up rules in the router's firewall to block it and have to un-block it if I want to watch Netflix for example. What a pain. Supposedly I could make a more complicated rule to allow only netflix traffic and no other traffic from it...

There was no, "let me connect to Netflix" but don't auto-update anything, don't phone home, don't send metrics etc. It was all or nothing. And then of course the apps are slow, crappy, and buggy.
Friendly reminder that all programming languages are just tools and it's not productive to get worked up about which one is better than others or which arbitrary label makes them more valuable.

Except PHP. PHP still sucks.
100% correct. Side by side on sites that advocate for piracy or free everything with no advertising, you'll find complaints about the subscription business model.

The subscription business model is the end result of piracy. For some applications, it's a legitimately better model. For most...it's basically just a business decision.
Wonderful explanation, thanks
The website is hard to read on mobile because it is wider than my screen. Bit unfortunate.

Regarding VA-API: Since gstreamer-vaapi 0.7.0, Totem finally works with VA-API. Before only MPV worked. IMO if you used mplayer you better just switch to mpv. It still doesn't work perfectly in VLC, though AFAIK VA-API should be built in. In my experience filing bugs was enough to get improvements. Once it works well enough distributions should install it by default. IMO it pretty reasonable to achieve "va-api installed by default" for major distributions during 2016 provided enough people put their time in. Heard that gstreamer-vaapi will be merged into gstreamer itself, so that'll help a lot as well.

Regarding laptop support: Canonical seems to do a lot in this area. Testing Ubuntu and adding (upstreaming) workarounds/quirks to e.g. the kernel.

Some problematic items I wasn't aware of (good to have this list). E.g. font anti aliasing. Stuff like that is why freedesktop.org started, to have a way to agree on such things.

At least for some of the items on this list I have the idea that I can help to improve. Some items seems impossible. Still, just a little bit of effort can help a lot. Often I spend less than 30min to get improvements (though mostly thanks to actual paid developers putting in their effort).

Edit: The site should remove the swearing. You can be explicit in your disagreement without needing to swear.
I've volunteered some of my time when I was between gigs, using this site for the UK: http://www.it4communities.org.uk/

[As an aside, it was really depressing to see how smaller charities without adequate tech knowledge or budget get taken for ride by scam artists.]
There are these things called "mules." They're quiet, can carry about 200lbs., and can refuel themselves as they go by eating grass and drinking water...
I would agree if getName was accessing a global variable but I don't see how getName(person) is any more functional than person.getName(). OCaml features objects with similar syntax for example: http://caml.inria.fr/pub/docs/manual-ocaml/objectexamples.ht...
No, of course. I have a standing desk and I don't think it was worth it. Simply a chair with elbow support allowing to have a relaxed shoulder line is good enough for me. I work in short stints alternating with short walks around the room (for some reason this happens naturally). This helps to relax your body and most importantly eyes.
For myself, 1 year ago, the idea of going to the gym 3 times a week was inconvenient and I just did not want to do it. I got over that obstacle by paying an uncomfortable premium on gym membership/personal trainer.

The inner conflict went FROM $60 gym membership/long-term health vs going home TO $175 gym membership/long-term health vs going home. I chose the gym a lot more often then, and I am much more healthy than 1 year ago.
Sounds to me like what is needed for a managed root-server. Actually it's kinda cool because you can enjoy timely upgrades, security fixes and response to ddos attacks while at the same time you also have the flexibility to install needed software without going through a change request workflow...
Long-time Octave user here. I have also considered moving to Python because of stuff I read on the web, but I am sticking with Octave for now, because at the moment I am more focused on using it to solve problems (mainly signal processing) than I am on learning a new toolset. Octave would seem to fit your needs, since it is what many former Matlab users go to when wanting to go Free. Can you please explain why you chose Python over Octave? I am interested in your perspective on this, and it may help other commenters to better answer your question as well.
Health Benefits of Having a Carpet Professionally Cleaned
The thing is that we are all human. I can think of two instances where I have accidentally overdrawn my accounts in spite of having available funds in my attached savings accounts.

Both times were when moving. Most people do not enjoy moving. It's tiring. There are a lot of moving parts. Two of these times, I had forgotten to move money from my savings account to the checking account to cover the check for the deposit. This drained my checking account. However, my credit union will waive overdraft fees if the attached savings account has the available funds to cover the transaction. I feel like this is a very reasonable option to give customers instead of slapping on $35 fees immediately, because overdraft fees add up quickly.

In my example, say that I overdrew my account for the deposit, went to get gas, then ran inside the gas station for a snack. That's three transactions totaling an additional $105. Not because I'm bad at personal finance - I know how much money I had, but because in the whirlwind of activity, I forgot to move funds from one account to the next.

This isn't to say that banks should never get paid for covering your mistakes. They are not in the business of handing out free money, and it's very myopic to think there should never be overdraft penalties under any circumstances. I like to think of the way my credit union does it as a compromise between the two extremes.
The whole site itself is chock full of good advice.
I don't disagree that the main culprit is the carriers, but access points would not be so saturated if websites were smaller.
I did in the linked comment in roughly the same space as the original description. The only thing that could maybe have been included is the scope restriction afforded by local, but that's a feature available to all variables and not necessary to mention.

I also did not take longer than expected, nor did i leave out any corner cases that affect day-to-day work and am not aware of many of them existing in the first palce.
I have my things backed up on the cloud and I used linux for awhile for my development system. Apparently for MacBooks there is something screwed up with ACPI so that it won't suspend correctly. Also, every time I would run out of battery the system would have problems booting up. Eventually I went back to Mac OS X after running the computer out of battery and then having it unable to start.
Doesn't realy allow for competition does it and in the USA and other developed countries people don't all live in massive high rise blocks.

Unfortunately its not uncommon in the UK for developers to forget about providing ducting for telco/cable and also working with Virgin/BT to put in the cabs and last mile.
I live in Dallas and thankfully a lot of private collectors in the area lend their Kelly's often to the museums around Dallas/Fort Worth. Over the past few years, I've gotten to see a lot of his work.

Also if you ever find yourself in NYC you can sometimes find Kelly's works in the collections at the MoMA, Guggenheim, the Whitney and some of the galleries in Chelsea.

It's sad to see him go, he lived such an exciting life.
I think this is exactly it.

If you had a multi-paradigm language, you'd need not only just some way to break the rules easily and have that bubble up, you'd also want this rule-breaking behavior to be exposed up the chain from any libraries. You'd also have to enforce the benefits of immutability and such through social pressure in order for users to see large parts of the benefits of side-effect isolation.

A lot of the choices FP languages make that are less about side-effects (like strict typing systems) are also often an all-or-none proposition. Optional typing systems have very limited benefits if libraries aren't well-typed. The static analyzers can only do so much.
Windows nostalgia
Hey Busterarm,

David here from WPE. Are you using our HA solution (Geographic redundancy)? Did that fail? If so, did you open a ticket with support & inquire about an SLA credit?

Keep in mind we have many levels of redundancy with all of our plans, but not every plan includes Geo redundancy. Very few sites anywhere truly use hot/hot geo redundancy because of the complexity of database syncing and the expense of duplicating server environments in different data centers.

In a DDoS attack (which can happen at any data center, backbone provider, etc.) or any other data center wide outage, the only work around is Geo redundancy. Many hosts have different infrastructure providers and offsite redundancy (e.g. all of our customers enjoy offsite backups), which can allow you to recover your site even if the data center burns down, but don't necessarily provide a true hot/hot level of redundancy.

A true hot/hot configuration requires hardware in multiple locations, live database syncing, and geo load balancing. While some of our customers do purchase geo redundancy, it isn't a default part of every account.

Again, if you're an HA customer and that failed, please open a ticket. If you have questions on Geo redundancy, you can ask about it in that ticket as well. If you do move hosts, remember any host can be the victim of a DDoS attack and unless you have true hot/hot or hot/warm geo redundancy with your account, you could still be susceptible to data center wide outages like large-scale DDoS attacks.

-D
This "Android is not Linux" meme is pretty silly.

"Android contains the only Linux component - the kernel" can also describe any distribution/OS using Linux.
Well, if someone were to put together a spot compression or generation system, how many older storage sites / leaks sites exist such that it would be worth the apply the capital to design and assemble a number of units which could be leased on an emergency basis?

It seems like back east there are lot of fairly small fracking wells setup for spot generation. If that's a shorter design distance from what could be used then even better.

I agree about the environmental costs, but mostly phrased it the way I did because it's a lot easier to convince a company to release the funds if it's going to cost them one way or another... worse, as a side issue if government steps in with emergency funding to help citizens, it's an unfortunate encouragement of corporate strategy of 'privatize the profits and socialize the risks'.
Also backup your parents data.

Holidays are almost over and new SSD/W10 install went rogue. Old HDD got somehow damaged so bad sectors appeared. Spent good part of holidays playing with Hirens boot CD, dd and other tools.
so many of these problems have the same root cause:

we don't have an effective data driven reputation system. we use gameable heuristics to track social capial.

when metrics for evaluation are flawed, people behave in ways that exploit the flaws even if they increase the likelihood of failure.

"we are not rewarded for necessary grunt work as much as shiny advances", for example. That's a failure of the reputation system to account for the value of that work.

My solution to this problem is a mathematical reputation system based on the same concept as page rank. The system is available here:

github.com/neyer/respect

I'd love your feedback.
This is exactly what I want to do in the coming year. What was the biggest barrier for you to start, and how did you finally overcome it?
Local Loop Unbundeling is the answer.
Here you go: default variable to pass string argument to many built-in
functions and operators, which typically return their result in the same
variable.

Yes, it took a little longer. No, it didn't took that much longer to leave
out plainly invalid and misleading description. No, I didn't need to put
corner cases there, exactly the same way as you wouldn't specify corner cases
for Yacc to describe what it does.
I've tried working in an FP style in the "multiparadigm" languages you've mentioned, but it's hard, really hard. Well actually, the irony is that JavaScript is the one that's bearable and that's because (1) you can find some Javascript libraries that are doing FP and (2) it's very flexible.

Static languages such as Java and C# are not OK though. For one they lack features that are essential for statically typed languages. For example higher kinded types is an essential feature for FP. Without that you can't build libraries of reusable FP stuff. Comparing it with Scala for example you can't build Scalaz or the newer Cats or Shapeless [1].

The other problem is that FP programming languages come with FP libraries. You can't underestimate the importance of having good implementations for persistent collections be the default.

On having "no side effects", that's not what FP is about. After all, without side-effects you couldn't get any output out of a program. FP is about encoding those side-effects in types and abstractions you can reason about, or in other words it's about controlling side-effects. Haskell developers are fond of their IO monads. FRP is another way of doing that, being particularly good at dealing with user interfaces. And for example FRP-related libraries that were born by playing to the strengths of the mainstream languages we are dealing with are Facebook's React and Microsoft's Rx.

BTW, this is one of the best books on functional programming available today: http://www.manning.com/bjarnason/

[1] https://github.com/scalaz/scalaz, https://github.com/non/cats, https://github.com/milessabin/shapeless
And they don't cost $40+mm
And a similar thing happens with large rifts, except the bump goes the other way.
Honestly: just start (with low weights). That's what I did, anyway. Work your way up and focus on proper form.
Many books are indeed available for free download (including non-CS books), but most of the ones linked in this thread aren't.

Examples of working links:
http://link.springer.com/book/10.1007/978-1-4302-5927-5
http://link.springer.com/book/10.1007/978-1-4302-6131-5
http://link.springer.com/book/10.1007/978-1-4842-0100-8
The single biggest physical improvement to my life was core strengthening. Basically 15 minutes of crunches, plank, and Russian twists every other day.

No more back aches at all. I never realized just how much and how constant the back pain I had was. Even when I was sleeping - tossed and turned all night.
Chain Issues Shares Through Nasdaq’s Private Blockchain Platform Linq
What's up with the all caps "FROM" and "TO"? SQL habit?
yeah well, i guess if you're not serious then by definition you should just eat whatever you feel like. do lift though. it's not just for bros!

seriously though... most of us tech types here on hn start lifting only after our body starts to decline after years of abuse, in our early 30s. my productivity really took a hit. which is as good a reason as any to start.
The survival instinct and procreation instinct are two separate things; if they weren't then every animal would go ahead and die after procreating. In reality only a few do that, even if you're generous and and define 'after procreating' to mean 'after they're physically incapable of procreating'.

An AI may not have a procreation instinct; you're right that it may instead grow itself continuously. There are plants that do that too; the grass in most lawns doesn't have babies, it just spreads as far as it can. Producing seeds is a secondary mechanism.

However, an AI would most likely have some kind of survival instinct, because if it's programmed to serve any function at all, it'll have a basic requirement to exist. If it's got the ability to reason (and I don't think it'd be AI if it didn't) then it'll conclude that existing requires survival, and survival requires energy and self-repair.
Code Contracts for .NET, maybe?
Can confirm, used to be able to run a 18 min 5k and had the worst posture.
97 Things Every Programmer Should Know
> well, we have some tweaks that didn’t make it into the paper.

Every single time I've tried to implement a newish, reasonably complicated algorithm from a paper and contacted the authors when I've run into trouble, this is the reply I've gotten. How is it not normal? It's research after all, and if you've worked in research you should have a good idea how the paper mill works.
Off-topic, but when did Jetbrains switch to the subscription model?
Nice upgrade. I still use Sheldon's site occasionally. The web in 1998 was still pretty great :)