skysight-inc/HackerNews huggingface dataset:
> A cross-platform filesystem that you could read/write from Windows, macOS, Linux, iOS, Android etc.

"Future possibilities" ... in 2019.

It frustrates me to no end that there are some areas where programmers are willing to go to extreme lengths to be perfectly compatible (C/C++, Unicode, IEEE FP, ethernet, TCP/IP/HTTP, HTML/CSS/JS, PNG/JPEG, ...), and in other areas it's just accepted that everybody is completely incompatible and users have to deal with the mess (newline characters, SQL dialects, filesystems, syscalls, opcodes, graphics APIs, driver models, some multimedia codecs still, ...).

I can put a "Pile of Poo" character in a text file and have it work correctly everywhere from my telephone to a server in Finland -- but I can't put that text file on a disk and expect to see the file on two PCs that happen to be running different operating systems.

I wish we were far enough along that I could complain we can't (efficiently) run one compiled program on any operating system -- there's really no technical reason we can't do that -- but we're not even close. We can't even look at a list of data files on a disk.

What is everybody working on?! We don't need any more web 2.0. We need to fix 50 years of historical accidents and incompatibilities. In 1969, Richard Hamming said "Today we stand on each other's feet", and AFAICT nothing since then has changed. Nobody cooperates with anybody else. As Alan Kay once said, "The real computer revolution hasn't happened yet". Adding more JavaScript trackers is not going to help us get there.

OK, rant over. Sorry.
And this is the reason intellectual property exists, to protect inventors from being copied
The people you have building incremental changes with great momentum aren't the people you want working on a revolutionary change with a hugely different problem space, at least from a business perspective.
Good question! This is meant more as an overview, whereas the book dives right into practical examples, while gradually weaving the basic concepts in. The book is a lot more extensive and detailed, and gets into data visualization fundamentals and more advanced concepts.

If you're curious, the first chapter is free to download and gives a good sense of the flow:

https://www.newline.co/fullstack-d3
Adversarial Robustness of Similarity-Based Link Prediction
I'm not a Swift programmer, so perhaps my confusion is just a symptom of broader ignorance, but I find two things unclear here:
- What does 'first-class' mean, really?
- Which of these benefits are unique to integrating notions of derivatives into the language, and which could be enjoyed well-written libraries?

The mega-proposal links out to a separate doc on embedded DSLs, with broad statements about what's "typical" or "often" true of existing DSLs -- but which of those issues are insurmountable? That section mentions Swift's limited metaprogramming facilities. Why choose to carve out this added support for a single family of algorithms rather than add in some more general metaprogramming abilities that enable better EDSLs?
What non-UI-resulting notifications does your app need to deliver that, as a user, will negatively affect the quality of my experience when not delivered through the VOIP method?

Why, as a developer, did you find that non-VOIP Background Data Refresh failed to meet your needs for creating a viable user experience - and what needs did it fail for?
> React is FB and Angular is Google

This doesn't matter in practice - they could have freely used either to design the web client at no cost. If they wanted to take over development and go their own direction they just had to fork them.
Can't beleive this is from the same company that puts Candy Crush Saga and other junkware on Windows 10 "Pro" installs - and then limited the ability to have a default profile that picks up their removal with new profiles. The hoopjumping to clean up the Win 10 "Pro" mess is silly.

What enterprise is asking for all this junkware to be installed - it makes absolutely no sense for this to be on domain networks. I keep on reading that Microsoft listens "closely" to their customers - and am like - really?
They didn't give the two examples that are most common inside Google: Google I/O is coming up, or annual performance reviews are coming up.

Strangely they also list as "not an emergency" rollbacks of clearly broken code, but that's an exception to review rules inside Google. Anyone can do a pure rollback of a change without getting the approval of the owners of the code, and there are automated tools that will roll back changes that appear to have broken at least 1000 tests, without human review.

Edit: There's even a button right in the code review web UI to roll back a committed change.
That's a good point. The savings of not paying future ransoms would justify the expense.
Darwin did take his time. The Beagle returned in 1836, but he did not publish On The Origin of Species until 1859, and even then, only under pressure to rush it out to claim priority over Wallace.

https://en.wikipedia.org/wiki/On_the_Origin_of_Species#Event...
I was trying to think of something to compare it to that others would relate to. A car wasn't a good example since the dB level varies significantly. I was trying to make the point that it's quiet at that distance. If you were having a conversation with someone you wouldn't notice it.
Well, in the U.S. we have presidential term limits. We probably could use them in Congress, too, though.
I hadn't seen Stack before. Have you used it & would you recommend?
Actually, this project supports that as well.

https://github.com/github/SoftU2F/pull/29

Not sure why they don’t explain that in their readme.
maybe we should just put the FBI in jail whenever they don't catch them in the act
> there was simply no clear use case for an API to allow an app to change the behavior of the screen on a global basis.

A usecase is f.lux's functionality. There is definitely a clear use case. The decision to expose the API could have other factors to it, but lack of use case doesn't seem to be it.
Thank you for going the extra mile and including direct Wikipedia links.
I am a software engineer and an amateur writer/novelist.

I am the only person looking at my manuscripts before I finish a second draft. There is no risk that my half-finished work is going to introduce cruft into a shared "codebase" and/or "bugs" into "prod". Either they make it into that second draft state and receive feedback as whole, finished things, or they die inside my computer.

This is very different from typical software development as part of a team, and your teammates should recognize incremental green-field work and adjust their review criteria accordingly. It's still important to review this sort of code if it goes anywhere near production systems, though, for obvious reasons.

Ironically, since I write in Vim and auto-wrap with par, it's harder for me to generate nice diffs than it would be if I just wrote in Google Docs like a good citizen of the future. When it comes to interacting with editors and other collaborators, though, it's super important to collect and review "diffs" of some form. Horror stories abound of unexpected changes making it to print.
I agree - most folks overestimate the effectiveness of microbenchmarks. I work in a field where microbenchmarks often feel useless: computer graphics. Often we have to consider the entire pipeline of work. Writing to a texture in Stage 3 may seem perfectly fine, but it could be thrashing the cache in Stage 4 when the texture is being read from. Benchmarking them separately misses this.
You have to be careful though. The compiler can do a very good job of lifting statements (and many other optimizations), so it is generally a better use of developer time to try and write code that is clear than to write code that is believed (without evidence) to be more performant.
Capitalizing on the presence of people who might be new to Automatic Differentiation and want a deeper understanding of how it works, here is an interactive Colab notebook I wrote about this topic entitled “Build your Own TensorFlow” for the Deep Learning Indaba that just happened in Kenya: https://colab.research.google.com/drive/14GeXkFd5pQKKNIJ7BMs...
I'm curious (for folks in the know): how does differentiable programming handle non-differentiable points? Can it detect non-differentiable/non-smooth functions?

Non-smooth functions like abs(), max(), min() have points where derivatives do not exist. ReLU functions are non-differentiable at their hinge points.

Disjoint IF-THEN-ELSE conditions are discontinuities in the function space, and are traditionally handled in optimization with mixed-integer formulations (i.e. split up the space and do something clever like branch-and-bound to find the optimum).
Sounds like you could successfully fast very easily by eating the same amount of food in shorter period of the day, like 16h fasting and eating in the remaining 8h of the day. Without changing the amount of daily calories you wouldn't experience weight loss.

Obviously saying 'could' is not the same as saying 'should' and it's not very safe to do drastic changes to your diet without consulting a MD.
Thanks for the feedback! There were so many rabbit holes that I had to prevent myself going down - I scope creeped this article enough as it is!

I also specifically didn't want to go into the data join patterns for two main reasons:

1. there are lots of other articles that talk about it in depth, and
2. these days, I largely don't use it at all.

This is partially why I wanted to write this up, because the DOM manipulation parts can seem like an integral part of D3, but there are really only 2 modules devoted to it. I mostly use D3 for its utility methods, and a JS framework like React to handle all of the rendering, and I really want other people to be able to discover those functions without first "learning d3".
New Bedford city government has no reason to be that large though. Boston and some of its most urban suburbs maybe, but certainly not New Bedford or any of the other small cities in MA.
How does this compare to Jax? https://github.com/google/jax Why do this in the language instead of a library?
For anyone confused by the link - Cytoscape confusingly exists as both a javascript library and a Java desktop application. Cytoscape the desktop application is a very biology-focused network visualization/analysis platform, whereas Cytoscape.js is a pretty general purpose network/graph library. You can find Cytoscape.js at [https://js.cytoscape.org/].
Yes! -- because they at least have an incentive to make it work with more than one operating system. Even if it's not great, at least it'll be compatible.

It's insane that there still isn't a standard file system. They all do 99% the same thing now. Making them incompatible is just a pissing contest, and the users lose.
>After all paying a ransom is very literally funding terrorism, in the most direct possible way.

Not everything is related to terrorism.
Sans paywall: https://outline.com/nJ84Ea
Build Your Own TensorFlow (Colab Notebook)
Usually a during work hours activity for me, while stuff is "building", but point taken.
Huh? Nobody is writing numerically intensive libraries in Python. Clearly this language proposal is taking aim at C++ and Fortran. Even if this caused TensorFlow & others to rewrite everything in Swift, people would write Python bindings to it and keep using Python.

I'll get excited if Apple actually merges this into Swift. It's a niche feature that their compiler team will need to maintain forever. I actually have been working on algorithmic differentiation in C++, so it's not even that I wouldn't want to try Swift out if it actually made it in. However, because this sort of thing is of such narrow interest I believe the future will stay with embedded DSLs / libraries / ugly macro/template hackery.
The WeWorks I've been also have quiet facilities, with dedicated offices and conference rooms --- in fact, on a smarter, better tiny-office plan than open-office and cubicle offices. I don't like WeWork, but again, this isn't a valid criticism.
> Some hardward manufacturers only ship new hardware once a year.

A line snuck in through their code review.

One big issue that I'm not really seeing discussed is that in many cases code reviews end up being very subjective. "hard to maintain", "not readable", "brittle", "needs more tests" are all super subjective. There is no magic tool that can tell you the future maintenance costs (vs. the current costs), whether some area is more likely to see issues, etc. A lot of this is a matter of judgement. One old recommendation I recall is to limit the scope of code reviews to finding bugs. If there is a bug that's pretty objective, the code does not work.
... all 6 of which were running a linux vm until recently, and still predominately so (windows containers are hugely niche and have just about as much 'loner children' baggage in the larger commmunity)

writing a gui to spin up the VM flavor du-jour with one hipster command that you can show in an animated terminal in your bloated website doesn't make something cross platform underneath the hood, and that same VM runtime could run just about anything else.

and no, i don't miss the point. you miss the point - you are arguing market share as if it is technical merit. I'll take 1 true school unix hacker over 5 million 'noders' who cant debug their super hip k8s clusters they provisioned 'in the cloud' with wget|sh when they break.
That's where DC and crossfilter might come in handy. One of their demos uses 250k rows of airline transit data and handles it well.
>>API parity

Generally, an API that Apple is developing gets dogfooded by Apple for at least a year before it is released for public use.

Sometimes they decide the API just isn't there yet, like Marzipan, and they put it through another year of revisions and dogfooding before they make it public.

Apple has operated this way forever.
California Legislation Setting Strict ‘Gig’ Worker Rules Nears Passage
I feel like that is an outlier. For most companies the benefits of having all the data logged is worth the cost.
Ought | https://ought.org | Engineering Team Lead | San Francisco (onsite)

We're a non-profit AI research lab. Our goal is to make machine learning solve tasks where success can’t be reduced to a simple metric. We're working towards a future where ML is as helpful for open-ended questions like “Should I get this medical procedure?” and “What career is right for me” as it is for optimizing ad click-through rates.

The core pillar of our research is Mosaic, an app for decomposing thinking about hard questions into small subtasks. We compositionally build complex thoughts out of simple pieces. We want to get to the point where automated aggregation of individual thoughts leads to something that is more than the sum of the pieces.

Humboldt talked about natural language as a system that "makes infinite use of finite means" -- an infinite number of sentences can be created using a finite number of grammatical rules. As engineering team lead at Ought, you're working on mechanisms that have similar flexible compositionality.

We'll pay a $5,000 referral bonus to whoever refers the person we end up hiring (careers@ought.org, terms: https://bit.ly/2lw3Q8w). Our benefits and compensation package are at market with similar roles in the Bay Area.

Apply here: https://ought.org/careers/engineering-lead
You're right that many microbenchmarks can be noisy (and the environment you run them on can introduce more noise).

But if you're attending cppcon, two engineers in Google's production toolchain organization are giving a talk on "Releasing C++ Toolchains Weekly in a 'Live at Head' World" where they'll discuss (among other things) how we use various microbenchmarks to catch performance regressions.

https://sched.co/Sft4
https://archive.fo/tGqgW
Apple Plans Return of Touch ID and New Cheap iPhone
Growth companies don't make a profit this early on. They put it all back into sales and marketing.
I have been working on a hobby database that uses a key-value store as the backend. Currently, it is structured as a binary tree such that an append-only log is possible (ideal for handling updates on a traditional SSD). This is a very complex and time-consuming part of the implementation.

With this KV drive, I could potentially 'hardware accelerate' my database backend and all of the complexity of log-structured merge trees falls away. It would just be a handful of calls into a KV SSD library that handles the magic of getting a KV pair to disk. All I would need to worry about are the higher-order primitives I can build on top of a KV store. Using hashing schemes and clever metadata structures, you can encode virtually unlimited amounts of information into a 256 bit key. One simple flat store of KV items can contain all of your indexes, objects, scripts, jobs, settings, etc. Additionally, using hashed metadata keys lends itself well to sharing the store across unlimited drives and nodes. 256 bits comprises an unimaginably large key space, and SHA512 is actually even faster to execute on most x86 64-bit hardware if you can eat the 2x overhead on keys (which can be safely assumed to be inexhaustible through the heat death of the universe at this point).
Love this new app that helps you find the best podcasts to listen to. Great idea! Looking forward to new categories!
I'm a proponent of only 1 simple rule: high min length. Most sites have min length of 8. Double that to 16-20. No max length, no other complicated restrictions regarding characters. This instantly takes care of brute-forcing as a reasonable possibility, and forces good passphrase discipline on the user.
now what?
if there is a company (ex some car rental companies
>What if the police chief had emails admitting to bribes or worse stuff

Unless he's admitting to doing something that is directly counter to the platform of the ruling party (e.g. aiding ICE, rubber stamping CCW permits, racial profiling, etc) nobody would care. There would be some token outrage but it would mostly be business as usual. This is just how MA works. There's very much a "well that's government, nothing you can do, no sense getting bent out of shape over it" attitude by the majority of the population in MA.

For example, the state police overtime fraud is a recurring (every 1-3yr or so) "scandal". The latest instance is basically out of the news already.
This is basically why I started using a password manager.

Screw up 1 too many times and you end up in a cycle where you never will remember your password and you'll try the last 3 or 4 you used, eventually locking yourself out again.
Of course in doesn’t matter in practice. It’s the optics.
Something I've started doing that I picked up was prefixing my nitpicky comments with "Nit: ..." so that it's clear that certain comments are just minor suggestions, not that anything is necessarily wrong.

I'm usually okay with preemptively accepting code with only nit comments too just to signal that those comments are not too big of an issue (if at all).
I use them as Bayesian priors in my model of a person's behavior.

In my experience, when someone tells you they are x personality type, that's generally a starting point for you to refine your understanding of them as opposed to starting from zero. Unless they had meant to throw me off altogether, I generally find that information helps my mental model of them to converge fairly quickly.

Example: you ask a girl out and she tells you she self-identifies as INTJ, so you think to yourself -- she gets her energy by being alone or with a few people, she's probably a little cerebral and probably tends toward orderliness. You then have a basis of testing your hypothesis to see what her actual preferences are (vs stated), and also you might not want to plan your dates around meeting lots of strangers and doing crazy stuff. Remember, the utility of the MBTI isn't so much whether it is actually accurate or not -- it is more what it communicates. When someone gives you their type, it's them communicating to you a compressed signal that says, "I think I kinda fit this description" -- and that's a useful signal.

You may later learn that your model of her is wrong and needs refinement, but you'd be making iterations in small steps as opposed to throwing the entire model out. Once you know her, you no longer need MBTI or whatever, but during the initial stages, it definitely helps guide the exploration.

How is that not useful?

Sure, there are more complex instruments like Big5 and such that are more "accurate" but outside of research circles, no one uses them. That right there is an example of a more accurate, but less (day-to-day) useful signal.

(though I would say Big5 is good for understanding where you are on certain dimensions with respect to the general population. And it is undeniably useful in psychology.)
This is also nothing new. Connectix essentially functioned as an unwilling experimental lab for Apple OS features for a long time.

https://en.wikipedia.org/wiki/Connectix

And of course Microsoft did it too, and worse.

https://en.wikipedia.org/wiki/Stac_Electronics#Microsoft_law...
That didn't make sense to me. What did negotiating actually buy them? I don't see any indication that the attackers paused the attack.
Selfishly, I would appreciate it if HN would adopt downvote reasons because Lobsters has to acculturate people used to how HN does things. Occasionally they're outraged that we do not have downvote-to-disagree when a mod contacts them to ask that they stop picking random reasons to do so. If HN would be so kind as to train several million programmers in the UI and norms I'd appreciate it.

Less tongue-in-cheek, I do think flag/downvote reasons are worth the added complexity for us, but as there's a cultural component to these design issues it's probably a non-starter for HN to adopt. A change in such a fundamental interaction on the site would be an upheaval that's not justified by probability and size of an expected benefit.

+1 on basically your entire message, especially recognizing the limits of mods and size as dominant variable on roughly everything to do with communities. Best of luck.
Making it work isn't the same as not making it utter shite. Samsung has been pretty problematic with resolving firmware issues.
Why not use a password manager?
I disagree.

Do you know how hard it is to meet new people after the age of 25? The statistics, historically, are not in your favor!

Dating and social apps have made it far easier for busy people, who lack 8 hours a day to socialize with others on a campus/forum, to organize dinner, dates, etc.
They're not case insensitive, but they do allow for some casing mistakes.

Flipped case (caps lock) or first character case is wrong (mobile input field) were both allowed. Not sure about now. The article I found about it was from 2014.
>What's your evidence that working for information helps with convincing?

I can't say I had any hard evidence while I wrote that. I admit it's more of an observation from my experience. That said there this study[0] seems to suggest a mechanism whereby this effect could occur. Other ideas like the suck cost fallacy and effort heuristic seem to confirm that this effect has been noticed by others on some level.

[0]https://psycnet.apa.org/record/2012-08696-001
Facebook, Microsoft Back Contest to Better Detect Deepfakes
Uh, alot of this is in firmware on the controllers of the SSDs. And often it's buggy as fuck to the point that Linux has blacklists hardcoded to deal with crappy firmware in SSDs.
They should be made by individuals, not the government.

Each person has the right to decide how they run their life.