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 - "and i run into this"
-
"You gave us bad code! We ran it and now production is DOWN! Join this bridgeline now and help us fix this!"
So, as the author of the code in question, I join the bridge... And what happens next, I will simply never forget.
First, a little backstory... Another team within our company needed some vendor client software installed and maintained across the enterprise. Multiple OSes (Linux, AIX, Solaris, HPUX, etc.), so packaging and consistent update methods were a a challenge. I wrote an entire set of utilities to install, update and generally maintain the software; intending all the time that this other team would eventually own the process and code. With this in mind, I wrote extensive documentation, and conducted a formal turnover / training season with the other team.
So, fast forward to when the other team now owns my code, has been trained on how to use it, including (perhaps most importantly) how to send out updates when the vendor released upgrades to the agent software.
Now, this other team had the responsibility of releasing their first update since I gave them the process. Very simple upgrade process, already fully automated. What could have gone so horribly wrong? Did something the vendor supplied break their client?
I asked for the log files from the upgrade process. They sent them, and they looked... wrong. Very, very wrong.
Did you run the code I gave you to do this update?
"Yes, your code is broken - fix it! Production is down! Rabble, rabble, rabble!"
So, I go into our code management tool and review the _actual_ script they ran. Sure enough, it is my code... But something is very wrong.
More than 2/3rds of my code... has been commented out. The code is "there"... but has been commented out so it is not being executed. WT-actual-F?!
I question this on the bridge line. Silence. I insist someone explain what is going on. Is this a joke? Is this some kind of work version of candid camera?
Finally someone breaks the silence and explains.
And this, my friends, is the part I will never forget.
"We wanted to look through your code before we ran the update. When we looked at it, there was some stuff we didn't understand, so we commented that stuff out."
You... you didn't... understand... my some of the code... so you... you didn't ask me about it... you didn't try to actually figure out what it did... you... commented it OUT?!
"Right, we figured it was better to only run the parts we understood... But now we ran it and everything is broken and you need to fix your code."
I cannot repeat the things I said next, even here on devRant. Let's just say that call did not go well.
So, lesson learned? If you don't know what some code does? Just comment that shit out. Then blame the original author when it doesn't work.
You just cannot make this kind of stuff up.105 -
Ran into a girl who I had a crush on in high school at a bar last week. Hanged out for a bit, but then I had to run catch the last train home.
Today I get a message from her that reads: "Hey, it was nice to meet you last week. Can I call you some time, there's something I want to tell you. 😉"
I think to myself -- sweet and say that I have no meetings today, call me whenever you can.
A couple of minutes later she calls me, and the first thing she says: "I have this app idea..."
fuck, shouldn't have hyped myself up.29 -
!rant
Has anyone been paying attention to what Google's been up to? Seriously!
1) Fuchsia. An entire OS built from the ground up to replace Linux and run on thin microcontrollers that Linux would bog down — has GNU compilers & Dart support baked in.
2) Flutter. It's like React Native but with Dart and more components available. Super Alpha, but there's "Flutter Gallery" to see examples.
3) Escher. A GPU-renderer that coincidentally focuses on features that Material UI needs, used with Fuchsia. I can't find screenshots anywhere; unfortunately I tore down my Fuchsia box before trying this out. Be sure to tag me in a screenshot if you get this working!
4) Progressive Web Apps (aka Progress Web APKs). Chrome has an experimental feature to turn Web Apps into hybrid native apps. There's a whole set of documentation for converting and creating apps.
And enough about Google, Microsoft actually had a really cool announcement as well! (hush hush, it's really exciting for once, trust me)...
Qualcomm and Microsoft teamed up to run the full desktop version of Windows 10 on a Snapdragon 820. They go so far as to show off the latest version of x86 dekstop Photoshop with no modifications running with excellent performance. They've announced full support for the upcoming Snapdragon 835, which will be a beast compared to the 820! This is all done by virtualization and interop libraries/runtimes, similar to how Wine runs Windows apps on Linux (but much better compatibility and more runtime complete).
Lastly, (go easy guys, I know how much some of you love Apple) I keep hearing of Apple's top talent going to Tesla. I'm really looking forward to the Tesla Roof and Model 3. It's about time someone pushed for cheap lithium cells for the home (typical AGM just doesn't last) and made panels look attractive!
Tech is exciting, isn't it!?38 -
Today I found out that I could inject HTML into our documentation system.
I quickly tested it with the <style> tag by setting all paragraph tags to have eye bleeding red backgrounds.
Then when seeing that it works I've made a modal that displays a blinking red alert with the headline "Access Denied!", a loading bar that says "Tracing intruder IP..." and another line "Erasing confidential information.. .".
Then I've added an animation to run on all paragraph, heading and list tags - first they bounce and then the become transparent.
Then I asked one of the interns to go to that specific document - one of the longest and most important manuals they have access to.
I then left the room and through a window watched the poor, panicking guy looking into the abyss and "realizing" that he somehow deleted the important files and will be traced down soon.
I had to tell him the truth to avoid a suicide in the office.
It was perfect! I will definitely do this to others! :D12 -
Bruteforce IRL
So I recently bought my first house (yay!).
Whilst doing the initial viewings I saw the below on the backyard and thought "hey that's neat, I can leave a key in there for when I come in late and my fiancée is asleep.
Fast forward to moving in day and the previous owners hand me the keys so I ask "oh yeah, what's the code for the keysafe" and he just looks at me completely blank, so I'm just like "the box on the wall out back" and he's just like "oh! So that's what that is. No we've never had the code for that, bye."
Being a pen tester I'm just stood there dumbfounded thinking "How the hell can you have a locked box attached to your house and not want to know what is inside!"
Anyway, that brings us to now where I'm stood outside in December on a Sunday morning brute forcing my way into my own keysafe.
I wish this didn't run so many parallels with my work life 😂51 -
A couple of years ago, I was working in a computer shop as a "technician", I was 15, first job I ever had.
One day an elderly lady came into the shop, probably 50'ish, she and her whole family "suffered" from electromagnetic radiation, and the mother had the worst suffering. She complained about her TV box that just had died.
I accept the tuner and see it's wrapped with 10 layers of aluminium foil, with a tiny hole for the IR receiver.
The whole box smells like burnt electronics, and the foil gets darker for each layer I unwrap. I try explain to her that the box gets warm and overheated by wrapping it like this, and she's lucky that it didn't catch fire.
I further explain to her that she will not get a new box, because the warranty does not cover _this_. The mother tells me she has to wrap it like this, because she gets headaches when she's watching the news.
She then proceeds to go into a rage mode and gets her whole family into the shop, where all of them starts yelling at me, the younger kids start throwing stuff down from the shelves and touching the TVs with sticky fingers (literally, sticky, like yuck!).
Unsure what to do, boss is in a meeting, and my colleague is busy in the back.
So I calmly tell them that in this building there's 4 wireless networks, 3 wireless phones, high voltage cables run in the wall behind me, there's factory tracks 20 meters behind the building, next door business is an electrician, you're standing in front of wall with 30-40 TVs, 5 HDMI splitters, 3 TV boxes and a Blu-ray player. And they've all been standing in front of them for the last 10 minutes.
They all suddenly feel really sick and run out of the store, never to be seen again. From that day, I decided I'll never work in a shop again, and pursued my dreams to become a developer.
TL;DR: Family is "sensitive" to electromagnetic radiation, almost put burnt down their house because of stupidity, yelled at me. I decided to pursue my dream as a developer.16 -
!rant
This was over a year ago now, but my first PR at my current job was +6,249/-1,545,334 loc. Here is how that happened... When I joined the company and saw the code I was supposed to work on I kind of freaked out. The project was set up in the most ass-backward way with some sort of bootstrap boilerplate sample app thing with its own build process inside a subfolder of the main angular project. The angular app used all the CSS, fonts, icons, etc. from the boilerplate app and referenced the assets directly. If you needed to make changes to the CSS, fonts, icons, etc you would need to cd into the boilerplate app directory, make the changes, run a Gulp build that compiled things there, then cd back to the main directory and run Grunt build (thats right, both grunt and gulp) that then built the angular app and referenced the compiled assets inside the boilerplate directory. One simple CSS change would take 2 minutes to test at minimum.
I told them I needed at least a week to overhaul the app before I felt like I could do any real work. Here were the horrors I found along the way.
- All compiled (unminified) assets (both CSS and JS) were committed to git, including vendor code such as jQuery and Bootstrap.
- All bower components were committed to git (ALL their source code, documentation, etc, not just the one dist/minified JS file we referenced).
- The Grunt build was set up by someone who had no idea what they were doing. Every SINGLE file or dependency that needed to be copied to the build folder was listed one by one in a HUGE config.json file instead of using pattern matching like `assets/images/*`.
- All the example code from the boilerplate and multiple jQuery spaghetti sample apps from the boilerplate were committed to git, as well as ALL the documentation too. There was literally a `git clone` of the boilerplate repo inside a folder in the app.
- There were two separate copies of Bootstrap 3 being compiled from source. One inside the boilerplate folder and one at the angular app level. They were both included on the page, so literally every single CSS rule was overridden by the second copy of bootstrap. Oh, and because bootstrap source was included and commited and built from source, the actual bootstrap source files had been edited by developers to change styles (instead of overriding them) so there was no replacing it with an OOTB minified version.
- It is an angular app but there were multiple jQuery libraries included and relied upon and used for actual in-app functionality behavior. And, beyond that, even though angular includes many native ways to do XHR requests (using $resource or $http), there were numerous places in the app where there were `XMLHttpRequest`s intermixed with angular code.
- There was no live reloading for local development, meaning if I wanted to make one CSS change I had to stop my server, run a build, start again (about 2 minutes total). They seemed to think this was fine.
- All this monstrosity was handled by a single massive Gruntfile that was over 2000loc. When all my hacking and slashing was done, I reduced this to ~140loc.
- There were developer's (I use that term loosely) *PERSONAL AWS ACCESS KEYS* hardcoded into the source code (remember, this is a web end app, so this was in every user's browser) in order to do file uploads. Of course when I checked in AWS, those keys had full admin access to absolutely everything in AWS.
- The entire unminified AWS Javascript SDK was included on the page and not used or referenced (~1.5mb)
- There was no error handling or reporting. An API error would just result in nothing happening on the front end, so the user would usually just click and click again, re-triggering the same error. There was also no error reporting software installed (NewRelic, Rollbar, etc) so we had no idea when our users encountered errors on the front end. The previous developers would literally guide users who were experiencing issues through opening their console in dev tools and have them screenshot the error and send it to them.
- I could go on and on...
This is why you hire a real front-end engineer to build your web app instead of the cheapest contractors you can find from Ukraine.19 -
I. FUCKING. HATE. MOBILE. DEVELOPMENT.
I already manage the data, devops, infra, and most of the backend dev.
We had a mobile guy. He was great. I never had to think about it and kept moving quickly on my work. #SpecializationOfLaborFTW
He left. Why? Because they wouldn't give him a small raise despite being one of the best mobile engineers in the firm. WTF.
I made the mistake of picking up just enough slack on this workflow in the interim such that I'm, apparently, the fucking god-damned release manager, fixer of pipelines, fixer of build configs, fixer of anything where someone just needs to RTFM for a half-hour to not fucking break things.
Now, 8 months later...and, apparently, Fortune 500 companies are too fucking god-damned cheap to pay for someone who actually knows WTF they're doing for a very reasonable thing to have at least one dedicated set of eyes for.
I never wanted to be a mobile dev.
I never will want to be a mobile dev.
And I certainly don't want to manage your HALF-FACE-FUCKED detached expo configs.
There's a reason I never intentionally involved myself in mobile. All the way down, it's just shitty cross-compilation, transpilation, dependency-hell, brittle-as-fuck build processes so we can foot-gun and mouth-gun react-native and expo and babel and whatever the fuck else cargo-culted horseshit into the wild.
And why? What's the actual fucking root cause? The biggest white elephant that ever fucking elephant-ed? It's because Apple and Google decided to never collaborate on a truly-native cross-platform SDK--where engineers could write native code that compiles to native binaries that's simply write-once, run-everywhere. They know they could have done that, and they didn't. So what'd they get back? Expo--a too-cleverly-designed backdoor/hack--more-or-less a way to circumvent the sane release process software has usually followed: code -> executable -> deploy. Or code -> deploy (for interpreted langs). Expo's like "keep your same executable, we're just gonna to do updates by injecting new code into it whenever we want". Didn't we learn anything with web? Shit gets messy real quick? Not to mention: HEY EXPO, WE WERE ALREADY BUILDING NATIVE APPS, YOU SHORT-SIGHTED FUCKS. THANKS FOR LURING OUR CTOs INTO FORCING EXPO DOWN OUR THROATS W/ THE IMPLICIT (BUT INCORRECT) TOO-GOOD-TO-BE-TRUE PROMISE THAT WE CAN HAVE WRITE-ONCE, RUN-ANYWHERE WITHOUT ANY BUY-IN OR COOPERATION FROM THE ACTUAL TARGET PLATFORMS.
And, we just, like, accept this? We all know it's garbage engineering. The principles we learned in the classroom aren't just academic abstractions--they actually yield real-world results--and eschewing them yields real-world failures. Expo is tightly-coupled to high-heaven, with leaky abstractions six-ways-to-christmas, chock-full of foot-guns, and fails the most basic test of quality: does it, "just work?"
Expo is fucking shameful and it should fucking die. Its promises are too bold, its land-mines too many, its future-proof-ness is alway, always, always questionable as fuck and a risk to every project that uses it.
You want a rant? This is my fucking venue, 'tis not? Well, then this is a piss and vinegar rant straight from my blood-red, beating fucking heart:
EXPO FUCKING SUCKS. AND IF YOU'RE A FAN, YOU FUCKING SUCK TOO.27 -
@Devintrix , congrats and happy lifes with your wife. this joke is for you :)
Dear Tech Support:
Last year I upgraded from Girlfriend 7.0 to Wife 1.0 and noticed that the new program began running unexpected child processing that took up a lot of space and valuable resources.
In addition, Wife 1.0 installs itself into all other programs and launches during system initialization, where it monitors all other system activity. Applications such as PokerNight 10.3, Drunken Boys Night 2.5 and Monday Night football 5.0 no longer run, crashing the system whenever selected.
I cannot seem to keep Wife 1.0 in the background while attempting to run some of my other favorite applications. I am thinking about going back to Girlfriend 7.0, but un-install does not work on this program.
Can you help me please?
Thanks,
Joe
——————————————————–
Dear Joe:
This is a very common problem men complain about but is mostly due to a primary misconception. Many people upgrade from Girlfriend 7.0 to Wife 1.0 with the idea that Wife 1.0 is merely a “UTILITIES & ENTERTAINMENT” program. Wife 1.0 is an OPERATING SYSTEM and designed by its creator to run everything.
It is unlikely you would be able to purge Wife 1.0 and still convert back to Girlfriend 7.0. Hidden operating files within your system would cause Girlfriend 7.0 to emulate Wife 1.0 so nothing is gained.
It is impossible to un-install, delete, or purge the program files from the system once installed. You cannot go back to Girlfriend 7.0 because Wife 1.0 is not designed to do this. Some have tried to install Girlfriend 8.0 or Wife 2.0 but end up with more problems than the original system.
I recommend you keep Wife 1.0 and just deal with the situation. Having Wife 1.0 installed myself, I might also suggest you read the entire section regarding General Partnership Faults (GPFs). You must assume all responsibility for faults and problems that might occur, regardless of their cause. The best course of action will be to enter the command C:\APOLOGIZE. The system will run smoothly as long as you take the blame for all the GPFs.
Wife 1.0 is a great program, but very high maintenance. Consider buying additional software to improve the performance of Wife 1.0. I recommend Flowers 2.1, Jewelry 2.2, and Chocolates 5.0.
Do not, under any circumstances, install Secretary With Short Skirt 3.3. This is not a supported application for Wife 1.0 and is likely to cause irreversible damage to the operating system.
Best of luck,
Tech Support11 -
Somehow I feel like I personally owe Linus for git.
17:50 Colleague whispers "fuck" and the entire project we've worked on for the last half year responds with 404.
17:55 A quick diagnosis shows that she wrote "rm - rf ../" instead of "./" when she threw out her staging dir an thereby deleted everything.
17:58 git pull, everything is back.
18:15 everything is configured and we're up and running again.
**Alternative Timeline without Version control **
17:58 We start looking through Backup folders
18:20 We're fairly confident to have found the most up to date Backup in /var/backup/newback/v2/june/new/released/ and start copying back into the project directory.
19:30 Some files are missing we start patching shit up.
19:40 I realize how much work went down the drain and start strangling my colleague. The Api seems to do the most important things again.
20:00 My colleagues dead body is hidden and I'm 80% confident that the tasks depending on us should run.
Next day: They didn't run. Every nightly build failed, nobody can do anything useful.
A week later : Shits starting to work again, all lost files are replaced. Replacement for dead colleague still missing though.
It's moments like this that make you really appreciate the luxurys we have nowadays...5 -
New senior dev joined the project today.
Senior dev: "There's no way for me to test my changes before I merge this into develop"
Me: "Can you at least run our test suite?"
An hour later the develop branch is fucked and everyone who has merged it locally has pages of red errors splattered across their screens whenever they run any tests.
Start looking into what the fuck is going on.
Notice that all the errors are related to changes the new guy made.
Ask him if he ran the tests..
Senior dev: "Nah they wouldn't catch anything locally "
Stare at the stream of red text running down my screen.
Normally I wouldn't care but we were trying to prepare a release... RUN THE FUCKING TESTS ASSHOLE.9 -
Every day.
I am a PHP developer.
Yeah, "another PHP is awful" rant... no, not really.
It's just unsuitable for some ambitious projects, just like Ruby and Python are.
First of all, DO NOT EVER use Laravel for large enterprise applications. The same goes for RoR, Django, and other ActiveRecord MVCs.
They are all neat frameworks for writing a todo app, as a better-than-wordpress flexible blogging solution, even as a custom webshop.
Beyond 50k daily users, Active Record becomes hell due to it's lazy fat querying habits. At more than a million users... *depressed sigh*.
PHP is also completely unsuitable for projects beyond 5M lines of code in my opinion. At more than 25M lines... *another depressed sigh*.
You can let your devs read Clean Code and books about architecture patterns, you can teach them about SOLID & DRY, you can write thousands of tests... it doesn't matter.
PHP is scaffolding, it's made of bamboo and rope. It's not brick or concrete. You can build quickly, but it only scales up to a certain point before it breaks in multiple places.
Eventually you run into patterns where even 100% test coverage still doesn't guarantee shit, because the real-life edge cases are just too complex and numerous.
When you're working on a multi-party invoicing system with adapters for various tax codes, or an availability/planning system working across timezones, or systems which implement geographical routefinding coupled to traffic, event & weather prediction...
PHP, Python, Ruby, etc are just missing types.
Every day I run into bugs which could have been prevented if you could use ADTs in a generic way in PHP. PHP7 has pretty good typehints, and they prevent a lot of messy behavior, but they aren't composable. There is no way to tell PHP "this method accepts a Collection of Users", or "this methods returns maybe either an Apple or a Pear, and I want to force the caller to handle both Apple/Pear and null".
Well, you could do that, but it requires a lot of custom classes and trickery, and you have to rewrite the same logic if you want to typehint a "Collection of Departments" instead of "Collection of Users" -- i.e., it's not composable.
Probably the biggest issue is that languages with a (mostly) structural type system (Haskell, Rust, even C#/JVM languages to some degree, etc) are much slower to develop in for the "startup" era of a project, so you grab a weak, quick prototyping language to get started.
Then, when you reach a more grown up phase, you wish you had a better type system at your disposal...28 -
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 ¯\_(ツ)_/¯12 -
Story time.
Not sure it counts as data loss, more temporary corruption (and in my own brain).
> be me.
> be clinically depressed
> be recently out of an awful breakup
> recently nearly committed suicide by train
> be bored and lonely one night
> take lsd
> feel fine
> go to McDonald’s
> feel fine
> while eating question the nature of reality
> become convinced I’m an observer of a cosmic story and cannot die
> go outside in only jeans
> run in traffic at 1AM to prove my point
> don’t die
> run around the streets more sure of my new reality than I’d ever been of anything
> feel free and no longer sad
> walk around observing the world
> sit on wall and wonder why the story had the structure I was observing
> fall off wall into grass and mud
> follow cute guy into apartment building
> follow into lift
> ask what everything means
> spend better part of couple hours in lift pressing emergency button asking for help
> get no response
> scare poor Russian lady that gets into lift and finds an overweight topless man on the floor babbling incoherently
> ride to top floor
> get out
> sit on leather chair in corridor
> feelsnice.tiff
> decide I’m actualising my desires and reality
> don’t realise this is just the trip wearing off and consciousness exerting more control
> walk into random apartment (door is unlocked because why wouldn’t it be for the god that I believe I am at this point)
> explore
> gorgeous apartment
> realise it’s a family apartment from clothes in hallway and items
> find bathroom
> decide I want a bubble bath
> run bubble bath
> can’t work out how to drain water. Bath now full of twigs and mud #sorry
> decide that I’d like to go home, or onto my next adventure. Hopefully the seaside as I’m now realising I have more control.
> open bathroom door
> not the seaside. Ah well. Try to walk home
> walk home wrapped in fluffy towel from nice family’s apartment
> get home
> realise what had happened
> throw remaining drugs away
> sit and rock in utter paranoia and guilt for hours until flatmate wakes up.
MFW first bad trip ever.
MFW I wonder whether that family knew I was there and were scared / discovered the mess in the bathroom the next morning and not knowing which is worse.
MFW I still have the towel because it’s fluffy AF.
The moral of the story kids, is that when it comes to the OS rattling around in your brain, installing a virus that is sensitive to what apps you have running is a bad idea when those apps make the virus go to fucking town.
Terrible analogy I know, but fuck it.29 -
Devs regularly complain that our skills are not valued enough and that people think what we do is easy.
But, we don't really help the cause when we run around casually claiming to be "full stack" and not turning down work that clearly isn't in our area of competence.
We act more like Victorian amateur scientists.
Every seen a "full stack" doctor when you go to hospital? "Brain to feet---I can do it all."
OK, we have general practitioners, but they are really the BAs of the medical world. When it comes to getting into the weed, everyone specializes.
Full stack lawyer? "Hey, you did an excellent job of dealing with my house purchase. I've just been accused of murder. Can you represent me?"
While we continue to say that we can provide a high quality "full stack" experience I think we are signaling that this stuff *is* easy.19 -
Seven months ago:
===============
Project Manager: - "Guys, we need to make this brand new ProjectX, here are the specs. What do you think?"
Bored Old Lead: - "I was going to resign this week but you've convinced me, this is a challenge, I never worked with this stack, I'm staying! I'll gladly play with this framework I never used before, it seems to work with this libA I can use here and this libB that I can use here! Such fun!"
Project Manager: - "Awesome! I'm counting on you!"
Six months ago:
====================
Cprn: - "So this part you asked me to implement is tons of work due to the way you're using libA. I really don't think we need it here. We could use a more common approach."
Bored Old Lead: - "No, I already rewrote parts of libB to work with libA, we're keeping it. Just do what's needed."
Cprn: - "Really? Oh, I see. It solves this one issue I'm having at least. Did you push the changes upstream?"
Bored Old Lead: - "No, nobody uses it like that, people don't need it."
Cprn: - "Wait... What? Then why did you even *think* about using those two libs together? It makes no sense."
Bored Old Lead: - "Come on, it's a challenge! Read it! Understand it! It'll make you a better coder!"
Four months ago:
==============
Cprn: - "That version of the framework you used is loosing support next month. We really should update."
Bored Old Lead: - "Yeah, we can't. I changed some core framework mechanics and the patches won't work with the new version. I'd have to rewrite these."
Cprn: - "Please do?"
Bored Old Lead: - "Nah, it's a waste of time! We're not updating!"
Three months ago:
===============
Bored Old Lead: - "The code you committed doesn't pass the tests."
Cprn: - "I just run it on my working copy and everything passes."
Bored Old Lead: - "Doesn't work on mine."
Cprn: - "Let me take a look... Ah! Here you go! You've misused these two options in the framework config for your dev environment."
Bored Old Lead: - "No, I had to hack them like that to work with libB."
Cprn: - "But the new framework version already brings everything we need from libB. We could just update and drop it."
Bored Old Lead: - "No! Can't update, remember?"
Last Friday:
=========
Bored Old Lead: - "You need to rewrite these tests. They work really slow. Two hours to pass all."
Cprn: - "What..? How come? I just run them on revision from this morning and all passed in a minute."
Bored Old Lead: - "Pull the changes and try again. I changed few input dataset objects and then copied results from error messages to assertions to make the tests pass and now it takes two hours. I've narrowed it to those weird tests here."
Cprn: - "Yeah, all of those use ORM. Maybe it's something with the model?"
Bored Old Lead: - "No, all is fine with the model. I was just there rewriting the way framework maps data types to accommodate for my new type that's really just an enum but I made it into a special custom object that needs special custom handling in the ORM. I haven't noticed any issues."
Cprn: - "What!? This makes *zero* sense! You're rewriting vendor code and expect everything to just work!? You're using libs that aren't designed to work together in production code because you wanted a challenge!?? And when everything blows up you're blaming my test code that you're feeding with incorrect dataset!??? See you on Monday, I'm going home! *door slam*"
Today:
=====
Project Manager: - "Cprn, Bored Old Lead left on Friday. He said he can't work with you. You're responsible for Project X now."24 -
rant? rant!
I work for a company that develops a variety of software solutions for companies of varying sizes. The company has three people in charge, and small teams that each worked on a certain project. 9 months ago I joined the company as a junior developer, and coincidentally, we also started working on our biggest project so far - an online platform for buying groceries from a variety of vendors/merchants and having them be delivered to your doorstep on the same day (hadn't been done to this scale in Estonia yet). One of the people from management joined the team working on that. The company that ordered this is coincidentally being run by one of the richest men in Estonia. The platform included both the actual website for customers to use, a logistics system for routing between the merchants, the warehouse, and the customers, as well as a bunch of mobile apps for the couriers, warehouse personnel, etc. It was built on Node.js with Hapi (for the backend stuff), Angular 2 (for all the UIs, including the apps which are run through a WebView wrapper), and PostgreSQL (for the database). The deadline for the MVP we (read: the management) gave them, but we finished it in about 7 months in a team of five.
The hours were insane, from 10 AM to 10 PM if lucky. When we weren't lucky (which was half of the time, if not more), we had to work until anywhere from 12 PM to 3 AM, sometimes even the whole night. The weekends weren't any better, for the majority of the time we had to put in even more extra hours on the weekends. Luckily, we were paid extra for them, but the salary was no way near fair (the majority of the team earned about 1000€/mo after taxes in a country where junior developers usually earn 1500€/month). Also because of the short deadline given to us, we skipped all the important parts like writing tests, doing CI, code reviews, feature branching/PR's, etc. I tried pushing the team and the management to at least write tests and make feature branches/PRs, but the management always told me that there wasn't enough time to coordinate and work on all that, that we'll do that after launching the MVP, etc. We basically just wrote features, tested them by hand, and pushed into the "test" branch which would later get tested and merged into master.
During development, one of the other juniors managed to write the worst kind of Angular code you could imagine - enormous amounts of duplication, no reusable components (every view contained the everything used in the view, so popups and other parts that should logically be reusable were in every view separately), fuck - even the HTML was broken (the most memorable for me were the "table > tr > div > td" ones, but that's barely scratching the surface). He left a few months into the project, and we had to build upon his shit, ever so slightly trying to fix the shit he produced. This could have definitely been avoided if we did code reviews.
A month after launching the MVP for internal testing, the guy working on the logistics system had burned out and left the company (he's earning more than twice the salary he got here, happy for him, he is a great coder and an even better team player). This could have been avoided if this project had been planned better, but I can't really blame them, since it was the first project they had at this scale (even though they had given longer deadlines for projects way smaller than this).
After we finished and launched the MVP, the second guy from management joined, because he saw we needed extra help. Again I tried to push us into investing the time to write tests for the system (because at this point we had created an unstable cluster fuck of a codebase), but again to no avail. The same "no time, just test it manually for now, we'll do that later when we have time" bullshit from management.
Now, a few weeks ago, the third guy from management joined. He saw what a disaster our whole project was. Him joining was simply a blessing from the skies. He started off by writing migrations using sequelize. I talked to him about writing tests and everything, and he actually listened. He told me that I'm gonna be the one writing them, and also talked to the rest of management about it. I was overjoyed. I could actually hear the bitterness in the voices of the rest of management when they told me how to write the tests, what to test, etc. But I didn't give a flying rat's ass, I was hapi.
I was told to start off by writing a smoke test for the whole client flow using Puppeteer. I got even happier, since I was finally able to again learn new things (this stopped at about 4 or 5 months into the project).
I'm using jest as the framework and started writing the tests in TypeScript. Later I found a library called jest-extended, but it didn't have type defs, so I decided to write them and, for the first time in my life, contribute to the open source community.19 -
"Arch Linux is actually not that difficult".
I ssh'ed into my home server yesterday.
I was greeted by a message from an ext3 disk about needing fsck. Fine, "I haven't been in here for a while, might as well do some maintenance". fsck /dev/sda6, let's go!
This nicely "repaired" the sshd service (i.e. cleared the sectors), I cursed at myself for pressing enter at "repair (y)" right before the connection broke.
So I connected a display and keyboard... ok so let's just pacman -Sy sshd or whatever. We can do this! Just check the wiki, shouldn't be that hard!
Wait... pacman has not run since 2010? WAIT IT'S ACTUAL UPTIME IS 9 YEARS??? I guess we know why I'm a DB admin and not devops...
Hmm all the mirrors give timeouts? Oh. The i686 processor architecture isn't even supported anymore...?
4 hours, 11 glasses of cognac, 73 Arch32 wiki/forum pages, 2 attempts at compiling glibc, and 4 kernel panics later: "I think I'll buy a new server".16 -
I was in a public place on my laptop, and my laptop went into hibernation to save battery. I switched it back on and then the laptops BIOS came up saying that the battery was critically low, nothing bad here.
Instead of clicking continue, I decided to press "Diagnostics" instead. The diagnostics immediately began to run in the BIOS.
The screen began to show different coloured bars and patterns, obviously a screen test. Then a prompt appeared asking me if coloured bars were displayed. The options were yes and no, and a button saying "Exit" in the top right. Me, not wanting to do a full diagnostics on such a low battery, pressed exit.
The screen turned black, and then flashed red. The beeper on the motherboard began to beep at an ear-piercing volume. It sounded as if it was a bomb about to go off. Everyone around me stared and some people began to even panic. I tried switching it off by holding the power button but nothing was happening. People were just staring all around me.
After about 10 seconds, the beeping stopped and the screen displayed an error message similar to this:
"CRITICAL ERROR: Monitor test FAILED.
No user input was provided."
Moral of the story: Make your program account for all possible options.11 -
long rant = this;
Jesus. Fucking. Christ.
The task: get Windows 7 on my mom's new Lenovo running win 10.
First idea: dual boot. Go into disk utility and shrink win 10 partition leaving empty partition. Easy!
Unfortunately it all went downhill from there.
Restart, can't get into boot menu. Google says you have to do that from Windows. Ok.
Laptop says BOOTING FROM CD IS NOT SUPPORTED. WTF??
Go into BIOS, enable legacy boot, prioritize legacy. Restart. Ok, it boots from disk.
Go to install 7 on the empty partition and it can't because its an unsupported partition format or some shit. Whatever, wipe everything. Ok, installing windows.
Windows installed, need drivers. Go download them with another computer and go to copy them over with USB disk. Windows doesn't detect it. THIS POS DOESN'T HAVE STANDARD USB DRIVERS?!?!?
Of course, the laptop didn't come with any driver software. I end up burning a fucking CD like its fucking 2001 so that I can get the goddamn wifi driver on it.
Ok, I have wifi. Go to Lenovo site, find driver page. Select all the drivers I want for the model/OS and click download. Lenovo site says "hey, use this driver update software." I'm like, hey asshole, why don't you just give me the drivers i asked for. But fine.
Driver update software downloads, I install it, nothing happens. I run it, it says it's already running. Still nothing. What the goddamn flipping fuck?
I go download the drivers individually. I try to install USB driver. It says my system is not supported. .............Try to install chipset driver, not supported. ............ I can install maybe half of the drivers and I still can't even use a fucking USB mouse. Gonna have to wait for windows update to find it sometime two days from now.
I hope everyone in charge of Lenovos fucking ass backwards pointless piece of useless fucking shit drivers gets raped to death with a serrated knife.22 -
So I was taking a Linux class in college. I knew Linux pretty good at this point but it was a required course for my degree. I found some other people who were programmers in other languages like python and C and we just fucked around the whole semester. End of semester is coming up and the teacher poses a problem: write a bash script to do this complex thing that bash isn't the best language. But it's a Linux class. Everyone is typing away while the four of us are stunned, having no clue. So we did the only reasonable thing: write a bash script which echos a full python script to achieve it into a file, run that python script, then delete it. We submitted first and got extra credit. She threw it up on the projector as an "extrodinary example" of a good script, having not looked at it. She complimented us profusely, never turning around or reading it.12
-
Buckle up kids, this one gets saucy.
At work, we have a stress test machine that trests tensile, puncture and breaking strength for different materials used (wood construction). It had a controller software update that was supposed to be installed. I was called into the office because the folks there were unable to install it, they told me the executable just crashed, and wanted me to take a look as I am the most tech-savvy person there.
I go to the computer and open up the firmware download folder. I see a couple folders, some random VBScript file, and Installation.txt. I open the TXT, and find the first round of bullshit.
"Do not run the installer executable directly as it will not work. Run install.vbs instead."
Now, excuse me for a moment, but what kind of dick-cheese-sniffing cockmonger has end users run VBScript files to install something in 2018?! Shame I didn't think of opening it up and examining it for myself to find out what that piece of boiled dogshit did.
I suspend my cringe and run it, and lo and behold, it installs. I open the program and am faced with entering a license key. I'm given the key by the folks at the office, but quickly conclude no ways of entering it work. I reboot the program and there is an autofilled key I didn't notice previously. Whatever, I think, and hit OK.
The program starts fine, and I try with the login they had previously used. Now it doesn't work for some reason. I try it several times to no avail. Then I check the network inspector and notice that when I hit login, no network activity happens in the program, so I conclude the check must be local against some database.
I browse to the program installation directory for clues. Then I see a folder called "Databases".
"This can't be this easy", I think to myself, expecting to find some kind of JSON or something inside that I can crawl for clues. I open the folder and find something much worse. Oh, so much worse.
I find <SOFTWARE NAME>.accdb in the folder. At this point cold sweat is already running down my back at the sheer thought of using Microsoft Access for any program, but curiosity takes over and I open it anyway.
I find the database for the entire program inside. I also notice at this point that I have read/write access to the database, another thing that sent my alarm bells ringing like St. Pauls cathedral. Then I notice a table called "tUser" in the left panel.
Fearing the worst, I click over and find... And you knew it was coming...
Usernames and passwords in plain text.
Not only that, they're all in the format "admin - admin", "user - user", "tester - tester".
I suspend my will to die, login to the program and re-add the account they used previously. I leave the office and inform the peeps that the program works as intended again.
I wish I was making this shit up, but I really am not. What is the fucking point of having a login system at all when your users can just open the database with a program that nowadays comes bundled with every Windows install and easily read the logins? It's not even like the data structure is confusing like minified JSON or something, it's literally a spreadsheet in a program that a trained monkey could read.
God bless them and Satan condemn the developers of this fuckawful program.8 -
I am sure that a lot of you have heard about the gap between poor and rich growing. You know that the amount of really poor people and the amount of really rich people is increasing and that the amount of people in between is decreasing. The gap between poor and rich is growing.
But this rant isn't about economy or anything, I think something similar is happening in the technology sector.
I think that the gap between people knowing close to nothing or just really the stuff to get along and people that really know a lot about it is growing. Right now there are so many things happening in technology, quantum computers and especially machine learning. While on the other hand there are so many people not caring or rather not knowing about all of this stuff. Now you might think that this only is true for some of the 'older generations', those that didn't grow up with all the technology. But I can say that today's youth isn't any better.
For example:
One of my classmates had to copy a file into a folder. They both were on the desktop. He clicked on the file and dragged it onto the folder. It was loading and after around 10 seconds it still wasn't finished, so he stopped it, moved the file closer to the folder and tried it again. This really happened and I am 99% sure that he was serious.
Now I don't know if this is just some 1am thought I had but I really think that the 'gap' between people with almost no technology knowledge / interest and people who are making the stuff and really know stuff about it is growing at an alarming rate.
3 billion devices may run java but there aren't 3 billion people who know Java.
Please let me hear your opinion about this :)16 -
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?6 -
If I run into a problem with code or a configuration of some kind, like a good little programmer, I Google it.
One of two things will happen:
1) I quickly find the answer to my problem.
or
2) After hours of searching, I can't find anything about my problem. At all. I change the search phrasing, adjust the advanced search settings, read all the somewhat related but still unrelated articles. Nothing.
If #1 happens, awesome, life is great, thanks Internet!
If #2 happens, it's because of one of two things:
1) I am the first person in the world to stumble upon this issue. Quick! To the Blog Cave!
2) I AM TOO STUPID TO BE DOING WHAT I AM TRYING TO DO BECAUSE MY MISTAKE IS SO UNBELIEVABLY DUMB THAT NO ONE HAS BOTHERED NOR WILL BOTHER TO WRITE ABOUT IT, ANYWHERE, EVER. I LOOK AT MY WORK AGAIN FOR THE 100TH TIME AND FINALLY REALIZE MY EMBARRASSING NOOBERY.
2.1 is a unicorn. 2.1's happen to other people.
I am dealing with a 2.2.2 -
so here's a little story:
yesterday i decided to buy a shiny new gtx 1070 since my pc is getting very old, i come back from the store and i realize that my case is slightly too small to fit the card.
'No bg deal' i think to myself, i run out to buy a saw and after some work i made some space to fit the card in by sawing off some hard drive bays i was not using. I plug in the card, i wire up the pc, and it does not boot: after some asking around (i have never really built a pc before), i relaize i need more power to the card and wire a second PCIE connector. low and behold, i power of the pc and it works! Once logged into windows tho, i realize none of my HHDs are detected...
To cut a long story short, i **did not think to unplug the hard drives before i started sawing off bits of the case and the vibrations killed both of them!** i lost ~1TB of data in the process: a lot of it was games and programs, but i have yet to tally up the damage.
I am completely bamboozled by what the fuck just happened, i think i'll go hand myself in to the nearest police station for crimes against technology... or maybe a mental clinic would be best?...
PS: my system drive was spared since its an SSD, but i may as well re-install windows at this point since i lost 90% of my software11 -
Since I was little I was fascinated by club light shows I saw on TV shows. I just couldn't find out how they made light react to sound, which were two completely unrelated things to me back then. But I wasn't dumb and somehow figured out that if I hooked some low energy fairy lights to my amp and turned the bass up, they would lightup to the beat.
3 fried fairy lights and angry parents for to loud music later I swore to myself that I would someday build something that could light up my whole room and react to the music I was playing.
I started coding about the age 13 (turned 20 a month ago) with some old school bat scripts. But I wanted something that would generate a .exe so I googled and ended up installing Visual Studio Express (again angry parents for installing without asking) and started copying my first VB.Net program together. From there no one could stop me. I wanted to archive something with an application and googled until I found what I needed and learned to code this way.
I learned writing decent vb.net code and itvwas about this time I came into contact with IRC. I lurked arround there and this is were I came into contact with Linix servers, because I wanted to code IRC (eggdrop) bots, so I learned TCL and got used to Linux. Time passed and I ended uo being a Global OP on some network back then.
I did go further, coded Minecraft Mods, thus Java, changed back to C#, learned PHP and started setting things up on my VPS, Mails server, web server, etc.
Nowadays I work as a Systemadmin / Developer Hybrid, earning my first real money doing what I love to do and guess what? In the meantime I proved myself I can accomplish what I wanted as kid. I bought some Club LED DMX capital lights and programmed a controller for them which can control them in C#, but in a way I can run it on my raspi using mono. I also coded a client which runs on windows which uses some native libraries to calculate the dominant color of the shown picture in realtime (Handels 24fps 1080p) and uses the lights as ambient light, like you see them behind TVs sometimes.
The same app uses Bass.NET and an algorithm to dedect a beat in realtime and switches the light colors. Exactly what I wanted as akid, but better.
I can even control the lights via the new Google Assistant and/or Tasker.
Feels fcking good.
Some of my work lies on github among other, mostly trash: https://github.com/Kimmax - didn't updated there in a while tho.
I plan on writing a new free opensource plugin based modular home automatication server and pretty sure could use some helping hands..
I don't know why I wrote all this, just felt like it.
Also: first Rant
Please don't kill me for errors in the text, I'm to lazy to read through it again right now :P8 -
So yesterday was a regular old day where I came into the office and began my work. My office mate that sits next to me happens to be having an issue with her batch script. It wasn't running correctly so she had decided to call in IT and have them take a look at it. What she was trying to do was process some images through a dedicated super-computer located on site.
So as you can imagine with both of them standing right next to me it was hard not to listen in on their conversation. The IT guy decided to go through a barrage of different troubleshooting methods to figure out what was happening with her script. And soon enough they discovered what was wrong. It happened to be an issue with how Windows decides to deal with new line characters. FYI it looks like this shit "\n \r"
The fucking \r looked like a directory to Linux. So it would squeal to a halt every single time she tried to run.
How this happened was due to her using notepad to edit her batch file.
At this point, I made a comment about her use of Notepad.
"Oh, you're using notepad? I've had similar issues like this in the past when I've used notepad. I really hate notepad." I said with a slight chuckle.
And that was pretty much the end of our encounters. However, at the end of the day, she decided to speak up about this.
"I don't appreciate you making comments about my use of Notepad. That was a form of microaggression towards me, and I don't want you to do it again."
Completely taken aback I replied.
"I'm sorry you took it that way, it was a joke and wasn't meant to be taken personally."
"Well, your intent does not change impact. And by the way, I take pride in my code and scripting. I don't need your commentary about my code nor your micro-aggressions." She said in a huff.
"Well again, I'm sorry you feel that way," I replied back
*I'd like to say that this situation is loosely paraphrased, but the essence of what happened is still there.
At this point, this is what I have to say about this situation. Why the FUCKING FUCK are you using notepad to program anything. There ARE A SHIT TON of differing programs that are available for your use and you decide to use fucking notepad?!?! $%&*@#$^
You could use notepad++, you could use Sublime, you could use every-fucking-thing except Notepad!!! If anything I think I had every right to make a comment about your stupid use of notepad. And darling, your script not working was well deserved, I hope you run into more errors like this because you deserve nothing less for your arrogance. So you can take your opinions and shove them up your fat-ass because at the end of the day I don't give a FUCK about your opinions on my micro-aggressions that you're spouting off about.
I suggest the next time you feel attacked about your code perhaps you should take a cold hard look at yourself before thinking that I'm the one that is the FUCKING problem.17 -
This story starts over two years ago... I think I'm doomed to repeat myself till the end of time...
Feb 2014
[I'm thrust into the world of Microsoft Exchange and get to learn PowerShell]
Me: I've been looking at email growth and at this rate you're gonna run out of disk space by August 2014. You really must put in quotas and provide some form of single-instance archiving.
Management: When we upgrade to the next version we'll allocate more disk, just balance the databases so that they don't overload in the meantime.
[I write custom scripts to estimate mailbox size patterns and move mailboxes around to avoid uneven growth]
Nov 2014
Me: We really need to start migration to avoid storage issues. Will the new version have Quotas and have we sorted out our retention issues?
Management: We can't implement quotas, it's too political and the vendor we had is on the nose right now so we can't make a decision about archiving. You can start the migration now though, right?
Me: Of course.
May 2015
Me: At this rate, you're going to run out of space again by January 2016.
Management: That's alright, we should be on track to upgrade to the next version by November so that won't be an issue 'cos we'll just give it more disk then.
[As time passes, I improve the custom script I use to keep everything balanced]
Nov 2015
Me: We will run out of space around Christmas if nothing is done.
Management: How much space do you need?
Me: The question is not how much space... it's when do you want the existing storage to last?
Management: October 2016... we'll have the new build by July and start migration soon after.
Me: In that case, you need this many hundreds of TB
Storage: It's a stretch but yes, we can accommodate that.
[I don't trust their estimate so I tell them it will last till November with the added storage but it will actually last till February... I don't want to have this come up during Xmas again. Meanwhile my script is made even more self-sufficient and I'm proud of the balance I can achieve across databases.]
Oct 2016 (last week)
Me: I note there is no build and the migration is unlikely since it is already October. Please be advised that we will run out of space by February 2017.
Management: How much space do you need?
Me: Like last time, how long do you want it to last?
Management: We should have a build by July 2017... so, August 2017!
Me: OK, in that case we need hundreds more TB.
Storage: This is the last time. There's no more storage after August... you already take more than a PB.
Management: It's OK, the build will be here by July 2017 and we should have the political issues sorted.
Sigh... No doubt I'll be having this conversation again in July next year.
On the up-shot, I've decided to rewrite my script to make it even more efficient because I've learnt a lot since the script's inception over two years ago... it is soooo close to being fully automated and one of these days I will see the database growth graphs produce a single perfect line showing a balance in both size and growth. I live for that Nirvana.6 -
I have been gone a while. Sorry. Workplace no longer allows phones on the lab and I work exclusively in the lab. Anyway here is a thing that pissed me off:
Systems Engineer (SE) 1 : 😐 So we have this file from the customer.
Me: 😑 Neat.
SE1: 😐 It passes on our system.
Me: 😑 *see prior*
Inner Me (IM): 🙄 is it taught in systems engineer school to talk one sentence at a time? It sounds exhausting.
SE1: but when we test it on your system, it fails. And we share the same algorithms.
Me: 😮 neat.
IM: 😮neat, 😥 wait what the fuck?
Me: 😎 I will totally look into that . . .
IM: 😨 . . . Thing that is absolutely not supposed to happen.
*Le me tracking down the thing and fixing it. Total work time 30 hours*
Me: 😃 So I found the problem and fixed it. All that needs to happen is for review board to approve the issue ticket.
SE1: 😀 cool. What was the problem?
Me: 😌 simple. See, if the user kicked off a rerun of the algorithm, we took your inputs, processed them, and put them in the algorithm. However, we erroneously subtracted 1 twice, where you only subtract 1 once.
SE1: 🙂 makes sense to me, since an erroneous minus 1 only effects 0.0001% of cases.
*le into review board*
Me: 😐 . . . so in conclusion this only happens in 0.0001% of cases. It has never affected a field test and if this user had followed the user training this would never have been revealed.
SE2: 🤨 So you're saying this has been in the software for how long?
Me: 😐 6 years. Literally the lifespan of this product.
SE2: 🤨 How do you know it's not fielded?
Me: 😐 It is fielded.
SE2: 🤨 how do you know that this problem hasn't been seen in the field?
Me: 😐 it hasn't been seen in 6 years?
IM: 😡 see literally all of the goddamn words I have said this entire fucking meeting!!!
SE2: 😐 I would like to see an analysis of this to see if it is getting sent to the final files.
Me: 🙄 it is if they rerun the algorithm from our product. It's a total rerun, output included. It's just never been a problem til this one super edge case that should have been thrown out anyway.
SE2: 🤨 I would still like to have SE3 run an analysis.
Me: 🙄 k.
IM: 😡 FUUUUUUUUUCK YOOOOOU
*SE3 run analysis*
SE3: 😐 getting the same results that Me is seeing.
Me: 😒 see? I do my due diligence.
SE2: 😐 Can you run that analysis on this file again that is somehow different, plus these 5 unrelated files?
SE3: 😎 sure. What's your program's account so I can bill it?
IM: 😍 did you ever knooooow that your my heeeerooooooo.
*SE3 runs analysis*
SE3: 😐 only the case that was broken is breaking.
SE2: 😐 Good.
IM: 🤬🤬🤬🤐 . . . 🤯WHY!?!?
Me: 😠 Why?
SE2: 😑 Because it confirms my thoughts. Me, I am inviting you to this algorithm meeting we have.
Me/IM: 😑/😡 what . . . the fuck?
*in algorithm meeting*
Me: 😑 *recaps all of the above* we subtract 1 one too many times from a number that spans from 10000 to -10000.
Software people/my boss/SE1/SE3: 🤔 makes sense.
SE2:🤨 I have slides that have an analysis of what Me just said. They will only take an hour to get through.
Me: 😑 that's cool but you need to give me your program's account number, because this has been fixed in our baseline for a week and at this point you're the only program that still cares. Actually I need the account to charge for the last couple times you interrupted me for some bullshit.
*we are let go.*
And this is how I spent 40+ useless hours against a program that is currently overrunning for no reason 🤣🤣🤣
Moral: never involve math guys in arithmetic situations. And if you ever feel like you're wasting your time, at least waste someone else's money.10 -
"Thank you for choosing Microsoft!"
No Microsoft, I really didn't choose you. This crappy hardware made you the inevitable, not a choice.
And like hell do I want to run your crappy shit OS. I tried to reset my PC, got all my programs removed (because that's obviously where the errors are, not the OS, right? Certified motherfuckers). Yet the shit still didn't get resolved even after a reset. Installing Windows freshly again, because "I chose this".
Give me a break, Microshaft. If it wasn't for your crappy OS, I would've gone to sleep hours ago. Yet me disabling your shitty telemetry brought this shit upon me, by disabling me to get Insider updates just because I added a registry key and disabled a service. Just how much are you going to force data collection out of your "nothing to hide, nothing to fear" users, Microsoft?
Honestly, at this point I think that Microsoft under Ballmer might've been better. Because while Linux was apparently cancer back then, at least this shitty data collection for "a free OS" wasn't yet a thing back then.
My mother still runs Vista, an OS that has since a few months ago reached EOL. Last time she visited me I recommended her to switch to Windows 7, because it looks the same but is better in terms of performance and is still supported. She refused, because it might damage her configurations. Granted, that's probably full of malware but at this point I'm glad she did.
Even Windows 7 has telemetry forcibly enabled at this point. Vista may be unsupported, but at least it didn't fall victim to the current status quo - data mining on every Microshaft OS that's still supported.
Microsoft may have been shady ever since they pursued manufacturers into defaulting to their OS, and GPU manufacturers will probably also have been lobbied into supporting Windows exclusively. But this data mining shit? Not even the Ballmer era was as horrible as this. My mother may not realize it, but she unknowingly avoided it.6 -
I'm been hacking together software for the last year or so now and I've never considered myself to be a good programmer.
Today however I had to implement an A* search from scratch and with only the knowledge of how the algorithm should function I put together some code that looked correct.
I went to run my code expecting one of the typical "Index out of bound", "null reference", "something has not be initialised" BUT I was shocked to find that the code worked flawlessly.
I went into a weird state of shock and disbelief. I'm not naturally gifted at this stuff, so it was just really hard for me to accept that I might actually be getting better to the point where I might be able to say "I am a programmer"
Does anyone else get bad imposter syndrome?6 -
Teaching new recruit some SQL (even though hes supposed to fucking know SQL and have multiple years experience but I was a contractor and idgaf, not messing up my money. Just fucking annoying to have an idiot around you all the time).
Me: Okay, so sys tables, so this one is for jobs yeah?
Him: Yeah
Me: Okay, so in this table, its obviously not one row per job per step cos you have multiple rows for the same job and step. Also, there is a datetime field, so what is it showing?
Him: Hmmmmm..... (after some time, back and forth we get to the answer).... history table
Me: Cooooooool, okay, so, lets say, I have a job with 5 steps. If i run it once, how many rows will be in this table?
Him: 5 rows.
Me: Correct, so if I were to have run this same job, 10 times, how many rows get inserted into the table?
Him: (Now...you have to understand, how long this thought process was, im trying to fill the gap with words but really, he was like, having a flashback or something...I kept quiet but silently wanting him to say anything....then he looks me dead in the eyes).... 10!
Me: Motherfucker what!?!? 10 What? If 1 time == 5, what does 10 times ==?
Him: Hmmmmmmmmm.... (yes...we are doing this whole flashback montage all over again)....... Ohhhhh, 1!
Me: .....Stop, think, its a history table. It holds history, for when every step is run for a job, why would it be only one row?
Him: OMG, I know what a history table is!!!!
Me: (Pissed off cos I don't take disrespect calmly). Fine, genius, answer, go!
Him: (LONGER WAIT THAN LAST TIME!!!!)....is it not 10?
Me: I swear, I'm gonna kill you one of these days.
Him: *chuckle*
Me: No...seriously....
TOOK 20-30 MINUTES FOR HIM TO SAY 50!!!!!!
And even then, I swear he didn't understand why. Serious, he was a special breed, had a manager that was a super tard and when I worked here, the spirit of that manager possessed this idiot, the CIO and his little right hand bitch zzzzzzzzzzzzzzzzz.
If there was ever a time I was willing to catch a case at work, it was there.
Bonus: Serious, it got to the point I had to come in and tell this idiot that he can only ask me questions today if he calls me by my name...and my name has changed today...and no, you can't ask me for it cos you need my name to ask me questions.....FUCK OFF kkthxbai.5 -
This rant is particularly directed at web designers, front-end developers. If you match that, please do take a few minutes to read it, and read it once again.
Web 2.0. It's something that I hate. Particularly because the directive amongst webdesigners seems to be "client has plenty of resources anyway, and if they don't, they'll buy more anyway". I'd like to debunk that with an analogy that I've been thinking about for a while.
I've got one server in my home, with 8GB of RAM, 4 cores and ~4TB of storage. On it I'm running Proxmox, which is currently using about 4GB of RAM for about a dozen VM's and LXC containers. The VM's take the most RAM by far, while the LXC's are just glorified chroots (which nonetheless I find very intriguing due to their ability to run unprivileged). Average LXC takes just 60MB RAM, the amount for an init, the shell and the service(s) running in this LXC. Just like a chroot, but better.
On that host I expect to be able to run about 20-30 guests at this rate. On 4 cores and 8GB RAM. More extensive migration to LXC will improve this number over time. However, I'd like to go further. Once I've been able to build a Linux which was just a kernel and busybox, backed by the musl C library. The thing consumed only 13MB of RAM, which was a VM with its whole 13MB of RAM consumption being dedicated entirely to the kernel. I could probably optimize it further with modularization, but at the time I didn't due to its experimental nature. On a chroot, the kernel of the host is used, meaning that said setup in a chroot would border near the kB's of RAM consumption. The busybox shell would be its most important RAM consumer, which is negligible.
I don't want to settle with 20-30 VM's. I want to settle with hundreds or even thousands of LXC's on 8GB of RAM, as I've seen first-hand with my own builds that it's possible. That's something that's very important in webdesign. Browsers aren't all that different. More often than not, your website will share its resources with about 50-100 other tabs, because users forget to close their old tabs, are power users, looking things up on Stack Overflow, or whatever. Therefore that 8GB of RAM now reduces itself to about 80MB only. And then you've got modern web browsers which allocate their own process for each tab (at a certain amount, it seems to be limited at about 20-30 processes, but still).. and all of its memory required to render yours is duplicated into your designated 80MB. Let's say that 10MB is available for the website at most. This is a very liberal amount for a webserver to deal with per request, so let's stick with that, although in reality it'd probably be less.
10MB, the available RAM for the website you're trying to show. Of course, the total RAM of the user is comparatively huge, but your own chunk is much smaller than that. Optimization is key. Does your website really need that amount? In third-world countries where the internet bandwidth is still in the order of kB/s, 10MB is *very* liberal. Back in 2014 when I got into technology and webdesign, there was this rule of thumb that 7 seconds is usually when visitors click away. That'd translate into.. let's say, 10kB/s for third-world countries? 7 seconds makes that 70kB of available network bandwidth.
Web 2.0, taking 30+ seconds to load a web page, even on a broadband connection? Totally ridiculous. Make your website as fast as it can be, after all you're playing along with 50-100 other tabs. The faster, the better. The more lightweight, the better. If at all possible, please pursue this goal and make the Web a better place. Efficiency matters.9 -
Business User [1 PM]: So I know every month you’ve been using your dark magic SQL skills to transform my monthly data into better monthly data.
Well I know it’s the middle of the month, and this is totally random... but... I have some other data formatted totally differently, almost totally different data! You can just run this through your magic SQL Proc right?? Easy! Also, I need this by end of day... thank you for your support.
Me [1:01 PM]: K.4 -
Okay so
Client asks for a bunch of data what can be easily calculated with excel. I think to myself, yeah, ill not fuck around adding numbers 1by1, ill just use excel.
Client wants a program, says he likes having a program do stuff. Mind you, this isnt an universal program at all, it just has to work for this specific input file.
Me: packages the original excel file into a jar and makes it unpackage when run.
Client: is happy
Me: ??? -
When you teach someone to use git and all.of a sudden you are required to supply all the answers when they run into problems:/
I tried to point them to Google and they still keep coming back. Why the fuck did I do this to myself?9 -
Yes - I fucking hate xcode too.
These are the main reasons:-
(1) Why the fuck make people go into Terminal to run pod install to build something? this is absurd.
(2) There are always fucking problems with the provisioining profile - like wrong fucking profile, or expired profile - which fuck wit came up with such a convoluted way of deploying? and then you to have to login to the apple develope and agree to some new fucking terms with some other bull shit crap.
(3) Swift 4 is out when nobody has been learnt swift 3.... What the fuck??
Fuck Apple!9 -
God damnit, I have this too often. Something works in my mind no matter how often I run through it again and again but I've got no clue how to test it for real which brings me into a "mental deadlock" state aaaand then I lose all my programming motivation at once.
Having this right now, fucking annoying.10 -
God damn fucking Windows bullshit.
Why is the fuck does Microsoft HATE its users?
Latest updates, and no fuck Windows 11, completely BREAKS all of my WSL environments.
Home directories are gone, or the environments are corrupt and won't even run.
99% of the issues these dense shit-fucks cause are because they RaNdOmLy reboot for their dumbass updates instead of scheduling them with the end user. During these rebots, do you thing they wait for everything to shut down?
HELL NO!
They just shut that shit down like they fucking own it. Editors? Gone. Browsers? Gone. WSL Consoles? Gone. Docker containers? Gone. IEdge? Hey, we have great news, we made IE your default browser again! BTW, your upgrade to Windows 11 is free until we force you to upgrade!
I'm so fed up with it.....so fucking tired of it...
The only reason why I even use WSL these days is to ssh into my Linux devices or run some quick dev tests in containers. Why not use PuTTY for SSH? Because it fucking SUCKS that's why.
I'm feeling so many emotions right now over bullshit that shouldn't even be happening. I'm literally at the point that I'm just going to install Linux on this device and just create a Windows VM on one of my hosts so I can still do "work" things that involve leadership.19 -
Just got a call from an Indian scammer. He did the whole press Win + R shabang and I did what he said but the run box didn't appear (maybe cause I'm on a mac) I tried a few more times and then had a moment of enlightenment, I have a mac so that must be why the shortcut isn't working. He then goes on a rant saying everything is fine because he is the best technician and he can fix my mac too. He threatens to hack me and get my name and hack my computer but then goes straight back to his script and asks me to open my browser. I'm asked to go to a website which he mumbles so I don't understand and ask him to spell it for me. This of course is unacceptable and he goes no just type whatever you feel like typing, immediately changing his mind to xvideos.com instead. I say I can't visit the site since I am at work and he goes straight into trying to recruit me. Promises of infinite money and all I could ever wish for. Then he says I should work for him and he would pay me to watch porn which I politely decline. The final interaction was me letting him know I need to get back to work and to tell his call center buddies to never call me. He got super mad at me for accusing him of working at a call center whilst you can hear other calls in the background. 10/10 interaction.6
-
devRanters, especially the linuxers, unusual request/question, especially coming from @linuxxx!
I just found two very old netbooks which still contain windows xp (I didn't even know I still had them at all) and I'm obviously going to turn them into Linux netbooks.
Does anyone know any good looking linux distro's that run well on low-end hardware? This is not my specialty since I either deal with servers or higher-end computers :).
Please pass me some suggestions!54 -
For almost twenty years I have sheltered in the protective, safe, warm bosom of Debian. For a long time, it had the largest body of available software of all the distros, and by far when Ubuntu rose to prominence. So I used Ubuntu for years for the depth of package availability, and because if something esoteric was released, it would almost certainly come out first on Ubuntu, and sometimes only on Ubuntu. I was happy. Things were good.
But over time, Ubuntu and even Debian started to lean harder and harder on gnome, which I've always hated, along with all desktop environments, as they obscure the system from the user, and introduce graphical layers of abstraction, so the actual job of getting things done becomes a black art, hidden behind gnome-specific tools. This is my preference, and It's been disheartening in recent years to see the direction the desktop appears to be taking.
Then I joined devrant in 2017, and until then, I had heard peripherally about Arch, but never more than that. I had not heard of Manjaro at all. People started posting success stories and happy screenshots, and I was intrigued.
In 2018 I built a windows machine to use for parsec streaming games that wouldn't run on my linux rig. For not a great deal of money, I built a solid machine that's unequivocally better than any machine I've ever used, and installed windows on it. For a while, I was pleased. I had the best of both worlds: a windows box to stream some games from, and a linux desktop for everything else.
But after a couple months, as proton matured, I found fewer and fewer reasons to use my windows machine. My use of it declined to where I was last week: it had been months since I'd even powered it on. It was the most powerful machine I've ever used, and it was just collecting dust behind the TV in the living room. The full realization came to me while I was fighting a battle in the Gnome Takeover War, and I realized: I don't have to do this.
I pulled the newer machine out from behind the TV and installed Manjaro architect edition on it. The flexibility in the install was staggering. I am using nilfs2 for my /boot and / partitions: an option that Ubuntu has never offered. Normally they just default you into the garbage ext4 filesystem, and if you can dig deep enough, you can install with something else, though you have to really want it, in my opinion.
But Manjaro has been a dream-come-true. Pacman is easily the best package manager I have ever used, and pamac's intuitive and easy commands are a great view into AUR. Booting into the virtual console instead of a display manager has been wonderful too. On Ubuntu, I had to disable systemd's version of runlevel 5 to even get it working. But I just popped my xrandr script into my .xinitrc, and X opens with startx in less than a second. On Ubuntu, it takes about 5-10 seconds.
This has nothing to do with Manjaro, but I also switched to Radeon for this install, and I couldn't be happier about that. No more "installing" nvidia's drivers.
No more gnome. No more PPAs. No more settling. I am a Manjaro user now. Full stop. Thank you, devrant, for bringing it to my attention.11 -
I've tried to stay out of the fray regarding replacing long-standing terminology to use "safe" inclusive wording instead because it doesn't seem like that big of a deal to me to just use the new wording. If the old wording wasn't hurting people (this is an argument that a of a lot of people use regarding this mass naming change movement) then the new wording shouldn't hurt anyone either...
that was just my 2 cents on the topic, until today!
Some dumb motherfuckers are trying to replace the word 'execute' with 'start'/'run'.
That's just some fucking ignorant plebian shit right there. The literal definition of execute is:
"The act or process to carry out fully or put completely into effect"
"to do what is provided or required by..."
"to perform what is required to give validity to..."
start and run don't grammatically encapsulate what execute does. And now I sound like a fucking grammar nazi because this shit is getting under my skin more than it should.
Execute's primary definition is grammatically correct for the context in which it is used.
Change Master/Slave for databases and I couldn't give a single solitary fuck about it. Primary/Secondary works just fine too. The grammatical context isn't blown away here.
But take away my execute and sudden I get all hot and bothered with the desire to punch a nun over how stupid this "offensive words" crusade is.
Thank you for coming to my Ted talk.15 -
Walk from my office to the cafeteria.
Bump into this one kid, we both good, said sorry and moved on.
Team of what seems volleyball players run by. Nice legs.jpg. continue to walk. Say hi to people st cafeteria.
Damn near 10 mins in taco line...way too many kids. Hold up what are all these kids doing here?
Wall back to office, sit down...then it hits me.
I work at a college. Das why there are so many fucking kids.
Stopid man. -
Another real-world argument for why I always say git is worth learning properly.
Had to track a really weird bug down today. Had no idea where it came from, how long it'd been in the code and hadn't the foggiest what was causing it. Realistically it could have been introduced any time in the last year or two, and that's tens of thousands of commits in this repo.
Git to the rescue. Knocked up a quick script to test the case in question, fed it into "git bisect run", and 30 seconds later git found the exact (small) commit that caused the issue.
It's a brilliant part of git, yet it seems like almost no-one I know uses it. Some use "git bisect", but using "git bisect run" and passing a script to it seems to be alien to most - yet it's probably my most used tool when it comes to tracking down bugs like these.8 -
!dev
So, the house next door to me is being renovated into half a dozen apartments. This process has been ongoing for like 4 years of here-and-there houseflipper failboating, and if I had to guess, 3 owners worth of this fuckery.
The latest shitheel trying to polish this turd into something saleable has had it sit partially covered with plastic for months, mostly getting rained on. One crew came by last week and put half the thermal shielding up before something happened and they left. Then half of it fell off the house, into my yard. Nice person that I am I gathered it all up and left it in the various excavated pools of water on their property in which I can only imagine they are busily raising farm to table mosquitoes for the local market.
FF to today and I see a crew pull up to the house and start nailing plywood to the side of the house with no thermal pad underneath it. Which is a legit code violation and a mold hazard, but yolo amirite? I chat up some of the guys and find out that they were scheduled to install the plywood today (apparently he'd run out of money for the nice modular siding they used on the back half) and the owner didn't give a shit if the rest of the work was done. Meanwhile shit is still falling off the house onto my house, but also wgaf. 🚬
Tl;Dr the people trying to flip the house next to mine were obviously IT managers in a previous life.6 -
I've just noticed an app review that I've given and would fit right into the wk123 (that's the insult one, right?).
"Biggest pile of junk that I've ever seen. You have one job! To register the fucking phone number (which you could get with Phone permission) and verify it (which you can do with the SMS permission) and you should either have the user do that once upon installation or you automate it entirely so that it can run in the background! You can fully automate this, and it's not that complicated that it needs 10 whole seconds of loading time in between! Heck, this pile of crap can't even continue into the main view after entering the verification code! You haven't published the source code (and maybe that's for the best) but if it was, I'd probably immediately get cancer by viewing your crappy spaghetti code. Dear developer, please take a step back and (re)join the PC tech support guys. You have no place in the development world."
To top it all off, that app currently only needs phone permission to verify my number (at least they've done that much). So I figured, I've already gone through that authentication flow so let's remove that permission to abide by the principle of least privilege.
Except that the fucking crapp just goes through the "requires phone permission" shit again whenever that permission removal happens. Fucking piece of garbage!!! That such spaghetti code fuckers even have a job, it boggles my mind.4 -
TL;DR; I unfucked a micro sd used by a nintendo switch with one command: fsck
I had noticed that the nintendo switch displayed way more storage usage then it should. I didn't mind at first, but at some point I couldn't download any games. When I checked I saw some ridiculous storage usage.
According to the system, all games summed up ~20Gb, but >100Gb was in use? Sounds retarded, so I did the following:
* Plugged it into laptop
* Spend one our searching for a way to to access this seemingly unknown filesystem
* Find out this filesystem is actually exFAT
* Find out that 2/3 sd adapters suck
* check filesystem with dust (A visually more pleasing version of du)
* Find 20Gb of files, nothing hidden or whatever
* run fsck
* "File system contains some errors want me to fix then?"
* "Sure"
* check usage
* 17%
As for the reason why this happened in the first place, my guess is that the switch labels the whole segment of the card as used before downloading a game and it something goes wrong, it shits itself.
Anyways, fsck is a pretty useful command.1 -
I'm investigating PRs for a super legacy codebase. Someone else already approved the PRs -- somebody who has never even run the code or had the project set up before.
The codebase hasn't been touched in two years, and it hasn't been updated in four. It's using CoffeeScript, Node v0, Electron v0.30, and Angular 1.x. I obviously don't have a dev environment anymore, either, and my previous dev env was on Windows, so I'll have to translate my custom build utilities from batch to bash (or much more likely: node).
To make matters worse: the PRs break both the initial project setup and the project itself (NPM can no longer find some installed packages, among other problems). And. someone already merged them into master. So: fuck.
I'm going to yell at the author and tell him to fix his shit. Why? Because when I check out my last commit prior to his PRs, everything works perfectly. Surprise!
I was so done with this project two and a half years ago. I'm still so done with it. I just don't want to maintain this anymore, or honestly even look at it. I would happily rebuild the project from scratch, but updating it from the days of IE8? No way.9 -
So I'm back from vacation! It's my first day back, and I'm feeling refreshed and chipper, and motivated to get a bunch of things done quickly so I can slack off a bit later. It's a great plan.
First up: I need to finish up tiny thing from my previous ticket -- I had overlooked it in the description before. (I couldn't test this feature [push notifications] locally so I left it to QA to test while I was gone.)
It amounted to changing how we pull a due date out of the DB; some merchants use X, a couple use Y. Instead of hardcoding them, it would use a setting that admins can update on the fly.
Several methods deep, the current due date gets pulled indirectly from another class, so it's non-trivial to update; I start working through it.
But wait, if we're displaying a due date that differs from the date we're actually using internally, that's legit bad. So I investigate if I need to update the internals, too.
After awhile, I start to make lunch. I ask my boss if it's display-only (best case) and... no response. More investigating.
I start to make a late lunch. A wild sickness appears! Rush to bathroom; lose two turns.
I come back and get distracted by more investigating. I start to make an early dinner... and end up making dinner for my monster instead.
Boss responds, tells me it's just for display (yay!) and that we should use <macro resource feature> instead.
I talk to Mr. Product about which macros I should add; he doesn't respond.
I go back to making lunch-turn-dinner for myself; monster comes back and he's still hungry (as he never asks for more), so I make him dinner.
I check Slack again; Mr. Product still hasn't responded. I go back to making dinner.
Most of the way through cooking, I get a notification! Product says he's talking it through with my boss, who will update me on it. Okay fine. I finish making dinner and go eat.
No response from boss; I start looking through my next ticket.
No response from boss. I ping him and ask for an update, and he says "What are you talking about?" Apparently product never talked to bossmang =/ I ask him about the resources, and he says there's no need to create any more as the one I need already exists! Yay!
So my feature went from a large, complex refactor all the way down to a -1+2 diff. That's freaking amazing, and it only took the entire day!
I run the related specs, which take forever, then commit and push.
Push rejected; pull first! Fair, I have been gone for two weeks. I pull, and git complains about my .gitignore and some local changes. fine, whatever. Except I forgot I had my .gitignore ignored (skipped worktree). Finally figure that out, clean up my tree, and merge.
Time to run the specs again! Gems are out of date. Okay, I go run `bundle install` and ... Ruby is no longer installed? Turns out one of the changes was an upgrade to Ruby 2.5.8.
Alright, I run `rvm use ruby-2.5.8` and.... rvm: command not found. What. I inspect the errors from before and... ah! Someone's brain fell out and they installed rbenv instead of the expected rvm on my mac. Fine, time to figure it out. `rbenv which ruby`; error. `rbenv install --list`; skyscraper-long list that contains bloody everything EXCEPT 2.5.8! Literally 2.5 through 2.5.7 and then 2.6.0-dev. asjdfklasdjf
Then I remember before I left people on Slack made a big deal about upgrading Ruby, so I go looking. Dummy me forgot about the search feature for a painful ten minutes. :( Search found the upgrade instructions right away, ofc. I follow them, and... each step takes freaking forever. Meanwhile my children are having a yelling duet in the immediate background, punctuated with screams and banging toys on furniture.
Eventually (seriously like twenty-five minutes later) I make it through the list. I cd into my project directory and... I get an error message and I'm not in the project directory? what. Oh, it's a zsh thing. k, I work around that, and try to run my specs. Fail.
I need to update my gems; k. `bundle install` and... twenty minutes later... all done.
I go to run my specs and... RubyMine reports I'm using 2.5.4 instead of 2.5.8? That can't be right. `ruby --version` reports 2.5.8; `rbenv version` reports 2.5.8? Fuck it, I've fought with this long enough. Restarting fixes everything, right? So I restart. when my mac comes back to life, I try again; same issue. After fighting for another ten minutes, I find a version toggle in RubyMine's settings, and update it to 2.5.8. It indexes for five minutes. ugh.
Also! After the restart, this company-installed surveillance "security" runs and lags my computer to hell. Highest spec MacBook Pro and it takes 2-5 seconds just to switch between desktops!
I run specs again. Hey look! Missing dependency: no execjs. I can't run the specs.
Fuck. This. I'll just push and let the CI run specs for me.
I just don't care anymore. It's now 8pm and I've spent the past 11 hours on a -1+2 diff!
What a great first day back! Everything is just the way I left it.rant just like always eep; 1 character left! first day back from vacation miscommunication is the norm endless problems ruby6 -
Walking down the street today eating this amazing croissant and sipping iced coffee when I run into this old lady and she was like “hey how are you?” And I was like “good thanks want some of this croissant it’s absolutely delicious” and she was like “No thanks, I want to tell you that those who eat alone, die alone”…
Like wow the audacity of this bitch. Get your old wrinkly latex skin with blotches lookin ass outta my face before you die alone today hoe.
Don’t take no shit from nobody - treat yourself like you the shit.27 -
Awkward recruiting process? Sit the fuck back!
So about a year ago I got laid off. I got some help setting up LinkedIn and realising I'm not trash and offers to talk started flowing in.
So this consultancy firm asks me to come in for a talk and having nothing better to do I oblige - they're working on big, exciting Greenfield stuff and I'm amazed they want me.
Fast forward the most nervous week in my life and the HR assistant brings me into the meeting room, I get some water and a nice first impression - also my last. I wait in the room for five minutes.
In walks madam HR, madam Team lead and miss assistant from before, all carrying big ass laptops. We shake hands and they sit down and all open up their laptops between me and them - I just sit there feeling naked with my block of paper and pencil I brought.
So we wait for their machines to start up and madam HR just starts throwing questions at me and seemingly noting my answers into a sheet. Meanwhile madam Teamlead is busy on her phone most of the time and my most human interaction remains smalltalk and questions between me and miss assistant.
I did manage to get madam Teamlead to look up from her phone when I asked how they felt about the fact that I have no formal training and would need to pick up a lot of skills as we go, to which she said something along 'well this ain't a candy shop, we expect you to work' and looked back down at her phone.
A bit shaken, I agreed to stay for the technical test (apparently I passed the interview...)
Now this test was designed by their CTO since he didn't feel like any of the available tests on the market could properly judge applicants' skilllevels. Yes, alarms went off already at that point.
What I'm presented with is a word document with questions, and another for answers and... It's just string gymnastics and reference/value difference knowledge - shit it takes you a split second to look up or test if you ever get into these insane cases where you need to know. And then there was a likewise one with sql statements that was also just convoluted query gymnastics and trying to hide changes in the seemingly same statement through various questions. No questions on design, no problem solving, just... Attention span testing with a dash of coding?
Anyway, it turned out they had evening and weekend shifts and round the clock support tournus which on top of the ridiculous recruitment process and way lower than average salary offer had me turn them down.
Don't enable bullshit people, run away!4 -
So, I found this :
Dear Tech Support:
Last year I upgraded from Girlfriend 7.0 to Wife 1.0. I soon noticed that the new program began unexpected child processing that took up a lot of space and resources. In addition, Wife 1.0 installed itself into all other programs and now monitors all other system activity. Applications such as Poker Night 10.3, Football 5.0, HuntingAndFishing 7.5, and Racing 3.6. I can't seem to keep Wife 1.0 in the background while attempting to run my favorite applications. I'm thinking about going back to Girlfriend 7.0, but the uninstall doesn't work on Wife 1.0. Please help!
Thanks ...Troubled User
-------
REPLY:
Dear Troubled User:
This is a very common problem. Many people upgrade from Girlfriend 7.0 to Wife 1.0, thinking that it is just a Utilities and Entertainment program. Wife 1.0 is an OPERATING SYSTEM and is designed by its Creator to run EVERYTHING!!! It is also impossible to delete Wife 1.0 and to return to Girlfriend 7.0. It is impossible to uninstall, or purge the program files from the system once installed. You cannot go back to Girlfriend 7.0 because Wife 1.0 is designed not to allow this. Look in your Wife 1.0 manual under Warnings-Alimony-Child Support. I recommend that you keep Wife 1.0 installed and work on improving the configuration. I suggest installing the background application YesDear 99.0 to alleviate software augmentation.
The best course of action is to enter the command C:\APOLOGIZE because ultimately you will have to do this before the system will return to normal anyway.
Wife 1.0 is a great program, but it tends to be very high maintenance. Wife 1.0 comes with several support programs, such as CleanAndSweep 3.0, CookIt 1.5 and DoBills 4.2. However, be very careful how you use these programs. Improper use will cause the system to launch the program NagNag 9.5. Once this happens, the only way to improve the performance of Wife 1.0 is to purchase additional software. I recommend Flowers 2.1 and Diamonds 5.0, but beware because sometimes these applications can be expensive.
WARNING!!! DO NOT, under any circumstances, install SecretaryWithShortSkirt 3.3. This application is not supported by Wife 1.0 and will cause irreversible damage to the operating system.
WARNING!!! Attempting to install NewGirlFriend 8.8 along with Wife 1.0 will crash the system.
(see Wife 1.0 manual, Apologize, High Maintenance & Secretary with Short Skirt)7 -
Yesterday, I tried to code without googling to see how far I can go. After 20 minutes of coding I run into a problem. I just couldn't make my angularjs app to work with ASP.Net MVC antiforgerytoken. I tried my best to solve it but no luck.
After 2 hours I finally gave up and connect my laptop to network and search for answer, within a few seconds. Google give my this link: http://ojdevelops.com/2016/01/....
After only few minutes I finally make my code to work. And I realized that there is no way I can figure this things out using only my head. I still need the help of community to get things done.
So my question is. During the 80's and 90's how did the old programmers get themselves unstuck when problem like this arrive?8 -
We've had a bunch of flaky tests in our repo for a while now that no one could be bothered to fix; we'd just re-run ci until it's green. Today I looked into it and I was inspired to make this meme, because I lived through it.
Adding logs to investigate just lowered the fail rate making investigation more difficult. I do have an idea of what it might be though so, we'll see tomorrow.3 -
So I've decided to go about converting a Java project that I've been working on to Kotlin a little bit at a time. I started out with basic entity classes converting them to simple `data class`es in Kotlin.
Eventually, I got to my first beast of a class to refactor. This class had over 40 service classes depending on it, so even a little hiccup would throw everything into chaos.
I finish all of the changes on all of the dependent classes, update the tests, and the configurations (as necessary), and I was finally ready to spin up the app to test for any breaking changes I may have introduced...
Well - I broke everything! But I was sure I couldn't have! So what the hell happened?
Turns out that as I was building my project with a Gradle watch, at one point something failed to compile, which threw an unhandled exception in the gradle daemon that was never reported.
So when I tried to run my app, gradle would continually re-throw the error in the app I asked it to run...
After turning the daemon off and on again, the app worked like a charm.10 -
I've run into problems with the app I'm working on, the problems are related to issues regarding code.
No in fact it's related the last guy who wrote the app, the code has no comments and the variable names make no sense, the only comments in the code are blocks of code... With no reason as to why it was commented.
I have to add in some checks to determine if a person that has logged in is a full member or not (full member has access to the feature I've added) and the way the guy has made this app works makes no sense to me at all.
I've tried my best to avoid all contact with his code because it makes me want to yell out in frustration.
But for this one case I have to work with what's there.
I know I've mentioned this before but I've hit my limit yet again.
And for those who don't know this guy managed to scrape together skeleton code from two apps to make part of this app, rather than using parts of the other apps he left out code that was specifically made for the other apps, (majority of the commented out code).
One app was a taxi app and from the looks of it the feature he used was to get GPS location (which I don't understand before Google maps is a think after all... The taxi app USES Google maps), the other app is some sort of funeral webcasting app (I found code imports for it, without any actual code).
I don't actual understand how this guy could put this together without not thinking "maybe this is a bad idea"
Always code as if the person who ends up maintaining your code is a violent psychopath who knows where you live
I'm that psychopath right now..... Fuck that guy (don't know where he lives though)1 -
You need to answer your manager, but don't have a clue, try these randomly:
I'll circle back to you
I will run the numbers on it
Let's go back to the drawing board
Let's touch base in a bit. Ping me
I don't have the bandwidth right now
It's on my radar
Let's put this on the back-burner
I have too many balls in the air right now
I have a lot on my plate
I'll get back by close of play tomorrow
I'll have to deep dive/drill down into this and get back
I have a hard stop at X hours
Let's park that for now
It's in the pipeline2 -
So this bloody hilarious, I submit my PWA to windows store, mainly for shits and giggles, see how the whole thing works and all that.
App gets approved, I go in and run another submission to upload a few extra screenshots, at this point they block it as I do not have a privacy policy, but accept user authentication, which is not the case, so after a few days of back and forth I ask them to attach a screenshot, so turns out I need a privacy policy as when the users click on the map link which opens Google Maps in a NEW window, has a sing in button.
According to them, this is 'Opening within my application" and I am apparently able to access user details via google own sign in link, not SSO.
So as a joke, after some frustration I wrote up a privacy policy, what is an even bigger joke is that they accepted it…
This exists solely for the benefit of Microsoft who are having trouble comprehending the fact that RTMS Events does NOT have Authentication.
Microsoft believes that as the application uses Google Maps, and when Google Maps opens a “Sign In” button appears, that I am able to access your personal information.
As any reasonable person will understand, that is not the case, logging into Google Maps/Google for the benefit of using Google Maps in NO WAY gives anyone else access to your personal information.
So to be clear, I do not have any interest or access of any kind to your personal information, should you have any concerns about your privacy, remember, that the “Sign In” button is for Google, not RTMS, take up any issues with them, I am pretty sure they have a REAL and actually NECESSARY privacy policy.
http://rtms.events/privacy.html3 -
I wrote a prototype for a program to do some basic data cleaning tasks in Go. The idea is to just distribute the files with the executable on our shared network to our team (since it is small enough, no github bullshit needed for this) and they can go from there.
Felt experimental, so I decided to try out F# since I have always been interested with it and for some reason Microsoft adopted it into their core net framework.
I shit you not, from 185 lines of Go code, separated into proper modules etc not to mention the additional packages I downloaded (simple things for CSV reading bla bla)
To fucking 30 lines of F# that could probably be condensed more if I knew how to do PROPER functional programming. The actual code is very much procedural with very basic functional composition, so it could probably be even less, just more "dense"
I am amazed really. I do not like that namespace pollution happens all over F# since importing System.IO gives you a bunch of shit that you wouldn't know where it is coming from unless you fuck enough with Ionide and the docs. But man.....
No need for dotnet run to test this bitch, just highlight it on the IDE, alt enter and WHAM you have the repl in front of you, incremental quasi like Lisp changes on the code can be REPL changed this way, plethora of .NET BCL wonders in it, and a single point of documentation as long as you stay in standard .net
I am amazed and in love, plus finding what I wanted to do was a fucking cakewalk.
Downside: I work in a place in which Python is seen as magic and PHP, VB.NEt and C# is the end all be all of languages. If me goes away or dies there will be no one else in this side of the state to fuck with F#
This language needs to be studied more. Shit can be so compact, but I do feel that one needs to really know enough of functional programming to be good at it. It is really not a pure language like Haskell (then again, haskell is the only "mainstream" pure functional language ain't it not?) but still, shit is really nice and I really dig what Microhard is doing in terms of the .net framework.
Will provide later findings. My entire team is on the Microsoft space, we do have Linux servers, but porting the code to generate the necessary executables for those servers if needed should be a walk in the park. I am just really intrigued by how many lines of code I was able to cut down from the Go application.
Please note that this could also mean that I am a shit Golang dev, but the cut down of nil err checkings do come somewhere.9 -
Step 1: Run to the store to buy a USB card reader because all of a sudden you have a need to use a 16Mb CF card that was tossed in a junk drawer for 20 years (hoping it still works, of course), but that was the easy part...
Step 2: Realize that the apps - your own - you want to run on your new (old) Casio E-125 PocketPC (to re-live "glory" days) are compiled in ARM format, not MIPS, which is the CPU this device uses, and the installer packages you have FOR YOUR OWN APPS don't include MIPS, only ARM (WHY DID I DO THAT?!), so, the saga REALLY begins...
Step 3: Get a 20-year old OS to install in a Hyper-V VM... find out that basic things like networking don't work by default because the OS is so damn old, so spend hours solving that and other issues to get it to basically run well enough to...
Step 4: Get that OS updated so that it's at least kind/sorta/maybe (but between you and me, not really!) safe online, all without a browser that will work on ANY modern site (oh, and good luck finding a version of Firefox that runs on it - that all took a few hours)...
Step 5: Okay, OS is ready to go, now get 20-year old dev tools that you haven't even seen in that many years working. Oh, do this with a missing CD key and ISO's that weren't archived in a format that's usable today, plus a bunch of missing dependencies because the OS is, again, SO old (a few MORE hours)...
Step 6: Get 20-year old code written in a language you haven't used in probably almost that long to compile, dealing with pathing issues, missing libs, and several other issues, all the while trying to dust off long-dormant knowledge somewhere in the deep, dark recesses of your brain... surprisingly, it all came back to me, more or less, in under an hour, which lead to...
Step 7: FINALLY get it all to work, FINALLY get the code to compile, FINALLY get it transferred to the device (which has no network capabilities, by the way, which is where the card reader and CF card came into play) and re-live the glory of your old, crappy PocketPC apps and games running on the real thing! WOO-HOO!
Step 8: Realize it's 3:30am by the time that's all done and be VERY thankful that you're on vacation this week or work tomorrow would SSUUCCKK!!!!
Step 9. Get called into work the next day for a production issue despite being tired from the night before and an afternoon of errands, lose basically a whole day of vacation (7 hours spent on it) and not actually resolve it by after midnight when you finally say that's enough :(
Talk about your highs and your lows.6 -
I've been working towards a degree in CS recently after being out of school nearly 10 years. I've been trying really hard to keep an open mind and not complain about the professors, but I have to let this out.
My one class we have to write all of our code in their specified editor which I hate, but I understand the need for standardization, but then once it is error free we have to copy and paste the code into ms word and turn it in!! Really?! In 2018 I can't just submit my source files and you open them to run and grade? I seriously have to copy my code into ms word for you to grade it? I don't even understand how you would grade that because it kills the formatting and readability, not to mention the quotes get changed to their curly counterpart which isn't valid syntax.7 -
My son is into playing Roblox. He asked me to help him find an auto clicker that doesn't have viruses/malware. We looked into cheatengine (which I have used in the past), but despite getting it from a legit source it is getting flagged as malware. So we started writing one with Python. I did check to see what their policy on bots is:
"Using bots that are programmed to run disruptive, large-scale tasks"
is the only text I can find about bots. It seems like they don't care if you make bots to automate tasks or play the game.
I plan on having some fun with this and including a little gui to control the bot while the game runs in the background (the goal). I had tried to get my son to have an interest in programming so this is a good intro.11 -
So working on the Android for work, and go to add in images for parts of the app. I add in images and load the app up and it crashes, I thought hmm maybe I missed something for the imageview.
The exception was an out of memory exception and from looks of it, it exceeded my phone memory by quite a bit (OnePlus 3 has 8gb LOL), I was stumped since I don't typically run into this.
Turns out this time around it wasn't my fault lol, I had some images outsourced to a company our company uses for doing design work and well Android doesn't like 2000 x 2000 super high quality for logos.
I mean sure it's good it's high quality but to have 3 images eat up a lot of memory (I assume my phone won't allocate all 8gb to one app lol).2 -
I'm a jr developer. I started off in automation testing and don't mind it but the testing codebase is cancer, doesn't follow basic Java conventions even basic naming conventions like camelcase, and the tests are super slow using hardcoded Thread.sleep(). Since the automation tests are not automated, I have to run manually. YES manually, every morning I wake up early at 7am to run the 2.5 hour long tests (7am because this before people get to work and when the application goes back online). I run this bitch and monitor them but most of them fail anyways. I also have to write a email report on the results which means I have to explain why shit is failing so I have to debug all this crap. This shit literally eats up an additional 2-3 hours of my work day everyday and the time is not even accounted for. ALSO, since it's running on my laptop, it makes my computer slow most of the day. If I have to debug, I can't have the browser be headless so fuckin chrome browsers be popping up every 2 minutes. I did this for legitimately 8 sprints until I decided enough was enough and bitched about it and the team told me I had no choice. I eventually got them to push towards automating it but it's still in progress so I'm still running this dumb shit. The contractors try to take advantage of me any way they can by giving me mindless bitch work they don't want and they know I don't usually say no since I'm a jr resource. I hate running the fucking automation tumor. Sometimes I go into the meeting rooms alone to scream.
I feel like I'm wasting my life away and not learning as much as I could somewhere else10 -
Many of you who have a Windows computer may be familiar with robocopy, xcopy, or move.
These functions? Programs? Whatever they may be, were interesting to me because they were the first things that got me really into batch scripting in the first place.
What was really interesting to me was how I could run multiples of these scripts at a time.
<storytime>
It was warm Spring day in the year of 2007, and my Science teacher at the time needed a way to get files from the school computer to the hard-drive faster. The amount of time that the computer was suggesting was 2 hours. Far too long for her. I told her I’d build her something that could work faster than that. And so started the program would take up more of my time than the AI I had created back in 2009.
</storytime>
This program would scan the entirety of the computer's file system, and create an xcopy batch file for each of these directories. After parsing these files, it would then run all the batch files at once. Multithreading as it were? Looking back on it, the throughput probably wasn't any better than the default copying program windows already had, but the amount of time that it took was less. Instead of 2 hours to finish the task it took 45 minutes. My thought for justifying this program was that; instead of giving one man to do paperwork split the paperwork among many men. So, while a large file is being copied, many smaller files could be copied during that time.
After that day I really couldn't keep my hands off this program. As my knowledge of programming increased, so did my likelihood of editing a piece of the code in this program.
The surmountable amount of updates that this program has gone through is amazing. At version 6.25 it now sits as a standalone batch file. It used to consist of 6 files and however many xcopy batch files that it created for the file migration, now it's just 1 file and dirt simple to run, (well front-end, anyways, the back-end is a masterpiece of weirdness, honestly) it automates adding all the necessary directories and files. Oh, and the name is Latin for Imitate, figured it's a reasonable name for a copying program.
I was 14, so my creativity lacked in the naming department >_<1 -
I know it's not a story and also not a joke or meme but then also I want to share it because this gives me goose bumps
This photo won award for best photo and led the photographer into depression.
The cheetahs chased the mother deer and her 2 fawns(baby deers), the mother could've easily outrun cheetahs but instead she offered herself to cheetahs so that her kids can manage to run safety.
In this picture she is looking at her babies running safely as she is about to get torn into pieces.
She is about to get torn to pieces but she is dosen't look a bit hesitated.
That's mother for you!!42 -
I work as the entire I.T. department of a small business which products are web based, so naturally, I do tech support in said website directly to our clients.
It is normal that the first time a new client access our site they run into questions, but usually they never call again since it is an easy website.
There was an unlucky client which ran into unknown problems and blamed the server.
I couldn't determine the exact cause, but my assumption was a network error for a few seconds which made the site unavailable and the user tried to navigate the site through the navbar and exited the process he was doing. It goes without saying but he was very angry.
I assured him there was nothing wrong with the site, and told him that it would not be charged for this reason. Finally i told him that if he had the same problem, to let me know instead of trying to fix it himself.
The next time he used the site I received a WhatsApp message saying:
- there is something clearly wrong with the site... It has been doing this for so long!
And attached was a 10 second video which showed that he filled a form and never pressed send (my forms have small animations and text which indicates when the form is being send and error messages when an error occurs, usually not visible because the data they send is small and the whole process is quite fast)
To which I answer
- It seems that the form has not been send that's why it looks that way
- So... What an I supposed to do?
- click send
It took a while but the client replied
- ok
To this day I wonder how much time did the client stared at the form cursing the server. -
So I built one of them Auto GPTs using Open Assistant and Python.
Essentially I have two chat rooms with each representing a different agent and some python written to facilitate the api communication and share messages between those two. Each agent is primed with a simple personality description, expected output format and a goal. I used almost identical inputs for both.
It boils down to "You are an expert AI system called Bot1 created to build a simple RPG videogame in python using pygame."
So anyway, I made that, and let it run for a couple of iterations and the results are just stunning, but not for the reasons you might expect. The short story is that they both turned into project managers discussing everything and anything *except* the actual game or game ideas and in the end they didn't produce a single line of code, but they did manage to make sure the project is agile and has enough documentation xD.
Presumably I need to tinker around with their personalities more and specify more well defined goals for this to lead to anything even remotely useful, but that's besides the point. I just thought others might find the actual conversation as funny as I did and wanted to share the output.
Here's a pastebin of the absolute madness they went through: https://pastebin.com/0Eq44k6D
PS: I don't expect anyone to read the whole thing word for word. Just scroll to a random point and check out the general conversation while keeping in mind that not a single line of code was developed throughout the entire thing8 -
I dive in head first.
Some existing program annoys me, so I get this itch to write a selfhosted Spotify in Go, or a conky with 3D graphics in Rust.
I check the homepage of the language, download the tools, check which IDE is great for it.
Then I just start writing code, following the error corrections thrown by the IDE, doing web searches for all errors. Then when I run into a wall, I might check the reference docs or a udemy course.
Often I don't finish the project, because time is limited and I still have 4 million other things to do and learn, but at least I've learned a new language/tech.
Con: For tech which uses unique paradigms like Rust's memory management or Go's Goroutines, it can be frustrating to bash away at a problem using old assumptions.
Pro: By having a real demand for a product with requirements instead of a hello world or todo app, it's much easier to stay motivated, and you learn beyond what courses would teach you.5 -
I'm a student, so this isn't exactly the same.
I once created a Flask application for some coursework. It was basically an Instagram clone. Anyway, when it came to handling images and saving them, I used an import called ImageMagick. Now the issue is, it had to run in Levinux (which is shit). The problem was that ImageMagick was a Debian, and Levinux only used TCZ (Tiny Core Extension or something,) so I spent a literal three days trying to convert the library into a .tcz, only to find out that Flask's built in image manager worked perfectly and reduced my code by about 25%.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 -
Why the fuck does Apple hate developers so much? I just want to test and play around a bit. Why do I have to own a fucking Mac? Why do I need to pay 99$ a year just to install a debug build on my own device?! It's literally impossible to get into ios development without being rich or having some kind of plan for revenue...
Testing my app on Android:
Install Android studio -> plug in phone -> run code in Android Studio or simply install the resulting apk on your phone.
Trying to test my app on my iPad:
Google how to build app for iPad -> reading that you have to own a Mac to run xcode when you want to build Code for iOS -> searching for a workaround -> find a way to build my app online -> setting the tool and building it -> Trying out 5 different tools to sideload the app, no one works -> finding out that you need a developer account to sign the app for testing purposes on MY OWN DEVICE. I really would appreciate it if I would be able to install personal stuff for testing and LEARNING without being forced into insolvency. Why are people putting up with this kind of bullshit?18 -
So there was that paranoid schizophrenic person, a blonde girl with a buzz cut, and somehow she was a friend of mine. She used a Linux distro called “!!!!!!!!____!!!!!”, and convinced me it was the best distro out there. But the way she used it was… very specific.
She called me. She told me the new distro was out, this time it was called “!!!!!!!!!!!!!!!!!”, and _this_ was the best one. It finally allowed her to observe the area around her neighbourhood right from her PC, through some app, and make pits in the ground. It was done with a touchscreen of a Nintendo DSi connected to her PC with something that looked like an IDE cable. You touch the area of the screen, and the pit will appear outside IRL. This was needed to trap swine-looking creatures in those pits, as they infested the land and were attacking people in packs, turning them into dirty, greyish, half-transparent lumps of gel.
I went to see her, and somehow I knew exactly how it's going to end, as if I decided to replay a game level. She lived in a rotten, mouldy, dark, half-abandoned condo building. She was also a terrible hoarder. I approach the old wooden door of her flat. It was painted over 1000 times and was barely closing. She knew I would come. She rushed outside, looked at me with her moon-sized eyes, grabbed my arm and told me:
“We have to run.”
I felt a sudden crippling rush of anxiety. I woke up. My heart was absolutely racing. My sight became darker and darker. The chest pain was consuming me, and I could barely move. I almost vomited.
That was quite a night.8 -
Had a miserable evening yesterday. Me and my gf planned going out around 9pm to this movie with 2 other couples. Movie was kinda okay and we finished around midnight and went over to our apartment for drinks. We had lots of snacks and drinks ready, other couples brought some drinks.
Evening was kinda weird, guests were mainly just ranting about their work and household life and 2 hours in they started asking each other wether they should go home. In the end they left around 3am. I felt kinda defeated: some effort went into planning everything, and in the end I didnt feel much of a connection to them.
Maybe everyone was tired after a workday + late movie + drinks after the movie. But idk I expected more from people in late 20s. When planning we had two options: meeting on saturday or friday and they chose friday.
Anyways I guess either we are getting older or we just need to meet less often and more early in order not to run out of energy and stuff to talk about.7 -
I’ve been trying to use Debian without a graphical UI, at least for the most part. I use X window to run firefox since I feel that is the best way to browse. But simply using the terminal for almost everything feels so refreshing somehow.
I start to find these gems such as a music player for the terminal that works really well, my HOME area feels so clutter free and I feel like I finally can finely control and tune my system to a much larger extent. I’m coming from an extensively cluttered windows system so just seeing a few things makes me feel like I can finally focus.
For me it feels like I’ll have an easier time managing my projects by setting up github in a good way in HOME. I’ve been putting more time into my vimrc to make it better for my different workflows and general productivity (and for the sake of minimalism trying to keep it mostly to hand written stuff). I’ve also been looking into Lutris to be able to fire up games or use wine for other necessary tools that I might need during cowork with others.
Generally I believe that if this test works out I’ll truly consider to make this my main OS. The clutterlessness keeps me much more distraction free. The terminal environment make me read about and learn of new ways to do things. And most of the tools I use can either be used from command line, multiple ones with a multiplexer and in the case I truly need to use GUI or want to play a game I can just fire it up on demand.
*happy*
Do you guys have any distraction free OS or setups that you want to share? Anyone with a similar experience of revelation?9 -
My ex-boss who had 35 years of experience in IT Industry, didn't know one single fucking coding language, obviously had no clue about source control or anything even remotely related to computers, and had been project manager of a project having over 1 million lines of totally undocumented code split into 389 files with no apparent structuring. All variables were either alphabets or names of programmers who developed them.
Code was in Python 2 and had bugs/line ratio ~= 5.
He asked to write a 'wrapper' class and somehow run it in Java and fix all bugs automatically. (insert Shia LaBeouf's magic GIF here)
When I said it doesn't make sense, he said you should put in hard work and do it, and not give excuses.
Time given to do this - 1 hour :-P
Good thing I quit that shit place and that pathetic moron. Love my new job and life! :D
Seriously managers should trust their developers and allow some degree of freedom. It helps a lot.4 -
Why dont people trust you?
I was hired to be an SQL developer, I don't actually get to do much development, normally doing something involving copying and pasting in Excel.
Some of our databases were running slow and we noticed some (a few hundred) indexes were in shit state.
I knocked up a couple of scripts, one to reorganise indexes that were up to a certain amount of fragmentation and one to rebuild the indexes
My boss wants them tested (they were several times in dev) we've had these for over 3 weeks, but she doesn't want to run them.
Instead of fixing hundred of indexes she decided I should contrate on fixing some historic data issues that are preventing 10 indexes from being rebuilt.
Now there are serious issues and the CTO is asking why the indexes haven't been fixed.
I could have done this nearly a month ago, but now it's turned into a huge fucki g deal, and no doubt they'll try and push it back on me3 -
Want to make someone's life a misery? Here's how.
Don't base your tech stack on any prior knowledge or what's relevant to the problem.
Instead design it around all the latest trends and badges you want to put on your resume because they're frequent key words on job postings.
Once your data goes in, you'll never get it out again. At best you'll be teased with little crumbs of data but never the whole.
I know, here's a genius idea, instead of putting data into a normal data base then using a cache, lets put it all into the cache and by the way it's a volatile cache.
Here's an idea. For something as simple as a single log lets make it use a queue that goes into a queue that goes into another queue that goes into another queue all of which are black boxes. No rhyme of reason, queues are all the rage.
Have you tried: Lets use a new fangled tangle, trust me it's safe, INSERT BIG NAME HERE uses it.
Finally it all gets flushed down into this subterranean cunt of a sewerage system and good luck getting it all out again. It's like hell except it's all shitty instead of all fiery.
All I want is to export one table, a simple log table with a few GB to CSV or heck whatever generic format it supports, that's it.
So I run the export table to file command and off it goes only less than a minute later for timeout commands to start piling up until it aborts. WTF. So then I set the most obvious timeout setting in the client, no change, then another timeout setting on the client, no change, then i try to put it in the client configuration file, no change, then I set the timeout on the export query, no change, then finally I bump the timeouts in the server config, no change, then I find someone has downloaded it from both tucows and apt, but they're using the tucows version so its real config is in /dev/database.xml (don't even ask). I increase that from seconds to a minute, it's still timing out after a minute.
In the end I have to make my own and this involves working out how to parse non-standard binary formatted data structures. It's the umpteenth time I have had to do this.
These aren't some no name solutions and it really terrifies me. All this is doing is taking some access logs, store them in one place then index by timestamp. These things are all meant to be blazing fast but grep is often faster. How the hell is such a trivial thing turned into a series of one nightmare after another? Things that should take a few minutes take days of screwing around. I don't have access logs any more because I can't access them anymore.
The terror of this isn't that it's so awful, it's that all the little kiddies doing all this jazz for the first time and using all these shit wipe buzzword driven approaches have no fucking clue it's not meant to be this difficult. I'm replacing entire tens of thousands to million line enterprise systems with a few hundred lines of code that's faster, more reliable and better in virtually every measurable way time and time again.
This is constant. It's not one offender, it's not one project, it's not one company, it's not one developer, it's the industry standard. It's all over open source software and all over dev shops. Everything is exponentially becoming more bloated and difficult than it needs to be. I'm seeing people pull up a hundred cloud instances for things that'll be happy at home with a few minutes to a week's optimisation efforts. Queries that are N*N and only take a few minutes to turn to LOG(N) but instead people renting out a fucking off huge ass SQL cluster instead that not only costs gobs of money but takes a ton of time maintaining and configuring which isn't going to be done right either.
I think most people are bullshitting when they say they have impostor syndrome but when the trend in technology is to make every fucking little trivial thing a thousand times more complex than it has to be I can see how they'd feel that way. There's so bloody much you need to do that you don't need to do these days that you either can't get anything done right or the smallest thing takes an age.
I have no idea why some people put up with some of these appliances. If you bought a dish washer that made washing dishes even harder than it was before you'd return it to the store.
Every time I see the terms enterprise, fast, big data, scalable, cloud or anything of the like I bang my head on the table. One of these days I'm going to lose my fucking tits.10 -
Today was a manic-depressive kind of day. Spent the morning helping some developers with getting their code to run a stored procedure to drop old partitions, but it wasn't working on their end. It was a fairly simple proc. But working with partitions is a little like working with an array. I figured out that they were passing the wrong timestamp, and needed to add +1 to delete the right partition. Got that sorted out, and things were good. Lunch time.
After lunch I did some busy work, and then the PO comes up at about 2PM and says he's assigned some requests to me. The first was just attaching some scripts. Easy. The second, the user wants a couple of schemas exported ... at 6PM. I've been in the office since 6:45AM.
While I'm setting up some commands to run for the data export, a BA walks up and asks if I'm filling in for another DBA who is out for a few weeks. Yep. There's a change request that hasn't been assigned, and he normally does the work. I ask when it's due. Well, the pre-implementation was supposed to be done in the morning, but it wasn't, and we're in the implementation window ... half way through. I bring up the change task, and look at. Create new schema and users. That's all it says. The BA laughs. I tell I need more to go on. 10 minutes later he sends an email with the information. There's only two hours left in the window, and I can only use half of it, because the production guys have to their stuff, and we're in their window. Now I'm irritated, because I'm new to Oracle, and it's an unforgiving mistress. Fortunately, another DBA says he'll do it, so that we can get it done in time. But can't work it either, because Dev DBAs don't have access to QA, and the process required access for this task. Gets shelved until the access issue is resolved. It's now after 4:15PM. I'm going to in traffic with that 6PM deadline.
I manage to get home and to the computer by 5:45PM. Log in. Start VPN. Box pops on screen. Java needs to update. I chose skip update. Box pops up again. It won't let me log in until Java is current. Passed.
I finally get logged in, and it's 6:10PM. I'm late getting the job started. I pull up Putty and log into the first box, and paste my pre-prepared command in the command line and hit error. Command not found. I'm tired, so it's a moment to sink in. I don't have time for this.
I log into DBArtisan and pull up the first data base, use the wizard to set the job, and off it goes. Yay. Bring up the second database, and have enter the connect info. Host not found. Wut? Examine host name. Yep, it's correct. Try a different method. Host not found. Go back to Putty. Log in. Past string. Launch. Command not found. Now my brain is quitting on me. Why now? It's after 6:30PM. Fiddle with some settings, reset $Oracle home. Try again. Yay. It works. I'm done. It's after 7PM.
There is nothing like technology to snatch the euphoria of a success away from you. It's a love-hate thing, but I wouldn't trade it for anything else. I'm done. Good night.3 -
Day 2 in ComSci class (following my last rant)
"Okay, so! All of the schoolwork and homework will be done on paper and pen, submit and I will grade it. Only once, no second chance"
Okay. Okay. This went over my head. What are you gonna do? OCR the code into the compiler, compile it and run to see if we fucked up to give us an F? What are you, god? Here's a brilliant idea, teach them Assembly! Guaranteed error to give us Fs! FUCK YOU3 -
Running a fucking conda environment on windows (an update environment from the previous one that I normally use) gets to be a fucking pain in the fucking ass for no fucking reason.
First: Generate a new conda environment, for FUCKING SHITS AND GIGGLES, DO NOT SPECIFY THE PYTHON VERSION, just to see compatibility, this was an experiment, expected to fail.
Install tensorflow on said environment: It does not fucking work, not detecting cuda, the only requirement? To have the cuda dependencies installed, modified, and inside of the system path, check done, it works on 4 other fucking environments, so why not this one.
Still doesn't work, google around and found some thread on github (the errors) that has a way to fix it, do it that way, fucking magic, shit is fixed.
Very well, tensorflow is installed and detecting cuda, no biggie. HAD TO SWITCH TO PYHTHON 3,8 BECAUSE 3.9 WAS GIVING ISSUES FOR SOME UNKNOWN FUCKING REASON
Ok no problem, done.
Install jupyter lab, for which the first in all other 4 environments it works. Guess what a fuckload of errors upon executing the import of tensorflow. They go on a loop that does not fucking end.
The error: imPoRT eRrOr thE Dll waS noT loAdeD
Ok, fucking which one? who fucking knows.
I FUCKING HATE that the main language for this fucking bullshit is python. I guess the benefits of the repl, I do, but the python repl is fucking HORSESHIT compared to the one you get on: Lisp, Ruby and fucking even NODE in which error messages are still more fucking intelligent than those of fucking bullshit ass Python.
Personally? I am betting on Julia devising a smarter environment, it is a better language already, on a second note: If you are worried about A.I taking your job, don't, it requires a team of fucktards working around common basic system administration tasks to get this bullshit running in the first place.
My dream? Julia or Scala (fuck you) for a primary language in machine learning and AI, in which entire environments, with aaaaaaaaaall of the required dlls and dependencies can be downloaded and installed upon can just fucking run. A single directory structure in which shit just fucking works (reason why I like live environments like Smalltalk, but fuck you on that too) and just run your projects from there, without setting a bunch of bullshit from environment variables, cuda dlls installation phases and what not. Something that JUST FUCKING WORKS.
I.....fucking.....HATE the level of system administration required to run fucking anything nowadays, the reason why we had to create shit like devops jobs, for the sad fuckers that have to figure out environment configurations on a box just to run software.
Fuck me man development turned to shit, this is why go mod, node npm, php composer strict folder structure pipelines were created. Bitch all you want about npm, but if I can create a node_modules setting with all of the required dlls to run a project, even if this bitch weights 2.5GB for a project structure you bet your fucking ass that I would.
"YOU JUST DON'T KNOW WHAT YOU ARE DOING" YES I FUCKING DO and I will get this bullshit fixed, I will get it running just like I did the other 4 environments that I fucking use, for different versions of cuda and python and the dependency circle jerk BULLSHIT that I have to manage. But this "follow the guide and it will work, except when it does not and you are looking into obscure github errors" bullshit just takes away from valuable project time when you have a small dedicated group of developers and no sys admin or devops mastermind to resort to.
I have successfully deployed:
Java
Golang
Clojure
Python
Node
PHP
VB/C# .NET
C++
Rails
Django
Projects, and every single fucking time (save for .net, that shit just fucking works on a dedicated windows IIS server) the shit will not work with x..nT reasons. It fucking obliterates me how fucking annoying this bullshit is. And the reason why the ENTIRE FUCKING FIELD of computer science and software engineering is so fucking flawed.
But we can't all just run to simple windows bs in which we have documentation for everything. We have to spend countless hours on fucking Linux figuring shit out (fuck you also, I have been using Linux since I was 18, I am 30 now) for which graphical drivers for machine learning, cuda and whatTheFuckNot require all sorts of sys admin gymnasts to be used.
Y'all fucked up a long time ago. Smalltalk provided an all in one, easily rollable back to previous images, easily administered interfaces for this fileFuckery bullshit, and even though the JVM and the .NET environments did their best to hold shit down, and even though we had npm packages pulling the universe inside, or gomod compiling shit into one place NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO we had to do whatever the fuck we wanted to feel l337 and wanted.
Fuck all of you, fuck this field, fuck setting boxes for ML/AI and fuck every single OS in existence2 -
I'm not much a fan of JavaScript. In fact, I am not very fond of any dynamic language, but JavaScript is one of my least favorites.
But this isn't about that. I use NodeJS for all of my web serving. Why would I do that? Am I a masochist? Yes.
But this isn't about that. I use NodeJS because having the same language on client and server side is something that web has never really seen before, not in this scale. Something I really really love with NodeJS is socket connections. There's no JSON parsing, no annoying conversion of data types. You can get network data and use it AS IS. If you transmit over socket using JSON, as soon as that data arrives on the server, it is available to use. It gets me so hard.
JavaScript is built to be single-threaded, and this is rooted deep into the language. NodeJS knows this isn't gonna work. And while there's still no way to multi-thread, they still try their best and allow certain operations (Usually IO) to run async as if you were using ajax.
With modern versions of the language, the server and client side can share scripts! With the inclusion of the import keyword, for the first time I have ever seen, client and server can use the same fucking code. That is mindblowing.
Syntax is still fluffy and data types are still mushy but the ability to use the same language on both sides is respectable. Can't wait for WebASM to go mainstream and open this opportunity up to more languages!10 -
Mocking hardcoded data in frozen constants in Rails is such a fucking pain! Why must this be so difficult!?
asfdfakldsjfuck9 -
!rant
If you have software in production please have some way for a user to find some contact email (create for this reason only if needed.)
I have run into crippling bugs in huge essential systems (state dmv new system, the ticket system utility marking) which they were oblivious to until I went out of my way, like a stalker to get some contact of someone remotely related to someone I could drop this info in the lap of, and so far it was a total shock to them (the dmv system was taken offline for 3 days to resolve)
I get not wanting to run a helpdesk to support users, but give technical users some contact info ( even if you think you have full coverage analytics because, being software, it may have a bug)
/rant3 -
How I confused an Indian co-worker.
I noticed that his office desk was using a multi-outlet power strip connected to another one, and then one more after that, because the cable length was too short.
Me: pointing out that this is not allowed in our company.
Him: dafuq-look.
Me: yeah, electrical safety, we need to replace this. Gonna ask IT whether they have something (they did), replaced it.
Him: different dafuq-look.
Me: I guess that's the most German thing you've run into, right?
Him: uh, yes, but I can see the point. :)9 -
Hello everyone, first time ranter here! I have been studying Computer Science for 2 years starting September. The program introduced me to Java,HTML,CSS, JS and php. I feel like even though I am currently studying this I still do not "know" how to code. For example when I look at my classmates when they code it all seems so effortless and smooth, if they run into an issue they will usually solve it within the hour where as when I run into an issue I struggle to even see what the problem is. So the real point of this rant is, how do I improve? I am currently doing the #100daysofcode to get better but sometimes I feel so far away from calling myself a "developer" what is your road to the "developer" title? did you struggle as much as I am at the moment? or did you just sail into it like my classmates?14
-
Well, not 9 days into 2018 and my client has run out of money. This year is already off to a fantastic start. Now I need to find another paying gig before bills are due. Wish me luck!2
-
Start raising tickets/bugs like you were going to the doctors and things would get fixed a lot faster.
X page doesn't work.
Great information there what about the page isn't working?
Doesn't answer the question and gets pissy when you have to ask them again.
If this was a doctor's appointment all you would've done is walked into my office and yelled it hurts over and over.
Then proceeded to shit on my floor as you're leaving because I didn't diagnose the problem fast enough.
What were you trying to do when the system took a crap?
What did the red text say?
Can you take a screenshot? because the old saying a picture paints a thousand words holds some truth.
If you can go to the doctor and give them a full run down of when you got sick and what symptoms you got in the same order they happened why do you struggle to do the same when reporting a bug.4 -
tldr; devRant is great
My favorite part of devRant is I ask an opinion on a technology and so many people give me alternatives or ideas to look into and learn about instead. This is why I enjoy this community I'm always learning about new things i probably wouldn't have heard about otherwise. Or at least wouldn't have run into for a long while. Thank you all1 -
Dear fellow developers: Let's talk about the Internet. If you're reading this post, you've probably heard of it and are comfortable using it on a regular basis. You may even develop software that works over the internet, and that's fine and great! But you have to draw the line somewhere, and that line has been pushed farther and farther back as time goes on.
Let's talk about video games. The first game that really got me into FPSes was Team Fortress 2. Back in the day, it had a great community of casual and competitive groups alike, and there were hats! Underneath the hood was a massive number of servers. Some were officially hosted, some were run by independent communities. It had a built-in browser and central index where you could find every publically-available server and connect to it. You could even manually input connection details if that failed. In my opinion, this was a near-perfect combination of optimal user-experience and maximum freedom to run whatever the hell you wanted to. Even today, if Valve decided to stop hosting official servers, the smaller communities could still stay afloat. Fifteen years in the future, after all demand has died off, someone can still recover the server software and play a game with their kids.
Now, contrast that to a game like Overwatch. Also a very pivotal game in the FPS world, and much more modern, but what's the underlying difference in implementation? NO SUPPORT FOR SELF-HOSTED SERVERS. What does that mean when Blizzard decides to stop hosting its central servers? IT DIES. There will be no more multiplayer experience, not now, not ever. You will never be able to fully share this part of your history with future generations.
Another great example is the evolution of voice chat software. While I will agree that Discord revolutionized the market, it took away our freedom to run our own server on our own hardware. I used to run a Mumble server, now it has fallen out of use and I miss it so much.
Over time, client software has become more and more dependent on centrally-hosted services. Not many people will think about how this will impact the future usability of the product, and this will kill our code when it becomes legacy and the company decides to stop supporting it. We will have nothing to give to future generations; nobody will be able to run it in an emulator and fully re-experience it like we can do with older games and software.
This is one of the worst regressions of our time. Think about services like IRC, SMTP, SSH, even HTTP, how you're so easily able to connect to any server running those protocols and how the Internet would change if those were replaced with proprietary software that depended on a central service.
(Relevant talk (16:42): https://youtu.be/_e6BKJPnb5o?t=1002)6 -
so after several hours of irritated detective work, I've finally found out what is the thing that periodically, every about 10-15 seconds, starts two PowerShell processes which run for about a second or two and during that time take about 20% of my CPU capacity...
They're being launched from a commandline, to do GetPackages with name of OmenLightStudio, and the result is then piped into find.exe to find InstallLocation part.
...for whatever reason.
and this is done every 10 seconds by... *drumroll*
HP SYSTEM OPTIMIZER.
GOD. FUCKING. DAMMIT. YOU. MORONS.
...now only to find how the fuck do I uninstall that, since it's some plugin-ish kind of stuff for Omen Studio, and I can't find uninstall for it anywhere in the system nor Omen Studio itself...10 -
Childish thing really, and slightly related to my current job
Was working on a small pet project (it was a website really) back in college, and collaborating with another friend on it who lived in a different city. Had to show him my progress but he wasn't a programmer, just had to show him how much front end part is done and the functionalities till that time. Of course hosting it online was the best solution, but I was a student and broke.
So I got this python script caller pagekite which would make my laptop into a server for the duration I run the script. It ran but I couldn't manage to show him the site for days since I didn't know where it was connecting to. (No one had any docs on it back then)
Did some tinkering and saw that it connects to localhost, so I fired up my xampp server and it worked as I wanted it to :')
Since that day, I decided that I want to be a developer and learn and implement more of such things.
Moral: the smallest, insignificant things can sometimes give you the most happiness. -
Customer: I want to be included in any and all design and development meeting in the future.
Me: OK, I mean, I'm just one person so there's not formal meetings as such...
Customer: Nevertheless, I wish to be included and ensure my needs are met.
Some time passes.
Me: So, I'm thinking of swapping out the old Beanshell interface, cos, really... Interpreted, scriptable Java isn't great and most users don't want to write Java just to run some jobs. Could you help me with creating an API that fits you and your departments needs?
Customer: No, I'm way to busy to deal with this right now!
Me: And when would be convenient for you?
Customer: I don't know, just not now.
To this day, despite successfully integrating the rhino js engine into the app, part of the software I develop has a bean shell interface rather than js, Python or lua.
-_- I hate bean shell... -
According to my doctor and chiropracter I'm burned out right now.
But I'm not ready to throw in the towel just yet. But my concentration and productivty have been gone for a few weeks now.
I mainly work alone and I'm currently trying to complete 4 projects. But I just can't seem to get it done anymore.
I know that when I'm in my peak I would only need 2 weeks for it. But I have been trying for 2.5 months know and getting nowhere.
Not really where the problem originated but probably with the ever changing specs and my main client that hasn't paid in 5 months. But he accounts for 80% of my profits, but the internal politics of the coperate stuff is making stuff hard.
Not really sure how to go from here yet, need to finish this but can't focus. Can't hire someone since my reseveres are gone and I can't take a holiday and relax because of the money and the voice in my head that says you have to get this done.
But the feeling of wanting to work but not getting anything done, like walking into a mental wall. Makes me wanne run into a real wall head first. Stupid body listen to reason so we can go on a holiday and relax!3 -
So yesterday ended with me becoming a first responder in front of my house. Talk about a crazy day.
Guy sped up down my very short dead-end road and flipped a school van down the embankment. Thankfully there were no kids in the van and the driver was okay.
I've never had to run into the scene of an accident before, and what the brain does in a time of crisis like that is absolutely amazing.
Feeling everything but the immediate need drain away. It was like time was slowed. I took in all the information of the scene and somehow worked fast while also double-checking every action I did.
I remember hesitating for a moment, worried about what I'd see. School students on the back. Would I see injured or dead children? Body parts? I remember saying "Fuck it" and running down the embankment and that was about it.
So serious props to any of you who read this that also volunteer as EMT or fire/rescue. I've long considered doing that myself and I may very well step up now that I've had first-hand experience.
And now for the requisite joke: Usually I only have to help out when Windows crashes. :)1 -
I thought of posting this as a comment to @12bit float' post, but then decided it better goes out as a post by itself.
https://devrant.com/rants/5291843/...
My second employer, where I am on my last week of notice currently, is building a no code/low code tool.
Since this was my first job switch, I was in a dreamy phase and was super excited about this whole space. I indeed got to learn like crazy.
Upon joining, I realised that an ideal user persona for this product was a developer. Wow! No code tool for developer. sO cOoL...
We started building it and as obvious as it could get, the initial goal was adoption because we were still at top of the funnel.
We launched an alpha release shortly followed by a beta.
Nobody used it. Tech XLT/LT kept pushing product and design team to run a feature factory so that their teams can use this tool.
The culture set by those two leaders was toxic as fuck.
Now, I decided to do some research and some more product discovery to understand why folks were not using it. Mind you, we were not allowed to do any research and were forced to build based on opinions of those two monkeys.
Turns out that the devs were really happy with their existing tools and our tool was another tool being forcefully added into their toolbox by the said XLT/LT.
Not only that, even if they decide to use our tool, out of pressure, they still cannot because the product was missing key capabilities like audit control and promotion from one environment to another.
Building those would essentially mean reinventing Github aka version control and Spinnaker aka CI/CD pipeline.
My new boss (I got 3 managers in 4 months because of high attrition across levels due to the toxic culture), thinks that tech XLT/LT are doing great and we all suck as a product and design team.
He started driving things his own way without even understanding or settling down for first 90 days.
Lol, I put in my resignation got out of that mess.
So agreeing to what our boy said here, no code tools are a complete waste, especially for a developer, and even as a non tech person, I prefer keyboard over mouse.2 -
Another day, another shitty set of JIRA tickets.
In this week's edition, we run into an issue you'd think is a meme, something you couldn't even make up: three tickets with IDENTICAL titles, but miraculously, they actually refer to three DIFFERENT tasks! (Also comical, they're not bugs, they're tasks, but mouth breathers don't really know the difference, and at this point I just don't have the energy to attempt to explain what could be explained to elementary school children.)
I present a rare look into our national archives!
This document features two exhibits:
Exhibit A: product owner's original ticket titles
Exhibit B: translated-into-competency-because-i'm-not-mentally-deficient ticket titles
Just more proof that 'product owners' don't own shit, the devs are the real ones who actually know what is going on.
I mean just LOOK at Exhibit A's titles. As a big smart manager, do you write those tickets, smile, and say to yourself "Ah, yep, that's very clear, I'll definitely remember what each of these mean literally 5 seconds from now!"
Is asking for literally 30 seconds more of thought too much to ask for? Apparently.
Just kill me
Happy friday ☠️7 -
It's 5pm whooooo!
Let's quickly bash this last query out for the day - seeing as I should have finished an hour ago anyway.
Spin up VM, it's been inactive for 6 months.... yay, login... "incorrect password" tries again "incorrect password", did I forgot it... no it's been the same for years,
ok let's try again slowly,
ok logged in,
jump into mysql,
write up this query,
join this table, join that table, join this other table, and this other, and this one, hahaha, and this one over here... sweet it's been months and I still no my way around this maze!
And now for the moment of truth... run!
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
And bam, black screen, loading spinner, "Windows is updating"
NOoOooOooOooo!
Fuck it I'm out!rant i can't be bothered redoing that now you bitch spin me right round baby sql one last task windows8 -
First rant, technically a sysadmin but getting into the nitty-gritty of programming with some things to improve my job (and hopefully moving into something more technical).
Have been doing a paid internship at my utility company. I do patch management with SCCM and sometimes the updates break. I've been using Powershell to reset the Windows update cache to make the computers work again. Unfortunately, this sometimes involves logging into machines to do some manual work and I have to notify users before I log in if they're already logged in.
Scripts can be run silently but I've spent a few weeks trying to automatically retry Software Center updates with Powershell … before realizing just today that the system center action "Application Deployment Evaluation Cycle" does indeed do the thing I've been attempting to do with Powershell for weeks now.
Wish me luck as I automate that part of the process and completely automate the sole job they gave me to do. Don't tell on me!5 -
So I am finally plunging into continuous integration. If I make one more deploy script mistake, I've lost enough time to merit having learned a better solution than bash scripting calling git and rhc and py files I wrote. I have failing tests that are failing because they weren't updated after the million and a half urgent changes in the past 2 months, so it's time to act like I am a TDD fanatic and write the tests correctly. So much work. All from me listening to the constant req changes, listening to the urgency, letting non-devs get under my skin if you will. I'm optimistic in all the wrong places - I think I can write that by end of day let's try it. I'm lazy in the wrong places - I think that I can write that test later, because all I changed was XYZ (which took all night but I said I'd get it as close as possible didn't I?). And I think these handful of bash scripts are good enough to make sure I run tests? But remember, I didn't write the tests or I didn't go back and update them. Or the tests that fail, I'm too lazy. And so much of the tests, I would need to use, idk selenium for, and damnit if I really don't want to dig for element IDs to wait for every time I need an AJAX call.
Okay wow, I really did rant here. And discredited myself a bit lol I need to ignore the wrong lazy and embrace the right lazy. Protect myself from myself and from contributors. It really is, up to me now, to rescue myself from my bad habits. Bad habits perpetuated by clients urgency every day, to change things, that should have been finalized in November if we wanted a stable flipping system in January. It feels like the blind (client) leading the blind (me, when I do dumb shit like rush features out the door half tested).
Anyway all this came out, because I have been reading about continuous integration and stumbled upon this quote. And thought someone might laugh at the anachronism like I did2 -
I'm finally writing unit tests consistently thanks to a simple file organization decision.
I'm not doing pure TDD, but at least I'm writing the tests immediately after writing a module, and I make sure they run ok.
What I'm doing is Instead of putting the test files in a "tests" dir at the root of the project, I have the tests right next to the source code.
So if I have a dog.x file, I also have a dog.test.x file next to it.
I'm not inventing gunpowder here. I've seen several people do this.
But it's something that is not generally made a default or advised to do.
Like I said; test frameworks in general go with the classic "tests" dir.
But for me this is day and night in whether I write the tests or not.
Which makes sense. Imagine the classic scenario of the "tests" dir, and you just created a file deep into a hierarchy, let's say src/lib/console/windows/dog.x
This means that if you want to write tests for that, you need to make sure the hierarchy tests/lib/console/windows/dog.test.x exists
If the test file already exists, but you want to access both files, you need to traverse deep for each.
Also, it's actually harder to keep track which files have unit tests and which do not.
Meanwhile, if the test files are next to the source, all these problems disappear.
That doesn't mean there are no other challenges with testing, like testing untestable things, like system calls or http requests, but there are ways to deal with that. -
I’m so sick and tired of the cattle-minded people in the software world. I love coding and improving myself; I've got over 18 years of experience. I enjoy what I do, and I like being good at it. I know my way around a variety of different technologies, and I could easily outperform most engineers with similar experience. If I don’t know something, I get excited to learn and I ask questions. I don’t enjoy standing in the spotlight about what I know; I prefer supporting, helping, solving problems, improving solutions, and simplifying everything.
From my experience, the best solution is the simplest, shortest, fastest, and leanest one. But unfortunately, there are people in the workplace who think the opposite of me and blindly follow this so-called prophet named Uncle Bob, zealously writing all his SOLID principles and dogmatic code, turning their work environments into a toxic mess. I’m so done with it. You have no idea how harmful a person can be when they cling to the teachings of a guy like Uncle Bob—someone who probably hasn't even written the "s" in software himself and is just trying to sell his book. In almost every job or team I join, there’s one of these people who drags junior developers into writing dogmatic code by chanting about SOLID principles, Uncle Bob, and object-oriented programming.
Software engineering isn’t something you can learn from a book written by people like Uncle Bob, who haven’t coded a decent product in a real development process. Experience is something entirely different, and from my experience, everything taken to extremes turns out badly. Wherever I see an Uncle Bob disciple, the work inevitably slides into the extremes. For someone writing in C and C++, it’s disheartening to hear about object-oriented programming, SOLID principles, and agile nonsense. I’m tired of seeing people cluttering their code with interfaces for every little thing, over-engineering patterns, and stuffing every piece of code with interfaces to make it “testable.” They run around claiming they’re writing SOLID code, doing TDD, following “best practices,” yet they can't solve any real problems or algorithms. They take a week-long task and drag it out to six, making simple things complex and distancing themselves from real solutions. I’m sick of these types.
If you’re a junior developer, please ignore the fools trying to lead you down this path, and don’t become dogmatic about what you learn, especially if you’re writing C++.
I’ve never seen any real engineer who takes this SOLID, object-oriented nonsense seriously. Believe me, once you reach a certain threshold, you won’t hear these words anymore. Software isn’t just about that. Object-oriented programming, especially if you’re not writing Java or C#, and especially if you’re working in C++ (thankfully, C doesn’t even have it), is something you should definitely steer clear of. Robert C. Martin, aka Uncle Bob—if only you had written your book with a focus on Java or C#. These dogmatic code writers with 7-8 years of experience crying at the sight of free functions in C++ really give me a headache. Because of you, these people exist, and I don’t have the energy to deal with this nonsense at my age.rant agile uncle bob object oriented solid c dogmatic code oop solid principles c++ tdd robert.c martin7 -
Around a week ago I asked my mentor(lecturers friendly sidekick buddy 'o pal) if in iOS dev(the very next subject) I could virtualize, rent in cloud or run a hackintosh instead of buying a Mac. My mentor sounded enthusiastic and asked the lecturer of the next subject, who promptly said no, he did not support or recommend students who tried any of these approaches because in the past he had encountered students who have run into performance issues and we're unable to compile some things. Most likely those students were unable to setup GPU passthrough and whatnot.
However this is the exact point of a VM. It's exactly the same as if you had a real Mac. I believe this is just them being lazy. Tbh, this is an IT course they should be writing guides on how to do virtualisation, not preventing it.
Looks like I'm headed to the Apple store :(4 -
Earlier this day, I was about to start a new project. So I copied my favourite gulpfile.js into that projects root and installed all dependencies with npm. After running Gulp for the first time it threw an error.
Silly me tried to fix stuff and got googling the error and trying random things... After a break of a few hours I just fucking rerun Gulp and read the fucking error completely. It stood there. The fucking solution just stood there, run "npm blah --force" to reconfigure package blah....
Of course it worked right away and I finally could start working. But this shit took way too long. Why I just can't read the fucking error message. Damn -
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 -
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 -
I have finally decided to stop helping people setup a proper machine learning environment inside of their machines with Proper GPU support.
I-fucking-give-up.
Goggle Colab, EVERYONE is getting dey ass sent to Colab. I DON'T GIVE A FUCK about privacy and shit like that at this fucking moment, getting TIRED af of getting messages about someone somehow fucking up their CUDA installation, and/or their entire machine (had one dude trying to run native GPU support through WSL 2, their machine did not have the windows update version 2004 and he has on an older build, upon update he fucked everything up EVEN THOUGH I TOLD HIM NOT TO DO IT YET)
.......fuck it, I am sending everyone to Colab. YES I UNDERSTAND THAT PRIVACY IS A THING and Goggle bad and all that jazz......but if you believe in Roko's Basilisk then I AM DOING THEM A FAVOR
I work hard to get our robot overlords into function, let it be known here, I support our robot overlords and will do as much as possible to bring them to life and have me own 2b big tiddy with a nice ass android.
I should also mention that I've had a few drinks on me already and keep getting these messages.5 -
“We mob every thing so that means we don’t need pull requests, because by the time the code is committed it’s had plenty of pairs of eyes on it”
Well, I beg to differ.
Today I read through some of this spaghetti mobbed code to look into a performance issue. Wasn’t supposed to but bored stiff so I ‘went dark’ and did it without the mob.
After about an hour I figured out it runs a few lines of dubious code and if there’s an error it tries many times over with an exponential back off.
And each run of the methods will fail for sure because of how it’s written.
Someone must’ve seen this problem but instead of realising it can never work, they’ve wrapped it in retries and back offs.
So many back offs and retries that it just sits there doing this for 25 minutes.
But yeah. The mobbing works great guys, keep churning out this quality code. 😂😂😂
Can’t wait to see the back of this joke job.4 -
Fuckin RAZER. Part 2. "SOLVED!!!"
This will be both a rant and a shout out.
Firslty, fuck RAZER. I don't who in the actual fuck makes the software for these peripherals, but while the hardware is decent the entire software team should be tarred and fucking feathered. Just beaten bloody with a rubber hose. And then publicly paraded and shamed through whatever backwater shithole they call home all while their mothers look on crying their eyes out.
Anyway, some of you may be familiar with my Razer peripherals on Mac saga.
To refresh your memories... I got 4 razer devices for my b-day from my wife. I was very stoked. They work great on Windows 10. They work for shit on Mac and the software to manage their colors, Synergy 3, is not available on Mac, and the version that is, Synergy 2, basically does not work and hasn't worked for like two years and would only work for two of these peripherals anyway and it would appear Razer does not give a shit. Fuck.
Ok, we caught up? Good.
In our last episode I ran up a full Windows 10 VM AND a full Debian VM just so I could jumpstart these god damn peripherals into a solid color.
Why so much work?
Because by default they rotate the color spectum fucking SEPARATELY... so it's just a god awful mess of rando RGB.
So, by running Synergy 3 on the Windows side, and then an open source package called Poloychromatic on the Debian side I was able to patch together preferences through the two programs... and I found quitting out of them hard kept the keyboard, mouse, mousemat, and dock color settings until the next reboot while working on my Mac.
For WEEKS I WENT THROUGH THIS FUCKING PROCESS AT EVERY REBOOT.
Reboot. Run up Windows 10 VM, update Synergy 3, log into Synergy 3, Open Synergy 3, Wait like 90 seconds, Synergy 3 finally fucking gets ahold of my mouse pad, mouse, and dock (not the keyboard).
Run up Debian VM (at least its fast), start polychromatic, set the keyboard solid color.
Then quit them both and my colors are set until reboot.. This is, for lack of a better turn of phrase, the most fucking ridiculous thing ever.
I had to do a 400 fucking megabyte update today for the Synergy 3 software that lives INSIDE my god damn VM. A VM only created in the first damn place to run synergy 3 and then fucking die. And it put me over the edge.
I committed to finding a better way this evening. I started looking into trying to port polychromatic to macOS my god damn self only to find this badass mother fucking kid Ken Chen wrote a whole god damn macOS package and put it up on GitHub.
Fuck fucking YEEEEEESSSS!!!
So thanks to Ken Chen, a student from Australia with 12 Github followers, who was single handedly able to write a better software product than the entire fucking team at SHIT FOR BRAINS fucking Razer.
https://github.com/1kc/razer-macos4 -
Today, in the course of my job, I said...
FFS. I HATE WINDOWS.
It has begun.
Took me five minutes to ssh into the Linux EC2 and get the Jenkins agent installed, configured, and running. Half a fucking hour for Windows Server 2012.
1) Can't ssh to it, so I connect via AWS console... Which means I have to install MS Remote Desktop. WHATEVER. FINE. It's not like ssh is quick and easy or anything.
2) Can't just use the command line, run the .jar &, cntl-z, and bg then log off. Noooo. I have to install the unpacked binaries as a fucking SERVICE. FINE. WHATEVER.
I'm so glad we have a Windows guy that does most of this shit. I can't stand it.1 -
Many years ago, when I moved from a semi-experienced developer to an absolute beginner project manager at another company, my very first project was an absolute clusterfuck.
The customer basically wanted to scrape signups to their EventBrite events into their CRM system. The fuckery began before the project even started, when I was told my management that we HAD to use BizTalk. It didn't matter that we had zero experience with BizTalk, or that using BizTalk for this particular project was like using a stealth bomber to go down to the shops for a bottle of tequila (that's one for fans of Last Man on Earth). It's designed to be used by an experienced team of developers, not a small inexperienced 1-person dev team I had. The reason was for bullshit political reasons which I wasn't really made clear on (I suspect that our sales team sold it to them for a bazillion pounds, and they weren't using it for anything, so we had to justify us selling it to them by doing SOMETHING with it). And because this was literally my first project, I was young and not confident at all, and I wanted to be the guy who just got shit done, I didn't argue.
Inevitably, the project was a turd. It went waaay over budget and time, and didn't work very well. I remember one morning on my way to work seriously considering ploughing my car into a ditch, so that I had a good excuse not to go into work and face that bullshit project.
The good thing is that I learned a lot from that. I decided that kind of fuckery was never going to happen again.
A few months later I had an initial meeting with a potential customer (who I was told would be a great customer to have for bullshit political reasons) - I forget the details but they essentially wanted to build a platform for academic researchers to store data, process it using data processing plugins which they could buy, and commersialise it somehow. There were so many reasons why this was a terrible idea, but when they said that they were dead set on using SharePoint (SharePoint!!!) as the base of the platform, I remembered my first project and what happened.
I politely explained my technical and business concerns over the idea, and reasons why SharePoint was not a good fit (with diagrams and everything), suggested a completely different technology stack, and scheduled another meeting so they could absorb what I had said and revisit. I went to my sales and head of development and basically told them to run. Run fast, and run far, because it won't work, these guys are having some kind of fever dream, it's a clusterfuck in the making, and for some reason they won't consider not using SP.
I never heard from them again, so I assume we dropped them as a potential client. It felt amazing. I think that was the single best thing I did for that company.
Moral of the story: when technology decisions are made which you know are wrong, don't be afraid to stand up and explain why.3 -
Request I saw today...
* A new, empty AWS Account
* The ability to run 120 high memory EC2 instances, including up to 80 instances of dl1.24xlarge, but don't worry, 40 of them will be spot instances. I'll probably just start with two m5.xlarge for simplicity.
* VPC Peering into our primary AWS network
* VPC Peering into a 3rd party's network (because we're paying them for this service)
* A couple cross-acount IAM roles
* Granting "AWS: AdministratorAccess" to said IAM roles
I'm a bit behind schedule, and this is urgent. When will you have this completed?2 -
First !rant. I'm working on a 2d game using Game Maker at school and I just wounder if putting constants up this way makes you cringe. Is there a better way? This code is only run when switching to a weapon and he values can be put into the shooting script itself. I just want to know how you put in mass constants in general coding or even at all.6
-
"Don't fall for the hype. A lot of ideas, groups and methodologies are basically cults trying to advertise their consulting services. While I have no problem with that, just remember that when you run into one of these guys and they are quick to shit on the alternatives to their way (and those who built them) to always be very suspicious."
Context:
We had the opportunity to meet 2 very bright people who were heads of their respective communities in a similar area. They were both talking a lot of shit, and getting kinda harsh.
A brilliant dev I worked with, who knew both people for years, took me aside and told me this.
Some cults have cool shit, just don't drink the kool-aid -
@dfox (this might not be the correct way to tag here, but we'll see once I post)
A few suggestions:
1. Being able to move between day, month etc. by swiping left or right
2. A web interface (to rant from a laptop/desktop)
3. Link "framing" (a-la WhatsApp, messenger, where links get a frame with a picture and description)
4. basic markdown (bold, quotes, etc. a-la Reddit. this might exist but I haven't run into it, and if it does maybe a preview window for the result would be helpful)
Really like the app, cheers!12 -
The primary concept of reactive programming is great. The idea that things just naturally re-run when anything they rely on is changed is amazing. Really, I think it's the next step in programming language development and within a decade or two at least one of the top 5 programming languages will be built entirely on this principle.
BUT
Expecting every dependency to be used unconditionally is stupid. Code that checks everything it might need all the time even if a decision can be made from much less information is simply bad, inefficient code. If you want to build a list of dependencies automatically, you have to parse the source.
And I really hate that there are TONS of languages that either make the AST readable at runtime or ship with a very powerful preprocessor that could be used to analyse expressions and build dependency lists, but by its sheer popularity the language we're trying to knead into something it was never and still isn't meant to be is JavaScript.3 -
So for a while I have wanted to build a raspberry pi cluster. In the spirit of shia labeouf I got started last saturday.
I had two pies lying around so I figured I'd run some experiments before I invested in a lot of hardware. After about a day I had turned the two pies into a shared cluster when disaster struck....
I had completely ignored the fact that you cannot run 32 or 64bit software on an arm processor (I know... I'm a java developer). So when I booted my service and the load balancer, I found that nothing worked. So pretty bumbed out, I quit the project.
Later that day I found a crazy guy who had bought a batch of 400 small form factor PSUs (300W) and internally I laughed at him a little. I mean, who's gonna sell 300W irregular power supplies. Then, just as I was about to go to bed I found this guy, he was selling from a batch of CPU-onboard motherboard for 10 bucks each and everything clicked!
I did some quick calculations and decided I could probably gather enough cash to get: 10 motherboards, 10 2GB ram dimms, 10 Sata disks and 14 PSU (in case some fail) and some misc hardware for networking and such.
So... Long story short, I am going to build a cluster computer, the first version is going to have 10 nodes and I am waiting for delivery right now!12 -
It's funny how you start feeling bad for the next dev taking over your project because it turned into a total spaghetti code shit show that will be impossible to maintain in the future with new features coming in.
Honestly... if a projects starts out with a certain scope which then gets extended EVERY FUCKING WEEK with requirements that can't even be met in the initial timeframe it's no wonder the code quality will decrease over time.
This just reminds me daily how important good project management (and I'm not talking about suit wearing pain-in-the-ass-managers) and the inclusion of devs in the planning process really is.
It's so fucking crazy that companies run like that with people up front that have NO FUCKING CLUE what they are doing, nor do they understand the mechanics, tech and effort that go into certain features. They're like "beep, boop, it's done by Friday you fuck!".
The funniest part of this stupid charade is that the closer we get to a new "deadline" (we will not meet the deadline anyways) the more nervous the "managers" get. WHY didn't you properly plan this shit in the first place? WHY didn't you care for the last six months where all this fucking bullshit could still have been prevented?
Meanwhile I'm just so sick and tired of this shitty project and this sucky company that I just don't have any motivation left to keep on working. It's so fucking hard and painful to work on projects that suck ass, are poorly designed. I just got to the point where coding is no fun any more. Thank god I'm out of here soon... fml5 -
Whenever I see job postings with salaries this low I always wonder exactly what's going through the minds of the people running the company.
Who in their right mind would want to spend 4+ years working hard on a CS degree only to be offered less than what the average retail manager earns? I barely afford a 1 bed flat share on this salary in my part of the country...
I'm starting to run into more and more job adverts like this. Why are companies working so hard to rip of graduates?13 -
"Suggest an AV/AM product, Avast refuses to install."
I do malware research as a hobby and have for a while, so I can generally spot when something's up before I even run a program. If i'm unsure about it (or know something's up and wanna see its effects for S&Gs) I throw it into one of a variety of VMs, each with a prepped, clean, standardized "testing" state.
I see no point to AV/AM products, especially as they annoy me more than anything since they can't be told not to reach into and protect VMs (thereby dirtying up my VM state, my research, crashing the VM hypervisor and generally being *really* annoying) and they like to erase samples from a *read-only, MOUNTED* VHDX.
However, normal people need them, so I usually suggest this list:
• MBAM is good and has a (relatively) low memory footprint, but doesn't have free realtime protection.
• Avast is very good as it picks up a lot, but it eats a FUCKTON of resources. It also *really* likes to crash VM hypervisors if it sees anything odd in them.
• AVG is garbage. Kill it with fire.
• Using Windows Defender is like trying to block the rain with an umbrella made of 1-ply toilet paper.
• herdProtect is amazing as it's basically a VirusTotal client but it's web-based and not currently available to be downloaded. (Existing copies still work!)
• Kaspersky. Yes, it spied on US gov't workers. No, they don't care about anyone BUT US gov't workers. Yes, it's pretty good.
• BitDefender: *sees steam game* "Is this ransomware?"
hope this helps10 -
I'm getting beat up pretty bad by Rust. I like it so far but man is it hard. Imposter-syndrome is almost making me lose motivation. Almost, but I won't quit, one day I'll get there.
I think the primary reason I think I'm having such a hard time is that I'm trying to learn stuff that prevents me from making some mistakes that I have never run into. I know a bit of the theory but no hand's on experience on double-free errors, memory leaks and weird low-level stuff. I read the documentation, mostly understand what stuff is for but when I go write code I'm just like "now what?". I don't have enough experience to know when and where to use some concepts and I'm super lost. I don't know where to start and the feeling of being completely overwhelmed by all sorts of new stuff is at the same time exciting and frightening.
I have never, as a programmer, thought something was hard. All of my past knowledge required dedication, work and patience, but I wouldn't say I ever felt something was *hard*. But Rust... damn. Rust is hard.
Hopefully at the end of this super steep learning curve I'll know a lot more stuff and have stronger "dev powers" and be one step closer to being as knowledgeable as some of you guys around here to whom I look up to.2 -
As someone who uses UNIX and UNIX-like systems on a daily basis, and someone dealing with computer support in a school, I experience so, so many issues, many of which others have already ranted about.
For no reason at all, I find it incredibly frustrating how many high school students' understanding of sudo is limited to this:
Student: Hey, isn't sudo the minecraft command
Me: Erm
Student: You know, the one skeppy uses... to troll players? Anyway, you're doing it wrong. There should be a slash before you run the command
Me: aaargh.
and so on. Happens probably every 10th time I invoke sudo.
I mean, really? Surely these kids, with all their complaints and lines: hacking into the mainframe/whats the admin password/why did you block my VPN/ and so on, would know what sudo is. But NO, they just don't seem to get it. Sometimes I lose my hope in the futures of these kids.5 -
Going into uni, the first thing I did (like many others) was to join an on campus organization (club/group). I made the choice of joining my unis publication. Little did I know 2 years ago that I had just joined the top most student magazine in this country. (Literally).
Honestly, I was excited. I was the first web developer that qualified that year, and within a year I was able to claim my position as the senior developer. It had been an uphill climb all the way, I was able to redesign the entire website and implement an insane amount of features as well as add both iOS and Android apps to the list of things I had done in a year.
I had loved everything I did, only when I was given my new position as senior dev did I see the reality of being in this magazine.. it's in total chaos. Every year we elect new editorial members (as old ones graduate) however the new ones have no idea how to run the magazine, they have literally declared that were in crisis mode. Being in an art school were all about creativity, and honestly, there is nothing creative about our magazine anymore.
Suddenly after two years I feel that my work no longer matters to them anymore. I have thought about quiting a million times now but they would take away my grant if I did (we get a subsidy for working for the magazine). I have two more years and I feel like absolute shit being in this magazine, my work is never credited and I am never mentioned either! While I am the reason they have a face on the internet, they never once have credited me. I don't feel like I belong in the team anymore. I feel like they only have me there is because they can't find a replacement nearly as good. (I'm sorry but I consider myself the best.)1 -
After all those years, I finally understood what makes Half-Life 2 so immersive.
From the very beginning, as the game teaches you things about itself, you discover that every model is made with you in mind. The barrel is just tall enough to jump on it, but not taller. The big crate's size is calculated precisely for you to jump onto it from a small crate. Ladders are comfortable for you to climb on. Everything in this game world designed around you, the human.
…except for combine constructions.
They're awkward to walk around. You keep lowkey clipping into them. Half-transparent armor fence looks like you can jump over it, but you can't. It's just a bit taller than that, on purpose. Combine towers are hard to climb onto. You keep bumping into things. Once you locate the ladder and climb all the way up, you bump your head into the ceiling. You don't have much room for movement on top. Combine walls have an inconclusive, uncomfortable physics model that is very annoying to interact with. If you run into it and jump, you clip into it just enough to stop your movement instantly.
This hammers in the message — combines aren't human. Their constructions aren't meant for humans. This was my biggest discovery the last time I played Half-Life 2.
HL2 is a strong contender to be my favorite game of all time.11 -
Warning long rambling story cause sleep deprivation
I never really bothered with ssh outside of using putty to remote into my servers and rpi's from my desktop to run updates, install something, or whatever else.
But today I was on a call with my cousin bored cause she was just rambling, so I opened vscode to clean my install of unnecessary extensions I installed and haven't used more than once or twice.
I saw Remote - SSH and as I was bored listening to a teenager complain about high school just like I used to (lol) and responding when she asked me something. I scrolled through the page, then the documentation just casually skimming the text
I setup an ssh key on an rpi I threw manjaro arm following the instructions on their tips and tricks page
I then moved the key to my desktop using winscp (cause lazy)
leading to having a minor hicup of rsa not being an accepted keytype (thanks 'your favorite search engine' for the help)
Finally, I was able to connect using the private key
at this point my cousin went to bed cause she has school tomorrow. But I was still doing stuff with ssh, I created a new ssh connection in VSCode, but had to go to the documentation to figure out how to make it use my fancy new key file, not hard took 30 seconds of looking to get it working.
Now that I was in, I moved to my development folder, created a folder for PiHole, created a compose yml, created a pihole-data folder.
I opened the yml and pasted in a compose from dockerhub.
at this point I thought 'i can't just run this from terminal can I'. and Obviously it worked cause there's literally no reason it wouldn't I'm just stupid to think it might not.
So I created folders and files on a remote system, launched a docker container, checked for package updates after on a linux machine. All from VS-Code on a windows machine.
I know this is simple for some people, i know some people are like 'where's the interesting part'. but ehhh I thought it was cool to get it setup, I now really regret not getting into ssh sooner, and I'm definitely going to uninstall vscode on all my smaller graphical VM's in favor of doing this. and this will definitely help with my headless vm's.
I also will have to thank my cousin, might not have done this if I wasn't stuck at my computer on messenger call with her lol
I'm gonna go to bed now, But I feel accomplished for the first time in a while even if it's for something so simple as setting up anssh key for the first time3 -
Proxmox team, go fuck yourselves.
Now I'm sure that I'll receive a lot of flack for this, but hear me out.
I've tried Proxmox and was quite pleased with its web UI. But I hate how much it locks me into their own little ecosystem.
I want to use btrfs on my drives. Why is this impossible, yet the hack that is ZoL is your obvious alternative? An alternative wherein I can't even compile and run my own kernel, because then ZoL suddenly fails? And don't you tell me to compile your stock config, when it's well over 15GB large in your source tree.
Proxmox is literally the MacOS of Linux distributions. Which was even more so made clear by me being called an idiot by possibly wanting to run Same on the PVE host. Because why on Earth would sysadmins want to?! Why on Earth would sysadmins be competent for wanting to?!!
You know what? I'll just convert those Proxmox servers to Arch and say fuck you to all the bells and whistles that's Proxmox' web UI. Because at least Arch allows me to make my own fucking choices, limited only by what's supported by the Linux operating system.
Perhaps Proxmox will consider btrfs stable in 2021. Because you know, despite it being stable today in 2018, Debian and Proxmox alike live 3 years in the past, i.e. 2015. I hate the Debian ecosystem because of that, but boy do I hate Proxmox even more so. Bloody fucking piece of shit it is!!! 😡6 -
* Developing a new "My pages" NBV offer/order solution for customer
_Thursday
Customer: Are we ready for testing?
Me: Almost, we need to receive the SSL cert and then do a full test run to see if your sales services get the orders correctly. At this point, all orders made via this flow are tagged so they will not be sent to the Sales services. We also still need to implement the tracking to see who has been exposed to what in My Pages.
Customer: Ok, great!
_Friday
Customer: My web team needs these customers to have fake offers on them, to validate the layout and content
Me: Ok, my colleague can fix this by Tuesday - he has all the other things with higher prio from you to complete first
Customer: Ok! Good!
_Sunday
Me: Good news, got the SSL cert installed and have verified the flow from my side. Now you need to verify the full flow from your side.
Customer: Ok! Great! Will do.
_Monday
*quiet*
_Tuesday
Customer: Can you see how things are going? Any good news?
Me: ???
*looks into the system*
WTF!?!
- Have you set this into production on your side? We are not finished with the implementation on our side!
Customer: Oh, sorry - well, it looked fine when we tested with the test links you sent (3 weeks ago)
Me: But did you make a complete test run, and make sure that Sales services got the order?
Customer: Oh, no they didn't receive anything - but we thought that was just because of it being a test link
Me: Seriously - you didn't read what i wrote last Thursday?
Customer: ...
Me: Ok, so what happens if something goes wrong - who get's blamed?
Customer: ...
Me: FML!!!2 -
Just gonna leave this here because I am too lazy to write a proper article for my website:
If anyone is trying to create a Vue.js website with Node.js backend do NOT use express-vue, it is unnecessarily complicated and broken. Instead use this method I found.
You will need:
- IntelliJ IDEA / WebStorm / other IDE supporting multiple modules per project and tasks
- Nodejs and npm
- vue-cli
Step by step:
1. Create new empty project
2. Add your frontend module using vue-cli generator
3. Add your backend module using Express generator
4. Run npm build in your frontend module once
5. Move or remove public folder in your backend module
6. Create a symlink from your backend module root called public pointing to dist folder in your frontend module root
7. Make sure to add "Run npm build" from frontend module to your "bin/www" task (default task for Express module)
8. Enjoy developing your REST API in Node/Express and your frontend in Vue.js with single-file components and it being served by the same server that is providing the backend.
(Since they are separate modules and you are not mixing webpack and Node/Express you can add ts-loader, stylus-loader, pug-loader or any other loaders without screwing anything up)
For deployment you just need to copy the contents of dist into public on the server. (and not upload the symlink)6 -
I don't know if this is exactly a rant. But - I am sure somewhere out there has run into this situation before.
I've been a developer (professionally) for a 3 years. And in that time I've stayed with that same company.
Over that time its become incredibly apparent that my boss (senior developer) isn't exactly keen on new technologies, source control (I had to push hard for this. And even then he doesn't use it properly), or any kind of project management. It's only he and I.
I've started interviewing other places and while I have no problems answering their technical questions. I'm worried my lack of experience in a team is becoming a problem.
We don't work on projects together. We don't do code reviews. He does not ask my opinion on anything. We are basically two separate teams. I want to improve as a developer. I love the rest of the company and I enjoy what I'm working on. I just feel I'm hindering my growth as a developer.
Anyone have any advice? I know I can find a project to contribute to on github or something. But honestly that's intimidating to me for some reason. I am self taught. And don't have any experience in working with teams.4 -
Weeks ago, a change went into production. For some reason, we can't implement our own changes or create new databases in production, we have to have a whole different department do it. This would be great except for one thing:
THEY CAN'T THINK FOR THEMSELVES. I've had to tell them how to run scripts I wrote. I've had to tell them how to fix problems that arise.
Back to that script ran three weeks ago or so. It didn't add permissions to allow me, the system and application developer to see the stored procedure, much less run it. Application can't run it. Thankfully the application works without it.
Fast forward to tonight. My change that I'm attempting to implement is the creation of the stored procedure, because nothing could see it, I assumed it didn't exist... reasonable, right? Database folks tells me it exists. They then tell me they can't give me nor the application permissions because it doesn't ask for it in the change plan.
Excuse me.... WHAT FUCKING WORLD DOES IT MAKE SENSE TO CREATE SOMETHING AND HIDE IT FROM THE CREATOR LET ALONE THE APPLICATION SO IT CAN'T USE IT?! FUCKING THINK. WHY WOULD I WASTE MY FUCKING TIME TO TALK TO YOU OFFSHORE PIECES OF SHIT AT 10PM WHEN I'D RATHER PLAY VIDEO GAMES.
I'm so fucking done with enterprises. Someone with reasonable job security at a startup, please hire me. You will probably pay me more fucking money than this company does anyway.
Now on to my second change of the night. Thankfully I don't have to rely on anyone outside of me... so I won't be wasting my fucking time. -
Fed up with f@_#-$&@_ Microsoft bullshit, computer refused to install IIS without a reboot first. Rebooted, got bluescreen with some error like APC_Index mismatch since it was hooked up to an external monitor (this has happened before, but only when booting into Windows, not Ubuntu), god knows why now since it was hooked up to same monitor before reboot and worked just fine. All this because some stupid school related task requires Visual Studio and a web project-solution that takes ages to run/debug which I would rather build and devug through attaching remote debugger to the running IIS-process. Instead I get into a boot-loop when the screen is connected, and when I connect the screen after a normal boot it restarts itself. Why is it always like this? Most of the time is spent just to setup the environment or making Windows work. F#&#_ this and the assignment, goodnight.1
-
Struggling
Started a new job not super long ago with the intention of "learning new tech" and so I get my wish, I'm thrown into a project as the LEAD ENGINEER
And my junior dev proceeds to run circles around me and I know literally nothing about what is going on in this project aside from the architectural / feature planning discussions I've had with marketing/junior
I've been trying to learn vuejs for what seems like weeks and weeks and I'm just not "getting it" I come from a strong oop php background and this paradigm is using tons of tech I know basically nothing about. Every time I talk to junior I get super depressed cause he's speeding along and I'm still completely clueless.. what the FUCK do I do6 -
I'm thinking of buying a new laptop. But I'm sad about leaving all of these stickers (yeah I know they're pretty random)
also, should I get a macbook or not? I really like the OS but I hate it's pricetag. But i heard Apple supports their products for more than 5 years and this laptop of mine is just 3 and a half years old and it's slowing down already even on 16gb memory. IntelliJ used to run smoothly on this.
Can u guys suggest a developer friendly laptop? im not really into gaming so I wouldn't need gaming one 👨💻8 -
Problems. We get them frequently, to me it feels like life is not about being happy and all, it's about how you handle your problems. Any kind of problem, be it work related, you personal life anything.
Developing the skill to deal with different kinds of problem is what makes your life better and better.
What world taught me till now, to run away from the discomfort, a lot people talk about how environment is bad, and you should not take shit from anyone. But few things tell us what's actually lack inside us. Maybe, on social media we don't boast a self awareness based thinking because is makes people uncomfortable to think about their own behaviour. Self awareness is becoming more and more important for me now. I am trying to keep my self love intact, it's hard though. But knowing your own shortcomings and taking actions to understand and do something about them makes me feel in more control. Makes me happy. :)
I'm writing this, because I just got a work problem and I snapped and closed my laptop very impatiently. Then in few seconds I realised, it's a kind of a problem that I should try to 'deal' with and not go into a loop of self hatred. Even though my heart ja racing fast, and all the hormones which are making me wanna feel sad, I feel aware and more in control that hey, you are feeling this because this problem has these consequences but let's try to solve it. :) -
Fuck Wordpress, Fuck Wordpress's PHP
I'm so fucking tired of everything in this godforsaken CMS. Import a JS File? Sure, just add a *completely obvious* line into a very specific PHP File, where you'll have to specify a lot of "useful" parameters. No, I somehow DON'T want to specify that I don't wand jQuery in every import. And don't even get me started on Content Delivering. Embed CSS? Sure, just write the fucking whole path to the file, or use the broken get_stylesheet_uri() Function. Embed an Image? Sure, let me just go to the Backend and wait 6 Minutes for this bullshitty System to upload the image and then copy the hard-coded Link. Oh, you want to remove googleapi embeds? Sure, let me just fuck up your whole Website in return.
You want jQuery? Well instead of using the "$" Symbol, you have to use the jQuery() Function. Except when you don't have to, which is 100% random each time you reload the page. Oh, you actually did import a JS File? Sure, let me just not run it. Thank you fucking piece of shit thats calling itself "WordPress" and fuck you and everyone whos actively encouraging its usage1 -
I have multiple contenders ;)
Contender one:
A program used to sort emails.
We was in the process of moving from lotus notes to exchange and needed a way route emails to the right server internally.
Solution, a qmail to receive all emails, a script running by cron every minute to read the emails, check the recipient name to a list and resending to the right server. The script was written in php :P since that was the only way we at the time had to read an email into an object, it was run just like any other shell script :D
Contender two:
A multi threaded mail sender that fetch email addresses and content from a database and posted them through qmail using background execution and pipes to get the result back and then update the database, written in bash script.
Contender three:
A c program used in a similar way as in one but this time using dial up and uucp to fetch email and then drop these either into lotus notes or into a bbs for our customers to give them an email address. This was around 1993, so not to many isp’s offered email and not to many had internet anyway, dial up bbs was much more common.5 -
Phone meeting with the makers of a program the company uses regularly:
Me: "so I believe you received the list of problems we have run into recently, can you walk us through how to make the changes necessary to fix them?"
them: "we see none of these errors"
me: "that's impossible, we had all of them yesterday, they crashed a few servers"
*checks version number on program, it's different*
me: "hold on one second"
*checks computer log, they were logged in this morning before I came in*
I figured out they received the list, fixed it, and then turned to us and said we didn't know what we were talking about because none of the errors were there, because they wanted to look superior.
Fuck those guys. -
I've always wanted to make games, I went into university doing mechanical engineering and while at the start I enjoyed it, getting closer to the end I had a hate for engineering, as this hate grew I ended up trying to learn programming in my spare time, actually I spent my spare doing lots of things which basically gave off the impression I wouldn't be happy with engineering.
After I graduated I decided to do my BCIS and I loved every minute of it, I was fortunate to get a lecturer in my second semester that was an experienced game devloper, someone I look up to and someone who pushed me to my absolute limits, even with the sleepless nights I was still happy with programming, the logical thinking that goes into programming and also the near instant feedback is what I really love.
But as it comes down to it, I've gotten closer to my dream of becoming a game developer, it may only be as a hobby for now but I'm really grateful I have gotten into programming.
So I guess with coding has changed my life for the better, since I know I'd never be happy as an engineer, and even with all the issues I run into I still enjoy it in the end.
Let's see how long this lasts lol -
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. -
...another (probably about fourth) completely futile attempt at making MASM compiling pipeline work...
...what the fuck... seriously, i've spent together about two weeks of time trying to make a fucking default hello world compile... ml64 problems, then rc.exe problems, apparently i was missing some dumb CommonService.dll which not only doesn't exist anywhere on my computer, but it doesn't even seem to exist at all in this fucking dimension. After several hours I had the bright idea of "fuck MS rc, let's just grab any other random resource compiler that I can find, and see if that one works".
Funnily enough, it does. Except Visual MASM can't run it from it's build process because it fucks up the commandline call, so I need to run it manually, and then when I run the build from V-MASM, the rc call still fails, but then it checks for the resulting .res file and finds it, so it happily continues with success...
...and now fuckin... what even is it? *goes to check*
oh yeah, now linker is shitting itself:
LINK : fatal error LNK1104: cannot open file 'user32.lib'
And I'm just completely defeated, just searching system-wide for the lib intending to copy it into the linker folder because fuck this fucking bullshit, I've had enough of drowning in MS BuildTools versions and installations and uninstallations and fixes and modifys and repairs and all that FUCKING BULLSHIT.
HOW. THE. FUCK. is this in any way usable for anyone. I suspect nobody ever actually tried to build an assembler project in the last 30 years, so nobody noticed it DOESN'T. FUCKING. WORK.
THIS.
THIS is why I hate anything that's not a proper IDE where I install ONE thing, and do everything in that ONE IDE and let IT figure out all this linuxy-soft-coupled bullshit of twentyfuckingthousand fucking useless commandline apps threwn around the whole fucking system where I'm fucking supposed to know where the fuck what is and which version and GO FUCK YOURSELF.
GIMME. FUCKIN. ONE: IDE. WHICH. WILL. INSTALL. ALL. THAT. IT. NEEDS. TO. BE. FUCKING. ABLE. TO. FUCKING. WORK. AND. COMPILE. SHIT!!!
FUUUUUUUUUUUUUUUUUUUUUUUUUUCK.10 -
Spent another half day learning ELK and how to programatically query and run aggregations against the data that's now collected.
So I can feed it into a testing framework for releases.
I sorta feel like I'm dragging everyone else into the light...
Like "you see what you've been missing all these years? This is how it's supposed to be these days..."
Data data data... Useful data.... This is what you can do when have structured and searchable logs rather then huge messy text files ...6 -
Hello devRant!
Man its been a while, i havent logged in here in like 4 years.
Recently ive been getting into home-labbing, and i thought to myself
"all of these people on youtube/reddit run Plex on pre-built NASs that have awful celerons and whatnot, we can do much better!"
And by "much better" i meant a bare metal k8s cluster.
My hybris knows no bounds apparently.
Turns out this shit is quite hard.
Really gives u an appreciation of just how much stuff cloud providers magically abstract away....
My final goal is to run stableDiffusion on this thing, even know i know full-well the moment i try Nvidia will fuck me raw with some hidden enterprise subscrition :) -
Assumptions are a terrible idea, yet I find myself making them all the time about other people. I am finding the very sobering reality about people who use technology vs people who create technology. The users have zero intellectual interest in how the technology accomplishes a task. While the creators get absorbed into the details and often relish in being able to maximize capability.
A point of frustration for me is users who are in a semi technical field yet take zero time to learn how to configure a piece of tech. They get a plug and play attitude and seek in panic when things don't work. The work is semi technical because they need to understand some of the fundamental physics involved to assess things using instrumentation. Yet when asked about a system they actively modify as to how it is normally setup they are clueless. Me, who helps write the software to control these devices, is stumped that they have zero interest (or capacity?) to understand how the system is normally configured. This is not the first time I have made assumption about what they know in technical contexts. I have run into this before with managers, but not with technicians.
How do you manage your expectations with people who won't invest any time into how their equipment actually works? How does someone operate that way to begin with? Where is their curiosity about how things work?
On the flip side, I swear at my fucking phone because I don't care how it works, but I just want it to stop doing everything besides being a phone... Fuck you, we are not the same, I think...3 -
Need to rant / maybe some advice.
Working remote is hard.
New company, remote on boarding. I feel like my coworkers are robots, and I'm being tossed into the deep end with minimal guidance.
The codebase is so unnecessarily complicated, its impossible to read. I've been trying to figure out how things work for a whole month, still not sure.
My mentor that is supposed to help onboard me is a robot, and answers questions in a somewhat acceptable manner, but it still feels like a lot of "figuring out" is still left for myself.
My other work partner that is also a newbie like myself is also a robot - doesn't talk or ask many questions whenever we have a sync up meeting.
The codebase is huge and feels quite overwhelming, I don't feel like I got a team "with my back", I don't enjoy work as much as I have before, I barely do any coding (mostly reading code and trying to understand how everything is working by setting breakpoints and debugging tests that take foreeeever to run), and some days I'm seriously considering cutting my losses and jumping ship just to save my sanity.
Am I paranoid? Am I just dumb? Should I just suck it up and be happy I have a job? Is this how Remote work is supposed to feel like? Why does it feel like my soul is dying?
Anyone in similar situations, or who can give some insight/advice/etc, I would highly appreciate it.
And this is supposed to be a good company too from the reviews. I don't know how it can be so crappy in reality. Did I make the wrong choice joining? Should I jump ship sooner rather than later? I've only been here about a month or so, and maybe its too soon? Halp!12 -
This started as an update to my cover story for my Linked In profile, but as I got into a groove writing it, it turned into something more, but I’m not really sure what exactly. It maybe gets a little preachy towards the end so I’m not sure if I want to use it on LI but I figure it might be appreciated here:
In my IT career of nearly 20 years, I have worked on a very wide range of projects. I have worked on everything from mobile apps (both Adroid and iOS) to eCommerce to document management to CMS. I have such a broad technical background that if I am unfamiliar with any technology, there is a very good chance I can pick it up and run with it in a very short timespan.
If you think of the value that team members add to the team as a whole in mathematical terms, you have adders and you have subtractors. I am neither. I am a multiplier. I enjoy coaching, leading and architecture, but I don’t ever want to get out of the code entirely.
For the last 9 years, I have functioned as a technical team lead on a variety of highly successful and highly productive teams. As far as team leads go, I tend to be a bit more hands on. Generally, I manage to actively develop code about 25% of the time to keep my skills sharp and have a clear understanding of my team’s codebase.
Beyond that I also like to review as much of the code coming into the codebase as practical. I do this for 3 reasons. I do this because as a team lead, I am ultimately the one responsible for the quality and stability of the codebase. This also allows me to keep a finger on the pulse of the team, so that I have a better idea of who is struggling and who is outperforming. Finally, I recognize that my way may not necessarily be the best way to do something and I am perfectly willing to admit the same. I have learned just as much if not more by reviewing the work of others than having someone else review my own.
It has been said that if you find a job you love, you’ll never work a day in your life. This describes my relationship with software development perfectly. I have known that I would be writing software in some capacity for a living since I wrote my first “hello world” program in BASIC in the third grade.
I don’t like the term programmer because it has a sense of impersonality to it. I tolerate the title Software Developer, because it’s the industry standard. Personally, I prefer Software Craftsman to any other current vernacular for those that sling code for a living.
All too often is our work compiled into binary form, both literally and figuratively. Our users take for granted the fact that an app “just works”, without thinking about the proper use of layers of abstraction and separation of concerns, Gang of Four design patterns or why an abstract class was used instead of an interface. Take a look at any mediocre app’s review distribution in the App Store. You will inevitably see an inverse bell curve. Lot’s of 4’s and 5’s and lots of (but hopefully not as many) 1’s and not much in the middle. This leads one to believe that even given the subjective nature of a 5 star scale, users still look at things in terms of either “this app works for me” or “this one doesn’t”. It’s all still 1’s and 0’s.
Even as a contributor to many open source projects myself, I’ll be the first to admit that have never sat down and cracked open the Spring Framework to truly appreciate the work that has been poured into it. Yet, when I’m in backend mode, I’m working with Spring nearly every single day.
The moniker Software Craftsman helps to convey the fact that I put my heart and soul into every line of code that I or a member of my team write. An API contract isn’t just well designed or not. Some are better designed than others. Some are better documented than others. Despite the fact that the end result of our work is literally just a bunch of 1’s and 0’s, computer science is not an exact science at all. Anyone who has ever taken 200 lines of Java code and reduced it to less than 50 lines of reactive Kotlin, anyone who has ever hit that Utopia of 100% unit test coverage in a class, or anyone who can actually read that 2-line Perl implementation of the RSA algorithm understands this simple truth. Software development is an art form. I am a Software Craftsman.
#wk171 -
Back at <biginternationalorg> I witnessed a developer deliberately build an xss vuln into a company web application, so that he could plug a JS file in with all of his passwords hardcoded. Bear in mind, this is an org that provides services to both the UK and US military, and if you have access to some stuff you have access to the tools you need to impersonate high-ranking military folks.
I know its like, twenty different passwords, but that's what a goddamn keychain is for! If you don't trust windows keychains, do what I did and run a VM with a Foss keychain installed! Don't build a vuln right into a public facing web app, that's just stupidity. -
>Client: Hey, I lost my Facebook password but it's saved on my old laptop
>Me: ...alright, i'll look
>Laptop: won't boot - "No bootable devices found!"
hoo boy
>opens 'er up to pull drive
this is really heavy for an SSD, Corsair, and especially for only 64GB
>plugs into other PC
nothing
fuck me
>sees jumper pins
>jumps them
>BAREFOOT-ROM RECOVERYMODE SSD DEVICE - 128GB
that's twice the size of the disk, wtf?
but ok, i'll take it, any data?
>Win10: *crashes because driver chokes*
>Win7: *crashes because driver chokes*
>WinXP: *doesn't see it, TestDisk doesn't run because Kernel32.DLL issue*
>Linux: *Issues the instant SSD plugged in, they stop instant removed*
fuck it
RMA6 -
So I get an email from college career development for a web developer & designer position.
Read into the requirements & function, I find this....
Who the fuck does put HARD CODING before CODING.. why would you even put that on the requirements. People are going to read that and find out how you run your company.
We all do some hard coding here & there but recruiters think it's a skill that comes before coding.. hard coding isn't coding hard...
They don't say company's name in email so I got suspicious.. or perhaps I thought I can be a detective lol. I was able to find out the company and looked at their Glassdoor.
Of course they have 1.6 stars.. two 1 star reviews by their employees. I can just imagine the horror working at this place lol.
Oh & the manager makes something like 110k.3 -
There are a few email addresses on my domain that I keep on receiving spam on, because I shared them on forums or whatever and crawlers picked it up.
I run Postfix for a mail server in a catch-all configuration. For whatever reason in this setup blacklisting email addresses doesn't work, and given Postfix' complexity I gave up after a few days. Instead I wrote a little bash script called "unspam" to log into the mail server, grep all the emails in the mail directory for those particular email addresses, and move whatever comes up to the .Junk directory.
On SSD it seems reasonably fast, and ZFS caching sure helps a lot too (although limited to 1GB memory max). It could've been a lot slower than it currently is. But I'm not exactly proud of myself for doing that. But hey it works!1 -
Hello,
I just quit my job at a big market research company. It was disturbing how much processes there depended on excel and obscure visual basic scripts.
They load data from a database, do typical database tasks with excel and upload it back into the database.
PhDs run complex statical computations through an excel interface that passes the request to R.
Instead of an hour Python they execute stupid tasks with excel by hand. Day after day, month after month.
WHY? My colleagues were not dumb but instead of learning SQL and some python they build insane excel tables.
Maybe it's time pressure. But this excel insanity costs much more time in the end.5 -
I recently started learning Erlang. This is the story of how I got trapped into it.
When I code, I usually use my trusty text editor and a terminal to either compile my code or run tests in the language interpreter. The interpreter, erl, works fine, but when I wanted to close it, I ran into a small issue.
Because I never know what the command is to close an interpreter, I usually use the EOF character (^D), that is widely recognized. Except erl does not react to it, not even a tiny message saying it won't close or doesn't recognize the output.
Alright then, let's try quit. That's an atom, it does not behave how I want.
quit() is an undefined shell command, exit() terminates the shell process but the interpreter automatically starts a new one...
But I get the welcome message, telling me to abort with ^G! Some progress, finally... except ^G redirects from Erlang interpreter to user switch command. Damn, another interpreter...
I ended up killing the process from an other terminal.4 -
One of biggest epiphanies came through this fundamental critique in SICP of the assignment operator. Through years of imperative programming it seems so innocent, doesn't it? But that you lose referential transparency, run into the alias problem and fundamental difficulty to determine object equality (or of their instances) - that was kind of eye opening considering all the pain I had already experienced with state in concurrency.
(It led me so far to think it's an ontological issue, that even in the discrete computing universe we have not come so much further than Zenon's paradoxa on change.)6 -
I just fucked up!
So I was invited to an afterwork beer because some guy out of our project team left...
I was there early and run into the lead of HR for my current department... (I am still in apprenticeship, last year, so she is not <yet> responsible but if I want to stay she is the one who decides)
I said Hi, and she asks me to sit down.
After a while she asks me (out of the blue) If I want to stay!
I was surprised!!! I am considering multiple options atm .... I was not able to formulate a proper sentence all I could say was a simple "yes"...
... and with all the things going on in my head at this moment it might not have been the most convincing one....
I am screwed! Fuck I worked hard the past three years9 -
Don't you guys think we need live programming?
Like a development runtime, instead of doing this whole file based development thing? We edit files, and then run them, why aren't we just running a program constantly and editing it as it runs? It would let us inherently take advantage of concepts like objects and lists instead of having to build plugins that analyse and modify our files to sort of act like complex programming data structures.
If we just programmed using these complex data structures to begin with.
Like do you realise how antiquated the idea of a file is, and folder, that's literally a paper based analogy.
Imagine if we just had objects, with pointers and property names, the best we have is ln -s file1 file2 but that's not a real pointer.
Anyway, hope someone understands me!
I'm writing a medium article called a world beyond files but I'm stuck at how low level to go and who the audience of the article should be.
I went really in depth into what this idea of an "object" is, and how it can be expressed in a file but once a program picks it up it becomes much more and almost alive.12 -
Calling any Python programmer here (especially package maintainers)
I run Gentoo, so am responsible for maintaining the dependency tree (to a degree). When it comes to Python I have 2.7, 3.4, 3.5, 3.6 available. I'm always running into some package needing one version or another, and I can't just set a single version and forget it (which is fine. I'm running Gentoo).
I know that this is because python changes rapidly and so different libraries need different versions. Fine.
Why does this happen with Python and not C++, JavaScript, php, ruby, or any other languages on my system? I don't have 3 different versions installed to cover any other languages, and I don't spend time adding installation rules to cover them.
Why does Python need to be a pain in the ass about it?3 -
Funny story...
Got a small college assignment based on Java and Cassandra(database). The database shell was running fine. Spent 5 days removing the random java exceptions and working on the basic connectivity, searched everywhere on Stack overflow and other forums for solutions and still no help.
So, I decided to write a program that would print only the output as I knew what would be the output when it will run. Took a screenshot of it and made up a cover story to tell my professor that I did it on a friend's computer.
But while I was taking a screenshot of the Eclipse with code window and output window, some random syntax errors popped up.(but they weren't syntax error).
So I created a new project and copied the pom.xml file and the code into the new one(I tried this one before and it didn't work). And there were no errors. So I took a screenshot of it with output of different file and opened a different file.
But then, don't know what came across my mind and I clicked on run just to see if this works, and it worked fine. And now I'm like.. WTF JUST HAPPENED!! -
Marketing department sometimes are so Fucking annoying in the context of they " just found out certain technology" and try to enforce us to implement.
For example recently this guys just found out firebase(Firestore thingy ) and keep asking us to implement into the app (E wallet app) which our software architect refuse to use firebase( I agree with him) because in the long run , the project will definitely get surprising prices in the invoice.
Also, our DBA had started to implement Apache Cassandra .....
So dear marketing department, why don't you guys shut up and let us do our job and let our software architect do his job? Fuck off!14 -
So I did this https://devrant.io/rants/797965/... which works fine until medium sized data.
However for large data the ETL pegs a 6 core Xeon (2.2GHz) with 50GB of ram. Because of it ends up doing six threaded compares, so 12 different data sets. Other than "pull less data", any tips?
Code (C#) is basically a Linq multi column join between two DataTables and when the compared columns don't match it returns as a var which is turned into a third DataTable to be SqlBulk loaded into the DB.
Table1 is external API return data (no windowing) and Table2 is from our DW.7 -
Real story:
Started fixing one file in one repo, build, doesn't build, go into other repo fix just one file there, but first I need to make myself a toolchain, making of toolchain fails because it depends on some dirty fix in the file I was fixing, refactor and clean that to a proper state, fuck yeah toolchain builds, source toolchain run make now, breaks with undefined reference, no time to debug plus fuck this automake, remove it, make a makefile, builds fuck yeah, shit now unittest are failing because why not, refactored that makefile as well, everything compiles, automate the test fully so that they are ran on the target out of make just because I'm a nice guy, fuck yeah everything works, commit this repo, commit other repo, review time, one of the guys gave up, the other one did it properly, found some shit there, fix that, done, merge, triggers CI fucking pass
All of this was done in 3h, Talk about efficiency -
Why does everything installed via npm sux so hard?
Why the fuck does any minor update in their bullshit packages either forces you to change config files:
E.g. now should be "@babel/core" instead of "babel-core" - WHAT A FUCKING SIGNIFICANT CHANGE!!! Rewrite all you configs motherfucker, that goddamn "@" in front of our shit is SO IMPORTANT that we will break everything to add it
Or breaks the code internally:
Consider the recent fail of fucking Terser [https://github.com/gatsbyjs/gatsby/...] that breaks fucking webpack and FORCE YOU TO ROLLBACK TO ANY VERSION THAT WORKS, why you nerd retards, can not run a simple dummy project BEFORE YOU RELEASE YOUR SHIT???!?!!?
Why any fucking update from *.*.1 to *.*.2 turns into hours of googling of what the fuck got broken this time??
The way that webpack, babel and other npm packages are released nowadays is absolutely retarded. I really have a strong feeling that it is better to keep old error-proof working config and NEVER UPDATE, than constantly suffer from butthurt
p.s.
Of course I am sorry for all the hate and caps in my post, and have respect for guys that develop amazing stuff for us for free, but I need to share this5 -
Just needing to vent a bit...
We start off with classic asp.net & Xamarin. K.
Then we run into the shitshow that's lackluster documentation and heavy push for asp.net core.
Whatever, will just handroll things.
K. Azure is quickly turning expensive..
Well let's find alternatives.
Yeah, no Linux ain't gonna work.
Wanna shell out for a windows server? Nah.
K. Well, let's rewrite in asp.net core then.
Nginx proxy passthrough to kestrel. Ez.
Now.. wtf is the deal with mssql behaving like a turd on Linux?
Oh now some security jibber about telemetry and adding Microsoft keys to root.
Whatever. I can do PHP & MariaDB then.
1001 things wrong about Xamarin now.
Mostly performance related.
Especially cuz custom renderers for everything.
& Abused onPropertyChanged.
Uh la la, look at that sexy thing called react native.
Hippytyhop new tool for the job.
Ugh wee, what's this ? Customer impatient & deadline for months worth in Xamarin => 1 week.
Whelp I be fudge..6 -
My Gripe With Implicit Returns
In my experience I've found that wherever possible code should be WYSIWYG in terms of the effects per statement. Intent and the effects thereof should always be explicit per statement, not implicit, otherwise effects not intended will eventually slip in, and be missed.
It's hard to catch, and fix the effects of a statement intent where the statement in question is *implicit* because the effect is a *byproduct* of another statement.
Worse still, this sort of design encourages 'pyramid coding recursion hell', where some users will first decompose their program into respective scopes, and then return and compose them..atomically as possible, meaning execution flow becomes distorted, run time state becomes dependent not on obvious plain-at-sight code, but on the run time state itself. This I've found is a symptom of people who have spent too much time with LISP or other eye-stabbingly fucky abominations. Finally implicit returns encourage a form of thinking where programmers attempt to write code that 'just works' without thinking about how it *looks* or reads. The problem with opaque-programming is that while it may or may not be effortless, much more time is spent in reading, debugging, understanding, and maintaining code than is spent writing it--which is obviously problematic if we have a bunch of invisible returns everywhere, which requires new developers reading it to stop each and every time to decide whether to mentally 'insert' a return statement.
This really isn't a rant, as much as an old bitter gripe from the guy that got stuck with the job of debugging. And admittedly I've admired lisp from afar, but I didn't want to catch the "everything is functional, DOWN WITH THE STATE" fever, I'm no radical.
Just god damn, think of the future programmer who may have to read your code eventually.2 -
So I wanted a newer Linux OS for doing certain things at work. I went for Kubuntu 21.04 as it would have reasonably newer software and had the tools I needed for managing exfat partitions. I installed it on a second drive and everything went smoothly. I booted to the OS and it said it needed to do updates. Okay, lets do that. I started them and walked away.
I came back later and it had finished. I rebooted the machine because I needed to run windows. It came up to a prompt and a grub command line. WTF. I am like oh fuck, it didn't just fuck me out of my windows install. So I rebooted into the BIOS. I looked and it now had switched the drive I installed Linux on as the boot drive. That is weird. So I switched the M.2 drive to boot. It went right into Windows.
Kubuntu 21.04 installed on second drive as intended, switched the boot drive to the second drive, and then fucked itself on first update. And people wonder why non-techies don't run Linux. Its a pile of shit only a masochist would love. Because we are the only ones who can possibly sort out shit like this.
I know its probably a webpage away from fixing, but I needed to work in windows and could not be fucked to fix it. Its a distraction to actually getting my work done. Just disappointed in the entire ecosystem.8 -
I am a single-pass compiler.
Why?
Well, when I have to do the food shopping for the week, I have a look at the buying list, keep the things in mind, go through the shop exactly once and everytime I see a match with the list, I put it into the shopping trolley.
Efficient and quick.
Soo, on the other hand, my girlfriend is a multi-pass compiler.
What that mean, you ask?
Well, she doesn't have any look at the buying list until she is in the shop. Then, she runs through the whole building until she finally finds the first thing on the list... and repeats with the next one until there's no entry left.
She needs three times longer than me for this, is totally exhausted after it, and, not forgetting, then SHE is angry about ME, because I wanted to have these "special" sweets she had too run through the shop twice for because she couldn't find it at first try.1 -
Finally made my node production server stable enough that I could focus on writing tests*. I start by setting up docker, mocking cognito, preparing the database and everything. Reading up on Node test suites and following a short tut to set up my first unit test. Didn't go smoothly, but it's local and there are no deadlines so who cares. 4 days later, first assert.equal(1+1, 2) passes and I'm happy.
I start writing all sorts of tests, installing everything required into "devDependancies," and getting the joy of having some tests pass on first try with all asserts set up, feels good!
I decide to make a small update to production, so I add a test, run and see it fail, implement the feature, re-run and, it passes!
I push the feature to develop, test it, and it works as intended. Merge that to master and subsequently to one of my ec2 production servers**, and lo and behold, production server is on a bootloop claiming it "Cannot find module `graphql`". But how? I didn't change any production dependencies, and my package lock json is committed so wth?
I google the issue, but can't find anything relevant. The only thing that I could guess was that some dependencies (including graphql) were referenced*** in both, prod and dev, and were omitted when installed on a prod NODE_ENV, but googling that specific issue yielded no results, and I would have thought npm would be clever enough to see that and would always install those dependencies (spoiler: it didn't for me).
With reduced production capacity (having one server down) I decided to npm uninstall all dev dependencies anyway and see what happens. Aaaaand it works.....
So now I have a working production server, but broken local tests, and I'm not sure why npm is behaving like this...
* Yes I see the irony.
** No staging because $$$, also this is a personal project.
*** I am not directly referencing the same thing twice, it's probably a subdependency somewhere.2 -
I am here late on a freaking Friday night before a holiday weekend doing some stupid conversion for a company. They have to have it done before Monday ( the holiday) as they plan to go live then.
Did I mention that they asked for this 2 days ago? I had to write the entire system to upload their batch of accounts into our system and return to them the corresponding new accounts. In 2 STUPID DAYS! Not to mention nobody was here to code review it today, so I had to run over it with one of the it guys before merging it myself.
Good thing I didn’t have a conference tonight that I paid money to go to. Oh wait, I do. Luckily it only started 2 hours ago so I might just make the final keynote, if I am lucky. -
Ok so was dating this girl who n has a 8 year old I was with her for 4 year her son calls me dad... Long fucked up shit story short. She cheated fucked me over all that cool I stayed for the kid... A few months later I catch her in my son's bed with another dude.. ya I know right my apartment my everything!!!! How could she right.... but as most men knows Once Upon and gets caught doing something they turn into something completely unrecognizable in ridiculous. If I do whatever she says and wants to still let me in her son's life!! And as soon as I left my apartment to her she moved some dude in with his two kids and stole everything that I had.. so I had to get coppers involved to try to get some stuff... I mean I was free balling to work with no socks .. no towels nothing... you can only imagine how badly I wanted to go into my apartment and destroy this dude.... But for my son's sake I bit my lip and took it... she got a hold of my spare car keys both spare key tab and keys... shortly after I left they run my truck of all my HVAC technician tools... Then to make it worse some months later she emptied out my truck again... and you can only imagine how upset I was about everything because I love that kid and I don't want him to have to go through anything.... Someway somehow her and her new boyfriend got some guys off GitHub I mean I'm getting torn up out here ... GPS trackers .. people following me... and everytime I leave my truck or leave anything that gets broken into and stolen... it was so bad that they even made me lose my job at three different stores that I was working not because of my performance but every time I would walk outside of work my truck wouldn't start or it would be completely ransacked. Someone plz HELPPPPP and yes that's like the 4th GPS tracker that I've taken out of my second vehicle now because of this crap it is literally almost ruined my life6
-
Working on creating an asyncio UDP server/client. Going to have it talk to another server/client. Why? Because I don't want there to be a round trip to my data. I want send and forget.
So I created a combo server/client in C++. I am testing out the client and I find that it connects and sends data with zero errors as a client even if there is no endpoint (server) active. Okay, well its connection-less so it kinda makes sense. So I am not even sure what connection means at this point. I figured it was sending data into the ether. Fine, I don't have to worry about dropped endpoints or some shit. The server does see messages once it creates itself (tested with Python server). Not old messages, just the ones currently being sent.
So I do the same thing in Python and use asyncio to create server/client with opposite ports to talk to my C++ server/client. However, if C++ server doesn't exist the Python client throws an error. Okay, wtf... So Python UDP client is gonna be extra steps because why? Because fuck you! That's why! lol
UDP Client Comparison:
C++: I don't give a shit, if you don't get the data then fuck off. I won't error no matter what.
Python: Oh shit, there is no server, so I won't even run. Because fuck you and wanting to send messages to the ether.
Now I need to do the same thing in C# and see what kind of "fuck you's" it will have.
What did I learn? I learned Python has a nice asyncio system similar to asio from boost.11 -
Its only 5 months left till my graduation,and my mind is getting fucked up.
The current startup i am interning with is a lot stressful and demanding. I am giving my 1000%, only because this is the only place to.. how can i explain..
if world is a race of horses, then i am the tortoise and these guys are the only slow horses that i think i can catch up with. These people are your next door app dev startup, releasing multiple apps fastly and trying to hit the magic recipe. I am not sure if i am learning anything besides how to search stuff on my own and produce faster results. But still, better than nothing.
However i am a far sighted person and am not sure if this is the future that i want.
I am currently giving 14+ hours to this startup as an intern (including all the traveling from home). The only relaxation i could make in future is to shift near the office which will save me 3-4 hours but then what?
I am currently running out of goals. My childhood was shit, but i want to make my youth meaningful.
Leaving my home means leaving the only 2 people (mom/dad) currently present actively in my life.
My college would be over by then, all my colleagues are all on their own ,going into different companies. We don't meet now leave alone meeting then. I am also not much into( or have the time to be into) online games and anime where those guys meet/chat
Not that i was able to gather courage to get into some relationship or talk to people till now. I don't have much talks with my officemate or gals coz 1 :i am so full of work and (2) i simply can't
Currently i spent my whole Saturday sleeping and watching movies and Sunday doing the office work.
Is this going to be my whole working life now? I often think other people's jobs as less demanding but i don't think that would be the case.
I just want to be in touch with people, the people that i know, the people i can trust somewhat.
When i was in 7th std, life was so easy. There was this just 1 irritating thing called school that we had to attend.
After that, we used to run down to nearest park in our shorts and cricketbats or rsckets, play till our heart's content, then sit in some friends house for hours and talk shit , then come back home , do some irritating study, then go back to watching television and playing online games with those same friends , while deciding the birthday party of some guy and game plans for the next day.
Damn5 -
When the monthly scrum retrospective reaches the 90 minute mark...
You know when people are being stress tested and they break by getting up, run around screaming and ultimately knock themselves unconscious by running into a wall?
That. I felt like doing that.
I swear someone activates some sort of gravity well when these meetings begin because time beings to stretch on and o........n....... while they meetings happen.
I began to list things I think I'd rather be doing than be in that meeting.
1) Tax returns.
2) Prostate exam (not old enough to need one yet but at least I'd be out the meeting).
3) Visiting the dentist.
4) Assembling IKEA furniture.
5) Watching soccer at least they have the decency to give you a break in the middle and I find sports as engaging as a dog turd on the sidewalk.
So bored was I that I began to notice notches and holes in the ceiling tiles and when I remarked upon them others became engrossed in them and began to speculate upon their origins.
I don't know who a speaker is, what department they are from, what product they're working on or what's so important about the algorithm they're working on. There is no context, no explanation and half way through a show and tell I had to check we were still in a show and tell.
I was bored shitless. I actually felt physical pain from boredom, I've not felt that way since I was a child.
I really, really hate that scrum is implemented in this way.
It left me with only half an hour of coding time left and really it sapped my energy and motivation to the point where I just went home early.
Excuse my language, but:
Fucking bloody cunting waste of time, I've had more productive moments in the restroom. They need to piss off or committed seppuku, ideally both. Dante got it wrong the seventh level of hell is this. I'm usually a very calm and balanced individual but yesterday, yesterday I just... Fuck! Argh! Fuck you meeting, fuck you.
If you are the type that schedules meetings like this:
May a thousand Jabberwockies plague your nightmares and be it that the next seventy seven times you lay with a human shall ye experience bitter failure! I hope Cthulhu himself visits his "enlightenment" upon you and you fear sleep henceforth.
I'm bringing a rubix cube or juggling balls into the next meeting so that I can say at least I learned something and it wasn't time wasted.3 -
Got another one of my boring questions for us all to hopefully discuss a little.
With all the talk about the Librem 5 starting to ramp up more and with my little delve into UBports, was curious as to what other devs would be interested in/want/need from a mobile Linux operating system.
For me it's simple but mostly creature comforts.
1. Consistency and convergence, give me the ability to run a full desktop environment along side the mobile DE but make it consistent between the two (Looking at you Microsoft with your continuum)
2. Doesn't loose the customisability of Linux, let me install any Linux application I want and customise the theme and icons (Something I have a gripe with UBports)
3. Have accompanying operating system with an echo system, so have a wearable OS, a desktop OS and mobile OS, having that tie between the 3 is amazing as a heavy android and chromeOS user.
Would love to bring some of these things to reality but don't have any knowledge of how to do it, personally would love to see elementary OS have a crack at this (Wont happen but got to deam!)2 -
I know maaannny rants like this exist, but it's just sad that so many devices run 1. windows and 2. an very old version of windows.
This is an info display in school, we managed to reboot it and have seen it's IP. I'm not gonna post it because I don't want to get into trouble. -
9000 internet cookie points to whoever figures out this shit:
I'm trying to import a secret gpg key into my keyring.
If I run "gpg2 --import secring.gpg" and manually type each possible password that I can think of, the import fails. So far, nothing unusual.
HOWEVER
If I type the same passwords into a file and run:
echo pwfile.txt | gpg2 --batch --import secring.gpg
IT ACTUALLY FUCKING WORKS
What the fuck??? How can it be that whenever I type the pw manually it fails, but when I import it from a file it works??
And no, it's not typos: I could type those passwords blindfolded from muscle memory alone, and still get them right 99% of the time. And I'm definitely not blindfolded right now.
BUT WAIT, THERE'S MORE!!
Suppose my pwfile.txt looks something like this:
password1
password2
password3
password4
password5
password6
Now, I'm trying to narrow it down and figure out which one is the right password, so I'm gonna split the file in two parts and see which one succeds. Easy, right?
$ cat pw1.txt
password1
password2
password3
$ cat pw2.txt
password4
password5
password6
$ echo pw1.txt | gpg2 --batch --import secring.gpg
gpg: key 149C7ED3: secret key imported
$ gpg2 --delete-secret-key "149C7ED3"
[confirm deletion]
$ echo pw2.txt | gpg2 --batch --import secring.gpg
gpg: key 149C7ED3: secret key imported
In other words, both files successfully managed to import the secret key, but there are no passwords in common between the two!!
Am I going retarded, or is there something really wrong here? WTF!4 -
Me, working hard on a SQL project with a deadline that is half what it should be with no support from the other people on the project and was mostly made with with data I imagined would be in there cos no one could get me any fucking shit done (i.e. effectively designed, built, tested, fixed, upgraded, documented on my own for an entire weekly/monthly/ad-hoc analysis process that would output various reports for internal/external/management)
Manager - man who is a known waste of space but for some reason is in charge of the smallest part of the project, shouldn't have been fucking involved fucking management guzzling stain magnet...
Manager: Hey, do I need to refresh the database?
Me: .................
Me: .................
Me: ............I dunno, do you think we should refresh the database that this entire project is reliant? I mean...why do we need up to date transactions to analyse? Wait....you telling me it's not been being refreshed this ENTIRE time?
Manager: No....you never said I should. So should I?
Me: ..................I never said you should!?!? Are you not in the meetings talking about dependencies?????? Do you think i should have up to date trans or just run this with old stuff????? Why would you not update it!??!!?!?!? Its transactions...... (Desperately trying not to punch through my screen, through his, into his throat)
Manager: ..............
Me: .................
Manager: I think i'll refresh it and add it to the job?
Me: ....................(goes back to work cursing with music in so I think its quiet but who knows).
Tard, don't know how he even gets to work without someone holding his fucking hand.
Happy ending, I don't work there anymore :p
Sad ending, his spirit of tard follows me to my new jobs and possesses someone (or three sometimes) -
Lead dev runs the program I gave him to set up a bunch of processes that run for one database.
It has a GUI that seems native to his windows environment......but it sort of is not.
The program runs, asks for the .csv file that is to be parsed into the database.
Lead dev: Ok, what is this though?
Me (his boss) "Don't worry about it"
Him: "Holy shit what the fuck is this??? TELL ME!!!"
Me: DON'T WORRY ABOUT IT
Him: "WTF DID YOU MAKE THIS IN???!
ME: DON'T WORRY ABOUT IT
CMS Admin (another one of my employees) "Would you TWO SHUT THE FUCK UP!!!?"
New Guy (mainly a frontend dev): ........
Meanwhile, in production, no one knows if your gui app is built in Lazarus and Free Pascal, as long as it works.
I really need to stop doing this to the lead dev, dude already keeps trying to choke me for writing things in perl.
On another note, Object Pascal is pretty cool. Might write a book on it for those that want to do CLI based applications on it, I have no clue why every book on the subject costs in euros, but there should be more shit written for beginners, language is awesome and one can get lots of mileage from Lazarus and FPC11 -
So I come into CS class and the teacher, whom my opinion of is not excessively high, gives us a pseudocode task to do. After 10 minutes or so he says he'll run through it with everyone.
He then proceeds to opens python IDLE and starts typing pseudocode.
At this point I'm like 🤨.
Then he tries running the pseudocode. Now I'm thinking he must have had a really bad day so far or is just being stupider than normal.
When it doesn't work he starts getting annoyed and changes some = to == for what reason I am not entirely sure (though I'm not entirely sure why he thinks pseudocode is python either).
Everyone's been telling him that what he's doing is not going to work, but I don't think he really likes listening and continued frustrating himself.
After a bit we just leave him alone and carry on with what we were doing before he decided to gives us a lesson in what the purpose of pseudocode is not.1 -
Where do I start...
I have seen a QA load local code to a machine, run it and then say it was ready to deploy. Little did we know she wasn’t following the deployment process at all and didn’t even realize she had to. We were a week trying to figure out why the deploys wouldn’t work until she spoke up.
I knew a dev/founder that said to me “source control is only for large projects”, I tried to convince him and his cofounder to use github or bitbucket. Nope, they weren’t into it (fresh out of school listening to professors who hadn’t worked a development day in 20 years) One cofounder got disgruntled, thought he was doing most of the work and decided to quit, he also decided to wipe the code off his co-founders machine. I literally saw a grown man come out of a meeting crying knowing he would never gain back the respect of those mentors and advisors.
I once saw a developer create a printed ticket receipt for a web app. Instead of making a page and styling it to fit a smaller width, he decided to do everything in string literals. More precisely, he made one big long fucking strong literal and then broke it up using custom regex to add styling to different sections. We had a meeting and he was totally convinced this was the only way. In the end we scrapped the entire code and the dude didn’t last very long after that.
Worst of all! I once saw a developer find a IBM Model M keyboard and said “I’m gonna throw out this junky keyboard”. I told him to shut his stupid fucking mouth and give the the keyboard.
He did -
After years of back-end development there's a thing which keeps bugging me: how little "interactive" the development process can be.
When I did front-end I took for granted that the application I was developing was easy to run so I could immediately test any little change I do on code but on back-end this is rare to see: you develop with tons of external dependencies (authentications, VPNs, databases...) so getting your application up and running can be an huge hassle and testing API controllers can be slow and frustrating since I have to continuously juggle multiple development environments, manually regenerate tokens, do guesswork to find which parameters you have to use for your API request, maintain my Postman/Insomnia HTTP calls collection to prevent it from turning into an unusable spaghetti mess... lots of repetitive tasks which kills my focus and makes me struggle in getting into a decent flow.
Automated testing has lot of potential in helping with that but its hard to introduce when you're rewriting a legacy sistem and you're already exceeded your budget.
I wonder if I'll keep doing back-end once I'm done with this project.9 -
If this unit test were a real person, I'dsmack it across the face with a steel pipe and shatter its spine with a spiked mace coated in acid. Then I'd toss the fucker into a pit full of a hundred angry, rabid weasels and snarling, hungry raccoons, sprinkle some ground chestnuts and cocaine and tell bastard to run until I see some goddamn green.5
-
Happy new years! I hope you are able to take steps towards or end up accomplishing your dreams this year. You all have the best genitals and are very attractive. If you run into anyone IRL very less fortunate than you, consider letting them rant to you and maybe lending them a helping hand. Theres lots of unfortunate voices unheard out there. Keep being the best and don’t let the world get you down!1
-
Status: Got off hour+ long call with provider teir2 tech support because their "sync service" isn't syncing. "It's all cloud controlled" they tell me. Whatever.
It does have the ability to install a Windows service to do the needful! 🎉
However the program that does the actual syncing is the "launcher" application, and the service's only job is to tell the launcher to run. 🤦♂️
Their assumption is that there will be a user that gets smacked in the face with a UAC prompt when they first log in and just shrug it away. Which is the Launcher application.
The sync service is not capable of running the sync application without a desktop session I guess?
MOTHERTRUCKERS do you understand what the point of a Windows Service is?!?
I tried relating this situation to how Windows Update works: It will update whenever the fuck it wants without the user doing anything because of the Service, and you only configure the service with the Control Panel/Settings App. You don't need the Control Panel/Settings App running in order for Windows Update to work, but it's there for status info and configuration.
Anyways, this software does not do that. It apparently *requires* both the service AND the launcher program running in order to work. Not work properly, to work *at all*.
Anyways, It's installed on a computer that's not normally logged into, but is always on (where other "always needs to be running" programs live). Normally the hackaround would be to launch the program via Scheduled Task.
This program apparently does not want to run as a scheduled task, or the Task Scheduler is being stupid and can't figure out "Hey, it's time to run this program. Do it!". Naturally it runs if told manually.
The fact that I'm even doing this at all is stupid, but even more infuriating is that it's just not working unattended. You know, what the service should be doing. But no, the service runs happily all alone, doing nothing of note, while Task Scheduler sucks its stick running OneDrive installer but not the launcher program.
Pluckin' donuts...2 -
My father is a psyhologist, but he has always been a computer enthusiast. Particularly, he once started learning Excel macros, and then evolved into Visual Basic over Excel, with which he built a fairly large piece of software that is now run in many Spanish schools. I was 14 or so at that time. I always liked computers, and one afternoon my father and I sat down, and we built a simple calculator in vb. That was an amazing afternoon, and I got hooked immediately. From there I transitioned to Python, C#, Java, php... And now, many years later, I am about to graduate in CS, and I am still totally convinced that this is my passion. I owe this to my father, and in fact now I help him maintain and update that old piece of software.
-
Hi I’m a Python Developer, tired of doing internal applications using Excel as a UI. I’m thinking of proposing to turn most of our projects into internal web apps instead. Has anyone gone through this sort of problem?
My team is quite pro at using Excel, so naturally they prefer to use the tools I build from Excel. Some of those tools are also used by external teams, but they are not as capable with Excel, so they need supervision and guidance.
There are multiple concerns that arise:
- I code on Mac, but they need to run it on Windows, so compatibility issues
- Some of their laptops might not have enough resources to run the tasks
- Errors are harder to trace and could be very user-specific.
- New developers might not be familiar with Excel and the way to integrate with Python
I would like to know your opinion or criticism10 -
#include <advice>
using namespace plz;
So I have a soft cozy internship for a large retail corporation, the workplace is fantastic and the people are nice. We run into problems where this company outsources to India for almost all of its programming leaving their "software engineers" to answer emails and support 15 year old applications. This is obviously not the work I want to be doing. I want to create. This company also pays slightly less than average for an entry level programmer. I have one year of college left as well. At the end of this internship it is almost guaranteed that I get a full time offer but I only get 2 months to accept or decline. I feel like I'll say no.
So I guess what I'm asking is, should I turn down the safe first job and go for work that will make me excited in the morning or take the easy soft underpaid email answering job?
Thanks guys3 -
Not sure if many people heard about nltk in python but I'm currently using a lot now for research.
So one day I was doing multiprocessing while using lemmatizer in nltk, for those who don't know, lemmatizer is a thing that change the word to its base form. So it is like, ran to run, bitches to bitch.
Anyway, the nltk package, to ensure it does not take too much memory, here's what it does: it loads a data file, and once it is loaded and accessed for the first time, it breaks the data file into CSV file. And since I was doing multiprocessing, the data file is accessed for multiple time while it can only be loaded once, hence error happened.
Instead of changing my code, which I think is good already, I went to the package directory of nltk and directly changed the source code from there and now the code works perfectly.
I'm very proud of my self at the moment, this is a very good lesson that I've learned: always look for alternatives. And suck it, nltk.1 -
So, even as a long-time Apple user, overall there really wasn't too much exciting in the announcement last week.
That said, seeing the Mini get a spec bump caused the ears to prick up a bit. My 2014 is running fine, so it'd be a bit capricious to upgrade, but it does have one very annoying limitation:
It *will* *not* allow me to run 3 monitors at once.
Found this out for certain when I first got it and plugged one into each Thunderbolt port, and then another into HDMI, producing a courteous notice that I needed to remove one of them due to GPU limitations.
Anyone who knows more about hardware than me able to speculate if the new one might be able to support said extra monitor?14 -
So we're doing this contract work for this other company and the project is just an overcomplicated piece of garbage where they shoved every buzzword technology into it just because. I managed to get the code just about organized and functional on our side of the contract and it was looking up when suddenly the management decides "we had a rough start, lets start over, learning from our mistakes"
So I was thinking "cool, there were a lot of problems with this overcomplicated pre-optimized stack, surely we can only do better".. oh boy how naive I was. See Im not the guy in charge of the infrastructure (unfortunately) and really the project structure across this huge multi service project is a free-for-all kind of management.. so we had a call on friday where they explained how the new structure should be built... 3 new technologies, more micro services and even worse dependency tree later I was contemplating suicide on the spot.
I tried to make this shit usable and efficient and all my fucking work went down the drain in a single day of these fuckers throwing more buzzwords at the problem... I can't even get a new empty project started without browsing our huge 100+ repo project git for which dependency Im still missing to even run it...
I fucking hate this retarded piece of crap project and I hope every "manager" and "developer" with an exception of very few chokes on a cock...2 -
I just fucked up real bad:
My phone was giving some error about not being able to install an update. Fair enough, i think to myself, so i try rebooting. Still nothing...
I then remember that i at some point OEM unlocked it for some testing, so i start up adb and see if i can connect during the update process. I can't. This is bad: I can't get into my home environment, nor can i connect with adb
Then i try booting into recovery, but instead of booting to ACTUAL recovery, it boots to some custom made "E-Recovery" made by huawei (my phone is a huawei p9 lite), which only gives me the option to download the update, which crashes, and no way of resetting. However, from here, i am finally able to connect to my internal storage via hisuite to make a backup
Next up: Bootloader
So i next load up the unlocked bootloader to try and manually flash the update. That works great, but it still wont boot normally. So i figure: it must think my device is in fact a different device. At this point i'm pretty fucked: Even though i have my data backed up, i can't manually download the update from huawei's site because i don't have the right keys, and i can't download an OTA because their site sucks and half of the downloads don't work, including the one i need. So now i'm stuck here with a bricked phone because EMUI doesn't know how to install an update.
I then did the stupidest thing i have done to date: i wanted to flash a custom recovery image over the "E-Recovery" in order to do some troubleshooting, but instead of writing
"fastboot (mydeviceid) flash recovery recovery.img"
I wrote
"fastboot (mydeviceid) flash boot recovery.img"
Meaning i flashed my BOOT partition with a custom recovery image that turned out to not be able to run. Great! Now i've totally fucked my boot sequence
I can't call their support line either, because as soon as they realize i've tried to restore it myself, and therefor had my OEM unlocked, they basically just hang up.7 -
Hey guys
I'm trying to do something different from the usual and need your help.
I want to install linuxCNC in a pen drive (as in a live CD, but with the file system in the PEN which is usable)
I want to plug it into my mother's laptop, use it with my machines, then just unplug and it will run the native windows for my father.
How can I do this'?
I only find Live CDs, and I'm afraid of ruining my OS when If I try to install (afraid of installing on the SSD instead of the PEN).10 -
Run a script, get a shit load of "Permission denied" error message... So I stop it by pressing Ctrl+C
Look at the script again there is this little line:
rm -rf $TMP_DIR/*
Look into the script again and again, $TMP_DIR is never defined...2 -
Any Microsoft employees who work on SharePoint here? DROP AND GIMME 20!
OMG, you need some blood to run into that walnut sized brain you have on top of your head.
This thing is such a piece of shit. While I subscribe to Chaos Theory, you are not suppose to implement it in a god damn user interface!
This fucking thing sometimes shows controls, sometimes does not. Sometimes some features are available on a section when you access it one way, and then accessing it a different way removes some capabilities from the menus and adds others.
While I subscribe to the theory that there is no such thing as "random" in the universe, this piece of 🐒💩 makes me start to doubt reality. It is not software, it is cochroach infested gaslightware.
God damn you microsoft fuckers piss me off with your ShitPot web hackware.1 -
Fucking windows updates...
Went to do a job on a tank in 18 deg F Weather with snow on the ground. One guy brought an ice fishing tent (very nice). This is next to petroleum tank. We got guys on top of tank waiting for me to get data using a Windows 10 lappy.
Lappy comes up and tries to get into bios to do a firmware update. WTF! I reboot and it does it again! Go to look for power adapter as it wont do update without power. Not in bag. It has to have power to do update.
So I drive back to shop (with guys waiting on top of tank) which is 5 miles away. I am pissed. Its snowing and I have to drive slow. I find that adapter. I get back to the tank and plug it in. The AC source (battery based) starts alarming as the lappy takes too much power. Fuck! But somehow it boots Windows without doing firmware update. Fuck you Windows!
I get my job done, but don't fucking trust windows at all. Had this been a field tech he would be pissing his pants. Useless shitty software you have zero control over. Now considering changing their OS to Linux for field work. I am rewriting their software anyway with something can run Windows or Linux.4 -
Not a rant but wanted to get some thoughts from everyone.
I have health problems and unfortunately just had a seizure a few days ago.... Below is directed at my managers. They are nice guys and when I do get back I need them to accommodate although I feel the entire team should be run like this.
Now taking a step back, I see I need to reestablish my way of doing things/mojo. I cannot handle constant chaos and changes. I have to be in a calm, relaxed environment where I can think and enjoy coding: finding and building solutions. That's the summary of how I got into programming and learned to pick things up.
Furthermore, the ideas of the Phoenix Project and what I've shared over the years are actually what I need to be able to perform and excel. Probably the same for everyone and a good way to preempt burnout. It's just in this case, I am the first to go. I cannot be jumping around all the time and need to establish a comfort/expertise zone (but I do and can extend out when given enough time and opportunity).
I'm thinking the EU team probably operates like this, in a calm and orderly environment, less the rare issues.8 -
by this point I just hate rust for being inconsistent
made a cargo command with clap
it works if you run it directly but if you install it with cargo globally then evidently it's for no reason sending in an extra argument into the program which messes everything up
of course clap has no documentation about this so I jank my way to just work around the issue by parsing the arguments before I give them to clap
and on cargo -- list my command doesn't have a description even though the thing I copied has a working description in that listing, and my cargo file has a description, and clap is happily inferring my description from said cargo file
chatGPT thinks I just need the description field filled in the cargo file and it'll work. well it doesn't.
how is a language this young and this much of a mess already
why the hell did they randomly decide to pass in extra arguments? argh.1 -
every time I run into some issue in rust and spend days googling and asking a billion AI chat bots turns out it was rust that was wrong
I'm so exhausted
do they have brain worms
nobody considers "hey maybe this feature isn't in yet" (and actually they'll argue against it being a feature and you should feel bad at coming up with it)
they're just like "you're doing it wrong!"
YOU HAVE ALL THE INFORMATION TO INFER THE TYPE AND YOU DID INFER THE TYPE YET YOU TELL ME I NEED TO ANNOTATE THE TYPE BUT YOU'VE INFERRED IT AND YOU CANT TELL ME WHY I NEED TO ANNOTATE IT
And I love how suddenly you can convert a Result object using `as` which is a keyword reserved only for primitives, so say the docs... and it works (and works at runtime as well). because the type was never wrong. you fucking inferred it. but you're bitching at me that you need an annotation. when you don't.
remember when languages were made by people that actually liked coding instead of this clout-chasing nonsense. that's what I'm blaming this on11 -
Best:
Seeing ALL the members of my team finally coming into their own. One person tackled our entire not-at-all-simple CI/CD setup from scratch knowing nothing about any of it and, while not without bumps in the road, did an excellent job overall (and then did the same for some other projects since he found himself being the SME). Two of my more junior people took on some difficult tasks that required them to design and build some tricky features from the ground-up, rather than me giving them a ton of guidance, design and even a start on the basic code early on (I just gave them some general descriptions of what I was looking for and then let them run with it). Again, not without some hiccups, but they ultimately delivered and learned a lot in the process and, I think, gained a new sense of self-confidence, which to me is the real win. And my other person handled some tricky high-level stuff that got him deep in the weeds of all the corporate procedures I'd normally shield them all from and did very well with it (and like the other person, wound up being an SME and doing it for some other projects after that). It took a while to get here, but I finally feel like I don't need to do all the really difficult stuff myself, I can count on them now, and they, I think, no longer feel like they're in over their heads if I throw something difficult at them.
Worst:
A few critical bugs slipped into production this year, with a few requiring some after-hours heroics to deal with (and, unfortunately, due to the timing, it all fell on me). Of course, that just tells us that next year we really need to focus on more robust automated testing (though, in reality, at least one of the issues almost certainly would not - COULD NOT - have been caught before-hand anyway, and that's probably true for more than just one of them). We had avoided major issues the previous three years we've been live, so this was unusual. Then again, it's in a way a symptom of success because with more users and more usage, both of which exploded this year, typically does come more issues discovered, so I guess it tempers the bad just a little bit.2 -
So, for my final year project I'm tasked with creating a mobile app for iOS and Android.
A YouTuber I watch avidly decides to go with Xamarin for his next app. Cool, I think: I'll go with Xamarin for my app too (I'd like to test run the app on PCs just for fun).
Looks for Xamarin tutorials, nice, found one! Goes into VS, creates a new project. I add "Hello World" to the centre of the screen.
*F5* Build started... 5 minutes later I come back and it failed. No reason why it failed, all parentheses closed, semicolon at the end of my only line of code.
Watches YouTuber's new video, he has the same problem ( ´ ▽ ` )ノ. He adds a button, builds, build fails. Tries a second time, build succeeds. And this goes on for a couple of minutes while he's troubleshooting the problem.
Oh well. Time for hell I guess.14 -
Fuck Drupal. Fuck the work environment I have, and fuck CMS in general.
I have a task that consists into removing any @extend from the different SCSS files so the compiled file is lighter than before (so far it went from 10mb to 750kb). Everything went okay but suddenly PHP decides that the fuckton memory it has isn't enough anymore and wants more. And makes VirtualBox freeze. Which makes Windows 8.1 freeze. It's 11:10 AM when I write these lines and I haven't been able to do SHIT since 9 AM.
The lead developer just told me "you touched some PHP code you shouldn't have approached in the first place". DUDE I haven't written anything in PHP IN TWO WEEKS !
Also, why does fucking Kint exists, when Laravel has dd() and Symfony has var_dump, and they work as fine as Kint, but they don't need 580 Tb of RAM to run and load a fucking page?
Having to work with this fuckery of a CMS is something, but having to work with Windows 8.1 makes me feel like working on some cancer with a computer built before the first World War
Now I finally go back to work, that's cool, I only lost 2h30 of my fucking day doing nothing but restarting VirtualBox and my fucking computer. FUCKING YAY.1 -
Front-end web development is like a fucking cancer to me right now
I need the following behavior from my development environment if I don't want the webdev experience to destroy my sanity and tempt me into suicide by making me waste my valuable lifetime configuring shit that is ultimately meaningless to the software I'm trying to create:
- I should be able to open the webpage in the browser at localhost:<some-port>
- the page should refresh immediately as I save my files
- I should be able to import node modules installed with npm without using a script tag linking to some CDN (for instance, I want to do a get request with axios instead of the fetch API)
- I should be able to do this without spending more than two minutes reading the documentation for a tool that would enable me to do it, ideally without ever coming even close to touching a configuration file
Right now I know about browser-sync and webpack, or webpack-dev-server or some such fucking shit fuck fucking fuck.
browser-sync seems to fulfill most of these needs, except that I can't seem to bring npm modules into my application and import them. Webpack seems to be able to do this, but at the cost of slowly throwing my life away reading documentation for over-complicated configuration files that do not aid me in actual software creation and therefore do not interest me and never will, all in the hope that I *may* at some point dig out enough shit to find how to do such a use case (i.e. seamless, smooth web development) that to me feels reasonably common and expected.
Is there some tool that enables me to do *seamless*, pleasurable web development without the hassles of over-complication and over-engineering? Is there some hidden command for webpack that allows me to run such simple shit without ever needing to edit some pointless configuration file?
Please, I beg of you, let me know.8 -
Today I wanted to automate checking the status of running jobs. There's a UI but navigating it is tedious and I sort of wanted a Dashboard.
So I started writing a Selenium app to automate it. I'm writing the code, inspecting all the inputs. And I'm looking "woah, all of them have nice ids... This should be easy"
Login is ok, but then run into IFrames (can't find the input elements on the page itself).
Fine Google... find the answer and so try again. But wait... It doesn't work???
There's apparently 9 of them on the page. And there's no easy way to identify the correct one...
Spent an hr trying different ways of locating the right one... eventually settling on very complex XPath...
All in all though it took 2 hours... And still not done... -
I'm really fed up working with android studio.
I had to use it on my vocational training. I had lubuntu there, and we weren't allowed to bring along our own laptops. In my desktop I had ubuntu and windows 7.
I had to work with my project made in lubuntu at home, and it didn't work, on neither OS. I eventually tested I wasn't able to run the project cross plataform thanks to my desktop, but when I installed android studio on my laptop, it seems like it doesn't work with the same OS but a slightly (one week) version later.
I had to scrap the whole project on my desktop, copy the laptop's installer into desktop's window and make it all over again in order to be able to use the same project in both of them.... Until I updated. I updated both of them without reinstalling them, and the gradle never agreed again.
After two years I'm trying again and this problem still exists... And gradle is now even slower to crash. -
So, i'm trying to get linkr (a pretty cool short link service) to work in a docker container since 4 hours now to host it on my server. There is no official container because it needs a working database connection and stuff during installation which can only be done via console and (for whatever reason I couldn't find out yet) need to be done while building the container. The problem is, I can't connect it to the database while building the container so there is no database during installation to create tables and stuff and the build will fail. ARGH.
Why the hell would you do this????? Theyre actually saying in their readme there is no dockerfile because the config options are specific to your configuration...?!?!
The thing is entirely written in python, so reading and parsing configfiles on the fly should not really be a problem.
Of course I could ssh into the container and run the installation script but that's not the point.
Docker is not about being lazy.
It's about portability.
Maybe I don't want to bloat my server with your 39579372639 npm dependencies? Or I don't want to install a freakin apache, because I have every other site on nginx and therefore wouldn't work with apache.
AAAAAAAARRRRRRGGHHGGGGG
in the end, I'm probably going to modify the thing to install tables when running the container and giving the first user admin rights instead of prompting to enter credentials for a new admin user.
And yet I didn't even speak python. -
I got a new computer. Ended up getting a Sager Laptop. I also ended up getting Windows 10 Pro. I had forgotten how shitty Windows 10 has gotten. My biggest gripe are the start button (fixed using open shell) and the creation and adding users. Microshit goes out of their way to trick you into getting a POS MS account. I knew the trick when my PC first started to stay offline so MS could not force a MS account. However, I added a user later and again they are fucking with you to force a user account. Figured out which non-descript place to click to just add a local account. This is shitty behavior of an OS. Especially one that claims to be Pro. This is not how to win customers. It just aggravates people that know what they are doing.
The bright side to this is could take out my frustration after I moved my Fallout 4 setup to the new computer. Mod Organizer 2 makes it easy to move everything at once. Configured one config file and boom I can now run it on Ultra settings. Explode a few skulls and reduce a few more to radioactive ash/goo. Frustrations are gone. lol
Also on the bright side with running Pro. I can select Update control via group policy. This doesn't seem to work on Home.13 -
Feeling over stressed, over worked and highly underpaid for all this effort. Worst of all I feel the passion leaving me for this work.
I graduated a boot camp last April and was blessed to contract part time at a startup learning how to work in the unity game engine. The team is two other guys, both super smart snd been working in this field for a long time. Since then I’ve added personal projects, finished a data structures and algorithms course and started the Leet code grind. I told this startup that I’d start looking for full time employee positions soon and they understand. They couldn’t offer me much money, or stock options, just experience they said. I feel like I’ve basically been grinding 24/7 since May. I’m going to run out of money soon and it’s all starting to take a toll on my body and mind. I never really sit on the couch or watch something anymore because I feel I should be doing something productive. This just makes me feel like everything I’m doing is meaningless and without impact. I feel like a wheel turning endlessly in sand and not moving forward. I even feel it zapping my passion for developing.
I just can’t help but feel that I’m burning out here. I have a new experimental feature to do for the startup and the amount of things to learn seems overwhelming. Especially with Leet code and interviews coming up. The two other devs on the team are extremely busy as this is a part time endeavor for everyone. I’m also in a relationship I started to feel detached from which causes it’s own stress. I love VR and AR which is why I chose this startup to learn Unity. Now I just feel like I’m dividing my efforts too much. I’m shitty at unity and also less good at web dev than I would have been if I focused on it purely after boot camp grad. On the plus side I will say I’m doing what I want. I just can’t help but feel like that damn tire in the sand turning without traction. And I feel the patience in me for self learning the basics and iteration over a complex project is waning. Without patience the learning is rushed and I don’t learn shit. I also make dumb mistake and “hope” I don’t run into errors. I feel I’m just trying to bang it out for the startup instead of use it learn cool shit. Anyways it feels good to rant. I can’t wait for a full time job, established work hours, and decent pay so I can live life and have off time.
I assume wherever I go I’ll always be in a spot where I need to figure how to get xyz done with minimal help or oversight. I just would like to be paid for it.8 -
... worst drunk coding experience?
none. or to be more precise, all of the three of them I had. I can't code drunk, i hate doing it, i hatw even thinking about doing it when drunk.
so after those initial three attempts i don't try to do it again, ever.
BUT, best coding experience while high?
ALL OF THEM.
some of the best pieces of code I wrote i did when I was high. my mind goes into overdrive at those times, and my thinking is not lines/threads of thought, but TREES of thought, branching and branching, all nodes of each layer of the tree coming to me AT ONCE, one packet == whole layer across all of the branches.
and the best was when one day, in about 14 hour marathon of coding while high, i wrote from scratch a whole vertical slice of my AI system that i've been toying around in my head for several years prior, and I had all of the high-level concepts ALMOST down, but could never specify them into concrete implementations.
and I do mean MY ai system, my own design, from the ground up, mixing principles of neural networks and neuropsychology/human brain that I still haven't seen even mentioned anywhere.
autonomous game ai which percieves and explores its environment and tools within it via code reflection, remembers and learns, uses tools, makes decisions for itself for its own well-being.
in the end, i had a testbed with person, zombie and shotgun.
all they had pre-defined in their brains were concepts of hunger and health. nothing more.
upon launching it, zombie realized it wants to feed, approached oblivious person, and started eating it.
at which point, purely out of how the system worked, person realized: "this hurts, the hurt is caused by zombie, therefore i hate zombie, therefore i want to hurt it", then looked around, saw the shotgun, inspected its class by reflection, realized "this can hurt stuff", picked the shotgun up, and shot the zombie.
remembered all of that, and upon seeing another zombie, shot it immediately.
it was a complete system, all it needed to become full-fledged thing was adding more concepts and usable objects, and it would automatically be able to create complex multi-stage, multi-element plans to achieve its goals/needs/wants and execute them. and the system was designed in such a way that by just adding a dictionary of natural language words for the concept objects on top of it, it should have been able to generate (crude but functional) english sentences to "talk" about its memories, explain what happened when, how it reacted, what it did and why, just by exploring the memory graph the same way as when it was doing its decision process... and by reversing the function, it should have been able to recieve (crude) english sentences that would make it learn what happened somewhere else in the gameworld to someone else, how to use stuff and tell it what to do, as in, actually transfer actual actionable usable knowledge to it...
it felt amazing to code for 14 hours straight, with no testruns during that, run it for the first time after those 14 hours, and see that happen.
and it did, i swear! while i was coding, i was routinely just realizing typos and mistakes i did 5-20 minutes ago, 4 files/classes ago! the kind you (and i) usually notice only when you try to run the thing and it bugs out.
it was a transcendental experience.
and then, two days later, i don't remember anymore what happened, but i lost all of that code.
and since then, i never mustered enough strength and resolve to try and write the whole thing again.
... that was like 4 years ago.
i hope that miracle will happen again one day...3 -
The best moments are when you've been struggling with an implementation for a few days, and then things start to work. I had this happen last week. I have a Windows desktop app processing product dimensional data from multiple warehouses, then sending that data across the country and transposing into a data lake, joining several databases, and sending detailed reports. It was a struggle from start to finish, with lots of permissions issues, use cases to consider, and data accuracy. Finally, I break through and when I step back, I get to see this well-oiled machine of conjoined ideas run through to its eloquent, seemingly fleeting, conclusion. That feeling you get that makes you throw your hands in the air for a job well done! It's very exciting.
-
Another 'fun' rant
Wrote a new server application and got the request from customer services to make it compatible with a slightly older DB version.
Today, CS asked me to install everything on the customer's test environment so I made a build and installed it there.
Wanted to run the service, no .Net framework 4.7.1 installed. Fine, download the installer ...
Start installing .Net framework 'unsupported OS'. Started looking into it. Customer is still running an old unsupported Windows Server 2008 ...
Asked some colleagues whether this was normal. Apparently, yes.
Seems CS isn't capable of telling customers to at least have a supported windows version when they want our software. As if security issues due to people here not understanding TCP/IP isn't enough, we now have security issues due to old, unsupported Windows versions.
Note to self: never trust anyone who says that 'security is the most important thing in our software enviornment'. -
Uni team project. Our presentation was on Friday. Code and report submission this Monday. We have to write on the report the % of work each person has done. One certain member of this team has been steadily moving functions other people have done into his personal package area to "clean up the code" and will edit your files without permission to clean them too. If it were from anyone else I would not be suspicious, but this person has proved himself to be a snake. The result of his efforts? Breaks your fucking code, let's him claim ownership when you run a git blame on your own files and the functions you made he can now claim responsibility for. Actual fucking bastard I'm going to murder this little fuck. Doing zero fucking work except breaking other people's and claiming a larger % of the work done than anyone else. Uuugh.
-
So following my previous post, the issue happened again. And actually for background what I've been telling my boss, for years, we need ELK setup and integrated into all our APIs ASAP.
I think it's a punishable crime if any program is released into prod at a tech company with out real time logging/monitoring built in?
So issue still happening, user sent us the request details. So now need to find the actual now that handles the request and look into it's logs to see the details.
Now he's doing it the hard way.... Just finished took 1hr, and the best answer her can come up with is "I think .... Maybe ..."
And if course this is based on infinite data. He stopped after finding a "probably cause"
I have a script that is like promotion ELK, downloads all looks and parsed then so I can run queries to pinpoint the exact call and which log it's in. And can see what's happening around it.
We'll see what my way find but definitely does not take more than 1hr...
Loading data maybe but that's because it needs to download the logs and parse them all...
On a side note, guess I'm Beck on devrant as I have something to rant about. Though it's the same something that I was wanting about years ago... Monkeys...1 -
!rant, but not sure if it's a question either.
I've kind of run into a wall when it comes to programming lately. I'm following this course on Udemy for Python, but the next section (that I need to do to be able to continue) uses (outdated) bokeh stuff, and I don't know enough to be able to figure out how to get the same output without much hair-tearing and frustration.
To clarify, the videos uses bokeh.charts, but then there's a note added that says to use bkcharts, which is still outdated, so it doesn't help at all. I did contact the course tutor about it, and he is aware of it but he's got a lot of stuff going on, so I don't know when he'll have time to fix it. In the meantime, I'm stuck and severely lacking in the intellectual stimulation that is programming. :(
I -have- been trying to work on independent projects, but my problem is mostly that I just don't seem to be a frontend kinda guy, so I end up with only halfway-finished stuff. Does any poor soul here have advice on where to look, or (less likely) even have time to explain some stuff?2 -
The adventurous world of javascript and typescript never ceases to amaze me.
I'm investigating some paths to take for migrating this legacy project which has incurred some technical debt. Because of... reasons... even the frontend Vue project needs to be built on a Windows system. No, you can take your hands down, even wsl or docker aren't alternatives here. It's a long story and ties in with said debt.
I'm keen on rebooting the entire frontend using a newer Vue cli and scaffold up all the essentials like eslint and typescript which is currently not used. This is gonna be sweet.
Except, typescript (BY Microsoft) doesn't play well on a Windows (BY Microsoft) filesystem because of a recent change to support - get this - wsl. I can't decide if it's hilariously ironic or genius.
This response about sums up my current mood. https://github.com/Microsoft/...
Of course, further digging in other repos like node only turns up issues closed due to it being on Windows' end.
So now my readme has a troubleshooting section describing how to make changes to your filesystem if you run into issues in Windows and I want to go home.6 -
I missed this last week... so too bad ;)
My introduction into programming was rather slow. When I was a child, we had an Apple IIc, but there were no disks. When you'd boot it up, you got a prompt and I recall being able to type commands into it that someone told me was "Apple BASIC".
At the same time, our family computer was a 386 and it came with something called GWBasic. I was a huge Mortal Kombat fan as well, and I recall finding the moves for the game on an AOL usenet. I took them all and wrote a program in BASIC that let you search and find moves for your character. I distributed this on some floppies to friends.
After that I lost interest. My "Information Systems" shop in high school was more about how to use Office than it was about programming. A few years later I found out that you could run your own text-based games (MUDs) and I quickly jumped into that and the C language.
From there, I was in and out of programming - C, to C++. Java and PHP, then back to Java. It would be about 15 years later until I finally realized I wasn't bad at this and land a job doing it. :) -
I have this habit of whenever I run up against an issue at work programming-wise (a step definition doesn’t behave the way I think it should, I have an error in the console when I attempt to do something and have to work out how to clear the error, etc.), I document the issue and the solution somewhere in the Slack.
This serves two purposes: discoverability for others who might run into that issue later and DISCOVERABILITY FOR MYSELF WHEN I INEVITABLY ENCOUNTER THE SAME ISSUE.1 -
Why is it that every time I want to make some dead simple script with Python it turns into the utmost awful programming experience?
Ah no you see you have to install this dependency but even if pip doesn't give you an error your script will still crash on import and vomit up some ugly back trace that doesn't tell you anything.
And then some retarded sub sub dependency wants to run on Python 2 and that has its entire own shithole of dependency hell.
And then for some unknown reason the Python installation wasn't compiled with zlib and some library wants it so you either you compile the entire thing yourself or idk go fuck yourself?
Why is this hot mess of a language still in use? I dont get it, it's easier to set up a cmake project with C++ for gods sake.4 -
Alright so I’ve already made a few posts about this but this time I kinda just want a general discussion and these are some questions I have.
So when you look at a open source project or just any project that you haven’t messed with, how do you start,
How do you handle messy code,
How do you know how to navigate the project or get around the confusion on the layout of the file,
How do you make sense of how/why the project is organized the way it is,
There have been times where I’ve tried and used one of the projects but it doesn’t work when it is supposed to already be working how do you handle those moments when there’s no error messages,
and (if you’re me) how to build/run the project
These are some of the major problems I run into when I try to start and they intimidate me heavily when I start to try to contribute to a project. I know I can just adjust the documentation or spell check which I will, but I also want to fix some bugs or add sumn. But yeah these are just things that I have problems with because I’ve only really ever worked with my code and projects so this is all still new to me and I’d like to hear your thoughts20 -
Was fixing this time date issue on the servers and forgot how to. Ran $ man date
If I was still single, I'd cry. And if I get divorced, I would not know how to get into the game at all. I just hope the next time I run this would definitely help me get my life together, or fix this time drift properly. -
So, i have that assignment about docker stuff. nifty piece of software i must say.
anyways im installing docker software on windows bc im thinking if i have something that gives me at least the correct structure and some skeletal syntax i will have a faster grasp of the thing. expecting some sort of high level ide but end up instead with what looks like a blank window, with the only obvious choice being sign into some bullshit i dont need. but thats another story
my point is:
when installing the thing it prompted me to install WSL2. which i supposedly am not supposed to have because my cpu doesnt support intel virtualisation. but being impatient (thats why i came to look for an assisted solution), i pursued the installation.
lo and behold: i end up with a shell prompt at the root of a linux filesystem!
i ran 2 or 3 muscle-memory commands and closed the prompt, i was in docker stuff up to the neck.
later on, when i go back to my project, in a virtual machine its sluggish af and screams at me that amd-v is not supported because of something something nested pages (will look up later how that one works).
dont have time to explore it some more yet, and especially experiment or even barely look at this glorious mess because i have something barely working and no time to have it fail.
but this story definitely left me perplexed.
and also : you can run WSL2 on an fx83508 -
So. My new machine at work has decided that running visual studio is too hard and our build script has decided that building vcxproj files is too hard. And our one sysadmin for our team of 100+ is the only one allowed to fix it.
Luckily I have an old box that *only* takes 45 minutes to run our build, a hangover, apparently I am going through early manopause because it is hot as fuck in this office, and today is the day that everyone wants to loudly ask every question ever.
I guess what I am saying is I blame everyone else for my bad decisions and project them into my you-me instead of focusing on my me-me. Also I really don't want to talk to the S.A. He is difficult.undefined this place is a tinder box spiritual awakening fucking dad who thought a 1 to 100 ratio was a good idea -
OK, so with a lot of free time on my hands, I figured I'll finally sit down and figure out how to use Xcode and write iOS apps.
Hit the iBookstore and check out the latest version of their guide to "App Development in Swift", and...promptly run into a brick wall because it's based on Xcode 10 and Xcode 11 seems to organize projects in a completely different manner.
Decide I'll just hit developer.apple.com and check the resources there...to find they're all written for Xcode 8.
Online tutorials have been mostly misses because of mutual incompatibilities between different versions of Swift rendering anything but the latest version useless, it seems.
Which is a long way of asking, does anyone know of any good resources for someone trying to finally figure all this out?5 -
I’ve been ill and injured a lot over the last 8 months or so, and i also quit smoking 2 months ago so I’ve put on a bit of extra padding.
I need to loose weight as I’m getting married in August and I want my suit to fit.
Anyway I’ve started eating a little bit healthier, and I’m gradually getting back into exercise (taking it slowly as don’t want to re-injur myself, and need to get my body used to it again)
This has presented 2 problems, the first is that after a run I smell like a tramps ball bag, and the second is I’m impatient and can’t do the sort of training that I used to do.
But, onwards and upwards, and even with no exercise I can still run 2 miles non stop in less than 20 minutes, not going to win any awards but not too bad all things considered.1 -
On https://reactjs.org/docs/... it is declared that useEffect runs after render is done.
However... if you put into useEffect an expensive calculation or operation e.g. "add +1 to x billion times", it will get stuck after updating the data, but before the re-render is done.
This leads to inconsistency between the DOM and the state which I believe is a foundational point of react. Moreover, the statement that "useEffect runs after render" is false.
See also: https://stackoverflow.com/questions...
The solution is to add a timeout to that expensive operation, e.g. 50 ms so the re-render can finish itself.
The integrity of my belief in react has received a shrapnel today. Argh :D Guys, how this can be? It seems that useEffect is not being run after re-render.13 -
I decided to use Docker Compose on a tiny project that essentially consists of an API and a Caddy server that serves static files and proxies to the API, all of this running on an EC2 t1-nano. I made this admittedly odd choice because I wanted to learn Compose and simultaneously forego figuring out why the node-gyp bindings for sqlite3 refuse to build on EC2 even though it builds just fine on my machine.
I am storing secrets in .env which is committed into the private GH repo. Just now I came across a rant that described the same security practice and it sounded pretty bad from an outside perspective so I decided to research alternatives.
Apparently professional methods for storing secrets generally have higher system requirements than a t1-nano. I'm not looking for a complex service orchestration system, I'm not trying to run an enterprise on this poor little cloud-based raspberry pi. I just want to move my secrets out of the Git repo,
Any tips?9 -
Making a hard switch to ubuntu on my desktop at home. Getting just a teeny tiny, tad, bit: absolutely fucking livid....
Trying to learn ansible, vagrant, and docker more in depth for both work and my personal projects. All that I’ve been doing is just spinning my wheels trying to figure out the stupid fuck-mothering quirks with running this shit on Windows. Yes you absolutely can use all of these tools on a Windows box. There’s plenty of ports, patches, and workarounds. But I have spent all day trying to build a few vagrant boxes and use ansible to set them up. Simple LAMP stack boxes on CentOS7. Nothing major... unfortunately I spent like 90-110 minutes trying to figure out why virtualbox wouldn’t run properly. Dumbass me forgot that I installed Hyper-V ages ago.
O...K.... whelp... hyperv provider it is...
Luckily it only took about 15 minutes to determine that Hyperv’s networking can’t be setup from vagrant because vagrant doesn’t know how to interact with the hyperv - vswitch. So networking config is ignored and all VMs run on default switch (NAT) which is annoying but workable.
Ran into other issues trying to stay SSH’ed into the VM. PowerShell core (6) ssh’es into the box perfectly fine, but every time I opened vi to edit configs my terminal color scheme and fonts got fucked harder than a 2 dollar hooker on nickel night.
I’m a bright-green text on black background kinda guy. However the terminal kept changing to bright-red text on white background! It was like getting skull-fucked by a minotaur.
After a while I said fuck it, let’s try putty. Vagrant was using it’s own ssh keypair for the boxes, at work on my mac. Works like a dream. Putty failed me hard and shit the bed, kept getting all kinds of keypair errors. At this point I was finished spent too long trying to make shit work correctly on this jankbox. With enough time and patience I probably could’ve figured all of these problems out. I’m certain that at least 70% of them were caused by user error. I’m known by many as the walking ID-10t.
But alas, I have no time left in the day to fuck around with shit that doesn’t work immediately for morons like myself. My only hang up for the longest time with a complete switch to Linux was gaming. But with Proton and WINE I’m comfortable with giving it the ol’ college try. (Shhhh, don’t remind me I dropped out of college...
...Thrice.)
The gamble here is that I’ll give more than 2 halves of a fuck about trying to get my games working. A Study environment and materials for certs and general training won’t be getting anywhere near my full attention.
So, at long last, I hope this attempt at a full *nix switch finally sticks!!!
👾2 -
Uhhh so my phone doesn't wanna connect to the WiFi at my parents house.
Tried everything I know to do, and it's still not working. I can connect to my wifi at my apartment, the wifi at the Spectrum hotspots around cities. But not theirs.
As a temporary hold over, I'm using my laptop as a mobile hotspot. It'll have to do for now, I guess.
(Anyone else using Q, lmk if you run into any issue like this as well.)7 -
!Rant
TL;DR - Getting married can lead to installing life malware.
MARRIAGE SOFTWARE....
A young husband wrote this to a Systems Analyst -
(Marriage Software Div);
Dear Systems Analyst,
I am desperate for some help! I recently upgraded my program from Girlfriend 7.0 to Wife 1.0 and found that the new program began unexpected Child Processing and also took up a lot of space and valuable resources. This wasn't mentioned in the product brochure.
In addition Wife 1.0 installs itself into all other programs and launches during systems initialization and then it monitors all other system activities.
Applications such as "Boys' Night out 2.5" and "Golf 5.3" no longer run, and crashes the system whenever selected.
Attempting to operate selected "Soccer 6.3" always fails and "Shopping 7.1" runs instead.
I cannot seem to keep Wife 1.0 in the background whilst attempting to run any of my favorite applications. Be it online or offline.
.
I am thinking of going back to "Girlfriend 7.0", but uninstall doesn't work on this program. Can you please help?
.... The Systems Analyst replied:
Dear Customer,
This is a very common problem resulting from a basic misunderstanding of the functions of the Wife 1.0 program.
Many customers upgrade from Girlfriend 7.0 to Wife 1.0 thinking that Wife 1.0 is merely a UTILITY AND ENTERTAINMENT PROGRAM.
Actually, Wife 1.0 is an OPERATING SYSTEM designed by its Creator to run everything on your current platform.
You are unlikely to be able to purge Wife 1.0 and still convert back to Girlfriend 7.0, as Wife 1.0 was not designed to do this and it is impossible to uninstall, delete or purge the program files from the System once it is installed.
Some people have tried to install Girlfriend 8.0 or Wife 2.0 but have ended up with even more problems. (See Manual under Alimony/Child Support and Solicitors' Fees).
Having Wife 1.0 installed, I recommend you keep it Installed and deal with the difficulties as best as you can.
When any faults or problems occur, whatever you think has caused them, you must run the.........
C:\ APOLOGIZE\ FORGIVE ME.EXE Program and avoid attempting to use the *Esc-Key for it will freeze the entire system.
It may be necessary to run C:\ APOLOGIZE\ FORGIVE ME.EXE a number of times, and eventually hope that the operating system will return to normal.
Wife 1.0, although a very high maintenance programme, can be very rewarding.
To get the most out of it, consider buying additional Software such as "Flowers 2.0" and "Chocolates 5.0" or "HUGS\ KISSES 6.0" or "TENDERNESS\ UNDERSTANDING 10.0" or "even Eating Out Without the Kids 7.2.1" (if Child processing has already started).
DO NOT under any circumstances install "Secretary 2.1" (Short Skirt Version) or "One Nightstand 3.2" (Any Mood Version), as this is not a supported Application for Wife 1.0 and the system will almost certainly CRASH.
BEST WISHES!
Yours,"
Systems Analyst.
-----------------------------------------------
I'm not sure if this is a repost - if it is I apologise, but it's too good not to share.1 -
!rant
Tablet recommendations? I know this isn't really the place to ask but I trust you devs.
I'm just about to start back college and I'd like to have a light carry around for days I don't need my laptop. I love my 17" Dell, it's a beast and that's why I bought it but damn it's overkill for taking notes and running little things through a bash terminal. A tablet and keyboard seems like a nice idea.
Ideally, I wanna run Linux. But I'm not sure if there's a commercial tablet that facilitates OS changes easily out of the box.
No iPad. Not an apple fan, and it's just not what I'm after.
The MS surface seems pretty good, but I haven't looked too deeply into replacing the OS.
I just want a nice Linux tablet. I dunno.
Thanks!5 -
Heres the initial upgraded number fingerprinter I talked about in the past and some results and an explanation below.
Note that these are wide black images on ibb, so they appear as a tall thin strip near the top of ibb as if they're part of the website. They practically blend in. Right click the blackstrip and hit 'view image' and then zoom in.
https://ibb.co/26JmZXB
https://ibb.co/LpJpggq
https://ibb.co/Jt2Hsgt
https://ibb.co/hcxrFfV
https://ibb.co/BKZNzng
https://ibb.co/L6BtXZ4
https://ibb.co/yVHZNq4
https://ibb.co/tQXS8Hr
https://paste.ofcode.org/an4LcpkaKr...
Hastebin wouldn't save for some reason so paste.ofcode.org it is.
Not much to look at, but I was thinking I'd maybe mark the columns where gaps occur and do some statistical tests like finding the stds of the gaps, density, etc. The type test I wrote categorizes products into 11 different types, based on the value of a subset of variables taken from a vector of a couple hundred variables but I didn't want to include all that mess of code. And I was thinking of maybe running this fingerprinter on a per type basis, set to repeat, and looking for matching indexs (pixels) to see what products have in common per type.
Or maybe using them to train a classifier of some sort.
Each fingerprint of a product shares something like 16-20% of indexes with it's factors, so I'm thinking thats an avenue to explore.
What the fingerprinter does is better explained by the subfunction findAb.
The code contains a comment explaining this, but basically the function destructures a number into a series of division and subtractions, and makes a note of how many divisions in a 'run'.
Typically this is for numbers divisible by 2.
So a number like 35 might look like this, when done
p = 35
((((p-1)/2)-1)/2/2/2/2)-1
And we'd represent that as
ab(w, x, y, z)
Where w is the starting value 35 in this case,
x is the number to divide by at each step, y is the adjustment (how much to subtract by when we encounter a number not divisible by x), and z is a string or vector of our results
which looks something like
ab(35, 2, 1, [1, 4])
Why [1,4]
because we were only able to divide by 2 once, before having to subtract 1, and repeat the process. And then we had a run of 4 divisions.
And for the fingerprinter, we do this for each prime under our number p, the list returned becoming another row in our fingerprint. And then that gets converted into an image.
And again, what I find interesting is that
unknown factors of products appear to share many of these same indexes.
What I might do is for, each individual run of Ab, I might have some sort of indicator for when *another* factor is present in the current factor list for each index. So I might ask, at the given step, is the current result (derived from p), divisible by 2 *and* say, 3? If so, mark it.
And then when I run this through the fingerprinter itself, all those pixels might get marked by a different color, say, make them blue, or vary their intensity based on the number of factors present, I don't know. Whatever helps the untrained eye to pick up on leads, clues, and patterns.
If it doesn't make sense, take another look at the example:
((((p-1)/2)-1)/2/2/2/2)-1
This is semi-unique to each product. After the fact, you can remove the variable itself, and keep just the structure in question, replacing the first variable with some other number, and you get to see what pops out the otherside.
If it helps, you can think of the structure surrounding our variable p as the 'electron shell', the '-1's as bandgaps, and the runs of '2's as orbitals, with the variable at the center acting as the 'nucleus', with the factors of that nucleus acting as the protons and neutrons, or nougaty center lol.
Anyway I just wanted to share todays flavor of insanity on the off chance someone might enjoy reading it.1 -
So basically I joined this new android dev job 3 months ago. I did android dev for 2.5 years and then had a gap of 1.5 years where I did game development so Im comming back into android dev as "junior" however Im tryharding to prove myself and reach mid level as fast as I can.
I had it planned like this from the beginning: original plan was to do really good during probation period so I could ask for a raise (which I did). Now while Im waiting for answer (which will take 2-3 weeks) I need to keep the show going so I am sacrificing evenings to accomplish goals. I ham going to these teambuildings, I am volunteering in this job fair event and Im joining bars with the not-so-social devs 1-2 times a week just to "fit in" and be noticed. After getting a raise I plan to take it down a notch and somehow relax....
During the usual work week I rely on stimulants (coffee/cigarettes/concerta) to get me through the days and then I use xanax or alcohol to relax. Worst part is that I am totally drained exhausted after long working week. I dont want to go out with my girlfriend. My libido is at its lowest and we do it maybe max 2 times a week and it feels like a chore to me. It feels like I exist only for this job and only to please everyone around me and it drains me out completely.
I feel like I am burned out. I wish I could just quit this job and run away somwhere warm for 6 months to chill alone and take it easy and recover but I cant. Im stuck in a trap. I have to pay off mortgage, I have to pay off bills. I am approaching 30's soon and I became fat and balding, I want to loose weight, I wanna get a hair transplant to at least enjoy my 30's properly. Im only 28 but I already have a lot of grey hair just because of immense ammounts of stress I have to deal daily because of my ADHD and anxiety. Also my gf is kinda dissapointed that I havent proposed her in 3 years of our relationship. I feel so much pressure and obligations to the point where I feel that theres no point in living if I just exist for the needs of others. I cant imagine getting married and having a child now - life is already complicated chaotic mess as it is.
I dont't know why I throw myself 150% at projects and hyperfocus so much to the point where it becomes my priority in life? Am I compensating for my lack of executive functions by throwing lots of effort and care in hopes that I will be validated? How to learn to take it easy instead of always thinking that what Im doing is not enough?
It's not even the problem of this job. Its just me. I had my own company for 2 years and I was dealing with same burnout problems...2 -
I way under-quoted this custom CMS.
I thought ContentBuilder.js was going to be a better plugin. Documentation is lacking, I've run into a couple bugs, and the thing looks like it was built 10 years ago with iframes for image uploads...Ugh.
On top of that, I didn't realize how much work certain things would be like the drag and drop menu builder. Yea....it took 4 different plugins to find one that works well with nested items.
I'd say I'm 60% through and need to be 90%. I'll probably start cutting corners unfortunately :(2 -
Dug up decrepit FSF code from 2001 from a random Apple FTP that was indexed online, throw into toolchain from 2004 that doesn't provide extensions, and it fucking worked.
This was last week.
I don't know how the fuck DOS programs are still made for the original machines, the only decent toolchain is DJGPP but it needs 32-bit DOS extenders and a Pentium 3 with 128MB RAM minimum to run anything compiled with it, which sure as shit doesn't target appropriate DOS hardware (which is, on average, prolly a 386 with 4MB of RAM or so, considering most hardware still running meets DOOM minimum spec?)2 -
It's been a good month where honestly I had nothing to rant about. Pretty much doing my own project setting up ELK.
But last few days I had to return to the reality called teammates....
It where it ok... I mentored one of them, then did the code review yesterday
And that's when the shit hit the fan.
I told them to do X but then they did Y instead thinking that they were smart.
In hindsight they seem to have no idea wtf they were doing, inexperienced and couldn't even use console.log and JSON.stringify to debug object states...
Which course now reminded what's wrong with this team, you got people jumping around stacks and projects so they're all mediocre on all of them. Rather than having specific people being good at one of them (aka more experienced than a noob).
And if course this morning, manager asked me to look into something on a program I haven't support in a while (there are a free people that are more experienced and know the current state better). And he said this is quick and urgent... And actually when he said that I'm like uh.... don't think so....
And last thing is we had to rerun a report in production so needed the shipper ten to do it. Asked them look yesterday, users were waiting.
Today... Still not done. And well I actually can run the report myself locally.. takes 5mins but in production they need to reload the data but that should take at most 20mins... Either way... Nothing was done.
Oh and I just remembered I raised a request to it SA group to have some not script installed... That not done either.
And this is why relying on others it at least these people is a bad idea..... Unless your are capable of firing them... -
How do you think about unit testing/TDD when writing apps? (I'm working this at 3am so might be a bit messy... Just a thought I woke up to).
Whenever I write an app, I don't write unit tests but as I'm developing I may create test functions for specific parts that I run to validate a specific component is working before moving onto the next.
So first, when I get a problem, break it up into components based on the requirements. It's usually sort of input, processor, output sequence.
Where the processor is essentially the core app. And so I start coding it, referring to the input thru an interface, model objects, adding fields as I go along (assume no matter what the input, I will get these before the logic is called). I may add some more interfaces as well for other data I may need but I know won't be going in the first input.
So I write all the logic, functions needed to get a basic app to run that does what I am writing the app for.
Only then do I write a test functions passing in different parameters to make sure the logic and response is what I want and making fixes as necessary. At that point I basically have the simplest version of the app.
(I guess this is sort of like mocking?)
Then build outwards implementing and testing components as I go along and may do some simple refactoring/redesign. (I guess all these tests are functional then, have to start the whole app).
And finally when I have the basic requirements fully complete I will add the "nice to haves" on top via refactoring of specific logic in specific components. Again testing by running the app maybe with simple inputs.
I guess now I'm thinking how do you write unit tests/TDD if the app keeps changing (via adhoc refactorings) as you are creating it? -
When I was 7, I got my hands on an Amstrad CPC-464. This was my first exposure to code, copying examples out of the handbook. Shortly after that my school got their first IT suite, with thirty machines running Windows 98. I remember lunchtimes spent playing ZipZaps, a game that shamelessly capitalised on the first Fast and Furious films. I learned how to create macros in Office, and after getting a machine at home with Windows 3.1 I also learned some basic DOS. When I was 12 we got our first XP machine, which I spent hours on with MSN messenger and mucking around with scripts. That machine eventually succumbed to my brother repeatedly powering it on/off, something I still kind of hold against my mother to this day.
After going into care, I bought an old XP laptop from a friend, a machine that I used extensively. I mined my first bitcoin on that machine, bitcoin that could have made me a rich man today if I had only taken backups seriously.
My next machine came with Vista, which was upgraded to 7 shortly afterwards. This is when I got a bit more seriously into code, contributing to a game written in C++ (Armagetron Advanced, if you're interested). I also learned a great deal about automation using this machine, and when I got my second desktop machine at 18 (which at the time was still extremely out of date), I built my first working web server with IIS. I've been through four desktops since then, one of which just about survived a house fire.
Now I run a company of my own, doing development work at a lower cost for social enterprises, and developing a SaaS platform that will eventually make me a living all on its own. This year I hope to finally stop having to worry about debt, income, where I'm getting my next meal from and when I can finally be self sufficient, almost seven years since the care system spit me out after conveniently forgetting to tell me I could have stayed there until after Uni.
I am proud, though, of coming so far with no college or university degree. I'm by no means an expert, but I'd call myself proficient enough in a couple of languages to be capable of making a career of it. -
C- let's See
C is a procedurally developed language follows sequential method of solving a problem.
Example
If a teacher of an Institute teaching various subjects, Maths, English, Science and History.
Case1.One student comes and asks teacher to teach English
and next student to teach Maths,
And the other to teach History.
Case2.Next students comes for English
Case3.Other one for History.
So what I understood regarding C is procedural language is
It completes first case1,next case2, and then case3. (Task after task)
Here English is taught 2 times seperate
And History too 2 times separately making time and process complexity.
C is a platform based high level language support only desired platform. If I program in windows with i3 processor , it runs only on the same OS and Processor, if code is run in other computers.
Single threaded, if a code is interrupted in between, stops there and doesn't allow other part of the code to run.
Java
In this if the same above cases encountered then and tell
Computer to create a Class of English and tell all the students to attend the class(time saving, No complexity and not repetitive)
Same way Creating History class and make all students attend the class at once.
Students may be the objects created.
Multi threaded language, if a task is interrupted following code cannot be stopped. Allows other part of thecode to run.
JVM- Java virtual machine allows Java code into signs that can be understood by computer. Where as C converts into binary code.
A class concept added to C language become C++rant support rant learning to code want to code jvm newbie asking high level languages are cool discussions java c mistakes3 -
So I'm building this environmental monitoring system for one of the Labs to monitor Temperature and Humidity. the "software" that comes as part of the package with these sensors is really just a website you host yourself if you don't choose the cloud option. No big deal really, (see my previous rant about getting windows server through SSC) I setup IIS and get the "software" registered get a couple sensors running looks good. However I don't like the error messages that popup because it's unsecured. do some reading and I find out that most browsers will give you a warning if your not using HTTPS even if it's for internal use only. OK we'll how hard can it be in implement encryption, turns out it's not that hard and you can do it for free how with letsencrypt and other places. I like free, now i have to use SSH to get into the server and run an ACME client. Hey open SSH is part of windows now cool, download an ACME client SSH into the server and nope doesn't work. Oh right I'm behind a corporate firewall and a bunch of other shit I can't control. Why is so damn arduous to setup this god dam internal website and the problems aren't even the site. Now I'm playing with AWS spinning up an instance to be able to try and get an SSL certificate just so i don't have to tell people it's OK to trust this site ignore the big angry warning.
Best part is other similar internal sites don;t use SSL and all have big messages about someone stealing your soul if you go there and these are commercial systems that run all the HVAC for all the campuses across Canada.
I need more Tylenol. -
i am 24 and i feel like i am making some very bad choices with money.
my last few regretful stuff:
- i bought a phone when i found my current one (less than 6 months old) to be slightly less peformant. what's worse is that i don't even like that phone i purchased a lower end phone just coz i felt like experiencing a new phone brand!
- i bought an earpods when i lost my old one. whats worse is that they are lost somewhere at home, and i might find them once i life some beds and other heavy stuff ( although i searched significantly)
- i bought a freaking macbook some months ago. i guess that's not a majorly had investment but its being rarely used as i can't play any games in it(feel like it's a good thing though) and i have to sometimes vsit my old hp laptop to run some softwares as m1 sometimes sucks
- i got into an argument with my dad and recently slammed their phone on floor, then bought them a new one . i regret my angry self that day
- i got myself a personal trainer at gym for additional fees even though i am a beginner. our gym has 4 trainers and they provide basic directions for free of cost , i did not needed that guy.
- i recently bought a few track suits which , although i don't regret buying, i felt that i could get them at cheaper price at my local markets.
plus there are many other stuff that if i look into my amazon or flipkart history , i will regret more.
i need help with this shit. i am spending like 5-20% of my salary on regretful stuff, so its not a bad ratio but i still need to control.
send help :'(9 -
Right guys and gals, I need your opinions.
Recently was approached by a recruiter who thought I’d be a good fit for a role, a role that is a step up from senior dev but without moving into people / project management.
More like a bridge between architects and senior devs.
I thought what the hell, why not. So I agreed to go for it.
It could be quite a decent payrise (though that wasn’t my motivation for going for it) and I like the idea of doing more mentoring, design and research than I do now. It would involve stuff like learning new tech, coming up with examples and implementations of how the dev team need to use it to churn out user stories.
For the last few years I’ve been mainly a back end developer, which didn’t start by choice and I always liked to be full stack.
But the recruitment process for this role has been quite slow (number of reasons) and since then I’ve been given a new piece of work at my current employer doing some greenfield angular work, plus the c# back end.
I’m really, really enjoying this angular work. Haven’t done it for a while and it feels great to get back into it. Seem to be picking it back up with no problems, like the old magic is still there.
Also the money at my current place is good enough.
So now I’m wondering if I should bail on this other role in favour of seeing this out and maybe going back to being full stack (tho for reasons I’ll outline below in the long term that might have to be elsewhere)
But I’m also trying to remind myself that up until enjoying this work there’s a reason I decided to go for this other role.
Current place is a small company that has no project management process. It’s chaos, and everything’s an emergency. There are no requirements for anything, not enough people etc. No one has a clue how to run an IT project.
The one thing we do have is good development practices in our team and we have been greenfield for the last 12 months working on a new product. But we do tend to be pigeon holed into looking after a specific service/area.
But this new place if I got the role, is a bigger company (I’ve worked in small, medium and massive companies so I know what the difference is like), they’re a household name, they have resources for learning, putting people through aws certs, etc. They give people time each week to invest in themselves. Much more agile.
And thinking about it now you don’t often see a role that allows you to ‘move up’ without having to take on people/project management and still having time to be hands on.
(Just maybe more hands on with strategic work than delivering user stories for business as usual)
So just in general, what do you think? -
Python rant. Why does my 500 line Flask file look like one long oblong, & why am I adding comments that say “end of function” in *any* programming language when surely clear visual marking of this should be built in? Why did I spent 2 hours debugging SQLite3 dict factory function only to find the issue was a misaligned indented function block that my linter hadn’t picked up on because it appeared to be a logic error. Why do you make my missing tab spaces into logic errors Python? And why does everyone insist that curly braces are just as bad? Not in my world Python. Also, stop returning obscure objects unannounced like I’m supposed to know about it in advance, and stop making me run an entire file only to find I have another mystery type error because I expected x and got y. I hate you Python!!4
-
Transference of Consciousness
We take ideas or concepts born from abstract thoughts and turn them into working machinery run by an electronic cog. Literally pulling thought from the mind and putting it into action and bringing life into inanimate objects. The life may not 'yet' be self aware or conscious itself. So is programming a desire to impart our will or life to an otherwise inert object? Is this desire intrinsic to our own essence? Was this desire born of the desire our own creator had when making us? I use the term creator very loosely here, btw. It could be a god, the universe itself, aliens, etc.2 -
One of the reasons why I wanted to become a software developer is because I see so many products or services taking the easy way out, at the cost of killing customer expectations. For example, I was told about JobTrack.io, which is supposed to help manage job searching by keeping track of applications and their statuses. But almost as quickly as I was told, my mind goes into automatic promise defense mode. And rightfully so, because the service turned out to be almost as monotaneous as the job search itself! Not as seamless as I'd need it to be to get started right away.
Now, maybe there's a slight chance I don't know wtf I'm talking about here. But, what's stopping this product from using an email client that runs server side, to interface with the user's main inbox, to run sentiment analysis on emails for detecting job application submissions? Such functionality would obviously need permission from the end user, so there are no surprises that some 3rd party app is sorta kinda monitoring your emails. And of course measures should be taken to avoid detecting anything beyond the contextual lines of: "Thank you for applying to so and so", or "We've recieved your application! Next steps".
Present those detections to the user to confirm. And do the same thing for rejections and offers. Shouldn't be that hard especially when most sites these days allow you to sign in with Google, and that Google marks these particular emails as "Important"; which further filters the detection process, and partially does JobTrack's job for them.
Honestly, I think the app has promise, and hope this is just a case of starting off small. -
So as a personal project for work I decided to start data logging facility variables, it's something that we might need to pickup at some point in the future so decided to take the initiative since I'm the new guy.
I setup some basic current loop sensors are things like gas line pressures for bulk nitrogen and compressed air but decided to go with a more advanced system for logging the temperature and humidity in the labs. These sensors come with 'software' it's a web site you host internally. Cool so I just need to build a simple web server to run these PoE sensors. No big deal right, it's just an IIS service. Months after ordering Server 2019 though SSC I get 4 activation codes 2 MAK and 2 KMS. I won the lottery now i just have to download the server 2019 retail ISO and... Won't take the keys. Back to purchasing, "oh I can download that for you, what key is yours". Um... I dunno you sent me 4 Can I just get the link, "well you have to have a login". Ok what building are you in I'll drive over with a USB key (hoping there on the same campus), "the download keeps stopping, I'll contact the IT service in your building". a week later I get an install ISO and still no one knows that key is mine. Local IT service suggests it's probably a MAK key since I originally got a quote for a retail copy and we don't run a KMS server on the network I'm using for testing. We'll doesn't windows reject all 4 keys then proceed to register with a non-existent KMS server on the network I'm using for testing. Great so now this server that is supposed to connected to a private network for the sensors and use the second NIC for an internet connection has to be connected to the old network that I'm using for testing because that's where the KMS server seems to be. Ok no big deal the old network has internet except the powers that be want to migrate everything to the new more secure network but I still need to be connected to the KMS server because they sent me the wrong key. So I'm up to three network cards and some of my basic sensors are running on yet another network and I want to migrate the management software to this hardware to have all my data logging in one system. I had to label the Ethernet ports so I could hand over the hardware for certification and security scans.
So at this point I have my system running with a couple sensors setup with static IP's because I haven't had time to setup the DNS for the private network the sensors run on. Local IT goes to install McAfee and can't because it isn't compatible with anything after 1809 or later, I get a message back that " we only support up to 1709" I point out that it's server 2019, "Oh yeah, let me ask about that" a bunch of back and forth ensues and finally Local IT get's a version of McAfee that will install, runs security scan again i get a message back. " There are two high risk issues on your server", my blood pressure is getting high as well. The risks there looking at McAfee versions are out of date and windows Defender is disabled (because of McAfee).
There's a low risk issue as well, something relating to the DNS service I didn't fully setup. I tell local IT just disable it for now, then think we'll heck I'll remote in and do it. Nope can't remote into my server, oh they renamed it well that's lot going to stay that way but whatever oh here's the IP they assigned it, nope cant remote in no privileges. Ok so I run up three flights of stairs to local IT before they leave for the day log into my server yup RDP is enabled, odd but whatever let's delete the DNS role for now, nope you don't have admin privileges. Now I'm really getting displeased, I can;t have admin privileges on the network you want me to use to support the service on a system you can't support and I'm supposed to believe you can migrate the life safety systems you want us to move. I'm using my system to prove that the 2FA system works, at this rate I'm going to have 2FA access to a completely worthless broken system in a few years. good thing I rebuilt the whole server in a VM I'm planning to deploy before I get the official one back. I'm skipping a lot of the ridiculous back and forth conversations because the more I think about it the more irritated I get.1 -
#Breakup #GettingOverEx
So my ex broke up with me/ we decided to "go on a break" three months back. It didn't help that my ex is part of my close friend group and I'm obliged to run into them every other weekend.
None of my close friend group knows what transpired/that we dated.
They started dating someone new as soon as we went on a break.
As a part of new year, I decided to mentally move on. Now my ex is trying to reinsert themselves in my life (unsure in what capacity- as a friend/reltnshp).Today, I woke up dreaming about my ex and their new flame and feeling pretty disturbed. I don't know their status quo either as I haven't talked to my ex about it. (Just know it as friend group mentions them here and there)
I had initiated communication with my ex as I needed an advise (on phone) and they kind of self invited themselves to my place on weekend. How to cope with all this mess. I am unable to focus on my work because of this and my productivity is shot.
I just want to move on and date someone who makes me happy/is worth my energy.
How do y'all process breakups/get over ex?10 -
Skip to last block for actual question, everything else is about what i see and dont understand.
Machine learning and artificial intelligence is very interesting to me, ive watched a few videos but i cant manage to wrap my mind around it.
I see a few people starting out with projects that appear to be an easy start, but i of course have no idea, were they make a self-driving car in GTA (crashes alot, but still) or teach the program to complete levels in a game (snake, mario, run forrest)
I watched a few videos on Jabrils youtube channel that seemed to make alot of sense, until one point..
How does the AI know when it hit a wall?
How does it know where the walls are?
How does it measure the distance? How does it know when it has respawned?
I find it really, really confusing.
Can anyone of you geniuses suggest me anything to get into this? Id prefer if the goal was to make an AI using machine learning, that can complete some basic game, like in Jabrils videos.2 -
Should I be optimistic about my profession and growth as an android developer, or should i start gaining experience in other domains?
I am currently a Junior Android Developer in a small company which is a subsidiary of a bigger company (TATA) . I currently hold a working experience of 3+ years but in last 5 years , I have mainly explored Android App development the most. I did courses in it, then internships, then switched jobs to reach a decent salary package (more than INR 10 lakh per annum).
Recently I have been pretty worried regarding my career choices and i can't seem to be optimistic about my role as a mobile engineer. I joined my current company 4 months ago, but my switch this time gave me a hike of -10% (you read that right, it was a negative increment since previous company was asking me to relocate and i had no choice but to take this offer)
This switch made me worried not just because of the salary decrement but as a worthy candidate too. I know my tech stack well , but this time, I had very less options. I feel that the demand of a mobile engineer seems to be very less and I am not sure if its only me or for everyone in the same space as I am.
So , are jobs of Native Android Development really dying? My goal is to reach at premium salaries of INR 80-90 lakhs or 1-2 crores per annum, so can I reach there while just being a good android engineer? I am not sure what to run for. Please help
Some paths that i came to conclusion are for me, based on my limited knowledge are :
CONTINUE ON YOUR PATH : Stay in 1 place , grow as an engineer, get your salary/ role increase slowly and you will probably be able to reach that amount in 5-6 years
SWITCH YOUR PATH TO OTHER TECH SKILL : Do web frontend/backend courses in your free time, then grab a job of 4-6 LPA , start as a basic web dev, grow into senior dev and then reach that amount in 5-6 years (coz frontend/backend devs are the real deal?)
SWITCH YOUR PATH TO HIGHER STUDIES : do courses to crack foreign exam papers, then take out all your savings and got to foreign to pursue some masters in management, then do a job there and get settled / come back to India and grab a better paying job as a manager, then grow/switch into lead managerial roles and earn the goal amount in 5-6 years (coz foreign studies are the real deal/ foreign countries give fair wages to skill?)
GET INTO BUSINESS : start a business of something , grow it, reach that amount in 5-6 years (coz doing business is the real deal and only way to get lots of money in black/white)
Which do you think is the most accurate/realistic?12 -
So recently I've been feeling like I fooled myself into thinking I'm any good at anything regarding development.
Today I tried to deploy a Console Application that would run nightly. The production systems are much more guarded, as it should be, but I should still be able to schedule a windows task (yeah yeah, windows servers, not the time Linux fanboys and not my choice :P) no problem.
Except I didn't expect that network users can't run jobs, because of a Group Policy about saving passwords on network accounts.
I expected a local administrator account to be available, and it wasn't.
Also a web API isn't available, even though I could telnet to the address on port 443 (HTTPS). A proxy apparently accepts all HTTP/HTTPS traffic and so on.
All this I feel like I should have known....
So am I in my own head, or am I right in thinking maybe I'm not "pro" development yet? Maybe I don't deserve to be "pro".
Thoughts?4 -
I don't know why I can't understand how to use thymeleaf. It's concept makes sense, split an html page into two so you have a header html page made up of code you don't want to change, and an index html page of content you do want to edit. But no matter what it won't fucking connect the classes.
https://stackoverflow.com/questions...
If anyone has experience with this you can take a look at my post here on it, maybe give some input. For now though I'm going to just run a single html file and make comments in my index page. :/5 -
!rant, reality check.
This may sound odd, but sometimes i deny wanting to learn a term or meaning of something because it is a severed thing from my knowledge.
E.I.: i read "Hey you can use LINQ for this!" as i am programming in C#. I do not mind reading up on what LINQ is, why LINQ is etc.
But, if i run into something like hey you can use XAML or whatever the hell, which i can't mentally link to anything i know, i flatout even refuse to look it up, or try to find out if it is related to my skills and if not, flat out ignore anything besides the basic concept.
Eventually i could still end up learning it, but if it doesn't click from where i am at right now as a programmer, i just skip it as unrelated noise.
Technically i deny to learn something, making me a bad "student" in a way. Otherwise i use my time optimally to only expand my knowledge on the borders or my current knowledge.
Does anyone else does this? Anyone longer then 4 years? Does anyone also apply this outside of programming? How did all that go for you? Is it a bad habbit or a good one?3 -
can you please help me with this.
I'm creating dataset of [Leet words][1].
This code is for generating [Leet words][1]. it is working fine with less number of strings but I've nearly 3,800+ strings and my pc is not capable to do so. I've Tried to run this on cloud(30gb RAM) not worked for me. but I think possible solution is to convert this code into numpy but I don't know how. if you know any other efficient way to do this it will be helpful.
Thanks!
from itertools import product
import pandas as pd
REPLACE = {'a': '@', 'i': '*', 'o': '*', 'u': '*', 'v': '*',
'l': '1', 'e': '*', 's': '$', 't': '7'}
def Leet2Combos(word):
possibles = []
for l in word.lower():
ll = REPLACE.get(l, l)
possibles.append( (l,) if ll == l else (l, ll) )
return [ ''.join(t) for t in product(*possibles) ]
s="""india
love
USA"""
words = s.split('\n')
print(words)
lst=[]
# ['india', 'love', 'USA']
for word in words:
lst.append(Leet2Combos(word))
k = pd.DataFrame(lst)
k.head()3 -
Any one running Symfony on a Docker container in production? I currently try to migrate our dev env to a docker compose setup (from a "monolith" vagrant vm). I'm atually not stuck at a Symfony specific thing, but on a, I guess Docker specific one(?), The issue is, I need to read and write with two users to one folder (in my case the /application/var/cache folder). Since I mount my whole code into the docker container (to use an IDE on the local files), I've got a volume (not mounted to the outside world) for that folder. (As far, as good). Now this folder is owned by root and root is also the user I get when I enter the container. When I then run a cli script, that writes to this folder, every thing works (as it's run by root) and the resulting entries in the cache dir are owned by root. Trouble starts when the php fpm process tries to write stuff in there too (as it's run by www-data).
If I add `USER www-data` (or create a new user foobar and add `USER foobar`) the container exits with status 0
So I guess the question is, is anyone running an Symfony app on Docker in Prod, if so how do you solve this? Or another question would be what is the best practice to do this? Sure on dev I could just `chmod 777` the whole folder or run the php-fpm process as root, but if that thing ever goes to prod, I wouldn't sleep very well... -
Nextjs
I just realized
unit tests and integration tests dont exist in nextjs
So now i wondered
What about integrating AWS cloud functions with nextjs?
What about docker with nextjs?
Kubernetes with nextjs??
How TF do u implement a CI/CD pipeline with nextjs if there is nothing to test?!?!??
Nextjs seems like itself is self sufficient. WTF? Everything has been packed and cluttered into 1 giant pile of horsedump and called Nextjs Framework where you dont need k8s to run it or anything. Might as well then rename this fucking "framework" to GOD of all frameworks since it appears it can fucking do anything and everything without requiring HEAVY DevOps bullshit.
ALL of it can be cluttered in 1 nextjs project and you have a fully functional production working website that can basically do ANYTHING and EVERYTHING.
How???
Am i fucking going insane? Am i missing something here??19 -
Hey guys!
Once again, I got a little stumped when writing one thingmajig in Python.
I am normally not a programmer (Work as sysadmin), so I don't really know all the fancy abstract ways things are done "properly", which is why I need to ask here:
I have a program, separated into parts. The "core" is a part that sets commandline argument structure (using the argparse library), loads master configuration file, sets up the main logging facility, and then proceeds to load "plugins" - python files with one or more classes that implement one specific abstract class that forces them to implement a common interface of init, run, cleanup functions.
The core then proceeds to initialize those classes, run the "run" function, and run the "cleanup" function.
If the plugin class throws a Warning, it is only logged and runtime continues. If it is anything else, the program logs it and stops.
Now, the issue is, sometimes, a user may want to continue even if a non-warning occurs.
Lets say that I am creating a user, and the user already exists. Sometimes, the program user might want to continue with further plugin execution. And what I was told was to implement specific commandline switches that force continuation of runtime despite the plugin failing.
How should I implement it? The most obvious thing is to add a specific switch for every plugin, but that is exactly what I am trying to evade. I want to have the core as abstract as possible.
Other solution I thought of is to have a file of some sort that would list extra switches to implement, then it would be up to the class to implement if it uses the switch or not (I pretty much pass the entire Namespace received from parse_args() function), but this also feels kinda hackish.
I thought about having some sort of function that the plugin could call in the core to add a new argument, but at the point that plugins start loading, the argument parser is already compiled and cannot be changed further.
Any other ideas of how to re-implement the program are also welcome! I may not do it this times, but I'd at least learn something new again.3 -
TL;DR: Embedded software guy needs to create a multi-instance sandbox environment in Jenkins for testing and not sure what good solutions are out there. Looking for suggestions.
So at work, we have these really cool integration tests that validate our system for flight safety. What's not so cool is that due to factors outside of my control, each test has to be run serially and the entire test suite can take many many hours. This is mostly due to a hardware limitation (not enough physical NICs), but there are other SW factors as well.
What I would like to do is somehow be able to wrap up all the resources into a neat little package and then deploy that package into some kind of virtual environment that can be instantiated on a Jenkins job. The NIC issue would be replaced with a virtual one and *theoretically* I should be able to spawn as many instances of this virtual environment as my CPU and RAM can handle. In short, I want to pseudo parallelize our test suite and drive down our testing time. Somehow I would need to be able to control this entire thing from a script of some sort.
Does anyone know of something out there that would satisfy these kinds of requirements? Double internet points if it's open source. -
I am particularly guilty of this, embedding non-constructive comments, code poetry and little jokes into most of my projects (although I usually have enough sense to remove anything directly offensive before releasing the code). Here's one I'm particulary fond of, placed far, far down a poorly-designed 'God Object':
/**
* For the brave souls who get this far: You are the chosen ones,
* the valiant knights of programming who toil away, without rest,
* fixing our most awful code. To you, true saviors, kings of men,
* I say this: never gonna give you up, never gonna let you down,
* never gonna run around and desert you. Never gonna make you cry,
* never gonna say goodbye. Never gonna tell a lie and hurt you.
*/
I'M SORRY!!!! I just couldn't help myself.....!
And another, which I'll admit I haven't actually released into the wild, even though I am very tempted to do so in one of my less intuitive classes:
//
// Dear maintainer:
//
// Once you are done trying to 'optimize' this routine,
// and have realized what a terrible mistake that was,
// please increment the following counter as a warning
// to the next guy:
//
// total_hours_wasted_here = 42
//1 -
I got called for a 1 on 1 with my manager. Nothing out of the ordinary, I thought. We have those from time to time. This time it was because I've been losing the trust of my team. I haven't been communicating with them very effectively and it's taken a toll on our working relationship.
We talk on slack when we run into issues, and we give a daily update at the end of the day and during stand up in the morning.
Anyone have any suggestions on ways I can increase the communication to help earn my teams trust back?9 -
Why SQL, why???
I have a proc I need to modify so I add a select into it. Drop the proc and recreate it, run it, new select not giving results.
Modify the select to inverse filter to see what I do have, recreate the proc, run it, still no results...
Run four different cache cleaning queries, still no results from the new select...
Add a "select 1" before the new select, recreate and run the proc and now I have the new 1 and also the other select now has results...
Change the filters back, still getting same results...
Remove the select 1, no results...
What kind of devil cache is this?5 -
!comforting
TL;DR - I’ve done some thinking about operating systems and sticking to one
Mk
so I, like many of you, have seen far more than my fair share of “X operating system is perfect for it all, so don’t use Y operating system because it’s just awful” posts.
Over this week i’ve really done some thinking and experimenting with multiple devices and OSes and programs for various tasks. People coming from windows over to linux (like myself) tend to diss windows (rightfully so for the most part, but still). I’ve also noticed that the android vs. apple debate can get heated among users.
Listen guys,
iOS has its shortcomings obviously, UI being kinda a big one; but no one can deny that apple shoves some of the nicest hardware into their devices. Yes, this stuff is pricey as hell obviously, but the new macs come with an i9 and quite a bit of memory as well. Apple devices tend to have longer lasting batteries too - i cant count the times where i’ve just turned on my mobile hotspot, and stuck my android in my pocket to use my iphone (its a wifi-only 5s). the applications run nicely on apple hardware.
i couldnt learn even half as much programming as i do on my android though; Termux is a godsend, and im able to run and test scripts right there in the palm of my hand. can’t get that on an iphone.
Some of my favorite game developers only develop for windows; I’m dual booting for that sole reason (warframe and the epic games launcher don’t properly run through wine).
Just boil it down inside for a second; You might have come from a more “user friendly” operating system, to learn on one that is less so - wether you wanted the freedom and wiggle room for customization, or just a more developer friendly working environment (God bless conky and its devs) - so you didn’t have to be locked down into one way of seeing things. Putting a previously used OS down directly violates that thougjt process, and at that point you’re just another windows hater, or arch junkie, or whatever. I think we need to be open to appreciating the pros of every system, even if we almost never use some of them, and we should try not to put down other devs-to-be or csci/sec enthusiasts down because of that either.2 -
Working on a portfolio project - I ran some tests, everything is all good - 100% passing. Computer freezes - pop_os has been giving me shit lately, so I have to restart. Fine.
I get back into code, i re-run pytest - nothing works. Python apparently can't find my modules anymore. I try a few things, nothing. Why? Who the fuck knows - "oh you need this conftest file", "oh you need to remove __init__ from this directory or that one", "oh it's a pytest version iss---" no, no, no - listen here you little shit, it was working two seconds ago. Tell me why and how software I wrote with the most basic ass package structure - literally TWO directories suddenly has no fucking clue how to import the modules. hmm? Even from within the app directory, app.server now no longer recognizes imports from app.main or app.database.
ALL of this worked. It works in new directories without dedicated venvs - it works in new directories with my global python install - it works with any one of my conda envs - it works on other computers - WHY doesn't it work in THIS directory all of a sudden?? Ugh.
What's terrible is that relative imports will probably solve it within the app dir, but the tests dir won't accept them. Moreover, vs code autocompletion can find all the modules, but python itself cannot. Fucking infuriating shit like this is.1 -
i'm new on here and just was wondering why they don't date or give the timing of rants as i was looking at some of the site. Not that it's important but speaking of dates....I think we've been in this shutdown LONG ENOUGH and this is the 11th of Apr. and they're adding on more time still when at first we were to get this over with by Apr. 3 now the end of April and now even out here where i live in So. Cal. universal Studios announced (i guess) they're shutting through end of May? Oh yeh-is that a Bright Airy future outlook to say that this virus is just going to wipe more out; keep wearing them masks and obey the stay at home rules and now you got this Hydroxy...you know that one that appears to be a positive drug to "work" to actually look safe enough to try or administer, how about giving that to the people that may want it instead of we've seen some bitter bulking at that very Hydroxy...look at the 1 governor or whomever threaten to strip the license right out of that person for bringing it up! Woooo instead ya got Mr Gates not even a physician talking all these rules of forced vaccines (again??) oh yeh NOT ME! This is now a politicized coronavirus and i watched a video and I believe it!!! The test conducted at the beginning of all this was tested incorrectly and it goes on and on and now we're in this lockdown as if there's power in them numbers keeping this thing going going gone to the biggest numbers where not enough medical equipment's cried out, lines out the A__ and then finding the opposite when people have followed up on all these leads of all over the Country where all this overflood of viral is running. Don't tell me i don't have the facts, because wth does at this juncture or at this very present night to where this is sickening. Yes, there's been patients or people Human Beings that have contracted it but let's just get some real information that i just have to know to what it is thus far isn't correct. And we need to get going, get your livilihood (spell check that word) GOING and LESS FEAR because from the people that want to run all this, they look power hungry to keep it going like the one guy said 'we don't have a choice' when it comes to this will play out 12 to 18 months. OH? YOU MAY HAVE LOSER CHOICE but WE DON'T!!! And it ain't playing out neither the 18 or 12...you know what they want it to run into the election process is what they want. Plus the idea to lock us down huh? And the day by days going by are going to only allow more freedoms to l-o-s-e!8
-
Having a dilemma... I need help with my gaming projects. I know a guy who I could train since he has lots of potential but Im having trust issues. Its because I invested around 10k into my codebase and Im afraid to give access to that guy since I suspect that he might use files and some day run away to make his own project. So im back to square 1 again which is loosing my mind with this huge workload. What should I do? Should I just say fuck it ant make him sign some air tight NDA agreement? Even then he could stand up and leave 2 months in and open a competitor project if he doesnt like my management style...3
-
Once upon a time to prevent people from stealing my work I created a program that converted photos and files into double sided sheets of at codes with packeted contents so I could scan them into a high resolution file later and recompose them into a series of files
So very aggressively insistent we’re the dumb slaves that run all this crap in being cruel and evil and fucking themselves over that they stole these sheets from the document folders I carried in my backpack and sent me into a traumatized state pre amnesia and wasted 5 years of my life
Now all these same period are either leering programmed fools or withered miserable sacks of skin and I’m no closer to moved on from this bs and I find myself exasperated that everyone and their retard incestuous uncle would want to deny and repeat the same crap over and over as they as they are only making themselves crazy as well. Says something no records equals no future in essence essentially the reason if it’s not physically secured on land that cannot be taken away and we keep trading law and order for .., whatever these idiots get out of this well all die before we reach much furthet3 -
So my coworker asked for help with his work. I understand that sometimes talking about the problem with someone else will help solve the problem, but seriously, don't ask me "How do I fix this?". If you wanted me to help you fix something, go to lunch and let me work on it for a couple of hours. I can't fix something by telling you what to do. I need time to look into the problem myself, do research, and run tests on my own. Telling to do that over your shoulder is a complete waste of our time.
Also, his attitude of complete helplessness is tiring. It's hard to help someone who continually reminds you of how much he just wants to give up.2 -
I just woke up from this horrific dream. It was a super dark talented mr ripely style nightmare.
This estranged relative had come back into my life and things were going fine but got weird fast. Eventually we’re at this point where I’ve already half killed then with a hammer and it’s been this insane back and forth/psychological torture as they fade between character. They’re weeping and naked crawling toward me pleading - but it’s way past that.
I’m trying to save my mom and escape - and I can tell they are about to get another wind and charge me. I look down and realize they have no shoes either - so, I spot a porcelain lamp and crash it to the ground and it shatters and fills the space with shards. Their eyes full with rage as they switch character and realize we cannot be manipulated. This is the end. We narrowly escaped as they run across the floor and cut their feet and slam to the ground in shrieking agony. Super scary.
Then I thought... this feels terrible.
Kinda like being on Reddit - or just in a bad comment thread. -
Alright, I'm gonna need some help from more experienced devs.
tldr: how does my sister test my website if she can't run it?
I'm making a site (for myself, I've talked about this in other rants, most likely won't go online so I don't want to spend money on this), and my sister is helping me with the sales part of the project. It's basicaly a web store.
In a couple of months, she is going to have a baby, and will stay at home for 5 months. Since she helped me with it, and I don't really know all of the steps that go into online purchasing (she kind of works with this, and makes a lot of online purchases, from everyone I know she was the best person to go to), we want her to test it while she's at home with the baby, just in case I missed or didn't understand something.
The problem is: she doesn't understant anything about programing and probably never seen a command line, and since this is laravel, I will need to install a lot of things in her computer, which will be useless for her after she is done, and teach her some commands to run the site.
Also, like I said, i don't want to spend money on this, since she will only make a few tests and that's it, it would go offline after.
She is smart, she could probably do this, so if there is no way of doing this is ok, but if there is it would save her a lot of time while testing and with the baby, and save me my time at work.
I would want something like git, but where I could run the site without a lot of steps.
Does anyone know how she can test it? Is there even a way?
Thank you in advance 😁5 -
i always get sucked into this "cute code" hell whenever i am working with a b2c codebase, and especially with kotlin code.
here's a scenario:
task : build a debounce logic for an input view where each user input is currently triggerring an api call.
my steps
1. read what debouncing is.
2. see if any code is available on the internet
=> found a code piece on the internet with some level of abstraction ( basically a simple final class that implements the input event callback and encapsulates the debounce logic)
3) copy it, run it , it wokrs
------
for any sane coder, these steps are hardly 10-30 mins and they can move on with life. but its your truly that made this task into a 6hour research only to come up at similar solution. my curiosity led me to stupid places
1) why this class is final? what if someone else wanna use it but with a different behaviour? lets try open(non final class) .
2) why even use a class? it extends an interface, lets try to wrap the logic in interface itself (kotlin supports interfaces that don't require implementation)
3) umm , the interface works but it looks ugly, with all its global overridden variables. what about we make it extension?
4) yeah the extension approach is also not very good, lets go back to open class.
5) but extend is super nice to look! lets keep the extension and open class too
6) can we optimise the implementation? why it uses an additional handler? what if we provided everything in constructor? how about builder pattern?
FUCK MY BRAIN! there are so much fucking options that i forgot that i spent 4 hours on this small thing
the simplest approach would have been tk just shove all the listeners and everything in activity and forget about it :/
senior devs on this platform, how do you stop yourself from adding every concept that you know into the smallest possible task?6 -
We use Sequelize. This is how we do database structure changes:
- I create/change a model in Sequelize, and let it change my local database, then I do work on that
- I push the new code to a remote branch
- my boss/CTO/lead dev then manually creates/changes the relevant table(s) in our staging database
- I finally merge the branch I originally developed into the remote branch
- boss checks that everything is working
- at last, boss does the same process of modifying/creating tables in production database
- finally, staging code is merged into main
So right now:
- I'm changing a feature, forgot I was editing in the main branch
- go ahead and create a remote branch for it, pull locally, checkout local version of newly created branch
- try to run code
- oops, there's a missing column in one of my local database tables
- ask for boss for SQL script that will create the missing column and potentially add more data or whatever
- waiting for boss to respond
H-how can we improve this process? Boss has talked about us moving to use migrations but we never ended up doing it. I don't know much about migrations either. This is gonna suck so hard.3 -
TIL RVM and I are on different assumptions. I'm talking about RVM allowing unbound variables in its scripts.
I don't because I literally have run "rm -rf /" on my Mac because of an unbound variable in the past. So, when I write a shell script, the second line is always "set -eu."
And because RVM allows unbound variables, this line crashes RVM.
Then for some stupidity on my part, I looked into GitHub for its codebase first to get even more clueless about the issue before finally googling to see if anyone had experienced the same problem 🤦1 -
how do I test long scenarios? I have an app with 10 screens to complete. I have a dropdown on the first screen which creates a table row element on the last screen. should I do selenium or unit test or both? selenium will have to click through the whole app and call every API just for 1 assertion. unit test will only check the dropdown has the right options which are subject to change and not really worth testing. I run into this problem every time I want to write a test. i always miss something in my manual testing and introduce defects. what should I do?2
-
Nodes Reach
I will google my last error message
I cannot tell where this conviction comes from. Whatever birthed it is a mystery to me, and yet the thought clings like a virus, blooming behind my eyes and taking deep root within my mind. It almost feels real enough to spread corruption to the rest of my body, like a true sickness.It will happen soon, within the coming nights of pizza and energy drinks. I will google my last error message, and when my brothers turn on thier computers, my questions will be scattered over stack overflow with one accursed tag
Nodejs.
Even the name twists my blood until burning oil beats through my veins. I feel anger now, hot and heavy, flowing through my heart and filtering into my keyboard like boiling poison.My fingers stretch out. I am strong, born only to code and debug software. I am pure, googling the most obscure of error messages, trained to break down problems and use console.log. I am wrath incarnate, living only to code until finaly my program runs.I am a programmer in the Eternal Crusade to forge humanity's mastership of the code.Yet strength, purity and wrath will not be enough.
I will google my last error message
My Nodejs application won't run.
*Watch the Original !! by Richard Boylan here*
https://youtu.be/1D4jr-0_COg -
PLEASE i understand how it works but how is hashicorp vault supposed to be used?
Not to mention how should i use it for production? Literally no dipshit tutorial explains it. Everyone explains the vault server -dev part and thats it. Fuck you
Every time i restart the vault server all of the secrets and config get deleted. And then i have to readd them all over again?
How is vault supposed to work in terraform?
How can I automate storing secrets in vault instead of manually doing it?
How to automate starting vault server by a single command along with provisioning secrets and parameters?
How to store iam credentials from ~/.aws/credentials into vault by profile AUTOMATICALLY as soon as vault server is started?
Because if my backend depends on some secret from vault, how am i supposed to automatically have these secrets created so i can just run my backend without worrying which secrets i have to recreate because the restart of vault server deletes all the fucking secrets in dev mode?
How do i use this bullshit?
- Every guide explains it partially
- No guide explains how to 100% automate it
- every dipshit youtube video explains it poorly
- NO ONE explains how to configure it for production.
I am so Fucking lost in learning this bullshit.
Can someone give me a link to a repo of a working example of the things i just mentioned? Either you create it or send an existing link cause i cant find any.
Basically i just want to use Terraform and Vault together but i cant understand how to combine them together so that its all automated 100% -- for example i just want to do
terraform apply --auto-approve
And then the entire terraform aws gets provisioned + vault server stars AND gets provisioned with secrets.
How to do that?9 -
so.
i had a stupid idea that'd let me do a project i had planned and abandoned a while back after getting experience with the new project.
problem: detect and manage empty space in a massive file, allow adding data to those empty spaces from files, and fill in a table in a designated empty space with where dynamically-loaded things are. In Python.
I tried JUST detecting empty space, and Python would break out of loops for no reason at all just at random. "run bottom to top through this file until a non-00h byte is found" would either break out of the loop way earlier than should be possible (8 or 9 bytes into a 32KB empty file) or run way into non-zerofill areas before breaking the loop.
Am I just retarded? Is this more Python conditional fuckery? i'm so lost that it's just on hold for now (and i think i lost that script too) -
I just never expected to run into people who don't have shit better to do then literally the same shit and cyberstalking people they don't even know trying to act like they give a damn for personal amusement or just lurking in the same places waiting to spring up and say the same thing or just whatever the hell this crap is when the person they're doing this too doesn't really have anything of interest other than precisely what i've indicated, that or try to be nosy and be amateur intelligence people trying to gather information over what a person is thinking regarding the activities of certain garbage in his environment :P emphasis on amateur.1
-
Disclaimer: I love open source and I adore the owasp for what they do.
BUT owasp zap has to be the most overly complicated, badly documented tool in existence. As long as one stays within its most basic functions everything is fine, setting it up as a proxy and even issuing a root cert for our test devices worked wonderfully simple.
Then I made the mistake to try to actually do anything with the data we pulled and had to dive into the scripting console.
The documentation basically consists only of "This thing exists", it provides a msg object with no information what it contains or how it's structured, has no code completion and, here comes the kicker, if the script is run and has an error it gets flagged and can't be reenabled after the error is fixed. So I'm currently at forwarder48.groovy trying to simply store the request on a database for possible diagnostics.
So right now I already know that I'll spend most of my vacation next week trying to decipher the source, document it, fix that damn "flagged as error" bullshit and jump through a billion hoops trying to get a pull request through.2 -
A prototype I'm working on has a feature that fetches thousands of db rows. feature is running 'slow' according to everyone except me and my pc. I can speed up one section slightly by splitting a JSON array into two parts to reduce calls for the 3rd party assets because that's probably the cause.
Still doesn't 'work', says the hapless technoweenies. more troubleshooting.
The cause is Mozilla on a single computer chokes on a 3rd party api, in this case Mapbox.
How do I 'make mapbox run faster' on Mozilla? -
Why i got the message 'Input/Output Error" when mounting /dev/mmcblk0p2....
Nothing crashed till i just booted twice to enter different systems Android and MeeGo (via Ubiboot).And when i powered off my Android and tried to boot into MeeGo, it said "Boot OS/kernel selection failed! \n Please run a maintance boot"
I already ran a maintance boot...
And i entered Ubiboot's Telnet (low battery), found that /dev/mmcblk0p2 failed to mount with an error "Input/Output error", but i dd'd this partition (copy data into a file), everything was fine...
And after that, my phone turned into blank...
So can anybody tell me how to fix this? It's not like a hardware problem, i think there's something wrong with the data in the partition, like the header...3 -
So, I was googling for cross platform javascript things.. every answer, there's only weex and nativescript, but both aren't ready for prod, so I tried weex, it's alright but the documentation is non existant, and the support is practically on dial up, and hardly anyone has used it. And nativescript isn't really an option cause it's only for mobile.
So I chose weex, web + mobile, and I can easily port my already written vue project, sweet, so I get to porting, run into a few issues but it's pretty easy, need to play with some of the root file path definitions, no "./"'s just "@/" (if you use @ as your root symbol).
great. Pug works, sass... seems to work, then I run into a pretty big issue with sass compilation/loading, can't find an answer for an hour.
So I go out. Then come home, no answer on my SO question.
So I google "jsfiddle weex" to get a jsfiddle template for debugging weex/vue projects.
A few results down. I see this: https://reddit.com/r/javascript/...
well I've heard of framework7, but it would require me rewriting most of my element tags and components, but what's quasar?
I have a look, totally cross platform, desktop, web, mobile... wtf..
read the docs, "uses vue single file components"
..what, holy fuck, the documentation is beautiful, it uses vuex, fucking fuck.
I just found it 10 minutes ago....
wish me luck.........