skysight-inc/HackerNews huggingface dataset:
I'm hedging my bets by using Datalog and the Datomic protocol wherever I can: https://tonsky.me/blog/datomic-as-protocol/

And keeping a close eye on Differential Dataflow: https://github.com/TimelyDataflow/differential-dataflow/

DD is commercialized in Materialize: https://materialize.io/

The solution is likely to arrive in the Clojure/ClojureScript ecosystem before it arrives anywhere else because tools like Datascript lend itself to this type of thinking, e.g. 3DF: https://github.com/sixthnormal/clj-3df/

The closest thing we have to streaming updates right now is FactUI, which uses the Clara rules engine, but it's IMO hampered by limitations of Clara and Cljs namespacing: https://github.com/arachne-framework/factui

The RETE algorithm is a less general solution to incremental updates. Zach Oakes is doing some interesting work with O'Doyle Rules: https://github.com/oakes/odoyle-rules
Sort every collection you output
> It's like recommending against the use of HTTP before people learn TCI/IP...

This is a false dichotoy. SQL is not TCP/IP because it's nearly on the same level as ORMs. Unless you normalize and understand your entities properly it'll be difficult to write performant systems. ORMs are rightly called the Vietnam of Computer science¹ for this reason.

[^1]: http://blogs.tedneward.com/post/the-vietnam-of-computer-scie...
wait, what? doesn't support joins? Things like this make me doubt my fundamentals. 'Are joins really necessary?' is the question now running through my mind ;-)
Thanks. I think this one is helpful
The consumers here are the advertisers.
I use a lot of raw sql and I also use ORMs. I don't see ORMs as being the issue the author thinks it is, bit rather that developers suck at designing the data layer. A half decent design will do as you say; it will allow the use of an ORM or hand written sql. ORMs make magic easier, and pulling that magic apart is a real pain, but so is working with triggers and stored procs. The problem exists on both sides. The solution isn't to get rid of ORMs, but to train developers in better system design.
1) One language and one system: SQL on a database that will last much more than the applications
2) SQL has a limited scope, and so do SQL tools. You need advanced tools if you have "app code": it's a necessary evil.
3) At worst, you can write unit tests for app code that calls SQL queries and stored procedures.
4) "Usually" isn't enough, moving logic to the client requires moving data to the client.
Sounds more like nobody paid for the service, so they decided not to spend any more time on it.
The rolling stones don't pay movie makers to feature their music instead of others (do they?)
Both the tech-bro and the media production audience are now a rounding error of a rounding error for Apple. It is a consumer luxury brand first and foremost, and it derives 99% of net income from that. Catering to dorks in basements is a tiny legacy business and the support level for it is commensurate. (It probably actually only exists because Apple has its own share of dorks in basements.)
Also, no one deals with technical debt if they don't stay long enough to suffer consequences of compromises, so the quality will decline over time.
Aim for Operability, Not SRE as a Cult
That's the point you cannot give up personal copyrights even if you want to. It's supposed to prevent big companies forcing authors to sign deals bad for them when they have all the power.

I'm not sure how this apply for software, I think it's less restrictive than for art (and it almost never comes up because Poland isn't a litigious country unlike US).
The takeaway from all the math (quote from W. Allen Wallis): "The military was inclined to provide protection for those parts that on returning planes showed the most hits. Wald assumed, on good evidence, that hits in combat were uniformly distributed over the planes. It follows that hits on the more vulnerable parts were less likely to be found on returning planes than hits on the less vulnerable parts, since planes receiving hits on the more vulnerable parts were less likely to return to provide data. From these premises, he devised methods for estimating vulnerability of various parts."
Not just Sweden. In Netherland, 3x25A is also pretty standard. To our surprise, our house turned out to have 1x35A, so when we got a big induction cooker, we had to upgrade to 3x35A.
> I'd also point out that ORM is not the only alternative to stored procedures.

Absolutely. I personally use HugSQL[1], so no ORM, but I also don't use stored procedures. I guess my main point is that the boundary between application and database matters and not putting logic in the database doesn't make that boundary go away (putting logic in the database also doesn't make it go away). But I take your point, its not to the same degree.

> there's nothing unique about ORMs that make them susceptible to bad code, or poor SQL understanding.

I think that there is: it makes database code look like client-side application code, so there's some temptation to just blur the boundaries and mix them together. This is how you end up with code that queries for data, then does looping and filtering outside of the query, then queries some more. Sure, you can write equally bad code in stored procedures, but the boundaries are more obvious. At the very least, its likely a different programming language from the rest of your application.

> Removing the ORM is not the solution to your engineer not know how RDBMSes work.

Sure, however, in practice, at least in my experience across multiple teams and companies, education hasn't been a reliable solution. People still abuse the ORM and treat it as if the database is magic. Removing the ORM doesn't automatically fix it, of course, but it does force people to consider the database as a separate service whose access crosses a boundary. In an ideal world, everyone already keeps this in mind and ORMs can be used as they were intended, but, at least in my experience, this just hasn't been reality. Have I just been unlucky?

If different people and teams keep making the same mistakes with the tools, maybe its time to re-evaluate the tools and what they encourage people to do. Its not that the tools are bad in and of themselves, but that they encourage bad usage. (EDIT: I just saw another article on the front page and the title seems apt: "Discipline Doesn’t Scale")

[1] https://www.hugsql.org/
State of Front End 2020
They probably had hacks in the code they didn't want to show, but all in all I suspect they were making so little they just thought it wasn't worth continuing with it.

Most of these sites simply vanish at some point, with kind of defeats the purpose of using them to simplify their operation as you need to be ready to look for an alternative on short notice and it's a security concern.

OTOH what are the chances that the code changes would be of any use to the author?
Not OP, and not familiar with Ada - but this might go into the limitations of Ada's concurrency model:

Rendezvous Facilities: Concurrent C and the Ada Language - https://www.computer.org/csdl/journal/ts/1988/11/e1546/13rRU...

> The concurrent programming facilities in both Concurrent C and the Ada language are based on the rendezvous concept. Although these facilities are similar, there are substantial differences.

> Facilities in Concurrent C were designed keeping in perspective the concurrent programming facilities in the Ada language and their limitations. Concurrent C facilities have also been modified as a result of experience with its initial implementations.

> The authors compare the concurrent programming facilities in Concurrent C and Ada and show that it is easier to write a variety of concurrent programs in Concurrent C than in Ada.
The fact that you are blatantly a white supremacist means that your entire first paragraph is dripping in pure bad faith. You are also attacking your own strawman by the way, "growing white supremacy" was your quote! Not something from a journalist. White supremacy has clearly been crowing over the past decade, with increasing membership and activity among white supremacist terrorist groups (in the US) and political parties (in the EU). I guess you can say that it "declined" over the past century, but that's a useless point of view when considering the Christchurch terrorist attack.

> The former is consensus among researchers in the field.

No it isn't. The "consensus among researchers in the field" is that black Americans tend to score more poorly on IQ tests than white Americans. It does not mean black people are actually "dumber" since IQ is not conclusively related to "intelligence" - we don't even know what intelligence is! We also know that you can raise your IQ considerably by practicing IQ tests, that psychological pressures have immense impact on IQ scores, that education increases your IQ score, that being adopted into a richer family can increase your IQ score, and so on. Hence the IQ tests are flawed circumstantial evidence, where the testee's "inherent" and "biological" intelligence is hopelessly entangled with psychological and economic factors that obviously have nothing to do with the individual.

This is like the phrenology arguments of old: it might have been the consensus among researchers in the field that Africans had less cranial CC than Europeans. But there was no evidence that this had anything to do with brainpower, and racists like yourself have always played fast-and-loose with "real fact" versus "evidence-free assertion" to make your point. Now that it's been demonstrated that the 19th century phrenologists were wrong about African/European head size differences, you rarely see people pushing phrenological arguments and they sound self-evidently ridiculous.
Ask HN: Cost to implement Segment for my userbase of 10M Mau?
Looking for advanced features of Segment including Audience identifications & Persona. It is listed as an Add on.
How much would this cost me ?
Agreed. As ever, it depends a lot on the type of work and how big the system is. We use a lot of SQL (not sprocs), but are moving back to LINQ for reasons of composition and maintainability. I love writing SQL, but in our system which is north of 300 tables, on a project over 10 years old now, the lack of compatibility and general lack of static dependencies in SQL is hurting us more and more
Unless I'm mistaken, you're assuming one of two things:

1) 1-on-1 tutoring happens online. I would like evidence that this is effective, given the challenges this pandemic has put in evidence. Particularly, note that this is supposed to be aimed at all children, not just particularly motivated or interested ones that will sit quietly learning at their computer.

2) 1-on-1 tutoring does not happen online. In which case you either have to add the cost of getting the kids to the tutor (if the tutor stays put, maximizing their throughput) or getting the tutor to the kids (reducing their throughput and their student count).

Beyond that, modern schooling is an entire system that addresses many many problems in society including:

- Daycare for kids ages 5-18

- Logistics of getting kids to and from school (in the US)

- Logistics of providing shared facilities for things like experimental science classes .

- Logistics of providing shared access to higher level computing facilities than individual poor students can afford.

- For a nontrivial number of students, access to food during the day.

- Many more, because I am not an expert and I literally came up with this list off the top of my head.

Are these problems unsurmountable? Do they all need to be solved by the educational system? Maybe not. But imperfectly as it solves them, it does address them for now. You can't throw out a significant part of the public service provided by public education and claim you successfully replaced it.
Keto Burning: There Are Challenges to Choosing a Keto Diet
Melting down the extra fat from the Keto Burning is not everyone’s cup of tea. It is really hard for the person to reduce the extra pounds from the body tone with some exercise and diet. One needs to put some external efforts to reduce the extra pounds from the body tone. We all wants to maintain a lean body tone but due to the unhealthy diet and lazy lifestyle we aren’t able to reduce our extra pounds.It is actually difficult for the person to cut down the extra fat from the body tone. One needs to put his body into ketosis so that there will be an ease in the fat reduction process. Any person can easily reduce the unhealthy fat from the body tone without any kind of issue or problem only if his body gets into the ketosis process. We are here to help out all the obese person who wants to get rid from the unhealthy fat. Be with us till the end to know every single thing about this supplement.Click Here https://ipsnews.net/business/2020/10/20/keto-burning-south-a...

https://sites.google.com/site/ketoburningprice/

https://zenodo.org/record/4112332#.X4-_2CPhXIU

https://wiseintro.co/mysite4560831
Critical software for planes is written in Ada. C is not safe enough.
>The user bought an Apple computer so they clearly trust Apple

This is false, maybe I bought X because it was the least shitty choice.
I’ve been doing web since 1990s and I‘ve always thought spreading a UI element across 3 separate files (often in different locations) was an anti-pattern (or 5+ files In 5 different folders if you want MVC).

React is awesome because it allows feature-aligned separation of concerns (each component has a single job - render everything about a specific element - which is usually a well defined part of a specific use case).

Jsx is the best UI system ever in terms of productivity - speaking from experience: I’ve implemented production apps using dozens of UI frameworks/platforms - Html, WYSIWYG, Flash, WindowsForms, WebForms, Ajax, Asp.Net Mvc, Razor, WPF, Xaml, Silverlight, Knockout, Handlebars, PhoneGap, Ionic, Bootstrap, MaterialUI, Angular2, React w/ Class Components, React w/ Mobx, React w/ Hooks

I can tell you pros/cons of each of those. But at the end of the day I can develop an entire app in days in React+Hooks which would take me weeks in most any other.
IMHO, types for function parameters depends on the use case.

If you have a function in a standard library, types are obviously helpful, albeit it can be convoluted if they are templated.

On the other end of the scale, if you have a little helper function used to reduce duplication/increase readability in another function, explicit typing easily becomes busywork. This is where duck typing/templates shines.

I once sent a suggestion to the C++ committee people that they allowed easy templating of function parameters (something like "auto foo(auto bar)"), but I don't think people who are not used to duck typing appreciate how much it helps in the grunt work inside modules. At least, I didn't myself.
Evermore
Time to change jobs then.
The problem comes when anyone thinks the ORM vs No ORM debate has a single answer. For me it's a simple test:

• Your data makes sense as objects;

• Your data is small enough to fit in memory;

• Most of your operations are CRUD.

If you can answer all three with yes, then use an ORM or some other kind of SQL abstraction layer. Otherwise don't.
It was similar for us in Germany. The government started issuing (partial) lockdown policies in the second half of March, but a later analysis of mobility data (e.g. statistics from mobile phone network operators) showed that people had already reduced their mobility voluntarily in the first half of March, which helped make the first wave much smaller than most feared.
Even when just going by face/head, my personal anecdotal data runs counter to what GP wrote.

I've been growing my hair since shortly before the pandemic hit (from a few mm buzzcut which I had for years previously), and combining that with a mask, I'm apparently unrecognizable. I've run into people in the street that would recognize me in a heartbeat otherwise, but with the additional change of hair, people only recognize me when I pull my mask down. So humans aren't that amazing at recognition either.
The problem with a call for discipline is that it's a call for discipline.
You didn't watch it, did you?
This is a very good point.

In fact I would add that no vendor exists with enough sway to influence the a significant part of the C++ community (not even the committee can).
Add the link in the comments.
Yeah I don’t get that obsession with “pluggable databases”. Abstractions have a real cost, and they typically complicate a lot: I would advice to just make sure you centralize the access to your database in a single module / class / whatever, but other than that, swapping out databases seems like a non-goal to me.

How often do people really migrate to a different database? Even when doing so, migrating the existing data always is a lot more tedious than migrating the code, in my experience.
Unless you're in a startup, where most ideas are usually distractions, or trying to play catch up with a competitor.
>you'd need to demonstrate losses

Aren't losses trivial to demonstrate: You didn't get the source code. And in the happy case you can be made whole just by them releasing the code, which is easy if it wasn't modified such that it contains proprietary shit.
Show HN: VR-style head tracking for PC games with just an app (iOS/Android)
Germany seems to be doing quite well in producing exactly those products from the upper-middle tier – mixing a reasonable blend of longevity, ingenuity and ergonomics, at an earthly cost. In the rest of the world and especially in "emerging markets" however, such products are often unaffordable, uncompetitive and even sometimes seen as old-fashioned. A household in India that goes from not having a kitchen cutlery set to having one cannot ever distinguish its level of quality because there is nothing else they can compare it to.
When I found ActiveRecord insufficient, I found it easy to drop down to Arel for complex queries: https://www.rubydoc.info/gems/arel
Unionaire208
افضل خدمات الى جميع انواع الاجهزة الكهربائية و المنزلية فى مراكز صيانة يونيون اير المعتمدة فى اى مكان يريد العميل
There's OpenSnitch, but it's a WIP: https://github.com/evilsocket/opensnitch
I've heard quite a few times the argument that by using Hibernate, you don't need to know SQL. But Hibernate's manual is huge.
Stored procedures are a really bad hack—in any practical sense they function as a mediocre API server which comes bundled "for free" with your SQL database server. If you need an API layer at all, it's much better to write this in a real programming language.

Just about anything you can do with stored procedures, you can do within an SQL query block in your favourite language. And when all your queries are fully parameterised, your database server can even use the same execution plan cache as "real" stored procedures.
What do Zig "generics"/"comptime" errors look like ?

> One of the key differences between zig and rust is that when writing a generic function, rust will prove that the function is type-safe for every possible value of the generic parameters. Zig will prove that the function is type-safe only for each parameter that you actually call the function with. On the one hand, this allows zig to make use of arbitrary compile-time logic [...]

This is fundamentally identical to how C++ templates, constexpr and concepts work. Its a really flexible system (you can implement how you want to type check things using constexpr), but has three cons that Rust system does not have:

- can't typecheck library APIs, so library authors aren't sure if their "constraints" are correct. Testing this requires writing lots and lots of compile-time tests.

- errors deep inside a library implementation when user code passes incorrect arguments to generic APIs.

- rust traits can be used for static dispatch, or boxed and used for dynamic dispatch, C++ at least can't really do this well.

It would be cool if someone could explain how Zig fixes or improves upon these problems that this system has in C++. C++ tried to fix this with concepts, but failed.

This was a nice read that has motivated me to learn Zig. I want to know how Zig improves on these C++ issues.
Would be really, really curious to see someone benchmark how this performs as a glusterfs cluster of zfs mirror bricks of SSDs (if 4GB is enough for zfs?) or lvm mirrors.

Several people have posted HC1/HC2 gluster clusters but since gluster dropped 32-bit support there hasn't been a great alternative for that until this.
Take Action for the Sustainable Development Goals
if that's a business priority, that's a business priority. But it's not up to developers to set those.
I don't mind very simple stored procs for queries, saving data, and the application just has lightweight abstraction around them.

Putting core business logic in stored procs though is a big no no.
As an example, https://github.com/score-p/scorep_binding_python#user-region... is the support in the HPC system https://score-p.org (though it focuses on parallel programs). http://apps.fz-juelich.de/scalasca/releases/cube/4.5/docs/gu... is the associated profile analysis tool.
It's more a concern when shipping library/platform code. Applications can be as tightly coupled as they like.
If you have 6 hours to kill, check this shadertoy that uses ray marching: https://www.shadertoy.com/view/3lsSzf

And the video that goes through its creation step by step: https://www.youtube.com/watch?v=Cfe5UQ-1L9Q&ab_channel=Inigo...
(Context: I'm from Germany.)

In retrospect, with the 20/20 vision of hindsight, the one thing all Western governments should have done differently early on is not to focus on "don't buy surgical masks (because we need them for hospital staff)". Instead, they should have said: "Everyone get out your sewing machines and make face masks for your friends and family." Publish sewing patterns and instructions for free on a government website. Maybe even video tutorials.

My mother happened to have all the materials at hand, so I got a dozen high-quality reusable cloth masks early on.
Don't put business logic in stored procs.

They're great for storing complicated queries, but the actual buiness logic? No.

Have some stored procs for updating and querying data, then a lightweight abstraction around them in the application.
I own a HC2 (single SATA slot) and it's an amazing piece of hardware.
Please add IN MICE at the end of the title :)

Thanks!
Your site isn’t static if it has comments.
Doesn't AGPL only _require_ you to distribute the source code when requested? Sure they violated it when the author requested the source code, but surely you'd need to demonstrate that other requests were made over the duration of when the site was up where they refused to provide the source code.
Would not splitting responsibility for the Database to more senior developers work better.

Not sure what you mean by quality control you don't enforce any coding standards / style guides for writing SQL.

It does sound like your employer is cheeping out and not hiring enough experienced developers
“open transaction need to be ROLLBACKed” isn't business logic. Business logic should rely on operations being transactional anyway.
IIRC, one of the reasons Texas has a separate grid is to avoid Federal regulation: The source of the US’s power to regulate electricity is the interstate commerce clause in the Constitution, which doesn’t apply if nothing crosses state borders.
If that goal is important to you, I agree. I disagree that this should be declared as a universal goal for all people.
That is such no discussion.. and articles from 2014 are not having any valid arguments anymore.

I put it along the discussions about which OS is the best. Which does not matter at all. Please stop wasting everyone time with those arguments. Do what is best for your project and shut the f up.
When I worked in crypto 20 years ago there was a journal like this which took papers that were only a few paragraphs long for quick results. I think it was called Electronics Letters.
For context, refer to Tonsky's essay on The Web After Tomorrow: https://tonsky.me/blog/the-web-after-tomorrow/

Differential Dataflow + Datomic solves this problem.