Does anyone know the context? It looks like an email from "AI Village" [1] which says it has a bunch of AI agents "collaborating on projects". So, one just decided to email well-known programmers thanking them for their work?
I was going to say "a link to the BlueSky post would be better than a screenshot".
I thought public BlueSky posts weren't paywalled like other social media has become... But, it looks like this one requires login (maybe because of setting made by the poster?):
If you're interested in the ancient Maya, El Salvador doesn't come close to Guatemala or Mexico (followed by Belize and Honduras). These are also wonderful places to visit, IMHO.
I recently discovered Audacity includes plug-ins for audio separation that work great (e.g. split into vocals track and instruments track). The model it uses also originated at Facebook (demucs).
What did you compare it to? Ableton recently launched a audio separation feature too, and probably the highest ROI on simple/useful/accurate so far I've tried, other solutions been lacking in one of the points before.
> If you are interested in how well we do compared to demucs in particular, we can use the MUSDB18 dataset since that is the domain that demucs is trained to work well on. There our net win rate against demucs is ~17%, meaning we do perform better on the MUSDB18 test set. There are actually stronger competitors on both this domain and our "in-the-wild" instrument stem separation domain that we built for SAM Audio Bench, but we either match or beat all of the ones we tested (AudioShake, LalalAI, MoisesAI, etc.)
So ~20% better than demucs, better than the ones they tested, but the acknowledge there are better models out there even today. So not sure "competes against SOTA models" is right, but "getting close to compete against SOTA models" might be more accurate.
For mash-ups specifically, using yt-dlp to download music and split into stems with Demucs, using the UVR frontend, before importing into a DAW is effortless. The catch is that you can't expect to get OK-ish separation on anything other than vocals and "other", which really isn't a problem for mash-ups.
There are several. I've only tried one of them (free, can't remember which) but went back to UVR5.
While it's convenient not having to split stems into separate files beforehand, by using a VST, you usually end up doing so anyway while editing and arranging.
If you're already in the Ableton ecosystem, their newly released stem separation is actually very good, at least for the small amount of testing I've done so far. Much better than demucs, which shouldn't come as a surprise I suppose.
I think using "extended grapheme clusters" (EGC) (rather than code points or bytes) is a good idea. But, why not let you do "x[:2]" (or "x[0..<2]") for s String with the first two EGCs? (maybe better yet - make that return "String?")
That's what I meant by "must be O(1)". I.e. constant time. String's Index type puts the non-constant cost of identifying a grapheme's location into the index creation functions (`index(_:offsetBy:)`, etc). Once you have an Index, then you can use it to subscript the string in constant time.
Like I said, you can easily extend String to look up graphemes by integer index, but you should define it as a function, not a subscript, to honor the convention of using subscripts only for constant-time access.
It's also just not a normal use case. In ten years of exclusive Swift usage, I've never had to get a string's nth grapheme, except for toy problems like Advent of Code.
Because that implies that String is a random access collection. You cannot constant-time index into a String, so the API doesn't allow you to use array indexing.
If you know it's safe to do you can get a representation as a list of UInt8 and then index into that.
I disagree. I think it should be indexed by bytes. One reason is what the other comment explains about not being constant-time (which is a significant reason), although the other is that this restricts it to Unicode (which has its own problems) and to specific versions of Unicode, and can potentially cause problems when using a different version of Unicode. A separate library can be used to deal with code points and/or EGC if this is important for a specific application; these features should not be inherent to the string type.
In practice, that is tiring as hell, verbose, awkward, unintuitive, requiring types attached to a specific instance for characters to do numeric indexing anyway and a whole bunch of other unnecessary ceremony not required in other languages.
We don't care that it takes longer, we all know that, we still need to do a bunch of string operations anyway, and it's way worse with swift than to do an equivalent thing than it is than pretty much any other language.
In Swift (and in other programming languages) it does use Unicode, but I think it probably would be better not to be. But, even when there is a Unicode String type, I still think that it probably should not be grapheme clusters, in my opinion; I explained some of the reasons for this.
It’s a fun fact that Thomas Jefferson and John Adams both died on the same day, July 4 1826, 50 years to the day after the adoption of the Declaration of Independence.
The grandson of the 10th US president died this year. The US is barely three generations old. That guy could say his grandfather shook hands with Thomas Jefferson.
If you have never played the backwards-lifetime game, you should.
Take your current age and work backwards that same number of days, months and years before your birth. Every year something else remarkable is added.
At my current backwards age, World War II is the best part of two decades away; the UK is still recovering from World War I. Rocket 88, the first rock and roll song, won't be written for nearly another three decades. Women still can't vote in the UK, the Wall Street Crash is several years away.
When my father (who knew one of the most important men in medical history in his younger days and who was working in medicine not long after the NHS was founded) died, his backwards age reached back before the germ theory of modern medicine.
Another interesting game is to use your "oocyte age" — about 32 weeks before your mother was born is roughly when the oocyte developed that led to your egg. In my case this too is before World War II started.
Oh I like the oocyte idea - it’s actually concrete
It reminds me as well that I am a wave - the cells that make up my body have all been formed from food I ate in the past decade or so - my skin my liver my heart my brain. None of it is what is was when I was 18. But I still think it is.
And that reaches back to my mothers own birth is amazing.
reply