skysight-inc/HackerNews huggingface dataset:
I'm resistant to GraphQL, although I take the caveat that I was also initially resistant to JSX and CSS-in-JS and my thinking has since evolved.

My two main annoyances are a) GraphQL could be thought of as a custom media type that almost "slots in" to the REST model by defining a request content-type and a response content-type with almost entirely optional fields, and b) the incessant idea that REST has to replicate the n+1 query problem.

For a) "it's strongly typed" has never struck me as much of an argument. It's appealing if you're already lacking a strong definition of your data model, but GraphQL doesn't inherently fix that, it just forces you to confront something you could fix within your existing architecture anyway.

For b), it seems that people tend to map something like /users to `SELECT * FROM users`, and 12 months later, complain that it's retuning too much data, and they have to make N queries to /groups/memberOf.

Am I alone in thinking the obvious solutions are to i) add a comma-separated, dot-notation `?fields=` param to reduce unnecessary data transfer, ii) add an endpoint/content-type switch for `usersWithGroups` and iii) realise this is a problem with your data model, not your API architecture?

As an additional c), my other concern is GraphQL touts "one query language for all your data", but tends to skip over the N+1 problem when _implementing_ the queries to disparate data sources. If your existing queries are bolted into `foreach (input) { do query }` then GraphQl isn't going to give you any speed up, it's just going to give you slightly more simplicity to an already-slow backend.

Granted, I work with "legacy" (i.e. old but functional) code, and I secretly like the idea that adopting GraphQL would force us to fix our query layer, but why can't we fix it within the REST model?

(I happen to be about to sleep, but I am genuinely interested in waking up to see what HN thinks)
Note that there have been IP theft and other shadiness allegations from ex-members of the Apollo team.

If you do a little research you'll find out that there's plenty of "stay away" and "can't believe they haven't been sued into oblivion yet" indicators and all sorts of misleading claims and marketing.

My summary would be that it's a tightly-controlled, closed project lead by questionable people with well-documented histories of questionable practices including ignoring copyrights, distributing infringing software, deleting critical posts from their forums and putting out misleading information.
Peertube neatly solves part of those issues.

* Storage costs are likely paid for by the uploader. Most regular uploader do (or should) keep at least a local copy of their work. Plus the original materials. So the weight of the video is likely not that significant.

* With webtorrent, the more a video is watched, the more it is shared. If you want to handle the worst case though, you'd need enough bandwidth to serve a couple times every file over simultaneously. That gets worse the more videos you have, but simultaneous watching of every one of your videos is unlikely, I think, over a certain number. It would be nice to get some stats on this.

* That's not really needed, is it? Latency isn't likely to be big enough to cause issues, and I would think available bandwidth doesn't change that much with distance. With a couple of local torrent peers, that also gets better.

Now, this isn't perfect, but there are ways this can be improved:

* Peertube intances can mirror content to provide at least one peer (and a backup HTTP source I think). It would be nice if subscribers could choose to support their favorite channels by asking their instance to mirror that content (with a lower priority than local content, of course). That could more or less solve the local CDN issue, if "peertubers" participate in content exchange to reduce downtime and improve experience. A form of insurance, if you want.

* I wish scalable video (SVC, or adaptative video bitrate, however you want to call it) was more supported by ffmpeg & container formats. Using a single file for the various qualities would be a natural fit for Webtorrent, as it would allow HQ watchers feed LQ watchers.

* Multicast would be a great thing to have on the Internet. Maybe some future/alternative IP stack implementations could bring that back? Yggdrasil is promising, for instance. If nodes could subscribe to a given content, I guess it could be delivered across the network, splitting where it should.
Just as an example of how crypto can help solve some problems in this arena see VideoCoin's proof system: (https://medium.com/videocoin/proof-system-for-videocoin-stor... and https://medium.com/videocoin/proof-of-transcoding-as-a-new-c...)

They are attempting to decentralize and distribute video encode/delivery, and a big piece of that is a poof of work implementation to incentivize and reward reliable nodes.

Just one example, but there are others, and a lot of progress has been made to reduce the strain caused by throwing crypto into something that fundamentally needs to be very fast and lightweight to be usable.

Edit: Corrected duplicate links
The Case for Cheating
The author seems not to be aware, that there is a "better" version of fmt.Errorf using %w instead of %v since go 1.13.

Which allows to unwrap nested errors by their type.

Doing it the stringly way often forces one to do string compare on the errors message. Which obviously is just bad.

In general the go error handling is plainly awful.

A common problem is, that functions always return something besides the error, which may or may be not a null pointer or random crap.

So one is free to ignore the error and then do other stuff with the return (like a later null check which might rely on undocumented behavior)

I really do not get it. Go has implicit interfaces but yet the most verbose and impractical error handling ever.
Implicits like Scala! Making all the "go is explicit because it makes it easy to reason about and thus verbose error handling" arguments invalid.

Union types are a way better way to do proper error handling as proven by countless programming languages like rust and all the functional ones.
This is a nice example of the mind-reader fallacy. Plenty of Trump supporters care deeply about universities, but feel that they are presently not fulfilling their societal role very well. That role being to preserve and add to our intellectual and cultural heritage while forming young persons to be thoughtful and productive members of society.
Amazed to see AutoCad is in there along with 3D applications for visualisation.

I did not think there was much in the way of 3D software available on PCs at such an early time. I thought workstations ruled the roost in those early days when it came to 3D.
The way I think of it is that there is a threshold where babies become real beings. You probably have this threshold too. For example, is masturbation wrong like abortion? You are killing off potential life. I think most people can agree it's not, as the sperm are not suffering and never really had a consciousness to cease. The disagreement is then about when the sperm becomes too alive to kill. Some people think it's at the moment of conception. Others think it's when the fetus has passed a certain level of development, like the first trimester

There is also the matter of quality of life to think about. Is it better for a mom living in poverty, addicted to drugs, stuck in an abusive relationship, to bring a child into that world? I think that would actually be quite selfish. If a mom couldn't bear to have an abortion because of guilt, or because she can't stand the idea of ending a life inside her, that would be her prioritizing her own emotional response over the well-being of her child
One of the big differences between now and then is network capacity. Once we've gone past basic text and into 3D, Photo, Video, Timesharing could not work effectively over the internet at the time, the bandwidth wasn't there yet. The only way to continue was to bring the hardware home. Now that we have the network capacity to handle almost anything, we're seeing things go back..
There is a useful phrase for this sort of thing - "the cruelty is the point". A lot of the trump administration policy makes more sense if you realize that it isn't about benefiting themselves but is actually about harming those they hate, even if those policies also hurt themselves.
Disinfecting any airborne particles would seem the bigger advantage no?
A Data Engineering Perspective on Go vs. Python (Part 2 – Dataflow)
I think the truth is in the middle: there are many examples of secret processes throughout history and craftsmen jealously guarding processes except through apprenticeship programs where payment was years of cheap labor.
I've just started reading "Agile Conversations" [1], and I found it's a nice complement to the other books mentioned in the thread. It's a little idealistic at times, but I like the focus on shared understanding and aligning perspectives. I used a couple of the approaches from the book quite recently and found that it kept the discussion focused on improvements rather than blaming.

[1] https://www.amazon.com/Agile-Conversations-Transform-Your-Cu...
I also have it on Firefox here in Windows 10, but it couldn't stop those two ads.
The late 70s and early 80s had lots of these kind of wonderful "collections of interesting stuff" in book form. I recall a number of books like this I used to check out of the library constantly that just seemed to ooze with a kind of energy of things and technology and people coming together in just such a way as to hint or suggest at a magnificent future humanity could emerge into. I wasn't the only one who checked these books out as they were all almost constantly checked out. One in particular was a clear offshoot I still remember today called "The Kid's Whole Future Catalog" by Paula Taylor...almost entirely forgotten today, but I managed to snag a copy off of ebay.

I wish we could switch timelines in the future outlined in it.
The Rise, Fall and Revival of AMD
Are there any good examples where the consent is done right?
Location: San Francisco, Palo Alto, East Palo Alto, Marin County
Remote: Available
Willing to relocate: Available
Technologies: iOS, Android, Ruby on Rails, jQuery, Unity Engine, Python
Résumé/CV: Available upon request
Email: jjbusinesspartners@gmail.com
You should be ex-communicated for that joke. :-)
> Watching a video of a black man being choked to death by a police officer, on camera, certainly makes me feel that we haven't completely eliminated Jim Crow.

The USA is a big country, and you can have your pick of instances of police brutality to support any conclusion you want to draw.

A white man choked to death, on camera, while police laugh? Here you go: https://www.washingtonpost.com/nation/2019/08/01/police-laug...

A white six-year-old shot to death by two black police, one of whom only served 21 months in jail for it? Coming right up: https://en.wikipedia.org/wiki/Shooting_of_Jeremy_Mardis

Multiple studies showing police killings (though not violence) are not, on average, racially biased? http://jewishworldreview.com/0620/hughes061620.php3

Will this change your mind? No it won't: https://news.ycombinator.com/item?id=23757135
> I believe freescale currently owns the architecture,

Owns it how? 68060-- the last of 68k's designs-- was released in 1994. Any patents should now be expired.
Havent seen anything public, but it seems like they are building this, for when Joe Rogan launches.
Just something I wanted to share which might be of interest on this side of things.

The CD Foundation has a SIG around MLOps which is pretty active and has some awesome folk participating.

For anyone who's interested in this space, there's some more detail here: https://cd.foundation/blog/2020/02/11/announcing-the-cd-foun...
I can elaborate a bit. Most of the large-scale problems are actually as straightforward as “just throw a supercomputer at it”. However, just like when mathematicians say “that’s an implementation detail”, it turns out that actually throwing a supercomputer at the problem is much more difficult to do in practice than merely setting up some shell scripts to run, especially where scientific computing is concerned. For one, there’s usually no concept of “micro services” or “containerized” applications, at least not in my experience. Most of the modern distributed computing practices are actually thrown right out the window when it comes to scientific computing, since the scientists are going to be directly programming distribution schemes via MPI and stuff. The reason is because academic projects don’t have lots of money and need to efficiently use every dollar, and because most of the time distribution schemes really aren’t suitable for the science. You might have one layer where node interactions occur according to some mathematical and physical criteria instead of “load” or some other abstract flag, for example; that’s a bit harder to code for, and it’s much better to have a domain scientist who knows the physics deciding how to decompose the problem, instead of a computer scientist who has no idea of the physics adopting a scheme which ignores the problem entirely. Hence why I said most scientific tools are “bespoke”.

The result is that most of the distributed systems people are moved to a supporting role, where their job is to develop tooling and libraries to allow for better communication between nodes, for example. I’ve also heard of some compsci people being directly integrated into these scientific teams to develop specialized APIs and such in-house, but that’s a bit more rare imo. These are just some examples of how science and compsci intersect; for example here’s one group I know of: https://www.ornl.gov/group/dcs
That was fascinating!

My mother purchased my first computer (an Apple ][e from the local Macy's) in 1983. We didn't have much money to purchase software. I didn't even understand there was a software industry, let alone where I might purchase it.

But that computer came furnished with some basic software that allowed one to write BASIC and, also, to use a mouse with a paint program (yes, before Macintosh debuted).

While his main point that not everyone need, nor should, learn to program computers, what Sandberg-Diment misses is the sheer size of the burgeoning home computer market and how the personal computer would revolutionize and fundamentally alter the world.

Reading "Personal computers: does everyone need to learn programming?" is slightly shocking for me me because having lived in that world, the difference between what Sandberg-Diment casually suggests and its real-world manifestation could have never been forecast.

Two examples:

> First, it allows you to develop software that is not available commercially, and in some cases it lets you customize purchased software to serve your specific needs better.

The ability to modify software "to serve your specific needs better" is a general gesture to client-side scripting, software consulting, and even FOSS. Linux did not exist in 1984 (Torvalds was 15 years old and his magnum opus was still 6 years away). Empires can (and did) fit in the gap between Sandberg-Diment's practical observation and the real-world consequences of software customizability.

Second:

> But does this mean that whoever wants to use a computer must also write the software for it? Would someone purchasing an automobile for a cross-country trip first study cartography, then proceed to obtain aerial and satellite photographs of the proposed route, and finally draw a detailed map for the whole journey? Hardly. It is far easier to go to the A.A.A. and get standard maps or that organization's special trip sheets.

How could anyone have known that a scant 30 years later (2010s) that people could have a pocket-sized computer which (for the most part) would obviate the use of paper maps for navigating to unknown destinations? That entire industries supporting the production of paper maps would be dramatically scaled back because of a globally-connected infrastructure involving microprocessor manufacturing, interface design, wireless communication, and (literal) rocket science would be publicly available to nearly all comers?

Sandberg-Diment's practical answer to "does everyone need to learn programming?" is comforting, persuasive, and correct. But the impractical answer--everyone should consider learning programming-- would be to catch a glimpse of the future and the massive transformations that widely available computing would bring inside a generation.
Basically, GDPR forbids bartering of PII/tracking information with goods and services.

Why? Presumably because most users don't see the real cost of giving away their personal data (either they never recognize the cost, or see it too late).

To make sure this is held up, the GDPR uses some tools; one is that consent is freely given, the other is ban on tie-in sales: you cannot demand PII from users that isn't necessary for the service you provide.

If you provide news or stories as a service, you cannot demand location data from your users, because you can provide the service without that.
I don't think that your analysis is coherent given the demographics of the political divide. The GOP has more support among high-income Americans than the DNC, and that support increases as you go further up the line. Rich people tend to send their children to universities. It doesn't serve them to destabilize or collapse the higher education system.

I think the larger weakness in your line of argument is that whatever happens to students will have externalities that reverberate beyond universities themselves. Students who are not in school will probably live at home, reifying the pandemic in the minds of their parents. They may question their tuition, creating a quagmire for universities that suddenly have to explain the high price of education via glorified webinars. They may choose to take time off and compete for jobs in the labor market.

It would be somewhat demoralizing for a middle-class family to be unable to send a college student back to school.
Right you are, thank you!
Exactly. Facebook and Google have been fined in the past and it’s never amounted to anything for them. When they make more
Money from engaging in bad behavior than the fine costs, it’s a law they’d be stupid not to break.
Why guess about the content here? It’s freely available to watch, so we don’t need to speculate.

He briefly explains his reasoning for each answer.
I think you're mixing everything together.

>you can just speak as you go while shooting a video

You're comparing a "good blog post" with a unscrippted/uneddited "video log".

It's not the same - it's comparing Louis Rossmann VS iFixit. One is a form of educational entertainment, or entertainment, other it's a guide. You can learn from L.R., but it's not a step by step guide.

You don't need to go back and try to find time stamps, you don't have issues of not understanding something that got muffled by him moving, you can miss a reference, etc.

If you're talking about video guides, then they are scripted and will for sure be harder to edit than a blog post.

There's a place for everything, and production costs (SHOULD) reflect on quality - the medium is irrelevant.
I would go further than "no big deal"—it's a complete nonissue. You could have 5 architectures and it would still be a nonissue, because for most graphical applications, 99% of the size is taken up by graphics and similar assets.

The copy of TextEdit on my Mac is 6.8 MB, but the actual binary is only 167 KB. Even if you were to go nuts and compile a full-on 17-architecture version of the TextEdit binary, it would still constitute less than half the size of the app, and this is for TextEdit, an app with exceedingly few graphics.

And, we're talking exclusively about hard disk space—it's not as though the foreign architectures are getting loaded into memory and taking up space there. I'm all about sweating the details when it comes to optimization and performance, but even on a smaller SSD, a couple extra megabytes per app just isn't going to have a real impact.

Fun fact: many of the binaries in Snow Leopard are still PPC-Intel universal binaries, even through 10.6.8. The extra space used was so minimal that Apple didn't bother to fully strip out the PPC portions until Lion. (Early versions of Snow Leopard can even be booted on PPC by replacing certain files: https://forums.macrumors.com/threads/snow-leopard-on-unsuppo...)
Blueleaks data shows FBI tracking Bitcoin laundering on dark web
As a guy who graduated in comp sci I feel even dumber right now. :(

edit: cause I don't remember much of this stuff.
Unconventional tips for Mastering Software Interviews
How can a browser differentiate between a first-party cookie needed for login and a first-party cookie for tracking?

It's legal to use cookies for behaviour such as login which is necessary but you need consent for tracking.

If a browser blocked all cookies until the user turned them on you'd have the choice of "no login" or "login works, but so does all the tracking".

Not saying the current state of affairs is good, it's awful.
I’m wondering if i should implement the consent prompt myself or use some plugin? If i were to implement it myself is it enough to give two options Yes/No or does the law require me to give some additional customisation options?

Edit:typos
> the first recommendation is to appeal the decision

Well this is BS, it's like saying the author of a book at a library should be the one to complain if the library censors the book. Don't the library's patrons get any say?
5G spectrum covers low-band and-mid band spectrum from 1G through 4G LTE frequencies. Then there is this new high-band. First 5G installations are deployed into new high-band.

5G installations in the countryside will be low band that is more efficient than 4G/LTE. You can have _less_ base stations than LTE, not more in the low-band. 5G NR is more efficient radio interface in all bandwidths.
Heard the same, still kept using it.
I wrote a blog post about this forever ago[0] summarizing what I've seen work.

The most important thing to realize is how success will be measured. It will no longer be your individual contributions. Instead, you will be measured by how successful your team is. So you need to use your time to make your team more effective.

So the most important thing you can do is prevent anyone from becoming blocked. The next-most important thing is unblocking people when they become blocked.

How do you prevent people from becoming blocked? Make sure that everyone knows where they are going, and they know what to do when they get there. Make sure everyone knows what they are working on, and what they will be working on next. Promote good practices, and ensure that processes have consistent documentation.

How do you unblock people? Review their code quickly. Learn to differentiate "I don't want you to submit this because I don't prefer this" (bad attitude) from "I don't want you to submit this because it's going to have a negative consequence"). Learn how to phrase that second sentence in a way that doesn't make your coworkers dread getting reviews from you. Spend your time fixing tech debt that's adding drag to the team.

As you do this more, you should also make sure that people on your team are growing. Give them harder tasks than they had before. Ensure that junior engineers are getting mentored. Correct imbalances: if a specific engineer is always taking notes in meetings, create a notes rotation so that everyone has to do it.

[0] https://www.bitlog.com/2017/10/12/what-does-a-tech-lead-do/
MSI CEO Sheng-Chang Chiang has sadly died
Standard Library is now Autocode
It sounds dumb and it's not how addiction works, but it might be worth just will powering yourself into it the first time then going with the calendar chain approach to try and not break your streak.

Even if you fail every once in a while, it'll be an improvement to what you're describing now.
Well, I have to create a new account every time I join a new group, so I'd say yes.