Disciple of Christ and software engineer, concurrency wizard subclass.

Things I like: programming (probably in Rust), computer hardware, music, guitars, synthesizers, video games

  • 0 Posts
  • 28 Comments
Joined 2 years ago
cake
Cake day: June 14th, 2023

help-circle



  • Also worth noting that the fact that Linux gaming works at all on many “Windows-exclusive” titles is an absolute magnificent feat of engineering. For the longest time we’ve been working to get games working on Linux despite both game developers and engine makers historically expressing anything between disinterest and antagonism towards supporting games on Linux.

    But I also get that the final product is still not all that smooth from a user’s perspective. Just be sure to put the blame on where it belongs (definitely not Linux, or Wine who has been bending over backwards for over a decade to swim against the flow).


  • This is my least favorite part of Seafile. If there were a competitive alternative that used a flat file storage backend then I’d switch to that in a heartbeat. But alas, I still have not found one, so I will continue into my 6th year of using Seafile…

    Worth noting in 6 years I haven’t had any actual trouble with Seafile’s storage, and the few times I’ve needed to I’ve been able to export data to a normal file system using seaf-fsck even if Seafile isn’t running. I’m just not 100% comfortable with it anyway so I understand the apprehension. I’d rather use a standard filesystem and be able to use standard tooling on it.




  • I bounced around a bunch of different apps after leaving Evernote myself some 6-7 years ago. Evernote was cool, but started getting worse. I can only imagine how bad it is now. I also learned that migrating away from Evernote’s walled garden is a bit difficult.

    I don’t have any recommendations for ones with a web editor. I specifically wanted a local app for my notes, which Evernote seemed less interested in and more interested in pushing their web app. After Evernote I’ve been using a folder of plain-old Markdown files, synced to my home server, and using various editors for those Markdown files. Things I’ve tried include VSCode, Typora, and QOwnNotes.

    Today I use Obsidian and haven’t hopped around for the last 2 years. I love Obsidian and have basically no complaints about it. Again no web editing, but if you just want local files (that can sync across devices) then Obsidian is excellent.





  • I still like individual forums and use them on occasion. For me, the reason why Reddit was better is because of the UI. The default phpBB skin is awful for following a dialog in my opinion; Reddit’s much more compact threads free of annoying signature blocks and giant user profile panels is much nicer. Personally I’d be perfectly happy to go back to the days of individual forum accounts if the forums had nice UIs like Reddit or Lemmy. Even Flarum is an example of a traditional forum software with a decent UI. The big missing thing though is threaded conversation which I much prefer over a flat forum, something that Lemmy offers.









  • I’d call myself a backend developer. Primarily we build data stores and APIs that encapsulate low-level business logic for cloud applications. Some backend teams mostly make CRUD APIs, but my team tends to work at a lower level, such as file objects, transformations, CDNs, bulk operations, etc.

    Things we have to deal with include:

    • If holding 100 billion objects is expected, we need to figure out the most important access patterns for that data and how to incorporate it into an API that will scale horizontally and have reasonable and stable performance. This can be tricky, as the best solution is sometimes more complex than using a simple SQL database. Sometimes specialized database types, or multiple databases holding different aspects of the data are required. This is very close to the sorts of things a DBA might do.
    • If files can be included or attached, we need to design a redundant file system solution for holding those files. Sometimes its as simple as plugging into a cloud object storage like S3, sometimes the requirements dictate something different. Basically figuring out what off-the-shelf cloud solutions we can use and how to use them, or when to build something custom.
    • Batch job processing is a big thing. Our biggest project required us to create our own scheduling system based on containers and clusters and autoscaling nodes based on load in order to handle a million tasks per day. This is an example where you may do things similar to what an SRE team might do, managing infrastructure with your code.
    • Lots of API design stuff. Higher-level backend developers and frontend developers don’t want to know or care about the complex stuff under the hood, they just want us to provide a simple API that just does what they want. Sometimes it can be tricky to design an intuitive API that abstracts over some of the hairy details.
    • Cost is a big deal too and sometimes you have to be good at estimating costs and figures. When the operating budget is strained and 80% of it is backend (because well duh, it does most of the work) then management will be looking at you to either optimize costs to run the software, or to prove that the operating costs are reasonable for the expected results.

    So sometimes wearing multiple hats. Personally I enjoy what I do a lot because it always presents a challenge. I love solving complex problems, and almost monthly I get to play around with large-scale software problems where the naive approach will almost certainly perform like crap and needs a more clever design.

    We’re a cloud-first company though so primarily in the context of that.