skysight-inc/HackerNews huggingface dataset:
Thank you for that link to the Adam Savage podcast with Joe DeRisi. I watched the whole thing absolutely incredible research he is doing from a layman’s perspective it seems like a very bottom up approach that could take all of the guess work out of disease diagnosis.
They're not really related here. The premise of my question is more around the fact that with REST, which database queries you'll run are fairly static and are known by the backend based on what APIs they expose. Therefore it's easy (ish) to make sure said queries are indexed properly.

With GraphQL, I'm asking about how clients _could_ write arbitrary requests, that since the backend doesn't know about them ahead of time, can't optimize for with indexes.
I managed to install GhostBSD on a MacBook Air 11", but had to set up the partitions first from another Linux partition. The trackpad works, but not comfortably.

FreeBSD and OpenBSD didn't even have GUI installers, and without advanced partitioning, I think the OS is "proud" to be the only OS on the computer, and will end up being relegated to virtual machines.
> Client side caching with a normalized cache implementation is very hard to get right

Absolutely true! When I worked on this at $prevCo, it was tricky and sometimes caused bugs, unexpected behavior, and confused colleagues.

I will say that a proper implementation of a normalized cache on the client must have an ~inherent (thus generated) understanding of the object graph. It also must provide simple control of "whether to cache" at each request. Most of the problems we experienced were a result of the first constraint not being fully satisfied.

My impression is that Apollo does a good job on both of these but I haven't used it so I can't say.

I'll also note that the approach of "when one component makes an update, tell all other components on the page to refetch" sounds like a recipe for problems too – excess server/db load, unrelated data changing in front of users' eyes (and weird hacks to prevent this), etc.

Of course, with the wundergraph architecture, it sounds like answer to these questions would simply be to load a given table only once per page – which means no more defining queries on the "panel" components in the dashboard, for example.

All tricky tradeoffs! The right answer depends on what you're building. The Wundergraph approach sounds pretty cool for a lot of cases!
Oh wow, that’s actually a very compelling reason to look at FastMail, thanks!
The Necessity of an Intelligent Content Filter
The former would be something like Hasura right? As a backend dev, I get nervous when I see a tagline like "Instant GraphQL APIs for you data", because I worry about the schema and operations that are exposed.
I agree with this so much. If you are giving your team autonomy, they may well be much closer to the problem than you are. While you, as a more experienced dev, may have seen situations like this before, or have opinions grounded in past experience, they'll be the ones who have spent the time thinking about it.

Often problems that less experienced devs have come to me with are gnarly and it's more of a consultation than me handing answers to them.
I’m less optimistic. All they will do is consolidate lock-in and leave people with less money and willingness to spend on other software.

As to advertising - why would they give up revenue? If they can both charge and advertise, they will, just like cable tv.
One billion time this!
> Maybe now that politicians see that people are very against drug laws we'll see some of them renege on their hard anti-drug stances.

The purpose of existing drug laws, especially marijuana, is to give police a reason to harass and discriminate against certain populations.
Arch simplicity and top performance as well as its rolling release, high quality packages and community (yes, docs too!) definitely makes me more productive every day.

As a happy user since 2015, thanks for such amazing distro and experience.

Long live Arch!
Just delete the alias once you see any rubbish hit your inbox

Honestly with 100 sites I've maybe had to delete 1 or 2 so its very low effort
You could argue that it does; up until 20 years ago it was treated like a munition (at least for export controls) until pressure from the tech boom got it reclassified as software.

Might make an interesting constitutional rights case before the supreme court.
> $120 is about a third of what my accountant charges per hour.

Some professions typically require both a related degree and one or more certifications or licenses. Accounting is one of those (CPA, CMA, CFA, CISA, CIA, EA) and this ends up being reflected in the hourly rate.
And this is why in general I don’t like ORMs, even my favorite ORM, Django’s. They hide from you the query complexity — and perhaps also the number of queries — that your ORM query produces. There are situations where a different ORM approach would yield similarly shaped data yet consumes orders of magnitude more or fewer resources. And this is without adding any new indices.

In general I don’t like giving anyone the ability to write queries unless I trust they understand the performance ramifications. This can be difficult to enforce because someone “on the outside” can always abuse your thoughtfully constructed set of access points you’ve provided by sticking them in nested loops.

Perhaps an answer is strict allocation of quotas outside the realm of assumed competence and good will.
Anyone who generates IDs outside of the database. Anyone who wants to avoid contention on sequential IDs.
Line-delimited JSON works, but imposes a high size overhead (field names are repeated for every record) and is not well supported in non-programming environments.

The article only discussed line-delimited JSON objects. How about line-delimited JSON arrays? You put the field names in an array on the first line, and the values in arrays on the subsequent lines.

Although in my day-to-day, the overhead of field names is rarely problematic.
It actually got renamed to Mitsubishi Montero for the Latin American market.
Aside: why is there not an RSS feed for the WunderGraph blog?

I think Jens Neuse is making two important observations about GraphQL:

1. GraphQL's single URL/endpoint [1] is possibly an anti-pattern

2. ETags are important for Cache-Control and Concurrency-Control on REST endpoints

The concept of prepared statements is useful for my SQL-centric brain. WunderGraph effectively creates a REST endpoint for each prepared statement (GraphQL DML). Like prepared statements in SQL, WunderGraph uses query metadata to determine the types of input parameters and the shape of the JSON response.

Kyle Schrade makes an important point about canonical GraphQL queries: response payloads can be reduced by filtering JSON fields, similar to SQL projection (i.e. the columns specified in the SELECT clause). It seems that WunderGraph can potentially support both approaches by allowing optional GraphQL queries on each REST endpoint that can be used to filter the endpoint specific JSON response.

[1] https://graphql.org/learn/serving-over-http/#uris-routes
I'm not particularly familiar with GraphQL, but this article highlights a common problem in the promotion of new libraries, patterns or methods. These are usually advertised as having a number of independent benefits or solving a series of unrelated issues, but when you look into each of them, it usually turns out that the same advantage can be easily obtained by adopting much smaller changes on top of the current tools.

In the end, the question that proponents of a new technology in a team usually avoid addressing is: "what specific problem we have here and now that this new method solves, and why can't this specific problem can't be solved by the simple addition of X to our current solution, without the need to change absolutely everything?" Because even if a new library solves a laundry list of issues, usually the ones that need to be solved in a specific context- the bottlenecks- are just one or two. And those usually can be solved by small incremental changes.
This is an excellent point @bluntfang.

I'll be very upfront: homesteading is a money losing proposition. It's a consumption good - it costs more than any (monetary) profit it brings.

And my writing about it is ALSO money losing. I'm a coder. When I write and sell novels, the opportunity cost is huge - at an hourly rate, I lose about 90% of what I could otherwise be making coding.

Writing about homesteading is much better - I only lose about 50% of what I could otherwise be making.

I write because (a) I am more driven to create and share my ideas with people than I am to make a marginal dollar, (b) I am ideologically in favor of people moving to the countryside and living a different lifestyle, so writing is an ideological / political choice.
AMD has the 5950X too
> to see that about 80-85% of our energy in Europe is from fossil fuels

Only if you mean total energy and not only electricity

> In the EU in 2018, 40 % of the electricity consumed came from power stations burning fossil fuels and 33 % from renewable energy sources, while 26 % came from nuclear power plants. Among the renewable energy sources, the highest share of electricity consumed came from wind turbines (11 %), hydropower plants (13 %), biofuels (5 %) and solar power (4 %).

https://ec.europa.eu/eurostat/cache/infographs/energy/bloc-3...
GNU Parallel and Block Size(s) (2016)
> Cannabis has been rebranded as a wellness panacea. Mushrooms and MDMA are making headlines as therapy tools, not party fuel.

Man, these guys are late to the party. Alcohol works great for treating symptoms of stress, too! Can't be stressed, anxious, or depressed if I'm blitzed out of my mind!
>Anecdotally, it's gotten easier as I've gotten healthier.

Hunger is a weird thing in how it affects different people. I've done the "master cleanse" without really being bothered, while my significant other can barely last half a day without needing something to eat. Being as how she's one of the toughest (and fit) people I know, it can't be chalked up to willpower.
Snowball Fighting Lyon, France 1896 – Color, 4K, 60FPS
Ah nice, just found it here:
https://github.blog/changelog/2020-05-06-github-advanced-sec...

Thanks!
That is not a beneficial arrangement for the Taiwanese population, compared to "if Taiwan fall this capability is lost, defending the island is absolutely necessary".
Gab.com A social network that champions free speech, individual liberty
What do you mean by "removed"?

Obviously millions of people were removed from the workforce this year, but that had nothing to do with burnout.

In general, a non-wealthy person cannot simply retire because they feel burned out.
I’m curious what the file types you get out of this system are? I’d very much like a 3D scanning solution that could accurately capture things like molding or other smaller architectural details. Is this system good enough on small parts?
Thank you! I tried that one a few days ago but it hadn't been updated since the github takedown so I incorrectly assumed development was happening elsewhere.
But dont forget, there is only two kinds of decimal separators in this world, those with comma and those with dots...
> How are GET requests a crutch?

They were not in the original spec IIRC. URL's are limited in legth (it's not in the spec, but most clients have a limit) etc.

> Which is what any caching proxy must do anyway?

Nope. A caching proxy can benefit from HTTP Cache Headers [1]. But cache headers don't work well with GraphQL's GET requests, and don't work at all with the default, which is POST.

> This problem is not limited to GraphQL, it's a generic authorization problem.

GraphQL makes it significantly more complex though. Because your requests are ad-hoc.

> You don't have to build a complexity analyzer or figure out recursion levels, there are already tools that do that for you.

Indeed. By adding more and more complexity. And no, tools only solve a part of the problem. Simply a dataloader on a server doesn't entirely solve the N+1 problem.

> But you can go another way and just create a list of approved queries.

Turning it into REST with none of the benefits of REST.

> Usually? That's just speculation. And that's entirely on the implementation of that service

It's not speculation. That's the main use case for GraphQL. But even if you just slap it on top of a single database, you still have the problem of ad-hoc queries hammering your database.

[1] https://www.keycdn.com/blog/http-cache-headers
If you like GP, you might want to check out Gene Expression Programming [1, 2]. A lot simpler to implement, with some nicer features. This excellent paper [3] has a lot of great ideas to get inspiration from (it uses GP).

[1] https://www.gene-expression-programming.com
[2] https://en.wikipedia.org/wiki/Gene_expression_programming
[3] https://ccc.inaoep.mx/archivos/CCC-17-009.pdf
Not really, implementation of graphql cache is like day or two work.
> apparently noone in power seem genuinely interested in sorting out this big problem in a way that would be advantageous to the European public

I disagree. Europeans have effortfully elected for policy that moves the problem. Merkel shutting down Germany’s nuclear fleet, for example, remains popular [1].

Switching energy sources is costly. I have seen zero evidence of Europe being unusually willing to bear that cost.

[1] https://www.cleanenergywire.org/factsheets/polls-reveal-citi... See “Survey by the Renewable Energy Hamburg Cluster”
Show HN: Predicting Individual Customer Lifetime Values down to each purchase
Hi, looking for feedback and interest. Why is CLV important? Because it is unlikely the first or second purchases by a customer will cover the cost of acquiring the customer. We can predict CLV, early on in the customer's lifetime so that it can help you scale your business without increasing losses.
The Zambian space programme of the 1960s
> these votes with >60% in favor of legalization show that significant portions of America think drug-related activities are not "immoral" or "wrong" and should not be criminalized.

It's worth remembering that these aren't the same. People can vote for legalization while believing that recreational drug use is immoral. I believe it's wrong but support all drug legalization because I believe it's the job of the state to stop aggression, not to enforce morality.
The problem is the one of scale and time waste: you are asking recipients to decide whether your email is mass-spam, commercial unsolicited email (also spam), something they subscribed to using a dark pattern (prechecked checkbox), something they subscribed to on purpose (and how long ago). To top it all off, some use those unsubscribe links or embedded images to track and confirm how real a recipient is. And many an unsubscribe link is simply broken.

You have to accept the reality that in very few cases people want these emails, so you are asking them to expend the effort in deciphering origin, purpose and viability of unsubscribing for the few where it will work.

If you are in the legitimate email business, you should design around this reality.
To be fair pretty much all interest in technology is waning atm, likely as a result of COVID+Holiday. Unless you think TypesScript, VSCode, and PosgreSQL are also dying. https://trends.google.com/trends/explore?date=today%205-y&ge...
Note that the definition of "use" is important here. Many MIT advocates regard shipping parts of MIT licensed code inside a proprietary product as "using" it. And yes, in some ways they are right, but it's definitely not the only meaning of the term.

The GPL has a different usage definition: run and execute. E.g. think of an image manipulation program under the GPL. If you design a game, you run the program to create assets, but none of the created assets contain a trace of the original program any more. The game you ship doesn't either. The GPL doesn't affect you. However, if you tried copying one of the algorithms implemented in the program into your own proprietary competitor, you infringe on the copyright now.
I though it was already a standard to treat \NULL as null in CSV parsers.
Free markets are people voluntarily interacting and have driven almost all technological development throughout history. At the frontier, sometimes the government spends money on things where the risk is too high or the payoff too small in short term.

But look at all the innovation around you - how much of that is directly government funded/directed?
The intellectually dishonesty is quite apparent. Questioning his ethics and motivations is not a particularly difficult leap given the mediocre argument presented. If you think it supports the author's stated thesis (and not the hidden these of "why don't these people agree with my opinions and stop forcing me to question my own role in the current structure") then perhaps you need to work on your critical thinking skills.
Show HN: Setup your own Git server by HackIT
Hi, do you mean the pure Python ML part wihtout the web app and any Flask thing?
No, that’s not quite the case. FTA:

——-
In EE Times’ interview, Sylvain Hallereau, senior technology and cost analyst at System Plus, explained that iPad Pro 11’s “LiDAR scanner” consists of an emitter — a vertical cavity surface emitting laser (VCSEL) from Lumentum, and a receptor — near infrared (NIR) CMOS image sensor that does direct measurement of time of flight, developed by Sony.
—-

So an emitter from Lumentum and a sensor from Sony.
Also, it's possible that when you have a secret in a private repo, it accidentally leaks when you deploy that repo to a public server. And it's easier to do this than you'd think, e.g. by a mix of a few unrelated changes by different developers.

Also, when an attacker gets access to one private repo by some means, you don't want him to pwn your whole organization.
My condition significantly interferes with the way my body metabolizes dietary fats. This causes most people with it to be deficient in all fat-soluble vitamins (A, D, E, K) and to typically have far too little body fat.

Ironically, although I have shrunk as my edema has improved, I probably have more subcutaneous fat, making it possible to go into ketogenesis. I probably had no (or too little) fat reserves to draw upon previously, making fasting particularly hard on me.
Try to build an aggregate API over graphql. Where all sql functions are allowed on appropriate columns.
Too much generalization. Alcohol makes lots of folks so frickin' depressed...

(edit: sure, fine, drink enough and you don't even know the world exist...)
It's more of a matter of skin in the game than anything else.

It's sad to see this kind of articles, as if ability to resist burnout is a valuable quality. Work-life balance be damned...
No, it has all the commits from the latest version, the one released after the github takedown.
Even people who think that MJ is immoral or wrong may be against outright ban. It is not purpose of criminal justice to enforce virtue or morality per se, unless one believes in very strict interpretation of their religion (even religious police powers in Saudi Arabia were recently watered down). Victimless crimes will always wake some kind of unease in free-minded people.

P.S.: Politicians may not always act on wishes of silent majority. If the minority is strong and aggressive enough, they will be tempted to yield. Same dynamics as on Twitter, in principle; that is why ballot initiatives, where individual voters cannot be intimidated into voting in a certain way, are so important to democracy.
I can see the promise of it, but getting there is so cumbersome. In our implementation it's supposed to provide a level playing field between devs working on a react app and devs working on internal sites that are django template powered. In a strict query sense, if you roll it with DRF auth and use an auth token in every query, it's very flexible for us.

But even things like partial mutations are fuzzy. The auth packages for it are immature, the integrations with channels is immature.
I'm really enjoying The Old Drift by Namwali Serpell, and it blew my mind that this part of the story is true!
I’m on mobile, so this page confused me. My eye skipped right over the button at the top of the page to launch the browser. But reading the comments made me look again. This is really cool! Though I’ll definitely want to try this on a desktop computer later...
My understanding is like this:

Imagine that you get one pixel for each hole in a chain link fence — the average color of light coming through that hole.

If you take a second fence, that’s out of alignment with the first — you get better resolution because each hole in the original fence overlaps with several in the second fence, and you can examine their overlaps. The “size” of pixel of the two fences together is smaller than the size of the fence grating.

A bunch of different overlaps, and some fancy statistics, lets you actually do that with space pictures.

In essence, you reduce from the normal pixel size to the area of overlap between pixels. But if you only have the snapshot averages, you have to guess at what the original was — so statistical result.
> Alcohol works great for treating symptoms of stress

Yes? This is how it can work.

If you can’t have some wine without cleaning out the village, it might be a sign of alcoholism.
Comcast has 0 control over what runs on my modem (Spectrum in my case). As long as the modem is DOCSIS compliant, it will work.

The same applies to unlocked phones. The service provider has 0 control over what I am running on that phone, and they don't control the updates (the OEM does), but as long as the baseband firmware complies with established standards, the phone will work. This was mandated by law some years back in the US and I am certain it's been the case in the EU for longer.

What you seem to be referring to is telco customized phones (subsidized ones), and in those cases you'd be correct.
Yeah, line delimited JSON where each entity is a JSON array seems to hit exactly the point being aimed at.

Also, like XML (definitely not space efficient) with SAX parsers, plain JSON has streaming processors available. They are naturally more complex than streaming processors for line-oriented formats, but they exist, so plain JSON, either array of arrays objects with the main data in array of array is an alternative, e.g.:

{
"headers": [...],
"body": [
[...],
[...],
...
]
}

the last form is also trivially extensible to support other keys for additional metadata, without harming the ability of applications without knowledge of the other keys to process the main data
One of my main concerns about the use of a raspberry pi as a desktop PC is microSD card write lifespan. microsd cards were not meant to be used as the boot disk for a live operating system. The amount of times you can write over one sector on them, and the write wear leveling algorithms, are much worse than even a $45 consumer grade SATA3 interface SSD.

Yes you can now boot a raspberry pi from an external usb3.0 hard drive or SSD in an enclosure. But how many people actually do that?

I would say that a huge percentage of failures I have seen of raspberry pis, when people attempt to turn them into low cost industrial/embedded/dedicated purpose headless machines, is from the microsd card failing after 6, 12, 18 months.

something like the raspberry pi but with a socket to plug in a cheap M.2 SATA or M.2 NVME SSD is needed.
How to build a social media campaign
That was also my thought getting to this line. First line is a list of the records fields names, then every line is a tuple of a record, convert tuple to struct and done.
Yes, especially if they are into tinkering.
Somewhat "random" in that it doesn't use an off the shelf part, yes. It does implement its own processor which execute 8 bits wide "microcode" out of a ROM.