I write code and play games and stuff. My old username from reddit and HN was already taken and I couldn’t think of anything else I wanted to be called so I just picked some random characters like this:
>>> import random
>>> ''.join([random.choice("abcdefghijklmnopqrstuvwxyz0123456789") for x in range(5)])
'e0qdk'
My avatar is a quick doodle made in KolourPaint. I might replace it later. Maybe.
日本語が少し分かるけど、下手です。
Alt: e0qdk@reddthat.com
Let me preface my response by saying: my answer is kbin specific. It might or might not also apply to mbin since they may have changed things (or kept older features that kbin changed) since they forked. I know a few of the differences between them, but I haven’t kept up with most of mbin’s specifics.
Also, if anyone stumbles into this in the far future: note that this post is from March 2024. If that seems like a long time ago, check for newer information…
Can searches be made more specific? On Lemmy, you could define whether you wanted to search for communities/magazines, threads, comments, users and urls.
You can search for magazines specifically from the magazine page. The general search searches in microblogs, thread text – but not the thread title(?), and comments/replies, I think. You can search for exact user profiles as well with the “@ user @ instance” syntax – e.g. searching for @TamperTanuki@fedia.io
shows a link to your profile as the result. (That also applies to magazines/communties – e.g. @kbinMeta@kbin.social
will find both a user called “kbinMeta” and this magazine as search results – but searching for magazines from the magazine page is probably better for most use cases.) You can sometimes also find the local version of a federated thread if you search for the original post URL. Note that searching for a post on another instance may not always work; if you’re copying a link to a thread you found in a comment post and someone linked to their instance’s local version of a thread and that isn’t the original source it probably won’t find it. (I’ve had decent luck with it in practice though. For the latter problematic case, load the post on the instance and then find the fediverse link which should take you to the original source and then search for that to find it on your instance.)
@piotrsikora @ernest – FYI searching for this thread by the exact title “Multiple questions regarding Kbin” does not find it currently but searching text like “as a new Kbin/Mbin user” will find it. Is that a bug?
@piotrsikora @ernest – Searching for a URL that is not a thread causes a 50x error.
Lastly, you can change the result order (newest/controversial/oldest).
You can change newest/top/hot/active etc. for the results on kbin by clicking on the tabs above the search results.
To send toots/tweets, do I have to specify a magazine? I seem to be unable to send a toot without specifying a magazine first, although I only try to adress a mastodon user directly.
Unclassified microblogs (e.g. from Mastodon users) usually end up in random, but I’m not sure how to post them intentionally since I don’t use the microblog feature much. Hopefully someone else can chime in with an answer for this.
Is this even the right magazine to ask these questions in? Is there a dedicated kbin support magazine?
It’s fine for kbin questions but you might get a better response for details about your specific instance (which runs mbin) on a local magazine like /m/fedia@fedia.io maybe? Sorry if that doesn’t link correctly; I rarely link anything other than lemmy communities. (EDIT: https://fedia.io/m/fedia )
On Lemmy, users can send each others direct messages. It seems like Kbin/Mbin has no way of displaying those direct messages. Is that correct or is there a way to show direct messages?
DMs do not work between kbin and lemmy as far as I know. I have a lemmy alt linked in my profile in case lemmy users want to DM me.
You should be able to send messages to local users on your instance though by going to a user’s profile and clicking “Send Message” on the right side.
Trying to access the send message interface for your account from kbin doesn’t work here, so I doubt mbin/kbin DMs work. (@ernest this seems to redirect to login and then immediately to the home view instead of opening the message page or showing an error – is this a bug?)
Hope that helps!
@piotrsikora @ernest – this thread did not show up on other instances (e.g. I couldn’t see it from my alt on reddthat.com despite being subscribed to this magazine from there as well) when I found it originally. I upvoted it here on kbin.social and now it shows up on reddthat. Is that a federation bug (either on fedia.io’s side or on kbin.social’s side)?
@piotrsikora – FYI: I got a lot of 50x errors trying to edit this comment.
Hi @piotrsikora. Great to see that kbin is responsive again and returning to usability. If possible, could you please give an update on what is going on currently with federation? It looks like some things are getting through (e.g. I can see this thread on reddthat) but threads from most lemmy instances are not showing up in a timely way in /newest still and at a quick glance it looks like communities in my collections are maybe a half day behind – with many threads from the past week or more missing entirely.
I’m assuming some of that may be on the lemmy side – 0.19 has a major issue with sequential message distribution as seen with lemmy.world <-> reddthat.com federation (see this bug report and this comment if you’re unfamiliar) – but it’d be best to hear from someone who has access to the infrastructure about what’s going on rather than guessing.
In particular, it’d be helpful to know:
Also, should we @ you in addition to @ernest if we encounter problems on kbin.social?
Thank you!
I don’t. I use the timer on my microwave.
I boil water in a sauce pot on the stove. Slosh it into my mug. Plunk in a tea bag and set the timer on my microwave for 3:30 so that I don’t forget and over-steep it. No milk. No sugar.
This is from ~54 mins into Tokyo Godfathers. (I just skimmed my copy to double check even though I recognized the character; it’s been a long time since I’ve seen it!)
Have you tried Resonance? It’s a mystery adventure game set in modern times where you play as four different characters whose stories interconnect. It’s been a while since I played it (a decade or so?) but I remember that it had an interesting game mechanic that let you use memories like items in various interactions, as well as a number of puzzles that I rather liked the design of.
Hmm, so federated downvotes from Lemmy are public now on mbin, not just local downvotes and federated upvotes. Interesting. Does mbin-mbin downvote federation work? kbin doesn’t federate downvotes to you. (I checked – for science! – but switched back to an upvote afterwards.)
artificial gestation
The word “matrix” literally means “womb” in its older sense.
It’s not a GUI library, but Jupyter was pretty much made for the kind of mathematical/scientific exploratory programming you’re interested in doing. It’s not the right tool for making finished products, but is intended for creating lab notebooks that contain executable code snippets, formatted text, and visual output together. Given your background experience and the libraries you like, it seems like it’d be right up your alley.
I was just thinking about the image resizing thing again when I saw your message notice pop up. Another option for preview is a web browser. A minimal HTML page with some JS to refresh the image would avoid the image resize on reload problem, and gives you some other interesting capabilities. Python ships with a kind of meh (slow and quirky), but probably sufficient HTTP server (python3 -m http.server
) if you’d prefer to load the preview on a different computer on your LAN entirely (e.g. cellphone / tablet / … ) for example.
A simple HTML file for this would be something like:
<!DOCTYPE html>
<html>
<head>
<style>
html, body {
background-color: #000000;
}
</style>
<script>
function reload()
{
let img = document.getElementById("preview");
let url = new URL(img.src);
url.searchParams.set("t", Date.now()); // cache breaker; force reload
img.src = url.href;
}
function start()
{
setInterval(reload, 500);
}
</script>
</head>
<body onload="start()">
<img id="preview" src="output.png">
</body>
</html>
Regarding input from a gamepad – I’ve had some similar ideas before but haven’t really had much success using a gamepad artistically outside some limited things where I either wrote the entire program or was able to feed data into programs that accepted input over the network (e.g. via HTTP and which I wrote a custom adapter for). It’s been a long time since I’ve tried anything in that space though, and it might be possible to do something interesting by trying to make the system see the combination of a gamepad stick as relative mouse motion and trigger as pen pressure. I’m not quite sure how to go about doing that, but I’ll let you know if I find a way to do it.
The Wikipedia article for hqx points out that an implementation exists as a filter in ffmepg.
You can run a command line conversion of e.g. a PNG -> PNG using hqx upscaling like: ffmpeg -i input.png -filter_complex hqx=4 output.png
The =4
is for 4x upscaling. The implementation in my version of ffmpeg supports 2x, 3x, and 4x upscaling.
As a quick and dirty way to get semi-live preview, you can do the conversion with make
and use watch make
to try to rebuild the conversion periodically. (You can use the -n
flag to increase the retry rate if the default is too long to wait.) make
will exit quickly if the file hasn’t changed. Save the image in your editor and keep an image viewer that supports auto-reload on change open to see “live” preview of the output. (e.g. eog
can do it, although it won’t preserve size of the image – at least not in the copy I have, anyway; mine’s a bit old though.)
Sample Makefile:
output.png : input.png Makefile
ffmpeg -y -i input.png -filter_complex hqx=4 output.png
Note the -y
option to tell ffmpeg to overwrite the file; otherwise it will stop to ask you if you want to overwrite the file every time you save, and in case you’re not familiar with Makefiles, you need a real tab (not spaces) on the line with the command to run.
ffmpeg also appears to support xbr (with =n option as well) and super2xsai if you want to experiment with those too.
I’m not sure if this will actually do what you want artistically, but the existing implementations in ffmpeg makes it easy to experiment with.
What upside down thing with a banana??
There was a viral video/meme maybe a decade ago about how monkeys peel bananas (might have actually been an orangutan or gorilla in the one I saw; been too long since I’ve seen it) where they peel it from the end opposite of how people are usually shown doing it. I’m guessing they mean that? Basically, instead of bending the stem bit (from where the bananas bunch up), you can pinch the tip at the other end and the peel splits open very easily – it’s easier to do, especially if the banana is still a bit on the greener side of ripeness and the stem part is flexible. (I tried it after seeing it and switched to peeling them from the “bottom” myself.)
What back bit?
There is a little black fibrous part of most Cavendish bananas near the tip I was describing; many people do not like eating it and avoid it.
Also…veins?
I’m not sure what they mean either.
Can Z3 account for lost bits? Did it come up with just one solution?
It gave me just one solution the way I asked for it. With additional constraints added to exclude the original solution, it also gives me a second solution – but the solution it produces is peculiar to my implementation and does not match your implementation. If you implemented exactly how the bits are supposed to end up in the result, you could probably find any other solutions that exist correctly, but I just did it in a quick and dirty way.
This is (with a little clean up) what my code looked like:
#!/usr/bin/env python3
import z3
rand1 = 0.38203435111790895
rand2 = 0.5012949781958014
rand3 = 0.5278898433316499
rand4 = 0.5114834443666041
def xoshiro128ss(a,b,c,d):
t = 0xFFFFFFFF & (b << 9)
r = 0xFFFFFFFF & (b * 5)
r = 0xFFFFFFFF & ((r << 7 | r >> 25) * 9)
c = 0xFFFFFFFF & (c ^ a)
d = 0xFFFFFFFF & (d ^ b)
b = 0xFFFFFFFF & (b ^ c)
a = 0xFFFFFFFF & (a ^ d)
c = 0xFFFFFFFF & (c ^ t)
d = 0xFFFFFFFF & (d << 11 | d >> 21)
return r, (a, b, c, d)
a,b,c,d = z3.BitVecs("a b c d", 64)
nodiv_rand1, state = xoshiro128ss(a,b,c,d)
nodiv_rand2, state = xoshiro128ss(*state)
nodiv_rand3, state = xoshiro128ss(*state)
nodiv_rand4, state = xoshiro128ss(*state)
z3.solve(a >= 0, b >= 0, c >= 0, d >= 0,
nodiv_rand1 == int(rand1*4294967296),
nodiv_rand2 == int(rand2*4294967296),
nodiv_rand3 == int(rand3*4294967296),
nodiv_rand4 == int(rand4*4294967296)
)
I never heard about Z3
If you’re not familiar with SMT solvers, they are a useful tool to have in your toolbox. Here are some links that may be of interest:
Edit: Trying to fix formatting differences between kbin and lemmy
Edit 2: Spoiler tags and code blocks don’t seem to play well together. I’ve got it mostly working on Lemmy (where I’m guessing most people will see the comment), but I don’t think I can fix it on kbin.
If I understand the problem correctly, this is the solution:
a = 2299200278
b = 2929959606
c = 2585800174
d = 3584110397
I solved it with Z3. Took less than a second of computer time, and about an hour of my time – mostly spent trying to remember how the heck to use Z3 and then a little time debugging my initial program.
I feel that one. I’ve had the programming equivalent of writer’s block on my main hobby project for over a month now. Good luck!
What I’d do is set up a simple website that uses a little JavaScript to rewrite the date and time into the page and periodically refresh an image under/next to it. Size the image to fit the remaining free space of however you set up the iPad, and then you can stick anything you want there (pictures/reminder text/whatever) with your favorite image editor. Upload a new image to the server when you want to change the note. The idea with an image is that it’s just really easy to do and keeps the amount of effort to redo layout to a minimum – just drag stuff around in your image editor and you’ll know it’ll all fit as expected as long as you don’t change the resolution (instead of needing to muck around with CSS and maybe breaking something if you can’t see the device to check that it displays correctly).
There’s a couple issues to watch out for – e.g. what happens if the internet connection/server goes down, screen burn-in, keeping the browser from being closed/switched to another page, keeping it powered, etc. that might or might not matter depending on your particular circumstances. If you need to fix all that for your circumstances, it might be more trouble than just buying something purpose built… but getting a first pass DIY version working is trivial if you’re comfortable hosting a website.
Edit: If some sample code that you can use as a starting point would be helpful, let me know.
My guess is that if browsers as we know them weren’t invented, HyperCard would’ve become the first browser eventually. No idea where things would progress from there or if it’d have been better or worse than the current clusterfuck. Maybe we’d all be talking about our “web stacks” instead of websites, and have various punny tools like “pile” and “chimney” and “staplr”. Perhaps PowerPoint would’ve turned into a browser to compete with it.
If browsers were invented but JavaScript specifically was not, we’d probably all be programming sites in some VB variant like VBScript (although it might be called something different).
It took about a minute for my comment from reddthat to show up here, but it looks like it made it through ok, so inbound comments are working. (Note: replying to myself from my kbin account)