I read it before learning Ruby but surprisingly, the code made sense even though I didn't know the language.
200 karma · joined April 6, 2021
I'm available for work.
Find my website at https://joshkaramuth.com
I read it before learning Ruby but surprisingly, the code made sense even though I didn't know the language.
I use it for my personal mail along with some clients.
It was quite easy to setup by following this guide: https://workaround.org/ispmail/buster/.
There's also an ansible playbook by the author to automate all of that for you.
Other solid solutions include Mail-in-a-box and Mailcow. DuckDuckGo them to learn more.
A lot of people say that you shouldn't waste your precious time hosting email. Then, these same people won't hesitate to spend countless hours browsing Pornhub or Netflix and playing video games.
Forget about these losers and roll your own email for fun. The last thing you want is to be on your deathbed regretting not having had your own personal mail server.
However, I find their apps to be quite sluggish. I think they ought to spend more on engineering.
You can learn anything for free on the Internet.
If you're going there for networking with others then stop. You can't network with blue haired women with daddy issues or men who never graduated from kindergarten.
Then install a program called Wireshark. Search Youtube on how to use it to inspect traffic.
Then read this excellent article on how web frameworks actually work: https://shopify.engineering/building-web-app-ruby-rails
Unless you're looking to build your own web framework or something that's all you need to know for backend development because everything is nicely encapsulated these days.
If you want to build frameworks and stuff then learn C and grab a book called TCP/IP Illustrated.
LAMP, Django, RoR, ExpressJS are all good choices.
Just use what you already know.
You rarely see someone who writes production code preach TDD.
Something fishy there...
Instead, install pip-tools[0] then use the pip-compile command.
Why?
pip freeze will also pin dependencies of your dependencies, which makes your requirements.txt hard to read and extend.
Never manually create requirements.txt either because a programmer's job is to automate boring tasks like dependency pinning.
I wish Django followed Ruby on Rails a little by focusing on improved developer experience instead of niche features that only a few mega corps need.
Of course, some people will cry "spaghetti code" but sometimes you just want to get work done.
Methods that don't use filter cause a rise in bad cholesterol[0] if you drink a lot of coffee.
Just go to https://github.com/awesome-selfhosted/awesome-selfhosted and pick some apps you like.
Then follow their deployment guide to deploy.
Of course, you should make some of these services public and invite people to use them. Once your services start crashing, you can learn how to optimize and scale.
Also, give it time and avoid being a "2 minute man". This whole "learn in 12 weeks" crap needs to stop. I've never seen a doctor or lawyer who wanted to become a practitioner in 3 months so why should hard stuff like devops or programming be any different?
Technical debt has killed one of my projects once and I should really work to eliminate or at least minimize it.
Thanks for sharing.
1. Get to spend more time with your spouse and pets. 2. Can cook your own meals instead buying outside junk. 3. Spend 1 hour working out or gardening instead of sitting in traffic.
But of course, if you live alone in a tiny shoebox apartment then remote work is the last thing you want.
Someday if I'm desperate for work I might work on it and apply again.
Still, it's still better than begging around on upwork or fiverr like some people are doing.
I heard good things about them but haven't got in myself because they require leetcode puzzles which I suck at atm.
I'm not a Ruby programmer but I wrote this post while learning Ruby and after having read through the entire Sinatra code base. I was surprised at how much easier Ruby code is to read even though I've been a Python programmer for the past 6 years.
I like it for the markdown and encryption. Also free.
My issue with the industry is dealing with sensitive people who get upset at everything. I don't know what it is about tech that attracts such people even though programming was supposed to be fun.
Unfortunately, the best thing to do is to not work at tech companies and use your skills to serve the non-tech industry. For example, I enjoyed working as a contractor in the medical industry because building things to help nurses and doctors work more efficiently is way more fun than building useless apps to steal people's money.
But everyone here hates it. Is this some sort of alternate reality?
Twitter on the other hand is awful with long load times and heavy resource usage.
Sometimes I'm forced to use an alternative frontend like Nitter to browse tweets.
Javascript was probably invented by Satan.
Just recently, I started learning Ruby and also love RubyMine. I guess all JetBrains IDEs are like that.