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.
e0qdk
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
- 1 Post
- 21 Comments
Yep. It’s Garden of Words. I just skimmed through my copy and this image is from about 18 minutes in.
e0qdk@kbin.socialto Linux Gaming@lemmy.ml•Start Steam on PC when pinged by Steamlink on AppleTV.6·1 year agoIt might be easier to just fire up Wireshark and look for relevant traffic when you trigger the action.
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:
solver code
#!/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:
- https://en.wikipedia.org/wiki/Satisfiability_modulo_theories
- https://en.wikipedia.org/wiki/Z3_Theorem_Prover
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:
solution
a = 2299200278
b = 2929959606
c = 2585800174
d = 3584110397I 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.
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.
e0qdk@kbin.socialto Linux@lemmy.ml•The Linux Experiment Channel (From Nick) is on Peertube, and it federates right into Lemmy as a community3·2 years agoYeah; I also tried subbing in case that kicks off federation and searched a few titles to see if they ended up in random incorrectly as well (stuff like that happens sometimes with kbin). The magazine has seen a few microblogs mentioning the channel, and it clearly picked up the avatar/icon, description, etc. somehow, but doesn’t seem to be getting any videos as threads/posts and I couldn’t find any floating around disconnected either. I think kbin most likely doesn’t understand what PeerTube is publishing through AP, but there could always be federation weirdness or something.
e0qdk@kbin.socialto Linux@lemmy.ml•The Linux Experiment Channel (From Nick) is on Peertube, and it federates right into Lemmy as a community6·2 years agoDoesn’t seem to work right on kbin, unfortunately, although it does show up as a magazine: https://kbin.social/m/thelinuxexperiment_channel@tilvids.com
[coreutils-announce] coreutils-8.31 released [stable]
stat now prints file creation time when supported by the file system,
on GNU Linux systems with glibc >= 2.28 and kernel >= 4.11.https://lists.gnu.org/archive/html/coreutils-announce/2019-03/msg00000.html
(found thanks to this blog post titled “File Creation Time in Linux”)
If you want minimal effort to get a good Linux setup for Steam, just buy a SteamDeck. Get the dock if you want to use it like a regular computer or console with a wireless gamepad. I did that – hooked it up to my monitor, headphones, plugged in a mouse, keyboard, and my old XBox360 USB wireless dongle and it all just worked. I’ve got a few ideas for fun projects I want to try with it as a handheld and have written some software on it using desktop mode (little Python utility scripts for shuffling data around) but mostly I just use it like a gaming console; it works well for that.
Rule 9 from Agans’s Debugging: If you didn’t fix it, it ain’t fixed
Intermittent problems are the worst…
deleted by creator
- GLFW is intended to be built with cmake.
- After unzipping the source, make a build directory, and configure glfw3
- ^^ I like using ccmake to do this interactively, but you can also just pass flags to cmake if you know what they are
- You should build with
GLFW_USE_WAYLAND
andGLFW_USE_OSMESA
turned off to get it to try to build against X11. - You will probably also want to turn off
GLFW_BUILD_DOCS
,GLFW_BUILD_EXAMPLES
,GLFW_BUILD_TESTS
- You can adjust
CMAKE_INSTALL_PREFIX
if you don’t want to use the /usr/local default install path. - After generating a Makefile, run
make
andmake install
- glfw3 generates a pkg-config compatible .pc file as part of its build process that lists flags needed for compilation and linking against the library. Normally, you’d just call
pkg-config --cflags --libs --static glfw3
to get this info as part of your own build process (in a Makefile, for example) or else require glfw3 as part of a cmake-based build, but you can read what’s generated in there if that program is not available to you for some reason. In case it’s helpful for comparison, what I get with a custom build of the static library version of glfw3 installed into /usr/local on a slightly old version of Ubuntu is output like-I/usr/local/include -L/usr/local/lib -lglfw -lrt -lm -ldl -lX11 -lpthread -lxcb -lXau -lXdmcp
but you may need something different for your particular configuration.
Basically, something like this, probably, to do the compilation and get the flags to pass to g++:
wget 'https://github.com/glfw/glfw/releases/download/3.3.8/glfw-3.3.8.zip' unzip glfw-3.3.8.zip mkdir build cd build cmake -D GLFW_BUILD_DOCS=OFF -D GLFW_BUILD_EXAMPLES=OFF -D GLFW_BUILD_TESTS=OFF -D GLFW_USE_OSMESA=OFF -D GLFW_USE_WAYLAND=OFF -D GLFW_VULKAN_STATIC=OFF ../glfw-3.3.8 make make install pkg-config --cflags --libs --static glfw3
If you want to just compile a single cpp file after building and install, you can do something like
g++ main.cpp `pkg-config --cflags --libs --static glfw3` -lGL
Try compiling GLFW from source against GLX instead of EGL. If glxinfo is talking to a software implementation running on your system, I’d expect GLFW built to use GLX would use the same implementation on your computer.
- You are running Wayland
- Your GLFW programs are using EGL, not GLX, to talk to your graphics drivers/hardware
- glxinfo is talking to a software implementation, not your hardware
- glxinfo’s output is irrelevant if you want to talk to your hardware with your current configuration; if you want to use the software implementation recompile GLFW targeting GLX and it should match that (but will be VERY slow).
- One of your old posts describes your GPU as: Intel GMA3100 (G31) – is this the same system you’re running on now? If so, that is ancient. It looks like that came out in 2007 – which predates the existence of OpenGL 3.0; so, getting 2.1 as the newest context available when talking to actual hardware is not surprising…
I’ve used Wireshark when I want to inspect the traffic going through my computer. I’ve found it particularly handy for debugging my own networking code. I’ve also used netstat to see active connections and programs listening for traffic when I don’t care about the packet contents specifically.
e0qdk@kbin.socialto Technology@lemmy.ml•Microsoft might want to be making Windows 12 a subscription OS, suggests leak3·2 years agoI think it’s probably an Indian English-ism. It’s understandable but sounds weird to speakers of American English (and maybe other English dialects).
A more natural sounding title (to an American English speaker) would use “Microsoft is making” or “Microsoft is planning to make” rather than “Microsoft might want to be making”.
e0qdk@kbin.socialto Selfhosted@lemmy.world•Running a Windows VM on KVM, how do I restrict network access to specific applications instead of the entire OS?1·2 years agoWith that said, can I possibly only allow traffic to and fro from the proxy through my firewall?
Yes. That is what I suggested. If you configure the firewall to only allow traffic to/from the specific IP and port combination of your proxy, other traffic will be blocked.
I should be able to (in theory) inspect traffic too, although I don’t know how far that will take me.
You can do content filtering via a proxy like that, yes. A similar sort of configuration is used on school computers to do things like block adult content, with varying degrees of success. Some ad-blocking techniques work on similar principles.
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.