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

  • 0 Posts
  • 16 Comments
Joined 9 months ago
cake
Cake day: September 22nd, 2023

help-circle
  • 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.





  • Haven’t used that particular library, but have written libraries that do similar sorts of things and have played with a few other similar libraries in C++ and Haskell. I’ve taken a quick glance at the documentation here, but since I don’t know this library specifically apologizes in advance if I make a mistake.

    For OneOrMore(Word(alphanums)) + OneOrMore(Char(printables)) it looks it matches as many alphanum Words as it can (whitespace sequences being an acceptable separator between tokens by default) and when it hits ( it cannot continue with that so tries to match the next expression in the sequence. (i.e. OneOrMore(Char(printables)))

    The documentation says:

    Char - a convenience form of Word that will match just a single character from a string of matching characters

    Presumably, that means it will not group the characters together, which is why you get individual character matches after that point for all the remaining non-whitespace characters. (Your result also seems to imply there was a semicolon at the end of your input?)

    For OneOrMore(Word(alphanums)) + OneOrMore(Char(string.punctuation)) it looks like it cannot match further than ( since 1 is not a punctuation character; so, you got the tokens for the parts of the string that matched. (If you chained the parser expression with something like + Word(alphanum) I’d expect you’d get another token [i.e. "1"] added onto the end of your result.) You may eventually want StringEnd/LineEnd or something like that – I’d expect they’d fail the parser expression if there’s unconsumed input (for error detection), but again, haven’t used this specific library, so it may work different than I expect.

    There appears to be a Combine class you can use to join string results together; that might be useful for future reference.

    i was trying to parse a string with pyparsing so all the words were separated from the punctuation signs

    Have not tested it (since I don’t have a copy of the library installed anywhere and can’t set up an environment for it easily right now) but perhaps something like OneOrMore(Word(alphanums)|Char(string.punctuation)) would be more like what you are looking for?


  • e0qdk@kbin.socialtoLinux@lemmy.mlOpenGL version problem
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    9 months ago
    • 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 and GLFW_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 and make 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
    
    


    • 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…




  • If I understood your question correctly, you’d run the proxy application (which might be Squid or Apache or some other program) either on the host computer outside the VM or elsewhere on your network. (I’m not well versed on all the ins and outs of setting Firefox up to communicate through a proxy; I just know it can be done.) The proxy would listen for incoming traffic on a specific port you configure. You then tell Firefox (in its network settings) to communicate with the specific IP and port of the proxy instead of talking to web servers directly.

    To prevent other programs from communicating, you’d firewall off the VM with iptables (or maybe ufw or something else depending on what you use on your system). You’d set it to drop all traffic going to/from the VM’s network except packets going to or coming from the specific IP/port combinations you want to allow.

    This isn’t a bulletproof way to block other apps from talking to the internet – anything that knows about the proxy (or which can hijack/manipulate a program like Firefox that you’ve told about the proxy) could communicate with web servers via the proxy, but depending on your specific concerns it may be good enough.



  • It’s preinstalled if you buy a Steam Deck – which by default runs a corporate backed (i.e. by Valve) Arch-derived distro called SteamOS. I bought one. If you hook it up like a regular computer (plug in mouse, keyboard, and external monitor with the dock) damned near everything I’ve tried has worked acceptably. Some games need a little fiddling around (e.g. installing video codecs or CJK language support or changing the proton version from the default setting to “experimental”) and I’ve run into bugs with full screen or the on screen keyboard a couple times, but I have yet to find a game I straight up could not play even if it was marked as unsupported. (I expect some games with obnoxious DRM/anti-cheat or that need ridiculously powerful cutting edge GPU specs probably wouldn’t work well though, but haven’t really tested the limits in that direction.)



  • Some games with soundtracks I particularly enjoyed over the last couple years:

    • A Hat in Time - a cute, fun collect-a-thon platformer with a kickass soundtrack. This one is particularly fun to play and hits nostalgia vibes for the early 3D Mario games.
    • Shantae and the Seven Sirens - 2D platformer with an energetic chiptune-y soundtrack. The game itself is OK, but the soundtrack is what really made this one for me.
    • Paradise Killer - vaporwave inspired surreal murder mystery
    • Subnautica - underwater survival and crafting game with a soundtrack that set the mood very well
    • Demons Roots - 18+ RPGMaker game where you lead a demon uprising to reclaim the surface world, invading country after country freeing slaves as you go. Very dark game that is unusually good for the type of game it is. If you’re not put off by the RPGMaker doujin wabi-sabi and are tolerant of adult content in games this one is worth a look. There are some absolute bangers in the soundtrack.
    • Pyre - Lord of the Rings meets 3v3 basketball with a very enjoyable soundtrack by Darren Korb (Bastion).