axby

joined 1 year ago
MODERATOR OF
[–] [email protected] 3 points 14 hours ago

Thanks, this is something I was considering. I’ve always wanted to dive into the code for something like VLC or Firefox, but I feel like it would take a while before it becomes fun. I still plan on doing it when I feel like I have more free time. Maybe I need to find simpler projects.

I guess in this post I was hoping for something that could have meaningful progress made in a few hours, without a ton of ramping up time. Maybe that doesn’t exist?

[–] [email protected] 3 points 14 hours ago* (last edited 14 hours ago)

I agree and am surprised that this isn’t more in demand. I like matrix.org and use it as a regular messenger for people that I’ve convinced to use it. But it is dependent on people hosting their own instances, or using the official public one (for free).

They do have a “peer to peer” matrix experiment that I’ve heard about but it was in its early stages when I last looked at it: https://matrix.org/blog/2020/06/02/introducing-p2p-matrix/

 

Is there a Lemmy community for "someone should make this"? Similar to reddit's r/SomebodyMakeThis.

And alternatively, this thread could serve as one: what are some software projects that I/others could take on? Ideally small enough in scope that I could make something partially usable in a weekend or two.

Previously I've just worked on whatever I found fun to program, but it would be nice to hear things that people actually want that don't exist yet, and would be interested in trying it even when it is only partially finished. I'm not sure about others but I find my day job is often full of meetings or bureaucracy, and I don't often get the satisfaction of seeing people happy with something that I built. (I wonder if this feeling is more common in other types of work)

[–] [email protected] 3 points 3 weeks ago (2 children)

I’ve never been into tablets, are Surfaces as easy to install Linux on as a PC? Is there any bootloader unlocking or anything like on a phone, or is it more like secure boot on a PC?

I had installed Linux on an old Chromebook and it would always offer to wipe the hard drive on every boot, so now I’ve assumed that some hardware isn’t as Linux friendly as others. I think a lot has changed since I got my desktop and the last laptop that I installed Linux on.

And are the Linux touch screen interfaces any good? I tried a Fairphone that was running something Linux and the touch interface was lacking. (It was a great tiny laptop for using a terminal though).

And last random thought… I loved the 10” netbook form factor back in 2009 or so. I think tablets are a similar size, but the weight is in the “monitor” part, I preferred the bottom heavy laptop form factor. Are the Surfaces okay for that, or top heavy enough that they can fall over and can’t have the angle adjusted finely like a laptop?

[–] [email protected] 3 points 3 weeks ago

I bought a 512 GB SanDisk one for $65 USD a few years ago. I don’t like Samsung software bloatware on their phones, but having 512 GB of storage for $65 feels pretty futuristic to me. I can’t believe more phone manufacturers don’t offer external SD card support… you’d think more consumers would demand it, given that the alternative is to pay a lot more, every time you get a new phone.

I’m basically able to keep like every photo I’ve taken for the last 10 years or so (though not at original resolution).

[–] [email protected] 2 points 3 weeks ago

I was thinking this too, but consider some improvements:

  • wireless printing seems to “just work” now. Besides having to painfully enter my wifi password with up and down arrows on my printer, it seems like my windows and Mac laptops are able to print to it wirelessly without any initial setup. (I use Linux on my desktop but haven’t tried printing from it yet). I think it even works from phones.
  • cables: I don’t remember what type of cable printers used, but I remember the big keyboard cable, then the smaller purple and green PS/2 ones (I think keyboard and mouse were different?)… I vaguely remember multiple different peripheral cables, like FireWire? Giant parallel ports for things like scanners?

I hate that most printers don’t come with the USB (B?) cable that seemingly only printers need now, but I’m glad that it’s standard and that everything supports <strikethrough>USB-A</strikethrough> I mean USB-C (except my PC) now. Such a utopia.

[–] [email protected] 1 points 1 month ago

I find that stove top popcorn is even less convenient (so less tempting to eat all the time), but much cheaper, and maybe tastier in some ways.

Get a ~500 g (1 lb or so?) bag of whole kernels for $3-ish, some oil that you use for cooking other stuff anyway, and salt. Heat the oil on the stove with a few kernels, then when those pop, briefly remove from heat and add more. Make sure the pot has a lid. Keep shaking it side to side to keep the popcorn from burning.

I find it adds just enough oil to taste good, but not so much that I’m eating something super awful for me. (And it’s much tastier than air popped). And I assume you could still add melted butter if you want an extra treat.

I want to get one of those movie theatre style things where the popcorn can fly out of the pot.

[–] [email protected] 6 points 1 month ago (2 children)

My problem may be related: how do you find people to follow? I wish I could just follow communities like on Lemmy. I’ve tried following hastags I’m interested in, but it seems like they aren’t always used.

I’ve instead searched for topics that I’m interested in, followed a bunch of people, then unfollowed the ones that post too much stuff I’m not interested in. But this seems like a pain.

I also don’t necessarily want to see everything that a single person posts.

[–] [email protected] 2 points 1 month ago (1 children)

Grazie mille! Ecco il mio primo tentativo di supporto per le traduzioni. Ho suddiviso le traduzioni italiane generate dalla macchina in un commit separato. Per ora ho tradotto solo l'applicazione web e le stringhe nel gioco Solitaire. Sentiti libero di aggiungere qualsiasi miglioramento, su github o qui o via email/matrix/qualunque cosa ti faccia comodo:

https://github.com/alexbarry/AlexGames/pull/15/commits/9e8d244998e79831ac1d3d0bcac1b9d19474f8f2

Le stringhe comuni dell'app web sono in data/strings/it.yaml, questo potrebbe non essere molto importante e ce ne sono molte di più di quanto pensassi. Le stringhe solitaire in src/lua_scripts/games/solitaire/solitaire_strings.lua sono più gestibili e potrebbero probabilmente trarre maggior beneficio dalla revisione umana (perché mancano di contesto perché sono stringhe più corte come "draw type" ("one", "three")).

Potrebbe essere più semplice dare un'occhiata veloce all'applicazione funzionante con le nuove stringhe, l'ho ospitata qui: https://alexbarry.net/dev/games/i18n/it.html

Probabilmente sarò impegnato per la prossima settimana o forse due, quindi non sentirti obbligato a guardarli tanto presto. Potrei anche unirli al ramo principale, ma non mostrarli automaticamente agli utenti a meno che non accettino, o almeno con un disclaimer che li traduca automaticamente.

Inglese (Originale)Thanks so much! Here is my first attempt at support for translations. I split the machine generated Italian translations into a separate commit. I only translated the web application and the strings in the Solitaire game for now. Feel free to add any improvements, on github or here or email/matrix/whatever is convenient:

https://github.com/alexbarry/AlexGames/pull/15/commits/9e8d244998e79831ac1d3d0bcac1b9d19474f8f2

The web app's common strings are in data/strings/it.yaml, this may not be very important, and there are way more of tham than I realized. The solitaire strings in src/lua_scripts/games/solitaire/solitaire_strings.lua are more manageable, and could probably benefit more from human review (because they lack context due to being shorter strings like "draw type" ("one", "three")).

It might be easier to just skim the working application with the new strings, I hosted it here: https://alexbarry.net/dev/games/i18n/it.html

I am likely busy over the next week or maybe two, so don't feel obligated to look at these any time soon. I could even merge these into the main branch, but just not automatically show them to users unless they opt-in, or at least with a disclaimer that they are machine translated.

[–] [email protected] 2 points 1 month ago

Vorrei anche aggiungere a questa frase:

I giochi presenti sono diversi e, come detto, è possibile su alcuni è anche giocarci con altre persone all’interno della stessa rete.

Ciò è vero per la versione Android, in cui stai ospitando una versione websocket sul tuo telefono. (Questa era per lo più una bella funzionalità demo, ma è raramente utile).

Ma nella versione web, si connette a un server websocket su Internet pubblico. Chiunque abbia accesso a Internet dovrebbe essere in grado di accedervi. Quindi se apri semplicemente l'URL del sito normale, scegli un gioco, dovrebbe generare un ID casuale nel parametro URL. Quindi puoi semplicemente copiare e incollare l'URL per condividerlo con un amico e dovresti essere in grado di giocare insieme. Non devi essere sulla stessa rete. (Mi rendo conto che non è intuitivo e dovrei migliorare l'interfaccia utente, almeno mostrando l'ID multigiocatore).

E se non vuoi affidarti al mio server websocket (o anche all'HTML statico sulle pagine GitHub), sei libero di ospitarlo tu stesso, ho fornito un'immagine docker, vedi https://github.com/alexbarry/AlexGames per maggiori informazioni. (Mi dispiace che sia solo in inglese, spero che i file Docker siano abbastanza chiari)

Parte del motivo per cui ho lavorato a questo era per non dover dipendere indefinitamente da un software di hosting di terze parti e non introdurre modifiche che non mi piacciono, quindi ovviamente altri sono benvenuti alla stessa libertà :)

Inglese (Originale)

I would also like to add to this sentence:

The games present are different and, as mentioned, it is possible on some of them to play with other people within the same network.

That is true for the Android version, where you are hosting a websocket version on your phone. (This was mostly a cool demo feature, but it is rarely useful).

But on the web version, it connects to a websocket server on the public internet. Anyone with internet access should be able to access it. So if you just open the normal site URL, pick a game, it should generate a random ID in the URL parameter. Then you can just copy and paste the URL to share with a friend, and you should be able to play together. You don't need to be on the same network. (I realize this is not intuitive and I should improve the UI, at least showing the multiplayer ID).

And if you do not want to rely on my websocket server (or even the static HTML on GitHub pages), you are free to host it yourself, I provided a docker image, see https://github.com/alexbarry/AlexGames for more information. (Sorry that it's in English only, hopefully the Docker files are clear enough)

Part of the reason I worked on this was to not have to rely on some third party hosting software indefinitely and not introducing changes that I don't like, so of course others are welcome to the same freedom :)

[–] [email protected] 2 points 1 month ago* (last edited 1 month ago) (4 children)

(Non parlo molto italiano, quindi sto usando Google Translate. Versione inglese qui sotto se la traduzione non ha senso)

Ciao, sono lo sviluppatore di questi giochi. Per favore, fatemi sapere se ci sono miglioramenti o nuovi giochi su cui vorreste che lavorassi! Ho provato a creare molti giochi come esempio e ad aggiungere una versione Android, ma non ero sicuro di quali giochi o piattaforme sarebbero stati più interessanti per le persone. Alcuni dei giochi sono incompiuti e potrebbero tutti usare una grafica migliore.

Inoltre, sarei felice di aggiungere traduzioni in italiano e in altre lingue, se fosse gradito! Almeno per i giochi più popolari, potrei aggiungere un'API per ottenere l'impostazione della lingua del browser e mostrare le stringhe appropriate.

Grazie anche all'autore per aver pubblicato questo! Non so davvero come condividere i miei progetti software, molti posti su Internet non accolgono con favore l'autopromozione.

Inglese (Originale)

Hi, I am the developer of these games. Please let me know if there are any improvements or new games that you would like me to work on! I tried making many games as an example, and adding an Android version, but I wasn't sure what games or platforms would be most interesting to people. Some of the games are unfinished, and they could all use better graphics.

Also, I'd be happy to add Italian and other translations if that would be appreciated! At least for whatever games are most popular, I could add an API to get the browser language setting and show the appropriate strings.

And thanks to the author for publishing this! I don't really know how to share my software projects, many places on the internet are not welcoming of self promotion.

 

The Bank of Canada has lowered its key interest rate to 4.75 per cent, marking the bank's first rate cut since March 2020.

[–] [email protected] 1 points 5 months ago (1 children)

Cool, thanks! This is what I was looking for. I've briefly tried playing with Nextcloud before, but this seems like another good option.

[–] [email protected] 1 points 5 months ago

This is what I do for my own notes now, but could it work for students writing essays and that sort of thing? I suppose there must be some markdown to HTML/PDF/etc converters (also probably ODT or DOCX or whatever).

 

cross-posted from: https://lemmy.ca/post/18821047

AlexGames: simple Lua games in a browser with multiplayer support, self hosting friendly.

TL;DR: try my Lua web games here, see github for self-hosting instructions: https://alexbarry.github.io/AlexGames

Hi all, here's a hobby project I've been working on: I wrote a bunch of simple Lua games, compiled the Lua interpreter to web assembly, and defined a simple API to draw on a canvas and handle input. It all builds to static HTML/JS/WASM, except a few hundred lines of python for a websocket server for multiplayer. I recently added some dockerfiles so I think it should be easy to self host.

Here is the web version on github pages: https://alexbarry.github.io/AlexGames/ , and the source on github (self-hosting instructions in the README).

I'll list some of the games:

  • local/network multiplayer: chess, go, checkers, backgammon, gomoku
  • single player or network multiplayer: minesweeper
  • single player only: solitaire, "word mastermind"[1], "endless runner", "fluid mix", "spider swing", "thrust"

[1]: it may not technically be multiplayer, but my partner and I enjoy picking our own hidden word and sharing the puzzle state as a URL or just passing a phone to each other.

Part of my motivation is to avoid ads on mobile games, and to be able to play different multiplayer web games with friends without having to get them to make an account and all that (just share the generated URL, it contains a multiplayer session ID). I also like the idea of having my own private web games server, and not having to be reliant on some service that might eventually get enshittified.

I figure that if I can throw together a similar game in a few hundred lines of Lua, then no one should have to deal with full screen ads or pay ~$10 to play them. Especially since most mobile games that I like are simple and I only play them for a few minutes at a time, maybe only a few times per week.

Self hosting isn't necessary to try it out, but without SSL it should just be a simple one-line command to host the HTTP and websocket server with docker compose. For SSL support it is a few more steps, I added steps to the README: one command to build the static HTML (so you can copy it to your web hosting server, which should already take care of SSL), and another to host the websocket server, which can have your SSL certs passed as parameters. But you don't strictly need the websocket server, it should just fail to connect after a few seconds and then you can play the games without network multiplayer. You can even use my websocket server and your own static HTML, just add &ws_server=wss://alexbarry.net:55433 as a URL parameter to your own URL. I haven't self hosted much on my public server, so I'd love to hear feedback on how to better handle SSL certs. Ideally you could just choose to not use SSL for your websocket server, but firefox at least prevents you from connecting to a websocket server without SSL if you're using SSL to visit the page itself on the same server. (On a local network without SSL it's fine, though)

Some features that I'm proud of:

  • the network multiplayer works pretty well, I'm pleased with websockets (previously I was hoping to get WebRTC working but I didn't have much luck). On the wxWidgets and Android prototypes I had a normal socket server working too, but I've focused on the web version since it's good enough
  • an English dictionary for word puzzle games. (aside: loading ~220k English words as javascript strings and a javascript array took like 12 MB of browser memory or more, but I got it down to ~6 MB by moving the dictionary to C managed memory)
  • state sharing via URL: for most games I serialize the state and then you can export it as a base 64 string in a URL. This is useful to keep playing on a different device, send a puzzle that you liked to a friend, or for "word mastermind", to choose your own word and get your friend to guess it.
  • built in autosave, undo/redo, and browsing previous saved states. I used the same code to render state previews that I wrote to render the games for normal play, so all a game has to do is implement state serialization, implement a few APIs to get that state, and call "save_state" whenever the player makes a useful move. Then games can simply call a few lines to add an "undo" and "redo" button, and those can call a one line function to fetch the previous or next state. (I'd like to add a full history tree at some point, but for now if you undo many times and make a new move, you lose the moves that you un-did ("undo-ed"?))
  • playing arbitrary games as zips of Lua files. While the self hosting community might not need this much (since they can just add their own games to the source and rebuild), I figured many people might be interested in writing a game without having to build and host my project. So I added support for unzipping bundles of Lua source files and storing them in the built in emscripten filesystem in the browser. I added an example game and an API reference, see the "Options" menu and the "Upload Game Bundle" section.

Let me know what you think! I'd love to hear feedback, or get new game contributions or bug fixes / features.

 

TL;DR: try my Lua web games here, see github for self-hosting instructions: https://alexbarry.github.io/AlexGames

Hi all, here's a hobby project I've been working on: I wrote a bunch of simple Lua games, compiled the Lua interpreter to web assembly, and defined a simple API to draw on a canvas and handle input. It all builds to static HTML/JS/WASM, except a few hundred lines of python for a websocket server for multiplayer. I recently added some dockerfiles so I think it should be easy to self host.

Here is the web version on github pages: https://alexbarry.github.io/AlexGames/ , and the source on github (self-hosting instructions in the README).

I'll list some of the games:

  • local/network multiplayer: chess, go, checkers, backgammon, gomoku
  • single player or network multiplayer: minesweeper
  • single player only: solitaire, "word mastermind"[1], "endless runner", "fluid mix", "spider swing", "thrust"

[1]: it may not technically be multiplayer, but my partner and I enjoy picking our own hidden word and sharing the puzzle state as a URL or just passing a phone to each other.

Part of my motivation is to avoid ads on mobile games, and to be able to play different multiplayer web games with friends without having to get them to make an account and all that (just share the generated URL, it contains a multiplayer session ID). I also like the idea of having my own private web games server, and not having to be reliant on some service that might eventually get enshittified.

I figure that if I can throw together a similar game in a few hundred lines of Lua, then no one should have to deal with full screen ads or pay ~$10 to play them. Especially since most mobile games that I like are simple and I only play them for a few minutes at a time, maybe only a few times per week.

Self hosting isn't necessary to try it out, but without SSL it should just be a simple one-line command to host the HTTP and websocket server with docker compose. For SSL support it is a few more steps, I added steps to the README: one command to build the static HTML (so you can copy it to your web hosting server, which should already take care of SSL), and another to host the websocket server, which can have your SSL certs passed as parameters. But you don't strictly need the websocket server, it should just fail to connect after a few seconds and then you can play the games without network multiplayer. You can even use my websocket server and your own static HTML, just add &ws_server=wss://alexbarry.net:55433 as a URL parameter to your own URL. I haven't self hosted much on my public server, so I'd love to hear feedback on how to better handle SSL certs. Ideally you could just choose to not use SSL for your websocket server, but firefox at least prevents you from connecting to a websocket server without SSL if you're using SSL to visit the page itself on the same server. (On a local network without SSL it's fine, though)

Some features that I'm proud of:

  • the network multiplayer works pretty well, I'm pleased with websockets (previously I was hoping to get WebRTC working but I didn't have much luck). On the wxWidgets and Android prototypes I had a normal socket server working too, but I've focused on the web version since it's good enough
  • an English dictionary for word puzzle games. (aside: loading ~220k English words as javascript strings and a javascript array took like 12 MB of browser memory or more, but I got it down to ~6 MB by moving the dictionary to C managed memory)
  • state sharing via URL: for most games I serialize the state and then you can export it as a base 64 string in a URL. This is useful to keep playing on a different device, send a puzzle that you liked to a friend, or for "word mastermind", to choose your own word and get your friend to guess it.
  • built in autosave, undo/redo, and browsing previous saved states. I used the same code to render state previews that I wrote to render the games for normal play, so all a game has to do is implement state serialization, implement a few APIs to get that state, and call "save_state" whenever the player makes a useful move. Then games can simply call a few lines to add an "undo" and "redo" button, and those can call a one line function to fetch the previous or next state. (I'd like to add a full history tree at some point, but for now if you undo many times and make a new move, you lose the moves that you un-did ("undo-ed"?))
  • playing arbitrary games as zips of Lua files. While the self hosting community might not need this much (since they can just add their own games to the source and rebuild), I figured many people might be interested in writing a game without having to build and host my project. So I added support for unzipping bundles of Lua source files and storing them in the built in emscripten filesystem in the browser. I added an example game and an API reference, see the "Options" menu and the "Upload Game Bundle" section.

Let me know what you think! I'd love to hear feedback, or get new game contributions or bug fixes / features.

 

Wikipedia page: https://en.wikipedia.org/wiki/Tyrian_%28video_game%29

TL;DR: fun back in the late 90's, there's a decent mobile port available on Android. I'd love to hear more recommendations for classic games available on mobile.

I played the shareware version of this when I was young a lot. I loved the starting weapon (pulse cannon?), and then loved the laser and a few others... but hated a ton of them (multi cannon? vulcan canon? Those bomb things with trailing clouds? They all seemed so weak and hard to use effectively, even at the highest levels. It almost felt like they only existed to be avoided in arcade mode, where you changed weapons by touching things that appeared after killing enemies or destroying things).

You could also upgrade your shields, generator, ship, side weapons... I remember different side weapons had wildly different strengths. Some were short burst and a ton of damage (plasma storm! My favourite), others would fire continuously and do a little bit of damage.

I liked the arcade mode too, and I vaguely remember trying the two player mode with friends who had a joystick (one on the keyboard, the other on a joystick), or awkwardly trying to share the keyboard (probably one with WASD, the other with arrow keys, but I can't remember). We might have tried the mouse, but I feel like the keyboard was more effective.

There was even some tanks/aircraft mini game, like Worms Armageddon? I think you had to unlock it, possibly with cheat codes. And as I was writing this I remembered some other special ship (or game type, I forget) where you had to perform gestures to do special attacks? Like tapping move in a direction and pressing shoot would also shoot a bolt of lightning, in addition to your normal weapon? And there were other key combinations to do more powerful attacks.

A few years ago I played through a lot of it (even the non shareware episodes! Childhood goal unlocked) on my Android phone: https://play.google.com/store/apps/details?id=com.googlecode.opentyrian ... I'd share an F-droid link but I'm surprised not to find one. I thought it was all open source now.

I found a bit of other discussion on it in a thread about dos games: https://lemmy.world/comment/248050 (side note: what is the best way to share a comment in a way that works well no matter what your home server is?)

I didn't grow up playing it, but I had heard good things about the "Ur-Quan Masters", a remake of Star Control II (wikipedia link). I still have the app downloaded to my Android phone, but it seems like it was taken down, the link doesn't work unless you're logged in to a google account that already has it downloaded: https://play.google.com/store/apps/details?id=com.sourceforge.sc2 . I found a github link and some other sites that reupload APKs, but I can't vouch for any of them.

Anyway, does anyone else have any recommendations for fun classic games with a decent mobile port? I love to stock up on games like this before a long flight. I'm also interested in iPhone recommendations, I haven't found as many in the Apple app store.

view more: next ›