sorted by: new top controversial old
[-] e0qdk@reddthat.com 4 points 1 week ago

Oh, I remember playing Iji! I think that was the first game I played that noticed and reacted if you tried to play as a pacifist. There was at least one unavoidable boss fight when I played it though, as I recall.

Digging back through my old disks, it looks like I actually still have my copy from 2008 (version 1.2, according to the manual.txt file) as well as a saved game from much later when I replayed it in February 2013. That was a while ago!

[-] e0qdk@reddthat.com 6 points 2 weeks ago

I wrote something like this before for academic researchers to load data sets on display walls by using their cellphones. I approached it by building a simple website. When the user logs in, they'd see a table of entries (from a directory listing on a shared file server that they could drop their data sets onto) and could click a button that made a form post to the server which caused it to run whichever programs were needed to load the data set they wanted (or run a couple of other handy commands -- like turning the monitors on/off, etc).

You can do something like that too in Python if you want:

  1. Learn how to start and stop programs from Python scripts. This can be done with the built-in subprocess library. If you know how to launch the programs you want from the command line, it shouldn't be too hard to figure out how to do it from Python by reading the documentation. It will take some more effort to figure out how to interact with it (e.g. to stop it from user input) without blocking your script, but this can be done.
  2. Learn how to write a simple program that can respond to HTTP requests in Python. There are a number of libraries like tornado, flask, cherrypy, etc. that can do this. Pick one, read the documentation, and write a tiny page that allows you to submit a form and then trigger an action on the server in response to an HTTP POST. You should be able to interact with it by pointing the browser on your computer to localhost (possibly plus a port) or from on your LAN by putting the IP of your computer into the address bar.
  3. Figure out how you're going to organize the entries you want to be able to load. You could just do something trivial like putting the files in known folders and running os.listdir, or something more involved like tracking the entries with a spreadsheet or database or JSON file that lets you associate custom metadata with each entry (like a custom name to show or an icon to display or when it was last launched, etc.)
  4. Generate a web page based on that data collection. I recommend using templating -- e.g. with mustache, or jinja, etc. Basically you write some HTML-like text that lets you indicate places to fill in data from your program and it will do the conversion of symbols like < into &lt; that are needed for HTML output and also repeat patterns using entries from lists you provide to build the rows of tables and such for you.
  5. Set up some security (e.g. a simple log in system) and polish it up as much as you care to do.

Good luck and have fun!

[-] e0qdk@reddthat.com 1 points 4 weeks ago

I tried booting an old Surface off a USB stick with stock Ubuntu once -- probably either 20.04 or 22.04. (I tried this in June 2022 but didn't make a note of the versions in my journal, unfortunately.) I was able to get it to boot, but I couldn't get touch/pen controls working so I decided against replacing the OS. I didn't have enough enthusiasm to bother experimenting with it further -- I assume it probably needed the custom kernel.

[-] e0qdk@reddthat.com 6 points 2 months ago

Aww, I'm not trying to stomp anyone. :(

I was just curious if it was actually the full list and before I knew it I'd spent 45 minutes checking Pokemon names to figure out what was missing, so I figured I'd share the corrections.

If Kolanaki got that close just from memory, that's pretty impressive! I had to look it up!

[-] e0qdk@reddthat.com 9 points 2 months ago* (last edited 2 months ago)
  • Electrode, Diglett, Nidoran♂, Mankey, Venusaur, Rattata, Fearow, Pidgey, Seaking, Jolteon, Dragonite, Gastly, Ponyta, Vaporeon, Poliwrath, Butterfree, Venomoth, Poliwag, Nidorino, Golduck, Ivysaur, Grimer, Victreebel, Moltres, Nidoking, Farfetch'd, Abra, Jigglypuff, Kingler, Rhyhorn, Clefable, Wigglytuff
  • Zubat, Primeape, Meowth, Onix, Geodude, Rapidash, Magneton, Snorlax, Gengar, Tangela, Goldeen, Spearow, Weezing, Seel, Gyarados, Slowbro, Kabuto, Persian, Paras, Horsea, Raticate, Magnemite, Kadabra, Weepinbell, Ditto, Cloyster, Caterpie, Sandshrew, Bulbasaur, Charmander, Golem, Pikachu
  • Alakazam, Doduo, Venonat, Machoke, Kangaskhan, Hypno, Electabuzz, Flareon, Blastoise, Poliwhirl, Oddish, Drowzee, Raichu, Nidoqueen, Bellsprout, Starmie, Metapod, Marowak, Kakuna, Clefairy, Dodrio, Seadra, Vileplume, Krabby, Lickitung, Tauros, Weedle, Nidoran♀, Machop, Shellder, Porygon, Hitmonchan
  • Articuno, Jynx, Nidorina, Beedrill, Haunter, Squirtle, Chansey, Parasect, Exeggcute, Muk, Dewgong, Pidgeotto, Lapras, Vulpix, Rhydon, Charizard, Machamp, Pinsir, Koffing, Dugtrio, Golbat, Staryu, Magikarp, Ninetales, Ekans, Omastar, Scyther, Tentacool, Dragonair, Magmar
  • Sandslash, Hitmonlee, Psyduck, Arcanine, Eevee, Exeggutor, Kabutops, Zapdos, Dratini, Growlithe, Mr. Mime, Cubone, Graveler, Voltorb, Gloom, Charmeleon, Wartortle, Mewtwo, Tentacruel, Aerodactyl, Omanyte, Slowpoke, Pidgeot, Arbok

I noticed while making this list that Lickitung was incorrectly spelled "LIKITUNG" on the third day.

Edit: Also, for Nidoran♂ vs Nidoran♀ you have to look at the picture to distinguish since they just say "Nidoran" but they do say it twice!

[-] e0qdk@reddthat.com 7 points 2 months ago

That's pretty good! But... that's only 147. :-)

Nidoran♀, and Nidoran♂ are separate and you're missing Nidorina, Nidoqueen, and also Rhydon.

Some other corrections:

  • Pigeotto -> Pidgeotto
  • Ninetails -> Ninetales
  • Diglit -> Diglett
  • Primape -> Primeape
  • Duouo -> Doduo
  • Cloysyer -> Cloyster
  • Ghastly -> Gastly
  • Electrabuzz -> Electabuzz
  • Gyrados -> Gyarados
  • Omantyte -> Omanyte
  • Arodactyl -> Aerodactyl

(Yes, I looked it up. No, I have no life. :p)

Cheers!

[-] e0qdk@reddthat.com 15 points 2 months ago

kbin.social has been totally down for a while. I don't think your posts are actually federating when you post into a kbin.social magazine right now; the votes you are getting are probably from other lemmy.world users only.

[-] e0qdk@reddthat.com 3 points 2 months ago

I was curious, so I did some searches on this topic for you and found these pages:

The second link in particular notes:

The reason that things are much easier with all ASCII data is that practically every Unicode encoding in existence maps bytes 0x00..0x7f to the corresponding code points, so byte strings and Unicode strings that contain the same all-ASCII data are basically equivalent, even semantically. What usually trips people up with non-ASCII data is that the semantic meaning of bytes in the range 0x80..0xff changes from one encoding to another.

But, thinking like a systems programmer again, for many purposes the semantic meaning of bytes 0x80..0xff doesn’t matter. All that matters is that those bytes are preserved unchanged by whatever operations are done. Typical operations like tokenizing strings, looking for markers indicating particular types of data, etc. only need to care about the meaning of bytes in the range 0x00..0x7f; bytes in the range 0x80..0xff are just along for the ride.

So the trick for beating Python 3 strings into submission is to put in encoding and decoding calls where you need to, choosing a single-byte encoding that doesn’t mutate 0x80..0xff. There are many of these; most of the Latin-{1..6} sequence (aka ISO-8859-1..10) is has this property. What you do not want to do is pick utf-8 or any of the multibyte Asian encodings. Latin-1 will do fine; in fact it has an advantage over the others in memory consumption, which we’ll describe below.

Whether depending on this is actually correct or not is beyond me, but it seems like people have actually been using that pass-through behavior in practice and put it into things like Python2 -> 3 migration guides.

The first link suggests that the seemingly undefined ranges are valid as C0 and C1 control codes which may be why it doesn't throw errors.

[-] e0qdk@reddthat.com 2 points 3 months ago

Now imagine if to buy a car you had to tolerate cameras and other forms of tracking your telemetry just to get to work and feed yourself.

Sorry to be the bearer of depressing news, but that's basically already happening in new cars.

https://foundation.mozilla.org/en/blog/privacy-nightmare-on-wheels-every-car-brand-reviewed-by-mozilla-including-ford-volkswagen-and-toyota-flunks-privacy-test/

https://jacobin.com/2024/03/car-spying-insurance-surveillance-data/

[-] e0qdk@reddthat.com 2 points 3 months ago

I wonder what cuil things it will say if you start asking questions about hamburgers instead...

[-] e0qdk@reddthat.com 1 points 4 months ago* (last edited 4 months ago)

I ran into an example of the thumbnail issue again today -- this time on a post from kbin: https://old.reddthat.com/post/19193476

The thumbnail looks like this in the HTML:

<div class="thumb">
  <a class="url"
     href="https://media.kbin.social/media/60/a4/60a45b8ff88b1b2e3a0f77b701feb323c5bbfb7ceeb75154ea7df5d6eea15ef8.jpg"
     >
    <div  style="background-image: url(https://media.kbin.social/media/60/a4/60a45b8ff88b1b2e3a0f77b701feb323c5bbfb7ceeb75154ea7df5d6eea15ef8.jpg?format=jpg&amp;thumbnail=96)"></div>
  </a>
</div>

Note that it's making a request to kbin.social with ?format=jpg&thumbnail=96 parameters in the CSS -- which results in the full image being loaded since kbin doesn't run pictrs.

The versions in use on reddthat (according to the settings page) are:

lemmy: 0.19.4-beta.7

mlmym: 0.0.44

44
anime_irl (reddthat.com)
submitted 4 months ago by e0qdk@reddthat.com to c/anime_irl@ani.social

Silver Spoon

143
view more: next ›

e0qdk

joined 9 months ago