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 - "how do i bullet"
-
This rant is a confession I had to make, for all of you out there having a bad time (or year), this story is for you.
Last year, I joined devRant and after a month, I was hired at a local company as an IT god (just joking but not far from what they expected from me), developer, web admin, printer configurator (of course) and all that in my country it's just called "the tech guy", as some of you may know.
I wasn't in immediate need for a full-time job, I had already started to work as a freelancer then and I was doing pretty good. But, you know how it goes, you can always aim for more and that's what I did.
The workspace was the usual, two rooms, one for us employees and one for the bosses (there were two bosses).
Let me tell you right now. I don't hate people, even if I get mad or irritated, I never feel hatred inside me or the need to think bad of someone. But, one of the two bosses made me discover that feeling of hate.
He had a snake-shaped face (I don't think that was random), and he always laughed at his jokes. He was always shouting at me because he was a nervous person, more than normal. He had a tone in his voice like he knew everything. Early on, after being yelled for no reason a dozen of times, I decided that this was not a place for me.
After just two months of doing everything, from tech support to Photoshop and to building websites with WordPress, I gave my one month's notice, or so I thought. I was confronted by the bosses, one of which was a cousin of mine and he was really ok with me leaving and said that I just had to find a person to replace me which was an easy task. Now, the other boss, the evil one, looked me on the eye and said "you're not going anywhere".
I was frozen like, "I can't stay here". He smiled like a snake he was and said "come on, you got this we are counting on you and we are really satisfied with how you are performing till now". I couldn't shake him, I was already sweating. He was rolling his eyes constantly like saying "ok, you are wasting my time now" and left to go to some basketball practice or something.
So, I was stuck there, I could have caused a scene but as I told you, one of the bosses was a cousin of mine, I couldn't do anything crazy. So, I went along with it. Until the next downfall.
I decided to focus on the job and not mind for the bad boss situation but things went really wrong. After a month, I realised that the previous "tech guy" had left me with around 20 ancient Joomla - version 1.0 websites, bursting with security holes and infested with malware like a swamp. I had never seen anything like it. Everyday the websites would become defaced or the server (VPN) would start sending tons of spam cause of the malware, and going offline at the end. I was feeling hopeless.
And then the personal destruction began. I couldn't sleep, I couldn't eat. I was having panick attacks at the office's bathroom. My girlfriend almost broke up with me because I was acting like an asshole due to my anxiety issues (but in the end she was the one to "bring me back"(man, she is a keeper)) and I hadn't put a smile on my face for months. I was on the brink of depression, if not already there. Everyday I would anxiously check if the server is running because I would be the one to blame, even though I was trying to talk to the boss (the bad one was in charge of the IT department) and tell him about the problem.
And then I snapped. I finally realised that I had hit rock bottom. I said "I can't let this happen to me" and I took a deep breath. I still remember that morning, it was a life-changing moment for me. I decided to bite the bullet and stay for one more month, dealing with the stupid old server and the low intelligence business environment. So, I woke up, kissed my girlfriend (now wife), took the bus and went straight to work, and I went into the boss's office. I lied that I had found another job on another city and I had one month in order to be there on time. He was like, "so you are leaving? Is it that good a job the one you found? And when are you going? And are you sure?", and with no hesitation I just said "yup". He didn't expect it and just said "ok then", just find your replacement and you're good to go. I found the guy that would replace me, informing him of every little detail of what's going on (and I recently found out, that he is currently working for some big company nowadays, I'm really glad for him!).
I was surprised that it went so smoothly, one month later I felt the taste of freedom again, away from all the bullshit. Totally one of the best feelings out there.
I don't want to be cliche, but do believe in yourself people! Things are not what the seem.
With all that said, I want to give my special thanks to devRant for making this platform. I was inactive for some time but I was reading rants and jokes. It helped me to get through all that. I'm back now! Bless you devRant!
I'm glad that I shared this story with all of you, have an awesome day!15 -
Welcome back to practiseSafeHex's new life as a manager.
Episode 2: Why automate when you can spend all day doing it by hand
This is a particularly special episode for me, as these problems are taking up so much of my time with non-sensical bullshit, that i'm delayed with everything else. Some badly require tooling or new products. Some are just unnecessary processes or annoyances that should not need to be handled by another human. So lets jump right in, in no particular order:
- Jira ... nuff said? not quite because somehow some blue moon, planets aligning, act of god style set of circumstances lined up to allow this team to somehow make Jira worse. On one hand we have a gigantic Jira project containing 7 separate sub teams, a million different labels / epics and 4.2 million possible assignees, all making sure the loading page takes as long as possible to open. But the new country we've added support for in the app gets a separate project. So we have product, backend, mobile, design, management etc on one, and mobile-country2 on another. This delightfully means a lot of duplication and copy pasting from one to the other, for literally no reason what so ever.
- Everything on Jira is found through a label. Every time something happens, a new one is created. So I need to check for "iOS", "Android", "iOS-country2", "Android-country2", "mobile-<feature>", "mobile-<feature>-issues", "mobile-<feature>-prod-issues", "mobile-<feature>-existing-issues" and "<project>-July31" ... why July31? Because some fucking moron decided to do a round of testing, and tag all the issues with the current date (despite the fact Jira does that anyway), which somehow still gets used from time to time because nobody pays attention to what they are doing. This means creating and modifying filters on a daily basis ... after spending time trying to figure out what its not in the first one.
- One of my favourite morning rituals I like to call "Jira dumpster diving". This involves me removing all the filters and reading all the tickets. Why would I do such a thing? oh remember the 9000 labels I mentioned earlier? right well its very likely that they actually won't use any of them ... or the wrong ones ... or assign to the wrong person, so I have to go find them and fix them. If I don't, i'll get yelled at, because clearly it's my fault.
- Moving on from Jira. As some of you might have seen in your companies, if you use things like TestFlight, HockeyApp, AppCenter, BuddyBuild etc. that when you release a new app version for testing, each version comes with an automated change-log, listing ticket numbers addressed ...... yeah we don't do that. No we use this shitty service, which is effectively an FTP server and a webpage, that only allows you to host the new versions. Sending out those emails is all manual ... distribution groups?? ... whats that?
- Moving back to Jira. Can't even automate the changelog with a script, because I can't even make sense of the tickets, in order to translate that to a script.
- Moving on from Jira. Me and one of the remote testers play this great game I like to call "tag team ticketing". It's so much fun. Right heres how to play, you'll need a QA and a PM.
*QA creates a ticket, and puts nothing of any use inside it, and assigns to the PM.
*PM fires it back asking for clarification.
*QA adds in what he feels is clarification (hes wrong) and assigns it back to the PM.
*PM sends detailed instructions, with examples as to what is needed and assigns it back.
*QA adds 1 of the 3 things required and assigns it back.
*PM assigns it back saying the one thing added is from the wrong day, and reminds him about the other 2 items.
*QA adds some random piece of unrelated info to the ticket instead, forgetting about the 3 things and assigns it back.
and you just continue doing this for the whole dev / release cycle hahaha. Oh you guys have no idea how much fun it is, seriously give it a go, you'll thank me later ... or kill yourselves, each to their own.
- Moving back to Jira. I decided to take an action of creating a new project for my team (the mobile team) and set it up the way we want and just ignore everything going on around us. Use proper automation, and a kanban board. Maybe only give product a slack bot interface that won't allow them to create a ticket without what we need etc. Spent 25 minutes looking for the "create new project" button before finding the link which says I need to open a ticket with support and wait ... 5 ... fucking ... long ... painful ... unnecessary ... business days.
... Heres hoping my head continues to not have a bullet hole in it by then.
Id love to talk more, but those filters ain't gonna fix themselves. So we'll have to leave it here for today. Tune in again for another episode soon.
And remember to always practiseSafeHex13 -
So before today, I'd never used GoDaddy before. Not even once. My supervisor walks in and happily informs me that I'm going to be adding photos to a website that she does editing for. Okay, fine, that's stupidly easy. What I did not realize, however, is that this entire website had been built using GoDaddy's site builder, and if you're not familiar with it, thank whatever gods you worship that you've dodged that bullet. I hardly want to go wandering around somebody else's web hosting, so I search about for a bit praying that there's SOME semblance of a normal text editor someplace, because text editors make me happy and all, and find very little on the regular site. Already not thrilled. So I figure, how bad is this site editor? Really, how bad can it possibly be?
Oh, you poor misguided son of a -
Anyway, I go in and look at the site. Slideshows everywhere, nothing is aligned correctly, it's a web designer's nightmare. Thankfully, I'm not a web designer, so I press on and reorganize a little bit. I try slapping a new slideshow on their, and discover that unlike the way it SHOULD work, elements do not move to allow for other elements, they just sit there and let you throw things on top of them. I stare at my neatly-stacked slideshows for a second in utter disbelief, knowing but not really accepting that I'm going to need to take every last one of those slideshow elements and slide those little so-and-so's down by hand. ....why? Who designed this? Who decided that was a good idea? I do some Googling to see if there's anything out there to make this less horrid, and lo and behold I find a GoDaddy page about their FTP file manager! It's under web/classic hosting, which apparently means it's deprecated because I spent the next ten minutes hunting around for the "web hosting" link those chicken-lickers were so proud of and it's nowhere to be found.
Alright, so they want to do this the hard way.
At this point I'm screaming internally and PRAYING that I'm just being stupid and not seeing anything to make it easi-
No, not even easier. Just less stupid. This website builder makes no sense. It's like hiring a contractor to build a bridge and handing him a box of Legos and a banana.
So I do more googling and find instructions on getting to the file manager. FINALLY. The first step is find "Hosting" under "My Products." I rush over to My Products joyfully, hoping I can get this stupid website up and running reasonably quickly, and...!
There's no hosting tab.
No button.
Not even a little hard-to-see link. At this point my brain is screaming. WHY would you give me a website builder but absolutely no way to actually write the website? Do people actually use this thing? I mean, I get it if they want to make it nice and accessible for people to make websites without overwhelming them with HTML but if they know how to edit the website and they don't want your help, why would you force me in to this? Why? Then it occurred to me that maybe the organization just hasn't ever had a web developer in it, ever, or at least not one who was willing to help out with the website, so they purposefully signed up for hosting that deprived them of any kind of HTML editor. Then on top of all of that, I noticed that on the home page, which had been edited by someone else long before I ever looked at it, ALSO had one of these stupid slideshows that I had to reorganize by hand, and some sad, angry little man had put in one of the photos sideways. It was SIDEWAYS. Just sitting there on its side, the photo's occupants staring at me with sad eyes begging me to turn them facing up again. I sat there and stared at a badly-designed website in a questionably-designed editor. And I wondered. I wondered who put this all together, and I wondered why *I* was the one doing it, when I work for a university and the website was for some beach homeowner's association. And I wondered if this job was a task that my supervisor had agreed to do and just passed off onto an office monkey. And I wept bitter tears at the realization that I am that office monkey.6 -
Was explaining a technical concept at a "family" dinner. Suddenly stepmother wanted my help for something technical.
Stepmother: Say Awlex, could you help me install some software I recently bought?
Me: (Not this shit again) I even don't know what software you're talking about. How is the software called, what does it do?
Sm: it's calles digital... *long pause*
Me: (I don't like where this is going)
Sm: software... *another long pause*
Me: (fuck me harder than that lightly clothed woman outside)
Sm: something... *long pause*
Me: (alright brain, which way out of here doesn't involves me creating a bullet hole in either one of us?)
Sm: And you can use it to sell something...
Me: (tf do you event sell?!)
Sm: but not like ebay
Me: (what is it then? A platform for selling services? I don't even know what kind of software you'd have to install, given that most of these platforms are be web applications, whcih makes sense for selling stuff on the internet)
Sm: Anyway, could you help me install it? It would take me hours to get into it.
Me: (You think just installing would solve it? As soon as I install it, you probably expect me to be your walking manual as well, don't you?) Look, I'm gonna be honest with you, since I started working I don't have nearly as much free time as I used to have (Not everybody works when they feel like it, you know that?) I get home at around almost 7pm (most of the time) and don't really wanna work afterwards. Most of the time there's a support service from the people who made this software and they would be glad to help you. (Sorry support team, for pushing this bundle of incompetence onto you, but I guess she didn't even listen to my advice).
After that she didn't back down and still wanted my help. Then my grandmother derailed the conversation and got me out of this. When I thanked her later she yold me that she saw I saw uncomfortable and wanted to help. I love my grandmother.
So I am not going to be your "family" tech support. You b(r)ought this onto yourself. Are more than twice my age and still can't use your brain to solve problems like these on your own and you can even less reason abiut your motives and desires when asking for help. I am sick of you and shutty opinions about people, just because I work as a software engineer doesn't mean I'm exist solely for satisfying your unreasonable desires.
Stop offending me and my profession and get yourself some common sense.
Protip #0: Give me one fucking reason to help you, because you're not family enough and your personality really doesn't bring forth any emotion but annoyance4 -
A couple of weeks ago, I got to the second stage of a recruitment process with a relatively big fintech in the crypto space (I know) - all went well and although I did not think much of it at first, with all the information I had gathered I came to realize this might as well be the best opportunity I've had in my pursuit of finding a new job (i.e looking for high technical challenges, unsure of where I see myself in 5 years, wanting to give full-remote work a try, etc.).
Cue to the end of the interview;
"That's great! I really enjoyed speaking with you, your technical background seems excellent so we would like to move to the next stage which is a take-home test to do in your free time.", said the interviewer.
"Wow! Much amaze, well of course! What's it gonna be?", said the naive interviewee.
"I'm sending you the details via email, please send it back in 48 hours, buhbye now", she hangs up.
...
"48 hours?? Right, this should be easy then, probably some online leetcoding platform, as usual.", thought the naive interviewee, who evidently went through this sh*t numerous times already.
A day later I receive the email: this was the whole deal. The take-home test supreme with bacon and cheese. A full-blown project, with tests, a project structure, a docker image, testing and bullet points for bonus points! The assessment was poorly written with lots of typos and overall ambiguity, a few datasets were also provided but bloated with inconsistent comments and trailing whitespace.
What the actual fck??? Am I supposed to sleep deprive myself to death while also working my day job? What are you trying to assess? How much of my life I'm willing to sacrifice for your stupid useless coding challenge? You are not all Google, have some respect, jeez.
I did not get the job.2 -
Two big moments today:
1. Holy hell, how did I ever get on without a proper debugger? Was debugging some old code by eye (following along and keeping track mentally, of what the variables should be and what each step did). That didn't work because the code isn't intuitive. Tried the print() method, old reliable as it were. Kinda worked but didn't give me enough fine-grain control.
Bit the bullet and installed Wing IDE for python. And bam, it hit me. How did I ever live without step-through, and breakpoints before now?
2. Remember that non-sieve prime generator I wrote a while back? (well maybe some of you do). The one that generated quasi lucas carmichael (QLC) numbers? Well thats what I managed to debug. I figured out why it wasn't working. Last time I released it, I included two core methods, genprimes() and nextPrime(). The first generates a list of primes accurately, up to some n, and only needs a small handful of QLC numbers filtered out after the fact (because the set of primes generated and the set of QLC numbers overlap. Well I think they call it an embedding, as in QLC is included in the series generated by genprimes, but not the converse, but I digress).
nextPrime() was supposed to take any arbitrary n above zero, and accurately return the nearest prime number above the argument. But for some reason when it started, it would return 2,3,5,6...but genprimes() would work fine for some reason.
So genprimes loops over an index, i, and tests it for primality. It begins by entering the loop, and doing "result = gffi(i)".
This calls into something a function that runs four tests on the argument passed to it. I won't go into detail here about what those are because I don't even remember how I came up with them (I'll make a separate post when the code is fully fixed).
If the number fails any of these tests then gffi would just return the value of i that was passed to it, unaltered. Otherwise, if it did pass all of them, it would return i+1.
And once back in genPrimes() we would check if the variable 'result' was greater than the loop index. And if it was, then it was either prime (comparatively plentiful) or a QLC number (comparatively rare)--these two types and no others.
nextPrime() was only taking n, and didn't have this index to compare to, so the prior steps in genprimes were acting as a filter that nextPrime() didn't have, while internally gffi() was returning not only primes, and QLCs, but also plenty of composite numbers.
Now *why* that last step in genPrimes() was filtering out all the composites, idk.
But now that I understand whats going on I can fix it and hypothetically it should be possible to enter a positive n of any size, and without additional primality checks (such as is done with sieves, where you have to check off multiples of n), get the nearest prime numbers. Of course I'm not familiar enough with prime number generation to know if thats an achievement or worthwhile mentioning, so if anyone *is* familiar, and how something like that holds up compared to other linear generators (O(n)?), I'd be interested to hear about it.
I also am working on filtering out the intersection of the sets (QLC numbers), which I'm pretty sure I figured out how to incorporate into the prime generator itself.
I also think it may be possible to generator primes even faster, using the carmichael numbers or related set--or even derive a function that maps one set of upper-and-lower bounds around a semiprime, and map those same bounds to carmichael numbers that act as the upper and lower bound numbers on the factors of a semiprime.
Meanwhile I'm also looking into testing the prime generator on a larger set of numbers (to make sure it doesn't fail at large values of n) and so I'm looking for more computing power if anyone has it on hand, or is willing to test it at sufficiently large bit lengths (512, 1024, etc).
Lastly, the earlier work I posted (linked below), I realized could be applied with ECM to greatly reduce the smallest factor of a large number.
If ECM, being one of the best methods available, only handles 50-60 digit numbers, & your factors are 70+ digits, then being able to transform your semiprime product into another product tree thats non-semiprime, with factors that ARE in range of ECM, and which *does* contain either of the original factors, means products that *were not* formally factorable by ECM, *could* be now.
That wouldn't have been possible though withput enormous help from many others such as hitko who took the time to explain the solution was a form of modular exponentiation, Fast-Nop who contributed on other threads, Voxera who did as well, and support from Scor in particular, and many others.
Thank you all. And more to come.
Links mentioned (because DR wouldn't accept them as they were):
https://pastebin.com/MWechZj912 -
!rant
Had a meeting with the head of my department concerning the status of many of our current projects. Them projects are huge and it is 2 dedicated devs(me and the lead) working on them whilst training our CMS admin in development to help out(dude is talented af and really digs programming) and my manager was so worried about what he was gonna say.
The thing is, she doesn't know how to take a break, she never pushes us, but she does push herself and it pains the team to see her take so much heat. She really is a bomb manager, and we want her to be more at ease.
Well a couple of days ago the vips of the board decided to bombard her with shit since out dptmnt head was on sick leave. The stress they put on her was some military grade bs and even then she never...EVER took it out on anyone.
The head of our department walked in to talk to us about it. Dude is a tall older gentleman, suits up every day(Texas style meaning cowboy boots and everything) and is quite imposing. Has a stern look man, one of them 1000 mile stares and a huge mustache that more than surpasses mine(which mind you, my mustache is fucking outstanding)
Our boss walked into the meeting room, sat down and heard what she had to say, she was not excusing herself. As bomb as this gorgeous woman is she was all about telling him what we were going to show the board on next week's meeting.
He sat there quietly listening to her as well as the presentation that me and my boys had to do.
What happened next blew me the fuck out of this world.
He said that he was sorry that so much stress had come down to her and us whilst he was gone and that he was happy with the leadership showcased by her and the initiative that the team took to put forward a presentation for him and the board. He also said that he was going to make said presentation for us since the vips had no business stressing us out, he asked for our assistance for any of the technical stats since even though he was a programmer he is not aware of all the inner details of our apps. He said that it is commendable that such a small team can hold 2 campus(college level) and that he was aware of the technical proficiency of me and the lead and that he knows that our shit is not something that gets done overnight.
He then said that at any given time that we get antagonized by matters such as timeframes or shit like that that we can direct everyone to him, regardless of what.
.He was also really amazed at the progress we showed him on the current projects(most are on their respective testing phases).
He then reiterated on how proud he is of all of us before biding us a good weekend and leaving to his office
As i sat there watching how the world was lifted from my manager and happy that he enjoyed the progress of my work I could not help but feel a deep sense of admiration and respect for this mysterious man.
I would damn skippy take a bullet for him....just in case my draw gets sloppy that is, ain't no one taking aim at the boss.3 -
Finally getting off my proverbial ass and doing something about the lack of games I like. Going to focus on making an engine for the kind of games I want to play.
No, I am not starting from scratch. Going to base my engine on Godot and use it for my own titles. I am not insane. Making it from scratch is too much work these days. But the indies are shifting from Unity to other engines right now. So a lot of wanted attention will be placed on better alternatives. This means more content and plugin choices will be available to Godot devs.
I kept making excuses as to how hard it will be or it will take forever. It only ended up taking me further away from what I wanted. I have my wishlist of features and I will focus on modularizing them so they can be used as needed. If it makes sense I will make these modules available to the community at Godot. This will help get feedback on what can be improved and generalized further. It will also reduce development costs in the long run. I want to take the approach that No Man's Sky has taken for content and generate as much as I can. I am fascinated by generating objects using algorithms. This seems to be a trend in games.
The struggle I have with games: I want to build things like structures in game (aka Minecraft), I want to build characters in game (aka RPGs), I also want to deform terrain (aka organic voxels), and I want a mixed genre (guns and dragons). Nothing like this exists in a form I want to pay for. I also want to be able to mod the game and for other people to be able to mod the game. That really narrows the list of games down to nothing. Sure there are few games that hit these bullet points, but not all in the same game.
I am finding I struggle to be engaged intellectually at work. I do what I have to for a paycheck. I think having a side project will help with this. One that is radically different than what I do at work is going to be helpful. I need to be realistic about expectations. I probably shouldn't expect any real progress for at least 2 to 3 years and probably more likely 5 years. I have some experience with the tool chains from other engines I have worked with. I also want something that I own and is mine. Even if it sucks.32 -
I found this on a wiki with Haskell Humor... it's interesting...
How to Shoot Your Self in the Foot With Haskell: Putting the unsafe in unsafePerformIO!
You shoot the gun, but the bullet gets trapped in the IO monad.
Couldn't match expected type 'Deer' against inferred type 'Foot'.
While compiling your program the compiler produces a type error long enough to overflow a kernel buffer, overwrite the trigger control register and shoot you in the foot.
After trying to decipher the type errors from the compiler, your head explodes.
After you've finally found a way to circumvent the type system and shoot yourself in the foot, Oleg appears out of nothing and shoots you in the foot for coming up with it before him.
You shoot the gun but nothing happens (Haskell is pure, after all).
Your foot is fine, until you try to walk on it, at which point it becomes mangled.
You have a shootFoot function which you've proven correct. QuickCheck validates it for arbitrary you-like values. It will be evaluated only when you end up at the hospital. You hope this doesn't come to pass, as it actually returns a bullet-ridden copy of yourself and you don't want to be garbage-collected.
foreign import ccall "shootparts.h shootfoot" shoot_foot :: Gun -> Programmer -> IO ()
shootSelfInFoot = unsafePerformIO . shoot . foot $ self -- Shoot self in foot 0 or more times depending on evaluation order
No instance for (Target Foot)
arising from use of `shoot' at SelfInflictedInjury.hs:1:0
Possible fix: add an instance declaration for (Target Foot)
In the expression: shoot foot
You go to shoot yourself in the foot but the bullet is in the ST monad and the gun is in the IO monad, so you can't.
You ask Haskell to shoot you in the foot but by the rules of lazy evaluation you don't need the result yet so it doesn't happen.
You decide to shoot yourself in the foot but get distracted devising a ballistics algebra and wondering if you can do the calculations in the type system.
You want to shoot yourself in the foot but realize there is no Gun datatype so use Arrows instead.
You shoot in the direction of your foot, but since you are inside the STM monad you can just retry until you figure out what to do.
You shoot yourself in the foot, but you are perfectly fine as long you just don't evaluate the foot.
You shoot yourself in the foot, but nothing happens unless you start walking.
Don't forget about memory consumption! If you don't look, the bullet causes heap overflow. If you look, the bullet causes stack overflow.
You *appear* to have deliberately shot yourself in the foot, and yet your program actually runs perfectly OK due to lazy evaluation. (So long as you remember to not look at your foot...)
You aim the gun at your foot, pull the trigger and remove the clip. When you look at your undamaged foot, the hammer clicks on an empty barrel.1 -
I know its been quite a while since ive posted last but it is safe to say that i am back! And boy do i have some stuff to bitch about.
This semester, Im taking mobile app development as a class. I chose to take this class over the introductory c# class, so that i wouldn't need to work with Windows or really do anything else to touch Windows. Well the joke is on me. Here i was thinking that we would be using a bit of Java from time to time while only really learning best practices and concepts.
Never did i think that this class's curriculum would be entirely based off of Xamarin.
Seeing as I need either this class or the two c# classes to graduate, I had to bite the bullet and just accept that my semester would be full of irritation during this class.
Its been about seven weeks in, and i have turned in 8 assignments.
All 8 of those assignments have been Windows Form Applications doing simple shit like dividing two numbers.
We have not made anything for multiple devices. We have not made anything for even one mobile device. We have not even discussed how to do this in the class.
This wouldnt bother me so much since these are typically easy programs that take about 30 minutes to make and test and submit for grading. It does insanely bother me, however, that it takes Windows so FUCKING LONG to boot, or when it freezes every 2 minutes because i clicked into another program, or it just HANGS ON THE UPDATING SCREEN AT 36% FOR THREE DAYS, or when it took 4 different reinstallations of Visual Studio 2017 before i could actually open without an error code.
College, Ive learned, tests my patience way more than it has ever tested my knowledge.2 -
Major rant incoming. Before I start ranting I’ll say that I totally respect my professor’s past. He worked on some really impressive major developments for the military and other companies a long time ago. Was made an engineering fellow at Raytheon for some GPS software he developed (or lead a team on I should say) and ended up dropping fellowship because of his health. But I’m FUCKING sick of it. So fucking fed up with my professor. This class is “Data Structures in C++” and keep in mind that I’ve been programming in C++ for almost 10 years with it being my primary and first language in OOP.
Throughout this entire class, the teacher has been making huge mistakes by saying things that aren’t right or just simply not knowing how to teach such as telling the students that “int& varOne = varTwo” was an address getting put into a variable until I corrected him about it being a reference and he proceeded to skip all reference slides or steps through sorting algorithms that are wrong or he doesn’t remember how to do it and saying, “So then it gets to this part and....it uh....does that and gets this value and so that’s how you do it *doesnt do rest of it and skips slide*”.
First presentation I did on doubly linked lists. I decided to go above and beyond and write my own code that had a menu to add, insert at position n, delete, print, etc for a doubly linked list. When I go to pull out my code he tells me that I didn’t say anything about a doubly linked list’s tail and head nodes each have a pointer pointing to null and so I was getting docked points. I told him I did actually say it and another classmate spoke up and said “Ya” and he cuts off saying, “No you didn’t”. To which I started to say I’ll show you my slides but he cut me off mid sentence and just yelled, “Nope!”. He docked me 20% and gave me a B- because of that. I had 1 slide where I had a bullet point mentioning it and 2 slides with visual models showing that the head node’s previousNode* and the tail node’s nextNode* pointed to null.
Another classmate that’s never coded in his life had screenshots of code from online (literally all his slides were a screenshot of the next part of code until it finished implementing a binary search tree) and literally read the code line by line, “class node, node pointer node, ......for int i equals zero, i is less than tree dot length er length of tree that is, um i plus plus.....”
Professor yelled at him like 4 times about reading directly from slide and not saying what the code does and he would reply with, “Yes sir” and then continue to read again because there was nothing else he could do.
Ya, he got the same grade as me.
Today I had my second and final presentation. I did it on “Separate Chaining”, a hashing collision resolution. This time I said fuck writing my own code, he didn’t give two shits last time when everyone else just screenshot online example code but me so I decided I’d focus on the PowerPoint and amp it up with animations on models I made with the shapes in PowerPoint. Get 2 slides in and he goes,
Prof: Stop! Go back one slide.
Me: Uh alright, *click*
(Slide showing the 3 collision resolutions: Open Addressing, Separate Chaining, and Re-Hashing)
Prof: Aren’t you forgetting something?
Me: ....Not that I know of sir
Prof: I see Open addressing, also called Open Hashing, but where’s Closed Hashing?
Me: I believe that’s what Seperate Chaining is sir
Prof: No
Me: I’m pretty sure it is
*Class nods and agrees*
Prof: Oh never mind, I didn’t see it right
Get another 4 slides in before:
Prof: Stop! Go back one slide
Me: .......alright *click*
(Professor loses train of thought? Doesn’t mention anything about this slide)
Prof: I er....um, I don’t understand why you decided not to mention the other, er, other types of Chaining. I thought you were going to back on that slide with all the squares (model of hash table with animations moving things around to visualize inserting a value with a collision that I spent hours on) but you didn’t.
(I haven’t finished the second half of my presentation yet you fuck! What if I had it there?)
Me: I never saw anything on any other types of Chaining professor
Prof: I’m pretty sure there’s one that I think combines Open Addressing and Separate Chaining
Me: That doesn’t make sense sir. *explanation why* I did a lot of research and I never saw any other.
Prof: There are, you should have included them.
(I check after I finish. Google comes up with no other Chaining collision resolution)
He docks me 20% and gives me a B- AGAIN! Both presentation grades have feedback saying, “MrCush, I won’t go into the issues we discussed but overall not bad”.
Thanks for being so specific on a whole 20% deduction prick! Oh wait, is it because you don’t have specifics?
Bye 3.8 GPA
Is it me or does he have something against me?7 -
(Ok, I love js in general (specially with es6), but here's something I hate about the "ecosystem". Dont take this too srsly also)
Holy fucking gagged shit, these project readmes that start out for too long about the project objective instead of stating the actual thing/s the software does.
WHAT DOES IT FUCKING DO!?
STOP BEING FUCKING FANCY ABOUT YOUR PROJECT.
Jesus christ, people jacking off about their awesome tool and how it will make everyone happy. No one cares.
"shitsmoke.js is a framework that focuses on delivering truly reliable data with static checking enabled on deployment."
WHAT THE SHIT DOES THAT MEAN?
Gimme a bullet point with the goddamn features (not the fucking BENEFITS) and I'm done.
These are like layers of marketing bullshit texts you have get through, getting more technical as you go on.
But sometimes they never do a technical summary, THEY GO STRAIGHT INTO THE GODDAMN API. And the API docs belong to a docs site, there is github.io and packages that take care of that.
You're like a goddamn linguistic detective, trying to disect the meaning of these words to understand if some package is what you're looking for.
And I don't wanna visit another website to understand what it does either!1 -
Applied in a company for a development work, as I have been a developer for some time now and want to switch jobs. The new company was larger and I had no experience of how processes work at larger companies.
I got a call and after the usual chit-chat I got asked if I would be interested in a support role. Since this was new to me I was afraid to flat-out say 'no', so I told them that I had applied to a developer role through their website. They said that theirs is a service-based company and interaction to clients is something everyone has to do. I started digging, as to why the current position is different from the one indicated on the website.
After some more conversation, the call ended.
Later I came to know from an acquaintance that there are both support and development roles at that company and since support positions are few people's "first choice" they first try all the candidates that call; those that fit into the support roles are assigned there.
Needless to say, the compensation and general nature of the support jobs is much inferior to proper development positions.
I dodged a bullet.1 -
So here I work with this colleague that , at first , had a reasonable résumé. Whatever.
Time goed by and he is just doing tickets, clicking left and right, the usual grind of a shitty monitoring system which I am working intensely on deprecating that shit. Anyhoo
The last few days it became apparent that his resume was basically a hot air cake and he knows basically nothing intrinsically.
As I have stated before in previous rants, "everyone was a noob once"... But this guy...
He wants to do "something with Ansible"... "Ok what do you want to do?" , I asked (and I regret to have asked).
He basically wants to write new files on targets. Easy enough, I show him how he could do it with playbooks, inventory and role just for demonstrating the entire chain.
This guy chanes everything up, thereby breaking host group assignment, he launchea it on ALL machines...
Luckily it's a harmless file, so dodged a bullet there.
But the real wtf ia that he did it with the root account for our systems, without understanding the difference between "authentication" and "authorization"...
I am now explaining him what the difference is and how he can be able to check it. I give him the commands literally! ( sudo -l -U <user>)
Manages to fucking open up each sudoer file in vim , mistype or whatever he did in an attempt to leave vim... Breaks sudo...
Now he tries to spin it in such a way that I have steered him to break things.
"Dude you just fucking failed a copy/paste and you did absolutely fuckall without understanding what you are doing, then splurge out accusations because you did it wrong!"
FMLrant privilege escalation authentication authorization living eventually gets revealed colleagues without intrinsic knowledge breaking sudo3 -
Aarrrgghhhhh!!! I am so fucking pissed off right now. It seems like I am paying for my sins in this life.
1. My cousins/relatives outcasted me after a little fault of mine. I used to think highly of them and respected them all my life and this how they acted on me.
Because of this, the entire family is boycotting my parents and they are pissed at me for getting them disowned.
2. My health is a mess. A toxic infection along with SAD creeping in due to less sun exposure. No matter how much I take care of myself, some shit shows up after periodically.
3. My wealth scene is as confusing as it can get. Not only I am unable to make up my mind on the finance strategy and execute it, but also frantically making silly decisions which is causing stress, confusion, and expenses.
4. That Narcissist bitch who abused me and destroyed my will to live is still stalking me after months and causing harassment. Only if the gender roles were reversed, the guy doing so would be in jail but fuck our legal system that biased towards women. This shit is causing me psychological distress.
5. Been away from work for few days due to sickness. I texted my talkative colleague whether she'd like to sync up and help me get upto the speed with updates. I listed 4 bullet points as agenda from my side. They were crisp short serving as pointers to remember. I even asked her to add her points if any.
Now she comes back saying that the way I send communication is it seems like she reports to me.
I have been praised time and again by countless people on my communication structure and soft skills. Never once I received such feedback in years.
I do accept it gracefully. However, I am unsure whether it is even a relevant feedback, since it's coming from someone who is literally struggling with communication with everyone (that she herself mentioned in the same thread).
Funnily she did say that when our manager departs, they'd make her report to me and I was like nah! that cannot happen.
She kept saying various great things about the company when I was new and slowly as I settled in and discovered the reality, her truth changed.
WTF!
Fucking annoying. I am all in for feedback of any kind but how should I figure which should be considered valid and which as invalid?
Life is nothing but a quicksand, you just keep sinking in irrespective of whether you try to get out or stay still. There is no external help or resources available.
So much mess to deal with.4 -
Substantive post / question time!
So I'm working on this project that isn't a disaster but very much suffered from a lack of planning (both on my part and others).
This is a feature that involves all sorts of ways to view and manipulate some records and various records and so forth... I mean what isn't that really?
I think everyone tried but we didn't realize how many details there would be and how much we would need to (well I demand we do) share code across pieces and how that would slow us up when we realize feature A needs to do X, Y, Z and ... well obviously that means feature B has to also...
I'm not really upset about this, it's progressing and I'm learning. I'm writing it all now so it's under control, but...
I want to be able to display, visually where we are as far as each component of this project
- Component A
- Description:
- Component A does things you don't want to.
- Has features:
- Can blow up things in a good way.
- Produces flowers and honey on demand
- Missing features:
- Doesn't take out the trash.
And so on for component B, C, D, Z.
Right now I'm just using a plain old document file to write up a status / progress type thing now.
We use Teamwork to manage tasks, but I kinda hate it. It's similar to the above example in being able to bust out lists... but they're not connected in any way. All the details are lost on these bullet items as they're limited to one line when you look at everything ....
It's the classic case of a tool that shows lists ... but doesn't promote or allow for showing any connections between them...
And really the problem with this project is that we built little bits and features here, and little bits there from the outside in and ... really we should have built it from the top down where we had to face a lot of questions earlier.
Anyway does anyone know of anything that has project type management / status / progress stuff that is VISUALLY helpful .. not just a bunch of lists and progress bars?
I know I didn't word this well but I'm open to even wrong answers....2 -
I really hate working with learning management systems (LMS).
I make training simulations for retail companies and some of these have the worst, backwards LMS's out there.
The providers who install and manage these LMSs for the companies always insist we make our training run inside their own environment, but we can't since it's a 3D training made in Unity that doesn't run well in a browser.
Luckily some of these are fine to figure out. Just a few API calls here and there for authorization and reporting progress, but some are an absolute nightmare.
Just now one of the providers provided me with a 2000 page documentation of all the functions of the LMS's API that our customer is using. All I need are like 5 pages that explain what URL to call with what data and the responses, but now I'm stuck spending days trying to find the 0.5% of this documentation that I need to communicate with their API.
And of course, the documentation is vague as all hell. minimal descriptions of what each endpoint does. Subjects names are super vague, as in do I look for course progress or lesson completion state. What the heck is a Learning Event, is it relevant to me?
And the errors in this document, too.
Bullet-point lists with duplicate items.
language errors everywhere.
Property lists where they copy-pasted the description of properties.
An entire EMPTY chapter, literally a page with only the chapter's title.
I just can't stand how these providers barely seem to know anything about the API of the LMS's they provide to customers.
(for clarity, the LMS is produced by some big tech company, it's installed and maintained by some 3rd party which is our main line of communication when rolling out trainings to these).
It always goes like: "Hey, we want to use your training." "Oh, that's great, we have our own, simple LMS where you can view your employee's progress." "Nah, we want to use our backwards LMS. Here's a giant manual about it's API, go figure it out!"
And then I'm left here tearing my hair out trying to figure out which 3 calls I need to send their API from the tons of extra stuff it can do which is completely unnecessary and being unable to rely on the provider because they lack the knowledge and have such thick skulls about the implementation of the LMS itself that they also seems completely unwilling to help to begin with!
Just another day at the office.