20
votes
What programming/technical projects have you been working on?
This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?
What languages do you use?
Interesting, what brings you to use COBOL on a frequent basis?
I probably mentioned this last time but I have paused on my library catalog that I was building using the python framework Flask and vanilla css & html since all the features I wanted to implement worked and I didn't want to break it by messing with it as I tend to do.
I've moved onto building a portfolio website in React and at first I hated it but now I LOVE it. I've never had a website this cool. I put together every bit of it too. The blog backend, the markdown rendering, the cool little animated about cards. I even added an activity section full of the dumb little games I made when I first started learning a programming language. I've even included some utilities like a color palette picker, diceware password generator, a rudimentary RAID calculator, and an API fetched cocktail recipe menu.
I'm pretty new to programming, I'm more on the sysadmin side of things so this all started as a way to understand the CI/CD pipeline, test out UX/UI skills, learn new skills, and create a portfolio that hopefully might finally get me a real job.
I'd love some human eyes on it, if anyone wants to check it out and look at some cool photography, play some dumb mini games, or read a couple of mediocre blog posts, you can find it here. Constructive criticism not required but welcomed!
To me this looks so good, all I want to do now is rebuild my library catalog in React. Though I'm exhausted just thinking about it.
Great site! Very well done, especially for being an "amateur"
Wow, that's quite a collection of various areas of interest on your site, and it looks great! (Can at least vouch for that on mobile.)
At the beginning of the year I decided to start tracking my alcohol intake in the hopes of decreasing it. I began tracking it with a printout calendar and I was coloring in each day with a different color corresponding to the # of drinks. Green = 0, Yellow = 1-3, Orange = 4-5, Red = 6+. This was going well until the 11th when my kids needed crayons and I gave them the crayons I'd set aside for this project. And I haven't consistently kept the calendar up to date since. And to be fair, the crayons were theirs. Also, my calendar is a bit more red than I'd prefer, but there are plenty of green days and I did, because of the calendar, opt to drink less on a few nights that I did drink. So that's progress!
Meanwhile, at
the Hall of Justicework, I've been struggling a bit with our stack, which is React, Typescript, and ChakraUI. Nothing too insane, but I felt I needed some extra curricular work to help me learn some of the advanced concepts faster. Plus it is nice to write code without it being code reviewed. So I decided to build a web app version of the calendar printout idea. I started super late last night, so only got about as far as display the entire year as a calendar, but I'm hope to add some functionality to it tonight. It also occurred to me that while I love to drink and play video games, I absolutely cannot drink and write code at the same time. So in a way, this project's mere existence serves as a short-term alcohol deterrent.It's a very simple project that shouldn't take very long, so my hope is that I might actually finish a side project for a change! Will share demo links once there's something worth demoing.
Use a digital calendar, that way you don't need crayons and you can also export/generate statistics over longer periods to track what's happening month to month and so on!
I realize this is a bit antithetical to you building your software project, but if you end up not finding it working for you then try to just buy some of your own crayons specifically dedicated to this. I don't know what will work for you, but sometimes we under rate the effectiveness of a physical object.
I know that if I was in your shoes a calendar that I kept on display next to the booze would be far more effective than something digital, at least for me. The item in my face would take effort to ignore, but opening the digital platform would take effort to remember.
Thank you for your effort. Your family will thank you when you grow old with them :-)
Personal context for this comment, content warning: premature death
As someone who is maybe a half-step below your generation, and whose girlfriend’s dad just passed away in his fifties due to alcohol abuse, try to remember that every drink is a life-shortener.Sorry if this is completely unwanted advice; you’re probably well aware, but ever since this last autumn I can’t continue watching people destroy their life due to addiction.
It will be a ton of hard work, but it’s doable. You don’t even have to stop completely. Any reduction, or for you, the changing traffic light color is a step more towards the direction of “go” for your life!
Not programming, but technical. Just last night I set up a full *arr stack with docker compose.
I am temporarily living in France. My parents and I share subscriptions for a number of streaming services. Since I am in school and therefore unemployed, my family is currently paying for the ones I contribute, but I have paid for them in the past. I would contribute Apple TV plus and HBO Max, and they would contribute Netflix, Starz, and Disney Plus. Most of these services are somewhat okay with me using them from France. Netflix requires me to ping them from a VPN back to my parent's house (using Tailscale exit nodes), but then works without a VPN. Disney plus works without a single issue, but vends the European masters of movies. That is actually an improvement for me so I can get French audio and subtitles to help my learning. I haven't been watching anything from the other series until last night.
I wanted to watch one of the older episodes of Tennant Doctor Who. These are on HBO. The subscription transferred just fine, but it would only let me watch things they vend to Europe, which apparently does not include Doctor Who. I know this is probably due to the BBC's weird licensing, but I have had enough. I am a legitimate consumer who has paid full price for basically every movie I have watched since I entered the workforce. The only exceptions were Pirates of Silicon Valley which isn't available for sale (downloaded from Internet Archive) and a European copy of Ratatouille, since it is impossible to buy a copy that has French language in the US.
Not being able to watch a Doctor Who episode that I subscribe to last night was just the last straw. I like to have a variety of shows and movies downloaded on my iPad for flights and train travel. Most services support downloading with an encryption key rotation every 30 days. This works well for YouTube and Apple TV, but not for anything else. Those two services can somehow make sure my downloads are always valid even if I don't use those services for a while. Everything else will time out the downloads. So before a trip I have to go into a bunch of different apps and refresh a bunch of downloads manually. I always end up forgetting a service and wanting to watch one of their shows. I am done with getting a worse product because I pay for it. I am still planning on paying for things, just not when the service delivery is bad.
Thank you HBO and BBC. With my ADHD, I would always get about 2/3 done with the *arr stack in the past and then quit. You gave me the motivation to get through the entire setup. Now I have a full movies, TV shows, and subtitles setup to download all the shows I should already have access to.
Did a bit of work on my DIY digital audio player project in the past week. Short summary of the project is I am trying to create a Hi-Fi portable MP3 player based around a Raspberry Pi 3a+. I played around a bit with my Raspberry Pi to start figuring out software a bit better. In using Raspberry OS on my desktop monitor, I realized I may want to go with a lighter weight OS. So, I am currently deciding between AlpineOS w/ lxqt, Android Go, and maybe postmarketOS. To help narrow down which one I want to use, I think the next step is to get a touch screen and try those out. So, my next step is to source an eInk touchscreen. I haven't had a chance to look for some yet, but hoping to do that this weekend. If you have ideas on where would be a good place to buy a small eInk touchscreen, let me know.
If you’re going to work with e-ink on any level, I’ll leave a link to the tremendous resource that is the Glider repo:
Other than that, it seems Waveshare are still around? Don’t know anything about these panels’ quality/price/performance (refresh duration)/longevity etc. nowadays, though.
That glider repo is beneficial. I skimmed it and it seems like not only is it a solid resource, but it also points towards other resources which is quite good. I will definitely dive more into depth on this.
Waveshare does seem to be a good option, except they do not have much for touch screen e-ink. The largest they had was 2.9 inches, which is not big enough for me. Reflecting on it a bit more (and comparing screen size with my current old smartphone), I think about 5" is the rough screen size I would want.
My game engine project is going along... well, perhaps not well, but as well as can be expected. At one point I was wondering if I should have just taken another open source engine apart and repurposed it for my needs but then it probably would have been more difficult to deal with than my current approach, which is to make it from scratch. But I've had to refactor my code so many times to get things to make sense.
I can't help but wonder how much of my difficulties is me learning to deal with this stuff outside of my normal domain or if programming video games is just this much chaos normally.
What type of engine are you building? Graphics? physics? Everything? Seems like a big commitment.
I assume the end goal is to create a game with your engine? What kind of game are you hoping you create?
I think I've seen you mention this project a few times, but I haven't really kept up. Are you building an engine completely from scratch or building on a library like LOVE or Raylib?
Also
It's both. The answer is both
Gamedev has a proud tradition of hacking solutions and illusions together from systems that really have no business interacting. So it's one-third historical chaos, another third tech-stack-induced chaos (other peoples chaos filtering into their technical decisions), and final third is your own inner chaos.
You can tame the last one, conquer the second, but the first is here to stay baby
I think I’ve only mentioned it once before. I’m building it on top of löve which reduces the complexity by quite a bit, but it’s also my first real Lua project. I’ve only got the most fundamental mechanic implemented so far - tile-aligned movement - and I’ve already made a few milestones like finding a bug in the framework I’m using and just being OK with mildly buggy behavior. The biggest challenge I have been dealing with has been thinking how to turn loops into animation. I don’t know how I’m going to figure out how to change the way control will work in different contexts yet, and I am confident I will refactor the entire codebase at least 200 times. Right now I have half a dozen idealistic files of largely abandoned code because everything relevant is in main.lua.
@jmpavlec I am making a tactical RPG in the style of Shining Force. Right now if I had to deal with physics I might go into a coma.
I love Shining Force! Keep me updated on the progress please 🙂.
3D printing! So much 3D printing- most of it with somewhat sub-par results. I'm really struggling to consistently get parts out of the Elegoo Neptune 4 Plus I've had for a few months now (I don't think I'll ever buy a bedslinger again..). Even having replaced the bed springs with silicone spacers, which seems to have fixed the bed in place better. Bed irregularities, Y-axis slip, and the capacitive end-stop on the Z axis seems to result in an amount of ephemeral-ity. But I'm getting there slowly.
The main project at the moment is to print IKEA SKADIS compatible arms for the MITTLED range of led strips. I'm trying to hang the lights above the work-desk, but at a reasonable distance from the pegboard so as to avoid casting shadows of whatever else I hang on it. I'm pretty much there, but if I'm honest I was pretty much there a week ago too, and I'm just caught up on my perfectionism.
My very generalized advice for ender style 3D printers is to make sure you're using a good build surface. That alone fixes a lot of the problems you tend to get. On the low end you can get an adhesive-backed PEI sheet to apply to your existing bed, but the better option is to get a magnetic PEI-coated spring steel bed that can be removed easily.
I've also had a lot of problems with inductive probes and regularity, so I'd probably also add a physical probe, something along the line of a BLTouch.
Y axis slip is something that can usually be fixed by just adjusting the tension on the belt, assuming you're using the printer's supplied slicer profile. If not, you may need to dial the speed down a bit. Pretty much every 3D printer will need some adjusting and general finnicking about to get them dialed in. This website has a lot of information you might find helpful.
I've been working on a game for a while now. Would it be in poor taste to share work-in-progress videos of it here? Anyway, today I just wanna talk about an aspect of making it that I didn't take seriously before.
I feel like outside of the game itself, the most interesting thing about/around it in my life is that I've started posting on social media to like... share my progress? Get some eyeballs on it? Maybe some validation to see if it'll resonate with people? I didn't really do microblogging before so it's all new to me. Catching people's attention and getting them to look at your work is pretty challenging.
I'm starting to get used to editing screen recordings for sharing, and I'm not really sure about the quality of my output when it comes to that haha. Programming has become the easy part - everything else that goes into making a game that people might care about (visuals, game design, socials) makes me feel like a total noob (which I am).
In a nutshell, it's a turn-based tactics game with ability customization. Here are some of the WIP videos I've shared in the past few weeks! Linking them here so they're all in one place to give some context:
Most of the assets are pre-made - the character models, the UI and the icons are all from different sources that are either purchased from an asset store or have a CC0 license. The VFX are by me but I followed tutorials for them and then just tweaked them for my needs.
What do y'all think? Is this format okay for these technical projects threads or should I be sharing more of like workflow stuff, technical details...?
The looks pretty good! One of the things I didn’t think about when starting is how much math is involved in making a game, and seeing yours just made me realize how much more I will have to be dealing with, which is a bit daunting but not at all insurmountable - especially given how my design is going to be much more simple than yours.
Actually your game reminds me vaguely of a much more obscure game that I also wanted to remix called Shoot Range, originally released for the Sharp X68000. Abilities aren’t customizable in that game, instead they are split between unique units. I tried to find a let’s play but the only gameplay I could find on YouTube was a 30 second clip.
This one? https://www.youtube.com/watch?v=juCwXMDO9e0. There's this interesting bit there when they click some small hexes for a "Sniper" and a "Hit Count" goes down but I can't figure out what it's for exactly hehe.
The tree tiles along the edges of the map look great.
That's the one. An interesting thing about that game is that units don't have HP, they have engines, so when they get attacked it's like playing battleship. Some weapons will let you select which parts to hit, but all of them have different ways they do damage, so there can be a lot of randomness weather you will take out a unit or not depending on which unit is doing the attacking with which weapon. It also has a visibility system which requires the player to be very careful with placement and orientation of units, lest you get blindsighted.
It's a super interesting game that I also want to do my own take on, but it's orders of magnitude more complex to put together so I will probably never do it.
It does sound very interesting. Maybe there's a way to scope it down to a manageable size without making it bland?
I love the turning into different animals as a player/character ability - looks pretty neat so far.
In my opinion, these threads are really for whatever you want to share. GIFs of the game are great; technical details and workflow stuff would also be welcome (but absolutely not required).
Very nice! UI looks responsive and polished. The transformation mechanic is neat. Are those unlockable or do you find/learn them? Do you have a plot in mind or mostly just working on the game mechanics? Are you building it just in your spare time?
What platforms are you developing for and what engine(s) are you using to develop it? As I said before, happy to give it a go even in an early stage or give feedback over a video call or something. I also have game I have been working I could share.
Thanks!
I'm working on a progression mechanic that I'm not 100% on yet... So I haven't really shared it anywhere. But to answer your question about the transformations, the player will have to invest in a thing that will let them roll for it (the same goes for effects, executions, and elements)... I'm sometimes tempted to just use a simple skill tree but I wanna get the progression mechanic playtested first.
I'm using Unity. I'm focusing on just PC, but making a point of having gamepad/controller support.
I'll make sure to reach out to you once I get to the point where there's a prototype I can share! There's a bit more I want to set up before I can ask for playtests again. I would be happy to check your game out, though, just let me know!
It's actually a series of games (5 at the moment). You can see it in my Tildes' profile but the website is https://gametje.com. I have posted it here a couple times but haven't gotten too much feedback. It's more simple casual multiplayer games in the same vein as Jackbox games. Happy to play with you sometime or give a demo. There's also some AI to try it out with if you can't convince anyone else to join.
What kind of game is it? Happy to give it a look and give you some feedback. I also struggle with the same things as you for the game I have been writing. Difficult to get people interested and to get honest feedback.
I think threads like this are exactly the place to share progress videos etc.
It's a turn-based tactics game with ability customization! I put more details in a reply here so I don't have to paste the same reply to different people: https://tildes.net/~comp/1lct/what_programming_technical_projects_have_you_been_working_on#comment-enjj
Hell nah, post that shit. I'd love to see it
Thanks! I posted more information here: https://tildes.net/~comp/1lct/what_programming_technical_projects_have_you_been_working_on#comment-enjj
Yes, please post. I could use the motivation!
Here you go! https://tildes.net/~comp/1lct/what_programming_technical_projects_have_you_been_working_on#comment-enjj
I noticed you're working on a tactics game as well. Awesome.
Absolutely post about it here! I’m thinking of playing around in Godot just to make something “visual” with code outside of work, since most of my work right but has been infrastructure stuff which I am not enjoying.
I’d love to hear more about what you’re working on!
I made a post with more information about what I've been working on, with some gifs: https://tildes.net/~comp/1lct/what_programming_technical_projects_have_you_been_working_on#comment-enjj
I get you. This is how I was feeling during my first job as a web developer (backend, PHP). I really enjoyed making interactive and responsive media, so I gravitated towards game development.
I actually made it through Chapter 2 of The Book for Rust with my newborn sleeping on me! And I only had to bash my head against the compiler for half an hour talking about mismatched curly braces when it turned out I was actually missing a semicolon. Whoops. Kinda missed that about programming, though. @Minori Thank you again for the rec; it's really well written, structured, and paced. I'm doing the Brown edition for the quizzes, I could probably use more honestly.
Unrelated, I'm also planning on making a Maple4USB device out of a Pi Pico to plug fight sticks into my Dreamcast for native MvC2 and Ikaruga. I've only successfully soldered one thing before, but it was an even tinier Nintendo DS fuse, so hopefully this won't be too hard...
Glad to hear it's working for you! I'll probably pick it up myself within a week or so. If you need more practice exercises, Rustlings are always the first recommendation I've heard.
I'm in the planning stages for my next Minecraft mod. My previous two have been small tweaks to get familiar with parts of the game's code, but now I kinda want to add something to the game. A previous update added pink petals which you can place on the ground as decoration, being able to place up to 4 per block. The next version will bring leaf litter in a similar vein. My plan is to make something like this but for each of the existing flower types. It'll involve trying out some new things, which is the purpose of taking on these projects.
I'm glad I've taken the time to plan this one out instead of just diving right into it. I was originally planning on allowing mixing of multiple flower types to start with, but as part of my planning I've realised this should be a stretch goal (or in a 2.0 release). I don't know how long it'll take me to work on (especially as my evenings/weekends are busy at the moment), so I'll be trying to pace myself out on it instead of rushing and burning out.
I'm trying to optimize the annual cost structure of our google cloud storage system and am playing around with the idea of setting up an archive tier that projects would be moved from our current nearline tier following a month of inactivity. I'm running costs and it looks like if a user were to restore the projects just twice in a year it would effectively be a break even in terms of costs. I'd love to poke around in a system like Drone deploy to understand how they're storing so much data in nearline buckets so cheaply. If anyone has any thoughts on techncial approaches to reducing enterprise storage costs I am all ears.
Though I don't know what industry you're in, one month sounds aggressive. Couple of thoughts:
Thanks for the thoughtful reply! One month is probably aggressive - for some additional information we sell a subscription software to environmental consultants that use it survey project sites. My thinking is, once projects are completed they usually create reports and file everything away within a few weeks, outside of a few seasonal or annual projects. That is why I thought if they stopped using it for a month they likely wouldn't be looking at that project again, or waiting a year to do so. We work with fairly heavy data - like 50GB to 1TB per project - so the saving have the potential to be pretty substantial.
Good point, a year is definitely a safe buffer.
I like the idea of allowing the user to archive the projects. I'll try passing on information regarding the associated costs and prospective reduced costs if they do archive their projects to some of our users and see how incentivized they are to do it.
We're still pretty young, so while we have that data from out 10ish clients, I'm not sure how well they would represent broader trends. It's a great though and I'll definitely be looking at the logs.
Thanks for all the feedback!
Good luck herding
catsclients!I realize this is probably one of those projects (like SSGs or TO-DO apps) that everyone makes, but I like making my own tools which also allow me to learn by doing.
Thus, I made a task runner for my own personal use which lets me fairly quickly "automate" or template-ify both work and personal tasks without touching bash/python.
https://sr.ht/~hxii/boku/
This is cool!
I’ll hopefully get around to trying it out at some point… I can see myself defining some of these in my
~/.config/setup
for e.g. controlled “auto” updates (never upgrade packages unless I manually tell you to).It may seem like a chore, but from what I recall, the Homebrew homepage at least made it sound quite easy to do:
Got really into Portmaster with my formerly returned now rebought Ambernic RG35XXSP. Portmaster lets you play a number of PC games on small ARM board computers by emulating their particular engines, and since I have a lot more PC games through Steam and such then I have ROMs, I’m having way more fun getting these games to run then I’ve ever had playing them, and I’m cutting down my backlog at the same time. I even worked on a port for Dudelings: Arcade Sportsball, and it was amazing getting that going.
this is nothing, but I don't know where else to dump it.
I just got sent a link for some Trump bullshit and the post didn't load on reddit. I couldn't figure it out. It was broken on www but worked with old and sh. I spent a portion of the day thinking reddit was pretty quiet about Trump... until I disabled this in Stylus.
Simple.. but if you're ignoring the chaos, its a good start.