skysight-inc/HackerNews huggingface dataset:
I think it's fair to say that neither JavaScript, Perl, nor Python, notwithstanding Web Workers or rough POSIX threading support; but Lua and Scheme do even though their threading construct is not based on the system threading model (though strictly speaking it's likewise available to those languages).

What I really meant to get at was that Go provides a flavor of threading that is lightweight, simple, and ergonomic. The threading construct is a first-class citizen and fundamental to both the language design and its implementation tradeoffs. Threading, lexical closures, and GC were designed and implemented holistically. Go takes a performance hit for its seamless support of closures (lots of incidental heap allocation), for example, but they did it because notwithstanding the Go authors' utilitarian goal it was important that the core abstractions remained relatively unadulterated and natural. If this wasn't the case (if it was just about avoiding manual memory management), Go could have required explicit capturing of lexicals, like C++ and Python do. People complain that Go doesn't have a lot of sophisticated features, but that's because everybody is focused on typing and generics. But modeling execution flow is at least as interesting academically and important commercially. While Go seems simple, supporting these constructs the way Go does is actually really difficult. Which is why it's so rare to find.

I intentionally didn't mention channels because while syntactically nice the real internal complexity (and payoff) comes from the closures. Channels are something of an implementation detail which you can easily hide inside closures in a functional-style of programming; threading + closures allow you to implement coroutine semantics very cleanly (i.e. no async/await necessary) and, if you so desire, transparently. (And it just occurred to me that async/await is such a misnomer. In a coroutine caller and callee are logically synchronous. The fact that languages like Python, C#, and C++ use async/await terminology shows how they put the cart before the horse--these constructs were designed and implemented for the very specific use case of writing highly concurrent async-I/O services, and they stopped at making that use case moderately convenient. They're a very leaky abstraction. See function color problem mentioned in the article.)
It wasn’t obvious to me. I’m glad they took the time to explain that. I never thought that RAM pins were multiplexed. I never thought about RAM pins at all.
The issue from a hosting provider is the platform has to be 100% sandboxes; cpu, heap, network and file system access. Lua is the only runtime that provides this level of control. SQLite can do massive multi tenancy and acceptable performance if used correctly.
Same here. I don't know my co-workers politics or religion and I like it that way.

I do know one's dietary preferences, though, but I'm OK with that.

We don't even talk sports, which is awesome for me personally.
The iMac Pro is similarly locked down. All while Apple fights against Right To Repair legislation.
The Viruses That Neanderthals Spread to Humans
Yep, both DO and Linode do the same thing. Just null route your IP and take forever to remove it once you fixed whatever problem it was (even if it was a false alarm).
Porklife: Building a Better Pig
Yeah, but who moves their computers outside of the closet in the summer? Then we have a larger AC bill to cover, and that's less efficient than heating.
> who wins out?

The Møøse
Ask HN: What do you look for in a professional support contract for OSS?
Dear HN

Occasionally on HN I read a comment where someone bemoans the lack of
professional support for open source software and how their company would love to use OSS but can't due to the lack of such support.

I've also seen commenters saying that support contracts can be a good way to let a company "contribute back" to OSS instead of simply making a donation which may be more difficult to get signed off.

I'm working on an OSS project (https://conversejs.org) and am trying to make it my full-time source of income. One way to generate income, would be to provide professional support contracts but I'm uncertain on how to approach doing so.

What do you need and think of when you're evaluating OSS and require
professional support for it?

How can I best signal that I offer professional support, and
what are good terms on which to provide such support?

Thanks
Lucky guess on my part. I travel to different FCs every week.
This is the canonical Cilk paper: http://supertech.csail.mit.edu/papers/cilk5.pdf
I highly doubt that’s Apple’s reason considering they didn’t give a comment when asked for one
Two bridges into a down round on their series E, these guys have been bleeding money for years. The VCs gave them ten years to find a sustainable path and they just never took off. This is just how it goes. It’s probably for the best, and 10 years in any venture is a fair shot.
"And if you know a hosting provider that is less likely to switch your networking off, I'm all ears."

No reputable hosting provider is going to ignore abuse complaints. The best you can hope for is a 24-72 hour window to respond to any complaint.
> who wins out?

Clearly, the ex-parrot that's pining for the fjords
Of course they refute the evidence. It would make them look like their 'secure' servers weren't as secure as they thought they would be. Its marketing 101
This is really unfortunate but all too common. Sales guys are typically (as a type/group) improvisational in nature. They actually thrive in insecure environments, because solving problems as they occur (i.e. putting off security for later) gives them more freedom and flexibility _right now_, which is what they crave. They tend to wonder "why are you using valuable money-making time to secure that which is constantly expanding--maybe we won't even need this system tomorrow" and so on.

(So goes the thinking; it obviously has its pros and cons...and HN readership eats these guys' psychology for breakfast anyway, with a generally systems-focused mindset)
JOINs also return flat data structures, no?
RediSQL, SQL steroids for Redis
Thank you! It's pretty much the way I'm trying to learn at the moment. Tbh, I felt my learning process was a bit unstructured, but knowing that you've persevered and got to a high level of proficiency this way gives me a lot of encouragement!
My grandmother could play by ear. I was always amazed that we could go for a drive, hear a song on the radio, go home and Grandma would play it on her violin.

One day when I was about 9 or 10, I asked her how she did it and why I couldn't. She said that the key was to start playing an instrument really young and then play constantly until you were in your sixties.

Loads and loads of practice is the key to doing it. As far as how it felt, my Grandma always smiled when she was playing music so I assume it felt pretty good.
Prohibiting 3rd party repairs doesn't make you any safer than you are now. If you were concerned about hardware attacks you could continue to bring your computer to the apple store, and never have to worry. All this action does is remove options for those of us who do wanna fix their own machines.

And this is assuming you trust apple to inspect their parts closely. Their computers are still made in china. Why couldn't the chinese governnent coerce their suppliers to commit sabotage?

Also, when was the last time your Mom was the target of a hardware attack? Is she a foreign diplomat or intelligence officer?
Agree it has to be 100% sandboxes. Note that TC39 has a proposal for realms that is moving along. It is meant to allow sandboxing in JS.

https://github.com/tc39/proposal-realms
A Month of Robocalls
Indigenous tribes are the last best hope for the Amazon
> a regular language

SQL varies somewhere between a context-free language and a context-sensitive language between dialects and/or edge cases.

Pedantry aside, certainly there are open source grammars for particular dialects. But it is the whole package of "drop in" library including at least some basic semantic modelling that doesn't exist, certainly not to the extent of say an XML or a GraphQL parser library.

> Personally, I would suggest reversing the whole problem formulation. You don't need to take your existing system and make it "speak SQL." Instead, it's much simpler (and, in the end, more performant) to take an existing, robust RDBMS and hollow it out into this "mini-version" that queries through to your service.

Which again, was complexity that I mentioned trying to avoid ("outside of an implementation tied to a specific SQL vendor"). You might not think it a big deal to tie your application to a single database vendor, but that's not always a good option. GraphQL as a language/platform is largely agnostic, supports a large variety of options for backend storage and makes it very easy to support heterogeneous data sources, because it is almost always as simple as "write a function to get the data" (and maybe "write a function to guess how expensive it would be to get the data", if you are optionally using a basic quota system). It does sound like Postgres Foreign Data Wrappers make some of that possible in that very specific database environment, but certainly it's a lot more complex of an option, which gets back to my root problem statement that "complexity" is most probably the reason SQL isn't getting used as much traction as an API option as for instance GraphQL.
Stunning photos!
Nice. A few years ago we‘ve build something along these lines at Technicolor: https://medium.com/@rad_g/the-ultimate-reactive-infrastructu...
I can imagine that our solution wouldn‘t work at facebook scale but for us, it was a massive timesaver, in 300 lines of ruby code.
That's correct, and if the companies can't see the data, then the data is really just an extension of client side storage, and therefore it can't be trusted, because you can never trust the client.
Interesting. Doesn't get much clearer than that.
>a senior developer, by definition, will hit the ground running with mostly anything you use. that's the senior part in senior developer.

a senior developer also gets to be picky in what stacks they want to work with. usually it's what they are familiar and comfortable with, or something similar to it

>also if you believe that people need years of use to be good in any language/tools/framework you need to figure out how to attract better people.

even the best engineers have ramp-up time when starting a new job that involves a new code base. that ramp-up time is increased significantly when it's a language that they aren't familiar with. feel free to convince me otherwise, im all ears

>sometimes, not building something or various parts of something is more valuable that building something that you don't need fast.

what about when it's not?
* allegedly

https://en.m.wikipedia.org/wiki/At_the_Abyss
I guess I'm not understanding how you can think that a paper that makes a claim about the real world, but doesn't apply to the real world, could be characterised as anything but nonsensical.
Not to mention all the quotes fading in and out of the page.
We’re seeing a lot of anti Chinese and anti Russian news. I have a tendency to believe them but at the same time there’s of course never going to be reported in the US what we are doing.
Well, sort of. Every decade it bolts on support for the new technology craze, and usually that proves insufficient so vendors add their own features, and even that tends to be pretty painful. Definitely a useful skill set but it’s still pretty painful.
Ok, I’ll design the logo!
If they exist, they are running software written on either C or Rust, that can avoid memory efficiency traps and can schedule their workers on a more optimum way than a general purpose language.

That said, I'm not sure such thing exists. Just the memory overhead some common libraries impose on connections is enough to fill some 32GB.
> Bloomberg says it is in line with memory to CPUs to intercept some password validation code

I think that's a misreading of their article. They were not claiming that's what was actually done, they just provided that as an example of what a HW attacker could do. Later on I remember them saying that the malicious part was connected to the BMC, not the main CPU. If there's a serious USB vuln in the BMC, then four wires could be enough to compromise it and gain God Mode over the early x86 SW environment.
It seems weird because the Bloomberg article says they were connected to the BMC:

> The illicit chips could do all this because they were connected to the baseboard management controller, a kind of superchip that administrators use to remotely log in to problematic servers

The discussion of DRAM only really seems necessary if that _isn't_ plausible.
I think it's because what he's trying to make are high on a lot of peoples priorities, morally. I like Tesla as a battery company. I like Space-X. I want to root for the guy. I wish he wouldn't do things like this...

But I'm really rooting for him to go get funding and to put out the exact same tweet with no intent on following through.
Ah, ok, yeah that wasn't clear to me from the articles I saw, it sounded like desktop sharing. I went to the BigScreen talk at Oculus Connect and yeah it's pretty clear that their focus at the moment is on people watching video content together in VR but we have used it with some success for code reviews (desktop sharing is key there, I can jump between Visual Studio and the Unity Editor).

Your keyboard sounds interesting and I'll have to check it out but to be honest it's not a big selling point for me as a touch typist: I don't have any trouble using my keyboard in VR. We do have some non touch typists on the team though and it's not always convenient to put your Touch controllers down to type so I can see it being useful.

My ideal VR collaboration app would support at least solid desktop sharing support, well implemented VR whiteboards (including annotation on the shared desktop) and 3D sketching like Quill / Tilt Brush. We use whiteboards and 3D sketching in Rec Room but they're quite primitive. The sketching doesn't have to match a dedicated sketching app but should be better than Rec Room.

It would also be useful to be able to easily import 3D assets for review, Dash support for GLTF is looking like a good implementation of that. Custom environments would also be useful for us so we could do collaborative design of environments for our own VR app.
It's very shitty of DigitalOcean to not at least give you a small window of opportunity to investigate and remove offending content, especially if first complaint. Given that their investigation would of been limited too (unlike yours) it makes it somewhat easy to knock off someone on DigitalOcean with a flimsy complaint.
> sure, but aren't there some things that can't calculated in advance

I don't mean precise calculation but a reasonable guess

> like i/o

It can be benchmarked and estimated.

> locked tables

Why would tables be locked if we work in read-only mode?
Edtech app Yogome shutting down after raising 30MM, founder accused of fraud
I gave up on piano when I was eight, but I have played the tenor sax since I was 10 years old and bass guitar since I was 14. It's been many years since I got to the point where I could play by ear. I guess after enough practice you just get to the point where you hear the song in your mind and play it without thinking.

My best analogy for non-musical coders is that it's sort of like touch typing while writing code. Your thoughts just come out through your fingers without thinking about it.
This sounds unintuitive, but the most lightweight API for analytics work I've come across is a SQL view.

It provides one level of indirection from the underlying data structures (if the data changes, you can just rewrite the view), and most db's provide very good access control. The view's schema is your interface contract, so users can rely on its output.

I was all about building REST interfaces to our backend databases until I realized that SQL views were a simpler, more efficient abstraction for analytics/machine learning work.

You may be like, "SQL views aren't REST APIs! It doesn't seem kosher!"

But if you think about it, REST APIs were designed for retrieving small amounts of data quickly using simple parameters, which is useful for low-latency web applications.

For analytics/machine learning work, we generally don't want that. We usually want to retrieve large chunks of pre-computed tabular data. And there's already a language for that... SQL. And SQL databases are naturally fast for large chunks of data (with optimizations like indexing, compression, etc. your results can get even faster... plus no JSON serialization cost).

If you build a REST API to SQL datasets, you have to first (inefficiently) parse the returned JSON, and reconstruct the dataframe for downstream analytics/machine learning work. Why do that, when you can use SQL (with all of its attendant data aggregation/manipulation keywords) to efficiently retrieve data via a binary wire protocol (native drivers or ODBC/JDBC) into a dataframe-like object?
Why wouldn't you just pay your publicist to write it?
There's more than one developer out there. Developers do hate Apple.

Other developers may love it.
Not necessarily. It also tends to go along with tight hamstring which everyone who sits 10h a day is going to have without a lot of work.
Even if being civil and assuming good faith wasn't baked into the ethos of HN (and YC in general), I'm genuinely curious as to why you'd personally default to assuming the worst in people. As far as strategies go, is it working for you? I am not being glib or sarcastic.

I ask because I directly attribute almost every bit of "luck" I've experienced to people acting in good faith. It's literally been the most important decision I've ever made and stuck with.

Personally, I have no energy for discussions where people assume the worst by default. That falls way too close to "someone is wrong on the internet" for me. It's easy to find people to disagree with, and difficult to find smart people that can illuminate why you might be holding onto incorrect assumptions.
Note that there is a widely-used implementation of Cilk for Rust, known as Rayon, used in Firefox Quantum among other projects.
> That being said, if you're applying for jobs you're qualified for, you should hit 50%, not 0%.

Most interview panels I’ve been on interview at least 3 candidates, sometimes 6 or 7. So the expected success rate has to be less than that.

And from my experiences on both sides of an interview, it’s pretty close to being random. On more than one occasion I’ve seen carefully crafted interview scores thrown out in favour of who the most senior interviewer ‘felt’ was better.
Couldn't this all be easily thwarted with a relatively basic firewall and network analysis of traffic emanating from a data-center?

Also - I found it funny that the "horrific exploit" was just piggybacking on a mgmt engine vuln...
And here, all these years, I was hearing "moistened bink". Makes more sense now.

(Surely Python deserves some kind of Silly Award for widely distributing UK slang.)
Looks to be caused by the font they're using, "Comfortaa". With font weight 600, the "m" is lighter than other letters.
> If the FBI, or other intelligence officials, had reason to believe Supermicro hardware was compromised, then we would expect it would have taken less than a few years for this procurement to stop.

From the perspective of someone who merely reads what experts write, that isn't true at all. If you have information on your enemy's operations and they are unaware, you have the information advantage and you don't give it up. You use it to monitor them, trace their activities: For example, where does the connection go? And where does the information go from there? Plant malware in whatever is sent back in order to trace who accesses it and maybe give you a backdoor, or if you can't do that plant false information and see where it turns up. Also, who is physically planting the PCB? Mine them, their activities, and social network for more intel.

Also undermine your enemy with false information and by shutting them down not now, reactively, but at the worst possible time for them - when the crisis hits in the South China Sea or Taiwan, pull the plug on their intel or start feeding it false info. And in the meantime, avoid giving them anything too valuable.

On one hand, undoubtedly I have massive blinds spots in my knowledge and the details are probably somehow wrong. On the other, I'm somewhat confident that many times, an intelligence agency would not reveal what they know and would do the kinds of things I'm discussing.
There are lectures from one of Yale's Music Theory classes on YouTube here: https://www.youtube.com/playlist?list=PL9LXrs9vCXK56qtyK4qcq...

There's a Kindle version of the textbook on Amazon.
Check out page ix in the preface.
HAVING is not the same thing as WHERE. WHERE filters the query to produce a result set. HAVING filters the result set.

select id, count(*) - 1 as nduplicates
from parts where color = 'red'
group by id
having count(*) > 1;

WHERE cannot filter on the count(*) because WHERE is applied during the query before the count is known.

I agree SQL is kind of warty, and it would be great if it were easier to compose from programs, but HAVING is not redundant to WHERE.
I'm saying that you have made no argument whatsoever that math and physics are equivalently fallible to gender studies, you've merely insinuated it. If you've got an argument to make, feel free to make it. But citing the replication crisis does not cut it.
Amazon SageMaker NTM supports auxiliary vocabulary channel, etc.
Salesforce actually exposes a SQL variant in their bulk export API called SOQL, https://developer.salesforce.com/docs/atlas.en-us.soql_sosl..... It made it surprisingly easy for me to do some SF ETL tool a few years ago.
I've edited it for you to do that (hope that's ok) and detached my comment from https://news.ycombinator.com/item?id=18136721 so it will sink to the bottom.
It would, but the routine already modifies the carry flag, so no problem.
> And just embracing/loving the process.

Words of wisdom.

Also, cross-reference this with hluska's comment about his grandma:

> As far as how it felt, my Grandma always smiled when she was playing music...
I honestly don't believe that developers hate Apple/Facebook.
In most areas of business, there are important signals which can be observed that are often based on counting values over time. There are people for whom it is their primary job function to identify what should be counted, and how.

When a codebase shrinks AND increases in quality, you've now demonstrated that the most obvious way to quantify the utility of a resource - units of productive output - is not useful. So now people who are used to tallying widgets and graphs that are "good" if they move up and to the right, now have to understand things like refactoring, technical debt and design patterns.
Depends on the stage. If you're super early - and not a founder you'll be expected and might have to work grueling hours (although be aware you'll likely never see those hours turn into $$$).

If the company has money, 3-4 months burn is reasonable, long hours can be a nuisance and make everyone less efficient and more prone to introducing bad ideas or bugs that waste time late.
Thanks. I actually doubt many people can imagine my capacity to ingest things of questionable taste (up to what would make many people vomit) and safety (I don't care much if it's not been approved for human consumption) given a clue there is a chance it is going to enhance my health ;-)
Is Bloomberg a tabloid? The answer may shock you!