Hacker Newsnew | past | comments | ask | show | jobs | submit | anonova's commentslogin

For your first point, I'd recommend using Krita (https://krita.org/) and its generative AI plugin: https://github.com/Acly/krita-ai-diffusion / https://www.interstice.cloud/


Note that this kind of visualization is just the collapsed form of a standard forecast graph, e.g.

https://forecast.weather.gov/MapClick.php?lat=37.39&lon=-122...

https://www.wunderground.com/forecast/us/ca/mountain-view


Dang Mountain View has some enviable conditions...


To enjoy those conditions, however, you have to endure Mountain View.

(Seriously, it's not a great place. The surroundings are great, but the place itself is strip mall central)


I was excited for this one to replace a bunch of single type Box<dyn Trait> returns, but there are still quite a few limitations using -> impl Trait in traits in general. It's still discouraged to use them in public APIs: https://blog.rust-lang.org/2023/12/21/async-fn-rpit-in-trait...


This has been around for a long time called Peter Answers as a modern take on the Ouija. See, e.g., https://www.peter-virtual-tarot.com/


I wouldn't be surprised if this is more a legal issue since Microsoft was granted a patent on rANS encoding, which is used in JPEG-XL: https://www.theregister.com/2022/02/17/microsoft_ans_patent/


didn't read it, but someone told on a forum that Microsoft's patent is about dynamically updated rANS probabilities during decoding -- JPEG XL is about static rANS codes, the codes are never changed/updated during decoding, they are context modeled and already clustered at encoding time, which makes it faster to decode than dynamically updated codes


I doubt it's related to that. That patent is too recent to affect JPEG XL.


> at least for now

Yep, the aarch64-nintendo-switch-freestanding target will (very likely) be available in Rust 1.64.0 [0].

[0]: https://github.com/rust-lang/rust/pull/88991#issuecomment-11...


Then all we need is someone to write a wgpu backend for NVN and we'll be cooking with gas :)


> An user friendly editor should pop some kind of prompt when I pressed the first g/G key and show me what I could press the next,

See vim-which-key [1] and which-key.nvim [2] for something similar to this.

[1]: https://github.com/liuchengxu/vim-which-key

[2]: https://github.com/folke/which-key.nvim


For those add-ons, don't you have to provide them with the prompts? You still need to actively _know_ how to do something to have it provide you with information.

You can use something like LunarVim which has everything already setup.


A detailed analysis of Meow Hash: https://peter.website/meow-hash-cryptanalysis

It's not the highest of quality hash functions (see the SMHasher benchmarks), but it is fast. A great alternative is XXH3 (https://cyan4973.github.io/xxHash/), which has seen far more usage in practice.


XXH3 has issues too. There are certain inputs, independent of the seed, on which it collides much more often than it should.

On the other hand a hash like UMash guarantees low collisions on any input: https://engineering.backtrace.io/2020-08-24-umash-fast-enoug...


I'm using XXHash3 for verifying data integrity of large (10+MB) blobs. Very fast and appears to work very well in my testing--it's never missed any bit error I've thrown at it.

Aside: when storing hashes, be sure to store the hash type as well so that you can change it later if needed, e.g. "xxh3-[hash value]". RFC-6920 also has things to say about storing hash types and values, although I haven't seen its format in common use.


> be sure to store the hash type as well so that you can change it later if needed

Thanks for sharing this, I'd been doing this on my own for my own stuff (eg. foo.txt-xxh32-ea79e094), but it's good to know someone else has thought it through.

I ran into the problem once where someone had named some files foo-fb490c or something similar without any annotation, and when there was a problem, it took a file to figure out they were using truncated sha256 hashes.


Useless analysys since the author says it's not a cryptographic hash but useful as a fast hash for change detection.

"we wanted a fast, non-cryptographic hash for use in change detection and deduplication"

>A great alternative is XXH3

Meow Hash is twice as fast.


If you had made it one section into the analysis, you would have seen that at the time MeowHash made certain cryptographic claims that the author set out to disprove.

The readme has since been updated. I didn't check whether any algorithmic changes were made on top, but the discussion of the analysis on github didn't point to a lot of low-hanging fruit.


It's not useless analysis, because even for non-cryptographic hashes you want the likelihood of any arbitrary hash to be roughly equal. A hash function which "prefers" certain outputs has a far higher probability of collision.


Don't you think asset planting is an attack against a game's pipeline?

The author of the article's page claims the hash is not cryptographic but actually goes on to make security claims about the hash. People who do not understand cryptography should be careful about making such claims. The author appear to understand this more than your comment demonstrates.

For example, a claim about change detection is a cryptographic claim of detecting preimage attacks. In a threat model, a security professional would determine whether a first preimage or a second preimage attack is what should be guarded in attack scenarios. Then, the professional would help with analysis, determining mitigations, defense in depth, and prioritization of fixing the vulnerabilities exposed by how the hash is used.

A hash cannot be considered standalone. It is the architecture and use-case where the hash's security properties are used to determine what security properties of the application are fulfilled.

So, if the author is correct, which seems to be the case, then meowhash should not be used in a production environment outside of the most simplistic checks. It seems faster for its intended use case to simply check for a single bit difference between two images - no hash required.


> Don't you think asset planting is an attack against a game's pipeline?

Realistically? No. It is one of those hypothetical scenarios where if an attacker can plant files into your file system, you have bigger problems.

https://devblogs.microsoft.com/oldnewthing/20060508-22/?p=31...


Realistically hashes are used during the development of a game to detect when a file or asset hash changed, and therefore it will trigger regeneration of assets that depend on it. For some long or slow build steps it is better to rely on a hash changing than the timestamp changing to trigger a build. It can also be used to fetch pre-built data from where it's cached on a server.

That's why it should be fast and doesn't have to be cryptographic.

Regarding security if you're at the point of someone malicious creating a file on your internal systems you've already lost the battle.


> it seems faster for its intended use...

But then you have to store the entire before & after locally? That's the entire point of using a hash for change detection.


> But then you have to store the entire before & after locally?

Yes, there is difference between two (as you say) and there is integrity (modification detection). In the case of comparing new assets in a pipeline to those that were created earlier, it sounds plausible both copies would be present.

> That's the entire point of using a hash for change detection.

This is called integrity protection. Change detection is the incorrect term to use here. Please see what I referenced earlier for first and second preimage.


What determines whether a hash is "cryptographic"? What would make it suitable for change-detection but not be "cryptographic"? Is the claim here that it would not be suitable for detecting "malicious" changes, but is still suitable for detecting "natural" changes?


A couple features are that is hard for an attacker to find a collision, and it is hard to reverse the original data from the hash. Both can cause serious security problems but aren't necessary in something like this where most image changes are "natural" and you gain speed by weakening those constraints.


Saying it's twice as fast is rather misleading? They can both hash as fast as RAM speed allows anyway. And if it's something in cache I doubt one is significantly better than the other.


Meow hash is also written by people who initially thought SHA-1 was acceptable for large scale change hashing.


I can vouch for xxHash (it does what it says on the can), but I'm really curious to hear from who have experience with meow hash.


No releases for 17 yet, but checking the site, I discovered that AdoptOpenJDK was moved to the Eclipse Foundation and renamed to Adoptium: https://adoptium.net/


AdoptOpenJDK offers two builds builds for each version, HotSpot and OpenJ9. Adoptium doesn't. Instead, there's only one downloadn, which makes reference to "Temurin", whatever that is. A quick google search lands me on an Eclipse project page which describes Temurin as follows:

"The Eclipse Temurin™ project provides code and processes that support the building of runtime binaries and associated technologies that are high performance, enterprise-caliber, cross-platform, open-source licensed, and Java SE TCK-tested for general use across the Java ecosystem."


I don't know if I'm reading this right, but it seems that the Adoptium packages (were AdoptOpenJDK) are slated for Sept. 30 the latest: https://github.com/adoptium/adoptium/issues/73


> we target releases to be available starting from the 20th of Sept.

https://github.com/adoptium/adoptium.net/issues/167


An officially supported Rust SDK should be a high priority, IMO. The de facto AWS library Rusoto (https://github.com/rusoto/rusoto) went into maintenance mode is in need of maintainers (https://github.com/rusoto/rusoto/issues/1651).

Microsoft has an Azure SDK under their organization (https://github.com/Azure/azure-sdk-for-rust), but oddly, it's marked as "unofficial". It looks like Google doesn't have one for GCP, but there is a community-built one: https://github.com/Byron/google-apis-rs

Given all these companies are part of the Rust Foundation (https://foundation.rust-lang.org/members/), maybe I just expect more.


With all these big institutions around maybe some of them will get together and push for namespaces in crates.io?

It would be great if e.g. everything under "amazon/" could be trusted to be an official Amazon crate so you don't have to vet every dependency from every tutorial, and this seems like a common need for Amazon, Google and Microsoft.

See e.g. kibwen's comment at https://news.ycombinator.com/item?id=24445788 "The problem is that crates.io is a free, volunteer-run project with zero full-time employees who could be tasked with the drudgery of intervening in naming disputes or managing an identity layer. [...] Solve the funding issue first, and then you can start solving the rest."


The namespace issue was frequently brought up with the crates.io team on Discord, Github, and focus groups at various points over the life of the service. The takeaway is that the lack of namespaces isn't a funding issue, they did not, and still do not believe it is the right design. I personally don't think this is correct, and squatting is very prevalent right now. It's been a bit of a broken record at this point, but at the end of the day it's a volunteer run project and the volunteers that are willing to spend the time to maintain it don't want the feature. I think overall this is a pain point, but by no means a deal breaker.


I can confirm that I personally advocated for namespaces before Cargo existed. I failed to convince the decision makers.

Meanwhile, just a few days ago some of my project's crates were freshly squatted. Sigh.

Maybe someday they'll come around.


I thought namespaces issue was solved in Java decades ago with domain names? Why invent anything?


It looks like they have a job posting for this: https://www.amazon.jobs/en/jobs/1424393/software-development...


This is the big reason I still use Go for a few of my projects. I would prefer to use Rust but the lack or an SDK has me waiting.


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

Search: