Details
-
About🏳️⚧️ Bipolar type I. Autistic. There are other receivers
-
SkillsCSS is all you need really. There are other receivers…
-
Location2013 there are other receivers
-
Website
-
Github
Joined devRant on 2/19/2018
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
"Scientists discover the world that exists; engineers create the world that never was"
I've come to love this quote. We, the engineers, are shaping the world. We have the tools, knowhow and expertise to move mountains.
I said it before years ago and I'll say it again: all the other roles are meant to assist us, not the other way around. We don't work for managers, sales dept., bosses. They can't do shit without us. Why do we need them? To buy us toys, to sell our creations and suggest us how to shape our creations to make a better sell.
Quit slaving if you feel you are a professional. Quit bending over to sales' and mgmt nonsense timelines and demands. Hear them out, consider their concerns and give them YOUR estimates and approaches.
WE are the power of creation. THEY work for us. Not the other way around.
Does not apply to juniors. They are still learning their way around3 -
I never expected embedded Linux to be this performant boot wise. On a Cyclone V HPS (800Mhz, Coretex A7) the entire system boots in 3s. Thats from power on to a shell in userspace. And it uses like 40MB of SD-Card Space. The entire speed gets throuwn out the window as soon as you use systemd. Then it takes like five times as long. I kinda want to explore this further in the future by addin LCD support with a desktop environment and get some numbers for that. Currently very happy with the results.5
-
LinkedIn: You have one notification!!!!
Me: What is it?
LinkedIn: 10 types of horses that make your more employable if you don't fuck them
Me: What
LinkedIn: 10 types of h-
Me: No, I heard you, why did you send me a notification about this?
LinkedIn: You want a job, don't you?
Me: Yes, but don't send me this type of notification again.
LinkedIn: Updated your preferences!
The nefarious LinkedIn, two days later: You have one new notification!!!!!!4 -
A good boss gives you a few clear instructions and then doesn't meddle in your work.
A great boss does that, and also spends most of their time protecting the team from corporate fuckery.
99% of all bosses, though? You can't make heads or tails of their blabber, and the only way they can handle problems is throwing their team under the bus.4 -
It’s strategy week. And I have flown to A COMPLETELY DIFFERENT FUCKING COUNTRY.
In their wisdom, it has been decided that I, master of all knowledge (not!) will outline a roadmap for potential tech to come and where our pain-points are. They don’t have the slightest. CORP only now talks about AI and NOTHING sane is even closely is being addressed.
Fucking retards.
It is all for show.
It’s just a game for them.
Fucking holistic people.
Fuck leadership in IT with no actual knowledge of the pain of database upgrades. Fuck em!
It’s all pretending and using big words. I been in meetings where people actually use the words AI, autonomous and digital twin. In the same fucking sentence. Fucking imbecils! Do they even know how fucking impossible that is in a company like this where we struggle every-single-day with a tech debt that is actually incomprehensible. Yesterday I found code from 1978 in use, with no knowledgeable maintainers. Which is very cool but will be difficult, to say the least, to migrate. At the core of one of the deepest core processes at a specific site (we kind of make things). 1978. Thousands of lines of code.
We are NOT in a position at all to say things like this. Autonomous. We are NOT ready. We are NOT staffed and we will not be since we have NO money to hire the necessary workforce of 100 people it would take to actually do something useful. Even if we could hire them the time it would take to actually hold on to them would be too short. Since people are LEAVING THIS COMPANY SINCE IT/TECH IS NOT CONSIDERED TO BE IMPORTANT to the company.
Fuckers. I can take out half the factory in one minute.
Autonomous? AI? It is such a shitshow. And really, really depressing.
I wonder if they know. What would happen. If key persons was to decide to leave.
The care that has been put in place for this factory (HUGE FACTORY!!! HUGE!!!!!!!) system support is just really… well, crazy actually.1 -
Maybe in special dedication to @kiki.
I cut the unit tests down in LOC size by roughly 50 - 60 % in most projects.
It's really easy once one sees unit tests not as a dunking pile of copy pasta wild west, but rather as a code base that needs architecture and design.
Some extensions, some annotations, some good old helper classes.
Pooooof.
Why I did this? ...
Because it's fucking annoying when you read a PR with tests and need a fucking diff tool to spot the difference between two tests cause they're 80 % the same.
Yeah. Thx for giving me brain cramps, motherducker.
I'm not an expert in unit tests, but if all test codebases look like the "usual stuff" in our projects...
It's no wonder bugs exist...10 -
A man flying in a hot air balloon suddenly realizes he’s lost. ♨💨🎈
He reduces height and spots a man down below.
He lowers the balloon further and shouts to get directions,
"Excuse me, can you tell me where I am?"
The man below says:
"Yes. You're in a hot air balloon, hovering 30 feet above this field."
"You must work in Information Technology," says the balloonist.
"I do" replies the man. "How did you know?"
"Well," says the balloonist, "everything you have told me is technically correct, but It's of no use to anyone."
The man below replies, "You must work in management."
"I do," replies the balloonist, "But how'd you know?"
"Well", says the man “you don’t know where you are or where you’re going, but you expect me to be able to help. You’re in the same position you were before we met, but now it’s my fault."7 -
I don't know if I'm being pranked or not, but I work with my boss and he has the strangest way of doing things.
- Only use PHP
- Keep error_reporting off (for development), Site cannot function if they are on.
- 20,000 lines of functions in a single file, 50% of which was unused, mostly repeated code that could have been reduced massively.
- Zero Code Comments
- Inconsistent variable names, function names, file names -- I was literally project searching for months to find things.
- There is nothing close to a normalized SQL Database, column ID names can't even stay consistent.
- Every query is done with a mysqli wrapper to use legacy mysql functions.
- Most used function is to escape stirngs
- Type-hinting is too strict for the code.
- Most files packed with Inline CSS, JavaScript and PHP - we don't want to use an external file otherwise we'd have to open two of them.
- Do not use a package manger composer because he doesn't have it installed.. Though I told him it's easy on any platform and I'll explain it.
- He downloads a few composer packages he likes and drag/drop them into random folder.
- Uses $_GET to set values and pass them around like a message contianer.
- One file is 6000 lines which is a giant if statement with somewhere close to 7 levels deep of recursion.
- Never removes his old code that bloats things.
- Has functions from a decade ago he would like to save to use some day. Just regular, plain old, PHP functions.
- Always wants to build things from scratch, and re-using a lot of his code that is honestly a weird way of doing almost everything.
- Using CodeIntel, Mess Detectors, Error Detectors is not good or useful.
- Would not deploy to production through any tool I setup, though I was told to. Instead he wrote bash scripts that still make me nervous.
- Often tells me to make something modern/great (reinventing a wheel) and then ends up saying, "I think I'd do it this way... Referes to his code 5 years ago".
- Using isset() breaks things.
- Tens of thousands of undefined variables exist because arrays are creates like $this[][][] = 5;
- Understanding the naming of functions required me to write several documents.
- I had to use #region tags to find places in the code quicker since a router was about 2000 lines of if else statements.
- I used Todo Bookmark extensions in VSCode to mark and flag everything that's a bug.
- Gets upset if I add anything to .gitignore; I tried to tell him it ignores files we don't want, he is though it deleted them for a while.
- He would rather explain every line of code in a mammoth project that follows no human known patterns, includes files that overwrite global scope variables and wants has me do the documentation.
- Open to ideas but when I bring them up such as - This is what most standards suggest, here's a literal example of exactly what you want but easier - He will passively decide against it and end up working on tedious things not very necessary for project release dates.
- On another project I try to write code but he wants to go over every single nook and cranny and stay on the phone the entire day as I watch his screen and Im trying to code.
I would like us all to do well but I do not consider him a programmer but a script-whippersnapper. I find myself trying to to debate the most basic of things (you shouldnt 777 every file), and I need all kinds of evidence before he will do something about it. We need "security" and all kinds of buzz words but I'm scared to death of this code. After several months its a nice place to work but I am convinced I'm being pranked or my boss has very little idea what he's doing. I've worked in a lot of disasters but nothing like this.
We are building an API, I could use something open source to help with anything from validations, routing, ACL but he ends up reinventing the wheel. I have never worked so slow, hindered and baffled at how I am supposed to build anything - nothing is stable, tested, and rarely logical. I suggested many things but he would rather have small talk and reason his way into using things he made.
I could fhave this project 50% done i a Node API i two weeks, pretty fast in a PHP or Python one, but we for reasons I have no idea would rather go slow and literally "build a framework". Two knuckleheads are going to build a PHP REST framework and compete with tested, tried and true open source tools by tens of millions?
I just wanted to rant because this drives me crazy. I have so much stress my neck and shoulder seems like a nerve is pinched. I don't understand what any of this means. I've never met someone who was wrong about so many things but believed they were right. I just don't know what to say so often on call I just say, 'uhh..'. It's like nothing anyone or any authority says matters, I don't know why he asks anything he's going to do things one way, a hard way, only that he can decipher. He's an owner, he's not worried about job security.13 -
I'm drunk and I'll probably regret this, but here's a drunken rank of things I've learned as an engineer for the past 10 years.
The best way I've advanced my career is by changing companies.
Technology stacks don't really matter because there are like 15 basic patterns of software engineering in my field that apply. I work in data so it's not going to be the same as webdev or embedded. But all fields have about 10-20 core principles and the tech stack is just trying to make those things easier, so don't fret overit.
There's a reason why people recommend job hunting. If I'm unsatisfied at a job, it's probably time to move on.
I've made some good, lifelong friends at companies I've worked with. I don't need to make that a requirement of every place I work. I've been perfectly happy working at places where I didn't form friendships with my coworkers and I've been unhappy at places where I made some great friends.
I've learned to be honest with my manager. Not too honest, but honest enough where I can be authentic at work. What's the worse that can happen? He fire me? I'll just pick up a new job in 2 weeks.
If I'm awaken at 2am from being on-call for more than once per quarter, then something is seriously wrong and I will either fix it or quit.
pour another glass
Qualities of a good manager share a lot of qualities of a good engineer.
When I first started, I was enamored with technology and programming and computer science. I'm over it.
Good code is code that can be understood by a junior engineer. Great code can be understood by a first year CS freshman. The best code is no code at all.
The most underrated skill to learn as an engineer is how to document. Fuck, someone please teach me how to write good documentation. Seriously, if there's any recommendations, I'd seriously pay for a course (like probably a lot of money, maybe 1k for a course if it guaranteed that I could write good docs.)
Related to above, writing good proposals for changes is a great skill.
Almost every holy war out there (vim vs emacs, mac vs linux, whatever) doesn't matter... except one. See below.
The older I get, the more I appreciate dynamic languages. Fuck, I said it. Fight me.
If I ever find myself thinking I'm the smartest person in the room, it's time to leave.
I don't know why full stack webdevs are paid so poorly. No really, they should be paid like half a mil a year just base salary. Fuck they have to understand both front end AND back end AND how different browsers work AND networking AND databases AND caching AND differences between web and mobile AND omg what the fuck there's another framework out there that companies want to use? Seriously, why are webdevs paid so little.
We should hire more interns, they're awesome. Those energetic little fucks with their ideas. Even better when they can question or criticize something. I love interns.
sip
Don't meet your heroes. I paid 5k to take a course by one of my heroes. He's a brilliant man, but at the end of it I realized that he's making it up as he goes along like the rest of us.
Tech stack matters. OK I just said tech stack doesn't matter, but hear me out. If you hear Python dev vs C++ dev, you think very different things, right? That's because certain tools are really good at certain jobs. If you're not sure what you want to do, just do Java. It's a shitty programming language that's good at almost everything.
The greatest programming language ever is lisp. I should learn lisp.
For beginners, the most lucrative programming language to learn is SQL. Fuck all other languages. If you know SQL and nothing else, you can make bank. Payroll specialtist? Maybe 50k. Payroll specialist who knows SQL? 90k. Average joe with organizational skills at big corp? $40k. Average joe with organization skills AND sql? Call yourself a PM and earn $150k.
Tests are important but TDD is a damn cult.
Cushy government jobs are not what they are cracked up to be, at least for early to mid-career engineers. Sure, $120k + bennies + pension sound great, but you'll be selling your soul to work on esoteric proprietary technology. Much respect to government workers but seriously there's a reason why the median age for engineers at those places is 50+. Advice does not apply to government contractors.
Third party recruiters are leeches. However, if you find a good one, seriously develop a good relationship with them. They can help bootstrap your career. How do you know if you have a good one? If they've been a third party recruiter for more than 3 years, they're probably bad. The good ones typically become recruiters are large companies.
Options are worthless or can make you a millionaire. They're probably worthless unless the headcount of engineering is more than 100. Then maybe they are worth something within this decade.
Work from home is the tits. But lack of whiteboarding sucks.37 -
Most people on Twitter:
Pinned tweet is self-promotional in nature, either advertising some accomplishment, something they’re selling, or introducing people to what they’re about as a person.
Me:8 -
Simulation doesn't provide enough framerate?
Easy. Change gravity, weights, and steps in the simulation.
Welcome to your real world.
... I wonder if that's what God did. 🤔36 -
Fuck big tech companies. Fuck their surveillance capitalism. Fuck their monopolies and anti-competitive bullshit. Fuck their tax dodging. Fuck their fighting against the right to repair. Fuck their worship of revenue above all else. Fuck their 30% cut on everything. Fuck their world-destroying revenue models built on heartless AI and zero customer service. Fuck their automated banning systems with zero explanation as to why the fuck they've banned you, with zero fucking recourse. Fuck their amoral psychopathic CEOs and their fucking space rockets. Fuck all this shit. When I'm done with this IT project I'm fucking done with tech.
Okay I'm done now.14 -
I haven't posted anything in a long time. Let me change that. I'm doing normal. Just busy. University and all. Seems like stuff is going to get a bit interesting. I can't say anything beyond that.
I hope everyone's alright.20 -
A few hours ago I got notified that youtube-dl had been subjected to a DMCA takedown from the RIAA (https://github.com/github/dmca/...). I was instantly asked to mirror a known copy of the repository, but was too late to do it.. the other mirror had already been taken down as well. Coincidentally I also had to deal with an attack from 2 email spamhausen at the same time (still ongoing too, but things have settled down). As we frantically started searching for other mirrors we did find another one at https://gitea.eponym.info/Mirrors/.... I've now also mirrored both youtube-dl and NewPipe to https://git.ghnou.su/mir/youtube-dl and https://git.ghnou.su/mir/newpipe respectively.
The reason for it in the DMCA takedown is ridiculous though... There were 3 links to copyrighted videos in the readme file. Yeah.. 3 links, that's what a whole project got taken down for. Sending an email to one of the maintainers or opening an issue was clearly too much work.
If you want to participate in the mirroring process, feel free to use my mirror as a source. I find takedowns like this unacceptable and this software should remain available on the internet, until the youtube-dl developers can appeal for takedown removal or move their project elsewhere. Together we can do it!22 -
A recruiter on call, going through my GitHub project with MIT License: "but it is taken from MIT, is it?"12
-
🦆 dRCS ---> dR Community Channel 🏗 We are steadily moving from Discord to Matrix! 😎 [more details]167
-
fork() can fail: this is important
Ah, fork(). The way processes make more processes. Well, one of them, anyway. It seems I have another story to tell about it.
It can fail. Got that? Are you taking this seriously? You should. fork can fail. Just like malloc, it can fail. Neither of them fail often, but when they do, you can't just ignore it. You have to do something intelligent about it.
People seem to know that fork will return 0 if you're the child and some positive number if you're the parent -- that number is the child's pid. They sock this number away and then use it later.
Guess what happens when you don't test for failure? Yep, that's right, you probably treat "-1" (fork's error result) as a pid.
That's the beginning of the pain. The true pain comes later when it's time to send a signal. Maybe you want to shut down a child process.
Do you kill(pid, signal)? Maybe you do kill(pid, 9).
Do you know what happens when pid is -1? You really should. It's Important. Yes, with a capital I.
...
...
...
Here, I'll paste from the kill(2) man page on my Linux box.
If pid equals -1, then sig is sent to every process for which the calling process has permission to send signals, except for process 1 (init), ...
See that? Killing "pid -1" is equivalent to massacring every other process you are permitted to signal. If you're root, that's probably everything. You live and init lives, but that's it. Everything else is gone gone gone.
Do you have code which manages processes? Have you ever found a machine totally dead except for the text console getty/login (which are respawned by init, naturally) and the process manager? Did you blame the oomkiller in the kernel?
It might not be the guilty party here. Go see if you killed -1.
Unix: just enough potholes and bear traps to keep an entire valley going.
Source: https://rachelbythebay.com/w/2014/...12 -
!dev
After almost a year of watching and experimenting (and not wanting to believe), I’ve learned something about the people i work with:
They don’t consider ideas based on the idea’s own merit, nor does a good idea improve their views of the person proposing it. They instead give the idea merit based entirely on who proposed it. It’s backwards.
• If they like or revere someone, their ideas cannot be bad, and they are never questioned even if they don’t make sense.
• If they sort of like someone, but that person challenges someone they like more, the ideas are dismissed and picked apart, and sometimes even reworded by the group and then accepted, with credit then given to the group. The person is still seen as wrong.
• If they dislike someone, none of their ideas are good, or they’re ignored, or ridiculed for reasons such as stating what is (only now) an abundantly obvious good idea.
(There is some overlap from the execs, where they occasionally consider an idea for its merit and then restate it, which means the idea is now coming from an exec, and is therefore readily accepted. Occasionally the original person gets some credit for this.)
It also applies to pictures of food in the cooking channel. If people like you more, they like your food more, while a professional-looking plate from a social leper gets ignored.
It’s like office politics, but applies to virtually every aspect of company life instead of just promotions, requests, and project assignments. It’s like replacing common courtesy and reason with a social FICO score: your contributions are only acceptable if you agree with your coworkers, laugh at their jokes, etc. And if you appear to like the same music, have recently posted more pictures of tacos or brownies than usual, etc.? Well, you had better do that before suggesting something you actually care about.
It’s social credit.
And it’s stupid.39 -
ALTHOUGH A EXPERT PROGRAMMER.DONT HAVE COMPUTER OF HIS OWN SO TRIED
SOME APPS
AND APPS BE LIKE.
System.out.println("hello world");
Le programmer:5 -
I’m kind of pissy, so let’s get into this.
My apologies though: it’s kind of scattered.
Family support?
For @Root? Fucking never.
Maybe if I wanted to be a business major my mother might have cared. Maybe the other one (whom I call Dick because fuck him, and because it’s accurate) would have cared if I suddenly wanted to become a mechanic. But in both cases, I really doubt it. I’d probably just have been berated for not being perfect, or better at their respective fields than they were at 3x my age.
Anyway.
Support being a dev?
Not even a little.
I had hand-me-down computers that were outmoded when they originally bought them: cutting-edge discount resale tech like Win95, 33/66mhz, 404mb hd. It wouldn’t even play an MP3 without stuttering.
(The only time I had a decent one is when I built one for myself while in high school. They couldn’t believe I spent so much money on what they saw as a silly toy.)
Using a computer for anything other than email or “real world” work was bad in their eyes. Whenever I was on the computer, they accused me of playing games, and constantly yelled at me for wasting my time, for rotting in my room, etc. We moved so often I never had any friends, and they were simply awful to be around, so what was my alternative? I also got into trouble for reading too much (seriously), and with computers I could at least make things.
If they got mad at me for any (real or imagined) reason (which happened almost every other day) they would steal my things, throw them out, or get mad and destroy them. Desk, books, decorations, posters, jewelry, perfume, containers, my chair, etc. Sometimes they would just steal my power cables or network cables. If they left the house, they would sometimes unplug the internet altogether, and claim they didn’t know why it was down. (Stealing/unplugging cables continued until I was 16.) If they found my game CDs, those would disappear, too. They would go through my room, my backpack and its notes/binders/folders/assignments, my closet, my drawers, my journals (of course my journals), and my computer, too. And if they found anything at all they didn’t like, they would confront me about it, and often would bring it up for months telling me how wrong/bad I was. Related: I got all A’s and a B one year in high school, and didn’t hear the end of it for the entire summer vacation.
It got to the point that I invented my own language with its own vocabulary, grammar, and alphabet just so I could have just a little bit of privacy. (I’m still fluent in it.) I would only store everything important from my computer on my only Zip disk so that I could take it to school with me every day and keep it out of their hands. I was terrified of losing all of my work, and carrying a Zip disk around in my backpack (with no backups) was safer than leaving it at home.
I continued to experiment and learn whatever I could about computers and programming, and also started taking CS classes when I reached high school. Amusingly, I didn’t even like computers despite all of this — they were simply an escape.
Around the same time (freshman in high school) I was a decent enough dev to actually write useful software, and made a little bit of money doing that. I also made some for my parents, both for personal use and for their businesses. They never trusted it, and continually trashtalked it. They would only begrudgingly use the business software because the alternatives were many thousands of dollars. And, despite never ever having a problem with any of it, they insisted I accompany them every time, and these were often at 3am. Instead of being thankful, they would be sarcastically amazed when nothing went wrong for the nth time. Two of the larger projects I made for them were: an inventory management system that interfaced with hand scanners (VB), and another inventory management system for government facility audits (Access). Several websites, too. I actually got paid for the Access application thanks to a contract!
To put this into perspective, I was selected to work on a government software project about a year later, while still in high school. That didn’t impress them, either.
They continued to see computers as a useless waste of time, and kept telling me that I would be unemployable, and end up alone.
When they learned I was dating someone long-distance, and that it was a she, they simply took my computer and didn’t let me use it again for six months. Really freaking hard to do senior projects without a computer. They begrudgingly allowed me to use theirs for schoolwork, but it had a fraction of the specs — and some projects required Flash, which the computer could barely run.
Between the constant insults, yelling, abuse (not mentioned here), total lack of privacy, and the theft, destruction, etc. I still managed to teach myself about computers and programming.
In short, I am a dev despite my parents’ best efforts to the contrary.30 -
My mom died when I was 7, after which my dad bought me a Commodore 64 so I had something to lose myself in during the mourning process.
I learned everything about that system, from my first GOTO statement to sprite buffers, to soldering my own EPROM cartridges. My dad didn't deal with the loss so well, and became a missing person 5 years later when I was 12.
I got into foster care with a bunch of strict religious cultists who wouldn't allow electronics in the house.
So I ran away at 14, sub-rented a closet in a student apartment using my orphan benefits and bought a secondhand IBM computer. I spent about 16 hours a day learning about BSD and Linux, C, C++, Fortran, ADA, Haskell, Livescript and even more awful things like Visual Basic, ASP, Windows NT, and Active Directory.
I faked my ID (back then it was just a laminated sheet of paper), and got a job at 15-pretending-to-be-17 at one of the first ISPs in my country. I wrote the firmware and admin panel for their router, full of shitty CGI-bin ASP code and vulnerabilities.
That somehow got me into a job at Microsoft, building the MS Office language pack for my country, and as an official "conflict resolver" for their shitty version control system. Yes, they had fulltime people employed just to resolve VCS conflicts.
After that I worked at Arianespace (X-ray NDT, visualizing/tagging dicom scans, image recognition of faulty propellant tank welds), and after that I switched to biotech, first phytogenetics, then immunology, then pharmacokynetics.
In between I have grown & synthesized and sold large quantities of recreational drugs, taken care of some big felines, got a pilot license, taught IT at an elementary school, renovated a house, and procreated.
A lot of it was to prove myself to the world -- prove that a nearly-broke-orphan-high-school-dropout could succeed at life.
But hey, now I work for a "startup", so I guess I failed after all.23 -
Could someone explain to this old fart what the kiki and bouba thing I keep seeing around the place is all about? Is it something to do with Köhler's work, or just something the urban dictionary hasn't yet catalogued?5
-
I absolutely love the email protocols.
IMAP:
x1 LOGIN user@domain password
x2 LIST "" "*"
x3 SELECT Inbox
x4 LOGOUT
Because a state machine is clearly too hard to implement in server software, clients must instead do the state machine thing and therefore it must be in the IMAP protocol.
SMTP:
I should be careful with this one since there's already more than enough spam on the interwebs, and it's a good thing that the "developers" of these email bombers don't know jack shit about the protocol. But suffice it to say that much like on a real letter, you have an envelope and a letter inside. You know these envelopes with a transparent window so you can print the address information on the letter? Or the "regular" envelopes where you write it on the envelope itself?
Yeah not with SMTP. Both your envelope and your letter have them, and they can be different. That's why you can have an email in your inbox that seemingly came from yourself. The mail server only checks for the envelope headers, and as long as everything checks out domain-wise and such, it will be accepted. Then the mail client checks the headers in the letter itself, the data field as far as the mail server is concerned (and it doesn't look at it). Can be something else, can be nothing at all. Emails can even be sent in the future or the past.
Postfix' main.cf:
You have this property "mynetworks" in /etc/postfix/main.cf where you'd imagine you put your own networks in, right? I dunno, to let Postfix discover what your networks are.. like it says on the tin? Haha, nope. This is a property that defines which networks are allowed no authentication at all to the mail server, and that is exactly what makes an open relay an open relay. If any one of the addresses in your networks (such as a gateway, every network has one) is also where your SMTP traffic flows into the mail server from, congrats the whole internet can now send through your mail server without authentication. And all because it was part of "your networks".
Yeah when it comes to naming things, the protocol designers sure have room for improvement... And fuck email.
Oh, bonus one - STARTTLS:
So SMTP has this thing called STARTTLS where you can.. unlike mynetworks, actually starts a TLS connection like it says on the tin. The problem is that almost every mail server uses self-signed certificates so they're basically meaningless. You don't have a chain of trust. Also not everyone supports it *cough* government *cough*, so if you want to send email to those servers, your TLS policy must be opportunistic, not enforced. And as an icing on the cake, if anything is wrong with the TLS connection (such as an MITM attack), the protocol will actively downgrade to plain. I dunno.. isn't that exactly what the MITM attacker wants? Yeah, great design right there. Are the designers of the email protocols fucking retarded?9 -
- Recruiters are as bad as car sellers
- They are not your friends
- They're not on your side
- The less you ask for a job the more they're gonna get
- Keep your cards on your side
- Don't tell them how much you make (they love to know that)
- Set a salary expectation for yourself and push it
- Expect a few-months long job hunting
- If you know you deserve the salary you are asking for keep pushing.
- Be patient.
- Don't give your 2 weeks notice until you signed already for the other company
- Medical insurance makes a big dent on salary
- Keep applying for jobs even if you are advanced in a hiring process.
So far this is what I've been learning through my current job seeking experience.
I hate job recruiters, if you can, avoid them at all costs10 -
Magical Realism is defined as what happens when a highly detailed, realistic setting is invaded by something too strange to believe.16