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
Search - "works on my machine"
-
Linux sucks.
Now now, chill. I'm using it as my main OS for a few years now. I know what I'm talking and this title is a bit click-baity, but this just has to go out there:
1. It's usable as a Windows replacement just fine - FALSE. XFCE4 is years old and buggy as hell especially on multi-monitor set-up, Gnome3 gets stuck more often than my Windows 98 machine used to, KDE is like a rich kid on meth. Plug in Bluetooth headphones? Well no, sorry, you have to research that online, since you'll probably need to install some packages for it to work. Did I say "work"? Well no, because after more research you realize that Debian on Gnome3 on gdm3 launches pulseaudio on its own, so you have 2 instances of pulseaudio, and one of them is stealing your headphones sometimes and you either have no sound or shitty sound. How do I know that you ask? The same way I know everything else - every time you try to do something new on any Linux, it involves a ton of research. Exciting research, don't get me wrong, but at this point it looks more like a toy than a reliable desktop computer operating system.
2. And why am I using pulseaudio? Why not alsa? years ago people were discussing on forums that pulseaudio is old and dead, yet here we are with new LTS release of Ubuntu still shining with Pulseaudio. How about several different service management systems being deprecated by new ones, each having different configurations and calling methods? Apparently systemd is old and lame now. It's a mix of 10 year old software that works badly, with a 5 year old replacement that works worse, somehow trying to live under the same roof. Does it work? Ask my headphones who sound like a fucking dial-up modem.
3. Let's talk about displays, shall we? xorg is old and deprecated, right? We got Wayland that's mostly stable. Don't know what that is? That's just basic knowledge for Linux. And when you try to install network-manager, it also tries to install Mir toolkits. Because why the fuck not install 3 display managers when you want a network manager, of which one is old and dying, one is young and stupid, and another is an infant that died of cancer?
4. Want to integrate with Google Drive? Yeah, there's a tool that mounts the drive as a local directory. Yeah only for Ubuntu. Want it on Debian? You need to compile it. Oh wait, it's on Ocaml, because fuck mainstream languages, we're hipsters. How do you compile Ocaml? Well you need to have Ocaml on your system, dummy. How do you do that? Well you need to compile Ocaml. Ok, how do I do that? Well, git clone, download and install some dependencies, configure, make... oh sorry, you're using libssl1.0.2g when you need libssl1.0.1f, nope, sorry, won't work. Want to install libssl1.0.1f? Why? You already have the "g", stupid! Want to remove libssl1.0.2g? Bye-bye literally everything that you have on your PC. But at least you got the "f". Does it work now? Well no, because you need libssl1.0.2g for another dependency to work.
And all I ever wanted was to get a fucking document from google drive (not nudes, I promise).
5. Want to watch a movie? Let me tear that screen in half and make the bottom half late by a couple of frames, because who needs vertical sync, right? Oh you do? Well install the native drivers maybe. Oh you have? Welcome to eternal Boot to Recovery mode, motherfucka!
---------------------------------
Yeah, most of the times things work just fine. But the reason I know what those things are and how they work is not curiosity. The reason that I know the inner workings of Linux much better than the inner workings of Windows, is because in those few years that I've been using it full time, it has caused me 10 times more headache than I have ever experienced with other systems. And it's not the usual annoyances like "OMG it rebooted when I didn't ask it to", but more like "Oh, it won't work and I need 2 days to find out why" kind of stuff, because even if you experience the same thing again, it's always caused by some new shit and the old solution won't work any more.
I still love it, and will continue to use it. I don't know why really. Maybe because I'm not afraid of fucking it up any more? Maybe because I can do what I want in it and recovering will be easier than on Windows?
It's a toy for me, after all these years. And I also use it for professional reasons.
But whenever someone presents it as a better alternative to Windows, I just want to puke.51 -
I’m a senior dev at a small company that does some consulting. This past October, some really heavy personal situation came up and my job suffered for it. I raised the flag and was very open with my boss about it and both him and my team of 3 understood and were pretty cool with me taking on a smaller load of work while I moved on with some stuff in my life. For a week.
Right after that, I got sent to a client. “One month only, we just want some presence there since it’s such a big client” alright, I guess I can do that. “You’ll be in charge of a team of a few people and help them technically.” Sounds good, I like leading!
So I get here. Let’s talk technical first: from being in a small but interesting project using Xamarin, I’m now looking at Visual Basic code, using Visual Studio 2010. Windows fucking Forms.
The project was made by a single dev for this huge company. She did what she could but as the requirements grew this thing became a behemoth of spaghetti code and User Controls. The other two guys working on the project have been here for a few months and they have very basic experience at the job anyways. The woman that worked on the project for 5 years is now leaving because she can’t take it anymore.
And that’s not the worse of it. It took from October to December for me to get a machine. I literally spent two months reading on my cellphone and just going over my shitty personal situation for 8 hours a day. I complained to everyone I could and nothing really worked.
Then I got a PC! But wait… no domain user. Queue an extra month in which I could see the Windows 7 (yep) log in screen and nothing else. Then, finally! A domain user! I can log in! Just wait 2 extra weeks for us to give your user access to the subversion rep and you’re good to go!
While all of this went on, I didn’t get an access card until a week ago. Every day I had to walk to the reception desk, show my ID and request they call my boss so he could grant me access. 5 months of this, both at the start of the day and after lunch. There was one day in particular, between two holidays, in which no one that could grant me access was at the office. I literally stood there until 11am in which I called my company and told them I was going home.
Now I’ve been actually working for a while, mostly fixing stuff that works like crap and trying to implement functions that should have been finished but aren’t even started. Did I mention this App is in production and being used by the people here? Because it is. Imagine if you will the amount of problems that an application that’s connecting to the production DB can create when it doesn’t even validate if the field should receive numeric values only. Did I mention the DB itself is also a complete mess? Because it is. There’s an “INDEXES” tables in which, I shit you not, the IDs of every other table is stored. There are no Identity fields anywhere, and instead every insert has to go to this INDEXES table, check the last ID of the table we’re working on, then create a new registry in order to give you your new ID. It’s insane.
And, to boot, the new order from above is: We want to split this app in two. You guys will stick with the maintenance of half of it, some other dudes with the other. Still both targeting the same DB and using the same starting point, but each only working on the module that we want them to work in. PostmodernJerk, it’s your job now to prepare the app so that this can work. How? We dunno. Why? Fuck if we care. Kill you? You don’t deserve the swift release of death.
Also I’m starting to get a bit tired of comments that go ‘THIS DOESN’T WORK and ‘I DON’T KNOW WHY WE DO THIS BUT IT HELPS and my personal favorite ‘??????????????????????15 -
LONG RANT AHEAD!
In my workplace (dev company) I am the only dev using Linux on my workstation. I joined project XX, a senior dev onboarded me. Downloaded the code, built the source, launched the app,.. BAM - an exception in catalina.out. ORM framework failed to map something.
mvn clean && mvn install
same thing happens again. I address this incident to sr dev and response is "well.... it works on my machine and has worked for all other devs. It must be your environment issue. Prolly linux is to blame?" So I spend another hour trying to dig up the bug. Narrowed it down to a single datamodel with ORM mapping annotation looking somewhat off. Fixed it.
mvn clean && mvn install
the app now works perfectly. Apparently this bug has been in the codebase for years and Windows used to mask it somehow w/o throwing an exception. God knows what undefined behaviour was happening in the background...
Months fly by and I'm invited to join another project. Sounds really cool! I get accesses, checkout the code, build it (after crossing the hell of VPNs on Linux). Run component 1/4 -- all goocy. run component 2,3/4 -- looks perfect. Run component 4/4 -- BAM: LinkageError. Turns out there is something wrong with OSGi dependencies as ClassLoader attempts to load the same class twice, from 2 different sources. Coworkers with Windows and MACs have never seen this kind of exception and lead dev replies with "I think you should use a normal environment for work rather than playing with your Linux". Wtf... It's java. Every env is "normal env" for JVM! I do some digging. One day passes by.. second one.. third.. the weekend.. The next Friday comes and I still haven't succeeded to launch component #4. Eventually I give up (since I cannot charge a client for a week I spent trying to set up my env) and walk away from that project. Ever since this LinkageError was always in my mind, for some reason I could not let it go. It was driving me CRAZY! So half a year passes by and one of the project devs gets a new MB pro. 2 days later I get a PM: "umm.. were you the one who used to get LinkageError while starting component #4 up?". You guys have NO IDEA how happy his message made me. I mean... I was frickin HIGH: all smiling, singing, even dancing behind my desk!! Apparently the guy had the same problem I did. Except he was familiar with the project quite well. It took 3 more days for him to figure out what was wrong and fix it. And it indeed was an error in the project -- not my "abnormal Linux env"! And again for some hell knows what reason Windows was masking a mistake in the codebase and not popping an error where it must have popped. Linux on the other hand found the error and crashed the app immediatelly so the product would not be shipped with God knows what bugs...
I do not mean to bring up a flame war or smth, but It's obvious I've kind of saved 2 projects from "undefined magical behaviour" by just using Linux. I guess what I really wanted to say is that no matter how good dev you are, whether you are a sr, lead or chief dev, if your coworker (let it be another sr or a jr dev) says he gets an error and YOU cannot figure out what the heck is wrong, you should not blame the dev or an environment w/o knowing it for a fact. If something is not working - figure out the WHATs and WHYs first. Analyze, compare data to other envs,... Not only you will help a new guy to join your team but also you'll learn something new. And in some cases something crucial, e.g. a serious messup in the codebase.11 -
Started being a Teaching Assistant for Intro to Programming at the uni I study at a while ago and, although it's not entirely my piece of cake, here are some "highlights":
* students were asked to use functions, so someone was ingenious (laughed my ass off for this one):
def all_lines(input):
all_lines =input
return all_lines
* "you need to use functions" part 2
*moves the whole code from main to a function*
* for Math-related coding assignments, someone was always reading the input as a string and parsing it, instead of reading it as numbers, and was incredibly surprised that he can do the latter "I always thought you can't read numbers! Technology has gone so far!"
* for an assignment requiring a class with 3 private variables, someone actually declared each variable needed as a vector and was handling all these 3 vectors as 3D matrices
* because the lecturer specified that the length of the program does not matter, as long as it does its job and is well-written, someone wrote a 100-lines program on one single line
* someone was spamming me with emails to tell me that the grade I gave them was unfair (on the reason that it was directly crashing when run), because it was running on their machine (they included pictures), but was not running on mine, because "my Python version was expired". They sent at least 20 emails in less than 2h
* "But if it works, why do I still have to make it look better and more understandable?"
* "can't we assume the input is always going to be correct? Who'd want to type in garbage?"
* *writes 10 if-statements that could be basically replaced by one for-loop*
"okay, here, you can use a for-loop"
*writes the for loop, includes all the if-statements from before, one for each of the 10 values the for-loop variable gets*
* this picture
N.B.: depending on how many others I remember, I may include them in the comments afterwards19 -
The Top 20 replies by programmers when their programs do not work:
20. "That's weird..."
19. "It's never done that before."
18. "It worked yesterday."
17. "How is that possible?"
16. "It must be a hardware problem."
15. "What did you type in wrong to get it to crash?"
14. "There is something funky in your data."
13. "I haven't touched that module in weeks!"
12. "You must have the wrong version."
11. "It's just some unlucky coincidence."
10. "I can't test everything!"
9. "THIS can't be the source of THAT."
8. "It works, but it hasn't been tested."
7. "Somebody must have changed my code."
6. "Did you check for a virus on your system?"
5. "Even though it doesn't work, how does it feel?
4. "You can't use that version on your system."
3. "Why do you want to do it that way?"
2. "Where were you when the program blew up?"
And the Number One reply by programmers when their programs don't work:
1. "It works on my machine."10 -
I just found new band called "localhost". They recently published their new album named "127.0.0.1" with an awesome song "It works on my machine".
It's awesome :D9 -
My biggest dev blunder. I haven't told a single soul about this, until now.
👻👻👻👻👻👻
So, I was working as a full stack dev at a small consulting company. By this time I had about 3 years of experience and started to get pretty comfortable with my tools and the systems I worked with.
I was the person in charge of a system dealing with interactions between people in different roles. Some of this data could be sensitive in nature and users had a legal right to have data permanently removed from our system. In this case it meant remoting into the production database server and manually issuing DELETE statements against the db. Ugh.
As soon as my brain finishes processing the request to venture into that binary minefield and perform rocket surgery on that cursed database my sympathetic nervous system goes into high alert, palms sweaty. Mom's spaghetti.
Alright. Let's do this the safe way. I write the statements needed and do a test run on my machine. Works like a charm 😎
Time to get this over with. I remote into the server. I paste the code into Microsoft SQL Server Management Studio. I read through the code again and again and again. It's solid. I hit run.
....
Wait. I ran it?
....
With the IDs from my local run?
...
I stare at the confirmation message: "Nice job dude, you just deleted some stuff. Cool. See ya. - Your old pal SQL Server".
What did I just delete? What ramifications will this have? Am I sweating? My life is over. Fuck! Think, think, think.
You're a professional. Handle it like one, goddammit.
I think about doing a rollback but the server dudes are even more incompetent than me and we'd lose all the transactions that occurred after my little slip. No, that won't fly.
I do the only sensible thing: I run the statements again with the correct IDs, disconnect my remote session, and BOTTLE THAT SHIT UP FOREVER.
I tell no one. The next few days I await some kind of bug report or maybe a SWAT team. Days pass. Nothing. My anxiety slowly dissipates. That fateful day fades into oblivion and I feel confident my secret will die with me. Cool ¯\_(ツ)_/¯13 -
Anyone ever had the opposite of "It works on my machine"? (Works everywhere else, just not on my machine)17
-
We are transferring our infrastructure to Google cloud and Docker. Last week one of our frontend developers tell me:
But it works without Docker!10 -
just finished installing Netscape 7.0 on my Win 10 machine. works surprisingly better than Edge. way better... when Netscape asked me to become the default browser I had to say yes.8
-
I really, honestly, am getting annoyed when someone tells me that "Linux is user-friendly". Some people seem to think that because they themselves can install Linux, that anyone can, and because I still use Windows I'm some sort of a noob.
So let me tell you why I don't use Linux: because it never actually "just works". I have tried, at the very least two dozen times, to install one distro or another on a machine that I owned. Never, not even once, not even *close*, has it installed and worked without failing on some part of my hardware.
My last experience was with Ubuntu 17.04, supposed to have great hardware and software support. I have a popular Dell Alienware machine with extremely common hardware (please don't hate me, I had a great deal through work with an interest-free loan to buy it!), and I thought for just one moment that maybe Ubuntu had reached the point where it just, y'know, fucking worked when installing it... but no. Not a chance.
It started with my monitors. My secondary monitor that worked fine on Windows and never once failed to display anything, simply didn't work. It wasn't detected, it didn't turn on, it just failed. After hours of toiling with bash commands and fucking around in x conf files, I finally figured out that for some reason, it didn't like my two IDENTICAL monitors on IDENTICAL cables on the SAME video card. I fixed it by using a DVI to HDMI adapter....
Then was my sound card. It appeared to be detected and working, but it was playing at like 0.01% volume. The system volume was fine, the speaker volume was fine, everything appeared great except I literally had no fucking sound. I tried everything from using the front output to checking if it was going to my display through HDMI to "switching the audio sublayer from alsa to whatever the hell other thing exists" but nothing worked. I gave up.
My mouse? Hell. It's a Corsair Gaming mouse, nothing fancy, it only has a couple extra buttons - none of those worked, not even the goddamn scrollwheel. I didn't expect the *lights* to work, but the "back" and "Forward" buttons? COME ON. After an hour, I just gave up.
My media keyboard that's like 15 years old and is of IBM brand obviously wasn't recognized. Didn't even bother with that one.
Of my 3 different network adapters (2 connectors, one wifi), only one physical card was detected. Bluetooth didn't work. At this point I was so tired of finding things that didn't work that I tried something else.
My work VPN... holy shit have you ever tried configuring a corporate VPN on Linux? Goddamn. On windows it's "next next next finish then enter your username/password" and on Linux it's "get this specific format TLS certificate from your IT with a private key and put it in this network conf and then run this whatever command to...." yeah no.
And don't get me started on even attempting to play GAMES on this fucking OS. I mean, even installing the graphic drivers? Never in my life have I had to *exit the GUI layer of an OS* to install a graphic driver. That would be like dropping down to MS-DOS on Windows to install Nvidia drivers. Holy shit what the fuck guys. And don't get me started on WINE, I ain't touching this "not an emulator emulator" with a 10-foot pole.
And then, you start reading online for all these problems and it's a mix of "here are 9038245 steps to fix your problem in the terminal" and "fucking noob go back to Windows if you can't deal with it" posts.
It's SO FUCKING FRUSTRATING, I spent a whole day trying to get a BASIC system up and running, where it takes a half-hour AT MOST with any version of Windows. I'm just... done.
I will give Ubuntu one redeeming quality, however. On the Live USB, you can use the `dd` command to mirror a whole drive in a few minutes. And when you're doing fucking around with this piece of shit OS that refuses to do simple things like "playing audio", `dd` will restore Windows right back to where it was as if Ubuntu never existed in the first place.
Thanks, `dd`. I wish you were on Windows. Your OS is the LEAST user friendly thing I've ever had to deal with.28 -
So I finally got my head out of my ass and decided to install some OS on that 500MB RAM legacy craptop from earlier.
*installs Tiny Core Linux*
Hmm.. how do I install extra packages into this thing again? *Googles how to install packages*
Aha, extensions it's called.. and you install them through their little package manager GUI, and then you also have to dick around with some TCE directory, and boot options for that. Well I ain't gonna do that. Why the fuck would I need to dick around with that? Just install the fucking files in /bin, /var, /etc and whatever the fuck you need to like a decent distro. I'll fucking load them whenever I need them, BY EXECUTING THE FUCKING BINARY. But no, apparently that's not how TCL works.
Also, why the fuck is this keyboard still set to US? I'm using a Belgian keyboard for fuck's sake.. "loadkeys be-latin1"
> Command not found.
Okay... (fucking piece of shit) how do I change the fucking keyboard layout for this shit?!
*does the jazz hand routine required for that*
So apparently I need to install a package for that as well. Oh wait, an EXTENSION!! My bad. And then you can use "loadkmap < /usr/share/kmap/something/something" to load the keyboard layout. Except that it doesn't change the fucking keymap at all! ONE FUCKING JOB, YOU PIECE OF SHIT!!!
That's fucking it. No more dicking around in TCL. If I wanted to fuck around with the system this much, I'd have compiled my own custom Linux system. Maybe I can settle with Arch Linux, that's a familiar distro to me.. I can easily install openbox in that and call it a day. But this is an i686 machine.. Arch doesn't support that anymore, does it?
*does another jazz hand routine on Arch Linux 32 and sees that there's a community-maintained project just for that*
Oh God bless you fine Arch Linux users for making a community fork!! I fucking love you.. thank you so much!! Arch it'll be then <318 -
Me and co-worker troubleshooting why he can't run the docker container for database.
Me: Check if the port is busy.
Co-worker: To my knowledge, it isn't.
Me: Strange, it just works fine for me and everyone else.
Me: And you're sure you didn't already start it previously?
*We verify that it isn't running*
Me: I'm pretty sure the port is busy from that error message. Try another port.
Co-worker: Already did, it didn't work.
Me: And by any chance restarting your machine won't solve anything?
*It doesn't solve anything*
Me: Alright, I have some work to do, but I'll get back to this. Tell me if you find a solution.
Co-worker: Alright.
*** Time passes, when I get back he has switched to windows, dualboot, same machine ***
Me: I don't think you'll have a better time running the docker image on windows.
Co-worker: Oh, that's not what I'm looking for. You see, I had a database on my windows partition recently and I thought maybe thats why it won't start.
Me (screaming internally) : WTF ARE YOU STUPID, WINDOWS AND LINUX ISNT RUNNING AT THE SAME FUCKING TIME.
Me (actually saying): I don't think computers work like that.
Co-worker: My computer is magical. It does strange things.
Me: That's a logical conclusion.
*** More time passes ***
Co-worker solves the problem. The port was busy because Ubuntu was already running PostgreSQL on that port.
Third co-worker shimes in: Oh yeah, I had the exact same problem and it took me a long time to solve it.
Everyone is sitting in arms reach of each other.
So not only was I right from the start. Someone else heard this whole conversation and didn't chime in with his solution. And the troubleshooting step of booting into windows and looking if a database is running there ???? Wtf
Why was I put on this Earth?7 -
*Doing a Peer Code Review of someone senior to me*
Me: This fix doesn't look like it will work, but maybe I don't understand. How does this fix the defect?
Senior Dev: *Blinks* It works on my machine
Me: But how does it work?
Senior Dev: It works when I run it on my machine...
Me: Do you know if this will fix the issue?
*Silence*
Never seen QA punt an issue back to development so fast.7 -
This rant means YOU if you are one of those people that "fix" their family's computers.
I was visiting my family over the holidays and while I managed to stay away from fixing their computers for the most time, I offered to help my grandfather to update the Garmin navigation device he wanted to gift my father. (They do not use smartphones for navigation, and my father doesn't want "these modern shitty phones".)
When booting up my grandfather's laptop, I realized something odd: Linux Mint boot screen. Wut?
And immediately I said: "It could be impossible to update your navigation device on this laptop."
As true enough, the Garmin Express update software requires either a Windows PC or a Mac; and even though I vaguely hoped it might be possible to upgrade through Linux, I just could not be bothered to find out that day.
What I wondered though is why did my grandfather of all people ran Linux!?
Don't get me wrong, I use Linux myself on my work machine and I never want to work with something else when coding; yet my grandfather is an end user of the show-me-where-and-what-and-how-often-to-click-kind.
What could he gain by it?
As it turns out, the computer nerd's friend of my uncle managed his PC. And my uncle and he decided unanimously my grandfather should better run Linux. Is it something my grandfather needs? No. BUT IT'S RIGHT! Suck it up! (My father's laptop therefore also runs Linux Mint. So he can't upgrade his new device either.)
This is the ugly kind of entitled nerd-dom I truly detest.
When discussing things further, my grandfather told me that he had problems ever since with his printer. Under Windows, he knew how to print on the special photo paper. Under Linux, all he can barely manage is to print on normal papers. Shame, printing photos was the only thing he liked doing on that device. What did my uncle's friend tell him?
"Get a decent printer!"
Fuck that guy.
It's fine if Linux works for you, but before you install it on a PC of a relative, you better make sure it fits their needs! If you have that odd member that only wants to write letters, read emails, use facebook, and wants to play that browser game, feel free to introduce them to Linux.
Yet if they have any special wish, don't stand in their way.
If they want to do something that requires a certain OS, don't just decide for them that their desire is wrong, but help them achieve their goal. If you can't align that with your ideology, then get the fuck out of my way and stop "helping".
For some people, a computer is a device to achieve a certain goal, a work. They only get hindered by your ill-advised attempts at virtue signalling.11 -
We are moving to kubernetes.
Nothing much has changed except we now get to say
it works on my cluster.
instead of
it work on my machine.1 -
Fuck code.org. Fuck code. Not code code, but "code" (the word "code"). I hate it. At least for teaching. Devs can use it as much as they want, they know what it means and know you can't hack facebook with 10 seconds of furiously typing "code" into a terminal. What the fuck are you thinking when you want me to hack facebook? No, when I program, it's not opening terminal, changing to green text and typing "hack <insert website name here, if none is given, this will result to facebook.com>" Can you just shut the fuck up about how you think that because you can change the font in google fucking docs you have the right to tell me what code can and can't do? No, fuck you. Now to my main point, fuck "code" (the string). It's an overused word, and it's nothing but a buzzword (to non devs, you guys know what you're talking about. how many times have you seen someone think they are a genius when they here the word "code"?) People who don't know shit don't call themselves programmers or devs, they call themselves coders. Why? It fucking sounds cool, and I won't deny that, but the way it's talked about in movies, by people, (fucking) code.org, etc, just makes people too much of a bitch for me to handle. I want everyone reading this rant who has friends who respect the fact that YOU know code (I truly believe everyone on devRant does), how it works, and it's/your limitations, AND that it takes hard work and effort, to thank god right now. If you're stuck with some people like me, I feel you. Never say "code" near them again. Say "program." I really hate people who think they know what an HTML tag is and go around calling themselves coders. Now onto my main point, code.org. FUCK IT. CAN YOU STOP RUINING MY FUCKING AP CS CLASS. NO CODE.ORG, I DON'T NEED TO WATCH YOUR TEN GODDAMN VIDEOS ON HOW TECHNOLOGY IS IMPORTANT, <sarcasm>I'VE BEEN LIVING UNDER A ROCK FOR THIRTY YEARS</sarcasm>. DO I REALLY NEED ANOTHER COPY OF SCRATCH? WAIT, NO, SCRATCH WAS BETTER. YOU HAD FUCKING MICROSOFT, GOOGLE, AND OTHER TECHNOLOGICAL GIANTS AND YOU FUCKED UP SO BAD YOU MADE IT WORSE THAT SCRATCH. JUST LETMECODE (yes I said that) AND STOP TALKING ABOUT HOW SOME IRRELEVANT ROBOT ARM DEVELOPED BY MIT IS USING AI AND MACHINE LEARNING TO MAKE SOME ROBOT EVOLVE?! IF YOU SPEND ONE MORE SECOND SAYING "INNOVATION" I'LL SHOVE THAT PRINT STATEMENT YOU HAVE A SYNTAX ERROR UP YOUR ASS. DON'T GET ME FUCKING STARTED ON HOW ITS IMPOSSIBLE TO DO ANYTHING FOR YOURSELF WHEN YOUR GETTING ALL THE ANSWERS WITHOUT DOING ANY WORK AND THE FACT THAT JAVASCRIPT IS YOUR FUCKING LANGUAGE. <sarcasm>GREAT IDEA, LETS GET THESE NEW PROGRAMMERS INTO A PROFESSIONAL ENVOIRMENT BY ADDING A DRAG AND DROP CODE (obviously we can say it) EDITOR</sarcasm> MAYBE IF YOU GOT THIS SHIT UP YOUR ASS AND TO YOUR BRAIN YOU'D ACTUALLY GET TO PRPGRAMMING IN YOUR ADVANCED AP COURSE. ITS CALLED FUCKING CODE.ORG FOR A REASON32
-
3 rants for the price of 1, isn't that a great deal!
1. HP, you braindead fucking morons!!!
So recently I disassembled this HP laptop of mine to unfuck it at the hardware level. Some issues with the hinge that I had to solve. So I had to disassemble not only the bottom of the laptop but also the display panel itself. Turns out that HP - being the certified enganeers they are - made the following fuckups, with probably many more that I didn't even notice yet.
- They used fucking glue to ensure that the bottom of the display frame stays connected to the panel. Cheap solution to what should've been "MAKE A FUCKING DECENT FRAME?!" but a royal pain in the ass to disassemble. Luckily I was careful and didn't damage the panel, but the chance of that happening was most certainly nonzero.
- They connected the ribbon cables for the keyboard in such a way that you have to reach all the way into the spacing between the keyboard and the motherboard to connect the bloody things. And some extra spacing on the ribbon cables to enable servicing with some room for actually connecting the bloody things easily.. as Carlos Mantos would say it - M-m-M, nonoNO!!!
- Oh and let's not forget an old flaw that I noticed ages ago in this turd. The CPU goes straight to 70°C during boot-up but turning on the fan.. again, M-m-M, nonoNO!!! Let's just get the bloody thing to overheat, freeze completely and force the user to power cycle the machine, right? That's gonna be a great way to make them satisfied, RIGHT?! NO MOTHERFUCKERS, AND I WILL DISCONNECT THE DATA LINES OF THIS FUCKING THING TO MAKE IT SPIN ALL THE TIME, AS IT SHOULD!!! Certified fucking braindead abominations of engineers!!!
Oh and not only that, this laptop is outperformed by a Raspberry Pi 3B in performance, thermals, price and product quality.. A FUCKING SINGLE BOARD COMPUTER!!! Isn't that a great joke. Someone here mentioned earlier that HP and Acer seem to have been competing for a long time to make the shittiest products possible, and boy they fucking do. If there's anything that makes both of those shitcompanies remarkable, that'd be it.
2. If I want to conduct a pentest, I don't want to have to relearn the bloody tool!
Recently I did a Burp Suite test to see how the devRant web app logs in, but due to my Burp Suite being the community edition, I couldn't save it. Fucking amazing, thanks PortSwigger! And I couldn't recreate the results anymore due to what I think is a change in the web app. But I'll get back to that later.
So I fired up bettercap (which works at lower network layers and can conduct ARP poisoning and DNS cache poisoning) with the intent to ARP poison my phone and get the results straight from the devRant Android app. I haven't used this tool since around 2017 due to the fact that I kinda lost interest in offensive security. When I fired it up again a few days ago in my PTbox (which is a VM somewhere else on the network) and today again in my newly recovered HP laptop, I noticed that both hosts now have an updated version of bettercap, in which the options completely changed. It's now got different command-line switches and some interactive mode. Needless to say, I have no idea how to use this bloody thing anymore and don't feel like learning it all over again for a single test. Maybe this is why users often dislike changes to the UI, and why some sysadmins refrain from updating their servers? When you have users of any kind, you should at all times honor their installations, give them time to change their individual configurations - tell them that they should! - in other words give them a grace time, and allow for backwards compatibility for as long as feasible.
3. devRant web app!!
As mentioned earlier I tried to scrape the web app's login flow with Burp Suite but every time that I try to log in with its proxy enabled, it doesn't open the login form but instead just makes a GET request to /feed/top/month?login=1 without ever allowing me to actually log in. This happens in both Chromium and Firefox, in Windows and Arch Linux. Clearly this is a change to the web app, and a very undesirable one. Especially considering that the login flow for the API isn't documented anywhere as far as I know.
So, can this update to the web app be rolled back, merged back to an older version of that login flow or can I at least know how I'm supposed to log in to this API in order to be able to start developing my own client?10 -
Very specific and annoying situation here:
- Working on a machine learning project with other people
- I'm on Linux, they use Windows
- We code in python
- We generally use vscode for development, and its python extension
I implement some basic neural networks with tensorflow, and add a bunch of logging for it. I test it on my machine and it works fine.
But, my group mates report that "after a few seconds the entire client hangs".
Apparently it only happens on Windows?
We start debugging the hell out of the code I implemented, added 20 log messages and sat there for a solid hour.
Until I make one very odd realization: the issue doesn't happen when I run the script in my terminal, instead of vscode with the debugger. So I try different debug settings, using an external terminal instead of vscode's built in debug console seems to fix it too.
And I make another observation: In the debug console, some messages don't seem to appear at all, while the external terminal shows them just fine.
So, turns out, that printing an epsilon character: “ε” (U+03B5), causes the entire thing to hang up.
It's the year 2020 and somehow we still can't do unicode.
I'm so done, what on earth.9 -
So there's a recent rant, about making a website work for IE.
I get it, you don't want to make it work for IE because you don't use IE.
But get this: you're not doing the site FOR YOU. You're doing it for the intended user, which is a lot of users that use all kinds of shit. If you don't want to do that, get the fuck out of web development, or from development overall. It's not for you.
I remember when I started my career, I had to make a web app that was intended to be used by, say, 100 people. As a developer I had the best tools for that - cool new 19" monitors, good GPU able to spit out a humongous resolution, and I designed that portal to look great. You know what my superior did then? He took away my 19" monitor and gave me a 14" monitor instead, saying that I became a spoiled brat that totally ignored the customer. I was angry at that, but immediately realized that he was completely right.
It doesn't matter! that it works on your machine. Who the fuck cares about your machine?
Does the software work for the intended user? If not, then you're a shitty developer.23 -
I have a whole new version of "works on my machine"
I keep saying "it worked on this robot" we have two robots and one of them is wired differently. It really messed with the code...2 -
tl;dr: Bossmang blaming my code for a database connection issue thrown from outside of my code. Bossmang doesn’t listen. Bossmang doesn’t want to believe it’s a connection issue.
———
Bossmang: The code you wrote is causing insane spec failures in the release branch! It’s hard to follow because it’s so insane, but the cause is your code not properly handling undefined settings! Look at this! <spec>
Me: Specs pass on my machine. I ran it with both a set and nil value. <screenshots>
Bossmang: It works when you set it to nil.
Me: But a setting that doesn’t exist returns nil? <screenshot>
Bossmang: Not seeming to.... So this is the spec failure from the release: “No connection pool with id primary found. <stacktrace that starts outside of my code>”
Me: ... That’s a DB connection error. It’s also being thrown outside of my code, and from a `super` call to Rails.
Bossmang: But <unrelated> and <unrelated> and <other spec> is failing, and if I set the version, it has <other failure> instead! That calls your code first.
Me: It’s a database error. Also: <explains probable, unrelated cause of other failures, like someone didn’t mock a fucking external api call>
Bossmang: But if I restore a DB backup, it fails again.
Me: Restoring uses a dB connection, which could be exhausting the pool depending on the daemons you have running.
Bossmang: perhaps.
...
Bossmang: I still think it’s related to spec ordering.
🤦🏻♀️🤦🏻♀️🤦🏻♀️🤦🏻♀️🤦🏻♀️
This is tiring.12 -
Hello again, everyone. As Sunday comes to a close, and Monday is fast approaching, I'll share with you the likely cause of my death by stroke and/or heart attack:
MONDAY MORNING COFFEE OF HORROR
Disclaimer: Do NOT try this. I am a professional addict. I am not responsible for anything this brew from hell causes to you and/or those around you.
So, I wake up, feeling like I haven't slept for days, or just notice the fucking alarm clock shrieking because I pulled an all-nighter.
Step 1: Silence alarm clock via mild violence.
Step 2: Get the coffee machine to brew some filter coffee (espresso works too)
Step 3: Get milk and ice cubes from the fridge (both are needed, I don't care if you don't like milk, trust me)
Step 4: Get 2 spoonfuls (not tea spoon, and actually FULL spoonfuls) into the biggest glass you have
Step 5: Pour just a little of the warm filter coffee into the glass, just to get the instant coffee wet enough, and start mixing, until the result looks like the horror you unleashed in your toilet a few minutes ago (and will do so again in a few)
Step 6: Mix in 25-50 ml milk, just for the aesthetic change of colour of the devil-brew, and to add the necessary amount of lactic acid to react with the coffee to produce chemical X
Step 7: Add ice cubes to taste (if you are new to this, add a lot)
Step 8. Slowly add the filter coffee while mixing furiously, so that the light brown paste at the bottom get dissolved (it's harder than it sounds)
Now, take a deep breath. Before you is a disgusting brew undergoing a chemical reaction, and your moves need to be precise otherwise it will explode. Note that sugar or any other form of sweetener is FORBIDDEN, as it will block the reaction chain and the result won't be as potent.
Take a straw (a big one, not those needle-like ones that some cafeterias give to fool you into believing that the coffee is more than 150ml). Put it inside the mix, and check that the route to the bathroom is free of obstacles.
Now, clench your abs, close your nose if you are new to this, grab the straw and DRINK!
DRINK LIKE THERE IS NO TOMORROW!
THAT BROWN DEVIL'S BILE WILL HAVE YOUR INTESTINES SPASM AND DANCE THE MACARENA WHILE TWIRLING A HULA HOOP!
YOUR HEART WILL GO OVERDRIVE HARDER THAN YOUR PC'S CPU WHEN COMPILING ON ECLIPSE AND BROWSING WITH IE AT THE SAME TIME.
The combination of caffeine and lactic acid will bring out the perfectly disgusting combination of sour and bitter usually expected in rotting lemons. After you manage to chug it down (DON'T SPILL OR SPIT ANY!) you have 30 - 60 seconds max to run to the porcelain throne, where you will spend the next 30-60 minutes.
After that, nothing can stop you! You will fix bugs, write entire codebases from scratch, punch that annoying coworker, punch that boss! You will be a demigod among mortals for the next 6-8 hours!
Your recipes for Monday morning coffee?15 -
I did it: I built up another PC identical to my machine (https://devrant.com/rants/2923002/...) for my SO and installed Linux Mint for her, too. That had been my primary motive for an easy and stable distro in the first place.
Now that didn't come out of the blue. We were discussing the end of Win 7 already two years ago where I brought up my concerns with Win 10 - mainly the forced, lousy updates and the integrated spyware, and that I was considering Linux as way out.
I had expected quite some pushback because she had been exclusively on Windows since the 90s. However, I didn't sell Linux as upgrade. It's just that Win 7 is over, progress under Windows as well, and we're in damage control mode. Went down pretty well.
Fast forward three weeks - remember, first time Linux user and no IT-geek:
- it just works, including web, videos, and music.
- she likes Cinnamon.
- nice desktop themes.
- Redshift is as good as f.lux.
- software installation is just like an app store.
- updates work via an easy tray icon.
- quote: "Linux is great!"
- given this alternative, she doesn't understand why people willingly put up with Win 10.
- no drive letters: already forgotten.
- popcorn for upcoming Win 10 disaster stories.
- why do Windows updates take that long?
- why does Windows need to reboot for every update?
- why does Windows hang in that update boot screen for so long?
I'm impressed that Linux has come so far that it's suitable for end users. Next in line is her father who wants to try Linux, but that will be a story for tomorrow.35 -
more buzzword translations with a story (because the last one was pretty well liked):
"machine learning" -> an actual, smart thing, but you generally don't need any knowledge to use it as they're all libraries now
"a bitcoin" -> literally just a fucking number that everyone has
"powerful" -> it's umm… almost working (seriously i hate this word, it really has a meaning of null)
"hacking" -> watching a friend type in their facebook password with a black hoodie on, of course (courtesy of @GeaRSiX)
"cloud-based service" -> we have an extra commodore 64 and you can use it over the internet for an ever-increasing monthly fee
"analysis" -> two options: "it's not working" or "its close enough"
"stress-free workplace" -> working from home without pants
now for a short story:
a few days ago in code.org "apscp" class, we learnt about how to do "top down design" (of course, whatever works before for you was not in option in solving problems). we had to design a game, as the first "step" of "top down design," we had to identify three things we needed to do to make a game.
they were:
1. characters
2. "graphics"
3. "ai"
graphics is literally a png, but what the fuck do you expect for ai?
we have a game right? oh wait! its getting boring. let's just sprinkle some fucking artificial intelligence on it like i put salt on french fries.
this is complete bullshit.
also, one of my most hated commercials:
https://youtu.be/J1ljxY5nY7w
"iot data and ai from the cloud"
yeah please shut the fuck up
🖕fucking buzzwords6 -
Company website with images path relative to my localhost/
....
so everything work just on my machine .
the client and pm send me emails to fix the sites but I open the url everything works correctly.
after 5 days the pm attach an image .. at that moment I was like 😖😖😖😖😖😖2 -
Hey look, npm broke my project again. Surprise!
Code and dependencies on my local machine, all untouched for a couple of weeks, no longer works. I've no idea how it even managed that.
Oh, and `npm update` crashes.
eventually solved by upgrading npm and running `npm update --depth 500` because some arbitrary child dependencies changed without updating the parent packages, ofc. on my local machine. without me having run `npm update` for about a month.
because of course that makes sense.
Second time in two months, too.
isn't npm great?3 -
My work laptop (windows) updated yesterday. Today my monitors keep flickering, hanging, and going black for a few seconds then come back with an error that my display drivers crashed. Since I have basically zero access to anything admin on this machine, I put in a help desk ticket with all the details, the error message, even screen shots which took forever to get because of all the crashes.
They finally respond after about an hour, and tell me that my computer does not support 3 screens so I will have to use 2, and that is what is causing the crash. Well I have been using 3 screens with this computer since I started there in 2014, and it has worked perfectly until the update, so I asked if they could revert the update.
He told me that they could not revert it, and not only that, but I couldn't have been using 3 monitors before because the computer doesn't support it and never has. REALLY??? I just freaking told you I have been doing that for over 3 years so obviously it does support it you deaf, stupid retard. Try using your brain for 2 seconds and work on a solution instead of calling me a liar and dismissing my issue without thought.
After going back and forth for about 5 minutes I gave up and hung up. Finally I fixed it by switching out my docking station with another one I found laying around. Not sure why that worked, but I'm back to working on all 3 monitors. I called the guy back to tell him it's working and sent a picture of my setup, his response: "Well I don't know why that works because your laptop is too old to support that."
Useless...3 -
I'm a DevOps engineer. It's my job to understand why this type of shit is broken, and when I finally figure it out, I get so mad at bullish players like AWS.
It's simple. Install Python3 from apt.
`apt-get update && apt-get install -y python3-dev`
I've done this thousands of times, and it just works.
Docker? Yup.
AWS AMI? Yup.
Automation? Nope.
WTF? Let's waste 2.5 hours and figure out why this morning.
In docker: `apt-cache policy python3-dev` shows us:
python3-dev:
http://archive.ubuntu.com/ubuntu focal/main amd64 Packages
But in AWS instance, we see we're reading from "http://us-east-1.ec2.archive.ubuntu.com/... focal/main" instead!
Ah, but why does it fail? AWS is just using a mirror, right? Not quite.
When the automation script is running, it's beating AWS to the apt mirror update! My instance, running on AWS is trying to access the same archive.ubuntu.com that the Docker container tried to use. "python3-dev" was not a candidate for installation! WTF Amazon? Shouldn't that just work, even if I'm not using your mirror?
So I try again, and again, and again. It works, on average, 1 out of every 5 times. I'm assuming this means we're seeing some strange shit configuration between EC2 racks where some are configured to redirect archive.ubuntu.com to the ec2 mirror, and others are configured to block. I haven't dug this far into the issue yet, because by the time I can SSH into the machine after automation, the apt list has already received it's blessed update from EC2.
Now I have to build a graceful delay into my automation while I wait for AWS to mangle, I mean "fix up" my apt sources list to their whim.
After completely blowing my allotted time on this task, I just shipped a "sleep" statement in my code. I feel so dirty. I'm going to go brew some more coffee to be okay with my life. Then figure out a proper wait statement.7 -
I’ve started the process of setting up the new network at work. We got a 1Gbit fibre connection.
Plan was simple, move all cables from old switch to new switch. I wish it was that easy.
The imbecile of an IT Guy at work has setup everything so complex and unnecessary stupid that I’m baffled.
We got 5 older MacPros, all running MacOS Server, but they only have one service running on them.
Then we got 2x xserve raid where there’s mounted some external NAS enclosures and another mac. Both xserve raid has to be running and connected to the main macpro who’s combining all this to a few different volumes.
Everything got a static public IP (we got a /24 block), even the workstations. Only thing that doesn’t get one ip pr machine is the guest network.
The firewall is basically set to have all ports open, allowing for easy sniffing of what services we’re running.
The “dmz” is just a /29 of our ip range, no firewall rules so the servers in the dmz can access everything in our network.
Back to the xserve, it’s accessible from the outside so employees can work from home, even though no one does it. I asked our IT guy why he hadn’t setup a VPN, his explanation was first that he didn’t manage to set it up, then he said vpn is something hackers use to hide who they are.
I’m baffled by this imbecile of an IT guy, one problem is he only works there 25% of the time because of some health issues. So when one of the NAS enclosures didn’t mount after a power outage, he wasn’t at work, and took the whole day to reply to my messages about logins to the xserve.
I can’t wait till I get my order from fs.com with new patching equipment and tonnes of cables, and once I can merge all storage devices into one large SAN. It’ll be such a good work experience.7 -
If you write a tutorial or a book with code samples please take the time to ensure that (a) you cover everything that is needed to get your samples to work properly and (b) that your samples actually to work.
It is frustrating the bloody hell out of me typing your code character by character into my machine just to have my compiler screaming at me.
On that note: just wasted a week on rewriting a whole bloody library that was "broken" just to discover that the library works just fine but the freaking tutorial on the very page was faulty.5 -
> pic related
This is what I've been putting up with on my personal machine for months.
tl;dr: Suggestions for a wlan card/adapter for Debian9? My current RealTek wnic is barely functional, and my replacement (a TPLink... something) is completely incompatible.
I don't need anything super fancy, though I would ofc love support for AC/AD if at all possible.
I don't care (too much) about price, since I'm only going to buy one and very likely won't replace it for years.
------
I'm running Debian9 and have a have a RealTek card. Even when it's not arbitrarily dropping packets like in the screenie, it randomly caches them for up to 90 seconds and dumps them hilariously out of order. I can't play games like that. I can barely even browse devRant. Steam goes offline about once every 30 seconds, and therefore spams all of my friends with online/offline notifications. Streaming "works" on good days. Git works fine, however, so most days I don't notice the connection issues.
And yes, I'm using a community-patched driver (rtl8188ce) that's supposed to fix some of RealTek's more major screwups and increase the transmit power by ~20x. The driver helps, but only a little.
I've done some reasearch on wlan linux support, but haven't found anything very reassuring. Mostly just forum posts saying things like "Intel cards usually work fine!" I don't want to gamble. I just want to buy a card that will work and be done with it. :(
Suggestions? Insight?12 -
Ok friends let's try to compile Flownet2 with Torch. It's made by NVIDIA themselves so there won't be any problem at all with dependencies right?????? /s
Let's use Deep Learning AMI with a K80 on AWS, totally updated and ready to go super great always works with everything else.
> CUDA error
> CuDNN version mismatch
> CUDA versions overwrite
> Library paths not updated ever
> Torch 0.4.1 doesn't work so have to go back to Torch 0.4
> Flownet doesn't compile, get bunch of CUDA errors piece of shit code
> online forums have lots of questions and 0 answers
> Decide to skip straight to vid2vid
> More cuda errors
> Can't compile the fucking 2d kernel
> Through some act of God reinstalling cuda and CuDNN, manage to finally compile Flownet2
> Try running
> "Kernel image" error
> excusemewhatthefuck.jpg
> Try without a label map because fuck it the instructions and flags they gave are basically guaranteed not to work, it's fucking Nvidia amirite
> Enormous fucking CUDA error and Torch error, makes no sense, online no one agrees and 0 answers again
> Try again but this time on a clean machine
> Still no go
> Last resort, use the docker image they themselves provided of flownet
> Same fucking error
> While in the process of debugging, realize my training image set is also bound to have bad results because "directly concatenating" images together as they claim in the paper actually has horrible results, and the network doesn't accept 6 channel input no matter what, so the only way to get around this is to make 2 images (3 * 2 = 6 quick maths)
> Fix my training data, fuck Nvidia dude who gave me wrong info
> Try again
> Same fucking errors
> Doesn't give nay helpful information, just spits out a bunch of fucking memory addresses and long function names from the CUDA core
> Try reinstalling and then making a basic torch network, works perfectly fine
> FINALLY.png
> Setup vid2vid and flownet again
> SAME FUCKING ERROR
> Try to build the entire network in tensorflow
> CUDA error
> CuDNN version mismatch
> Doesn't work with TF
> HAVE TO FUCKING DOWNGEADE DRIVERS TOO
> TF doesn't support latest cuda because no one in the ML community can be bothered to support anything other than their own machine
> After setting up everything again, realize have no space left on 75gb machine
> Try torch again, hoping that the entire change will fix things
At this point I'll leave a space so you can try to guess what happened next before seeing the result.
Ready?
3
2
1
> SAME FUCKING ERROR
In conclusion, NVIDIA is a fucking piece of shit that can't make their own libraries compatible with themselves, and can't be fucked to write instructions that actually work.
If anyone has vid2vid working or has gotten around the kernel image error for AWS K80s please throw me a lifeline, in exchange you can have my soul or what little is left of it5 -
Okay you bastards ya got me: I fucking enjoy using Linux as my dev environment.
There, I SAID IT -
BUT DON'T THINK FOR A SECOND IT MEANS THAT I STOPPED HATING IT
Oh the fucking love hate relationship to fucking Linux.
"Hey, ihatecomputers! How many hours per year did you spend fixing internet connectivity issues on Windows?" you ask. Well, close to fucking 0 you goddamned imbecile. But on Linux? I don't even want to talk about it.
And what about that time when I wanted to connect my bluetooth headphones so I could listen to music while studying? Well, by the time my headphones were connected to my machine (usually a one second operation) I had no time left for, you know, actual studying. Oh my god, it's the most trivial fucking thing.
Well, at least that particular issue got solved.
Unlike that fucking Ethernet connection which has been fucking out of commission since I started using fucking Linux. Wifi works just well enough to make it not worth pouring more time into troubleshooting that shit, but just barely though because my wifi IS FUCKING DOGSHIT ON LINUX
...
But fuck me if it isn't it the most lean thing ever! It's the goddamned opposite of bloated. So smooth and snappy. And free as in slurred speech, or whatever. It makes me happy. When I'm not seething with rage, that is.
Yeah I guess that's it, thanks for tuning in.
~ihatecomputers17 -
someone pushes code and breaks ci.
me: you broke the build
her: (ignoring the explicit error message) it works on my machine, travis is broken
me: it doesn't even work on my machine!
her: I forgot to push one file, sorry.1 -
Today a junior dev from the company I'm working at as consultant, suddenly shouted:
😤"why the hell my software behaves differently on every pc here in the office ... But it works on my machine? I'm sure there's something wrong with the OS/Framework"
🤔 let me think for a moment ...
* is it because the whole office keep developing like the ancient romans did?
* is it because that software is such a mess that requires a wizard in order to manually change all the magic configuration strings ?
* is it because every damn developer there has his particular environment and the word "container" reminds you only the show where the people bid for unclaimed shit ?
* is it because the "guru" at your company decided it was a super cool idea to wrap EVERY single external library (that just works out of the box) into some obscure static helper without even a single trace of documentation and clue of what's wrong?
🤗"I don't know... Must be a bug in the OS or framework for sure" -
Taking a database class, prof insists on using Microsoft Sql server 2014. "Okay cool" said the Microsoft surface fan boy inside me as I installed it. "Holy shit this is using 6 fucking GBs?? Eh it's okay I trust" again said my Microsoft fanboy self. Finished installing, makes queries and it works. Cool.
Go to run Sql server again next day and get an error (nothing displayed, just a box pop up and then a crash) I use some Google skills. Change a bunch of shit and still it persists. "Just uninstall it and reinstall again" says my prof. I do so except random errors during installation saying Sql already exists even though I just uninstalled it. "Maybe it's some registry keys messing with it!" do some digging, remove unneeded registry keys and try again. Installation finished but a whack of features say failed to install.
I sit and try to work this shit out for the next four hours (not paying attention to my class) and still can't get Sql to completely uninstall itself. I try iobit uninstaller, command line uninstalling, fucking everything but still not working. Slowly my fanboy side is wishing that the windows symbol on the back of my machine was an apple.
I ended up having to backup all my files and reinstalling windows to get it working properly. Holy sweet fuck. The worst part is when this class is done ill probably need to reinstall yet again to save the 6gb it's sucking up. So if you're not sure whether you need something as heavy as Microsoft Sql server or not for your application, don't use it! It's a fucking virus that is super difficult to remove.
Tldr: life long Microsoft fanboy becomes apple convert in a day of using Microsoft Sql server.9 -
Source code works on my local machine, even when I present it to the relevant users; no body panics its all part of the plan. Place it on the server and it does not work AND EVERYONE LOSES THEIR MIND!1
-
tired of my tor browser not letting me do my job (still configuring settings, but it's taking too long and i'm getting tired of it), and chrome doesn't show my mouse pointer (which works everywhere else on my machine).
Time to go back to firefox. downloading nightly this time, though. thoughts on it? any default settings I should change for security or to make it better in general?11 -
As DevOps it’s my duty to make sure these excuses no longer exist. Software should just work everywhere all the time4
-
Raging here, overheating really. One spends thousands on technology that is promoted with the catch phrase "it just works", yet here I am, after updating my fancy new emoji maker (iphone x) to 11.2 and then attempt to carry on working by compiling my code to test some new features. And...
oh, whats this xCode? You have a problem? You can't locate something? You can't locate iOS 11.2 (15C114)... sorry and you think that this "May not" be supported in current version of Xcode?
Let me get this straight you advanced piece of technological wizardy, you know you are missing something, you in fact know what it is, you can actually TELL me what is missing and yet, still, in 2017, you can't go FETCH it?????
Really? All you can do is sit, with that stupid look on your face, and watch the paint dry? Your stuck? That's it?
I hate you for the false pretense of advanced capability. and for your lack of a consistent dark theme so my eyes stop bleeding when reading your "I don't know what to do" messages...
By the way, maybe you can stop randomly crashing, or pinwheeling, I get that your bored as a machine designed to crunch numbers/data/code all day long and that for fun you feel you have to add some color to your subsitance. But stop it. Do what I'm told you can do, "JUST WORK" for once without me having to drag you forward kicking and screaming.
K. that feels better. Now for some whiskey.5 -
Lessons I've learnt so far on programming
-- Your best written code today can be your worst tomorrow (Focus more on optimisation than style).
-- Having zero knowledge of a language then watching video tutorials is like purchasing an arsenal before knowing what a gun is (Read the docs instead).
-- It's works on my machine! Yes, because you built on Lenovo G-force but never considered the testers running on Intel Pentium 0.001 (Always consider low end devices).
-- "Programming" is you telling a story and without adding "comments" you just wrote a whole novel having no punctuation marks (Always add comments, you will thank yourself later for it I promise).
-- In programming there is nothing like "done"! You only have "in progress" or "abandoned" (Deploy progressively).
-- If at this point you still don't know how to make an asynchronous call in your favourite language, then you are still a rookie! take that from me. (Asynchronous operation is a key feature in programming that every coder should know).
-- If it's more than two conditions use "Switch... case" else stick with "If... else" (Readability should never be under-rated).
-- Code editors can MAKE YOU and BREAK YOU. They have great impact on your coding style and delivery time (Choose editors wisely).
-- Always resist the temptation of writing the whole project from scratch unless needs be (Favor patching to re-creation).
-- Helper methods reduces code redundancy by a large chunk (Always have a class in your project with helper methods).
-- There is something called git (Always make backups).
-- If you don't feel the soothing joy that comes in fixing a bug then "programming" is a no-no (Coding is fun only when it works).
-- Get angry with the bugs not the testers they're only noble messengers (Bugs are your true enemy).
-- You would learn more than a lot reading the codes of others and I mean a lot! (Code review promotes optimisation and let's you know when you are writing macaroni).
-- If you can do it without a framework you have yourself a big fat plus (Frameworks make you entirely dependent).
-- Treat your code like your pet, stop taking care of it and it dies! (Codes are fragile and needs regular updates to stay relevant).
Programming is nothing but fun and I've learnt that a long time ago.6 -
I wrote an important test-case for this complicated/hard-to-understand program and i can proudly say "it doesn't work on my machine". On other machines it works as expected.
Should i really investigate this or focus on other tasks?12 -
The reason why "it works on my machine":
Python: dependencies
You add the next language and reason13 -
AAAAAGH i am exhausted! I went with the stupidest decision, i am regretting every movement of it and yet moving deeper and deeper into it. Follow up for this : https://devrant.com/rants/2955584/...
There is a whole lot of rant in between that day and today, but the gists are:
1. I went through a series of stupid shit they threw at me, tried to be professional yet slacking at the same time, because he still wanted to hire me ("because of some hurry") and i was in a conflict to weather i want to get hired to this shit or not.
2. I eventually have agreed and have found somewhat of a way: (a) he's willing to give the salary amount I asked which was not very much but still a decent amount (b) he keeps making those inappropriate requests to do work then and there , but I give him my own timings and totally disconnect with him after that.
3. Those guys are the dumbest possible fucks!!! And they think they are dealing with biscuit factory labors(no offence)! I am getting the money but i believe i am burning my brain with those people.
They fucking don't even know how git works! they zip each version, then unzip and oh god what a mess! Their code base is so shitty its like some drunkard wanted to piss all over their app. And he won't give me access to code, I have to use anydesk to work on his machine, as if i want to keep that piece of crap to waste my memory space.
They are definitely not a startup, they are fucking government agency in the name of startup and i don't even know who or why is someone giving them the money. No designs, no decisions, just "take it from this app and paste it here", or, "this should be umm... i guess"... FUCKING SPEAK MAN!! Just to enable an autosuggestion on one of the toolbars, their backend guy wants me to make a getall request, and run filter functions on the client side! So just to make an autocomplete, 1 million search results would be fetched, converted to pojo, filtered and displayed on every letter stroke?WTF?is it even a correct system design?
after this internship I publicly declare myself a whore for good words and money . i need a shower8 -
I once agreed to maintain and develop an application used in a different section of the school to keep inventory and make sure everything is where it is supposed to be.
At first there was enthusiasm, together with 2 of my classmates we agreed and git clone-d the .NET application that now graduated students built and maintained for the past few years. What could go wrong right?!
It became clear that the original students that worked on it followed an older curriculum, meaning they still got taught .NET instead of the core variant that we get now, not only that but it also seemed that they either did not fully grasp the Clean/Onion architecture or didn't get it in class since there were infrastructure components in the 'Domain' project of the solution. Think of 2 DBContexts in the domain model, yep.
One of us bailed in the first week, the other one and I felt bad for the people using the app so we went on and tried to work on the first bugs that were described in a document. One of these bugs was 'whenever I filter on something in the list, everybody gets to see that filter on their screen instead of only me'. Woah that's weird! Let's see how they put that together!
Oh god, they are using a _static_ variable to store filters, no wonder that it doesn't work properly. Ever heard of sessions?!
Second bug: Sometimes people can't create an account when we sign them up from the admin panel. Alright that is weird, let's figure that one out! Wait a second it seems to work in development? What's this about.
Oh wait I can't create an account on production either? Oh that's weird, wait a second... Why do I have to put my e-mail in a form that was sent to me through e-mail? Why is my address not filled in already? OOH, if someone types in the wrong e-mail address (which is easy since our school has 4 variants of the same f*cking e-mail address) it won't work since it can't recognize the user! Brilliant! Remove e-mail input box and make a token/queryparam determine the user account.
Ah that seems good, it's a mess but it seems a tiny bit better now, great! We're making progress and some sweet buck.
Next bug, trillions of 50x errors on random pages, that's a weird one.
Hm everything works in development, that's odd. Is the production data corrupted?
DID I MENTION that in order to get into the system in development we have to load in a f*cking production database backup ON OUR DEVELOPMENT MACHINE and then ask one of the users' password to login to it and create an account for ourselves? Seeding? What's that, right?!
Anyway, back to bug fixing. I e-mail the the people responsible for the app and get a production admin account, oh I also can't ssh into it because of policies so I have to do everything over e-mail and figure out what's causing the errors. I somehow also wonder if they have any kind of virtualization in place, giving students a VM to do that stuff in doesn't seem so weird does it ? Even with school policies?
Oh btw, 'deploying' means sending a .zip file to a guy in another building and telling him how to configure it, apparently this resulted in a missing folder that the application needed to work and couldn't make on its own. This after 2 weeks of e-mailing back and forth.
After 3 months i quit out of despair and sadness, and due to the fact that I just couldn't do it anymore. I separated everything into logical subprojects and let the last guy handle it, he was OK with that and understood why I left.
Luckily, around that time I already had an actual job at a software development company :)1 -
VIM! ViM! vim! Vi Improved! Emacs (Wait ignore that one). What’s this mysterious VIM? Some believe mastering this beast will provide them with untold mastery over the forces of command line editing. Others would just like to know, how you exit the bloody thing. But in essence VIM is essentially a command line text editor at heart and it’s learning curve is so high it’s a circle.
There’s a lot of posts on the inter-webs detailing how to use that cruel mistress that is VIM. But rather then focus on how to be super productive in VIM (because honestly I’ve still not got a clue). This focus on my personal journey, my numerous attempts to use VIM in my day to day work. To eventually being able to call myself a novice.
My VIM journey started in 2010 around the same time I was transiting some of my hobby projects from SVN to GIT. It was around that time, that I attempted to run “git commit” in order to commit some files into one of my repositories.
Notice I didn’t specify the “-m” flag to provide a message. So what happened next. A wild command line editor opened in order for me to specify my message, foolish me assumed this command editor was just like similar editors such as Nano. So much CTRL + C’ing CTRL + Z’ing, CTRL + X’ing and a good measure of Google, I was finally able to exit the thing. Yeah…exit it. At this moment the measure of the complexity of this thing should be kicking in already, but it’s unfair to judge it based on today’s standards of user friendly-ness. It was born in a much simpler time. Before even the mouse graced the realms of the personal computing world.
But anyhow I’ll cut to the chase, for all of you who skipped most of the post to get to this point, it’s “:q!”. That’s the keyboard command to quit…well kinda this will quit the program. But…You know what just go here: The Manual. In-fact that’s probably not going to help either, I recommend reading on :p
My curiosity was peaked. So I went off in search of a way to understand this: VIM thing. It seemed to be pretty awesome, looking at some video’s on YouTube, I could do pretty much what Sublime text could but from the terminal. Imagine ssh’ing into a server and being able to make code edits, with full autocomplete et al. That was the dream, the practice…was something different. So I decided to make the commitment and use VIM for editing one of my existing projects.
So fired the program up and watched the world burn behind me. Ahhh…why can’t I type anything, no matter what I typed nothing seemed to appear on screen. Surely I must be missing something right? Right! After firing up the old Google machine, again it would appear there is this concept known as modes. When VIm starts up it defaults to a mode called “Normal” mode, hitting keys in this mode executes commands. But “Insert” entered by hitting the “i” key allows one to insert text.
Finally I thought I think I understand how this VIM thing works, I can just use “insert” mode to insert text and the arrow keys to move around. Then when I want to execute a command, I just press “Esc” and the command such as the one for saving the file. So there I was happily editing my code using “Insert” mode and the arrow keys, but little did I know that my happiness would be short lived, the arrow keys were soon to be a thorn in my VIM journey.
Join me for part two of this rant in which we learn the untold truth about arrow keys, touch typing and vimrc created from scratch. Until next time..
:q!4 -
#justdevthings
That moment when you're so engrossed in your project that you lose track of time. You begin to SEE code irl, not just on screens. Things like hunger, environment and a sense of time fade away. That feeling when the code just works, but better when it doesn't and you figure out a smart fix. Oh gosh ill pay to feel like that all day.
I wrote a shitty layout for an android side project. It haunted me. I could still SEE the shitty xml long after the pc was shut down. I had a nightmare about it and woke up sweating, and all I could see was xml. Fkin xml man. I redid the layout at 3am and boy was i so satisfied.
I think that was just the tetrix effect taking its toll on me.
I always got screwed by parents for being on that machine all day, back in school. But none of that matters now. I can now feel the code running in my veins and flowing into the machine. I can now feel my heart throbbing at the sight of such beauty. They ask how i manage my social life. I say everything goes well until i start a side project, that's when social life gets fucked hard. I think I'm gonna die one day after performing the final commit.5 -
I'm freaking done trying to get Linux on my machine. I've tried every distro with many different versions of the kernel and I always run into the same problem on my desktop.
The computer super stutters for 2 seconds ish than freezes.
I've spent DAYS looking into this issue trying to find something. The worst part is that it can happen 5 minutes when I boot or 5 hours. At first I thought it was Compton. Then I thought I installed arch wrong. Maybe an update to the BIOS? How about downloading updated microcode? Maybe this obscure bug with AMD processors and setting power idle to typical? Nothing. I'm now behind on my school work because of the massive amount of time ive spent getting this fixed. It works just fine on my laptop, but it doesn't work on the machine I built to code with. I'm done. Give me Force Lightning, a red lightsaber, and call me a Sith baby because I'm joining the dark side. Here I come Windows.
For those who are wondering my setup:
Ryzen 7 1700
Rx 480
Asus x-370 prime
16 gb Corsair RAM
And no, Windows has never had this bug.31 -
Our team - if ever existed - is falling apart. Pressure raising. Release deadline probably failing. No release ready for Big Sur.
Almost seemed we were getting somewhere: More focus on code quality, unit tests, proper design, smaller classes. But somehow we now ended up in "microservice" hell; a gazillion classes, mostly tested in isolation, but together they just fail to do their job. A cheap and dirty proof of concept from March is still more capable than this pile. I really start to doubt all that "Clean code", TDD, Agility rhetorics. What does it help you, if nobody cares for the end result? It's like a month I try to hammer down that message: we have to have testable artifacts, we have to ensure code signing works, our artifact is packaged and installable, we have to give QA something they can test - but time just passes and this piece of shit software is still being killed or does nothing.
Now my knee is broken and can do no sports and are tied to my chair even more. To top it all my coffee machine broke and my internet connection was abysmal this week. Not the usual small disconnects, after which it would recover, but more annoying and enduring: often being throttled to 1.7 MB/s (ranking my connection in the slowest 7% even in Germany). My RDP sessions had compression artifacts all over the screen and a mouse click would only take effect 5 sec later.
But my Esspresso machine was just repaired. Not all hope is lost.7 -
!dev
Guys, we need talk raw performance for a second.
Fair disclaimer - if you are for some reason intel worker, you may feel offended.
I have one fucking question.
What's the point of fucking ultra-low-power-extreme-potato CPUs like intel atoms?
Okay, okay. Power usage. Sure. So that's one.
Now tell me, why in the fucking world anyone would prefer to wait 5-10 times more for same action to happen while indeed consuming also 5-10 times less power?
Can't you just tune down "big" core and call it a day? It would be around.. a fuckton faster. I have my i7-7820HK cpu and if I dial it back to 1.2Ghz my WINDOWS with around lot of background tasks machine works fucking faster than atom-powered freaking LUBUNTU that has only firefox open.
tested i7-7820hk vs atom-x5-z8350.
opening new tab and navigating to google took on my i7 machine a under 1 second, and atom took almost 1.5 second. While having higher clock (turbo boost)
Guys, 7820hk dialled down to 1.2 ghz; 0.81v
Seriously.
I felt everything was lagging. but OS was much more responsive than atom machine...
What the fuck, Intel. It's pointless. I think I'm not only one who would gladly pay a little bit more for such difference.
i7 had clear disadvantages here, linux vs windows, clear background vs quite a few processes in background, and it had higher f***ng clock speed.
TL;DR
Intel atom processors use less power but waste a lot of time, while a little bit more power used on bigger cpu would complete task faster, thus atoms are just plain pointless garbage.
PS.
Tested in frustration at work, apparently they bought 3 craptops for presentations or some shit like that and they have mental problems becouse cheapest shit on market is more shitty than they anticipated ;-;
fucking seriously ;-;16 -
Please fix this one tiny bug they said. Don’t touch everything, it works, sans the bug, they said. Should take a day or two they said. Please don’t do anything drastic, they said.
Well....
The entire environment is fucked. The current commit for that repo is fucked, and the previous one was just an empty Xcode project. How the fuck can I debug something that isn’t even running? The machine it was built on by the previous engineer that left the company had multiple Xcode projects for the same thing and all of it refused to compile. What?! How the hell it got released to the wild and being used by hundreds of clients is still beyond my comprehension. Adding insult to injury, I eventually discovered there were memory leaks up the wazoo. Great!
So, please for the love of fucking God, leave a working repo for your colleagues before you decide to jump ship!1 -
It is the time for the proper long personal rant.
Im a fresh student, i started few months ago and the life is going as predicted: badly or even worse...
Before the university i had similar problems but i had them under control (i was able to cope with them and with some dose of "luck" i graduated from high school and managed to get into uni). I thought by leaving the town and starting over i would change myself and give myself a boost to keep going. But things turned out as expected. Currently i waste time everyday playing pc games or if im too stressed to play, i watch yt videos. Few years ago i thought i was addicted, im not. It might be a effect of something greater. I have plans, for countess inventions, projects, personal, for university and others and ALL of them are frozen, stopped, non existant. No motivation. I had few moments when i was motivated but it was short, hours or only minutes. Long term goals dont give me any motivation. They give as much short lived joy, happines as goals in games and other things... (no substance abuse problems, dont worry). I just dont see point of my projects anymore. Im sure that my projects are the only thing that will give me experience and teach me something but... i passed the magic barrier of univercity, all my projects are becoming less and less impressive... TV and other sources show people, briliant people, students, even children that were more succesful than me
if they are better than me why do i even bother? companies care more for them, especialy the prestigious ones, they have all the fame, money, funding, help, gear without question!
of course they hardworked for ther positions, they could had better beggining or worse but only hard work matters right?
As i said. None of my work matters, i worked hard for my whole life, studing, crafting, understanding: programming, multiple launguages, enviorements, proper and most effcient algorithms, electronic circuits, mechanical contraptions. I have knowlege about nearly every machine and i would be able to create nearly everything with just access to those tools and few days worth of practice. (im sort of omnibus, know everything) But because had lived in a small town i didnt have any chances of getting the right equpment. All of my electronical projects are crap. Mechanical projects are made out of scrap. Even when i was in high school, nobody was impressed or if they were they couldnt help me.
Now im at university. My projects are stagnant, mostly because of my mental problems. Even my lifestyle took a big hit. I neglect a lot of things i shouldnt. Of course greg, you should go out with friends! You cant dedicate 100% of your life to science!
I fucking tried. All of them are busy or there are other things that prevent that... So no friends for me. I even tried doing something togheter! Nope, same reasons or in most cases they dont even do anything...
Science clubs? Mostly formal, nobody has time, tools are limited unless you designed you thing before... (i want to learn!, i dont have time to design!), and in addition to that i have to make a recrutment project... => lack of motivation to do shit.
The biggest obstacle is money. Parts require money, you can make your parts but tools are money too. I have enough to live in decent apartment and cook decently as well but not enough to buy shit for projects. (some of them require a lot or knowlege... and nobody is willing to give me the second thing). Ok i found a decent job oppurtunity. C# corporation, very nice location, perfect for me because i have a lot of time, not only i can practice but i can earn for stuff. I have a CV or resume just waiting for my friend to give me the email (long story, we have been to that corp because they had open days and only he has the email to the guy, just a easier way)
But there are issiues with it as well so it is not that easy.
If nobody have noticed im dedicated to the science. Basicly 100% scientist that want to make a world a better place.
I messaged a uni specialist so i hope he will be able to help me.
For long time i have thought that i was normal, parent were neglecting my mental health and i had some situations that didnt have good infuence on me as well. I might have some issiues with my brain as well, 96% of aspargers symptoms match, with other links included. I dont want to say i have it but it is a exciuse for a test. In addition to that i cant CANT stop thinking, i even tried not thinking for few minutes, nope i had to think about something everytime. On top of that my biological timer is flipped. I go to sleep at 5 am and wake up at 5pm (when i dont have lectures).
I prefer working at night, at that time my brain at least works normaly but i dont want to disrupt roommates...
And at the day my brain starts the usual, depression, lack of motivation, other bullshit thing.
I might add something later, that is all for now.1 -
>Be a customer
>Ask to reduce number of servers you rent at our company
>Agree to a date when the one server you no longer needs will be due to be disconnected and taken apart
>Date comes
>I have the honors of sending the final /sbin/poweroff
>All goes neatly... until...
The web that used to be there, now moved to another one of their machines, goes down, wtf???
Oh. a 500. What?
Checks logs...
Cannot connect to Database.
Wtf? Local database works... Oh. OH. OH MY GOD.
>Turn the server back on and tell the customer to fix the app to no longer connect to that machine
Sometimes, being a sysadmin can be a real fun!1 -
Today I spent several hours arguing with a client. Why? Because she's seeing an error on her website, and no matter how many times I explain to her that she's the only one seeing a css misalignment that was fixed this morning, and that she should clear the browser's cache or just use a different one, she refuses to understand that it's not my fault and that the website that's in production is working just fine for her users.
FFS I tested the same thing on Firefox Chrome, chromium, edge and even fucking IE8 on as many OSs as I can, namely Windows 7, Windows 10, Debian, Ubuntu, Android and OSX.
WHY DO YOU KEEP BLAMING ME FOR YOUR BROWSERS CACHE. SHUT THE FUCK UP AND ACCEPT YOU WERE WRONG FOR THE FIRST TIME IN YOUR LIFE.
Uffff, that feels better.2 -
It all started with an undelivereable e-mail.
New manager (soon-to-be boss) walks into admin guy's office and complains about an e-mail he sent to a customer being rejected by the recipient's mail server. I can hear parts of the conversation from my office across the floor.
Recipient uses the spamcop.net blacklist and our mail was rejected since it came from an IP address known to be sending mails to their spamtrap.
Admin guy wants to verify the claim by trying to find out our static public IPv4 address, to compare it to the blacklisted one from the notification.
For half an hour boss and him are trying to find the correct login credentials for the telco's customer-self-care web interface.
Eventually they call telco's support to get new credentials, it turned out during the VoIP migration about six months ago we got new credentials that were apparently not noted anywhere.
Eventually admin guy can log in, and wonders why he can't see any static IP address listed there, calls support again. Turns out we were not even using a static IP address anymore since the VoIP change. Now it's not like we would be hosting any services that need to be publicly accessible, nor would all users send their e-mail via a local server (at least my machine is already configured to talk directly to the telco's smtp, but this was supposedly different in the good ol' days, so I'm not sure whether it still applies to some users).
In any case, the e-mail issue seems completely forgotten by now: Admin guy wants his static ip address back, negotiates with telco support.
The change will require new PPPoE credentials for the VDSL line, he apparently received them over the phone(?) and should update them in the CPE after they had disabled the login for the dynamic address. Obviously something went wrong, admin guy meanwhile having to use his private phone to call support, claims the credentials would be reverted immediately when he changed them in the CPE Web UI.
Now I'm not exactly sure why, there's two scenarios I could imagine:
- Maybe telco would use TR-069/CWMP to remotely provision the credentials which are not updated in their system, thus overwriting CPE to the old ones and don't allow for manual changes, or
- Maybe just a browser issue. The CPE's login page is not even rendered correctly in my browser, but then again I'm the only one at the company using Firefox Private Mode with Ghostery, so it can't be reproduced on another machine. At least viewing the login/status page works with IE11 though, no idea how badly-written the config stuff itself might be.
Many hours pass, I enjoy not being annoyed by incoming phone calls for the rest of the day. Boss is slightly less happy, no internet and no incoming calls.
Next morning, windows would ask me to classify this new network as public/work/private - apparently someone tried factory-resetting the CPE. Or did they even get a replacement!? Still no internet though.
Hours later, everything finally back to normal, no idea what exactly happened - but we have our old static IPv4 address back, still wondering what we need it for.
Oh, and the blacklisted IP address was just the telco's mail server, of course. They end up on the spamcop list every once in a while.
tl;dr: if you're running a business in Germany that needs e-mail, just don't send it via the big magenta monopoly - you would end up sharing the same mail servers with tons of small businesses that might not employ the most qualified people for securing their stuff, so they will naturally be pwned and abused for spam every once in a while, having your mailservers blacklisted.
I'm waiting for the day when the next e-mail will be blocked and manager / boss eventually wonder how the 24-hours-outage did not even fix aynything in the end... -
# Retrospective as Backend engineer
Once upon a time, I was rejected by a startup who tries to snag me from another company that I was working with.
They are looking for Senior / Supervisor level backend engineer and my profile looks like a fit for them.
So they contacted me, arranged a technical test, system design test, and interview with their lead backend engineer who also happens to be co-founder of the startup.
## The Interview
As usual, they asked me what are my contribution to previous workplace.
I answered them with achievements that I think are the best for each company that I worked with, and how to technologically achieve them.
One of it includes designing and implementing a `CQRS+ES` system in the backend.
With complete capability of what I `brag` as `Time Machine` through replaying event.
## The Rejection
And of course I was rejected by the startup, maybe specifically by the co-founder. As I asked around on the reason of rejection from an insider.
They insisted I am a guy who overengineer thing that are not needed, by doing `CQRS+ES`, and only suitable for RND, non-production stuffs.
Nobody needs that kind of `Time Machine`.
## Ironically
After switching jobs (to another company), becoming fullstack developer, learning about react and redux.
I can reflect back on this past experience and say this:
The same company that says `CQRS+ES` is an over engineering, also uses `React+Redux`.
Never did they realize the concept behind `React+Redux` is very similar to `CQRS+ES`.
- Separation of concern
- CQRS: `Command` is separated from `Query`
- Redux: Side effect / `Action` in `Thunk` separated from the presentation
- Managing State of Application
- ES: Through sequence of `Event` produced by `Command`
- Redux: Through action data produced / dispatched by `Action`
- Replayability
- ES: Through replaying `Event` into the `Applier`
- Redux: Through replay `Action` which trigger dispatch to `Reducer`
---
The same company that says `CQRS` is an over engineering also uses `ElasticSearch+MySQL`.
Never did they realize they are separating `WRITE` database into `MySQL` as their `Single Source Of Truth`, and `READ` database into `ElasticSearch` is also inline with `CQRS` principle.
## Value as Backend Engineer
It's a sad days as Backend Engineer these days. At least in the country I live in.
Seems like being a backend engineer is often under-appreciated.
Company (or people) seems to think of backend engineer is the guy who ONLY makes `CRUD` API endpoint to database.
- I've heard from Fullstack engineer who comes from React background complains about Backend engineers have it easy by only doing CRUD without having to worry about application.
- The same guy fails when given task in Backend to make a simple round-robin ticketing system.
- I've seen company who only hires Fullstack engineer with strong Frontend experience, fails to have basic understanding of how SQL Transaction and Connection Pool works.
- I've seen company Fullstack engineer relies on ORM to do super complex query instead of writing proper SQL, and prefer to translate SQL into ORM query language.
- I've seen company Fullstack engineer with strong React background brags about Uncle Bob clean code but fail to know on how to do basic dependency injection.
- I've heard company who made webapp criticize my way of handling `session` through http secure cookie. Saying it's a bad practice and better to use local storage. Despite my argument of `secure` in the cookie and ability to control cookie via backend.18 -
>Discovers a new low level profiling tool that could help us at work with stuck process debugging and gets all hyped
>Installs on test machine, tool doesn't work
>Wonders why. Oh. Needs a kernel module to work, compiled and loaded
>"Well, its my test machine... Guess that's no problem..." but... my hype died down a bit. Kernel module installation just for a new tool that aggregates all other commonly used tools? eh... Maybe it will blow me out of my shoes still
>Installs and loads the module
>Tool works. Turns out its just a htop-like tool, with shortcuts to launch specific other profiling tools like strace/ltrace/lsof/netstat/ss etc...
"Oh... That's boring. Maybe it has all those tools built in at least?"
>Tries to run ltrace - tool exits as ltrace is not installed
Lol
>Installs ltrace and launches tool again. Tries to ltrace a process and
>Nothing. Nothing happens. For seconds... Then kicks me off of SSH
WTF?
>Tries to ping machine... silence
Did... our net go down again? (Having issues due to a storm going over our area these few days)
>Pings google and... gets instant reply
More wtf
>Pings the hypervisor the machine was running on
Works like normal
Oh... Oh no. Please tell me it didn't!
>Logs into the hypervisor UI, checks machine state
Running OK
>Opens machine console aaaaand... Yep. Stacktrace as well as a lot of kernel mumbo-jumbo... It took the machine down to kernel panic.
I never went so quick from "We need this tool deployed everywhere" to "Omg I need to get rid of this crap as soon as possible" lol.
And just for those wondering, it was sysdig.1 -
This shit makes me fucking rage! Ok, so here it goes. I use Multiswipe (multiswipe.com) and I'm actually very happy with it. It works as advertised and doesn't crash. Then I bought a new laptop. I wiped the old one and installed multiswipe on the new one. After launching I'm greeted with the registration (I bought it) where it claims I have already registered the software on a different computer. So I reach out to the owner and ask him to help out and am told
"MultiSwipe can be installed and updated as many times as you want as long as it is in the same machine, but if you change laptops then you will need to purchase a new license, this is because MultiSwipe implements a serious of optimizations depending on your touchpad brand and model and as such it's physically linked to it."
This sounds like horseshit to me. If I download a fresh copy, wouldn't it optimize depending on the new system?
But ok. I'll purchase another one, only to be told that my e-mail address is already in use. After reaching out I am told that I HAVE TO CREATE A NEW EMAIL ADDRESS.
Jon, if you read this, I seriously love your software but what the fuck is this fuckery. Like, seriously, how god damn hard can it be to allow customers to purchase multiple licences?
I'm so angry that I'm considering pouring time into cracking it and sending him the new version with the text "nvm, got it to work."
I'm open to suggestions....6 -
I thought the “works on my machine” from sysadmins is mostly a joke...
But no. I’m attending the Polish high school and I have a lessons via the Internet. I wasn’t able to hear the voice of the teacher on Linux 4.18 and Chromium browser, so I sent the mail to support to report it. Of course it “works on their machines”...6 -
At work everybody uses Windows 10. We recently switched from Vagrant to Docker. It's bad enough I have to use Windows, it's even worse to use Docker for Windows. If God forbid, you're ever in this situation and have to choose, pick Vagrant. It's way better than whatever Docker is doing... So upon installing version 2.2.0.0 of Docker for Windows I found myself in the situation where my volumes would randomly unmount themselves and I was going crazy as to why my assets were not loading. I tried 'docker-compose restart' or 'down' and 'up -d', I went into Portainer to check and manually start containers and at some point it works again but it doesn't last long before it breaks. I checked my yml config and asked my colleagues to take a look. They also experience different problems but not like mine. There is nothing wrong with the configuration. I went to check their github page and I saw there were a lot of issues opened on the same subject, I also opened one. Its over a week and I found no solution to this problem. I tried installing an older version but it still didn't work. Also I think it might've bricked my computer as today when I turned on my PC I got greeted by a BSOD right at system start up... I tried startup repair, boot into safe mode, system restore, reset PC, nothing works anymore it just doesn't boots into windows... I had to use a live USB with Linux Mint to grab my work files. I was thinking that my SSD might have reached its EoL as it is kinda old but I didn't find any corrupt files, everything is still there. I can't help but point my finger at Docker since I did nothing with this machine except tinkering with Docker and trying to make it work as it should... When we used Vagrant it also had its problems but none were of this magnitude... And I can't really go back to Vagrant unless my team also does so...10
-
Just a quick rant on JavaScript,
So there’s a lot of people hating javascript, and while not a long time ago i was part of them, but I changed my opinion a little.
I think JavaScript is a great way to deal with website programming as it is quick and efficient, but I would not say to program directly on it, use a js-compilable language (CoffeScript, TypeScript, Kotlin(I think), etc.), but then you might say: “Well, no need for js then, compile it in byte code”. That would break the point of how I see web design/dev. The main intent behind webpages is to have an easy and fast way to send code to other computers to render them, that’s why it is interpreted: “Easy to send” and “*All* computers can handle it” with the proper browser. You need to be able to change the way the website is rendered and/or works sometimes, for diverse reasons like copy/pasting data, make it render properly or use plugins/add-ons to change that code to suit your needs.
I think js should be kept as a “readable byte-code”, so that means: {
Keep comments when compiling the js-compilable code,
Add standardized machine-readable comments that will indicate to smart code viewers how to show a particular thing (Like have a higher-end function compiled in js shown as a minimized code with explanations of the function)
Keep it nicely formated and don’t obfuscate (coz that’s annoying)
Etc.
}
So you bypass the quirks and all that pesky js stuff, while keeping it’s good sides.
-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-
Part 2:
Web design for non-web:
Ok so things like node.js, electron, react-native and all that stuff; I won’t say they’re bad but...
Why we have this is because web designers wanted to make desktop apps and were like “Hey! Making web pages is easy! Let’s port it to desktop”, the problem is: Web technologies were made to work on a restricted canvas, aka a browser. It’s good on web for reasons mention earlier and more. But it’s not on desktop! You’re trying to push it outside of those boundaries. It’s difficult to make it break that canvas and go outside, make something that really works! For social media clients and that kind of stuff that you want to make a little more inclusive, yes! it’s a great idea (hello devrantron ;), but not if it’s an exact same copy of the website, just use the website. But for things that are supposed to really make use of YOUR computer; no!
I see those PWA (progressive webapps aka mobile app, but it’s an offline website”), I stand for the same positions, social media and those sort of things: yes, great idea! Games? 🤢.
I have way more to say but I have difficulties to remember them while reading, so feel free to comment your thoughts
Lol, “just a quick rant”1 -
Prepare for a long one.
There was this time when I worked for a company that made some patented proprietary software along with a device that measures some part of the body. Nevermind what exactly.
Then there was this major new customer. Bitchy and demanding as they want to deploy their own os/licenses onto the embedded computer aboard the device. I've told them that's not the way we do it as there's some proprietary software and technics involved that is of no concern to the client. They insisted, called the CEO, he then told me to make sure the customer is happy.
I go OK. I present the software, scripts to use to run the whole thing.. the works. Customer wants to run its own client software on the side, proposing they buy better embeded machines on their own - they want to use that instead of the desktop /imagine a nurse using an mri machine as her desktop if you will/.
I then call back the CEO and explain what's happening. I ask how far along this nonsense do we go.
After a word with CTO he demands I take back the software and explain why I exposed everything.
I "took" back the software /as if that is possible/ and made it work as it was supposed to, locking their sysadmin out. Then proposed I take the fall as though I did not understand the policy, so the client can save face and we get the deal.
Problem is, someone else should then proceed working with the client. They accuse me /as proposed/ but then have me clean the mess up. Client still bitching about adding devices to ad is their policy. Yeah.. like the fucking Tesla he rides is also joint to AD.
I quit that job soon after. This was not the only situation that blew my fuse there.2 -
Making projects with C on a Windows Machine in College - Works Perfectly
Trying them on my Linux machine at home - errors on 20 lines6 -
It's one of those nights.... works on my machine but not in QA....
Me:Remind me.... why am I a developer?
Coworker: because you're a maschist1 -
With the invention of pip every project done with python just fucken angers me. Like mostly nothing fucken works if there is a single .py file in there. You can put your easy-install.sh up your ass if it just ~tries~ to install shit via pip before because IT WONT WORK FUCK THIS SHIT!
STOP USING PYTHON FOR PROJECTS YOU RELEASE PLS CUS SHITS UNREADABLE AND WONT WORK ON MY MACHINE. MAKE ROOM FOR PROJECTS MANAGED BY NPM OR SHIT LIKE THAT WHERE `npm install` ACTUALLY DOES IT'S JOB THANKS I'M ANGRY AF.
WHAT DOES COLLECTING EVEN MEAN AND WHEN IS IT DONE DUDE?!6 -
Just subscribed to PIA for a multifunction VPN, and I went to test it on my Windows machine, Nova. Opera is my current primary browser.
Had Chrome open for a local web thing that works better in Chrome. Checked my IP to make sure VPN was working.
Opera: Obscured, good.
Chrome: Real, bad.
What the actual fuck Google.3 -
I have a LOT of Floppies but no floppy drive that works with my current Win7 machine, and my XP one is in multiple boxes for parts... so for now I can only stare at NetWare 4 to 4.2, WfW 3.11 and DOS 6-22.
Smart me made VMs on his XP machine and transferred them to his Win7 one.
I also have data tapes... now that is NEVER gonna work on my Win7 so... anyone knows how it could *possibly* work out?
Also... I got documentation on Compaq servers... those are nice.
AAAAAAND since I’m a huge MIDI nerd... I have a SC-55mkII hooked on the UM-ONE mkII and those shitty cans that I’m gonna switch (hopefully) soon for a nice pair of Cakewalks MA-15Ds.
Also, I’m looking for one of them 5150s because 80s IBM and since I also like keyboards... the one and only Model M.
Anyone can hook me up with a cheap one?rant idk what the fuck i’m doing netware random data tapes ibm 5150 wfw 3.11 sc-55mkii model m dos 6.22 long rant1 -
Fack I hate this CMS we have. Using Fetch and sending data as encoded JSON doesn't get parsed nor recognized by the CMS. I was pulling my hair out, understanding the differences, switched back to XHR... and then noticed the buggar:
XHR sends data as "FormData()".
I switched everything to FormData and TADAAA IT WORKS MOTHERFUCKA
Lost a whole fucking day on this trying to understand whether it was my code or the CMS the problem.
Ah yes, of course, I had to reproduce the CMS on my machine, instead of having the developers lend us a "development" platform on it, so obviously I don't know what's happening under the hood :))))))))rant are we in 1999 light swag cms as a shitty service life joy yolo hate death losing time for nothing darkness2 -
i'm waiting for a package manager to come out that compiles everything you have it install from source to "guarantee" it runs on your machine, then have it autopost a SO question when it fails (not if, WHEN) and autotest answers given, then if it didn't work it'd reply saying it didn't work and giving the new error (if appropriate). This'd shut up the "lol it works on my side" and "lol compiling's easy" douchebags and also probably help drive home the importance of providing binaries for things and making them well.
also fuck devkitPro, it's not unreasonable to provide packages for other package managers than Arch's pacman since EVERYONE ELSE DOES IT. And no, "lol just compile from source" doesn't help as it doesn't work when you do. And it doesn't work BECAUSE you don't WANT it to so we HAVE to patchwork pacman into our other distros to get your shitty dev tools. you could also just provide a fucking zip of everything compiled, since then there'd be less effort than maintaining your own copy of pacman and servers and shit just to try and help people desperate enough to try crippling their Windows/Mac/Linux install all because they haven't drank the Arch koolaid.
Fuck those douchebags, fuck devkitPro and... probably fuck you too? Probably? Maybe?
holy shit i really needed to get that shit off my chest i apologize for that3 -
IDK man, it took me a while to finally learn iptables and now switch to firewalld? Oh come on. It's not that I'm against learning new things, no. It's just that firewalld looks a bit.. crappy. If I get a server provisioned and run
firewall-cmd --add-port=53/udp --permanent
firewall-cmd --reload
and I get my ssh connection killed that's no good news, no sir! I mean come on, how can I rely on a tool this critical when a single line in its config file can make my machine inaccessible. Even better -- this config file is managed by that tool entirely!!! My commands passed all the tool's checks and they worked, but when I wanted to make those commands permanent and reload state from the config -- the tool starts spitting bile and blood and says "fuck off, it's my server now!"
IDK man.. It's just way too fishy. The good ol' iptables works very well and I'm kicking its retard younger brother out of the server.
shoosh you dirty pig firewalld, shoosh!8 -
I have never understood people ranting about how Linux is incompatible with their machines. Back in 2006 what ever machine I had tried Linux on was working better with it. More than that all the drivers were working out of the box and the only problem that could possibly happen was with graphics.
FF 10 years. I am using MacBook for some time now and I did no installation of Linux for couple of years now except on bare metal servers. And have just bought my sister a new hp envy. Nothing fucking works. Not even wifi. Installation is hanging and I do not fucking know why! Her previous computer had problems with wifi. If wifi is turned on you could not turn the fucking pc off. It would fucking freeze.
Well fuck my life :(9 -
I feel like writing or telling people about the time I jumped from Windows 7 Ultimate and jumping to Windows 10. (I'm not against 10, but I'm never updating after what had happened to me)
It all starts when none of my games will play due to a possible issue with my graphics card. I look up "3D source game bug" and not many results pop up. I go on Microsoft's Qna areas and ask this question but to my surprise nothing they say would make sense. "Clean the pins of your graphics card, make sure you verify the games on Steam". I verified the games and they checked out as perfectly fine. I don't have access to my graphics card because this is a laptop, sadly not a tower.
Two months pass and my computer is already showing signs of stress, like it didn't want to live in a sense. It was three times slower than when I was on Windows 7 and it was unallocating areas of my main hard drive where I could make virtual hard drives.
Instantly I start looking up Linux distros and find Linux Mint. 17.3 was the current version at the time. I downloaded it and burned it onto a DVD-rom and rebooted my computer. I loaded into the disc and to my surprise it seemed almost like Windows 7 apart from the Linux part. I grab my external hard drive and partition it to hold the Linux distro and leave it plugged in incase Windows 10 does actually fail.
On December 19, a few months after Windows 10 had released. I start my laptop to try and continue my studies in video game development. But to my surprise, Windows 10 had finally crashed permanently. The screen flickered blue and black, and an error box saying Loginui.exe failed to start. I look at it for a solid minute as my computer had just committed suicide in a sense.
I reboot thinking it would fix the error but it didn't. I couldn't log in anymore.
I force shutdown the laptop and turn it back on putting it into safe mode.
To my surprise loginui.exe works and I sign in. I look at my desktop, the space wallpaper I always admired, the sound files, screen shots I had saved.
I go into file explorer and grab everything out of my default hard drive Windows was installed on. Nothing but 400gb got left behind and that was mainly garbage prototypes I had made and Windows itself. I formatted my external hard drive and placed everything on it. Escaping Windows 10 with around 100GB of useful data I looked at the final shutdown button I would look at.
I click it and try to boot into normal Windows 10. But it doesn't work. It flickers and the error pops up once more.
I force it to shutdown and insert the previous Linux Mint disc I made and format the default hard drive through Linux. I was done. 10 gave me a lot of shit. Java wouldn't work, my games has a functional UI but no screen popped up except a black abyss and it wouldn't even let me try to update my graphics card, apparently my AMD Radeon 5450 was up to date at the AMD Radeon 5000's.
I installed Linux Mint and thinking the games would actually play I open steam and Launch Half-Life 2 to check if Linux would be nicer to me than Windows 10 had been.
To my surprise the game ran. The scene from Highway 17 popped on screen and the UI was fully functional. But it was playing at 10-15fps rather than the usual 60-70fps. Keep look at my drivers and see my graphics card isn't in use. I do some research and it turns out I have a Hybrid Laptop.
Intel HD Graphics and an AMD Radeon 5450 and it was using the Intel and not the AMD. Months of testing and attempts of getting the games to work at high frame rates pass and the Damn thing still functions at a low terrible fps. Finally I give up. I ask my mom for a Windows 7 disc and she says we can't afford it. A few months pass and I finally get a Windows 7 installation disc through money I've saved up. Proudly I put it into my optical disc drive and install it to my main hard drive deleting Linux completely. I announced to all my friends my computer was back in working order and I install everything I needed, Steam, Skype, Blender, and Unity as well as all my games. I test Half-Life 2 and it's running exceptionally smoothly, I test Minecraft at max settings and it's working beautifully. The computer was functioning properly once again and my life as a developer started as I modeled things and blender, learned beginners C# and learned a lot of Batch. Today the computer still runs at a great speed and I warn others of what happened to me after I installed Windows 10 to my machine if they are thinking of switching from 7 or 8 on an older machine.
Truly the damage to my data cannot be undone. But the memory of the maintenance, work, tests, all are a memory of how Windows 10 ruined me and every night before the one year anniversary of Windows 10's release, I took out the battery of my laptop and unplugged it from the a.c. power, just so Windows 10 doesn't show it's DLLs, batch scripts, vbs scripts, anything on my computer. But now, after this has happened and I have recovered, I now only have a story to tell5 -
Today is thursday. Oh no.
At thursdays I have a 8h30-19 schedule (I have 1h30' of free time to go home and cry after I finish a class at 15h30 though) and there's this one class I DREAD. It's a 2h class at 17h and it's an exercise class. This wouldn't be so bad it I actually understood the code behind the exercises, because they don't teach us code in the theory classes (btw it's C. I hate that language because of all this). The teacher pretty much tells us "do this exercise", waits like 10' and then starts to (try to) explain what we're supposed to do. Oh my god.
The other day he was like "write "exec ( ... "text" ... )", compile and execute". It didn't work. Of course it didn't why would it? I was switching around between terminal, manual and text editor, to no avail. In the end he explained but I don't think I got it.
Every time I think about this class I die a little inside and start to become somewhat anxious to be honest. The theory is not that that hard, the practice part is what is killing me (I have test in 2w but I'm just gonna start studying earlier so I can go watch this match LoL).
Does someone know a good book (preferably online, if possible) or a good website on C? I really need to read that, that language is killing me.
Bonus: the other day I had to do a homework that was to be delivered. We had to write a program that read the program and its arguments like this:
./program_name
numArgs
arg1
arg2
etc
I wrote the code, had some bumps in the way, asked a colleague for help because we needed to have a custom function made that was to be done in the class but that I couldn't make because of the reasons above. Then it came the time to test. My VM broke (I think I'm gonna format my PC to try to fix that. Have installed some other versions of the VM but the installations fails or the machine doesn't start) so I sent it to said colleague to test. She said it did OK and so I sent the work to this website we have to send our works to.
"2 errors".
What? What happened? She said it worked just fine.
Looked at my code, couldn't see anything wrong.
Asked the same colleague for help.
Turns out I missed a space. A SPACE. I don't think I've ever felt so frustrated in my life. A presentation error in Java is a good thing, at least we know the program works fine, it's just the output that's wrongly formatted. But C? Nope, errors all around, oh my god. I'm still mad about it.
And I owe her a chocolate.1 -
My coworker has been freaking out that our company doesn't do Agile or Scrum right and it will negatively impact his career. He claims that some elite company will want him to prove he worked in well oiled Agile machine. He also claims his last company had it down to a T yet he voluntarily left so they couldn't have been that damn spectacular.
I'm on my 7th company and no one does this shit "right", everyone makes it up. Also it's impossible to prove that you worked in a perfect environment to a different employer, if they even care at all. If someone asks, just tell them what they want to hear because no one actually works in this mythical world of Agile perfection.1 -
I have just slept for a minimum of 5 hours. It is 7:47 PM atm.
Why?
We have had a damn stressful day today.
We have had a programming test, but it really was rather an exam.
Normally, you get 30 minutes for a test and 45 minutes for an exam.
In this "test" we have had to explain what 'extends' does and name a few advantages of why one should use it.
Check.
Read 3 separate texts and write the program code on paper. It was about 1 super class and 1 sub class with a test class in Java.
Check.
Task 3: Create the UML diagram of the code from above. *internally: From above? He probably means my code since there is no other code there. *Checks time*. I have about 3 minutes left. Fuck my life.*
Draws the boxes. Put the class names in each of them. A private attribute for the super class.
Teacher: Last minute!
Draw the arrow starting starting from the sub class to the super class.
Put my name on each written paper. And mentally done for the day. Couldn't finish the last task. Task 3.
During this "test", I heard the frustrations of my classmates. Seemed like everyone was pretty much pissed.
After a short discussion with the teacher who also happens to be the physics professor of a university nearby.
[If you are reading this, I hope that something bad happens to you]
The next course was about computer systems. Remember my recent rant about DNS, dhcp, ftp, web server and samba on ubuntu?
We have had the task to do the screenshots of the consoles where you proof that you have dhcp activated on win7 machine etc. Seemed ok to me. I would have been done in 10 minutes, if I would be doing this relaxed. Now the teacher tells us to change the domain names to <surnameOfEachStudent>.edu.
I was like: That's fine.
Create a new user for the samba server. Read and write directories. Change the config.
Me: That should be easy.
Create new DNS entries in the configs.
Change the IPv6 address area to 192.168.x.100-200/24 only for the dhcp server.
Change the web server's default page. Write your own text into it.
You will have 1 hour and 30 minutes of time for it.
Dumbo -ANGRY-CLIENT-: Aye. Let us first start screenshotting the default page. Oh, it says that we should access it with the domain name. I don't have that much time. Let us be creative and fake it, legally.
Changes the title element so that it looks like it has been accessed via domain name. Deletes the url and writes the domain name without pressing Enter. Screenshot. Done. Ok, let us move to the next target.
Dhcp: Change lease time. Change IP address area. Subnet mask. Router. DNS. Broadcast. Optional domain name. Save.
Switches to win7.
ipconfig /release
ipconfig /renew
Holy shit it does not work!
After changing the configs on ubuntu for a legit 30 minutes: Maybe I should change the ip of the ubuntu virtual machine itself. *me asking my old self: why did not you do that in the first place, ass hole?!*
Same previous commands on win7 console. Does not work. Hmmm...
Where could be the problem?
Check the IP of the ubuntu server once again. Fml. Ubuntu did not save when I clicked on the save button the first time I have changed it. Click on save button 10 times to make sure it really is saved now lol.
Same old procedure on win7.
Alright. Dhcp works. Screenshot.
Checks time. 40 minutes left.
DNS:It is your turn. Checks bind9 configs. sudo nano db.reverse.edu.
sudo nano db.<mysurname>.edu.
Alright. All set. It should work now.
Ping win7 from ubuntu and vice versa. Works. Ping domain name on windows 7 vm. Does not work.
Oh, I forgot to restart the bind9 server on ubuntu.
sudo service bind stop
" " " start
Check DNS server IP on win7. It looks fine.
It still doesn't work. Fuck it. I have only 20 minutes left. Samba. Let us do this!
10 minutes in. No result. I don't remember why. I already forgot why I have done for it. It was a very stressful day.
Let us try DNS again.
Oh shit. I forgot the resolver!
sudo nano /etc/resolv.conf
The previous edits are gone. Dumb me. It says it in the comments. Why did not I care about it. Fuck it.6 minutes left. Open a yt video real quick. Changes the config file. Saves it. Restarts DNS and dhcp. Closes the terminal and opens a new one. The changes do not affect them until you reopen them. That's why.
Change to win7.
Ping works. How about nsloopup.
Does not work.
Teacher: 2 minutes left!
Fuck it.
Saves the word document with the images in it. Export as pdf. Tries to access the directories of the school samba server. Does not work. It was not my fault tho. Our school server is in general very slow. It feels like they are not maintained and left alone like this in the dust from the 90s.
Friend gets the permission to put his document on a USB and give the USB to the teacher.
Sneaky me: Hey xyz, can you give me your USB real quick?
Him: sure.
Gets bombed with "do you want to format the USB?" pop-ups 10 times. Fml. Skips in a fast way.
Transfers the pdf. Plug it out. Give it back.
After this we have had to give a presentation in politics. I am done.6 -
Well I was not actually in this meeting but I had to prepare everything so the CEO could show the new software to the employees and when I saw him clicking on stuff and it wasn't working... I was like: it works on my machine! After a little while I found out that I didnt push it to demo so it was still not updated..
Oh that embarrassing moment when I had to go to the room and say: refresh the page please!! -
I ran my project in my own machine and it works perfectly, so I submitted it to the professor. I got a failing grade because it didn't run on his machine... I had to prove to him on the spot that it was working fine by dragging him all the way to the computer lab where I made the thing.
-
target env: tomcat 8 on linux
devs local env: uses springboot 1.5
deployment time....
me: hey it does not work as expected.
dev: but it works on my local machine.
me: have you tried testing it with standalone tomcat maybe integrate it on intellij or containerize perhaps?
dev: (refused to test on standalone tomcat) it’s useless and it doesnt makes sense coz both are the same.
me: fuck let’s deploy your laptop on
all environments.
geezzzz :-| -
This shit is long story of my computer experience over my lifetime.
When I was young I got my first PC with windows it was not so bad. It required safe shut down of it’s fat32 partition. From time to time I needed to reinstall it cause of slow down but I got used to it I was only a gamer.
Time passes and I got more curious about computers and about this linux. Everything worked there but installation of anything was complete madness and none of windows programs worked well, and I wanted to play games and be productive so I sticked with windows.
I bought hp laptop once with nvidia card, it was overheating and got broken. So I bought toshiba and all I told to the seller was I want ATI card. Took me 5 minutes to do it and I was faster then my friend buying pack of cigarettes because I was earning money using computer.
Then I grown up running my small one person programming businesses and I wanted to run and compile every fucking program on this world. I wanted linux shell commands. I wanted package manager, and I wanted my os to be simple because I wasn’t earning money by using my os but by programming. So after getting my paycheck I bought mac. I can run windows and linux on vm if I need it. I try not to steal someones work so I didn’t want to run hackintosh. I am using this mac for some time.
Also I use playstation for gaming. Because I only want to run and play game I am not excited about graphics but gameplay. I think I am pragmatic person.
I can tell you something about my mac.
When I close lid it go sleep when I open it wakes up instantly. I never need to wonder if I want to hibernate or shut down or sleep and drain battery. It is fucking simple.
When I want to run or open something it doesn’t want me to wait but it gives me my intellij or terminal or another browser or whatever I search for. Yeah search is something that works.
Despite it got 8 gigs of ram I can run whatever number of programs I want at the same speed. The speed is not very fast sometimes but it’s constant fast.
I have a keychain so my passwords are in one place I can slow down shared internet speed, I can put my wifi in monitor mode and I don’t need to install some 3rd party software.
And now I updated my mac to high sierra, cause it’s free and I want to play with ios compilation. Before I did it I didn’t even backup whole work. I just used time machine and regular backups. And guess what, it still works at the same speed and all I did was click to run update and cook something to eat.
When I got bored I close the lid, when got idea open lid and code shit, not waiting for fucking wakeup or fucking updates.
I wanted to rant apple products I use but they work, they got fucking updates all along at the same time. And all of updates are optional.
I cannot tell that about all apple products but about products I use.
I think I just got old and started to praise my limited time on this world. Not being excited about new crap. When I buy something I choose wisely. I bought iPhone. I can buy latest iPhone x but I bought iPhone 7 cause it’s from fucking metal. And I know that metal is harder then glass, why the fucking apple forgot about it? I don’t know.
I know that I am clumsy and drop stuff. Dropped my phone at least 100 times and nothing.
I am not a apple fan boy I won’t buy mac with this glowing shit above keyboard that would got me blind at night.
I buy something when I know that it can save my time on this world. I try to buy things that make me productive and don’t break after a year.
So now piece of advise, stop wasting your time, buy and update wisely, wait a week or a month or a year when more people buy shit and buy what’s not broken. And if something’s broken rant this shit so next customer can be smarter.
Cheers1 -
Advice for software developers -
(Mention something according to your view in comment box :))
Solve a problem. A business one - that created the need for the software you are developing.
Software is such a complex product (like cars and houses), it requires a team of engineers. Employers pigeonhole developers into little specializations. You can happily stay a sniper, machine gunner, or radio operator in your squad arrangement. You can even go to the officer’s academy (business school) to be promoted through official channels. But you need to try it first: comprehending the whole battle and rising above the specialist rank. At least in your mind.
You don’t have to write the entire system’s code to do that. Just look at the big picture, identify problems not directly related to you, raise them, and help your teammates to solve them. Solve some yourself - something outside your specialty. Become a generalist.
Will your bosses reward you for that? Not a chance. You are not doing it to earn official brownie points or even get noticed. In fact you won’t be noticed in a good way. Your boss would think you are undermining him/her and aiming for his seat. You don’t. That’s a dead end too.
Even if they reward you, don’t get comfortable. Well, that depends on your ambitions. How much “higher” “salary” you want? The most important skill you just learned is solving a problem. You are a project starter now. Or project savior. You can do anything: research, analyze, design, and implement. If you need help with coding, you can split that work with others, while coordinating the development. Yes, your boss needs to be afraid. Who cares? Let him/her sit in meetings and write useless documentation. You can produce the same system w/o your company’s bureaucratic overhead.
So now you have two paths. If you know a valid niche: a consumer or business problem to be solved, you can start your own company. Hire capable friends, find like-minded people. Don’t quit your day job. You can manage “dual-tasking”. Today’s dysfunctional IT workload is not that high. And the abundance of open-source technology makes everything virtually free. Except for the developer’s time. You can pay others in equity - if you need them.
If you want the security of an established company, apply there. It doesn’t need to be your current employer’s competitor. You can go anywhere - after researching the company business, ideally their pain points, and bringing the solution plan. Or even a prototype.
They’ll look at you differently, even if you are completely off base about their pressing problems. Just the effort alone shows who you are - a high-level problem solver. I hope you understand the difference between a problem solver - who makes things work and the pain disappear; And a formal “Solutions Architect” selling something on behalf of his/her consulting company - or purchasing if he/she works in the IT department.
Beats coding exercises, doesn’t it? I know it’s not up to you at the interview. What’s up to you is finding a company to apply at the higher, problem-solver level. It won’t be easy. The current hiring system is focused on acronym resume filtering. Companies hire either scientists or acronym specialists. Not problem solvers. As much, as I hate this generic advice, w/o a an independent unbiased recruiting system, aimed to find problem-solvers, you’ll need to network - easier said, than done.
My point is, however you get to that interview, through recruiters or the best connections, you still need to convince them that you can solve a real multi-million problem to command the higher pay. Otherwise you’ll just be a slightly higher paid pawn, reaching your salary cap in a few years after a few job hops.2 -
Can anyone help me with this theory about microprocessor, cpu and computers in general?
( I used to love programming when during school days when it was just basic searching/sorting and oop. Even in college , when it advanced to language details , compilers and data structures, i was fine. But subjects like coa and microprocessors, which kind of explains the working of hardware behind the brain that is a computer is so difficult to understand for me 😭😭😭)
How a computer works? All i knew was that when a bulb gets connected to a battery via wires, some metal inside it starts glowing and we see light. No magics involved till now.
Then came the von Neumann architecture which says a computer consists of 4 things : i/o devices, system bus ,memory and cpu. I/0 and memory interact with system bus, which is controlled by cpu . Thus cpu controls everything and that's how computer works.
Wait, what?
Let's take an easy example of calc. i pressed 1+2= on keyboard, it showed me '1+2=' and then '3'. How the hell that hapenned ?
Then some video told me this : every key in your keyboard is connected to a multiplexer which gives a special "code" to the processer regarding the key press.
The "control unit" of cpu commands the ram to store every character until '=' is pressed (which is a kind of interrupt telling the cpu to start processing) . RAM is simply a bunch of storage circuits (which can store some 1s) along with another bunch of circuits which can retrieve these data.
Up till now, the control unit knows that memory has (for eg):
Value 1 stored as 0001 at some address 34A
Value + stored as 11001101 at some address 34B
Value 2 stored as 0010 at some Address 23B
On recieving code for '=' press, the "control unit" commands the "alu" unit of cpu to fectch data from memory , understand it and calculate the result(i e the "fetch, decode and execute" cycle)
Alu fetches the "codes" from the memory, which translates to ADD 34A,23B i.e add the data stored at addresses 34a , 23b. The alu retrieves values present at given addresses, passes them through its adder circuit and puts the result at some new address 21H.
The control unit then fetches this result from new address and via, system busses, sends this new value to display's memory loaded at some memory port 4044.
The display picks it up and instantly shows it.
My problems:
1. Is this all correct? Does this only happens?
2. Please expand this more.
How is this system bus, alu, cpu , working?
What are the registers, accumulators , flip flops in the memory?
What are the machine cycles?
What are instructions cycles , opcodes, instruction codes ?
Where does assembly language comes in?
How does cpu manipulates memory?
This data bus , control bus, what are they?
I have come across so many weird words i dont understand dma, interrupts , memory mapped i/o devices, etc. Somebody please explain.
Ps : am learning about the fucking 8085 microprocessor in class and i can't even relate to basic computer architecture. I had flunked the coa paper which i now realise why, coz its so confusing. :'''(14 -
Soooo i recently wanted to install FreeBSD on one of my servers. I configured the raidcard and booted the installer. Installation goes normaly. Sever restarts and begins looping. After tearing apart every firmware on this machine and going to bed, a thought was crossing my mind: What if the UEFI doesnt boot the disk? What if the RAID card does? What if the RAID card cannot boot GPT tables?
Next thing iin the morning, i reinstall freebsd with MBR. And it works (after my NICs stopped working, so i had tp reinstall another time). I STILL GOT IT! That wasnt the problem we all fear to cannot solve anymore ^^5 -
So yesterday, I got a call from some cousins saying my aunt broke a toenail and (since she's diabetic) she could now either lose both legs due to gangrene or die if they amputate. 2 hour drive to get them and me up to see her, 2 back, all the while having to be stone-faced to console 2 grown men. Today is finals week, and I could also get a call any moment from the hospital to tell me she's either dead or now unable to take care of herself. Could even be mid-class with one of those "well put it on speakerphone" teachers.
On the tech front, i'm trying to compile a toolchain from source. But, oh wait, one of the binaries it needs to configure (pkg-config) is self-calling so it crashes my machine. Let's build it from source, then? Nope, it requires a working copy... of... itself? Well, fuck. A "yum reinstall" doesn't help as it just reinstates the self-calling version, and I can't outright remove it because systemctl needs it. Well, apparently it's like a binary but is a text script, somehow, so I removed the recursive line and configuring works. Now though, I'm worried it might be broken, so i'm gonna try and compile from source. But, despite it needing itself, it also needs a SUPER FUCKING SPECIFIC version of libtool, so that's gotta be compiled...
I really wanna fucking shoot myself.5 -
TL;DR Looking to build a tower. Starting as a web dev machine but then home cinema and then maybe gaming rig that works well with Linux.
Firstly really it will be a web dev machine as that is my day job, but later I'd like to
- home entertainment theatre
- probably gaming
- possibly comp sci stuff
Initial budget is somewhere at £800, I think I have a 500 watt psu already, i do kind of want to build my own case to save money, but might be an intense challenge.
So don't know whether to buy a low budget gfx card at first, or whether the on board gfx of a good motherboard will be good enough.
Definitely AMD / ATI as Linux (screw you Nvidia).
I'm thinking ATX form factor, annoyingly I have a micro-atx case but that make it difficult to upgrade so much.
I'm pretty clueless really, I just want something that will run seamless with Linux.
Thanks for any help ranters.4 -
it works on my machine. this is quite disappointing and keeps me from trying to solve the problem from home.
i was even psychologically prepared to ask on stackoverflow, but now i'll have to wait until returning back to work...5 -
AHHHHHHHHHHGGGH
I HATE VPN SETUP
- Trying OpenSwan
Installing open swan on a Debian machine.. setting up the config.
Restarting openswan. Syntax error. No syntax error to be found.
Different tutorial.. it starts! Try to connect.. I can’t connect. Look at the logs. No errors.
Tcpdump. My traffic is coming through.. all fine.. try to connect again.. it works! (Nothing changed!)
Try to ping somewhere else.. no connectivity.
Try to ping an IP in the same network.. works fine. So I have connectivity, just no internet.
Spend an hour finding out about traffic directions of which no one seems to know what they really mean.
Boss tells me to stop using openswan because it’s deprecated and replaced by strong swan..
- Strongswan
Reinstall Debian machine, install strongswan. Copy openswan config. Oh, they’re incompatible? Look up strong swan config, and the service starts.
Connect to the VPN.. it works! Again, no internet, just connectivity in the same network. Spend 2h debugging the config, disable firewalls everywhere, find an ancient bug in the Debian package related to my issues.. ok, let’s try compiling from source.. you know what, let’s not. I’ll throw this Debian machine away and try something completely different.
- pfSense
Ok, this looks easy enough! Let’s just click through the initial setup, change some firewall rules, create an L2TP VPN with a simple wizard.
Try to connect to VPN. First, it times out. Maybe a firewall issue? Turn off firewall.. ah, something happens now. I get an error message right after trying to connect to the VPN. Hmm, the port doesn’t even get opened when I enable the firewall.. this implementation seems a bit buggy.. let’s try their OpenVPN module.
Configure OpenVPN. Documentation isn’t that clear.. apparently a client isn’t actually a client but a user is a client.. ok, there’s a hidden checkbox somewhere.
Now where do I download my certificate? Oh, I need a plug-in for that.. ok, interesting. Able to download the certificate, import it, connect and.. YES!!! I can ping! But, I have no DNS..
Apparently, ICMP isn’t getting filtered but all outbound ports are.. yet the firewall is completely disabled. Maybe I need outbound NAT? Oh. There’s no clear documentation on where to configure it. Find some ancient doc, set it up, still no outbound connectivity.
AHAHAHAHHHHHHHHHHG
Then I tried VyOS. I had a great L2TP VPN working in less than 15 mins. Thank you VyOS for actually providing proper docs and proper software.3 -
Yesterday, I had to set up a demo environment for a project, we are working on.
Everything was okay, frontend loaded, connection to backend is working, database is connected.
10 minutes before I wanted to leave for my well deserved weekend, PO came over: "I can't play any video, I uploaded"
Okay, couldn't be a big issue, it worked when I added this functionality 3 weeks ago, just before my holidays.
A bit under pressure, my girlfriend Was already waiting downstairs, I inspected the database and realized that a table Was not properly filled.
Checked the backend and everything seems fine, so checked the requests from the frontend and realized that the request was almost empty.
So some code, building the request body had to be wrong.
Already 10 minutes late, with a lightly annoyed girlfriend waiting for me, I found the issue but couldn't recognize that I wrote these few lines. A quick check of the git history showed, that my colleage changed my code during my holidays, so I just reverted everything.
After commit and deployment, I called my colleage and told him that I just reverted his changes.
"But now my feature is not working anymore, I had to change it like this!" he answered. I just responded that we will talk about that on monday and look at it together. While I hurried down the stairs, I was thinking why the hell somebody just changes stuff without checking if it affects other functionalities?
This should be basic knowledge for every dev, that if you change existing, working code to make it work with your feature, you have to ensure to not brake anything.
If you can't do that, then create a new function to handle your shit.
In the end, my girlfriend had to wait 30 minutes, because of 4 lines of codes, someone just changed without thinking what else could happen...3 -
Okay so.
I have a docker instance with 2 running apps. Normally one of them is just a proxy to the other one, so a http req to app0 is redirected to app1 and the same with response.
This works perfectly on bare machine, i can just rewrite the ip in the config file and it works. Now my boss decided that yeah docker is absolutely needed for this software so i have to containerize it.
Thing is docker seems to break local ips? I cant use localhost/, nor assigned ip. Is there a way i can debug this, or what should i look up??? Im lost, this is devops afaik and im far from devops.2 -
When you spend hours in a messy codebase to fix a bug properly and add an integration spec to cover that specific case.
And even you do a round of testing on staging + providing screenshots, there is always someone on the team that will write in your PR, "It works, I tested the change on my machine".
I understand that some people are skeptical but to the point of not trusting integration tests + screeshots/recordings then please test it on staging or production next time because if it works on your machine doesn't mean it will work there ;)2 -
I never thought how hard it would be to write cross platform software. If statements and try/excepts are everywheeere. And I still need to reformat the strings for different aspect ratios.
I wish I had the balls to use this awesome sentence "Works on my machine" 😂 -
Writing a x-platform cli tool in Go designed to be an infinite REPL until EOF if no arguments are passed. Code works great on Linux and Mac as-is but not on Windows. On Windows it only works at all if args are passed.
WHY.
And people wonder why I don't like Windows. It's a shame my userbase has so many tech-saavy Windows users. If not for them I'd cut that git branch off the repo in a heartbeat. -
Just experienced the other side of "but it works on my machine"
Had problems with some code, stopped by professor office asking for help, downloaded the .sh from our git and it magically works -
I have one question to everyone:
I am basically a full stack developer who works with cloud technologies for platform development. For past 5-6 months I am working on product which uses machine learning algorithms to generate metadata from video.
One of the algorithm uses tensorflow to predict locale from an image. It takes an image of size ~500 kb and takes around 15 sec to predict the 5 possible locale from a pre-trained model. Now when I send more than 100 r ki requests to the code concurrently, it stops working and tensor flow throws some error. I am using a 32 core vcpu with 120 GB ram. When I ask the decision scientists from my team they say that the processing is high. A lot of calculation is happening behind the scene. It requires GPU.
As far as I understand, GPU make sense while training but while prediction or testing I do not think we will need such heavy infra. Please help me understand if I am wrong.
PS : all the decision scientists in the team basically dumb fucks, and they always have one answer use GPU.8 -
Been using Arch on my main machine for a little over a month now. It's dualbooted with Win10 but I don't I ever booted into it after the first week.
I'm really happy with it. Just changed my DM from KDE to MATE and everything is running smoothly. I kinda bloated it from the getgo because I didn't wanna manage the smaller stuff but it works just fine even if it does have a little bloat.11 -
I need to tell you the story of my MOAB (Mother of all bugs).
I need to write some stuff in C (which i am fairly used to) and have a function that allocates memory for a Matrix on the heap. The matrix has a rows and columns property and an associated data array, so it looks like this
struct Matrix{
uint8_t rows;
uint8_t columns;
uint8_t data[];
}
I allocate rows*columns + 2 bytes of memory for it.
I also have a function to zero it out which does something like this
for(int i=0; i < rows*columns;i++){
data[i]=0;}
Let‘s come to the problem:
On my Mac the whole stuff works and passes all tests. We tried the code on a Linux machine and suddenly the code crashed in various places, sometimes a realloc got an invalid pointer, sometimes free got an invalid pointer and basically the code crashed at arbitrary points randomly.
I was confused af because did i really make THAT many errors?
I found out that all errors occured when testing my matrices so i looked more into it and observed it through the debugger.
Eventually i came to the function that zeroes out my matrix and it went unusually high and wondered if my matrix really was that big.
Then i saw it
The matrix wasn‘t initialised yet
It had arbitrary data that was previously in the heap.
It zeroed out a huge chunk of the heap space.
It literally wrote a zero to a shitload of addresses which invalidated many pointer.
You can imagine my facepalm2 -
Learn Basics of Git and Github
Get things set up with Git and GitHub
Set up Git locally
a. Download and install Git (http://git-scm.com/downloads)
b. If not in Linux, open git terminal (Git Bash). In Linux, it just works.
c. Configure your username and email:
git config --global user.name <your user name>
git config --global user.email <your email address>
Sign up for Github account (https://github.com)
I would suggest registering using the email you used in your Git configuration above.
Do it up locally
In your project folder, make a .gitignore file that has the names of things you don't want to be version controlled (e.g., docx, *exe, pycache folders, and anything else you want hidden).
cd to your project folder, and enter git init. You know have a local GitHub repository. You pretty much are done.
git status to see what's up.
git add . to add everything to the staging area.
git commit -m "my first commit!" to commit to the repository
Now work on your project locally. When you have something cool, then commit it with commands 4 and 5. You are using git. Use git status to see what's going on in your repository.
Do it up remotely
At GitHub, point and click and such to create the repository with project name that you want (e.g., foo). The URL of the repository will be provided to you (e.g., https://github.com/yourname/foo.git).
Connect your local repository to the remote one using that URL you just got. At your terminal:
git remote add origin https://github.com/yourname/foo.git
Push your local repository to GitHub:
git push origin master
It will ask you for your remote username and password.
And now, whenever you have finished working on your local machine, just enter that same command from step 3 and your work will be pushed to GitHub!
Have fun
There, you've done it. Go check out your repository at GitHub. Share it. Pat yourself on the back for a sec. Now, get to work and write that code! Maybe add a readme file to your project, so people will be able to read about it: GitHub will show it automatically for you. The above is 99% of what I do with my little one-person projects. Once you hit a snag or need more information about more complicated stuff, you will be able to get it at stack overflow or google or via a book.2 -
So yeah now that WSL 2 has been released to insiders, I can confirm that it is 'just' a virtual machine. However it's an incredibly lightweight one. Honestly it's just as responsive as when using iTerm on my Mac.
I gotta say I was hesitant about it being a vm, but they've executed it in a great way. My only problem with it at the moment, is that it only works as a host-only network. Would be nice to have the possibility of changing network adapter settings4 -
A medical equipment that you can attach to employees and excruciatingly kill them as soon as they say things like (please note that the list is not limited and we should use a speech to text API to provide NLP states for the meaning - I want to catch all false negatives!! Kill them all!!!!):
- It works on my machine
- I tested it before!
- Haskell is a terrible language
- Big data and actionable insights
- why do you need unit tests here?
- I am a recruiter
- Anything that comes with the following construction as well: "I don't have anything against X, but..."
Any other suggestions of phrases?2 -
TL;DR As time goes by, I'm feel deeply in love with linux. An infatuation? :D
Before, I really dont mind how the file system works, permission setup, library installation, etc. as long I finished my project (before like 90% of the time I copy paste cmds). But now, after many hair pulling while debugging times, crying while rolling on the floor moments, and painful production deployments (wtf! it's working on my machine/dev server rants), it helps me clearly realized how amazing it is. I might be relatively new with the OS compare to others so maybe what I feel like now is like having a crush on someone in a bus :). But still, I just wanted to say thank you to all who are giving their time in developing/improving linux distros - you are heroes!
I'm hoping that I can contribute something soon :)
senti_mode off1 -
Been using a jump drive compiled as NTFS for my sneaker net. I copied some file to it from Ubuntu 18.04. I take to Windows machine and it says there are errors (does this a lot). Usually it works fine. The files I copied are not there. They were downloaded web pages as Windows machine is not on net. I noticed the file names have characters like #, ? and ` in them. So I reformat the jump drive to exFat. I copy the files from Ubuntu plus a bunch of other files. It errors like crazy on stuff that copied fine before with NTFS. Not a solution. So I find an alternate downloader for web pages I want to copy (does not have funky characters in filenames). I reformat back to NTFS on jump drive.
So basically if I want to copy files from my Ubuntu system I am stuck with NTFS and always repairing the filesystem. Yes, all my libraries for exFAT are up to date in Ubuntu.
Is there ever going to be a better way?
When is Windows going to grow up and support ext4?
Why?
Its 2019 and we still have incompatible networks and filesystem formats.7 -
Today I deployed my first website with Wordpress’ second wpdb object. After scratching my head and frantically googling for 2 hours why it works on my machine but not the deployment server, I realised that I’d set the username and password to DB_USER and DB_USER...
So root root works but anything else doesn’t....1 -
Relatively often the OpenLDAP server (slapd) behaves a bit strange.
While it is little bit slow (I didn't do a benchmark but Active Directory seemed to be a bit faster but has other quirks is Windows only) with a small amount of users it's fine. slapd is the reference implementation of the LDAP protocol and I didn't expect it to be much better.
Some years ago slapd migrated to a different configuration style - instead of a configuration file and a required restart after every change made, it now uses an additional database for "live" configuration which also allows the deployment of multiple servers with the same configuration (I guess this is nice for larger setups). Many documentations online do not reflect the new configuration and so using the new configuration style requires some knowledge of LDAP itself.
It is possible to revert to the old file based method but the possibility might be removed by any future version - and restarts may take a little bit longer. So I guess, don't do that?
To access the configuration over the network (only using the command line on the server to edit the configuration is sometimes a bit... annoying) an additional internal user has to be created in the configuration database (while working on the local machine as root you are authenticated over a unix domain socket). I mean, I had to creat an administration user during the installation of the service but apparently this only for the main database...
The password in the configuration can be hashed as usual - but strangely it does only accept hashes of some passwords (a hashed version of "123456" is accepted but not hashes of different password, I mean what the...?) so I have to use a single plaintext password... (secure password hashing works for normal user and normal admin accounts).
But even worse are the default logging options: By default (atleast on Debian) the log level is set to DEBUG. Additionally if slapd detects optimization opportunities it writes them to the logs - at least once per connection, if not per query. Together with an application that did alot of connections and queries (this was not intendet and got fixed later) THIS RESULTED IN 32 GB LOG FILES IN ≤ 24 HOURS! - enough to fill up the disk and to crash other services (lessons learned: add more monitoring, monitoring, and monitoring and /var/log should be an extra partition). I mean logging optimization hints is certainly nice - it runs faster now (again, I did not do any benchmarks) - but ther verbosity was way too high.
The worst parts are the error messages: When entering a query string with a syntax errors, slapd returns the error code 80 without any additional text - the documentation reveals SO MUCH BETTER meaning: "other error", THIS IS SO HELPFULL... In the end I was able to find the reason why the input was rejected but in my experience the most error messages are little bit more precise.2 -
Is docker even suitable for anything that isn't deployment?
So much time, so much effort, so much trial and error, and I still feel like I don't know what Docker is for.
I had a development VirtualBox machine, which I used just to compile my code and test my application. So I said "why don't I just use Docker? It would be way simpler". Also because that fucking Virtualbox image was like 10GB, and it was slow af.
The VirtualBox machine wasn't created by me, but it was just given to me by a previous developer, so I just had to imagine what I needed and pick up the pieces. In few hours I was ready with my Dockerfile.
So I tried it, and....... obviously it didn't work. I entered inside my container and I tried to manually execute commands in order to see where it breaks, and I tried to fix each of them. They were just the usual Linux dependencies problems, incompatibility among libraries, and so on.
Putting everything in order, I started over again with a virgin Ubuntu image, and I tried to fix every single error that appeared, I typed something like 1 hundred commands just to have my development machine up and running.
Now I have a running container that works, I don't know how to reproduce it with a Dockerfile, and I don't know what I'm supposed to do with it, because I'm afraid that any wrong command could destroy the container and lose all the job I did. I can't even bind folders because start/exec doesn't support bindings, so I've to copy files.
Furthermore, the documentation about start/exec is very limited, and every question on StackOverflow just talks about deployment. So am I wrong? Did I use containers for something that wasn't their main purpose? What am I supposed to do now? I'm lost, I feel so much stupid.
Just tell me what to do or call a psychologist8 -
Pretty niche tool, but Sencha Architect!
It is a wanna be GUI-Builder/IDE for ExtJS, but neither works properly.
This rant is not about ExtJS, just about Sencha Architect, which my coworkers and I were forced to use.
If you want to join the ride, here an excerpt of just some of the issues:
- installation: already the setup is more of a gamble than an actual setup, either it works on your machine or it doesn't, plain and simple
- GUI Builder: just drag and dropping components is actually nice, but the editing capabilities are frustrating, you can't edit the UI code by hand at all, just through pre defined properties. If there was the need to really mix things up it wasn't possible, I couldn't even rebuild shown examples of their ExtJS documentation. Furthermore the property editor was data type locked, which means if you want to enter a string which ExtJS already supports, but architect locks the value as a boolean, you can't edit it at all, while still using Architect
- code editing: well it is a colored texteditor, which is fine, and I could live with that, but Architect let's you just edit areas where it allows you to - want to change something else? Nope not allowed
- autocompletion: there is none at all, same goes for refactoring, multi highlighting, string replacement, and others
- code storing: well now some may think edit it somewhere else, well no, also not possible... Architect not just only saves simple js, there is also a Json formatted file for everything you have created, which is needed so the tool can actually load it for further editing. They possibly never heard of DRY. But the worst of this code storing was actually using git along with it - have a merge conflict? Merge both files! Every single time, it was so damn tedious
There are a few more, but these were the worst I can remember.
Luckily I don't have to use it anymore!
Maybe they have fixed or changed a lot of it, because the developers were aware of the issues and eager to resolve them, as far as I was told on a roadmap presentation. And some of the tools they had released in the end of my time using ExtJS were actually really good, like an IDE plugin for the framework, and I liked using it. -
Well fucking shit, I built util-linux from source and restarted my Debian installation without knowing that mount needed new libraries, so I can't fix it from the install itself because mount no longer works properly and and the root partition mounts as read only. My only hope is to take the SSD out and put it in my laptop (The BIOS on this machine doesn't like booting from external drives for some reason...), boot from a recovery disk, chroot, and re-install util-linux that way.2
-
Serious question - how does one learn basics of higher level networking, beyond stuff I can mess with on my local machine?
Today, I was completely caught off guard when I had to set up BGP-based loadbalancing on a machine and I just... Didn't know how the whole topology looks or behaves...
Once I go beyond the server in the network, I tend to get lost. Especially around how routing works and stuff like that... All I know is my machine has one or more gateways to which it sends data going to specific network segments...6 -
I have this sbt test that keeps failing on CI. Locally it works fine but soon as it goes through circle CI, shit gets fucked. Now when I incessantly keep rerunning the working flow without any change, it eventually passes and I am able to deploy. I have no idea wtf is happening or what to do about it. Isn't containerizatiom supposed to solve this whole worked on my machine conundrum? I am too unenthusiastic and numb to even feel anyway about this. Wish everything would end.5
-
Some really motivated guy.
He apparently wants to monitore his opensource application on his spare time.
His application is likely to have no users though.
But well, that guy looks like kinda montivated.
For professional purpose, guy already did monitore with newrelic.
Seems like he was not satisfied and switched to datadog 3 years ago.
But liking digging dirt, he migrated to self hosted telegraf/influx/grafana (which he likes to about)
Today that guy is not in his company but on his potatoe machine in the cloud. So he wants to be minimalistic, datadog should do.
Now you got it, random ff*** is me, on a weekend, a shinny saturday for that matter.
Actually now it is night.
Now let's start the fight.
I have datadog scripts!
But datadog be sneaky as well. datadog upgraded to v6 8=)
-> scripts ain't working. outdated.
I check the logs. Too bad!
-> datadog removed dogstatsD.log in v6!
Well I have nothing to do in my life it is too cold outside as they say. I read the (sluggy) datadoc and tries some shell command (given in doc) to upload some events to dogstatsd (via udp).
-> Nothing happens, neither in local nor in remote.
ok maybe command not up to date, so let me try some official library. datadog from python. Feels like a nice try!
-> only available for python >= 3.5. 3.4 on my good ol' jessie. Upgrading os for datadog not acceptable.
Maybe dogstatsD not started... doc says it is by default, but well, not the first time doc is wrong... I put datadog as log verbose. Guess what: as per standard: shitload of error.
Digging... kubexx, docker and whatsoever apparently preventing collector to do its normal stuff
np, I am gonna check that on github! Goog, people have the same errors. They seem to fix it by trying some settings, with. or without luck
-> I am not that warrior to check every stuff
Ok, let's stop the datadog events, it works. It does not anymore. You know that sentence. We all know it.
Still not enough!
How about testing that uber super nice feature of v6. The logs. After all I want to make events out of my applicative logs.
How about reading the log again. Configure the yaml log as they say. Done. Make some pattern. Read the best practive. Done. Configures the yaml. Done. Now testing.
-> remote datadog interface be like: no logs for you dude you need to pay
ff***f*f*f
Fuck datadog, fuck that v6 version, good old tail -Fxx | someaggreate.js|sendmail will do...