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 - "x-files"
-
Fucking intern.
While I was working next to her a couple weeks back, she spent half her time on social media, playing Candy Crush, or talking with her friend. She also left early almost every day.
I had given her a project to do (object crud + ui), and helped her through it. She made pretty abysmal progress in a week. I ended up finishing it for her by rewriting basically all of her code (every single line except some function names, lone `end` or `}` statements, a few var declarations, blank lines, plus a couple of comments she copied over from my code).
This week I gave her a super easy project to do. It amounts to copying four files (which I listed), rename a few things to be Y instead of X, and insert two lines of code (which I provided) to hook it up. Everything after that just works. It should have taken her ... okay, maybe a few hours because she's slow and new to the language. but it would have taken me five to ten minutes, plus five minutes of testing.
She has spent THREE FUCKING DAYS ON THIS AND SHE'S STILL NOT DONE. SHE'S BLOODY USELESS!
She has kept not pulling changes and complaining that things are broken. Despite me telling her every time I push changes that affect her work (on. my. branch. ergh!)
She keeps not reading or not understanding even the simplest of things. I feel like MojoJojo every time I talk to her because of how often I repeat myself and say the same things again and again.
Now she's extremely confused about migrations. She keeps trying to revert a drop_table migration that she just wrote so she can re-create the table differently. Instead of, you know, just reverting back to her migration that creates the table. it's one migration further.
Migrations are bloody simple. they're one-step changes to the database, run in order. if you want to make a change to something you did a few steps back, you roll back those migrations, edit your shit, and run them again. so bloody difficult!
`rails db:rollback && rails db:rollback`
Edit file
`rails db:migrate`
So. hard.
I explained this to her very simply, gave her the commands to copy/paste, ... and she still can't figure it out. She's fucking useless.
It took me ten minutes to walk her though it on a screen share. TEN FREAKING MINUTES.
She hasn't finished a damned fucking thing in three weeks. She's also taking interview calls while working on this, so I know she totally doesn't care.
... Just.
Fucking hell.
USELESS FUCKING PEOPLE!35 -
You know who sucks at developing APIs?
Facebook.
I mean, how are so high paid guys with so great ideas manage to come up with apis THAT shitty?
Let's have a look. They took MVC and invented flux. It was so complicated that there were so many overhyped articles that stated "Flux is just X", "Flux is just Y", and exactly when Redux comes to the stage, flux is forgotten. Nobody uses it anymore.
They took declarative cursors and created Relay, but again, Apollo GraphQL comes and relay just goes away. When i tried just to get started with relay, it seemed so complicated that i just closed the tab. I mean, i get the idea, it's simple yet brilliant, but the api...
Immutable.js. Shitload of fuck. Explain WHY should i mess with shit like getIn(path: Iterable<string | number>): any and class List<T> { push(value: T): this }? Clojurescript offers Om, the React wrapper that works about three times faster! How is it even possible? Clojure's immutable data structures! They're even opensourced as standalone library, Mori js, and api is great! Just use it! Why reinvent the wheel?
It seems like when i just need to develop a simple react app, i should configure webpack (huge fuckload of work by itself) to get hot reload, modern es and jsx to work, then add redux, redux-saga, redux-thunk, react-redux and immutable.js, and if i just want my simple component to communicate with state, i need to define a component, a container, fucking mapStateToProps and mapDispatchToProps, and that's all just for "hello world" to pop out. And make sure you didn't forget to type that this.handler = this.handler.bind(this) for every handler function. Or use ev closure fucked up hack that requires just a bit more webpack tweaks. We haven't even started to communicate to the server! Fuck!
I bet there is savage ass overengineer sitting there at facebook, and he of course knows everything about how good api should look, and he also has huge ass ego and he just allowed to ban everything that he doesn't like. And he just bans everything with good simple api because it "isn't flexible enough".
"React is heavier than preact because we offer isomorphic multiple rendering targets", oh, how hard want i to slap your face, you fuckface. You know what i offered your mom and she agreed?
They even created create-react-app, but state management is still up to you. And react-boierplate is just too complicated.
When i need web app, i type "lein new re-frame", then "lein dev", and boom, live reload server started. No config. Every action is just (dispatch) away, works from any component. State subscription? (subscribe). Isolated side-effects? (reg-fx). Organize files as you want. File size? Around 30k, maybe 60 if you use some clojure libs.
If you don't care about massive market support, just use hyperapp. It's way simpler.
Dear developers, PLEASE, don't forget about api. Take it serious, it's very important. You may even design api first, and only then implement the actual logic. That's even better.
And facebook, sincerelly,
Fuck you.17 -
Me: Oh I see were using a non-standard architecture on this app. I like this bit but what is this doing? never seen it before.
Him: Ah we use that to abstract the navigation layer.
Me: oh ok, interesting idea, but that means we need an extra file per screen + 1 per module. We also can't use this inbuilt control, which I really like, and we've to write a tonne of code to avoid that.
Him: Yeah we wanted to take a new approach to fix X, this is what we came up with. Were not 100% happy with it. Do you have any ideas?
**
Queue really long, multi-day architecture discussion. Lots of interesting points, neither side being precious or childish in anyway. Was honestly fantastic.
**
Me: So after researching your last email a bit, I think I found a happy middle ground. If we turn X into a singleton, we can store the state its generating inside itself. We can go back to using the in-built navigation control and have the data being fetched like Y. If you want to keep your dependency injection stuff, we can copy the Angular services approach and inject the singletons instead of all of these things. That means we can delete the entire layer Z.
Even with the app only having 25% of the screens, we could delete like 30+ files, and still have the architecture, at a high level, identical and textbook MVVM.
Him: singleton? no I don't like those, best off keeping it the way it is.
... are you fucking kidding me? You've reinvented probably 3 wheels, doubled the code in the app and forced us to take ownership of something the system handles ... but a singleton is a bad idea? ... based off no concrete evidence or facts, but a personal opinion.
... your face is a bad idea15 -
I recently joined the dark side - an agile consulting company (why and how is a long story). The first client I was assigned to was an international bank. The client wanted a web portal, that was at its core, just a massive web form for their users to perform data entry.
My company pitched and won the project even though they didn't have a single developer on their bench. The entire project team (including myself) was fast tracked through interviews and hired very rapidly so that they could staff the project (a fact I found out months later).
Although I had ~8 years of systems programming experience, my entire web development experience amounted to 12 weeks (a part time web dev course) just before I got hired.
I introduce to you, my team ...
Scrum Master. 12 years experience on paper.
Rote memorised the agile manifesto and scrum textbooks. He constantly went “We should do X instead of (practical thing) Y, because X is the agile way.” Easily pressured by the client to include ridiculous (real time chat in a form filling webpage), and sometimes near impossible features (undo at the keystroke level). He would just nag at the devs until someone mumbled ‘yes' just so that he would stfu and go away.
UX Designer. 3 years experience on paper ... as business analyst.
Zero professional experience in UX. Can’t use design tools like AI / photoshop. All he has is 10 weeks of UX bootcamp and a massive chip on his shoulder. The client wanted a web form, he designed a monstrosity that included several custom components that just HAD to be put in, because UX. When we asked for clarification the reply was a usually condescending “you guys don’t understand UX, just do <insert unhandled edge case>, this is intended."
Developer - PHD in his first job.
Invents programming puzzles to solve where there are none. The user story asked for a upload file button. He implemented a queue system that made use of custom metadata to detect file extensions, file size, and other attributes, so that he could determine which file to synchronously upload first.
Developer - Bootlicker. 5 years experience on paper.
He tried to ingratiate himself with the management from day 1. He also writes code I would fire interns and fail students for. His very first PR corrupted the database. The most recent one didn’t even compile.
Developer - Millennial fratboy with a business degree. 8 years experience on paper.
His entire knowledge of programming amounted to a single data structures class he took on Coursera. Claims that’s all he needs. His PRs was a single 4000+ line files, of which 3500+ failed the linter, had numerous bugs / console warnings / compile warnings, and implemented 60% of functionality requested in the user story. Also forget about getting his attention whenever one of the pretty secretaries walked by. He would leap out of his seat and waltz off to flirt.
Developer - Brooding loner. 6 years experience on paper.
His code works. It runs, in exponential time. Simply ignores you when you attempt to ask.
Developer - Agile fullstack developer extraordinaire. 8 years experience on paper.
Insists on doing the absolute minimum required in the user story, because more would be a waste. Does not believe in thinking ahead for edge conditions because it isn’t in the story. Every single PR is a hack around existing code. Sometimes he hacks a hack that was initially hacked by him. No one understands the components he maintains.
Developer - Team lead. 10 years of programming experience on paper.
Writes spaghetti code with if/else blocks nested 6 levels deep. When asked "how does this work ?”, the answer “I don’t know the details, but hey it works!”. Assigned as the team lead as he had the most experience on paper. Tries organise technical discussions during which he speaks absolute gibberish that either make no sense, or are complete misunderstandings of how our system actually works.
The last 2 guys are actually highly regarded by my company and are several pay grades above me. The rest were hired because my company was desperate to staff the project.
There are a 3 more guys I didn’t mention. The 4 of us literally carried the project. The codebase is ugly as hell because the others merge in each others crap. We have no unit tests, and It’s near impossible to start because of the quality of the code. But this junk works, and was deployed to production. Today is it actually hailed as a success story.
All these 3 guys have quit. 2 of them quit without a job. 1 found a new and better gig.
I’m still here because I need the money. There’s a tsunami of trash code waiting to fail in production, and I’m the only one left holding the fort.
Why am I surrounded by morons?
Why are these retards paid more than me?
Why are they so proud when all they produce is trash?
How on earth are they still hired?
And yeah, FML.8 -
Took yesterday off to sort out a new passport.
Today on the stand:
Manager: "So we've been trying to get app X running on a dev environment for client X but we couldn't expose it to them"
Me: "Well yeah it's a dev environment if you want to give them one give them access to staging"
Manager: "Oh well we're still going to give them access to dev because they asked for it. It's due for 10am but we couldn't get it to run. You have to get it running since we edited the config files"
*accessing dev environment*
half of config files is missing, random files committed to the repo, SSL certs manually edited, eth0 down and found swan vpn installed.
never taking a day off again.1 -
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.31 -
As a Java developer, reasons to kill other programmers:
- static mutable variables
- WRITING to static mutable variables
- API call with Framework X didn't work. Add Framework Y along with X and try that. Wrap X in try/catch statement. Catch block fires framework Y.
- six, seven, ten levels of nested code. Zero thought put in organization
- 6K LOC Java files
- spring (singleton? Maybe) object assigning values in static mutable (see pt.1)
- a couple of unit tests in code base that no longer work. Zero unit tests in new code
- unit testing disabled in CI pipeline
- empty catch blocks
- pass mutable data between threads. Modify in various places concurrently.3 -
My boss codes, I'm lead Dev:
Boss: "just finished an MVP of the X project. It's 3 files and 1800 lines of code, plus triggers... "
Me: "Shieeet..."
Boss: "yup, your shit, you'll be refactoring it"
Me: *sigh*2 -
Bought a second hand e-reader and now importing nearly 1k of PDF files into Calibre's library.
Its taking huge amounts of ram and my laptop started freezing.
~$ nano clean.sh
while :
do
sudo sync; echo 3 > /proc/sys/vm/drop_caches
done
~$ chmod +x clean.sh
~$ ./clean.sh
👌12 -
ALWAYS make a backup, or at least save your files every 5 minutes (or turn auto-save on).
You never know whether your parents will click the X button and clicking No in the save confirmation.6 -
rant¡
Client: "Can you add some logos to the homepage?"
Me: "Sure, I've just added it, take a look at staging."
Client: "Great, we can move it to live"
** 5 days later after it being moved to live and telling them I'm going on holiday. **
Client: "EMERGENCY change logo now, we need to change x logo. These logos look crappy too. How did this happen?"
Fuck this. I'm not employed by you, you don't have any right to speak to me like that. Especially after working tirelessly for your company.
**sent email back explaining how to upload files**
Told them not to contact me unless it's technically related.3 -
My System Analysis professor wants to fail me because I refuse to store PDF files in the database in my project.
He wants me to store THE WHOLE BINARY FILE in the database instead of on the filesystem.
When I tried to explain why that would be bad, he interrupted me and began the "you think you know more than I do? I've been teaching this for X years" speech.
How do such people become professors?24 -
“Don’t learn multiple languages at the same time”
Ignored that. Suddently I understood why he said that. Mixed both languages. In holiday rechecked it and it was ok.
Sometimes mistakes can lead to good things. After relearning I understood it much better.
“Don’t learn things by head” was another one. Because that’s useless. If you want to learn a language, try to understand it.
I fully agree with that. I started that way too learning what x did what y did, ... But after a few I found out this was inutile. Since then, I only have problems with Git
Another one. At release of Swift, my code was written in Obj-C. But I would like to adopt Swift. This was in my first year of iOS development, if I can even call it development. I used these things called “Converters”. But 3/4 was wrong and caused bugs. But the Issues in swift could handle that for me. After some time one told me “Stop doing that. Try to write it yourself.”
One of the last ones: “Try to contribute to open source software, instead of creating your own version of it. You won’t reinvent the wheel right? This could also be usefull for other users.”
Next: “If something doesn’t work the first time, don’t give up. Create Backups” As I did that multiple times and simply deleted the source files. By once I had a problem no iOS project worked. Didn’t found why. I was about to delete my Mac. Because of Apple’s WWDR certificate. Since then I started Git. Git is a new way of living.
Reaching the end: “We are developers. Not designers. We can’t do both. If a client asks for another design because they don’t like the current one tell them to hire one” - Remebers me one of my previous rants about the PDF “design”
Last one: “Clients suck. They will always complain. They need a new function. They don’t need that... And after that they wont bill ya for that. Because they think it’s no work.”
Sorry, forgot this one: “Always add backdoors. Many times clients wont pay and resell it or reuse it. With backdoors you can prohibit that.”
I think these are all things I loved they said to me. Probably forgot some. -
"Install through npm"
"Install through gulp"
"Install through compiling"
"Install through x"
"Install through y"
WHY CAN'T I JUST SIMPLY INCLUDE THE MOTHERFUCKING THING IN THE HTML LIKE A FUCKING NORMAL PERSON?!
ALL I WANT IS TO INCLUDE A GODDAMN UI FRAMEWORK.
When I just started web development, this stuff was so fucking easy! Why did it become so motherfucking complicated to include simple shit like this?!
All I want is to start programing this motherfucker, not spend 3 hours on compiling CSS and whatnot (because I'd have to learn this bullshit first).
Mother of god, why did this become so fucking obnoxious?
I. JUST. WANT. TO. INCLUDE. TWO. FUCKING. FILES.69 -
The company I interned at last summer decided to adopt a JS framework a little over a year ago. The managers went with the old Angular 1.x because they didn't want a JS build process. Each page has ~100 script tags on it, and these are manually included in various files (no automated way to include dependencies). None of the CSS/JS files are minified, either.
They really should have chose Angular 2+, or an entirely different framework (React, VueJS). They're also just now upgrading the codebase from PHP 5.6 to PHP 7.2 (5.6 support ended a long time ago, and security support ends this month).
I love the company itself but these practices are poor.
I may be working there full time eventually. I hope to eventually help with the inevitable transition to a newer framework once Angular 1.x is dead since I am an avid user of newer JS technologies. Any tips on convincing manager(s) towards newer technology? (Or at least convincing them to combine+minify these files in production to reduce # of requests and bandwidth.)
Also this company's product has millions of active users.16 -
Keybinds you need (Windows):
Copy: Ctrl + c
Cut: Ctrl + x
Paste: Ctrl + v
Jump from word to word: Strg + Left arrow or right arrow
Mark text: Shift + Right arrow or Left arrow
Mark text (jump from word to word): Ctrl + Shift + Left arrow or right arrow
Quickly open task manager: Ctrl + Shift + Esc
Windows button alternative(e.g. for gaming sessions when you've disabled the windows button): Ctrl + Esc
*legend* Multitasking legend for switching quickly between programs (keep Alt key pressed to select the program you want to open by pressint Tab) Alt + Tab
Multitasking legend with a nice animation (not there for quick workflow but to manage programs, files, multidesktop): Windows + Tab
For people who have multiple desktops - If you don't have, go add two more:
Switch to next desktop: Ctrl + Windows + Right arrow
Switch to previous desktop: Ctrl + Windows + Left arrow
Navigate in taskbar: Windows + t
Quickly look computer: Windows + L
Some boot options (personal tip: navigate with arrow keys for faster workflow): Windows + X
Quickly toggle desktop: Windows + D
Screenshot of current program: Ctrl + Alt + Print
Screenshot of the whole screen and your external ones (will be saved in C:/Users/user/Pictures/Screenshots): Windows + Print
Open run.exe (can be used to open .exe files, e.g. to execute cmd, regedit quickly)
Close browser tab: Ctrl + w
Open browser tab: Ctrl + t
Search: Ctrl + f
// just single keys that are useful
Reload page: f5
Url bar: f6
reopen closed tabs (not sure about compatibility but is definitely working in chrome and firefox): Ctrl + Shift + t
Fullscreen mode (not a keybind too): F11
Alt + F4 to win the game
The boss of all key(bind)s (also not a keybind): Tab
If you got more tho write it down in the comments section. I really tried my best :'D16 -
CTO: I told you to be careful with the live bucket and now it's completely exposed to the public. I don't think I can trust you with this can you please generate your files somewhere else. This is unacceptable.
*Me frantically trying to figure out what's going on*
*5mins later*
CTO: ?? Any ideas?
Me: A theory
Workers were executing function X which called save on a model that dint have a path name but instead it called function Y which generated a path for the object to be saved in. This has overridden all the original objects with newly generated ones.
I created my versions out of the newly generated ones. Here's the command and the functions mentioned above.
*Hands over code/links etc*
CTO: Oh I guess I just panicked hahah
All of the functions and commands were written by him and executed... By him.4 -
We needed a design for our Android and iOS App, everything should be done by an award-winning design agency. What we received was only a design for iPhone X. Only mockups as PDF, no icons, nothing. So we requested the Android design and an iPhone 8 one including icons, color codes and whatnot.
1 FUCKING MONTH LATER we got the new designs... They are all the FUCKING SAME DESIGN where some mockups were "displayed" on an android phone, and some on an iPhone. Still no icons though.
3 weeks pass and we geht FUCKING sketch files, to extract the shit ourselves. Thank you for nothing.
It took again nearly 3 month to get a "proper" Android design and all the assets. You could clearly see, that they never did anything for Android but well, we had to work with it. Award-winning design agancy my ass.5 -
My first post here, be merciful please.
So, I participate in game jams now and then. About two years ago, I was participating in one, and we where near the deadline. Our game was pretty much done, so we where posted a "alpha" version waiting for feedback.
Just half an hour before the deadline, we got a comment on our alpha alerting us of a rather important typo: The instruction screen said "Press X to shoot" while X did nothing and Z was the correct key. "Good thing we caught that in time, thankfully a easy fix" I thought.
This project was written in python, and built using py2exe. If you know py2exe, the least error-prone method outputs a folder containing the .exe, plus ginormous amounts of dll's, pyc files, and various other crap. We would put the entire folder together with graphics and other resources into a .zip and tell the judges to look for the .exe.
Anyway, on this occasion I committed to source control ran the build, it seemed to work on my quick test. I uploaded the zip, right before the deadline and sat back waiting for the results.
I had forgotten one final step.
I had not copied my updated files to the zip, which still contained the old version.
Anyway, I ended up losing a lot of points in "user friendliness" since the judges had trouble figuring out how to shoot. After I figured out why and how it happened, I had a embarrassing story to tell my teammates.3 -
DO !!!NOT!!!!! USE 'X' AND 'P' TO 'CUT AND PASTE' A LOT OF LINES ACROSS FILES IN VIM!!! HOLY SHIT I JUST PWNED MYSELF SO HARD I LOST SO MUCH CODE HOLY FUCK IT'S NOT EVEN FUNNY! WHERE DID AT ALL GO YOU ASK, WHY THE FUCKING REGISTER, OK LET'S CHECK THE REGISTER, COOL THERE IT IS, BUT WAIT, THERE'S ONLY LIKE 20% OF IT BECAUSE WE CUT A SHIT LOAD OF LINES AT ONCE, AND THE REGISTER OVERFILLED.... Ok let's calm down, doesn't Vim have a recovery option? Yes it does, but WAIT A FUCKING MINUTE, MY CHANGES ARE NOT IN THE SWAP FILE BECAUSE IT'S NOT LIKE VIM CRASHED OR ANYTHING, MY DUMB-FUCK-ASS WILLFULLY WROTE THE CHANGES WHEN I SWITCHED OVER TO THE NEW FILE, AND NOW, WELL THAT'S IT, YOU'RE DEAD KIDDO, YOU WROTE THE CHANGES TO DISK, NOTHING YOU CAN DO, AND I AM SO SCREWED I SPECIFICALLY MADE A DEVRANT ACCOUNT TO MAKE SURE NO ONE ELSE PWNS HIMSELF AS HARD AS I JUST DID HOLY FUCK16
-
Yknow, I want to make an android app that I have in my mind for about half a year now and I already tried twice, both with Kotlin and with Java but everytime I try it's just pain and suffering and frustration...
No it's not because of the language, I like Java and I like Kotlin too and I'd say I'm at least decent at Kotlin and really good in Java...
No no.. the issue is the fucking Android SDK and the mix-and-match documentation available online!!!
Every fucking time I want to implement some sort of UI element, user action or a background service and I start googling how to do it It comes with with at least 3 different stack overflow solutions, all of them saying "that way of doing it is deprecated, instead you should X" and looking up the OFFICIAL FUCKING DOCS it will just make me roll up in the corner and cry because of how fucking inconsistent it is and the retarded domain language it uses... fucking transactions for fucking fragments inside fucking activities... because I guess the word "screen"/"view"/"template" or something similar natural just was too mainstream for the all knowing alphabet soup that google is...
And then you start looking up what the fucking difference even is and how to code it up only to find out there's at least 12 other opinions on how fragments should be used and what should be an activity and what should be a damn fragment...
But that's not all, that's just the base... I get a headache even thinking about how the fucking inflating of templates and the entire R. notation works. You want to open a fucking tiny corner menu with the settings options? WELL THEN YOU FUCKING BETTER REMEMBER TO IMPLEMENT IT THROUGH SOME SORT OF EVENT AND INFLATE THE MENU YOURSELF EVEN THOUGH ITS THE SAME FUCKING THING WITH STATIC STRINGS...
AND WHY THE FUCK DO I NEED LIKE 4 NEW FILES TO IMPLEMENT A FUCKING LISTVIEW...
also talking about ListViews... what was wrong with "ListView"... Why do we need a "RecyclerView"... oh right... because the fucks fucked the fuck up and all the legacy components were designed by a monkey and are next to useless! SO WE NEEDED A NEW NAME FOR THE FIXED VERSION, CANT NAME IT LISTVIEW AGAIN... FUCK YOU...
honestly... if I got a dolar for every "what the fuck android" I said during trying to understand that mess I'd be richer by a few hundred...
oh oh oh, but you know what? You don't like the android SDK? that's fine, you can use fucking React or Flutter or something... yeah.. because instead of torturing myself with the android SDK I want to torture myself with an abstraction of the same SDK and JavaScript as the fucking cherry on top... HAVE YOU FUCKING SEEN THE CODE FLUTTER SHOWS ON THEIR WEBSITE AS THE "Introduction" ?!!!
Look at this piece of shit:
[code in attached image, we could really use a proper Markdown support at least for rants]
THAT'S NOT EVEN THE ENTIRE THING, THAT'S JUST THE *REALLY* UGLY PART...
The fucking nesting... What is it with JS and all the fucking nesting everytime?! It looks like shit.... It reads like shit as well...
WHY, in the name OF FUCK, IS THERE MORE THAN 5 ANDROID FRAMEWORKS and ALL of them... used this FUCKING NOVEL idea of programming using A FUCKING BRACKET WALL
It always looks like:
(code(code[code{code(code{code()})}]));
If I wanted to make a fucking app or a website using fucking Haskell I'd do that.... at this point reading assembly code feels like heaven compared to this retardation... Why is this so popular?! WHAT DO YOU PEOPLE SEE IN IT?! Clearly it's not the aesthetics... it looks like a fucking frog vomit running down an emus leg, fuck that.... I don't even hate classic JavaScript, it's a good enough language and it does what I tell it to... but these ugly fucking frameworks like react, angular and whatever else uses this fucking format can go fuck right off. This is not the way JS is gonna get a better name for itself...
So:
Fuck Google
Fuck the marionette that designed the Android SDK
Fuck the Hellspawn the came up with the "functional-like" way of using JavaScript
Fuck everyone that thinks "JavaScript everywhere" is a good thing
And deeply future-fuck everyone that makes a new framework following any of these standards, stucks a .js at the end of the name and releases his hairball.js of an invention into the fucking world....
It's a mess... fuck everything android related...14 -
Cracking old recovery CDs for the 9x/2000/XP era shines some light into how companies operated and when concepts came to be in that time:
Packard Bell: An EXE checks that you're running on a Packard Bell machine and reboots if it's not. How do we bypass it? Easy: just fucking delete it. The files to reinstall Windows from scratch come from...
...
C:?
Yup. Turns out Packard Bell was doing the recovery partition thing all the way back to the 9x era, maybe even further. Files aren't even on the restore disc so if your partition table got fucked (pretty common because malware and disk corruption) you were totally fucked and needed to repurchase Windows. (My dad, at the time, only charged at-cost OEM prices for a replacement retail copy. He knew it was dumb so he never sold PB machines.)
Compaq:
Computer check? Nope, remove one line from a BATCH file and it's gone.
Six archives, named "WINA.ZIP" through "WINF.ZIP" (plus one or two extras for OEM software) hold Windows. Problematic? Well... only because they never put the password anywhere so the installer can't install them. (Some interesting on-disc technician-only utils, though!)
Dell:
If not a Dell machine, lock up. Cause? CONFIG.SYS driver masquerading as OAK (the common CD driver) doing the check, then chainloading the real OAK driver. Simple fix: replace the fake driver with the real one.
Issues?
Would I mention this one if there weren't?
Disc is mounted on N:. Subdirectories work, but doing anything in them (a DIR, trying to execute something, trying to view shit in EDIT.COM) kicked you back to the disc root.
Installer couldn't find machine manifest in the MAP folder (it wanted your PC's serial before it'd let you install, to make sure you have the correct recovery disc) so it asked for 12-digit alphanumeric serial. The defined serials in the manifest were something like "02884902-01" or similar (8-2, all numbers) and it couldn't read the file so it couldn't show the right format, nor check for the right type.
Bypassing that issue, trying to do the ACTUAL install process caused nothing to happen... as all BATCHes for install think the CD should be on X:.
Welp.
well that was fun. Now to test on-real-PC behavior, as VBOX and VMWare both don't like the special hardware shit it tries to use. (Why does a textmode GUI need GPU acceleration, COMPAQ?????)4 -
Hello, world!
Soo.. I am half way done with Pre-Release 10!
Woohoo!
However.. The update log is already as long as the full update log for the last update.. Which was twice as long as the log for the update before..
I'm Starting to notice a pattern.. XD
This is all good and well, but I feel as if I'm overworking myself. I'm getting stressed out, and I'm not spending near as much time with my girlfriend. 3: But, I'm having fun. I'm genuinely enjoying myself, and I'm making a ton of progress in such a short amount of time. I also have a new team member!
Idk.. I haven't done anything the past two days really. Work nor spending time with my girlfriend. I'm stressed, and I'm not sure what I should do. I'm sooper modivated to keep working, but I feel that my situation will only get worse.
---
Because I'm sure some of you will be interested ('cause my game is very popular in this community <3), here is the update list so-far. Do note that this is not the final list, and things will be added, and may be removed.
As you can see below, this update is mostly focussed around API's. Specifically Modding, and the new FileSystem. On top of this, I will *try* and tinker with the official Patreon API for Java and see if I can't intergrate that into my game. I'll also work on a ModManager, but I'm not sure if either of these will make it into this release. I also have plans for new Apps and Commands for this release, as well as working and polishing up existing Apps and Commands.
---
* Closing the game with X button (and other ways) now also calls preExitTasks()
+ Added AddonLoader. It's literally a Mod-Loader. (Your welcome :3) A tutorial coming soon, but just know that it's standard Java codeing and you simply need to drop the mod.jar into the game's addons/ directory.
++ Added "API" - This is a bunch of methods that are added for the Mods to use. These Methods likely wouldn't of been added othewise.
+ Added in-game FileSystems (Folder, files..)
++ Added FileNavigator API for traversing the in-game FileSystems
* Fixed a major bug with the "debug" command where you could no longer run any commands after enabling debug mode.
+ Added GameSave creation
+ Added System creation
+ New Save + localsystem are generated on startup
++ Added WindowBuilder API for creating Apps. This makes creating Apps much, much simpler, and is intended for not only us, but use in Mods.
* We re-wrote the Console Class from scratch, and turned it into an API for creating custom Terminal Apps. (Commands are now created using the Command Class and are then passed to Console and registered as either a Local or Global command)
++ Added Command API for creating commands. These commands execute Java code, much like a JavaFX Button would, on each call. You also get everything after the first [space] of the command that was passed, as a String.
* Re-wrote ALL previously implimented Apps.
* Re-wrote ALL previously implimented Commands.
+ Added "debugtest" command to test debug mode. (This just prints a totally boring random message, and you shouldn't try it.) [Note: This "command will not exist" when debug mode is false.]
+ Added "cd" command. ("cd ~" "cd .." "cd /home/folder" "cd etc" "cd /")
+ Added "cat" command. ("cat file" "cat /folder/file")
+ Added "mkdir" command.
+ Added "rm" command.
+ Added "dir" command.
If you're new and you have no clue what I'm talking about, here's the info page: https://trello.com/b/0bH2SjQf1 -
Don’t you love when you name your commit and push something like “Fixed x, y, and z” but the actual changes are in the unsaved files you forgot to save, so you have to do, “Actually fixed x, y, and z.”18
-
"So Alecx, how did you solve the issues with the data provided to you by hr for <X> application?"
Said the VP of my institution in charge of my department.
"It was complex sir, I could not figure out much of the general ideas of the data schema since it came from a bunch of people not trained in I.T (HR) and as such I had to do some experiments in the data to find the relationships with the data, this brought about 4 different relations in the data, the program determined them for me based on the most common type of data, the model deemed it a "user", from that I just extracted the information that I needed, and generated the tables through Golang's gorm"
VP nodding and listening intently...."how did you make those relationships?" me "I started a simple pattern recognition module through supervised mach..." VP: Machine learning, that sounds like A.I
Me: "Yes sir, it was, but the problem was fairly easy for the schema to determ.." VP: A.I, at our institution, back in my day it was a dream to have such technology, you are the director of web tech, what is it to you to know of this?"
Me: "I just like to experiment with new stuff, it was the easiest rout to determine these things, I just felt that i should use it if I can"
VP: "This is amazing, I'll go by your office later"
Dude speaks wonders of me. The idea was simple, read through the CSV that was provided to me, have the parsing done in a notebook, make it determine the relationships in the data and spout out a bunch of JSON that I could use. Hook it up to a simple gorm golang script and generate the tables for that. Much simpler than the bullshit that we have in php. I used this to create a new database since the previous application had issues. The app will still have a php frontend and backend, but now I don't leave the parsing of the data to php, which quite frankly, php sucks for imho. The Python codebase will then create the json files through the predictive modeling (98% accuaracy) and then the go program will populate the db for me.
There are also some node scripts that help test the data since the data is json.
All in all a good day of work. The VP seems scared since he knows no one on this side of town knows about this kind of tech. Me? I am just happy I get to experiment. Y'all should have seen his face when I showed him a rather large app written in Clojure, the man just went 0.0 when he saw Lisp code.
I think I scare him.12 -
@JoshBent and @nikola1402 requested a tutorial for installing i3wm in a windows subsystem for linux. Here it is. I have to say though, I'm no expert in windows nor linux, and all I'm going to put here is the result of duckduck searches, reddit and documentation. As you will see, it isn't very difficult.
First things first: Install WSL. It's easy and there's a ton of good tutorials on this. I think I used this one: https://msdn.microsoft.com/en-us/...
Once you got it installed, I guess it would be better to run "sudo apt-get update" to make sure we don't encounter many problems.
Install a windows X server: X is what handles the graphical interface in linux, and it works with the client/server paradigm. So what we'll do with this is provide the linux client we want to use (in this case i3wm) with an X server for it on windows. I guess any X server will do the work, but I highly recommend vcXsrv. You can download it here:
https://sourceforge.net/projects/...
for i3 just "sudo apt-get install i3"
Configurations to make stuff work:
open your ~/.bashrc file ("nano ~/.bashrc" vim is cool too). You'll have to add the following lines to the end of it:
"""
export DISPLAY=:0.0 #This display variable points to the windows X server for our linux clients to use it.
export XDG_RUNTIME_DIR=$HOME/xdg #This is a temporary directory X will use
export RUNLEVEL=3
sudo mkdir /var/run/dbus #part of the dbus fix
sudo dbus-daemon --config-file=/usr/share/dbus-1/system.conf #part of the dbus fix
"""
Ok so after this we'll have a functional x client/server configuration. You'll just have to install your desktop enviroment of choice. I only installed i3wm, but I've seen unity and xfce working on the WSL too. There are still some files that X will miss though.
*** Here we'll add some files X would miss and :
With "nano ~/.xinitrc" edit the xinitrc to your liking. I only added this:
"""
#!/usr/bin/env bash
exec i3
"""
Then run "sudo chmod +x ~/.xinitrc" to make it an excecutable.
Then, to make a linking file named xsession, run:
"ln -s ~/.xinitrc ~/.xsession"
Now you'll be able to run whatever you put in ~/.xinirc with:
"dbus-launch --exit-with-session ~/.xsession"
There's a ton of personalisation to be done, but that would be a whole new tutorial. I'll just share a github repo with my dotfiles so you can see them here:
https://github.com/DanielVZ96/...
SHIT I ALMOST FORGOT:
Everytime you open any graphical interface you'll need to have the x server running. With vcXsrv, you can use X launch. Choose the options with no othe programs running on the X server. I recommend using "one window without title bar".10 -
So, idiot me decided it would be a good idea to never get around to configuring my UPS to gracefully shutdown my server after a powercut lasting more than x duration...
Long story short, we had a powercut that lasted 4 minutes or so longer than the battery in the UPS could keep the server up for...
UPS died, server went pew, and after rebooting itself once the power came back on, my raid array wouldn’t mount anymore...
After Googling around, it seemed like running e2fsck would solve the problem.
Didn’t seem to do the trick... and tired me at 3am decided it would be a good idea to poke around.
Pretty sure I ran a command wrong, or two, because now I can’t even mount the fricken array in read only, and fsck complains with a shit ton errors...
Been researching for hours, and no dice...
Test Disk shows the ext4 partition, but fails to list any files...
I may have destroyed the tables or something... I’m a noob at this point.
I’m able to access files with the RStudio tool, however this doesn’t help with file names and directory structure 😭
Is it all over for my 5 years worth of photos and other bits and pieces that I don’t have any backups of ? 😂😭😭
If any of y’all are pros with data recovery and can help a fellow boi out, I’d be more than happy to pay for ya time !2 -
This is what happened today in our dayli:
Lead: We need to profile our software
Me: You can use the chrome devtools as remote profiler, even on prod, or make HAR files for later inspection.
Lead: Yeah but no that’s just collecting data on every tick, we need something like “has been called x times”
Me: Yeah but you can filt -
Lead: Yeah no, so back when I wrote code in Delphi...
Me: *oh god no not this again*
Lead: ... We could have clicked a button in our IDE and it would wrap the function call with the API call to profile that function ...
Me, to the secret dev group in slack: doesn’t a simple method decorator and node performance api help with that?
The people in the group: We had this topic last Friday all day...
Me: oh well *get’s coffee and ignores lead*3 -
Feeling pretty accomplished for someone who did no "work" today lol. I needed to work on side gigs but instead I:
1) Factory reset a 2011 Macbook Pro I'm selling and reinstalled Mojave using a patch (this laptop is officially unsupported by Mojave as of June).
2) Migrated all personal files from my windows desktop to my NAS. I'm turning this computer into a gaming rig now that I exclusively use my 2017 Macbook Pro for development.
3) Setup RDP from my macbook to my desktop.
4) Fixed registry errors and deleted junk apps off my desktop.
5) Erased and formatted all USB drives I had lying around.
6) Packaged up an old Xbox One for my brother-in-law which will get mailed tomorrow (included a few USBs for him since I rarely use'em).
7) Tested streaming my Xbox One X from my PC but it's laggy as F (both are wired, have static internal IPs, and use my router for DNS...it's just the app I guess).
8) Scored a like-new Scuf Vantage for my PS4 for $140 (the guy who was selling it paid $214 a month ago lol). I traded my spare Xbox One S for a PS4 slim and in an attempt to get used to it, I got this controller with thumbsticks in the same position as Xbox's.
9) Fixed and updated my Synergy app (mouse/keyboard sharing - I can use PBP on my 38" LG ultrawide and it's fairly seamless going between them).
10) Cloned a buddy's repo and set the project up to work locally.
11) Starting to get some work done while watching the Vikings game.1 -
finally got TI to cough up their SDK and I noticed there's no compiler or linker or anything. Turns out I need to use TASM.
...TASM is for MS-DOS or compatible. I'm on Linux.
Well, it went poorly, as usual, specifically like this:
- tried to automate building with DOSBox config and Python script: output binary always corrupted. Manually repeated, TASM mangles output on DOSBox every time. No PCem or 86box, and i'm on a Ryzen, so no KVM DOS. Out of luck there.
- TASM Linux build or wrapper? No build, but there is a wrapper! ...wait, it needs... 4 things written by random people to be made from source. I mean, that's not actually that bad... oh, after setting all of them up (and struggling through some autoconf/automake bullshit, one of the programs only had source for a 2.x kernel and autoconf/automake were not happy about it) it fails because one project's been worked on a lot more and dropped support for working with the other 3... goddammit.
- Community SDK? Several options for this... but all of them need .NET 2 to run on Win9x, don't work in Wine, or require... hey look, TASM! GODDAMMIT!
- DOS on a real machine? It's a massive bitch to shuttle files to and from a real DOS machine quickly and I can't take 30 minutes between builds that take me 4 minutes to change enough to need tested again.
why must i suffer like this22 -
I hate stupid DirectX .x files!!!!
I can't even find a simple camera mesh and I can't use other formats for this shitty project. No forking 3d model editor/converter works properly to convert other formats to it either, and those programs look like gray dogshit too. 😠2 -
Github 101 (many of these things pertain to other places, but Github is what I'll focus on)
- Even the best still get their shit closed - PRs, issues, whatever. It's a part of the process; learn from it and move on.
- Not every maintainer is nice. Not every maintainer wants X feature. Not every maintainer will give you the time of day. You will never change this, so don't take it personally.
- Asking questions is okay. The trackers aren't just for bug reports/feature requests/PRs. Some maintainers will point you toward StackOverflow but that's usually code for "I don't have time to help you", not "you did something wrong".
- If you open an issue (or ask a question) and it receives a response and then it's closed, don't be upset - that's just how that works. An open issue means something actionable can still happen. If your question has been answered or issue has been resolved, the issue being closed helps maintainers keep things un-cluttered. It's not a middle finger to the face.
- Further, on especially noisy or popular repositories, locking the issue might happen when it's closed. Again, while it might feel like it, it's not a middle finger. It just prevents certain types of wrongdoing from the less... courteous or common-sense-having users.
- Never assume anything about who you're talking to, ever. Even recently, I made this mistake when correcting someone about calling what I thought was "powerpc" just "power". I told them "hey, it's called powerpc by the way" and they (kindly) let me know it's "power" and why, and also that they're on the Power team. Needless to say, they had the authority in that situation. Some people aren't as nice, but the best way to avoid heated discussion is....
- ... don't assume malice. Often I've come across what I perceived to be a rude or pushy comment. Sometimes, it feels as though the person is demanding something. As a native English speaker, I naturally tried to read between the lines as English speakers love to tuck away hidden meanings and emotions into finely crafted sentences. However, in many cases, it turns out that the other person didn't speak English well enough at all and that the easiest and most accurate way for them to convey something was bluntly and directly in English (since, of course, that's the easiest way). Cultures differ, priorities differ, patience tolerances differ. We're all people after all - so don't assume someone is being mean or is trying to start a fight. Insinuating such might actually make things worse.
- Please, PLEASE, search issues first before you open a new one. Explaining why one of my packages will not be re-written as an ESM module is almost muscle memory at this point.
- If you put in the effort, so will I (as a maintainer). Oftentimes, when you're opening an issue on a repository, the owner hasn't looked at the code in a while. If you give them a lot of hints as to how to solve a problem or answer your question, you're going to make them super, duper happy. Provide stack traces, reproduction cases, links to the source code - even open a PR if you can. I can respond to issues and approve PRs from anywhere, but can't always investigate an issue on a computer as readily. This is especially true when filing bugs - if you don't help me solve it, it simply won't be solved.
- [warning: controversial] Emojis dillute your content. It's not often I see it, but sometimes I see someone use emojis every few words to "accent" the word before it. It's annoying, counterproductive, and makes you look like an idiot. It also makes me want to help you way less.
- Github's code search is awful. If you're really looking for something, clone (--depth=1) the repository into /tmp or something and [rip]grep it yourself. Believe me, it will save you time looking for things that clearly exist but don't show up in the search results (or is buried behind an ocean of test files).
- Thanking a maintainer goes a very long way in making connections, especially when you're interacting somewhat heavily with a repository. It almost never happens and having talked with several very famous OSSers about this in the past it really makes our week when it happens. If you ever feel as though you're being noisy or anxious about interacting with a repository, remember that ending your comment with a quick "btw thanks for a cool repo, it's really helpful" always sets things off on a Good Note.
- If you open an issue or a PR, don't close it if it doesn't receive attention. It's really annoying, causes ambiguity in licensing, and doesn't solve anything. It also makes you look overdramatic. OSS is by and large supported by peoples' free time. Life gets in the way a LOT, especially right now, so it's not unusual for an issue (or even a PR) to go untouched for a few weeks, months, or (in some cases) a year or so. If it's urgent, fork :)
I'll leave it at that. I hear about a lot of people too anxious to contribute or interact on Github, but it really isn't so bad!4 -
Coworker: Oh, I couldn't find my Excel file, can you help me to find it?
Me: What is your file name?
Coworker: The file created long time ago, I forgot my file name. But I open it yesterday.
Me: Ok, let's check open recent. (It's surprisingly empty)
Coworker: Yeah, I cleared it just before you arrived. I thought clearing the recent item, will show older items.
Me: ...Ok, let's do a search on all Excel items, which drive did you save your file?
Coworker: I don't remember.
Me: (After search) There are 1000 Excel files. You can start from eliminating the items you remember and ultimately you will find your file. That's all I can help.
Coworker: @x$(/"! ?!
There always a forgetful coworker around me that thinks I am a magician.2 -
I don't know what you did yesterday, but i did make my company throw away 2 months of progress.
It all started in the beginning, since that i've made numerous complaints about the workflow or code and how to improve it. I've been told off every time, and every time i either told the boss who agreed in the end or wrote code to prove myself. Everything was a hassle and my tasks weren't better.
Team lead: you'll do X now, please do that by making Y.
Me: but Y is insecure, we should do Z.
Team lead: please do Y
Later it turns out Y is impossible and we do Z in the end...
Team lead: please do W now
Me, a few days later: i've tried and their server doesn't give http cors headers, doing W in the browser is impossible
Team lead, a few days later: have you made progress on W?
Me: * tells again it's impossible and uploads code to prove it *
Team lead: * no response *
After that i had enough. Technically i still was assigned to do W, but i used my time to look over the application and list all the things wrong with it. We had everything, giant commits, commented out code, unnecessary packages, a new commit introduced packages that crashed npm install on non-macs, angularjs-packages even though we use angular, weird logic, a security bug, all css in one file even though you can use component-specific css files...
I sent that to my boss, telling him to let the backend-guys have a look at it too and we had a meeting about this. I couldn't attend but they agreed with me completely. They decided to throw away what we have already and to let one of the backend-guys supervise our team. I guess there will be another talk with the team lead, but time will tell.
It feels so good having hope to finally escape this hellish development cycle of badly defined task, bad communication and headache-inducing merges. -
Boss: Let's hire a new person to help us recreate our website
Us: sounds good!
Boss doesn't hire anyone and starts the website on his own
Boss: I started the new website. It's in server X and the address is test.y.com. I also want all of us to work on it
Me thinking: great he just wants us to modify the hosted files like he does 🙄
Me: I'll move a copy to GitHub for version control.
Boss: Great!
Boss creates a backup folder on the same computer and folder path that the hosted files are on.
Someone please nuke that server so my boss learns version control like I've asked before. I think I'll opt not to work on a website where he and my other co-workers will just overwrite each other's changes because he doesn't want to learn to git 😑4 -
Me: *opens existing shared telegram channel*
Me: Hello developers of SDK xxx, we have another issue. We've gotten 2 reports from users of problem X occurring while using the SDK to contact your servers. It happens here, then this happens, using version Y. Code is the same open source app + library as before if you need to check it, same 2 files as before. Here are some screen shots of the error in the app too, just in case
*3 days later*
Dev: yes this does indeed seem to be a problem. Can you provide us more info to debug this effectively?
Me: ..... I sure can ..... if you let me know what it is you need ..... because you currently have access to absolutely everything already .... and i've been waiting 3 days, some specifics of what you need would be great!!!2 -
For some reason, Tableau is really heavy. I mean, all reporting software is a little bullshit, but Tableau... The server we had took 45 minutes to restart (no exaggerating - we timed it).
Reading the log files, yes, it WAS doing shit the whole time. Lots of shit. It seemed to be running just... Tons of software.
Tableau seemed to be aware of this because they have a page where you can check the status of everything. I assume that starts up first.
If you're looking into Tableau, two things to consider:
1) No, your braindead financial manager won't be making their own visualizations, no matter how many times the marketing team writes "drag and drop" on the Tableau website.
2) You'll make some nice visualizations but find that when you try to do more complex things, you run into constant roadblocks. If your manager asks "can you make it do x"? No matter how much experience you have, your answer can never be 100% "yes"... Or even "no" for that matter.
Not the worst experience with enterprise software, but definitely a surprisingly bad experience. -
-----------Jr Dev Fucked by Sr Dev RANT------
Huge data set (300X) that looks like this :
( Primary_key, group_id,100more columns) .
Dataset to be split in records of X sized files such that all primary_key(s) of same group_id has to go in same file.
Sde2 with MS from Australia, 12 years of 'experience' generates an 'algo'. 70% Test case FAILED.
I write a bin packing algo with 100% test case pass, raises pull request to MASTER in < 1 day. Same sde2 does not approve, blocking same day release.
|-_-| What the fuck |-_-| Incompetent people getting 2x my salary with <.5x my work2 -
FUCK YOU NODE JS AND FUCL YOU SYNOLOGY
Decided to give an old Synology DiskStation that sits at home slme new life besides just sharing files. Since Synology has SSH but not a full Linux OS, installed DebianChroot (so far so good). At one point I needed Node JS, so installed NVM and tried to install Node. Well guess what didn't work. Tried a few more things including directly downlosding node from the official node website. Trying different versions, the whole drill.
After about 5 hours of installing and errors, well really usfull errors like "There where 2 errors during installation" WELL HOW ABOUT YOU FUCKING TELL ME WHAT THE ERROR IS YOU FUCKING FUCK!
I found a formum wkith a guy haveing similar problems. Able to install legacy 0.10.x versions but not 4.x.x. Or 6.x.x oder whatever. He found that you have to have at least an ARMv6 compatible processor, otherwise it won't run. Checked it and well, that old fuck of mine only has ARMv5. FUCK! But honestly. You detect it's an ARM architecture. You detect it's not one of the v6 or v7, you try to install the general arm version, BUT YOU DON'T GET THE FUCKING IDEA TO MENTION TO CHECK WAHAT VERSION YOU HAVE AND IF THAT IS SUPORTED BY FUCKING NODE!
One afternoon wasted, at least I got a little more wisdom. Fuck do I hate Node now. On the bright side, I've ordered a Raspberry Pi and two cases for Harddisks, I'll create my own diskstation with blackjack and hookers (I realy hope you get that reference)! Fuck you Synology and Node JS (yeah yeah, it's not Synologies fault, but I'm mad anyways!)4 -
Challenge: rank the following in your favourite order:
A: Stargate shows
B: Battlestar Galactica (and Caprica)
C: StarTrek
D: Westworld
E: Star wars
F: Doctor Who
G: Black mirror
H: X files
I: Matrix films
J: Babylon 5
K: Altered Carbon
L: The Arrival
And any other sci-fi shows/films I've missed19 -
Try to finish some of the projects I've started in 2018. Right now I have a todo list text file, along with multiple written lists (the written ones are more focused on a single project normally).
-Finish the startpage I've been doing off and on for at least a month now. I ended up making a lot of it command based (just need to write the scripts for the commands..). I had a little config menu but I just got tired of it and the text box is autofocus anyways, so I figured I'd make it command focused.
-Nice little root safety script as I call it. I've made very stupid mistakes as root before. I once made a typo and ran "chmod --recursive 644 /" while half asleep. I believe I was trying to run that on the current directory I was in, but as you know, the . and / are right next to each other. Basically the script would see what you're doing and echo "you're about to do x, are you sure that's what you want to do?". Something I know I could knock out in a day, but I've been putting it off for at least a year now.
-Compiling notification. I saw something similar once a few years ago, and it was so fucking cool. I remember it being a Mac, and it had a notification that would basically tell you how many files and shit you had left to compile if you were building something. Kinda want to build something for polybar.
-FUCKING RUBBER DUCK DEBUGGING TO THE EXTREME! This one was inspired by a comment someone made once months ago. Might have been here, or reddit, or in real life, not sure. Basically a big ass fucking rubber duck with LEDs in it that will like glow red if your code wouldn't compile (I think Visual Studio has like an automatic error detecting thing in there?? Maybe something similar if I can figure that out). Honestly not sure how the fuck I'd do this one, but I love the idea and I really want to fucking do it
There's more shit. These are just the main ones I want to attempt sometime in the near future. -
In several occasions I run rm -rf * in the wrong folder (or wrong server!!).
No big deal so far, but I had to spent more time to redo my work since Linux has no fucking recycle bin like Win!
So I created this helper function to give my brain a few seconds to think before my finger hit Enter.
delete_all_files()
{
echo "WARNING:Delete all files? Type fluffycat to proceed"
read x
if [ "$x" = "fluffycat" ]
then
echo "Deleting all files..."
rm -rf *
fi
}
alias myrm=delete_all_files
Hehehe... I am a genius 😎18 -
what the fuck I can't edit the rant after 5 minutes I am fucking posting a new rant which have that last rant ...Why they update the fucking x code in every fucking 15 days . Well some libraries are deprecated oh cool I can use my shit as an object. And why third party libraries don't provide some good documentation of their sdk's . What the fuck is that and I will personally kill auto layout by entering in the mac myself. What is the use of that fucking debugging tool if I know don't the crap of my code that in which class I have done something terribly wrong what the fuck . Oh cool I am having that clang error and I don't know how to wipe my ass. And please fucking don't tell me to use xib code in xcode for my project if there will be 600 screens I will still fucking use storyboard for that. I don't fuck with xib files do you hear me. And fucking stackoverflow ..what the fuck is wrong if I forget an single comma during posting a question ..what the fuck..and you know what the real feeling is when I post a issue on stackoverflow and I got nothing from them expect some minus points...and then the holy fucking coder inside me tells me to solve that fucking problem and I feel like having dope bitch. FUCCKKKK..4
-
So, funny story with a bit of self promotion at the end.
I was recently checking out some apps on playstore and found that my first ever , "launched just to experiment" app (released 1.5 years ago) has received more than 5k downloads . I was very happy about that so posted a small message on LinkedIn .
Now , my LinkedIn profile consists of 98% people who are totally strangers and never met me ( is it just me or do you also get a lot of stranger connect requests there?). So my usual post rarely ever goes beyond 5 or 6 likes.
Bit idk how there too my post got 35+ likes and now i was on cloud9.
So i finally decided to kick my ass and release some update to that app ( it had around 70% pity comments like "nice first app,but it should have this x feature",. "overall nice but it could use an x feature " etc.
And boy what my journey was in the last 72hours.
Firstly my madhead laptop started killing me with the battery failures and constant hang.
Then my past asshole self tried to give me a middle finger. So i have this whole partition in my memory where i keep my Android stuff and apps. It has a special folder named published zone and i keep all my published app codes and related files there.
I was fairly certain that this app's code eill be also there,so i opened it, found the code and tried running it.
Turns out my asshole self had tried to mess around the code so much that all the db layer WAS fucked up, all the ui WAS changed and no code was working.
"Not to worry", i thought. I always use git and there would be a correct version some commits before. WRONG. I HAD CHANGED THE WHOLE FUCKING WORKING PRODUCTION CODE AND DIDN'T MAINTAIN A VCS!
Also this was the verbose and shitty java code my 1.5 year before self so loved to write, so it was taking me way more time to figure out what's happening in an already fucked up code.
So i tried a couple of ways to get back my working code :
- I tried looking for a google recommended solution. Those guys take my whole app code build and distribute via playstore, but they provide no means to retrieve back the original code.
- i checked my (occasionally) back up hard disk but no. My hard disk would have 100s of movies from 2016 , but not a useful piece of fuckin code.
- i also tried to get my apk and decompile it via some online decompiler. Here the google again fucks up and don't allow me to get my apk directly. Meanwhile i found a ton of shady websites which are hosting an apk of my app without my knowledge O_o . I tried to decompile on of them but code was even more non understandable than my fuck up code.
So i ended up looking at both the mess up code and decompiled code and coded the whole app from scratch ( well not scratch, i extracted the resources and some undamaged activities from the mess up code . Also github was down for more than 3 hours yesterday , at the same time when i was trying to look onto some repositories)
Lessons learned:
- DON'T FUCK UP WITH THE PRODUCTION CODE
- MAINTAIN VCS
- Your laptop is shit reliable, github is also shit reliable , so save code at multiple places.
- there are way more copies of your code lying on the internet than you think.
Checkout my app here :https://play.google.com/store/apps/...2 -
Fuuuuuuuuucking hell. I have a program that parses and generates information from shit I have in a database into a csv file. Shit was simple enough to be done in Python.
Trying to present that shit into fucking pdf files? without drawing shit on x,y coordinates like a retard or without downloading a fucking obscure number of bs shit into the computer? on a fucking WINDOWS machine? fuuuuuuuuuuuuuuck.
Ok no problem. Do it in Node. WHAT IN THE HOLY FUCK more bullshit with drawing shit line by line. fuck this.
Lol not even going to touch java or c# for this, this is quick.
mmmh perl? nah, php? nah
Well shit I just need to generate data from a csv into a html template and send it away as a docume....go? ok lets....ah....done
Go wins again in my book ladies and gentlemen
It even has fewer lines of code than the php experiments8 -
My manager committed an empty Jenkinsfile on his project (he loves committing empty files or docs with words "TODO" in them). I decided to add the project to Jenkins so at least he sees a red X and failed build on ever branch .... green check? An empty Jenkinsfile is a valid Jenkinsfile?! Damn it Jenkins!2
-
I figured I would share my Capstone from this semester with a community that might be interested. An eclipse plugin that was developed in our lab is able to implicitly track developer eye gazes as they work in an IDE (eclipse in this case). Before I began work on it, source code, bug reports, and stack overflow documents could be tracked with all of the data on said documents being extracted. For example, if source code is being tracked, everything from the file name and class/method name down to statement types are collected. The tracking isn't on still images. Since it's within an IDE, you can open multiple files, scroll, and modify -- all while tracking is collecting accurate data based on the (x, y) gaze coordinate and the handler assigned to the type of document/file being viewed.
My job was to extend this functionality to track gazes on UML class diagram documents. This means I had to gather data at the highest level: the class/connection being looked at, down to the lowest level: members/methods, their types and containing classes.
Being new to Java's EMF, GEF, and eclipse plugin development, I had a bit of a learning curve. Anyways here is the poster of the functionality I added. 🙃
Not much of a rant haha. -
Why QA should never be left "in charge" of marking priorities on tasks before "demo day" deployment and client handover of a product.
New and refactored, key, features need to be deployed by "demo day", and most developers and the PM (not me) have already been re-allocated to new clients and projects. There's several things being done in paralell to get it done.
QA: We need to be able to download CSV files showing affected users if i do extremely rare action X, and this should pop up in the system for the first 24 hours after doing X.
Priority: High
New priority for feature Y: Medium
(Action X may never be used at all)
This is implemented, reviewed and deployed.
QA: I want a timestamp in the file naming, I'm experiencing duplicate files.
Priority: High
Feature Y: Medium
Develop, review and deploy timestamping for the CSV files.
QA: They are only marked with DD/MM/YYYY, I performed rare action X several times in one day, I can still get duplicate file names marked with numbers. This is #1 priority!
Priority: High
Feature Y: Medium
...Okay, this is nitpicking, this will never happen, but fine. Overtime to do the extra minor, minor adjustment, down to hours and minutes, get it reviewed and deployed at the end of the day.
QA: I managed to do rare action X 6 times in 1 minute, I have duplicate files. It needs to be down to seconds. This is top priority.
Priority: High
New priority for feature Y: Low
.........
Constant interruptions, moronic priorities and voicecalls throughout the entire day.
Dear QA, you can be fucking donkeys at times.4 -
I have a small NUC-like machine in my home with an old external hdd connected to it. I use it to run my local gitlab, nextcloud and to test a few websites I build for the lolz.
If you too have a homelab, whether it's a single raspberry or an entire room full or racks, you know damn well that everything you have running locally as a web service keeps going until it doesn't, for whatever fucking reason. This time, it was the turn of my nextcloud.
The machine has arch linux running, I chose it since I already use it on my coding laptop and being a rolling release means I don't have to manually upgrade to a newer version, risking various fuck-ups and consequent screaming of profanity.
The downside is that arch is a bleeding-edge distro, so, despite being pretty good for what concerns security, as updates are pushed out some packages may still require legacy software to work as intended, since obviously not all developers for all packages can release simultaneously.
The problem was that php reached 8.2.x but nextcloud couldn't use anything beyond 8.1, so the highlighted solution was to download php-legacy, a package with a set of utilities which the cloud could use instead of mainline php.
Pretty easy, right? fuck my life, here we go.
I edited apache-httpd's configurations to link the new libraries, updated every reference in every virtual host that could possibly screw up the web server.
Done.
Then I went on and disabled the php-fpm mainline, creating a new systemd unit that would instead run the legacy executable and afterwards I edited nextcloud's additional configs so they use that instead.
Done, getting a bit dizzy, but I reboot everything and breathe.
At this point the migration should be complete, but wait, the server returns an error saying that the application is still trying to use php 8.2+...wait, what in the sysadmin Christ?
Back to nextcloud config, everything is set, everything else in every other fucking php-legacy and web server is fine, the old fpm service is disabled, I am confused, and why in the FUCKING FUCK is the new php-fpm unit failing to start at boot with "error 78/config - directory not found"? Hello? Am I being trolled by a shitty dual-core amazon fake NUC?
Maybe yes, cause it turns out that the unit was referencing a directory in the external hdd, which gets mounted at boot time after the unit itself starts, so nothing much, just a matter of tinkering with cron jobs, a reboot and at least this one is off my balls.
But why still isn't the server responding correctly? why? WHY?
After slamming my cock on the keyboard here and there scrolling back through all the config files I think to myself, hmmm, my gitlab is working flawlessly, well yeah, I didn't need to install the whole web stack, everything was nice and easy wrapped in a docker container...so why am I even here, why the fuck am I bothering with all this layered web-app bullshit, why don't I just run the up-to-date docker image that someone else has already set up for me, back up all the data and reupload them on the application?
Oh joy, you can't imagine, after 3...almost 4 hours of pure computer-touching the relief I had from seeing the blue web page with the "welcome to nextcloud" title.
Right now it's copying back all the files, and the external hdd is now linked to include the data folder.
Like really, everything was solved in two lines of bash.
I am still fuming, but at least I learned a valuable lesson, if you want a service up for yourself, implement it and deploy it as fucking easy straight-forward as you can, giving MAXIMUM priority to already fully-working options that are out there just waiting to be downloaded and used. I swing my scrotal sack on web-apps elegance as long as it's MY homelab in MY place.
Eat a fat dick php.
sudo pacman -Rns nextcloud
sudo systemctl disable --now php-fpm-legacy
sudo pacman -Rns php-legacy
sudo pacman -Rns $(sudo pacman -Qdtq)2 -
I learned Git in the most ridiculous way possible.
Noob me, is using VSCode and i tried clicking the git icon. Now, i didn't know what i was doing and i suddenly made a git repo and i just checked on things (add changes and commit) and little do i know that it was all absorbed. I got skeptical (spying on files, i didn't know what's happening, etc.) so i clicked the "x" button and it warned me that it will be "completely deleted" and it will be an "irreversible action". Due to my stupidity, i pressed okay.
Then that was the time i knew, i fucked up.
But hey ho it took me 12 hrs to recover all files (1600 loose objects) that has been deleted using a 3rd party app (without any master, no last commit message, no everything, just objects a.k.a the blob files that git saves). I tried looking for easier ways to get the files, but it was there in front of me the whole time, so it took me longer.4 -
vim...no GUI for Windows for vimRC?? Seriously? gvim is fine as a gui but I want a gui to configure vimrc. Give me sliders and drop down boxes with live visable updates to see what it does right away with common vim options that saves to my vimrc. You know, like a edit ->preferences dialog box with tabs and scroll bars etc that updates the config file for vim directly?
Since there are many here that use it I'd figure sure I'll try it. I used it many years ago for some basics stuff but you've all shown me it can outdo my current note tab++ but holy hell if it isn't shit to configure and set it all up!
I'm not interested in using another editor besides vim after seeing the features now and not interested in a emulator or simulator for vim in another editor (like sublime).
Why don't you just....X? Because. Reasons. I like my GUIs and hate editing text config files then restarting to see what changed. Show me right away dammit...is this a pipedream or does such an app exist?
I'm not looking for a gui for vim...gvim does that just fine, but rather a gui edit preferences options dialog window for vim config file vimrc. Sigh...
Am I dreaming that such an app exists??9 -
I read. Alot. When I'm going to do something simple, even if I've done it before I google a bit on "how to do x" and see if there are better ways to do it. And I follow the rabbit hole a bit to see where it goes.
Example, I just learned about the unix command mktemp. I wasn't googling about making temporary files, but it was part of a solution to a different problem. Ive discussed how to make temporary files with colleagues before, and this builtin unix command has never come up. So many minutes wasted coming up with random filenames. -
Why you should use sketchware and not use it at the same time regarding: encryption
sketchware the app is known to build apps by dragging elements to the screen then coding them with blocks or even write your code with the built in ide but there is one thing every developer fears. ah yes. the reverse engineers (or modders)
random guy [rates: X]: sketchware encryption is trash! are you serious?! string fog?! class rename?! i decrypted this whole app with the software i made >:D
sketchware dev wrote back to random guy: string fog isn't working because you decrypted sir! there is nothing we can do sir but email to our email and we will get back to you in a few and fix the problem
i have to say this is why i stick to android studio too many skids decrypt the C++ files or the mod menu just to edit stuff :) i also build some games im learning android studio game development but at the time lets have fun and mod other peoples games1 -
I swear I touched some weird and complex programming shit in over a decade of programming.
I interfaced myself through C# to C++ Firmware, I wrote Rfid antennas calibration and reading software with a crappy framework called OctaneSDK (seems easy until you have to know how radio signal math and ins and outs work to configure antennas for good performance), I wrote full blown, full stack enterprise web portals and applications.with most weird ass dbs since the era of JDBC, ODBC up to managed data access and entity framework, cloud documental databases and everything.
Please, please, please, PLEASE I BEG YOU, anyone, I don't even have the enough life force to pour into this, explain me why the hell Jest is still a thing in javascript testing.
I read on the site:
"Jest is a delightful JavaScript Testing Framework with a focus on simplicity."
Using jest doesn't feel any delightful and I can't see any spark of focus and simplicity in it.
I tried to configure it in an angular project and it's a clustefuck of your worst nightmares put togheter.
The amount of errors and problems and configurations I had to put up felt like setting up a clunky version of a rube goldberg's machine.
I had to uninstall karma/jasmine, creating config files floating around, configure project files and tell trough them to jest that he has to do path transformations because he can't read his own test files by itself and can't even read file dependencies and now it has a ton of errors importing dependencies.
Sure, it's focused on simplicity.
Moreover, the test are utter trash.
Hey launch this method and verify it's been launched 1 time.
Hey check if the page title is "x"
God, I hate js with passion since years, but every shit for js I put my hands on I always hope it will rehab its reputation to me, instead every fucking time it's worse than before. -
So today I needed produce some files with an unknown file name, not specified by business. I said in the standup that I still don't know what it is supposed to be. BA says they will find out. Speak to them all day discussing it. The architect says its in the documentation. BA and I don't find it. Turns out it isn't. I ask a sister team what they did in a similar situation, they said they named it something arbitrary and moved on. I was like sweet, GG story. Later I'm discussing work with my tech lead. Email pops up look at that and read. Look back at tech leads screen. What do I see, file names. At this point I'm frustrated because all I see is file names that look similar. My senior then speaks and says 'Yeah we've seen them for X days now' I'm like really? He says yeah and I hope we don't get anymore people like you. At this point my colleague dev bursts out laughing and I feel humiliated. Only to realise they are the names of other files. Try to explain myself but my senior is already looking at his PC doing sweet fa.
I'm now raging a bit inside and want to leave but can't because I'm tied into a horrible contract.
So Today I realised I'm might be being bullied by my senior dev.1 -
What the fuck is this version control thing? We managed to pass one fucking entire semester building an mobile game without knowing anything about version control. How my team finished the game? Fuck, we just place our source code and files into the folder, archive to rar and sent it through gmail. My desktop was a fucking mess, it was bunch of New Folder(x) all over the place. Fucking school didn't even taught or mentioned even once about that shit. In fact our faculties were all master degree holder. Our life could have been easier back then. So in this last school year, we gonna use that shit in our Capstone project.5
-
Compiling a project (Not BIG but still pretty big)
C# compiler : YOLO, you have 12 Cores ? I'll use 12 cores. BAM : 3 seconds, compiled !
SASS compiler :
Rolf, I'm gonna take file by file, recompile all dependant files to produce a single file. 2 Seconds per file. X 150 files.... 6 Minutes SASS is still running....2 -
Big innovation:
In a manual I changed a paragraph from "add registry values X & Y" to "click the .reg file in network folder Y"
Received big thanks about thinking of reg-files.
uhm... We are an IT company? -
!rant
This morning a coworker comes to me and has been like "I've been compiling this list of all the files on our network that have x in the title for a week now"
I'm like do you want me to use a recursive Powershell script to get you that list in like 10 minutes.
The little things that make you invaluable at work because you are the sole tech guy. -
Cannot live in this mess of a backup anymore! I do a lot of video and photo work and I back up to multiple external HDD'S . I try make sure all the files are reflected on another drive. I to get a NAS and raid 1. Has any one got recommendations? I'm looking 3tb x 2, budget friendly. What's your backup situation like?1
-
I hate sketch, not because it's an Apple only product, but because it's horrible to navigate. I couldn't imagine using it with out a side scrolling mouse, and none of the "normal" keyboard shortcuts work. The plugins are horrible and almost always cause more problems then they fix.
But the biggest issue, and this may be the designers that I work with, but I'm not sure. The files are huge. The smallest file I have worked with was 80mb, yesterday I received a file that was almost 1gb! It had every page, with all the text, in every size, it was insane, I turned the job down based on that alone. It had a decent budget, but the client expected way too much. And the designs for each page were different, which as we know can cause issues for the overall UX.
The screenshot is from my PC as I don't have my OS X VM fired up right now, but that's a real file, just shown with XD.2 -
Oh, how I loved KDE Plasma, but wtf is this? Alt+Tab is not working anymore for a few days now - had to change shortcut to something else. And from today, notifications does not look like Plasma notifications but exactly like in Unity. DAFUQ!
-
I've been working on an extremely intermittent bug for the past week in my project that occurs during a stress testing between a PC based server and an embedded device that share files. When the crash happens, I analyze what happened by looking at a file as a result of an fwrite, look at a diff of it, look at the packets etc. For the past 3 days I had been lead to believe there was a bug in stdio.h's fwrite due to a file being written looking like it was truncated in the diff, but the packets telling a different story (X bytes sent to be written, on the result I report X bytes written). Today I noticed that there was either a bug or an issue in the diffing algorithm that led me to think my code was the issue. I spent 3 fucking days trying to figure why fwrite was truncating and lieing about its result when my diff tool was the culprit. FML.
-
I need some clarity with the situation below.
I have my API ready.
Let's say I have a route /reset/token,
I want to be able to serve a html file with css and all that once I've processed the token internally.
I've not worked with the whole stack before so I've never really served files based on conditions i.e if the token is valid serve x else serve y.html
Also, I'm pretty sure node.js isn't the best for serving files.
So I'm taking another approach with nginx which is to implement /reset/token to serve the static file with it's coupled js file to query the API. Seems standard to me but I have this feeling that a prefilled html would be more secure than one with exposed js.
Is this the right way? Should I worry about my API calls being exposed via the js fil ? Is obfuscation the only way to handle this ? Is this the way everyone does it cause somehow I don't see the key js files in most sites. How are they hidden if so? Or are they?
I'm confused and also nginx won't let me rewrite /reset/token to something else without changing the browser url field. How do I prevent that ?1