Hacker News new | past | comments | ask | show | jobs | submit | zachrip's comments login

Does verso/servo offer a way to get a raw framebuffer? I'm working on a project where I am currently using cef but I would love to go full rust.


That really sucks :/


When typescript came out, you were seen as weird for wanting such a thing. I once had a VP of engineering dm me to tell me to stop discussing typescript in the company dev channel around 2015 (if you're reading this, that was a dick move). Nowadays you're kinda odd man out if you don't want types. So the idea of adding types even optional ones probably wouldn't have gone down well. The closest we ever came was es4 which of course never landed: https://evertpot.com/ecmascript-4-the-missing-version/


That's a good point, has anyone hardened a database by locking out users who select columns that don't exist? Or run other dubious queries? This would obviously interrupt production but if someone is running queries on your db it's probably worth it?


I once did an security assessment for a product such as what you describe. Among other problems with it, the product itself had SQL injection vulnerabilities

For another example of what defenders are up against, see https://users.ece.cmu.edu/~adrian/731-sp04/readings/Ptacek-N.... This paper all but caused an upheaval in the WAF industry.


If you are mature enough to do that, you're mature enough to net SQL injections in the first place. There shouldn't be that many handwritten queries to review in the first place as most mundane DB access is usually through a framework that handles injection properly...


I disagree, if all it took was maturity then we wouldn't see giant data breaches of the largest companies in the world weekly.


Zane Lackey (with Dan Kaminsky) gave a talk that discussed doing literally that sort of things, back in 2013. Zane went on to found Signal Sciences (acquired by Fastly), doing this sort of stuff in the 'WAF' space.

https://youtu.be/jQblKuMuS0Y?t=866 (timestamp is when Zane starts talking about it)


I guess the main difference is that a WAF attempts to spot things like injection (unbalanced delimiters, SQL keywords in HTTP payloads where SQL shouldn't exist, etc.) typically without knowledge of the schema, whereas GP is talking about the DBMS spotting queries where queries must exist but disagree with the schema. Might as well do both, I suppose.


That’s not what the talk is about - it’s using dbms query error logs to spot attackers. Stuff like “table doesn’t exist” or “invalid syntax” on your production database can be extremely high signal indications that something is wrong, potentially maliciously so.


In the very early 2000’s I worked at a company building something along those lines. We could analyze SQL and SMB traffic on the fly and spot anomalous access to tables/columns/files, etc. Dynamic firewalling would have been the next progression if the company didn’t have other issues.


WAFs help with this, but at the HTTP level. By putting “information_schema”, “sys.tables” in the filters.

Not the real solution, IMO, but WAFs are useful for more than SQLi, and is the kind of tech you can ask money for.


On the surface that’s a very attractive idea.

A sort of “you shouldn’t be in here, even if we left the door unlocked.”


So if you deploy code before you run the associated db migration, or misspell a column name, you magnify the impact from whichever code paths (& application tier nodes) are running the broken SQL, to your entire production environment.


Simple variation to a hard shutoff: immediately page "significant risk a successful sql exploit was found", and then slow down attackers:

If an SQL query requests an unknown table, log the error, but have that query time out instead of responding with an error. Or, even better, the offending query appears to succeed, but returns fake table data, turning it into a honeypot built-in to the DB. This could be done at the application layer, or in the DB.

The goal is to buy an hour for defenders to determine how to respond, or if its a red herring. There are a variety of ways of doing this without significant user impact.


Yeah it's definitely something that could do more harm than good to a company long term. But I'm sure there are instances where this tradeoff is worth it. They would invest more heavily in runbooks or maybe even ci that runs migrations on deploy. Deleting columns would need to be done on your deploy + 1. Probably no rollback at all.


What does it actually mean to disconnect? Is there some physical connection being broken? How is that done?


Yes it's some physical connection being broken. It's not unusual to adjust the ways in which the electrical grid is connected. See https://www.youtube.com/watch?v=7Q-aVBv7PWM from Practical Engineering which talks about some of the nuances of building switches which can break connections between different parts of the grid safely.


Yes, they are already keeping the link at 0MW transferred for a while and will now disconnect it. You can read more on Elering's website: https://elering.ee/en/synchronization-continental-europe


Genuine question, is this comparison really apples to apples? Microsoft wanted to compete with sun right? Does google want to compete with programming languages like this? My gut tells me this is NIH not wanting to compete.


It is apples to apples.

Microsoft didn't want to compete with Sun so much as have an application development language with a garbage collector that wasn't owned by Sun.

You don't make much money off programming languages inherently.

This also elides an obvious riposte (so you mean they should have just used Mono? how did all that work out?) and a metric ton of differences between what C# targets and what Dart targets.


MS wanted to fracture the Java ecosystem. The Microsoft Java VM was an attempt to lockin developers to MS Java and not sun Java. They created J# and C# because of the sun lawsuit they lost.

They still wanted a Java like ecosystem but they would be sure it only ran on Windows servers.

MS spent years being hostile to open source software. It's only in about the past decade that they've turned a corner.

Here's a famous email from Bill Gates about Java and how to stop it.

https://web.archive.org/web/20220630223035/https://www.teche...


Unrelated to the discussion, but wow, the Nathan Myhrvold email seems prescient on so many levels.


Another alternative is that they will hijack those links once they gain traction in search results. Almost as a hedge against your future success.


> and many JS APIs, especially older ones, don't even have types yet.

This is pretty much not the case these days, the packages people use mostly have types.


Exactly, if they are used enough that someone declared the types in a @types subrepo. Sometimes these are excellent. However, I sometimes work with code in fairly niche domains written in pure JS that can pretty much return anything depending on the input (not necessary even input types), rendering even these bindings very hard to write and not ergonomic at all.

And this sometimes holds for even fairly popular libraries, like d3.js which I sometimes use for visualization. The idiosyncratic API design for object manipulation, selecting DOM nodes by string id and doing stuff based on their associated data, just doesn't really work in a strongly-typed context without 50% of the code being unreadable casts. And d3 is still trying at least to be somewhat type-safe, unlike other libraries.


It seems odd to put crypto and LLMs in the same boat in this regard - I might be wrong but are there any crypto projects that actually provide value? I'm sure there are ones that do folding or something but among the big ones?


Value is a hard term, this link will seem snarky, but: https://www.axios.com/2024/12/25/russia-bitcoin-evade-sancti...

So in a way, it is providing value to someone, whether we like it or not.

Or Drug Cartels. https://www.context.news/digital-rights/how-crypto-helps-lat...

But this is the promise of uncontrollable decentralization providing value, for good or bad?


crypto has real uses, most of them illegal

meanwhile "AI" is used to produce infinity+1 pictures of shrimp jesus and more spam than we've ever known before

and if we're really lucky, it will put us all out of work


What if it was from the day prior?


The bread was found in the oven of one of the bakeries[1]. It wouldn't be in the oven if the bread was from the day before.

[1] https://www.bbc.com/travel/article/20230406-arculata-the-bre...


Now I'm envisioning a discount rack like my local Albertson's has, in Pompeii.

"Panis Quadratis - L % off!"


then it'd be stale


It _was_ stale when they found it.


Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: