Interests: programming, video games, anime, music composition

I used to be on kbin as e0qdk@kbin.social before it broke down.

  • 0 Posts
  • 22 Comments
Joined 1 year ago
cake
Cake day: November 27th, 2023

help-circle

  • I’ve worked for a university before and it was very common for staff to remote into their systems from home – usually with SSH for CS types or Remote Desktop/Team Viewer/etc. for less computer-focused folks. (The former usually didn’t have much issue – the folks using the latter mechanisms got compromised a number of times… -.-) There was also a campus provided VPN that was required to access certain systems with instructions to students and staff on how to use it, but other systems just got public IP addresses.

    If what you’re doing is related to your work and campus IT doesn’t object, you’re probably fine to do it. I’ve run various kinds of websites and web apps for colleagues to collaborate on research projects. Being able to do things like that is kind of the point of the internet.

    Having seen a number of students, uh, push the limits and find the boundaries of acceptability the hard way though… I’d strongly advise you not to install cryptominers, run TOR exit nodes, or torrent TV shows/movies/etc. That kind of thing tends to get your systems in hot water with IT or other parts of the bureaucracy…



  • I’ve tried setting up projects that used hard links like that and there are some pros and cons to this. On the plus side, you can delete from one location and the file is still available in the other without having to manage a separate repository structure. On the down side, most software cannot copy the structure correctly to a different file system (even one that supports hard links), which can make backups and migrations annoying to deal with – generally you end up with multiple actual copies, ballooning disk space usage and sometimes causing weird issues if the two files linking to the same data (rather than just having copies of the same data) actually matters…

    I’d recommend sticking with the “primary repository of real files” and “multiple views filled with symlinks” structure over hardlinks unless you’re really sure you know what you’re getting yourself into.





  • Two quick ideas on possible approaches:

    1. Static page route. You can just write some Javascript to load the image from a file input in HTML, draw it resized to a canvas (based on an input slider or other input element), then save the canvas to an image. (There might even be simpler approaches if I wasn’t stupidly tired right now…) This can be done in a single file (HTML with embedded JS – and CSS if you want to style it a little) that you toss on any web server anywhere (e.g. Apache, nginx, whatever). Should work for JPEG, PNG, and probably WebP – maybe other regular image types too. Benefit: data never needs to leave your device.

    2. Process on server route. Use Python with a simple web server library (I usually opt for tornado for stuff like this, but flask or cherrypy or similar would probably work). Set up a handler for e.g. an HTTP POST and either pass the image into a library like Pillow to resize it or shell out to ImageMagick as others have suggested. (If you want to do something clever with animated GIFs you could shell out to ffmpeg, but that’d be a fair bit trickier…) The image can be sent back as the response. Be careful about security if you take this route. Probably want some kind of login in front of it, and run it in a VM or some other secure environment – especially if you’re using AI to kludge it together…

    Best of luck and let me know if you need any help. Will probably have some time this weekend if you can’t get it on your own. Happy hacking!


  • I would be happy with a FOSS desktop app I can install in linux too

    On the command line, you can do this with ImageMagick (e.g. use the command convert once it’s installed).

    With a (desktop) GUI, there’s a bunch of programs. GIMP is probably the most well known and has a ton of capabilities but is a bit complex. I use Kolourpaint as a quick-and-dirty “MS Paint”-like program for very simple tasks where I want a GUI.

    If you want a simple web UI I’m sure there is one already, but I don’t know one specifically. It wouldn’t be too complicated to hack something up if all you need is a quick-and-dirty file input and percentage rescale or something like that. If you don’t get a better suggestion and don’t know how to make something like that yourself, let me know and I can write an example.


  • People have already covered most of the tools I typically use, but one I haven’t seen listed yet that is sometimes convenient is python3 -m http.server which runs a small web server that shares whatever is in the directory you launched it from. I’ve used that to download files onto my phone before when I didn’t have the right USB cables/adapters handy as well as for getting data out of VMs when I didn’t want to bother setting up something more complex.






  • Games need to figure out what color to show for each pixel on the screen. Imagine shooting lines out from your screen into the game world and seeing what objects they run into. Take whatever color that object is supposed to be and put it on the screen. That’s the basic idea.

    To make it look better, you can repeat the process each time one of the lines hits an object. Basically, when a line hits an object, make more lines – maybe a hundred or a thousand or whatever the programmer picks – and then see what those lines run into as they shoot out from the point in all directions. Mix the colors of the objects they run into and now that becomes the color you put on screen.

    You can repeat that process again and again with more and more bounces. As you add more and more bounces it gets slower though – since there are so many lines to keep track of!

    When you’ve done as many bounces as you want to do then you can shoot out lines one last time to all the lights in the game. If there is an object in the way blocking a light, the color for the object you’re trying to figure out will be darker since it’s in a shadow!

    It’s an old and simple idea to figure out what color something is like that by bouncing off objects repeatedly… but it’s hard to do quickly. So, most games until very recently did not work that way. They used other clever tricks instead that were much faster, but made it hard to draw reflections and shadows. Games with those other techniques usually did not look as good – but you could actually play them on old computers.