• Activity
  • Votes
  • Comments
  • New
  • All activity
  • Showing only topics in ~comp with the tag "ask". Back to normal view / Search all groups
    1. In which a foolish developer tries DevOps: critique my VPS provisioning script!

      I'm attempting to provision two mirror staging and production environments for a future SaaS application that we're close to launching as a company, and I'd like to get some feedback on the...

      I'm attempting to provision two mirror staging and production environments for a future SaaS application that we're close to launching as a company, and I'd like to get some feedback on the provisioning script I've created that takes a default VPS from our hosting provider, DigitalOcean, and readies it for being a secure hosting environment for our application instance (which runs inside Docker, and persists data to an unrelated managed database).

      I'm sticking with a simple infrastructure architecture at the moment: A single VPS which runs both nginx and the application instance inside a containerised docker service as mentioned earlier. There's no load balancers or server duplication at this point. @Emerald_Knight very kindly provided me in the Tildes Discord with some overall guidance about what to aim for when configuring a server (limit damage as best as possible, limit access when an attack occurs)—so I've tried to be thoughtful and integrate that paradigm where possible (disabling root login, etc).

      I’m not a DevOps or sysadmin-oriented person by trade—I stick to programming most of the time—but this role falls to me as the technical person in this business; so the last few days has been a lot of reading and readying. I’ll run through the provisioning flow step by step. Oh, and for reference, Ubuntu 20.04 LTS.

      First step is self-explanatory.

      #!/bin/sh
      
      # Name of the user to create and grant privileges to.
      USERNAME_OF_ACCOUNT=
      
      sudo apt-get -qq update
      sudo apt install -qq --yes nginx
      sudo systemctl restart nginx
      

      Next, create my sudo user, add them to the groups needed, require a password change on first login, then copy across any provided authorised keys from the root user which you can configure to be seeded to the VPS in the DigitalOcean management console.

      useradd --create-home --shell "/bin/bash" --groups sudo,www-data "${USERNAME_OF_ACCOUNT}"
      passwd --delete $USERNAME_OF_ACCOUNT
      chage --lastday 0 $USERNAME_OF_ACCOUNT
      
      HOME_DIR="$(eval echo ~${USERNAME_OF_ACCOUNT})"
      mkdir --parents "${HOME_DIR}/.ssh"
      cp /root/.ssh/authorized_keys "${HOME_DIR}/.ssh"
      
      chmod 700 ~/.ssh
      chmod 600 ~/.ssh/authorized_keys
      chown --recursive "${USERNAME_OF_ACCOUNT}":"${USERNAME_OF_ACCOUNT}" "${HOME_DIR}/.ssh"

sudo chmod 775 -R /var/www
      sudo chown -R $USERNAME_OF_ACCOUNT /var/www
      rm -rf /var/www/html
      

      Installation of docker, and run it as a service, ensure the created user is added to the docker group.

      sudo apt-get install -qq --yes \
          apt-transport-https \
          ca-certificates \
          curl \
          gnupg-agent \
          software-properties-common
      
      curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
      sudo apt-key fingerprint 0EBFCD88
      
      sudo add-apt-repository --yes \
         "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
         $(lsb_release -cs) \
         stable"
      
      sudo apt-get -qq update
      sudo apt install -qq --yes docker-ce docker-ce-cli containerd.io
      
      # Only add a group if it does not exist
      sudo getent group docker || sudo groupadd docker
      sudo usermod -aG docker $USERNAME_OF_ACCOUNT
      
      # Enable docker
      sudo systemctl enable docker
      
      sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
      sudo chmod +x /usr/local/bin/docker-compose
      sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
      docker-compose --version
      

      Disable root logins and any form of password-based authentication by altering sshd_config.

      sed -i '/^PermitRootLogin/s/yes/no/' /etc/ssh/sshd_config
      sed -i '/^PasswordAuthentication/s/yes/no/' /etc/ssh/sshd_config
      sed -i '/^ChallengeResponseAuthentication/s/yes/no/' /etc/ssh/sshd_config
      

      Configure the firewall and fail2ban.

      sudo ufw default deny incoming
      sudo ufw default allow outgoing
      sudo ufw allow ssh
      sudo ufw allow http
      sudo ufw allow https
      sudo ufw reload
      sudo ufw --force enable && sudo ufw status verbose
      
      sudo apt-get -qq install --yes fail2ban
      sudo systemctl enable fail2ban
      sudo systemctl start fail2ban
      

      Swapfiles.

      sudo fallocate -l 1G /swapfile && ls -lh /swapfile
      sudo chmod 0600 /swapfile && ls -lh /swapfile
      sudo mkswap /swapfile
      sudo swapon /swapfile && sudo swapon --show
      echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
      

      Unattended updates, and restart the ssh daemon.

      sudo apt install -qq unattended-upgrades
      sudo systemctl restart ssh
      

      Some questions

      You can assume these questions are cost-benefit focused, i.e. is it worth my time to investigate this, versus something else that may have better gains given my limited time.

      1. Obviously, any critiques of the above provisioning process are appreciated—both on the micro level of criticising particular lines, or zooming out and saying “well why don’t you do this instead…”. I can’t know what I don’t know.

      2. Is it worth investigating tools such as ss or lynis (https://github.com/CISOfy/lynis) to perform server auditing? I don’t have to meet any compliance requirements at this point.

      3. Do I get any meaningful increase in security by implementing 2FA on login here using google authenticator? As far as I can see, as long as I'm using best practices to actually ssh into our boxes, then the likeliest risk profile for unwanted access probably isn’t via the authentication mechanism I use personally to access my servers.

      4. Am I missing anything here? Beyond the provisioning script itself, I adhere to best practices around storing and generating passwords and ssh keys.

      Some notes and comments

      1. Eventually I'll use the hosting provider's API to spin up and spin down VPS's on the fly via a custom management application, which gives me an opportunity to programmatically execute the provisioning script above and run some over pre- and post-provisioning things, like deployment of the application and so forth.

      2. Usage alerts and monitoring is configured within DigitalOcean's console, and alerts are sent to our business' Slack for me to action as needed. Currently, I’m settling on the following alerts:
        1. Server CPU utilisation greater than 80% for 5 minutes.
        2. Server memory usage greater than 80% for 5 minutes.
        3. I’m also looking at setting up daily fail2ban status alerts if needed.
      9 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?

      11 votes
    3. 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?

      7 votes
    4. 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?

      9 votes
    5. What's the deal with gemini?

      Hi! I've heard tilderinos talking about the gemini-verse on some other posts; I tried it out this evening and it honestly felt strange browsing in terminal and even stranger navigating the web...

      Hi! I've heard tilderinos talking about the gemini-verse on some other posts; I tried it out this evening and it honestly felt strange browsing in terminal and even stranger navigating the web without search engines. I was wondering if anyone had a gentler introduction than the official site? I feel like I've got a ship, but no map to this new verse.

      26 votes
    6. Is there a known image norm suitable for textured images?

      Suppose I am trying to iteratively produce a completed image from some subset using a combination of convolutional/DNN methods. What Image norm is best? The natural (for me) norm to ascribe to an...

      Suppose I am trying to iteratively produce a completed image from some subset using a combination of convolutional/DNN methods. What Image norm is best?

      The natural (for me) norm to ascribe to an image is to take the bitmap as a vector with L2. If the input image is anime or something else, the uniform coloring makes this very likely to be a good fit in a low dimension - that is: no overfitting.

      However: pictures of fur. Given a small square, the AI, set to extrapolate more fur from that single image, should be expected to get that stuff right next to the given subimage right, but further away, i want it to get the texture right, not the exact representation. So, if the AI shifts the fur far away from the image left by just the right amount, it could get an incredibly poor score.

      If I were to use the naive L2 norm directly, I would be guaranteed to overfit, and you can see this with some of the demo algorithms for image generation around the web. Now, the answer to this is probably to use a fourier or a wavelet transform and then take the LN norm over the transformed space instead (correct me if I'm wrong.)

      However, we get to the most complex class: images with different textures in them. In this case, I have a problem. Wavelet-type transforms don't behave well with discrete boundaries, while pixel-by-pixel methods don't do well with the textured parts of images. Is there a good method of determining image similarity for these cases?

      More philosophically, what is the mathematical notion of similarity that our eye picks out? Any pointers or suggestions are appreciated. This is the last of two issues I have with a design I built for a Sparse NN.

      Edit: For those interested, here is an example, notice how the predictions tend to blur details

      7 votes
    7. I can't make it any clearer. Any advice?

      Last Thursday, at my workplace, we rolled out a software upgrade across the company. The server side was upgraded overnight to ensure there was minimal downtime, and we had instructions for users...

      Last Thursday, at my workplace, we rolled out a software upgrade across the company. The server side was upgraded overnight to ensure there was minimal downtime, and we had instructions for users posted on our Intranet (pinned to the top for the next 4 days), on exactly what they needed to do to run the upgrade on their PCs and ensure everything was working correctly.

      The instructions were written with the help of my 4-year-old to ensure it was clear enough for anyone to read and follow along.

      I still received at least 40 messages and emails from people complaining the upgrade didn't work or that certain Outlook plugins are now missing (which was covered in the instructions).

      My question is, has anyone found a good way to ensure people follow instructions, or the best way to ensure that your instructions are easy to understand and follow along with?

      It is very frustrating to take the time to ensure things go smoothly and write what even my 4-year-old thought was clear instruction, and still have a third of the company not be able to figure it out?

      This is not meant to be mean hearted in any way, I genuinely would like some advice or tips on how I can improve on this the next time around.

      Thanks.

      16 votes
    8. 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?

      8 votes
    9. 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?

      6 votes
    10. Ask Tildes: I'm looking for (FOSS? Self-hosted?) photo manager software

      Specifically, I've got a big honkin' pile of photos stored on an online storage space, and I want some kind of software that lets me share links to a pic, or a group of pics, or a folder, etc ......

      Specifically, I've got a big honkin' pile of photos stored on an online storage space, and I want some kind of software that lets me share links to a pic, or a group of pics, or a folder, etc ...

      ... and here's the crux ... without making extra copies of the pics ... just has renamed, custom-permissioned links to the original pic(s).

      In database terms, I want something that gives me Views of my photo collection.

      I run my own Nextcloud instance, which is close. It has very nice, very granular photo management and sharing capabilities ... but as far as I can tell, whenever I share a pic with someone, it actually makes another copy of it for the shared instance. If I share the photo 5 times w/5 different people/groups, then suddenly, I have 6 copies of the pic.

      Any recommendations?

      8 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?

      9 votes
    12. What TLDs do you view the most positively?

      I'm thinking of registering a new domain to host a personal blog and a few other pages that is somewhat separate from my current personal portfolio page, as the blog will likely not be directly...

      I'm thinking of registering a new domain to host a personal blog and a few other pages that is somewhat separate from my current personal portfolio page, as the blog will likely not be directly relevant to my work. But since this is a more personal project, I want to branch out in terms of TLDs - I've previously used exclusively .com endings as they lead to the least confusion and are the most accepted.

      I'm a little overwhelmed by the number of options these days, so I wanted to take a little straw poll to see which ones people think are the best. The name itself will be my initials "gpxl", and the endings I am considering are

      • .info
      • .xyz
      • .fyi
      • .computer
      • .me

      But I'm curious to see what others think. I would go with .xyz but I feel like then my domain name becomes an unintelligble string of letters - gpxl.xyz, so I'm wondering what others think and what arguments exist for choosing one over another.

      P.S. If anyone has recommendations for registars I'm open to those too. Currently using google domains but open to switching.

      18 votes
    13. 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
    14. What do you think of LeetCode? Did anyone of you succeed thanks to it?

      I've come across this website recently, and I'm genuinely wondering if it's really that useful for passing interviews. For example, I think it can not replace a solid background in algorithms/data...

      I've come across this website recently, and I'm genuinely wondering if it's really that useful for passing interviews.

      For example, I think it can not replace a solid background in algorithms/data structures and maybe CS courses in general.

      7 votes
    15. Would any Tilderino be interested in tutoring me in programming?

      I could have post this on Reddit but in my experience, nothing really happens over there since things are too impersonal. I realize that's not an enticing proposition for most people since...

      I could have post this on Reddit but in my experience, nothing really happens over there since things are too impersonal.

      I realize that's not an enticing proposition for most people since programmers are usually busy people, but I figure I'd give it a shot. I believe many people that already interacted with me have some idea about my personality. Besides being a stickler for logic, I'm very flexible and eager to learn and make it a habit to force myself to admit when I am wrong. I had to abandon software engineering college because of financial concerns and this hurt me quite a bit, not just because of the content, but because of the social stimulus from my peers.

      I already have some knowledge mostly in Python and basic C algorithms, from the basics until rudiments OOP. Math is not my strong suit, but I don't hate it either and I am very fond of logic (including philosophy). I'm also very good at Googling and reading documentation, so I wouldn't give you too much trouble.

      I'm proficient in Linux/Unix (as an advanced user, not an administrator). I'm comfortable in the command line and an enthusiastic user of Emacs (but I can use whatever you want of course).

      It doesn't even have to be Python, just anything you're comfortable teaching at a beginner level that works on a Mac (and later n a Linux Machine). And is also wouldn't have to be super intensive or frequent, being unemployed (hahaha) I can work around any schedule. I just need some human contact with a nice dude or dudette that cares about imparting knowledge.

      My English is pretty good in writing and understanding but I do have a thick accent -- I believe it's understandable though.

      I'm super shy and video is not a requirement, but it might be nice.

      I'm also a slow learner and have ADHD, so you might need a little patience.

      Anyway, here I am asking for help!

      EDIT: dear Tilderinos, you're awesome and I love you all. I'm also aware of many if not most learning resources for self-didact beginners programmers on the internet -- especially if they use Python. The reason I'm posting this is that I am failing at learning by myself. I welcome ALL suggestions with great gratitude, but this is not the purpose of this thread.

      EDIT2 VERY IMPORTANT!!! I’d be willing to teach Portuguese or anything else I happen to know in exchanging for the tutoring!!!!!!!

      EDIT3:

      Thank you very much everyone. I'm very sorry tor taking so long to answer. I had to make a decision about my study plans for 2020.

      Thing is, back in 2019 I was doing pretty well on a software engineering course at a local private university. But money got tight and I had to drop out. Since then I've been trying to make it on my own, but after more than a year I came to the conclusion that this is simply not going to work. At the university, I was at the top of the class. By myself, I'm a lazy bastard with half the IQ. Go figure.

      So I decided that instead of trying force my way into learning by myself, I'll just study for the Brazilian national exam and get into some great public educational facility that will most certainly provide me a better education for free.

      I took the exam before without studying, and my grade made the cut. So I'm confident that if apply myself this time I'll be able to enter at least one of three major public universities in my city that offer dozens of IT-related courses.

      So I'm laying off from programming until at least January 17 and devoting myself entirely to the exam.

      Cheers!

      18 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?

      11 votes
    17. 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
    18. How to design a database?

      I'm working on an application that allows a user to view playlists belonging to a particular radio show and stream/download/favourite the tracks in them. It has 4 core entities: User, Show,...

      I'm working on an application that allows a user to view playlists belonging to a particular radio show and stream/download/favourite the tracks in them. It has 4 core entities: User, Show, Playlist and Track.

      • Each show has multiple playlists (one-to-many)
      • Each playlist has multiple tracks (one-to-many)

      To be able to reference a playlist belonging to a particular show. I gave those playlists the same uuid as the show they belong to. A few questions though.

      1. Is this the right/best way to associate data?
      2. As a track could potentially belong to multiple playlists, I can't take the same approach as I do for (show/playlist) How would be best to handle this? Ideally I would like to have a single "Track" table containing all tracks for all playlists.

      For any experienced database designers out there, how would you structure this data? What would you consider in designing the schema and why? If I did go with 4 tables only, presumably there would be performance implications given the potential amount of data in any one of those tables, particularly tracks. If that is the case, how best to structure this kind of thing with performance in mind? Thanks in advance for any help :)

      For reference, in case it's of importance, I'm using sqlite3.

      5 votes
    19. 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?

      5 votes
    20. Architecture for untrained software engineers (Python)

      Hey everyone, I've been programming for some time now but notice without any formalized education in CS I often get lost in the weeds when it comes to developing larger applications. I'm familiar...

      Hey everyone,

      I've been programming for some time now but notice without any formalized education in CS I often get lost in the weeds when it comes to developing larger applications. I'm familiar with the principles of TDD and SOLID - which have helped with maintainability - however still feel that I'm lacking in the ability to architect a properly structured system. As an example, I'm currently developing a flask REST API for a website (just for learning purposes). This involves parsing a html response and serializing the result as JSON. I'm still quite unclear as to structuring this sort of thing. If any more experienced developers could point me in the right direction/offer up their opinion I'd be very appreciative. Currently I have something like this (based - I hope correctly? - on uncle bob's clean architecture).

      Firstly, I'm defining the domain model. i.e the structure of the API response. Then, from outside in.

      1. Infrastructure (Flask): User makes request via interface (in my case a request to some endpoint)
      2. Adapters: request object checks if the request is valid (on the way back it checks if the response is valid) - Is this layer only for error handling?
      3. Repository: I'm struggling a bit here, AFAIUI this layer is traditionally a database. In my case however, where the request is valid, is this where I should handle the networking layer? i.e all the requests to return the website source? I'm also confused given at this stage I should be returning the relevant domain model, like an ORM, but as my data is unstructured, in order to do this I need to transform the response first. Where would it be best to handle this?
      4. Use Cases: Here I transform the domain model depending on the request. For example, filter all objects by id. Have I understood this correctly?
      5. Serializers: Encode the domain model as JSON to return from flask route.

      If you got this far, thanks so much for reading. I really hope to hear the opinions of more experienced devs who can steer me in the right direction/correct me should I have misunderstood anything.

      8 votes
    21. Looking for a simple language to build a compiler for

      I've recently built a brainfuck just-in-time compiler and I'm looking for my next project. I think compiling a more complicated (and more easily written) language would build on what I've learned...

      I've recently built a brainfuck just-in-time compiler and I'm looking for my next project. I think compiling a more complicated (and more easily written) language would build on what I've learned so far. Rather than design my own language from the ground up, I'd prefer to work with a toy language that already has existing programs and a spec. This would both save me some work and give me more solid ground to build upon.

      6 votes
    22. 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
    23. Designer to Developer Handoff Process

      I am a fullstack developer that spends a good portion of my time building out complex User Interfaces, and the rest building out back-ends for that software. In my opinion the current method that...

      I am a fullstack developer that spends a good portion of my time building out complex User Interfaces, and the rest building out back-ends for that software. In my opinion the current method that my company uses for a designer to developer hand off is a bit lacking in efficiency.

      The current method is usually a designer will provide a developer with a Photoshop (or very occasionally an Illustrator) file containing the entire applications design. It is then up to the developer to export assets (both quick exporting things as pngs, going through and separating shadows from assets, or creating assets from the layers provided) and dig through the file to determine fonts and placement of items.

      Is it a common expectation that a developer should be spending a good chunk of time in Adobe on asset manipulation?

      Additionally does anyone have any process or program suggestions that may make life easier?

      3 votes
    24. Seeking good anti-malware to replace AVG Free

      Hi. AVG's been bugging me with reminders to renew my subscription recently, but I don't have the money for that. I've been using AVG Free for years, but each time I trial the full edition it seems...

      Hi. AVG's been bugging me with reminders to renew my subscription recently, but I don't have the money for that. I've been using AVG Free for years, but each time I trial the full edition it seems to install as a separate program, and then I have to manually revert back to the free version once the trial's up. The only other anti-malware I use is MalwareBytes (free again).

      I'm not too worried about using a VPN, and have been advised to avoid the free ones anyway. I'd really just like a decent alternative to AVG Free that won't mess with my Steam games or pester me to upgrade several times a day. I have almost no experience with other anti-malware programs, so I'd rather ask people in the know for advice than just install something straight away and find out that it does one of the aforementioned annoying things.

      ...Should I use a free VPN? I'm trying to save as much of my scant moolah as I can, and I do occasionally torrent things, but the free ones are allegedly a little shady.

      5 votes
    25. 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?

      10 votes
    26. Recommendations to learn SQL?

      I read the AskReddit thread on "What costs less than $100 that changed your life?" (link unavailable since I'm at work) but someone responded "SQL" - jobs just open up that make a ton of money. I...

      I read the AskReddit thread on "What costs less than $100 that changed your life?" (link unavailable since I'm at work) but someone responded "SQL" - jobs just open up that make a ton of money.

      I did a cursory search on Indeed and holy moly they were right -- SQL jobs get easily 2x what I make now. I'm pretty good at Excel and that sort of thinking, so I was thinking I'd try taking a class.

      Do yall have any recommendations as to a good course to take in SQL, preferably online, preferably free or cheap? I'm willing to pay a bit if it'll mean I can make a lot more, but I'm currently not making a ton, haha.

      Any responses welcome, including ideas as to how to break into like, tech-oriented fields as well.

      9 votes
    27. 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
    28. What do you self host?

      I'm interested to see what people on here self host, or if they self host at all. Reply with what you self host, why you host it and any other thoughts you have!

      51 votes
    29. 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
    30. What is the best way to teach Python for my 11-year-old sister that lives in another state?

      This may seem an obvious question, but not as much as it seems. She uses Windows, I’m currently using Linux/macOS. How to instruct her to install her Python environment? Should I use Zoom, Skype,...

      This may seem an obvious question, but not as much as it seems. She uses Windows, I’m currently using Linux/macOS. How to instruct her to install her Python environment? Should I use Zoom, Skype, Google Hangouts, or another solution? Is there and easy way for live-drawing (online blackboard) to explain things to her visually? And, perhaps most importantly, how can I do that for free?

      13 votes
    31. 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?

      15 votes
    32. Self-hosters and home-lab enthusiasts ... anyone here have experience running their own Matrix?

      Following up on @freddy's query about self-hosting ... I am trying to set up a self-hosted VPS running Synapse (the server-side component of Matrix), Riot-web, and bundled in Jitsi. I've twice...

      Following up on @freddy's query about self-hosting ...

      I am trying to set up a self-hosted VPS running Synapse (the server-side component of Matrix), Riot-web, and bundled in Jitsi. I've twice gotten it up and running successfully for internal accounts/users, but federation keeps throwing weird authentication errors when trying to connect with user accounts from other server instances (a week later, my regular Matrix account still has 3 outstanding broken Invites from the new server-account which I can neither accept nor reject ... ).

      I'm basically following along with this youtube setup tutorial (except I am using Apache rather than nginx).

      Before I start to drill into the nitty-gritty of my issue(s), does anyone here have experience setting this up? Anyone care to dedicate a bit of time and energy to helping me figure out what I'm doing wrong?

      Additionally, I saw commentary from @smores that Jitsi isn't performing well for him on his self-hosted server ... any further details you can share?

      Edited to add:

      Sorry all, I didn't think through the timing. I am still motivated to get a self-hosted Matrix instance up and running; however, right at the moment, I have a couple of other, higher priorities I need to attend to first. If I'd thought about it, I would have held off on starting this thread for a couple of days.

      I will get back to this thread ... let's say, Wed or Thurs ... take another crack at the Matrix set-up then, and provide details here, as I do.

      Thanks,
      EtC

      16 votes
    33. 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?

      15 votes
    34. 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
    35. How do you plan or outline a program?

      I’m currently studying Python Object Oriented programming and got to a point where logic and syntax are the least of my problems. I always get to a stage where I’m completely lost between modules,...

      I’m currently studying Python Object Oriented programming and got to a point where logic and syntax are the least of my problems. I always get to a stage where I’m completely lost between modules, classes, objects and a sea of “selfs”.

      I’m not doing anything too complicated, just small projects for practice, but I think I would benefit from planning. My mental processes are highly disorganized (ADHD) and I need all the help I can get with that.

      I don’t need an automated tool (even though it might come in handy) -- sketching things out on paper is probably enough.

      I only know about UML, which seems fine. Can anyone recommend a tutorial about this and other tools?

      Edit to link my last attempt at following a tutorial:

      This is the last tutorial I tried to follow, a Pygame project from the book Python Crash Course 2ed. Following tutorials is frequently mostly typing, so what I achieved there is not a real representation of my abilities -- I would not be able to do something like that on my own. In fact, I failed to answer the latest exercises, which were basically smaller versions of this project.

      My problem is not with syntax and the basics of how OOP works, but rather with memory and organization of information.

      10 votes
    36. 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?

      8 votes
    37. Are there any good tools for "one-off" file encryption?

      Sorry if this is a silly question, but I keep running into situations where a small CLI or GUI tool that could be handed a single file and hand me back an encrypted version would be useful. I've...

      Sorry if this is a silly question, but I keep running into situations where a small CLI or GUI tool that could be handed a single file and hand me back an encrypted version would be useful. I've done some googling, but all I typically turn up is blogspam about random Windows-only tools that seem to be of dubious quality.

      Anyone know of a good tool for this type of thing?

      9 votes
    38. 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
    39. Build Concept: The Mobius Chair

      In the DC canon, The Mobius Chair is a time-space/dimensional vehicle operated by the New God Metron. It allows him to travel and observe the universe, but the one I'm making is nowhere near as...

      In the DC canon, The Mobius Chair is a time-space/dimensional vehicle operated by the New God Metron. It allows him to travel and observe the universe, but the one I'm making is nowhere near as functional.

      I've come into a recliner chair with a cupholder on each armrest, and I already had a split keyboard. My plan is to use the cupholders as a mount for both ends of the split keyboard, so that I could use the entire run of armrest and have my hands lay naturally on the keys. Goals are to minimize weird stretching and be able to comfortably type for long stretches of time, to put off stuff building this that I planned to work on this weekend, and to look super boss, though not necessarily in that order.

      If I want ultimate angulation and the best range of motion, I was thinking about something like a cupholder with a phone or a tablet mount, like this one, but if anyone has recommendations for what would be best to work with, or have done something like this before, I'm all ears.

      6 votes
    40. 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
    41. 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?

      10 votes
    42. 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
    43. 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?

      16 votes
    44. 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
    45. Is it OK to use pop media reference for a personal domain name?

      I'm finally in a position in my life to afford a personal domain. The name I'd like to use is name of an episode from a moderately popular TV series. The series ended its run few years ago, but...

      I'm finally in a position in my life to afford a personal domain. The name I'd like to use is name of an episode from a moderately popular TV series. The series ended its run few years ago, but I'm not sure how copyright/trademarks work.

      So far, I'm planning a strictly noncommercial personal use only. Will the choice of domain name be any trouble down the road?

      9 votes
    46. LaTeX: Using a different font for glyphs used in commands like \sum

      Hello everyone. I consider myself fairly competent when it comes to my work with LaTeX, but as everyone who uses it knows, it is definetely strange sometimes. And right now I have a problem which...

      Hello everyone. I consider myself fairly competent when it comes to my work with LaTeX, but as everyone who uses it knows, it is definetely strange sometimes. And right now I have a problem which just irks me in the wrong ways:

      I use XeTeX and a number of custom fonts for my documents, but when writing mathematical formulas I found out that the font I set for Greek letters (Gentium Plus) is used for letter commands like \alpha, \Alpha, ... but not for commands like \sum, \prod. As you can see in this example here. You can see XeTeX defaults to Computer Modern.

      I've looked all over the net for solutions but I can't find one. I'm using mathspec, amsmath, amsfonts, amssymb as my font related packages and I set my fonts like this:

      \setmainfont{Charis SIL}
      \setsansfont{Helvetica Now Display}
      \setmonofont[Scale=MatchLowercase]{Fira Code Retina}
      \setmathfont(Digits,Latin){Charis SIL}
      \setmathfont(Greek){Gentium Plus}
      

      I feel like I'm going insane not solving this problem. Should you require it, my entire LaTeX template is here on Github. Please help, thank you.

      8 votes
    47. 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?

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