• Activity
  • Votes
  • Comments
  • New
  • All activity
    1. 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...

      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?

      12 votes
    2. 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...

      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?

      19 votes
    3. Self-hosted DnD 5e Charsheets

      I’ve been looking for a good system for my friends and I to share TTRPG character sheets (primarily DnD) with one another. We’re not interested in a full-digital VTT, but the ecosystem is pretty...

      I’ve been looking for a good system for my friends and I to share TTRPG character sheets (primarily DnD) with one another.

      We’re not interested in a full-digital VTT, but the ecosystem is pretty fragmented for charsheet-only apps (many immature and abandoned projects). Self-hosted webapp makes the most sense for our needs, but I’m open to suggestions for some other sync method that’s not PDF-based.

      This seems like a viable candidate:

      https://github.com/Orcpub/orcpub

      …but I’d love to hear better options if anyone’s found em.

      16 votes
    4. Why you should consider a smaller keyboard

      Intro Whenever smaller keyboards come up online, I often see a lot of the same reactions/dismissals. I've found many of these to be foolish, but also that the community around such devices has its...

      Intro

      Whenever smaller keyboards come up online, I often see a lot of the same reactions/dismissals. I've found many of these to be foolish, but also that the community around such devices has its own barriers. It sometimes is represented from its most extreme aspects rather than someone with a more normal approach and use case.

      So here is yet another pitch on why you might want to consider trying out some of the smaller keyboards out there, and the various advantages it can bring. This will probably be quite long, but I hope it at least is interesting.

      Daily Drivers

      My current main use keyboard's are-
      • Corne LP split 40 - I carry this with me and use it for work and as a better keyboard for my GPD Pocket 3.

      • Mercutio 40 - for my lighter media/older/lower spec game machine.

      • Discipline 65 - for my gaming machine as at the time having the number row still seemed needed (and it just looks so nice)

      • Velcifire wireless 60 - As my other media keyboard since it's wireless and can be used from anywhere and causes my normal friends and family to have less of a stroke if they have to use it. A lot of what i'll say below won't apply to this as it doesn't have some keys and can't be custom mapped. (It's also what i'm typing all this on, much to my chagrin.)

      I've gone through and have owned/own several others but i wanted to be clear about what i'm using in case anyone doesn't have a clue what i'm talking about.

      Skills Required

      I think the only real "skill" you must have to consider downsizing your keyboard is the ability to decently touch type without looking. If you're the sort of person who still hunts and pecks, no judgement, but this is not for you.

      If you're someone who has to code, do data/numerical entry, or type a lot for work, then I encourage you to read on. Those are common barriers I hear thrown out, but in my experience are actually easier with a smaller keyboard.

      Why?

      The normal keyboard for most machines has a lot of dead/wasted space that could just be used better, and has some keys that are important or have grown more important in really poor positions.

      Some main offenders

      1. Capslock - How often do you use capslock? How often do you NEED capslock? If I can convince you of one thing to try out right now it's this, remap capslock (check out powertoys on windows) to left control. As it stands capslock is one of the easiest buttons to hit, and yet it if you moved it over next to Scroll lock you'd probably never mind. A large portion of my job is coding SQL and I never use it because that's what modern formatters are for. Please try remapping it(throw capslock on left control or some combo if you want).
      2. Spacebar- Hear me out, as this might vary depending on how you type. Do you use one or both thumbs to hit your spacebar? If you're anything like me, you use one, and in my case it's the left thumb. This means that I've got a massive portion of my keyboard dedicated to one button, even though I'll never touch more than half of it (you'd be surprised how small you can make the space key and still hit it reliably). Now you might think that you don't need that space, but I'll dive into that more later.
      3. The number row- More on this later, but my brief take on this is that humans are actually pretty bad at knowing exactly where the numbers are when they get away from the home row, and as anyone who's ever had to do lots of number entries know, the 10key/numpad is the way to go.
      4. PgUp/PgDwn/Home/End/Delete- These 5 keys (and control and shift) are great for navigating/editing text/code/spreadsheets/webpages quickly, and could not be farther away from where you really need them to actually do that easily.
      5. Arrow keys- A lot of people think it's fine that they're waaaaaay out there away from everything. I will be proposing an alternative given these are also critical to quick navigation.

      How is smaller better then?

      The core idea is simple. You can find the home row easily with the homing keys (j/f generally have a bump or some defining feature). You're probably excellent at hitting the keys in relation to that if they're 1 step away from the home row. The farther you are from that, the more likely you'll need to look, and the longer it'll take you to press the key even if you don't. So where possible, it's ideal to try and use space more efficiently to keep the keys you actually need to use near this position.

      But how are you going to fit all those keys anywhere near the home row?

      My Keymap

      As an example, to help explain moving forward, here is the keymap for my mercutio 40.

      You'll want to save that json, and then upload it at qmk configurator, which will make it much easier to explore. If you've never looked at this before it can seem insane, but I promise you it's pretty tame ignoring some edge case stuff.

      If you don't feel like going through the hassle here's screenshots from the site with descriptions of each layer.

      Mostly the same as below but i did fix some missing info below so sorry about that. I'm also leaving the descriptions of my "gaming" layers 4/5/6 in the imgur only because I think that's out of scope for this).

      The magic of programable layers and context.

      Space is an interesting key. It's a key only ever really tap, never hold (outside of games, more on that later). So, why not double it up, and make it do something different when you hold it?

      Well in this case, tapping any of my 3 space buttons gives you a space like anyone would expect, but if you hold either of the left 2, it "shifts" you to layer 1 (base layer is 0), and holding the right one, shifts you to layer 2.

      I put shifts in quotes because it's just like the shift key. If you hit 7 on your keyboard, you get a 7. If you hold shift and hit 7, you get &. This is the same concept, and just keep the layers organized in a way that makes sense, keeps it very easy to know what layer what key you want is on.

      The Detailed Layers

      Detailed Layer breakdowns(assuming you're looking at the json loaded into the website or the imgur album)-

      Layer 0 (Base Layer)

      Ignore the N/A's on this and the rest (where they'll be another symbol), as they are optional keys i don't have. Mute is also the encoder knob so don't worry about it.

      It's pretty basic qwerty in the the middle, and tab/left shift/right shift/backspace/windows/the alts/right control are where they normally are, and left ctrl replacing capslock is something I recommend EVERYONE do.

      Space, is still space. In fact all 3 of those spacebars are space...on tap. On hold, the left two "shift" the keyboard to layer 1, while the right one "shifts" the keyboard to layer 2. So just like holding shift + a key gets you a capital version of that key (or a symbol from the number row), holding space + a key gets you something else.

      The left control/right windows key are also layer keys. Holding them takes you to layer 3 and they do nothing when tapped.

      Finally right shift is where it always was, and is somewhat similar to space. If you tap it, you get /?, and if you hold it, you get right shift instead.

      All this to say, that outside of enter, escape, the numbers, and moving control, most people who can already touch type could mostly type on this without any explanation.

      Layer 1(Navigation/No Output)

      Accessed by holding left space.

      All keys that don't actually put a character on the screen (ignoring the left side where i've got some coding stuff but it doesn't really matter).

      Up, down, left, right, home, end, page up, and page down are all in instantly intuitive positions and make navigating anything quickly a breeze (home on the left side since it jumps you to the left/start of the line, and end on the right since it jumps you to the right/end) . Enter, Delete, and Escape are the other 3 major keys on this layer, as they are of course useful, but don't actually put text on the screen.

      The point is that if you're thinking to yourself, "where is that key on this keyboard" and you know that key doesn't actually put a character on screen, you know it's on this layer.

      Layer 2 (Number layer + the rest of the character outputs.)

      Accessed by holding right space.

      I've turned the right side of my keyboard into a numpad that is always under my fingertips(my middle finger is always on 5, just like a 10 key), and since i'm using the number row numbers, I also have access to all their symbols instantly as well by just holding right space + shift. I also have dedicated *,/,+ keys, and the -/_ underscore laid out to be intuitive as well (higher key increases the value, lower key decreases, so multiplying above division, and addition above subtraction)

      Finally we've got the rest of the keys that can output characters but didn't make it to the home row and don't fall into the numpad. `, ;, and . Again they are all basically where they normally would be, but instead you just hold right space and hit the key.

      The other 5 keys that output text are on the left hand side near the home row because they're super useful for coding (I also use | and -/_ a lot, but their positions in this layout are intuitive to me). Having the paren's/brackets under/near my middle and index finger is so nice for all sorts of coding.

      Layer 3 (Function keys, mouse inputs, music controls, and other misc.)

      Accessed by holding "left control" or "right windows".

      The function keys are the exact same layout as the numbers. F1 is where 1 on my layer 2 is. So F5 is where 5 is which means it's right under my middle finger. I put 10/11/12 going down on the left because that made the most sense to me, and so far has never caused me any issues.

      The mouse/music stuff I don't use that often, but it's something I'd like to mess with a bit more.

      I threw capslock on here in the rare cases where I actually need the key because some program or game wants it. I also have Insert on this layer in my live map, but I use it so rarely I tend to forget it until something needs it.

      Finally you'll notice that on layer 3, where the G key is, is a toggle to put you into Layer 4. Meaning that once you hit it, you'll jump to layer 4 and NOT return to layer 0 when you let go. This is explained more on that layer and is totally bonus points. The main point of this keymap is done, and I think this is an excellent layout for productivity (or at least a starting point), without having to dive into lots of complicated or unintuitive concepts.

      The shorter version

      If you don't want to read all of that, the basic idea is that your average person can type on the keyboard with minimal explanation. If they forget where a key is, the other 3 layers all follow rules to help guide them. One layer for navigation and keys that don't actually output characters (home/end/delete/esc/et) and one layer for the rest of the keys that output characters, namely the numbers, which are then also your numpad and ALWAYS under your right hand, centered and ready to go. The final layer is, mainly, for the function keys, still following the numpad from the previous so you can again easily figure out where the button you want is.

      What does this gain you?

      In the end the main benefits i've found are easier navigation, as I essentially now have a navigation layer with every key i could want on it, and much faster access to numbers. I still do data entry and lots of numbers, and having the numpad always one keyhold away is awesome.

      On top of that it's just nice to not have to move my hands so much to type, and to get so much of my desk space back.

      I type just as fast as I do on a normal keyboard for basic text, as there's almost no difference, and I type faster doing code/editing text because my numbers, brackets, and navigation keys are all closer at hand and in such a way I don't need to look or even move my hand from the home row to hit them.

      So is it just all upsides?

      On the typing side, honestly yeah. I've seen a lot of excuses like "well i prefer a numpad" or "how do you type numbers" which I've tried to address in this post.

      The only issue i've run into is gaming, where I already really solved most of my problems as shown in the extra layers in the imgur gallery, and think it might even be better for gaming vs the normal layouts.

      The only remaining hassle is roguelike games such as stone soup or caves of qud, which LOVE to assign every fucking key a use so there's no easy way to remap things and I have to actually add another layer JUST so i can hit the numpad numbers because I need them to navigate....

      BUT unfortunately, you might actually want to acquire one of these keyboards, and that's where stuff gets a little tricky.

      Programmability

      All the upsides I just mentioned assume you can actually program the keyboard. Thankfully this has gotten much much easier with both Via and ZMK making the process very simple. QMK is doable, but difficulty wise it shared a lot of similarities with trying to get the perfect modded run of Fallout New Vegas going with about 20-40 mods. If you are not more comfortable in the tech world, I recommend ONLY boards that support via software. I believe these days anything that supports QMK supports VIA, but it's worth checking on the via website to make sure the board you're about to get works.

      Some assembly required

      The mercutio and the discipline I built myself after ordering the parts. They're through hole soldering and were some of the first soldering I'd ever done on my own outside of a quick kit I bought off amazon to practice. It is actually not that hard BUT you need the equipment. It's not horribly expensive to get but it's not cheap either. I do really enjoy just throwing on music and putting these together, but I totally understand that you might just want to, you know, buy the fucking thing already built.

      Thankfully many sites offer build services (or you can find them on etsey) which charge a fee to assemble it for you. This is what i've done with every corne i've ordered because it is NOT through hole soldering and I don't have the guts for it, and even still they've all had some eventual issues (although again, i carry mine with me in a very unprotected state because i'm insane so some of that is on me).

      Made of money

      Especially if you're paying for the aforementioned build services, these things can get into the 200-400 range FAST, which is a lot for a keyboard. There are some cheaper options out there, and the Mercutio was only $70ish before switches(not bad) and keycaps (range from dirt cheap to ungodly expensive).

      Still I would not recommend ANY of these for a first time buyer. My first smaller board was a 60% mechanical and those range from $70-100 these days from what i'm seeing.

      Take my money....please?

      Sometimes you just won't be able to find or buy the board you want in the way you want. There are lots of interesting boards i've seen over the years, but they're either very expensive or only open for a limited time. I had a working cornish zen that died on me. I'd love to replace it. I cannot as they currently don't sell them. Will they make more? Dunno. I hope they do.

      Recommendations

      I DO NOT recommend diving in head first and suggest starting with something simple like a 60 or 65, probably keychron, as they're a decent budget brand. You might want to go even cheaper with just a 60% off of amazon that isn't even programmable just to see if you outright hate it, but I do think that getting something you can start to tweak as you begin to understand what you want helps adoption.

      Final Thoughts

      I hope this gave some of you the push to look into all this. I'm glad I dipped my toe in it, less glad about the absurd amount of money i've spent on it (dear god keycaps), and really glad about the moment where I thought "huh i really just don't need all these keys" and pulled some out. I hope I can convince a few others give it a shot and hopefully see the same results. No dvorak or home row modifiers and weird triple tap macros. Just some layers and common sense.

      I do still, if nothing else, highly recommend switching left control to caps lock.

      58 votes
    5. Advice on expanding storage in starter homelab/media server

      I've been slowly fiddling around with setting up a little homelab and media server for the last few months. As a web developer, I've always wanted to learn a bit more of the infrastructure side of...

      I've been slowly fiddling around with setting up a little homelab and media server for the last few months. As a web developer, I've always wanted to learn a bit more of the infrastructure side of things, hence the homelab part. The deteriorating quality of major streaming services finally pushed me to set up a media server as well.

      Right now, my setup is very basic. I've been using an old repurposed office laptop. It's a simple dell latitude 5540 I got ridiculously cheap due to it's barely usable crusty keyboard, but since I mainly SSH into it that's not really an issue. I formatted it, doubled the ram, and installed the latest stable Debian release. (Headless)

      After that, I chose to install yams which was recommended here. Definitely saved a lot of time there! Finally, I added an old unisex raspberry pi I had lying around. The idea is that it's the only part of the setup that is on 24/7, since it has an almost negligible footprint. Whenever I want the main server running, I SSH into the raspberry and use wakeonLAN to start the main server. I'm probably gonna make a tiny web interface for that soon.

      Now on to the part I need advice for. The laptop and attached HD are quickly running out of space. I know just slapping on extra hard drives has a limit, and am vaguely aware of things like unraid existing, but am a bit overwhelmed right now with all the information and options in this space.

      Does anyone have some advice on something I can tackle for a reasonable amount of work/budget? Something basic, but with the possibility of expansion in the future?

      Any other tips on where to go next in general are of course also appreciated. (On that note, I'm right now not opening up the server to ingress from outside. I only interact with it on the home network, as I primarily work from home)

      17 votes
    6. Using work OSX machine while travelling

      I will shortly be travelling for work. I do not have the capacity to bring anything other than my work machine. In addition to working every day I would like to: legally stream movies in the...

      I will shortly be travelling for work. I do not have the capacity to bring anything other than my work machine. In addition to working every day I would like to: legally stream movies in the evening, work on writing, email friends etc. At home of course I use a separate laptop for this but in this case I won't have that option. Any thoughts on how best to achieve a separation of concerns while travelling? How do people on Tildes manage this case?

      p.s I know in a best case scenario it's not ideal, hence my behaviour at home, I just need a working method for this particular case.

      12 votes
    7. What Is A Secure Note-Taking App?

      I've been using Google's Keep Notes for all my note-taking, but I would like to shift away from that and use an app that is more secure. I've heard of Notion and Evernote but I'm not sure about...

      I've been using Google's Keep Notes for all my note-taking, but I would like to shift away from that and use an app that is more secure. I've heard of Notion and Evernote but I'm not sure about their level of security/encryption. Any suggestions?

      20 votes
    8. how do you manage your personal ssh keys?

      I have a number of computers and accounts in my life that has ssh keys on them, and I find that it's too many for me to keep track on by the basis of "just remembering". Home laptop, home desktop...

      I have a number of computers and accounts in my life that has ssh keys on them, and I find that it's too many for me to keep track on by the basis of "just remembering". Home laptop, home desktop linux, home desktop windows, home desktop wsl, work desktop windows, work desktop wsl, sometimes more than one key for each of those. I'm thinking about putting a folder in my cloud solution with all the .pub files and and a text file describing what the keys are and what they have access to, but maybe there's better ways, or maybe there's security issues with that approach that I don't understand. When I try to read up about ssh key managements most everything seems to be targeted towards organizations which have related, but not the same issues that an individual does.

      Anyway, I'd love to get your input.

      20 votes
    9. Are any of you AI gurus?

      As per subject really. I'm creating a project with the CEO at work and it's going to need some serious AI. I'm happy to speak about it here and take advice and tips for direction and resources....

      As per subject really.

      I'm creating a project with the CEO at work and it's going to need some serious AI. I'm happy to speak about it here and take advice and tips for direction and resources. I'm going to definitely be hiring real human resource to get this going though.

      The project is a masters library of video. Anyone that has seen me post before might know I run a server of roughly 10k of videos, all company IP, of TV shows from over the years. What I'd like to do is point AI at the video library and have it build out a serious database of information, or at least a sidecar JSON of information next to every video. Some things I really don't need AI for and can easy generate, such as video length, type, audio channels, codec, bitrate, etc. All of that can be gleamed with the usual suspect tools such as mediainfo or ffprobe. What I'd like AI to do is scan for faces and identify names of celebs (if possible), sections of video at 5 seconds in length containing railway, trees, cars, etc logged to build out a database of video that we have. It would also need to log time codes of where these clips are and for how long.

      I know it sounds like a crazy project, but it will be fun and possibly the start of a new product which I would open source. Don't tell my boss that but if we're using open source models and free shit to create these awesome beast, I'd want to give back to the community.

      So, ideas on where I would find people interested and talented with this sort of thing? Any thoughts on what else you'd think I should target to capture from a massive video library? I will be grabbing the clock card info too so OCR is a must.

      Soooo much to think about. Project plan coming up.

      21 votes
    10. Syncthing on a VPS questions

      I've been using syncthing for a while now and more recently I've started to use a VPS but I find it to be a mild pain in the ass to setup and I'm wondering if there's a better way or just how are...

      I've been using syncthing for a while now and more recently I've started to use a VPS but I find it to be a mild pain in the ass to setup and I'm wondering if there's a better way or just how are you administering?

      I've been just editing the config.xml file and restarting it. It feels clunky editing it in nano especially when I have to delete a folder or remove a device.

      I'm starting up on a new VPS and doing this initial setup again is mildly frustrating.

      Another question, a friend is also going to be backing up some files onto this server (both of us treating it as untrusted), would it be better practice to set up 2 users each running their own syncthing@user service or just have it all under one?

      9 votes
    11. 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...

      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?

      18 votes
    12. What service are you using for domain names?

      In light of Google's recent, tragic, and inevitable closure of Google Domains and sale of their customer list to Squarespace: what are you using for domain names? Google Domains checked most of...

      In light of Google's recent, tragic, and inevitable closure of Google Domains and sale of their customer list to Squarespace: what are you using for domain names?

      Google Domains checked most of the boxes for me: good price, availability of TLDs, features, interface. The company's reputation went both ways, as we're now dealing with. Can't even remember what I used for domains before GD.

      This thread is inspired by the recent thread on hosting providers, where I saw a lot of people were using Namecheap for domains. The name of the company sounds like a .biz from 2002, but if it's good it's good.

      Let's figure out the best option for domain name services as of October 2023.

      42 votes
    13. Any other developers also strongly resistant to adding secondary data stores to their software?

      I'm currently building an MVP for a startup, solo. We've got Postgres pulling triple duty as the go-to database for all normal relational data, a vector database with pgvector, and a job queue...

      I'm currently building an MVP for a startup, solo. We've got Postgres pulling triple duty as the go-to database for all normal relational data, a vector database with pgvector, and a job queue (With the magic of SELECT ... FROM "Jobs" WHERE ... FOR UPDATE SKIP LOCKED LIMIT 1). Every time I go out looking for solutions to problems it feels like the world really wants me to get a dedicated vector store or to use Redis as a job queue.

      Back when I was a Rails developer a good majority of the ActiveJob implementers used Redis. Now that I'm doing NodeJS the go-to is Bull which can only serialize jobs to Redis. They back this with claims that I can scale to thousands of jobs per second! I have to assume this theoretical throughput benefit from using Redis is utilized by 0.01% of apps running Bull.

      So I ended up implementing a very simple system. Bull wouldn't have been a good fit anyway as we have both Python and Typescript async workers, so a simple system that I fully understand is more useful at the moment. I'm curious who else shares my philosophy.

      Edit: I'll try to remember to update everyone in a year with the real world consequences of my design choices.

      16 votes
    14. Show Tildes - Gametje

      Gametje Hi all been working on this project for a while in my spare time. I wanted to share it with this community to see what you all thought. What is it? It is a set of online games (currently...

      Gametje

      Hi all been working on this project for a while in my spare time. I wanted to share it with this community to see what you all thought.

      What is it?

      It is a set of online games (currently only 2) which can be played in person with a central screen (like a TV) or remotely via video chat with screen sharing. Essentially there is a host screen and then each player has their own player screen (laptop or phone etc). It is playable in 8 languages at the moment (feel free to request any others!) It also has an integrated ChatGPT player which can be turned on/off in game settings if you prefer to play without it. There are some game mechanics to identify a ChatGPT answer which can yield some funny reactions if you choose a human's answer! It has Chromecast support and works well on Amazon Fire sticks. Visually, it is still a little rough around the edges as frontend design isn't my forte but the core concept is there. I have been play testing it with friends but have not shared it publicly yet.

      Why is it called Gametje?

      I have been living in the Netherlands for some years and my original motivation for starting this project was to create a game that supported languages other than English. I wanted to incorporate something Dutch into the name. tje is one of the diminutive endings in Dutch. It is usually meant to soften a word or make it "smaller". So Gametje -> a little game.

      Where can I try it?

      https://gametje.com/

      You can either create an account (user/pass with email confirm) or try it out as a guest (navigate to either game, then choose continue as guest). Currently it is free to host a game. Happy to hear any feedback (both good and bad). Hopefully the host provider I am using to run the game will hold up.

      Thanks!

      17 votes
    15. 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...

      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?

      11 votes
    16. 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...

      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?

      14 votes
    17. Any good Youtube channels on learning Data Structures and Algorithms, especially the math part?

      Hello Tildes, I am currently taking DSA in college and struggling a lot with the math and algorithms. Recently had to solve Karatsuba questions and I don't even know what I wrote down on the...

      Hello Tildes,

      I am currently taking DSA in college and struggling a lot with the math and algorithms. Recently had to solve Karatsuba questions and I don't even know what I wrote down on the paper. I have been trying to look for videos on this and only really came away with a vague understanding.

      What I've noticed is that I struggle with solving the math part of the questions.

      For example: "Describe a divide and conquer algorithm to compute the square
      of an n-digit integer in O(n log3 5) time, by reducing to the squaring of five [n/3]-digit
      integers"

      I have zero clue how I am supposed to understand the latter half of the question. It makes no sense to me beyond I am supposed to be multiplying squared numbers. How do I even begin to turn this into an algorithm? What is the solution even supposed to look like?

      Needless to say, I've struggled with math my entire life and I've been trying for years to be decent with it, and I have nothing to show for it.

      So, do you have any recommendations that could simplify the math needed for DSA? Videos are preferred but I will textbook recommendations as well.

      Thank you, and have a good day!

      18 votes