skysight-inc/HackerNews huggingface dataset:
> The logical conclusion of people acting like you did is that credit card issuers increase interest rates to make up for their losses.

Actually no, they pay for it directly out of transaction fees levied on sellers (which are usually around 3-5%). Some of that they take for themselves, and some they use for consumer rewards. It's a great way to make a lot of money and keep consumers incentivized to use them.

Economically, it's sort of like crappy product/service things licensed to prisons (like video telephones) that charge hefty fees to the inmates and their families, and give a significant portion of those fees back to the prisons. They're taking advantage of the incentives they can provide to the decision makers (prison administrators, or consumers in the case of credit cards) to overcharge the other party (inmates, or vendors), and make a lot of money in the process.
> I realize that I'm picking on Java, but Java is the biggest target when it comes with OOP as the industry understands it. I personally cannot stand having to create fifty files do to something like a database wrapper, and in Java that's effectively the only way to program.

I had this experience once in a Rails shop.

A simple database table mapped to a CRUD API endpoint would take from five to ten files. That amounted to about 500 lines, plus a lot of tests for each class.

I never really understood why programming became so verbose. In an ideal world I'd have a declarative API that mapped the table to the API for me automatically. In a realistic timeline I'd just use the traditional Rails approach and be happy. But the people working there preferred to use complicated patterns and a lot of boilerplate before they were needed, even though the project was perpetually late and riddled with bugs. I wish we could give a chance to simpler ways of solving problems.
when GPS is on, my phone uses more power. maybe because there are apps running tracking the GPS data.

GPS itself doesn't transmit. but apps log the data and they to the transmitting.

my main concern is any apps that need location from time to time. there is a permission to allow access to location data, but switching gps off does not toggle that permission, and apps still track location through wifi and cell locations, and i can't find any way to toggle that.
1. is true

2. Yeah, I read that and was super confused. Literally that was one of the main point of the Java language itself, enforced by the JVM itself.

3. I think this is more a matter of expected level of abstraction, but I agree this is fairly weak.

4. This just seems like standard "the new thing is vastly superior to the old thing", with a valid touch of "the JVM is too heavily abstracted from how computers work"

5. Yeah, this was also weird.
yup, i can forsee some mistakes as well. ive had a couple times i was sure i hit fav but hit the flag, as was evidenced by the unflag option in its place. so commentors do have the option of unflagging for a period of time. The algo flags are an other matter
Learn Osint for Pentesting and Red Teaming – BlackHat USA (Las Vegas)
Hinton is on it: https://heartbeat.fritz.ai/capsule-networks-a-new-and-attrac...
lmao this entire passage is exactly what I'm talking about. A concrete issue is being muddled by vague generalities, in an attempt to obfuscate what really happened and defend settlers. I mean boy people have been conquering people all the time throughout history so who cares that white people stole land from indigenous people right?

No.

Settlers took over unceded indigenous land. Indigenous Nations are now attempting to re-claim specific tracts of land. This is a real and concrete issue.
Most European countries (would have said "all", but am not sure how to categorize the Vatican and Belorussia) have Free Speech. Just not the extremist version that America favors.

Germany tempers it with the legal doctrine of "practical concordance", where a global maximum over all Basic Rights is sought, not just a local maximum for Free Speech, and all other rights lose.
on lineage airplane mode turns of everything, which i like to save power, but it also allows me to turn stuff back on individually, including wifi (useful for inflight wifi) and GPS
Depends on what you mean by front-end development.

If its HTML/CSS and some javascript to make it work - the best way to learn is probably to just find designs for websites/apps on a site like dribbble and try to hack it together. Try codepend.io as well - looking at how others accomplished something styling you might be struggling with also works well.

If you're talking about the more modern description of front-end - which might mean ReactJS, VueJS, or any of the other hundreds of modern frameworks - I'd say follow some tutorials on YouTube to get the basics and then just practice building simple apps.

For someone who is a backend developer and already knows how to code, it shouldn't be too difficult. You'll probably have a harder time learning CSS and understanding good design and UX.
what would a proper tool look like? I really want to write such a tool. But I can't formalize the product.
I think it's very similar to how Trello made an impact in their segment. After a point, simplicity is what literally what people want. You can check the customer acquisition page of WebEx and Zoom and you'd know the difference of how easy it's for someone to get started with Zoom and set up a webinar or video conference.
It's hard to take such a disregard of proportionality seriously.
I've got an app with back-end oauth-based login. I had a bit of a headache integrating the sessions with Absinthe and finally arrived on this in my Context module:

```

def call(conn, _) do
context = build_context(conn)
Absinthe.Plug.put_options(conn, context: context)
end

def before_send(conn, %Absinthe.Blueprint{} = blueprint) do
if blueprint.execution.context[:logout?] do
Auth.drop_current_user(conn)
else
conn
end
end

defp build_context(conn) do
with ["Bearer " <> token] <- get_req_header(conn, "authorization"),
{:ok, data} <- MyApp.Token.verify(token),
%{} = user <- get_user(data) do
%{current_user: user}
else
_ -> %{}
end
end

# rest of the file

```

Then made a Logout middleware that sets logout? to true in the resolution context.

Is digging into the Blueprint as in the code above necessary? Is there a simpler way of solving this?
App Extensions are a really good solution* to the same problem domain, with the additional constraint that you have to support arbitrary compiled code, with all the intentional or unintentional memory safety violations.

* I am biased here.
fitness marketing automation.

Edited the original post.
If you reprocess waste for potentially usable fuel, the amount of stuff that needs to be discarded is quite small. Like, we could probably put everything we've ever accumulated in the US in fly ash pond of an average coal plant, easily. Obviously that is a bad idea but just to give you an idea of the size of what's needed.

Also yes, I'm sure waste disposal is factored into nuclear plants. It's usually coal plants that get the free pass to spew radiation into the air, resulting in tens of thousands of deaths annually.

(note that there is a fair amount of low-level waste generated that tends to inflate the waste output figures... you need to do something with the wrenches and shoe covers and stuff that get some neutron activation, and there's a large volume of that stuff but it's nowhere near as dangerous as spent fuel.)
>This is fucking insane. It’s a terrible suggestion and you should feel terrible for having made it.

It's actually a very good suggestion and I feel good about it. Another way of saying this is that intellectual property restrictions should be greatly relaxed. What's insane is that an overwhelming majority of time, money and energy in the tech sector goes into software that is closed source, and thus technological progress is greatly hindered because research and code is unable to be shared openly. Imagine, for example, the vast public good that would arise from Google or Microsoft opening up their entire code bases for free. Think about how much good has already arisen from their respective open source projects already, & if that was extended to all their products.

Regardless, my point is not that every business acts unethically, but rather that in any business there exists a tension between private profit and public good. This is one specific example -- it is in the interest of a private company to keep their code bases closed and proprietary, but it is in the public good for all software to be free an open.
I’m in Beijing right now and it’s nowhere as bad as you describe (which is how it was ten years ago). Electric cars and scooters are everywhere. China really seems to be trying to get their environmental shit together, it’s just a big project that takes time
I know that about the flag, and managed to hack Firefox so that HSTS won't work. (Although I wrote a document how to write a better web browser program, but it isn't implemented.)

Trust between whatever (and other options about what features to enable/disable/alter, such as what fonts to use, any kind of URL redirections, etc) should be defined by the user. There are several reasons you may wish to alter the settings. (Anyways, you can configure cookies for secure connections only; the user should also be allowed to configure whether or not to use key pinning for secure cookies (individually per domain).)

(I also think that both HTTP and HTTPS are bad for banking anyways, and that a specialized kind of bank/money protocol that can be worked over SSH might be working better (preferably that can be used with text, so that even without specialized software you can still do some stuff with it; IRC does that too and that is what makes IRC good). This is independent of the above stuff, though.)
It's harder to write simple code because that requires a crystallized understanding of the problem. You can start banging out FactoryManagerFactories without having the faintest idea of the core problem at hand. Maybe some of the silliest OO patterns are like finger warmup for coders? Unfortunately that stuff still ends up sticking to the codebase.
Can deep learning paper writing be automated? :P

These neural network hype articles are barely one step down from Buzzfeed listicles in what they project versus what they claim versus what they have actually done. Scan from a list of really ambitious goals, scan among list of available datasets (God forbid, no scientist should have to actually collect and clean new data pertaining to the problem!), throw a bunch of neural networks architectures at it leveraging cloud compute, and publish a paper based on whatever sticks. The process isn't complete without a title involving the word "deep" and a PR announcement generated by a neural network trained on Buzzfeed articles.

Maybe I'm slightly too harsh. The actual paper in this case is not making crazy grandiose claims, but this article is certainly doing no favors. If this is the quality of research reporting, then it might as well be automated.
> basic interface that all entities conform to e.g. being able to ask an entity to provide a hash code, or to carry out a comparison check with some other entity

What do you do with values that can't be meaningfully hashed/compared? Java is the only place I've come across this odd idea that everything is hashable, and I've never thought of it as a positive thing.
> but not require declaring an emergency?

Having an emergency condition and declaring one on frequency are two entirely different things. By declaring an emergency you're more or less taking control of all surrounding airspace and doing whatever is necessary to achieve a safe resolution of your flight, the tower and ATC both become bound by your declarations as an emergency flight.

If your flight controls aren't damaged, you have enough fuel and/or aren't leaking any, and you're capable of flying the standard arrival pattern it may not be necessary to declare the emergency to gain the privileges above.
https://carrd.co by aj - a Zapas That enables people build simple websites/landing pages.
24 ways for being productive with big code base
Exactly, 3rd party replacement market for car parts is huge.
> I'm surprised at how big Zoom became. Video conferencing is a competitive market and other players in the space were spending a lot on sales to get all the big clients.

Focus on sales is what doomed other video conferencing. Sales in such context usually means they focused on convuncing some exec to buy the product, who inevitably used it personally not that much.

Zoom seems to have focused on tech and end user experience.
Read a paper: The case for the reduced instruction set computer
via HN comments I guess ;)
Renting out capital is not an ethical problem, but renting labor is. Human actions are not a commodity, and treating persons as tools is wrong for the same reasons “voluntary slavery” is wrong—it violates inalienable rights. The problem with capitalism is that capital owners alienate persons from their own natural property rights through the injustice of employment contracts. (Land ownership is also a problem in our world but it’s sort of orthogonal to capitalism, although it depends on how you define capitalism. Georgists make a big distinction between capital and land; maybe we can talk about both capitalism and “landism” as different strands of the economic system?)
Interesting topic. :)

This is mainly relevant if your data is used for training.

It seems like you'd want to use a log-based system like kafka to manage versioning and state in this case. I imagine you could:

1. Store incoming training data in a "raw data" topic.

2. A model trainer consumes incoming training data, updates a model's state, and at a pre-determined period writes the model's state as of a given offset in the "raw data" topic in a "model state checkpoint" topic.

3. Then you probably have some "regression testing" workflow that reads from the "model state checkpoint" topic and upon success writes to a "latest best model" topic.

4. Workers that use the model in production read from the "latest best model" topic and update their state upon a change.

I imagine you could add constraints about "model" continuity or gradual release to production that would make the process more complex, but I feel like fundamentally kafka solves a lot of the distributed systems problems.
This is super interesting. I read another post on that blog about pension funds' total allocations to equities growing considerably over the last few decades. I wonder if the baby boomers retiring will trigger a noticeable aggregate divestment from stocks to cash
> but they undermine the design goal because they more or less directly expose internal state to the public world.

This has always been my problem with getters and setters. It's a way of either pretending you are not or putting bandaids on the fact that you're messing with the objects internal state. For objects with dynamic state this is really bad. The result is racy or brittle.
The underlying problem is what the threat model was - in Java/JVM a significant amount of effort was put into addressing "what if the byte code itself is malicious", with the core applet VM having quite a lot of power over the system - e.g. file I/O, GPU access, etc.
As a remote worker who is on video conferencing calls most of the day, I have a lot of experience (aka strong feelings) with the tools mentioned in the article;

- Zoom is indeed great. Reliable and clean UI. Local recording to MP4 makes for easy sharing.

- Webex is a bit less intuitive, but still reliable. Proprietary video recording protocol makes it video's hard to share.

- Skype Business should die in a fire. Unreliable and terrible UI. The Mac version of it is pretty much broken. A lot of folks can't find out how to screen share.

- BlueJean. Trying too hard to be fancy with their UI. They are also very proud with their Dolby Voice, but I find it harder to properly understand people (My hearing is not that great).

- Google Hangouts / Meet doesn't work in Safari for no good reason IMHO. High CPU usage and could use some more features, like a personal room and default meetings settings (no vid/mute by default on join, default audio devices etc)
It’s been on github for years.
It's different people making the different complaints.

In general, you can't please all the people all the time.

GP isn't a complaint, but constructive criticism. When we lose the ability to tolerate criticism, we lose the capability of progress.
I buy beans and grind them all at once probably once a month. It's less effort with an electric grinder.
Why should they give up those things? Why not have both?
Emergencies are pilot's discretion. There's a non-communication exception in FAR 121 operations that doesn't apply here. At least in the U.S. there's no such thing as ATC declaring an emergency for a pilot, and likewise there's no such thing as ATC denying a pilot request once an emergency is declared.

Pilot language in the radio audio suggests the turn around is precautionary, there are too many examples of return to departure airport that are not emergencies. Also, they were offered both 4L and 4R, so it's not like they requested a runway that was not in use.

If there are no control problems, no system warnings, and the pilot sees no damage - on what basis do they declare an emergency? Very different from a blown nose gear tire which is a fire hazard on landing, might grind down the wheel, and some risk of nose gear collapse as well.
Yes, cljs is like frontend finally got its meds and everything makes sense again!
"just stop using your PC the way you're accustomed to so that you can use my new product", what a winning sales pitch. It's like if instead of making his phone not suck, Steve Jobs had told people to just stop carrying their keys around in their pockets.

I mean, drinking soda and gaming is practically a meme at this point, so goodbye to all those customers. And anyone else who wants a beverage while they edit photos or do their taxes.
with a combination keyboard/chassis you can't do that unless you want to reach up to your laptop stand everytime you need to type. Not practical.
Reagent is a simpler abstraction around React, almost like a director's cut :) Om is a bit more oriented to react components. Both are mighty fine.

http://theatticlight.net/posts/Om-and-Reagent/
I suppose complacency and other things (bureaucracy, politics, risk adversity etc etc), especially by the big leading companies is what makes them not always continuing to innovate, thus allowing smaller players to enter. Look at Tesla for example. Also, in software, I’m always amazed by how successful Slack is but I suppose they’re competing with a lot of old legacy tools like Skype (again) that even though they have a lot of usability things they probably should fix, they are doing quite well.
When I think of message passing, I think of message queues. There should be an arbiter, a medium of message passing so you can control how that message is passed and how it will arrive.

Java and C++ way of message passing both stripped that medium down to a simple vtable to look up what methods the object has. Erlang and go have the right idea of passing messages through a medium that can serialize and multiprocess it. C# tries to do with further abstractions like parallelized linq queries and C#, python and nodejs use async/await to delegate the messages to event queues. Python can also send messages to multiple processes. All this shows us that message passing requires a medium that primitive method calls lack.
This previous thread covers differences between the JVM and WebAssembly:

https://news.ycombinator.com/item?id=19502702

tl;dr

- JVM doesn't do enough to separate computation and I/O

- JVM doesn't run C code very well, or it requires research-level technology to do so (Graal). This applies to both computation and I/O -- it has a completely different I/O interface than C programs rely on.

- Photoshop / Word / Excel / etc. were never ported to the JVM. The browser actually has better equivalents of them.
That mitigation strategies are not entirely effective immediately does not fundamentally change their nature.
> The “hide the state from the programmer” option chosen by OOPLs is the worst possible choice

When you code C and write something as simple as

fwrite( "Hello world", 1, 11, stream );

that line of code changes state of the file stream object in CRT, state of file caches in OS, state of B-tree nodes in file system driver, state of disk firmware, state of NAND flash chips…

It’s not just OS and drivers. Any sufficiently complex software is built by layering abstractions on top of each other.

Many problems that need to be solved have very complex state, often related to IO or GUI. You don’t have other choice but to use some form of OOP and hide lower-level implementation details behind abstractions, otherwise you won’t be able to get anything done due to overwhelming amount of state to reason about.
Sure, it's impossible to corroborate at this point because there's no direct evidence of it. It's not like he wrote it in a mailing list that we still have access to. It was (according to what I've read about it) a verbal statement made in response to a question asked of him by someone else. I don't know who the other person is, though perhaps that would be a place to look.

References I've seen have, of course, essentially all pointed back to Kay's claims. I imagine this is insufficient in your eyes, so I won't bother finding them for you.

Arguing "it's reasonable and intellectually honest to reject [the claim that Kay coined the term]" is silly. It's not reasonable, because there's no real reason to suspect the claim to be false in the first place. For 50+ years it has been accepted knowledge that Kay coined the term. Nobody — including people with direct experience on the same teams or with otherwise opposing claims — has stepped forward to dispute this fact in all that time. This would be just like saying "Well I don't think da Vinci really made the Mona Lisa. I mean, all we have is his word for it. Sure, the painting didn't exist before him, and its existence appears to have started with him, and people at the time attribute its existence to him, but for all we know maybe somebody else did it and gave it to him to use as his own!" Sure, it's possible... but it's a silly claim to make (and hence not reasonable).

Your position is not "intellectually honest" because it sincerely looks like you're just trying to be antagonistic. What's the point in arguing that Kay didn't coin the term? Do you have some unsung hero in mind you'd like to promote as the coiner? Or do you just like arguing against commonly-held beliefs for the sake of it? I don't see what you're trying to accomplish.

Two more thoughts:

1. The only way to prove Kay didn't originally coin the term would be to find hard evidence of it used in a similar fashion (i.e., with regard to programming) from prior to 1966 (the time Kay claims he invented the term).

2. If you had such evidence, you would need to prove that Kay had seen it prior to his alleged coinage. In the absence of such proof, the existence of the term prior to Kay's use would be irrelevant. Why? Because the community as a whole has gone off of Kay's claim for the whole time. If somebody else conceived of "object-oriented programming", we didn't get it from them — we got it from Kay.
Arguably Netflix is that company already.

They exist to let people watch movies/tv, and use tech to provide that service.

Compare that to say HashiCorp who release tools as MPL and then provide further features under a licence to fund the business; Or Percona who provide enhanced forks of MySQL under gpl (because that’s what upstream dictates) but then additional tools under eg BSD license, and provide consulting for either their own or other database engines to fund the business.

Heck my own business is effectively consulting, but I build tools to make my life easier and release them under permissive licenses wherever I can (If I fork an existing gpl licensed tool to improve it clearly I have to use their existing licence)