I recently came across this which looks good to me for your use case especially as Privacy is one of the features you have listed:
This looks like a email service provider. Although it includes 2 free aliases per account, it is not a forwarding service primarily. What I want is to create/remove/block aliases and set them up to forward emails to a primary email account of my choice.
Out of interest, why do you not want to self-host this? Dovecot can run on a very cheap VPS unless it’s getting a huge volume of email and it’s trivial to set up catchall redirects and then use sieve rules to reject any that you’ve decided to block. SMTP provides fail-over via backup MX records, so a couple of $5/month VPSs would be fine for this.
pydf is another alternate that might be of interest.
Things you can consider - (in no particular order)
Some of my personal favourites here -
I’ve also heard good things about Computer Systems: A Programmer’s Perspective by Randal E. Bryant, David R. O’Hallaron. Though I couldn’t catch up on the entire book as yet, even the first few chapters are so enlightening and refreshing!
Thanks for putting up this list BTW!
Quite a bit! I have the following bits of software running on a decent VPS at DigitalOcean:
I should make this into a dedicated page at https://jacky.wtf, lol; I get asked this often enough for me to do so.
What size/spec Droplet(s) do you use over at DO for all of this?
The exact “tag” is s-2vcpu-2gb; the one with flexible storage. I’ve also attached a 100GB volume to the image as well.
60GB image with 2GB of RAM hanging out in SFO2
I didn’t know about wallbag till today. Sounds like an interesting alternate to Pocket
We have used a Raspberry Pi 3 as a home media server for a while. At the very minimum, buy a proper adapter that can deliver the power that the RPi needs. However, in our experience, the RPi was generally unstable and underpowered as a media server. The SOC is not great for transcoding, but even worse, the LAN7515 chip in the RPi 3 shares bandwidth between Ethernet and USB 2.0. So in most circumstances, both Ethernet and external USB 2.0 disks is terrible. (This is resolved in the Raspberry Pi 4.) For us, using the Pi 3 as a media server was just a miserable experience.
We bought an Intel NUC (we didn’t need RAID or multiple disks, though you could hook them up with USB 3.0 or Thunderbolt) and haven’t looked back. It is actually usable and fast as a media server. NUCs start just north of 100-120 Euro, you can add a decent amount of memory, use a SATA disk (or M.2 SSDs on newer higher-end NUCs), and use a decent file system like ZFS.
That makes sense. Thanks for the response @iswrong!
I wanted a dashboard with monitors but not compromising on maintenance and load as well. netdata fit the bill perfectly.
It provides all of the hardware/application stats for a quick overview. You can also configure alarms. I haven’t explored push/email notifications yet - not sure if its possible by default. But definitely a worthy addition to your home server stack.
Sample net-data dashboard
If you want something super-lightweight, you can look at linux-dash too.
Just set it up on my machine, that’s been something I’ve been looking for for a long time – I’ve been just swoon. It is so easy to set up and run, and the dashboards it shows are really well done. Had troubles finding how to enable their cloud service, tho – it’s not obvious that one has to have a running daemon first. Thanks for the pointer!
Glad it helped :)
For CS-related books, as a student I highly recommend https://teachyourselfcs.com. I discovered thanks to Lobsters and I’ve bought maybe 1/4 of the books featured there already. There’s also recommended video lectures, if you want to.
I found it very useful too! I’d also recommend My Favourite Book Recommendations by catonmat
Planning a bunch of other stuff as well - Firefox Sync Server, Self-hosted password sync, etc
The recruiters who perform the first layer of filtering will usually have a set of buzzwords or technologies that they have been told are associated with candidates worth talking to. This might include things like prometheus, kubernetes, golang, aws, puppet, etc… If you are applying for a specific job, try to figure out what stack they use, and familiarize yourself with it by working through a tutorial, so that you can mention at least a basic level of familiarity with tech that the recruiters will be often filtering for. To the good companies that want SRE’s who are curious enough to dig into unfamiliar territory, being open about your previous unfamiliarity and willingness to dive in anyway can be a strong positive signal. But recruiters don’t always share the same cultural values around this as managers or future teammates, so use your discretion about how open you are about this with the recruiter. Some teams really value curiosity, but the recruiters often don’t get that message, and will hear that you’ve only done a quick tutorial on something and will mash the “reject” button in their candidate pipeline management interface.
When I hire for SRE teams, I care about one thing above all else: ability to drill into unfamiliar systems that are behaving strangely. General curiosity and demonstrations of learning new things are possible indicators of this mindset to me. I actually usually prefer to hire people who are more curious than people who are less curious and more experienced because the curious people will be getting more out of the job on a personal level, and I love teaching. A lot of teams don’t prioritize teaching though, due to mismanagement, incompetence, laziness, or fear-driven mindsets that are afraid a newcomer will outperform them. Avoid these places like the plague. They are the norm, unfortunately, but they will not help you grow at a rapid pace, and if you can afford to keep playing the interview lottery, you should really hold off until you get a place that gives you a strong signal about mentorship.
I test for drilling proficiency by asking questions about tools that are common, and can be assumed to have some basic familiarity around, like linux or the web, and when we get to a part that they are unfamiliar with, I let them know that they can use me as Google to ask questions about how they can drill into specific behaviors. I ask about how things can fail. What are different ways a file can fail to be created, etc… (they can still use me as Google to look into the specific implementation details of things, or we can strace stuff together, etc…). Basically, I try to show them windows they can use to peer into things I’m asking about the system if they are not already familiar, and then I try to get a sense of how creatively they can use these new tools I’m giving them. That’s how the job will look, so that’s how I try to make the interview.
Most people suck at interviewing. They will ask you about minutae about tools that you may not be experienced with yet. It’s important to keep a calm head, let them know about where your current level of experience is with these specific technologies, and then explain to them how, in the real world, you would dive into the problem to understand and solve it. You exist to solve problems, deflect bad interview trivia questions with confidence in your ability to solve problems by drilling into them. If the team sucks at interviewing, that’s on them, and the team is less likely to be made up of experienced people who are also good to work with. People skills are the most important engineering skills.
If you want a laundry list of tech to get familiar with for modern SRE-like jobs:
Different teams will prioritize coding skills differently. The most common thing I see recruiters filtering for is making sure you have one scripting and one compiled language under your belt. Golang is a good bet, as it’s taken over the pop infrastructure world.
Have fun :)
That was really helpful!
Future Crimes by Marc Goodman and Sixth Extinction by Elizabeth Kolbert. Both excellent books and relevant to the current time.
I used GrooveBasin back when it was based on mpd (and it is still mpd-client compatible). The device was a little beefier than an RPi: an old Athlon II dual-core so that files could be on a large, old SATA drive. I forget exactly why I stopped using GrooveBasin, but for a while I didn’t have any central library or streaming.
More recently I’ve been using Mopidy, and liked it quite a bit, but for the inverse of streaming. That is, I used it to run a central speaker setup and play music from anywhere (including streams) and control it from anywhere (e.g. web client). I’ve been generally impressed with the Mopidy software and the plugin ecosystem and know that supports Icecast to some extent, but have not used myself for that purpose.
Once again I used that same older machine, but is still a notch above an RPi so can’t speak to its performance there.
Mopidy looks great.
By streaming, do you mean something like Spotify, where the music is hosted elsewhere but you can play it at will, or do you mean more like a radio station where it constant plays through a playlist?
For the former, I’d recommend Subsonic. For the latter, I’d recommend Icecast.
For the later I recently set up VLC as a video server and client, on an OrangePi One it works like a dream for video at least. I think I also saw Icecast support in there.
I found VLC’s streaming to be really erratic and not worth the trouble to use.
Thanks, I was asking about the former only - hosted media content that can be played at will.