@murad@twtxt.net Yes things do work 🤣
@murad@twtxt.net Welcome to Yarn.social / Twtxt 🥳 You might want to fiddle a bit with your settings, maybe a nice avatar, description, maybe a few links, etc 😃
@itsericwoodward@itsericwoodward.com Dropped you en Email 📧
@itsericwoodward@itsericwoodward.com Can I count you in as a potential customer then? I’ll find a way to DM and share details with you. But rest assured it’ll have everything you could possibly want 😅
@david@daiwei.me I’ll DM you 😅
@david@daiwei.me Haha 🤣
@creeper@twtpub.com Hey ! 👋 Welcome to Yarn.social / Twtxt 🤗
$599 retail purchase
$9.95/month optional subscription
☝️ Would you pay this for a fully self hosted home cloud? 🧐
And just like that Problem 10 is done and correct whoohoo 🥳 It was easy because in Problem 7 I’d already written an iterator to produce infinite primes. So the solution for finding the sum of primes under 2,000,000 is basically (shortened):
primes := iter.take_while(iter.filter(prime_candidates(), is_prime), fn(p) { p < n })
print(iter.sum(primes))
And of course the answer is: 142913828922 which took ~21.ss for the Go Vm to compuete.
What’s interesting here… Which is the interesting thing about Mu is the dual runtime. So the above solution for Euler Problem 9 finds the solution in ~429ms with the Go VM and ~327ms natively compiled to darwin/arm64. Not bad for a language I haven’t really done any optimization work on yet (correctness first obviously).
Oh man wow 😮 Problem 9 was quite hard 😱 I had to build two new functions in the Mu stdlib for computing combinations and permutations, but then the combinations of range(1000) for triples such as a + b == c is enormous! So i had to write iterator versions of these to do lazy evaluation. Anyway solution follows:
#!/usr/bin/env mu
// Special Pythagorean Triplet
import "iter"
fn usage() {
print("Usage:", args()[0], "<n>")
}
fn sqr(x) { x * x }
fn main() {
if len(args()) < 2 {
usage()
exit(1)
}
n := must(int(args()[1]))
print("n:", n)
// For a < b < c and a + b + c == n, both a and b are strictly less
// than n/2. Generate only (a,b) combinations and derive c directly. This
// keeps the search lazy and reduces n=1000 from C(999,3) = 165,668,499
// candidate triples to C(499,2) = 124,251 candidate pairs.
pairs := iter.combinations(iter.range(1, n / 2), 2)
triples := iter.map(pairs, fn(xs) {
a := xs[0]
b := xs[1]
return [a, b, n - a - b]
})
// Enforce b < c; a < b is already guaranteed by combinations over an
// increasing range, and a + b + c == n holds by construction.
triples = iter.filter(triples, fn(xs) {
return xs[1] < xs[2]
})
// Euler 9 has one answer for n=1000. find() stops the entire upstream
// iterator chain as soon as the first Pythagorean triple is found.
answer := iter.find(triples, fn(xs) {
return sqr(xs[0]) + sqr(xs[1]) == sqr(xs[2])
})
print(answer)
if answer != nil {
print(answer[0] * answer[1] * answer[2])
}
}
main()
It is such a nice feeling that Mu is such a capable little language 😅 And I decided to write code code in Mu by hand 🤚 haha 🤣 and start solving Project Euler problems, like Problem 8 which works out to be a nice elegant solution in Mu:
#!/usr/bin/env mu
// Largest Product in a Series
import "fp"
import "sys"
fn usage() {
print("Usage: cat |", args()[0], "<n>")
}
fn products(xs) {
return fp.reduce(xs, 1, fn(x, y) {
if y == nil {
return x
}
return x * y
})
}
fn main() {
if len(args()) < 2 {
usage()
exit(1)
}
s := must(sys.read_all(0))
if len(s) == 0 {
usage()
exit(1)
}
n := must(int(args()[1]))
r := fp.max(fp.map(fp.sliding(fp.map(s, int), n), products))
print(r)
}
main()
@anth@a.9srv.net Haha 😆
but yes, however you cannot currently add it or delete post via the app as I haven’t really built that feature at the moment you technically can do it, but you do run into some challenges with breaking threads if you’ve already published something and then go back and edit it so we generally advise not to do that too much if you can help it
@brytboi@twtpub.com I hope you’re seeing my replies because you absolutely can scroll up in the app. Let me know if you’ve run into a bug though and report it to me so I can fix it immediately!
@brytboi@twtpub.com no a subset of markdown is fully supported by the app!
@brytboi@twtpub.com I mean you can, technically. But most clients won’t render Javascript or HTML fragments at all. Only Markdown, Text, Images and Links.
@brytboi@twtpub.com Hey! 👋 Welcome to Yarn.social / Twtxt 🤗
@david@daiwei.me Please report any logs from the Javascript console if you can. It’s possible the one commit I made to the Swag framework might be the culprit here. Not sure.
I’m not seeing any of what you’re describing, But then again I only use the app on mobile, on iPhone. There’s only been basically a few commits to the App and one to Swag. That’s it.
@anth@a.9srv.net Where’s the other side of this? Your side? 🤔
@lyse@lyse.isobeef.org You are correct, 👍, however, not what I was thinking in this case. More of just a reminder/nudge.
@david@daiwei.me broken how? wiring here
@david@daiwei.me Do you mind re-testing too with the updates i just pushed out? 🙏
Testinf image upload fixes…
Testing image upload fixes 🙏
Public holiday today!😅
@GabesArcade@gabesarcade.com Not sure if @mariam@twtpub.com will ever see or respond to our welcomes tbh 😢 I caught the new user trying out the Twtxt App 4 days too left 🤦♂️ – I think I need to make some improvements to the app, some nudges, something to encourage users to stick around? Maybe some periodic push notifications? 🤔
@mariam@twtpub.com Hey! 👋 Welcome to Yarn.social / Twtxt 🤗
@david@daiwei.me Thank you 🙏
@david@daiwei.me Also if you wouldn’t mind writing up an Issue for the image/upload problem too, that would be great 👍 I still haven’t solved it properly, but I’ll try to do so today. There’s also an issue uploading images via the yarnd API path from the Twtxt App too, which I can replicate with basically any photo from my iPhone’s Photo gallery hmm 🤔
@david@daiwei.me Are you able to describe this bug as an Issue in the Gitea Issue Tracker such that it can be reproduced and fixed? 🙏
@david@daiwei.me centralised right?
@david@daiwei.me Wanna try again? 🙏
This has been fixed now if you could retest?
@david@daiwei.me Okay 👌
@david@daiwei.me No idea 🤷 We shall see! haha 😂
@david@daiwei.me Ahhh so you had a WebP you downloaded from somewhere on your Phone and you’re trying to uploaded it via the Twtxt.App? 🤔
@david@daiwei.me Is this from your camera, or some other source of WebP somewhere? 🤔
@david@daiwei.me Why not indeed 😅 I’m taking nearly a whole month off from Sept 10 to Oct 6 Haha 🤣
I really do find it difficult to follow anyone that basically posts to a wall, or doesn’t follow back. It’s utterly pointless not being able to have a conversation, like basically, at all. Maybe it’s not even anyone’s fault? Maybe just a sucky client that doesn’t understand how User-Agent works in Twtxt Discovery? 💡
@david@daiwei.me you’re quite possibly right!
@itsericwoodward@itsericwoodward.com And… Are there basically a lot of “village idiots”? 🤔
Gonna recreate the classic [Break out](https://en.wikipedia.org/wiki/Breakout_(video_game) game this weekend for the Mills Games Cabinet – Anyone else got any ideas, requests? 🤔 #games #ebitengine
@david@daiwei.me Yes it does!
@dce@hashnix.club nah that’s pretty hot 🥵
@movq@www.uninformativ.de You will always have a welcome “virtual” home around here 🤗
@chrisgarrod@twtpub.com Hello 👋 Welcome to Yarn.social / Twtxt 🙌
@movq@www.uninformativ.de give up on what?