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 it was used everywhere"
-
Today was my last day of work, tomorrow i have officially left that place. It's a weird feeling because i'm not certain about the future.
The job was certainly not bad, and after all i read on devrant i'm beginning to believe it was one of the better ones. A nice boss, always something to eat/drink nearby, a relaxed atmosphere, a tolerance for my occasionally odd behaviour and the chance to suggest frameworks. Why i would leave that place, you ask? Because of the thing not on the list, the code, that is the thing i work with all the time.
Most of the time i only had to make things work, testing/refactoring/etc. was cut because we had other things to do. You could argue that we had more time if we did refactor, and i suggested that, but the decision to do so was delayed because we didn't have enough time.
The first project i had to work on had around 100 files with nearly the same code, everything copy-pasted and changed slightly. Half of the files used format a and the other half used the newer format b. B used a function that concatenated strings to produce html. I made some suggestions on how to change this, but they got denied because they would take up too much time. Aat that point i started to understand the position my boss was in and how i had to word things in order to get my point across. This project never got changed and holds hundreds of sql- and xss-injection-vulnerabilities and misses access control up to today. But at least the new project is better, it's tomcat and hibernate on the backend and react in the frontend, communicating via rest. It took a few years to get there, but we made it.
To get back to code quality, it's not there. Some projects had 1000 LOC files that were only touched to add features, we wrote horrible hacks to work with the reactabular-module and duplicate code everywhere. I already ranted about my boss' use of ctrl-c&v and i think it is the biggest threat to code quality. That and the juniors who worked on a real project for the first time. And the fact that i was the only one who really knew git. At some point i had enough of working on those projects and quit.
I don't have much experience, but i'm certain my next job has a better workflow and i hope i don't have to fix that much bugs anymore.
In the end my experience was mostly positive though. I had nice coworkers, was often free to do things my way, got really into linux, all in all a good workplace if there wasn't work.
Now they dont have their js-expert anymore, with that i'm excited to see how the new project evolves. It's still a weird thing to know you won't go back to a place you've been for several years. But i still have my backdoor, but maybe not. :P16 -
So I had my exams recently and I thought I'd post some of the most hacky shit I've done there over here. One thing to keep in mind, I'm a backender so I always have to hack my way around frontend!
- Had a user level authentication library which fucked up for some reason so I literally made an array with all pages and user levels allowed so I pretty much had a hardcoded user level authentication feature/function. Hey, it worked!
- CSS. Gave every page a hight of 110 percent because that made sure that you couldn't see part of the white background under the 'background' picture. Used !important about everywhere but it worked :P.
- Completey forgot (stress, time pressure etc) to make the user ID's auto incremented. 'Fixed' that by randomly generating a user id and really hoping during every registration that that user ID did not exist in the database already. Was dirty as fuck but hey it worked!
- My 'client' insisted on using Windows server.Although I wouldn't even mind using it for once, I'd never worked with it before so that would have been fucked for me. Next to that fact, you could hear swearing from about everyone who had to use Windows server in that room, even the die hard windows users rather had linux servers. So, I just told a lot of stuff about security, stability etc and actually making half of all that shit up and my client was like 'good idea, let's go for linux server then!'. Saved myself there big time.
- CHMOD'd everything 777. It just worked that way and I was in too much time pressure to spend time on that!
- Had to use VMWare instead of VirtulBox which always fucks up for me and this time it did again. Windows 10 enjoyed corrupting the virtual network adapters after every reboot of my host so I had to re-create the whole adapter about 20 times again (and removing it again) in order to get it to work. Even the administrator had no fucking clue why that was happening.
- Used project_1.0.zip etc for version control :P.
Yup, fun times!6 -
!rant
I feel darn good today! I caught some A-holes cheating the system on Stack Overflow.
So basically a question was asked with no code examples present and not a single reference to any framework being used.
The tag only had 'javascript', which probably limits to only 157.244.457 existing frameworks.
I'm commenting something like 'Show us your code so we can have a look'.
After 2 minutes, out of the blue, an answer appears. AND WOW! This guy had a Magical 8 Ball™!
He could predict the framework AND had a very specific fix. Just a one-liner! Go figure!
So I'm like thinking.. What the fuck just happened? Did I miss something? «Going over the question two more times»
All of the sudden, up-votes start popping up all over the place. The question was marked 3 times, the answer was marked an up-voted multiple times, and THEN it hit me (I'm kind of slow).
I checked both user profiles and instead of the usual 'air of mystery', these guys were actually dumb enough to include their company name.
AssertEquals == true.
So in the comment section, I raise my concerns on the legitimacy of the question as clearly this was 'telephoned' as we say it in Dutch, meaning as much as 'rehearsed' in this context.
But as if that was not enough, this another guy comes in and COPY/PASTED(!) the answer of guy #1. Again. Up-votes. EVERYWhere.
So I start going over some of the questions and answers of The Three Musketeers or TTM, as I'll refer them as of now.
TTM had posted over 15 questions combined, mostly crap and incomplete no-code questions. And they had answered most of their own questions.
Sometimes another guy's answer was accepted with zero up-votes as a smoke screen while the real winner was one of their own.
I marked ALL of these questions for moderation, left for lunch, and came back to see how far my blast radius reached.
Turns out, pretty damn far! Although their accounts have not been deleted, TTM have lost most of their reputation points.
They will remain on my watchlist for a couple of months. I know that is quite childish of me, but I just call it my 'guilty pleasure'! ;D
And besides, what else is there to do, instead of browsing DevRant?13 -
My first experience with Swift ended in me infecting myself with a virus (kinda). I wanted to create a macOS app that would listen for a global key event, catch it and then type a word.
During development I set it up to listen for ANY key event and to type "BALLS". So what happened? I compiled the code, everything looked good, I started the app and pressed a key which emitted a key event. The event was caught by my app and it typed "BALLS", just as expected. However, the typing of the word caused a NEW key event to be emitted, which the app also caught. The infinite loop was a fact. FUCK!
I tried closing down XCode but all I could see was "BALLS BALLS BALLS" everywhere. I tried everything I knew but it just kept typing "BALLS". I had to hold down my power button to make it stop.
I finally finished the app (which I named "The Balls App", I kept the word "BALLS"). I solved this issue by only listening for KeyUp and when emitting the "BALLS" word I just used KeyDown.7 -
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.7 -
Previous developers read entire result of a SELECT into array of arrays.
Then used that later on in the following fashion.
print "name: " + result[row][17]
print "address: " + result[row][23]
...
without any description whatsoever what the numbers mean.
And it's here "result" and "row", in the actual code it was "arr" and "ii".
And these arrays were "public static" used everywhere, but initialized only at few places, so if you went onto wrong screen or if there was a phone call that kicked the app out it crashed.
But real fun began when people started changing queries and altering tables...
I seriously thought I was being pranked as a new hire.9 -
Project Cortana: Day 56
*What I liked*
Here is the rant where I described the project: https://devrant.io/rants/962190
Time for a review. The biggest advantage I have found was the productivity. Let me explain:
1. Cortana: It's useful as fuck if anyone is willing to use it all the time. It really helps to get reminders and notifications everywhere (PC, Laptop and Mobile).
2. Microsoft Launcher: An underrated gem due to the hate towards M$. Thanks to it's transparent theme, it looks absolutely gorgeous. The most useful part is the "Feed" where you get all your emails, recently edited documents, recently used apps or contacts all together. I was quite surprised to see the level of customization if offered considering it's M$.
3. M$ Office: I probably don't need to talk much about it, it's the most productive tool you can get. Outlook is fucking brilliant on mobile. Other office apps, while they are great on mobile, are probably more useful in tablets. And the "Focused Inbox" is the best thing happened to outlook.
4. M$ To-Do: Holy fuck, this is sick. I know that there is many alternative with more features. But this app is the perfect example of a todo app. Simple, has the exact right features and has a really smooth, beautiful UI. This really helped me to be productive.
5. OneDrive: Didn't find much difference compared to Google Drive.
6. People: Something that I discovered later and found it really useful. You can pin contacts in the taskbar and see emails, calender items associated with that contact in one click. Found it really useful considering I was chatting with my Supervisor and lectures quite frequently.
7. Windows Mail App: While I really like it, I have mixed feeling about it. I would really love to have HTML signature. Not sure why M$ is not implementing it. But the "Share" in the Context Menu is really useful while sending attachements.
Finally, the "Fluid Design" so far is beautiful. Loving the effects.
I will write what I didn't like in the next rant.16 -
I'll use this topic to segue into a related (lonely) story befitting my mood these past weeks.
This is entire story going to sound egotistical, especially this next part, but it's really not. (At least I don't think so?)
As I'm almost entirely self-taught, having another dev giving me good advice would have been nice. I've only known / worked with a few people who were better devs than I, and rarely ever received good advice from them.
One of those better devs was my first computer science teacher. Looking back, he was pretty average, but he held us to high standards and gave good advice. The two that really stuck with me were: 1) "save every time you've done something you don't want to redo," and 2) "printf is your best debugging friend; add it everywhere there's something you want to watch." Probably the best and most helpful advice I've ever received 😊
I've seen other people here posting advice like "never hardcode" or "modularity keeps your code clean" -- I had to discover these pretty simple concepts entirely on my own. School (and later college) were filled with terrible teachers and worse students, and so were almost entirely useless for learning anything new.
The only decent dev I knew had brilliant ideas (genetic algorithms, sandboxing, ...) before they were widely used, but could rarely implement them well because he was generally an idiot. (Idiot sevant, I think? Definitely the idiot part.) I couldn't stand him. Completely bypassing a ridiculously long story, I helped him on a project to build his own OS from scratch; we made very impressive progress, even to this day. Custom bootloader, hardware interfacing, memory management, (semi) sandboxed processes, gui, example programs ...; we were in highschool. I'm still surprised and impressed with what we accomplished.
But besides him, almost every other dev I met was mediocre. Even outside of school, I went so many years without having another competent dev to work with. I went through various jobs helping other dev(s) on their projects (or rewriting them), learning new languages/frameworks almost every time: php, pascal, perl, zend, js, vb, rails, node, .... I learned new concepts occasionally (which was wonderful) but overall it was just tedious and never paid well because I was too young to be taken seriously (and female, further exacerbating it). On the bright side, it didn't dwindle my love for coding, and I usually spent my evenings playing with projects of my own.
The second dev (and one one of the best I've ever met) went by Novo. His approach to a game engine reminded me of General Relativity: Everything was modular, had a rich inheritance tree, and could receive user input at any point along said tree. A user could attach their view/control to any object. (Computer control methods could be attached in this way as well.) UI would obviously change depending on how the user could interact and the number of objects; admins could view/monitor any of these. Almost every object / class of object could talk to almost everything else. It was beautiful. I learned so much from his designs. (Honestly, I don't remember the code at all, and that saddens me.) There were other things, too, but that one amazed me the most.
I havent met anyone like him ever again.
Anyway, I don't know if I can really answer this week's question. I definitely received some good advice while initially learning, but past that it's all been through discovering things on my own.
It's been lonely. ☹2 -
In january 2023 i was contacted by a recruiter offering me a job position.
I DID NOT ASK FOR A JOB.
I WAS NOT LOOKING FOR A JOB.
THEY contacted ME.
Ok. So i went along with it and see how it goes. They probably wont hire me nor would i give a shit. Chatted with this recruiter for a while. She forgets to answer my message for 5 fucking days. Twice. Once because she was doing God knows what and the second time because she was on paid vacation. Fine i don't give a shit about you at all anyways.
So this recruiter chatting has been stretched out for several days. I think over a WEEK. So she forwarded me to their lead developer.
I applied to work as a full stack java spring boot backend + angular frontend engineer.
So:
- java backend
- angular frontend
- full stack
- shitload of devops
- shitload of projects i built
- worked with clients
- have CS degree, graduated
- worked a job at their rival company
What could go fucking wrong with all of these stats right?
During technical + hr interview (3 of us on google meets) they asked me what salary I'd be comfortable with.
I said $1500/month straight out.
keep in mind:
- In my country $500 or $600 is a salary for engineers per month
- You get a raise of +$150 which is around $750 after working for 1+ year
- You can earn $1000+ after you work for +2 years
- Rent here is $200-300 a month at minimun. And because of inflation its just getting worse especially with food. So this salary is not for living but for survival.
Their lead engineer gave me a WHOLE ASS FUCKING PROJECT TO BUILD and i had to code it within 10 days. Great so at least 17+ days of my fucking life to waste on these fucktards who contacted ME.
The project was about building a web app coffee shop literally what mcdonalds has when you order via those tablets. I had to build this in java spring boot and angular. I had to integrate:
- docker, devops
- barmen, baristas, orders
- people can order at the table or to go
- each barista can take 5 orders at a time
- each coffee has different types of fields and brewing time
- each barman brews each coffee different period of time
- barista cant take more than 5 orders for to go until barman finishes the previous order
- barista can take more than 5 orders but if those orders were ordered from table, and they have to be put in queue
- had to build CRUD admin functionality coffee's
- had to export them all of the postman routes
- had to design a scalable database infrastructure for all of this alone
- shitload of stuff more
And guess what. After 10 painful days I BUILT THE WHOLE THING MYSELF AND I BUILT EVERYTHING THEY ASKED FOR. IT WAS WORKING.
Submitted it. They told me they'll contact me within 7 days to schedule the final Technical interview after they review what i built. Great so another 17+7 days of my fucking time wasted.
OH and they also told me to send them THE WHOLE GITHUB REPOSITORY AND TRANSFER OWNERSHIP TO THEIR COMPANY'S OWNERSHIP. once you do this you cant have your repository back. WTF? WHY CANT YOU JUST REVIEW THE CODE FROM MY PUBLIC REPOSITORY? That was so weird but what can i fucking do argue with these dickheads?
After a week of them not answering i contacted them via email. They forgot and apologized. Smh. Then they scheduled an interview within 3 days. Great more of my time wasted.
During interview i was on a google meets with their lead engineer, 1 backend java spring boot engineer and 1 angular frontend developer. They were milking me dry for 1 whole fucking hour.
They only pointed out the flaws in what i built, which are miniscule and have not once congratulated me on the rest of the good parts. I explained them i had to rush those parts so the code may not be perfect. I had other shit to do in my life and not work for your shitty project for $0/hour for 10 days you fucking dickriders.
So they quickly ran over to theory. They asked me where is jwt token stored. Who generates it. How the backend knows to authenticate user by it. I explained.
What are solid principles. I said i cant explain what is it but i understand how it works, why its needed and how to implement it (they can clearly see in the project i just build that i applied SOLID principles everywhere) - but i do admit i dont know the theory behind it 100% clearly.
Then they asked me about observables and promises in angular. I explained them how they work and how subscribe method is used (as they can clearly see that i used it in the code). Then they asked me to explain them under the hood of how observables work. The fuck? I dont know and dont care? But i can learn it as i work there?
Etc
Final result: after dragging this for 1 fucking month for miserable $1500/month they told me: we can either hire you now but for a much lower salary which you probably wont be happy with, or you can study more these things we discussed "and know why the car leaks oil" and reapply back to us in 2-3 months!23 -
My worst experience was at my job where they told me I have to move to a permanent position from 3 years of contracting without a specific offer.
Why is that bad? In my country it means approximatly 40% lower wage.
I came into the job with PHP knowledge when they were looking for Perl on a project one year behind schedule. I learned the language and finished working demo in 6 weeks.
After that, every project that was ever assigned to me was done within 5-15% of the allocated time. I'm not kidding here. My manager loved be, because I was reliable, fast and I even 'accidentaly' solved other problems, like for instance I developed simple syslog search tool and benchmarked zip algos for reading speed, and the fastest had 70% better compression than the algo used before (gzip into plzip on 1-2gb files). That solved anothet problem - syslog servers did not have enough disk space and they didn't have money to upgrade the server.
The number of projects I touched or developed was over 20.
I also lead and developed our team's most successful tool, that every customer was throwing money to buy, while cutting down costs everywhere.
And after three years of that, my manager says that there are no more money for contractors. And the only possibility is going for employment. Without any specific offer! Just 'we cant do this anymore'.
Which I understand, that can happen in corporation, but ffs after all I've done, I expected warmer attitude. Not like 'you may have to leave, since we do not really care'.
I liked the people there, even though the corporation environment was lacking in many respects, but I wanted to help our local branch with everything I could and they gave up on me like that.
So I started looking elsewhere and I found a startup which offered 6 times the money I had in my previous job and promises to relocate me to USA. Which is the best thing that has happened to me that year and second best in my whole life!3 -
Last week our department drama queen was showing off Visual Studio’s ability to create a visual code map.
He focused on one “ball of mud”, vilifying the number of references, naming, etc and bragging he’s been cleaning up the code. Typical “Oooohhh…this code is such a mess…good thing I’m fixing it all..” nonsense. Drama queen forgot I wrote that ‘ball of mud’
Me: “So, what exactly are you changing?”
DK: “Everything. It’s a mess”
Me: “OK, are any of the references changing? What exactly is the improvement?”
DK: “There are methods that accept Lists. They should take IEnumerables.”
Me: “How is that an improvement?”
<in a somewhat condescending tone>
DK: “Uh…testability. Took me almost two weeks to make all the changes. It was a lot of work, but now the code is at least readable now.”
Me: “Did you write any tests?”
DK: “Um…no…I have no idea what uses these projects.”
Me: “Yes you do, you showed me map.”
DK: “Yes, but I don’t know how they are being used. All the map shows are the dependencies.”
Me: “Do you know where the changes are being deployed?”
DK: “I suppose the support team knows. Not really our problem.”
Me: “You’re kinda right. It’s not anyone’s problem.”
DK: “Wha…huh…what do you mean?”
Me: “That code has been depreciated ever since the business process changed over 4 years ago.”
DK: “Nooo…are you sure? The references were everywhere.”
Me: “Not according to your map. Looks like just one solution. It can be deleted, let me do that real quick”
<I delete the solution+code from source control>
Me: “Man, sorry you wasted all that time.”
I could tell he was kinda’ pissed and I wasn’t really sorry. :)2 -
Continue of https://devrant.com/rants/2165509/...
So, its been a week since that incident and things were uneventful.
Yesterday, the "Boss" came looking for me...I was working on some legacy code they have.
He asked, "what are you doing ?"
Me, "I am working on the extraction part for module x"
He, "Show me your code!"
Me(😓), shows him.
Then he begins..."Have you even seen production grade code ? What is this naming sense ? (I was using upper and lower camel case for methods and variables)
I said, "sir, this is a naming convention used everywhere"
He, " Why are there so many useless lines in here?"
Me, "Sir, I have been testing with different lines and commenting them out, and mostly they are documentation"
He, "We have separate docs for all, no need to waste your time writing useless things into the code"
Me, 😨, "but how can anyone use my code if I don't comment or document it ?"
He, "We don;t work like that...(basically screaming)..."If you work here you follow the rules. I don't want to hear any excuses, work like you are asked to"
Me, 😡🤯, Okay...nice.
Got up and left.
Mailed him my resignation letter, CCed it to upper management, and right now preparing for an interview on next monday.
When a tech-lead says you should not comment your codes and do not document, you know where your team and the organisation is heading.
Sometimes I wonder how this person made himself a tech-lead and how did this company survived for 7 years!!
I don't know what his problem was with me, I met him for the first time in that office only(not sure if he saw the previous post, I don't care anymore).
Well, whatever, right now I am happy that I left that firm. I wish he get what he deserves.12 -
Yknow, I want to make an android app that I have in my mind for about half a year now and I already tried twice, both with Kotlin and with Java but everytime I try it's just pain and suffering and frustration...
No it's not because of the language, I like Java and I like Kotlin too and I'd say I'm at least decent at Kotlin and really good in Java...
No no.. the issue is the fucking Android SDK and the mix-and-match documentation available online!!!
Every fucking time I want to implement some sort of UI element, user action or a background service and I start googling how to do it It comes with with at least 3 different stack overflow solutions, all of them saying "that way of doing it is deprecated, instead you should X" and looking up the OFFICIAL FUCKING DOCS it will just make me roll up in the corner and cry because of how fucking inconsistent it is and the retarded domain language it uses... fucking transactions for fucking fragments inside fucking activities... because I guess the word "screen"/"view"/"template" or something similar natural just was too mainstream for the all knowing alphabet soup that google is...
And then you start looking up what the fucking difference even is and how to code it up only to find out there's at least 12 other opinions on how fragments should be used and what should be an activity and what should be a damn fragment...
But that's not all, that's just the base... I get a headache even thinking about how the fucking inflating of templates and the entire R. notation works. You want to open a fucking tiny corner menu with the settings options? WELL THEN YOU FUCKING BETTER REMEMBER TO IMPLEMENT IT THROUGH SOME SORT OF EVENT AND INFLATE THE MENU YOURSELF EVEN THOUGH ITS THE SAME FUCKING THING WITH STATIC STRINGS...
AND WHY THE FUCK DO I NEED LIKE 4 NEW FILES TO IMPLEMENT A FUCKING LISTVIEW...
also talking about ListViews... what was wrong with "ListView"... Why do we need a "RecyclerView"... oh right... because the fucks fucked the fuck up and all the legacy components were designed by a monkey and are next to useless! SO WE NEEDED A NEW NAME FOR THE FIXED VERSION, CANT NAME IT LISTVIEW AGAIN... FUCK YOU...
honestly... if I got a dolar for every "what the fuck android" I said during trying to understand that mess I'd be richer by a few hundred...
oh oh oh, but you know what? You don't like the android SDK? that's fine, you can use fucking React or Flutter or something... yeah.. because instead of torturing myself with the android SDK I want to torture myself with an abstraction of the same SDK and JavaScript as the fucking cherry on top... HAVE YOU FUCKING SEEN THE CODE FLUTTER SHOWS ON THEIR WEBSITE AS THE "Introduction" ?!!!
Look at this piece of shit:
[code in attached image, we could really use a proper Markdown support at least for rants]
THAT'S NOT EVEN THE ENTIRE THING, THAT'S JUST THE *REALLY* UGLY PART...
The fucking nesting... What is it with JS and all the fucking nesting everytime?! It looks like shit.... It reads like shit as well...
WHY, in the name OF FUCK, IS THERE MORE THAN 5 ANDROID FRAMEWORKS and ALL of them... used this FUCKING NOVEL idea of programming using A FUCKING BRACKET WALL
It always looks like:
(code(code[code{code(code{code()})}]));
If I wanted to make a fucking app or a website using fucking Haskell I'd do that.... at this point reading assembly code feels like heaven compared to this retardation... Why is this so popular?! WHAT DO YOU PEOPLE SEE IN IT?! Clearly it's not the aesthetics... it looks like a fucking frog vomit running down an emus leg, fuck that.... I don't even hate classic JavaScript, it's a good enough language and it does what I tell it to... but these ugly fucking frameworks like react, angular and whatever else uses this fucking format can go fuck right off. This is not the way JS is gonna get a better name for itself...
So:
Fuck Google
Fuck the marionette that designed the Android SDK
Fuck the Hellspawn the came up with the "functional-like" way of using JavaScript
Fuck everyone that thinks "JavaScript everywhere" is a good thing
And deeply future-fuck everyone that makes a new framework following any of these standards, stucks a .js at the end of the name and releases his hairball.js of an invention into the fucking world....
It's a mess... fuck everything android related...14 -
I’m trying to add digit separators to a few amount fields. There’s actually three tickets to do this in various places, and I’m working on the last of them.
I had a nightmare debugging session earlier where literally everything would 404 unless I navigated through the site in a very roundabout way. I never did figure out the cause, but I found a viable workaround. Basically: the house doesn’t exist if you use the front door, but it’s fine if you go through the garden gate, around the back, and crawl in through the side window. After hours of debugging I eventually discovered that if I unlocked the front door with a different key, everything was fine… but nobody else has this problem?
Whatever.
Onto the problem at hand!
I’m trying to add digit separators to some values. I found a way to navigate to the page in question (more difficult than it sounds), and … I don’t know what view is rendering the page. Or what controller. Or how it generates its text.
The URL is encrypted, so I get no clues there. (Which was lead dev’s solution to having scrapeable IDs instead of just, you know, fixing them). The encryption also happens in middleware, so it’s a nightmare to work through. And it’s by the lead dev, so the code is fucking atrocious.
The view… could be one of many, and I don’t even know where they are. Or what layout. Or what partials go into building it.
All of the text on the page are “resources” — think named translations that support plus nested macros. I don’t know their names, and the bits of text I can search for are used fucking everywhere. “Confirmation number” (the most unique of them) turns up 79 matches. “Fee” showed up in 8310 places before my editor gave up looking. Really.
The table displaying the data, which is what I actually care about, isn’t built in JS or markup, but is likely a resource that goes through heavy processing. It gets generated in a controller somewhere (I don’t know the resource name so I can’t find it), and passed through several layers of “dynamic form” abstraction, eventually turned into markup, and rendered as a partial template. At least, that’s how it worked in the previous ticket. I found a resource that looks right, and there’s only the one. I found the nested macros it uses for the amount and total, and added the separators there… only to find that it doesn’t work.
Fucking dead end.
And i have absolutely nothing else to go on.
Page title? “Show”
URL? /~LiolV8N8KrIgaozEgLv93s…
Text? All from macros with unknown names. Can’t really search for it without considerable effort.
Table? Doesn’t work.
Text in the table? doesn’t turn up anything new.
Legal agreement? There are multiple, used in many places, generates them dynamically via (of course) resources, and even looking through the method usages, doesn’t narrow it down very much.
Just.
What the fuck?
Why does this need to be so fucking complicated?
And what genius decided “$100000.00” doesn’t need separators? Right, the lot of them because separators aren’t used ANYWHERE but in code I authored. Like, really? This is fintech. You’d think they would be ubiquitous.
And the sheer amount of abstraction?
Stupid stupid stupid stupid stupid.11 -
TLDR: crappy api + idiot ex client combo rant // devam si duška
I saw a lot of people bitching about APIs that don't return proper response codes and other stuff..
Well let me tell you a story. I used to work on a project where we had to do something like booking, but better..crossbreed with the Off&Away bidding site (which btw we had to rip off the .js stuff and reverse engineer the whole timer thingy), using free versions of everything..even though money wasn't an issue (what our client said). Same client decided to go with transhotel because it was sooooo gooood... OK? Why did noone heard of them then?
Anyhow, the api was xml based.. we had to send some xml that was validated against a schema, we received another that was supposed to be validated againts another schema.. and so on and so on..
...
...
supposed..
The API docs were nonexistent.. What was there, was broken English or Spanish.. Even had some comments like Add This & that to chapter xy.. Of course that chapter didn't even exist yet. :( And the last documentation they had, was really really old..more than a year, with visible gaps, we got the validation schemas not even listed in the docs, let alone described properly.
Yaaay! And that was not everything.. besides wrong and missing data, the API itself caused the 500 server error whenever you were no longer authenticated.
Of course it didn't tell you that your session was dead.. Just pooof! Unhandled crap everywhere!
And the best part?! We handled that login after inspecting what the hell happened, but sent the notification to the company anyways.. We had a conf call, and sent numerous emails explaining to them what a 'try catch' is and how they should handle the not authenticated error <= BTW they should have had a handled xml response for that, we got the schema for it! But they didn't. Anyhow, after two agonizing days talking back and forth they at least set up the server to be available again after the horrified 500 error. Before, it even stopped responding until reset (don't ask me how they managed to do that).
Oh yeah, did I mention this was a worldwide renown company?! Where everybody spoke/wrote English?! Yup, they have more than 700 people there, of course they speak English! <= another one of my ex clients fabulous statements... making me wanna strangle him with his tie.. I told him I am not talking to them because no-one there understood/spoke English and it would be a waste of my time.. Guess who spent almost 3 hours to talk to someone who sounded like a stereotypical Indian support tech guy with a flue speaking Italian?! // no offence please for the referenced parties!!
So yeah, sadly I don't have SS of the fucked up documentation..and I cannot post more details (not sure if the NDA still holds even though they canceled the project).. Not that I care really.. not after I saw how the client would treat his customers..
Anywayz I found on the interwebz some proof that this shitty api existed..
picture + link: https://programmableweb.com/api/...
SubRant: the client was an idiot! Probably still is, but no longer my client..
Wanted to store the credit card info + cvc and owner info etc.. in our database.. for easier second payment, like on paypal (which he wanted me to totally customize the payment page of paypal, and if that wasn't possible to collect user data on our personalized payment page and then just send it over to paypal api, if possible in plaintext, he just didn't care as long as he got his personalized payment page) or sth.... I told the company owner that they are fucking retards if they think they can pull this off & that they will lose all their (potential) clients if they figure that out.. or god forbid someone hacked us and stole the data.. I think this shit is also against the law..
I think it goes without saying what happened next.. called him ignorant stupid fucktard to his face and told him I ain't doing that since our company didn't even had a certificate to store the last 4 numbers.. They heard my voice over the whole firm.. we had fish-tank like offices, so they could all see me yelling at the director..
Guess who got laid off due to not being needed anymore the next day?! It was the best day of my life..so far!! Never have I been happier to lose my job!!
P.S. all that crap + test + the whole backand for analysis, the whole crm + campaign emails etc.. the client wanted done in 6 months.. O.o
P.P.S. almost shat my pants when devRant notified my I cannot post and wanted to copy the message and then everything disappeard.. thank god I have written this in the n++ xDundefined venting big time issues no documentation idiot xml security api privacy ashole crappy client rant11 -
I AM TIRED
warning: this rant is going to be full of negativity , CAPS, and cursing.
People always think and they always write that programming is an analytical profession. IF YOU CANNOT THINK IN AN ANALYTICAL WAY THIS JOB IS NOT FOR YOU! But the reality could not be farther from the truth.
A LOT of people in this field whether they're technical people or otherwise, just lack any kind of reasoning or "ANALYTICAL" thinking skills. If anything, a lot of of them are delusional and/or they just care about looking COOL. "Because programming is like getting paid to solve puzzles" *insert stupid retarded laugh here*.
A lot of devs out there just read a book or two and read a Medium article by another wannabe, now think they're hot shit. They know what they're doing. They're the gods of "clean" and "modular" design and all companies should be in AWE of their skills paralleled only by those of deities!
Everyone out there and their Neanderthal ancestor from start-up founders to developers think they're the next Google/Amazon/Facebook/*insert fancy shitty tech company*.
Founder? THEY WANT TO MOVE FAST AND GET TO MARKET FAST WITH STUPID DEADLINES! even if it's not necessary. Why? BECAUSE YOU INFERIOR DEVELOPER HAVE NOT READ THE STUPID HOT PILE OF GARBAGE I READ ONLINE BY THE POEPLE I BLINDLY COPY! "IF YOU'RE NOT EMBARRASSED BY THE FIRST VERSION OF YOU APP, YOU DID SOMETHING WRONG" - someone at Amazon.
Well you delusional brainless piece of stupidity, YOU ARE NOT AMAZON. THE FIRST VERSION THAT THIS AMAZON FOUNDER IS EMBARRASSED ABOUT IS WHAT YOU JERK OFF TO AT NIGHT! IT IS WHAT YOU DREAM ABOUT HAVING!
And oh let's not forget the tech stacks that make absolutely no fucking sense and are just a pile of glue and abstraction levels on top of abstraction levels that are being used everywhere. Why? BECAUSE GOOGLE DOES IT THAT WAY DUH!! And when Google (or any other fancy shit company) changes it, the old shitty tech stack that by some miracle you got to work and everyone is writing in, is now all of a sudden OBSOLETE! IT IS OLD. NO ONE IS WRITING SHIT IN THAT ANYMORE!
And oh my god do I get a PTSD every time I hear a stupid fucker saying shit like "clean architecture" "clean shit" "best practice". Because I have yet to see someone whose sentences HAVE TO HAVE one of these words in them, that actually writes anything decent. They say this shit because of some garbage article they read online and in reality when you look at their code it is hot heap of horseshit after eating something rancid. NOTHING IS CLEAN ABOUT IT. NOTHING IS DONE RIGHT. AND OH GOD IF THAT PERSON WAS YOUR TECH MANAGER AND YOU HAVE TO LISTEN TO THEM RUNNING THEIR SHITHOLE ABOUT HOW YOUR SIMPLE CODE IS "NOT CLEAN". And when you think that there might be a valid reason to why they're doing things that way, you get an answer of someone in an interview who's been asked about something they don't know, but they're trying to BS their way to sounding smart and knowledgable. 0 logic 0 reason 0 brain.
Let me give you a couple of examples from my unfortunate encounters in the land of the delusional.
I was working at this start up which is fairly successful and there was this guy responsible for developing the front-end of their website using ReactJS and they're using Redux (WHOSE SOLE PURPOSE IS TO ELIMINATE PASSING ATTRIBUTES FOR THE PURPOSE OF PASSING THEM DOWN THE COMPONENT HIERARCHY AGIAN). This guy kept ranting about their quality and their shit every single time we had a conversation about the code while I was getting to know everything. Also keep in mind he was the one who decided to use Redux. Low and behold there was this component which has THIRTY MOTHERFUCKING SEVEN PROPERTIES WHOSE SOLE PURPOSE IS BE PASSED DOWN AGAIN LIKE 3 TO 4 TIMES!.
This stupid shit kept telling me to write code in a "functional" style. AND ALL HE KNOWS ABOUT FUNCTIONAL PROGRAMMING IS USING MAP, FILTER, REDUCE! And says shit like "WE DONT NEED UNIT TESTS BECAUSE FUNCTIONAL PROGRAMMING HAS NO ERRORS!" Later on I found that he read a book about functional programming in JS and now he fucking thinks he knows what functional programming is! Oh I forgot to mention that the body of his "maps" is like 70 fucking lines of code!
Another fin-tech company I worked at had a quote from Machiavelli's The Prince on EACH FUCKING DESK:
"There is nothing more difficult to take in hand, more perilous to conduct, or more uncertain in its success, than to take the lead in the introduction of a new order of things."
MOTHERFUCKER! NEW ORDER OF THINGS? THERE 10 OTHER COMPANIES DOING THE SAME SHIT ALREADY!
And the one that got on my nerves as a space lover. Is a quote from Kennedy's speech about going to the moon in the 60s "We choose to go to the moon and do the hard things ..."
YOU FUCKING DELUSIONAL CUNT! YOU THINK BUILDING YOUR SHITTY COPY PASTED START UP IS COMPARABLE TO GOING TO THE MOON IN THE 60S?
I am just tired of all those fuckers.13 -
I started my internship at the end of the year..
Fuck my ass!!! This code I have to work with is a huge pile of shit.
The code base I need to work with is around 40k LOC. It is a mixture of C++, C, Java, Python, Bash and I think I saw some lonely js files around.
A list of awesome parts:
- Paths are hard coded.
- Redundant code everywhere
- No documentation or inline comments available
Most of the comments in the code are just old code that is not used anymore. But the cherry on the turd is the class that should provide all kind of useful functions in my daily routine. About ninety percent of the functions have the same description or nothing. Sometimes a function name says "readSomethingFromSomewhere" but instead it writes something to a file. It is really confusing and I need to check everything twice instead of rely on what the function name promises.
I have also learned why copy paste isn't that good. The brief descriptions of every method in a files are always the same.
getName() - Description: Fork child process
getIp() - Description: Fork child process
getIpv6() - Description: Fork child process.
Surprise: None of these functions forks a child process. :D
Another awesome feature is the thing that they store up to five different versions of libraries. Everyone with slight modifications but no hint which one you need to use. Sometimes it is the newest, sometimes the oldest which is running in production. Another case of try and error.
Oh and my dev machine is a potato with a power supply and a fan. I started with NetBeans and every time I compiled the code it sounds like the machine wants to lift off and leave for a better place. (At this point I switched to Emacs and everything runs smoothly now)
At first I thought that I'm just not that good at coding and understanding a big project from scratch but some colleagues have the same problem. The whole system is very inflexible and it is all about "std::cout"-debugging to check if your changes do what you want them to do.
Currently I'm just trying to fix this mess to make the life for the next student or employee easier. The first month was just frustrating as hell. I need to ask so many questions and most of the time the answer was "I don't know, haven't touched this code in years". Needless to say that my progress isn't that awesome but at least I get a nice payment for 20 hours of work a week.2 -
MacBook/OSX
Have used all kinds of OSes and computers. Nothing sucked the productivity out of me as much a company provided MacBook. Some issues were related to the company setup (vpn issues after sleep, jamf botched app installs). But most of the day to day work was just due to crappy key handling. Lots of shortcuts that work everywhere don't (think all the alt combos in terminal). Common things require combos and using the actual keys (like home and end) on an external keyboard have undefined behaviour. Out of the box it does not even have decent window management, this means that a third party tool has to provide the shortcuts and they clash with a few programs.
Thank god I can use Linux now to develop for Linux.7 -
Elasticsearch, from the bottom of my heart...
How can one ecosystem be so batshit crazy inconsistent?
Seemingly every agent does the same (e.g. filebeat vs journalbeat vs packetbeat)… yet there are subtle changes in configuration everywhere.
Plus YML. The most shitty markup language one can use and the cockslubbing durps used it fucking everywhere.
Makes fun to have complex stuff and requiring a python Jinja to JSON to YML converter to be able to write the complex stuff without having the fucking migraine to count like a stupid 4 year old whitespace with both hands...
To make it even more absurd: the ingest pipelines which contain a lot of regular expressions / grok and are thus very prone to quoting issues... Yes. Let's do this in YML too.
If you need to add an fucking manual section how to debug YML errors you should have realized what a fucking stupid idea it was, morons.
Now I have the joy of having a python script regex quoting the shit for a Jinja template which then generates JSON which then generates YML.
Why the JSON part?
Yeah... Because ECS and changes in the upstream YML files / GitHub.
To be able to run diffs in a sane way because in YML distinguishing thing is pretty much impossible, so JSON as an intermediary format solely for the purpose of converting upstream YML to JSON to diff it against modified JSON ingest pipelines downstream.
I fucking hate elasticsearch8 -
Started a job as a full stack developer. My first task was shocking! Do these small edits on this backend script that collects stuff from one database and edits the entries in another... piece of cake so far!
Here is the project on the TFS...
HOLD ON! IS THIS VISUAL BASIC?!!
I came here to do .Net framework development and .Net Standard... I wasn’t told that there will be VB, I have never used vb.net before.
Now... that I’m going to maintain this script in the future, I decided to rewrite it in C#, few things I learned on my journey of doing this:
1- There is an access modifier in VB called Friend
2- There is a data structure/type called Collection, it’s a value,key pair! Not key value pair... Value first, then key!!
3- Do you know how null is null everywhere?!! In VB they call it Nothing! Yes, as in...
if(myVar == nothing)
{
//stuff
}
Asking the guy responsible for that choice... he thinks VB is easier to read than C#
I DONT WANT YOU TO READ IT, I WANT IT TO MAKE SENSE AND WORK WITH THE REST OF THE C# CODE WE HAVE!!9 -
It was funny. But when I told the head of my dptmnt that I was getting bored at work they kinda freaked out. I really love my workplace. The people are nice everywhere and this is something I am not used to.
I started working when I was 13 at one of my dad's business. It was a lot of manual labor and every day my hands would be bruised because of all the cleaning and shit I had to do. Then he moved me to another one of his businesses and it was worse but I continued doing it for only 1 year. By 16 I had moved to simpler things, I was a waiter and even tho I hated it I was making enough money to go out on dates and buy whatever a 16 year old wanted. I continued being a waiter until I was 17(changed to two other places) and before I turned 18 I joined the U.S Army. That broke my body in ways that I would normally not believe a 18 year old capable of. It was around the time that I discovered programming but even after I left the military(at 22 I believe) I never worked on a programming job. Back at home I worked in retail. And believe you me....it is far more pleasant to be constantly getting blown up and broken than dealing with the most retarded people imaginable(this is what made me hate Mexican people even tho I am Mexican myself)
Fast forward at 23 and I landed my first programming jobs. As stated in other initial rant it was surrounded by assholes. Assholes everywhere that would cower at the idea of speaking to me face to face due to the possibility of being left as physically broken as I am.
But at 27 now I found myself in a happy place. With nice people, good coworkers, an amazing manager that also serves as eye candy and good benefits. But the job is boring, boring beyond belief and this is due to the fact that they have a self taught and academically trained computer scientist doing the most menial things on a daily basis. The shit that I do would be more becoming of a designer, which has a different set of mental skills that would probably engage them more. But I really don't want to work on the web unless I am doing something that actually takes some challenge, even tho I maintain Java and PHP web services, the shit is so boring that anyone would be able to finish the proceadures in hours on a day leaving one with nothing engaging to do. Sometimes I let shit get close to the deadline just to feel some sort of pressure that would keep me awake.
I just wanted to vent on how ceremoniously BORED i really am.
I want more shit to do. Can't really have much patience for the freelance shit since it doesn't make sense to hire me in exchange of having some indian dude doing it for a quarter of the price.4 -
>Discovers a new low level profiling tool that could help us at work with stuck process debugging and gets all hyped
>Installs on test machine, tool doesn't work
>Wonders why. Oh. Needs a kernel module to work, compiled and loaded
>"Well, its my test machine... Guess that's no problem..." but... my hype died down a bit. Kernel module installation just for a new tool that aggregates all other commonly used tools? eh... Maybe it will blow me out of my shoes still
>Installs and loads the module
>Tool works. Turns out its just a htop-like tool, with shortcuts to launch specific other profiling tools like strace/ltrace/lsof/netstat/ss etc...
"Oh... That's boring. Maybe it has all those tools built in at least?"
>Tries to run ltrace - tool exits as ltrace is not installed
Lol
>Installs ltrace and launches tool again. Tries to ltrace a process and
>Nothing. Nothing happens. For seconds... Then kicks me off of SSH
WTF?
>Tries to ping machine... silence
Did... our net go down again? (Having issues due to a storm going over our area these few days)
>Pings google and... gets instant reply
More wtf
>Pings the hypervisor the machine was running on
Works like normal
Oh... Oh no. Please tell me it didn't!
>Logs into the hypervisor UI, checks machine state
Running OK
>Opens machine console aaaaand... Yep. Stacktrace as well as a lot of kernel mumbo-jumbo... It took the machine down to kernel panic.
I never went so quick from "We need this tool deployed everywhere" to "Omg I need to get rid of this crap as soon as possible" lol.
And just for those wondering, it was sysdig.1 -
I'm really not sure. When I was 7-8 years old, I liked to view source in IE, then I somehow managed to use Javascript in the browser. First only some dumb opening of windows. And I liked Batch, so I made some files for copying, backup and stuff.
Then I got to PHP during the years from some online tutorial about making dynamic websites. My website was more static than stone, but yeah, I did page loading with PHP! Awful experience anyway, because I had to install Xampp, get it work and other stuff. 11 years old or so. (and I used Xampp only as a fileserver between laptop and desktop later, because.. PHP4... just no.)
As 12 years old or so I experienced my first World of Warcraft (vanilla) on a custom server in an internet cafe and I thought it's a singleplayer game. When I found out that no, I googled how to make my own server (hated multiplayer back then and loved good games with huge storylines). Failed miserably with ManGOS, got something to work with ArcEMU. There I learned some C++ basic stuff, which I hoped would helped me to fix some bugs. When I opened the code I was like: "Suuure." and left it like that. I learned what a MySQL database is, broke it like four times when I forgot WHERE and still rather played with websites i.e. html, css, js and optionally php when I wanted to repair a webpage for the server. With a friend we managed to get the server work via Hamachi, was fun, the server died too soon. Then I got ManGOS to work, but there wasn't really any interest to make a server anymore, just singleplayer for the lore. (big warcraft fan, don't kick me :D )
I think it was when I was 13y.o. I went to Delphi/Pascal course, which I liked a lot from the beginning, even managed to use my code on old Knoppix via Lazarus(Pascal). At this age I really liked thoae Flash games which were still common to see everywhere. So I downloaded .swfs, opened and tried to understand it. Managed to pull some stuff from it and rewrite in Pascal. Nope, never again that crap.
About the same time I got to Flash files I discovered Java. It was kind of popular back then, so I thought let's give it a try. I liked Flash more. Seriously. I've never seen so much repetitiveness and stupid styling of a code. I had either IDE for compiling C++ or Pascal or notepad! You think I wanted my code kicked all over the place in multiple folders and files? No.
So back to Pascal. I made some apps for my old hobby, was quite satisfied with the result (quiz like app), but it still wasn't the thing. And I really thought I'd like to study CS.
I started to love PHP because of phpBB forums I worked on as 15 y.o. I guess. At the same time I think there was an optional subject at school, again with Pascal. I hated the subject, teacher spoke some kind of gibberish I didn't really understand back then at all and now I find it only as a really stupid explanation of loops and strings.
So I started to hate Pascal subject, but not really the lang itself. Still I wanted something simpler and more portable. Then I got to Python as hm, 17y.o. I think and at the same time to C++ with DevC++. That was time when I was still deciding which lang to choose as my main one (still playing with website, database and js).
Then I decided that learning language from some teacher in a class seriously pisses me off and I don't want to experience it again. I choose Python, but still made some little scripts in C++, which is funny, because Python was considered only as a scripting lang back then.
I haven't really find a cross-platform framework for C++, which would: a) be easy to install b) not require VisualStudio PayForMe 20xy c) have nice license if I managed to make something nice and distribute it. I found Unity3D though, so I played with Blender for models, Audacity for music and C# for code. Only beautiful memories with Unity. I still haven't thought I'm a programmer back then.
For Python however I found Kivy and I was playing with it on a phone for about a year. Still I haven't really know what to do back then, so I thought... I like math, numbers, coding, but I want to avoid studying physics. Economics here I go!
Now I'm in my third year at Uni, should be writing thesis, study hard and what I do? Code like never before, contribute, work on a 3D tutorial and play with Blender. Still I don't really think about myself as a programmer, rather hobby-coder.
So, to answer the question: how did I learn to program? Bashing to shit until it behaved like I desired i.e. try-fail learning. I wouldn't choose a different path.2 -
I took a job with a software company to manage their product, which was a SaaS property maintenance system for real estate, social housing, etc.
There was no charge to real estate agents to use it but maintenance contractors had to use credits to take a job, which they pre-purchased. They recharged their credit costs back to the real estate agent on their invoice).
Whether this pricing model is good or not, that's what it was. So, in I came, and one of the first things management wanted me to deal with was a long-standing problem where nobody in the company ever considered a contractor's credits could go into the negative. That is, they bought some credits once, then kept taking jobs (and getting the real estate agent to pay for the credits), and went into negative credits, never paying another cent to this software company.
So, I worked with product and sales and finance and the developers to create a series of stories to help get contractors' back into positive credits with some incentives, and most certainly preventing anyone getting negative again.
The code was all tested, all was good, and this was the whole sprint. We released it ...
... and then suddenly real estate agents were complaining reminders to inspect properties were being missed and all sorts of other date-related events were screwed up.
I couldn't understand how this happened. I spoke with the software manager and he said he added a couple of other pieces of code into the release.
In particular, the year prior someone complained a date on a report was too squished and suggested a two-digit year be used. Some atrocious software developer worked on it who, quite seriously, didn't simply change the formatting of that one report. No, he modified the code everywhere to literally store two-digit years in the database. This code sat unreleased for a year and then .... for no perceivable reason, the moron software manager decided he'd throw it into this sprint without telling me or anybody else, or without it being tested.
I told him to rollback but he said he'd already had developers fixing the problems as they came up. He seemed to be confident they'd sort it out soon.
Yet, as the day went on more and more issues arose. I spoke to him with the rest of the management team and said we need to revert the code but he said they couldn't because they hadn't been making pull requests that were exclusive to specific tickets but instead contained lots of work all in one. He didn't think they could detangle it and said the only way to fix was "play whack-a-mole" when issues came up.
I only stayed in that company for three months; there was simply way too much shit to fix and to this day I still have no idea the reasoning that went on in the head of anyone involved with that piece of code.2 -
Back in the days when I knew only Windows, I used to be a Microsoft fan. I wanted to use only Microsoft products. I had a Hotmail email account that Microsoft acquired. I used a version of Windows and Microsoft Office (even though I didn't know at the time that it was pirated). I wanted to be a Microsoft Student Partner (MSP) and promote Microsoft everywhere.
Fast forward to now (or maybe to the time after I got introduced to GNU/Linux), I started hating Microsoft solely for the reason that they had a price-tag on everything. Later on, when I got to open-source software, I hated Microsoft for making all of their software closed-source. When I decided to move out of the Microsoft environment, my next favorite was of course, Big Brother (Google, if you haven't gotten it) - Gmail, YouTube, Google Drive. My personal information was the price to pay for the services even though I wasn't OK with that fact.
Then again, I realized that you could actually have your own stuff if you had the know-how. Compile / host your own software on your own systems. Oh, then I went on a compile spree. That's when I realized I didn't need any of these corporations to own my data. Today, I try my best to keep my data in my control and not some corporations who gives me free stuff for the price of my data and personal information, no thanks.4 -
It was the last year of high school.
We had to submit our final CS homework, so it gets reviewed by someone from the ministry of education and grade it. (think of it as GPA or whatever that is in your country).
Now being me, I really didn’t do much during the whole year, All I did was learning more about C#, more about SQL, and learn from the OGs like thenewboston, derek banas, and of course kudvenkat. (Plus more)
The homework was a C# webform website of whatever theme you like (mostly a web store) that uses MS Access as DB and a C# web service in SOAP. (Don’t ask.)
Part 1/2:
Months have passed, and only had 2 days left to deadline, with nothing on my hand but website sketches, sample projects for ideas, and table schematics.
I went ahead and started to work on it, for 48 hours STRAIGHT.
No breaks, barely ate, family visited and I barely noticed, I was just disconnected from reality.
48 hours passed and finished the project, I was quite satisfied with my it, I followed the right standards from encrypting passwords to verifying emails to implementing SQL queries without the risk of SQL injection, while everyone else followed foot as the teacher taught with plain text passwords and… do I need to continue? You know what I mean here.
Anyway, I went ahead and was like, Ok, lets do one last test run, And proceeded into deleting an Item from my webstore (it was something similar to shopify).
I refreshed. Nothing. Blank page. Just nothing. Nothing is working, at all.
Went ahead to debug almost everywhere, nothing, I’ve gone mad, like REALLY mad and almost lose it, then an hour later of failed debugging attempts I decided to rewrite the whole project from scratch from rebuilding the db, to rewriting the client/backend code and ui, and whatever works just go with it.
Then I noticed a loop block that was going infinite.
NEVER WAIT FOR A DATABASE TO HAVE MINIMUM NUMBER OF ROWS, ALWAYS ASSUME THAT IT HAS NO VALUES. (and if your CPU is 100%, its an infinite loop, a hard lesson learned)
The issue was that I requested 4 or more items from a table, and if it was less it would just loop.
So I went ahead, fixed that and went to sleep.
Part 2/2:
The day has come, the guy from the ministry came in and started reviewing each one of the students homeworks, and of course, some of the projects crashed last minute and straight up stopped working, it's like watching people burning alive.
My turn was up, he came and sat next to me and was like:
Him: Alright make me an account with an email of asd@123.com with a password 123456
Me: … that won't work, got a real email?
Him: What do you mean?
Me: I implemented an email verification system.
Him: … ok … just show me the website.
Me: Alright as you can see here first of all I used mailgun service on a .tk domain in order to send verification emails you know like every single website does, encrypted passwords etc… As you can see this website allows you to sign up as a customer or as a merc…
Him: Good job.
He stood up and moved on.
YOU MOTHERFUCKER.
I WENT THROUGH HELL IN THE PAST 48 HOURS.
AND YOU JUST SAT THERE FOR A MINUTE AND GAVE UP ON REVIEWING MY ENTIRE MASTERPIECE? GO SWIM IN A POOL FULL OF BURNING OIL YOU COUNTLESS PIECE OF SHIT
I got 100/100 in the end, and I kinda feel like shit for going thought all that trouble for just one minute of project review, but hey at least it helped me practice common standards.2 -
Fixed a bug today that I created over a year ago.
It made a machine start doing really fucked up things like running motors when it shouldn't. My boss, an expert on the system and the code, gave me some ideas to check. He couldn't understand why it was doing it either. So I started checking things and comparing to another piece of code that does similar things. I finally found a place where I had used a really sketchy pointer. I even knew it was sketchy at the time and put a ? mark in the comments next to the line of code. I changed the code to match another system that explicitly creates the object. Then I started testing the system and boom everything is working as it should. I talked to my boss and explained everything. He said it was an easy mistake to make. Internally I was saying, "But I don't make easy mistakes. I make hard mistakes!" LOL
Got to walk away from work for the weekend knowing that my other code is a lot more solid than I was thinking earlier this week. I was starting to second guess what could possibly cause this problem and thinking there could be culprits everywhere. Boss was happy problem was solved as he is going to be showing off the system I am working on in a month at a show.3 -
Tldr: I think I made a company fire some dev a year ago.
I was working for this company remotely, alone, on a very big and old legacy php project where they still used echo '<code><code/>'; and i was a very junior junior front end developer, needed to make the website work somehow (whole new design). They brought in a random guy to work with me, and we started working.. I was using bitbucket to version my changes, and I asked him to do the same. He tried pushing his changes once and then practically never again because he started working in files that i was working on and there were git conflicts, and he gave up, even though i asked him to do that... he then statted using general classes to style the page (like .color) with absolute positioning and it broke everything everywhere. He then proceeded to minify half of the php files 'because of performance', I remember talking to other few people in the company and he disappeared a few more days later. I never finished the project because they stopped it randomly and i think i got him fired even though he could've continued working in the company -
Okay then, ex-android user there.
It started with Xperia TX - it was flagship Sony phone back then. It blew my mind when I touched it for the first time. You know, exploring android for the first time in my life was amazing.
It ran just well for about a year. Then it started to fall apart. I need to clarify that I kept it non-rooted, full stock. I'm not into that customization things.
At first, I noticed significant lags. They were everywhere. The longer I used smartphone, the more lags I encountered. I did factory reset, but lags haven't gone anywhere.
Year 2. Front camera stopped working. Battery became unreliable as fuck, going down to 40% and then instantly to zero. What?
Year 3. Camera broke. It refused to start, just giving me "Camera is not available" error.
I tried factory reset again. It helped at first, but month have passed and all that issues came back. And it also became sluggish as fuck.
Got Meizu m3s year ago. The exact same story. Long story short, in one year I got this:
1. Black spots on every picture I take. Much likely a matrix issue.
2. Camera also became slow as fuck, requiring about 10 seconds to even start.
3. Vertical stripes all along the screen. I never dropped my phone, it just appeared once and became brighter and brighter every day I used the phone.
4. Two huge yellow spots on screen. I think it happened because phone's cpu heat up the screen and it broke.
But the most important thing is that fucking lags chased me in every app, they were everywhere. Fucking tiny-ass lags. And they're not going anywhere, they're become more and more significant with time.
Don't say me about oneplus, samsungs and other top android phones. They are conceptually the same, the only different thing is hardware.
That's why I switched. IPhone has its downsides, but it's silky smooth. And my friend's iPhone 4 (not s) feels just as smooth as my brand new se.
I'm not going to jailbreak it. I don't need customizing the hell out of it.
I just needed quick and reliable phone, and SE seems to be exactly what I wanted.
Peace to android folks tho✌️17 -
The 'hamburger menu' is now like, and industry standard for basic UX everywhere.
Am I the only one who feels that it in its entirety, sucks?
the way iPhone implements its commands on the bottom or the way windows used to (before it gave in to hamburgers in UWP) implement charms was a way more efficient and elegant way to show commands..
I cant think of a better way without sacrificing screen space, but this for sure isn't the best way to handle commands.6 -
The lack of community support for NGINX is horrible (though it is getting better).
I was an NGINX disciple from the beginning; I switched over from Apache as soon as I found it and used it everywhere. The issue with that is that most services only provided Apache configuration files, forcing me to do my own research and translate them.
Thankfully the NGINX community has done a lot of work already; I was able to find a lot of the configurations I needed online, but I also spent a lot of time learning how to use it. Now, if you give me a few hours, I have the knowledge and resources to make it do whatever you need it to do (within reason, of course).2 -
So this is the story of myself getting from hating vim to find it pretty good.
When i started fiddling around with linux i was literally overrun by vim. I mean how the fuck should i remember all these stupid commands.
So there we go ... nano was my favourite (and only) editor i used.
Everything was fine in my little nano world. I saw some colleague editing every damn thing in vim. I asked him "man what the fuck are you damn crazy"? And thats where till that moment the deepest conversation about an editor in my life began. He told me he could do that much with vim, its almost everywhere nowadays and a must for any admin.
So after letting him tell me about every thing you can do he promised me he is going to help me getting started quicker. And i must say boi vim is really awesome. But for "real" development i still use a ide. Although i find myself programming go, python or bash scripts entirely in vim and its not that bad.
So if you find your way through the deep shit of that single damn command input down there you can get a pretty decent editor.
Dont get me wrong i am forced to use nano sometimes, when i help some of friends with their servers or so and they litterally uninstalled vim because they were to frustrated.
So as i am started to go into the devops area you get more and more towards you have to edit a file on a server, or just tweak around before automating the shit out of it.
And i must say vim has become a solid alternative for me to a full blown ide, or any other text editor.
So yeah i am gone from freaking hating vim to using it almost everyday. But why some people out their treat vim like a religion is not understandable to me in any way.
So whats your story why do you hate/love vim? Or are you just like me a "happy user" that would switch to another editor anytime it would be a better fit?3 -
Hello ranters, I'm looking for advice in regards to a freelancing job which I haven't been paid.
In summary, I got a freelancing job in like March 2018, I had to do a simple platform with an administrator section, simple but "long", it had to be fully customizable, so I did it. I then got another project, which I also finished, both by December. I added some functionality not on the requirements and also some other asked by them, I also deployed both of them, tasks not included on the "contract". The problem is that I didn't sign a contract (my fault), it was all verbal. Since I was "friends" with them, I asked them to pay me with a motorbike (of around 2300 USD) and they agreed. Then they gave me another project which started wrong, they asked me to finish it within two weeks with a language I didn't know and other tools I also didn't know, I told them about this and agreed that could be a delay, besides, the requirements weren't totally clear and they were clarified three days after the project "started". After this, we had a discussion about how I later realized I was totally underpriced, that I hadn't been paid yet and how the dude that was like my main contact for the project told me that "my code was all nice and cool but was useless" because he clearly thought that an excel could be used as a database and din't know that I had to parse it and upload it to Firebase, which in total were about 4 million documents and this obviously took time. To not make it longer, I delivered the project 1 week later and they told me that they had to "assign" a full team of 7 members to do it from zero because I didn't deliver it on time and because when he asked me to "help them" I laughed. I first delivered like the 90%~95% of the project and he was been condescendent, he also blocked me from everywhere (hangouts, slack) and told me to "deliver what I had" to at least have something to prove that I did work. His team of "7 members" was stupid enough to not be able to at least run an npm install and npm run, they were also stupid enought to not understand what a GET request was an all and when he realized this, he asked me for the database dump and for the 100% of the project, so I also delivered it. We agreed that we were not going to work together anymore, so I asked him to pay me at least what had to be paid of the other two projects and he agreed, he also purchased a computer for me which I was paying him and was going to be discounted from the total payment. In the end, I was going to be paid 1430 USD. He asked me for my bank account and like my tax ID, for whatever he needed it. Since then, almost two weeks, he hasn't paid me, replied or even seen my messages. He also had a "partner" which was also "my friend", the huge motherfucker isn't even replying my mails or anything, so, since it was all verbal and they are being such motherfuckers, I don't know what to do. They are being such motherfuckers and I think I can't proceed legally, since there is no written contract. So what should I do? I was planning on going tomorrow but I pretty sure they won't even open the door or will tell me to wait or whatever. I seriously wanna cry, I don't get how people can be such dicks and unfair fuckers. I believe in karma but I don't think karma will give me that money and time back. :(11 -
Xcode Lockup #35: Changing Variable Names
You right click on a variable and get the opportunity to change the name throughout the project. Yea!
It does this funky visual collapse thing which is rather nice, showing you everywhere it is used. Fancy. And the world needs more fancy, doesn't it.
For some reason instead of letting me change the variable, I get the Beach Ball Of Death and Xcode unceremoniously quits. BUT NOT BEFORE THE FUCKER SAVED THE PROJCT FILE STATE. What?
Now I re-open the project and yep, we are back into the variable name change fancy interface and Beach Ball Of Death. Looks like the project file is now fucked.
But it was oh so important to give me the fancy folding interface... we (Xcode dorks) will fix the defects later.
Time to do some research and find an Xcode manager mailing address... cuz I'm really tired of this shit...
https://www.ipoopyou.com/orders/new3 -
On the learning new stuff before applying some horrid shit everywhere:
Read the fucking guide/documentation/whatever, few times and if not clear, ffs ask someone - it will make you look less stupid now then later when you fuck it up for everyone!
Dude started doing something new when I was on long holidays, and I got noticed the day I was back.
Said ok, let's dive in and spent all day reading docs and guides, good practices and saw examples of what to apply and what to avoid cause shitstorm will happen etc.
I asked that dude to show me his work on this up until now, and that dude used every antipattern available!
Invest some fucking time in educating yourself a bit and pay attention to, you know, important fucking things from docs/guides! -
As I started learning React, I found the allure of declarative style of programming appealing. I try to avoid maintaining multiple state variables for data that can be derived from the base state itself that's stored in the redux store. It works wonders when I have to change something; as I just need to make changes to one function in the utils folder and that change is implemented across the whole app, rather than change the instances everywhere as was the case when I initially started working on this project after the previous dev left.
But I see myself redefining a lot of computed values everywhere, and if I just try to define them in the root component, I'll end up with a huge list of props being passed to a couple of components. Shifting it to the utils folder helps a bit, but then I find myself defining even the simplest of array filtering methods to the utils folder.
Is this need to define computed values everywhere a trade-off that you need to accept when you write declarative code, or is there a workaround/solution I am missing? As of now, the code-base is much better than how it used to be when they had a literal Java dev work on React with their knowledge of Java patterns being used in a framework that is the polar opposite of OOP, but I still feel like there's room for improvement in this duplication of computed values.2 -
I been looking over my profile and god it's been a while, programming as still been going on in the background but more for game mods and alikes, kind of been lazy but same time dealing with life.
I really had forgotten my passion for tech and programming it's just become a tool I know and use and I kind of feel bad for doing that. I got in to computers when I was 6 years old built my own PC our of random spare parts at 7, was teaching family members how to repair there own pcs by 9 at the age of 11 was helping with the schools computer department repair and fixing networking problems and my ideas and comments mattered.
Now I am an adult ... Sadly it seems the enjoyment of any idea is shot down with some rude remarks from another Dev, but isn't the point we all see a problem different so we all can contribute?
Like I said I never worked away from computers or programming but now I more like your little side computer repair shop I can do it, I get the job done but the passion isn't there and the end result reflects it.
I believe it's the human part what put me off not just others but myself, I used to put my heart in to my projects and when someone comes alone and rips them apart for let's say a spelling mistake what I state everywhere I am dyslexic but seems to be over looks alot. I became more stale in what I was willing to take on. My own websites now reflect this I am using crappy reinstalled software over me doing it myself.
But the passion for the idea what tech and programming never left I just hope one day soon I am enjoy it again, the wow factor is still there, god there is some talent out there and some of them people I meet before they became big but my aim was never to be come big I would be happy to be on a small project what only as a few eyes on it as long as it makes a difference and that's my problem tech like everything as become so commercial.
Even small projects are ran like a company and the wow factor is gone or the risk factor of trying a unknown way is dismissed for trying to keep face.
If I was born 20 years before right now I would be glad to slow down but I am 30+ and seen the world change so much in this last 10 years where I can do it but .... Why would I do it, when most cases it goes out of my moral ideals
I still mess around with teck, I still have Pi's kicking about and you bet your bottom Dollar I will be trying to get a Pi 5 lol
The love of tech hasn't gone but the communities I enjoyed have, I know this is a me not adapting but I don't need to adapted, I want what we do to matter to someone to make a difference, and I mean with there life's and wellbeing not there bottom line.
If you have any communities to look in to please comment below and of you was able to read this then OMG I am so sorry, I didn't proof read this or anything it was just a little rant about how I become disconnected from the world I have always found enjoyment.
I slipped away to game at late but this last few months I seen myself wanting to be apart of a project or community for tech/programming and even just be a voice helping even someone else get the answer.
I do still have hope for the geeky nerds of yester years even if we are now just a relic of the past lol
Well sorry to put anyone's eyes though this lol enjoy your rants guys and keep up what ever projects your working on.3 -
Hey guys, first time writing here.
Around 8 months ago I joined a local company, developing enterprise web apps. First time for me working in a "real" programming job: I've been making a living from little freelance projects, personal apps and private programming lessons for the past 10 years, while on the side I chased the indie game dev dream, with little success. Then, one day, realized I needed to confront myself with the reality of 'standard' business, where the majority of people work, or risk growing too old to find a stable job.
I was kinda excited at first, looking forward to learning from experienced professionals in a long-standing company that has been around for decades. In the past years I coded almost 100% solo, so I really wanted to learn some solid team practices, refine my automated testing skills, and so on. Also, good pay, flexible hours and team is cool.
Then... I actually went there.
At first, I thought it was me. I thought I couldn't understand the code because I was used reading only mine.
I thought that it was me, not knowing well enough the quirks of web development to understand how things worked.
I though I was too lazy - it was shocking to see how hard those guys worked: I saw one guy once who was basically coding with one hand, answering a mail with another, all while doing some technical assistance on the phone.
Then I started to realize.
All projects are a disorganized mess, not only the legacy ones - actually the "green" products are quite worse.
Dependency injection hell: it seems like half of the code has been written by a DI fanatic and the other half by an assembly nostalgic who doesn't really like this new hippy thing called "functions".
Architecture is so messed up there are methods several THOUSANDS of lines long, and for the love of god most people on the team don't really even know WHAT those methods are for, but they're so intertwined with the rest of the codebase no one ever dares to touch them.
No automated test whatsoever, and because of the aforementioned DI hell, it's freaking hard to configure a testing environment (I've been trying for two days during my days off, with almost no success).
Of course documentation is completely absent, specifications are spread around hundreds of mails and opaquely named files thrown around personal shared folders, remote archives, etc.
So I rolled my sleeves up and started crunching as the rest of the team. I tried to follow the boy-scout rule, when the time and scope allowed. But god, it's hard. I'm tired as fuck, I miss working on my projects, or at least something that's not a complete madness. And it's unbearable to manually validate everything (hundreds of edge cases) by hand.
And the rest of the team acts like it's all normal. They look so at ease in this mess. It's like seeing someone quietly sitting inside a house on fire doing their stuff like nothing special is going on.
Please tell me it's not this way everywhere. I want out of this. I also feel like I'm "spoiled", and I should just do like the others and accept the depressing reality of working with all of this. But inside me I don't want to. I developed a taste for clean, easy maintainable code and I don't want to give it up.3 -
So one of my co-workers had issues with his MKP 2010, it wasn't booting up, wasn't charging, basically acting as a brick. He went everywhere around the office asking other to revive it. I was the last person - my duty was to take out the hard drive and trash it.
I asked him if I can keep it, he allowed me to do so.
After a couple of days I got back to it, installed a hard drive, which I had from my friend from a while ago.
- Played around with charger, got it charging
- Boot it up to recovery mode (I was very excited when I saw that globe spinning)
- The Wi-Fi didn't connect, used LAN
- Formatted drive, installed OS
- Got to endless loop of recovery mode
- Found out that the digits on the keyboard type lower line of letters.. :/
- Boot to safe mode - worked
- Endlessly booted to recovery mode as I tried to get to boot menu
- Realized that the left Shift, Control, and Option does not work
- Used external keyboard and got to boot menu
- Still no success with booting to regular mode
- NVRAM reset!!!!
- Booya! It works!
Should I bother and replace the keyboard? I mean it doesn't matter that much, probably will give it to my mother :)1 -
Nothing like trying to understand a single 1500-line source file that implements the API usage in the frontend. Without a single comment.
No, wait. There are comments! But it's only commented-out code. Or explicit shit (like "gets the version" before a getAssetVersion function).
Functions with unused parameters? ✅
Weird var names (like "tmpX")? ✅
`console.log(var)` everywhere? ✅
Long-ass lines with 150+ chars? ✅
Duplicate code? ✅✅
Not a single interface was used so everything is var: any? ✅
Random unreadable RegEx? ✅
If-chains of 6+ more levels? ✅
Many `else if` towers instead of a switch? ✅
And did I mention it was written by a fucker who can't speak proper English so shit like visiable, cataloge and isExist is everywhere? Yeah.
Fun day at the office reading spaghetti code 🙃 -
I do not like rust's choice to just infer something from how it is named
like if you install a package that begins with "cargo-something" then it becomes a cargo command. this feels janky
also turns out if you have a build.rs file it will build stuff for you when compiling? I just ran into this being described in the docs. well guess what. I have a build.rs file. it isn't being used for that though. I mean hasn't caused any problems, or has it?! I DON'T KNOW
config options seem more explicit than this naming nonsense. I just had to rename my project everywhere so it can be a cargo command. ffs now my git links are broken and shit.
I thought rust was verbose because it knew the merits of being explicit. can they stick to their principles pls8 -
I have not used a lot of technology, but among the worst experiences was working with OR mapper. I don't think OR mappers are bad by themselves, but all the tutorials and entry level documentation drag the unknowing user slowly into a world of hurt. It looks super easy and super cool, but in fact if you don't know _exactly_ what's happening in the background you're about to deal with slow performance, terrible SQL statements, missing indices, etc. It makes shooting yourself in the foot a Starbucks-like experience, everywhere, all the time, and fast.
It's one of those promises that do not deliver the easy way despite most people advertising it like this. Except when you plan to write a book'n'author application with only 5 books and 3 authors. Yeah... -
!rant
Experienced devs please tell help me.
Learning software development has been a challenge. Many times it's frustrating.
I also learn languages and I find them to share one trait with software development, which is complexity.
At first I looked at languages the way I'm currently doing with software. I'd look in a new language and after decided it's cool to learn it, I would stare at it for a few weeks trying to realize what the heck I was going to do. I wouldn't even know how to get started.
Eventually this stage goes away and I think that is about to happen with me with software.
But then a new challenge would come, which is me not making progress as I wanted. That's sort of happening with me by learning software as well, bit in language I now know how to deal with it.
That's because I work full time with something that isn't in my interests and when I arrive home Im tired and want to relax. So I decided my language learning had to go slower as long as I have this job, meaning no hours spent in front of books or a pc studying - that's what I could do with English, I was a teenager and had 12 hours a day to do whatever I wanted.
So I usually spent 5 minutes here and there learning something in my target language when I can, no frustration needed, my only rule is: practice everyday, even if I don't learn anything new.
With software, that doesn't apply though.
So, what I mean by tracing a parallel between these to fields is that I have a strong conviction is that once you get the principles on how a certain kind of learning works, you can apply it everywhere in the field. But with software it's been harder.
Anyways, I see that are some principles that apply, cause trying to learn software is changinge and teaching a lot of things like:
*you have to read a lot (of documentation) . At first I thought all documentation was painful to read and understand, but I found out some software are well documented and one can use those only to get used with it.
*immersion / discipline are important. I'm not very disciplined, I'm better with immersion but both are important if you need to acquire complex subjects/skills
*how to deal with complexity. I installed Arch Linux a few days ago. Just to install it I ended up reading more than 20 pages of documentation (install guide, Wpa supplicant, systemd, networkd, xorg, etc etc). Gradually I'm realizing that when you have to install/tweak something in that distro you necessarily spend a bunch of time trying to understand how it works, otherwise you don't get too far like in Ubuntu or Debian.
*and lastly the one that bothers me. Constantly getting frustrated and feeling crap about my poor skills. No matter how much I progress, it still seems like I'm stuck.
(that's when I ask your help/opinion :) )4 -
TL;DR I just recently started my apprenticeship, it's horrible so far, I want to quit, but don't know what to do next...
Okay, first of all, hey there! My name is Cave and I haven't been on here for a while, so I hope the majority of you is doing rather okay. I'm programming for 6 years now, have some work experience already, since I used to volunteer for a company for half a year, in which I discovered my love for integrations and stuff. These background information will probably be necessary to understand my agony in full extend.
So, okay, this is about my apprenticeship. Generally speaking, I was expecting to work, and to learn something, gaining experience. So far, it only involved me, reading through horrible code, fixing and replacing stuff for them, I didn't learn a thing yet, and we are already a month in.
When I said the code is horrible, well, it is the worst I have ever seen since I started programming. Little documentation - if any -, everywhere you look there is deprecated code, which may or may not been commented out, often loops or simply methods seem to be foreign for them, as the code is cluttered with copy paste code everywhere and on top of that all, the code is slow as heck, like wtf.
I spent my past month with reading their code, trying to understand what most of this nonsense is for, and then just deleting and rewriting it entirely. My code suddenly is only 5% or their size and about 1000 times faster. Did I mention I am new to this programming language yet? That I have absolutely no experience in that programming language? Because well I am new and don't have any experience, yet, I have little to no struggle doing it better.
Okay, so, imagine, you started programming like 20 years ago, you were able to found your own business, you are getting paid a decent amount of money, sounds alright, right? Here comes the twist: you have been neglecting every advancement made in developing software for the past 20 years, yup, that's what it feels like to work here.
At this point I don't even know, like is this normal? Did git, VSCode and co. spoil me? Am I supposed to use ancient software with ancient programming languages to make my life hell? Is programming supposed to be like this? I have no clue, you tell me, I always thought I was doing stuff right.
Well, this company is not using git, infact, they have every of their project in a single folder and deleting it by accident is not that hard, I almost did once, that was scary. I started out working locally, just copying files, so shit like that won't happen, they told me to work directly in the source. They said it's fine, that's why you can see 20 copies of the folder, in the same folder... Yes, right, whatever.
I work using a remote desktop, the server I work on is Windows server 2008, you want to make icons using gimp? Too bad, Gimp doesn't support windows server 2008, I don't think anything does anymore, at least I haven't found anything, lol.
They asked me to integrate Google Maps into their projects, I thought it is gonna be fun, well, turns out their software uses internet explorer 9.. and Google maps api does not support internet explorer 9... I ended up somehow installing CEF3 on that shit and wrote an API for it in JS. Writing the API was actually kind of fun, but integrating it in their software sucked and they told me I will never integrate stuff ever again, since they usually don't do that. I mean, they don't have a Backend as far as I can tell, it looks like stuff directly connects with their database, so I believe them, but you know... I love integrating stuff..
So at this point you might be thinking, then why don't you just quit? Well I would, definitely. I'm lucky that till December I can quit without prior notice, just need a resignation as far as I can tell, but when I quit, what do I do next? Like, I volunteered for a company for half a year and I'd argue I did a good job, but with this apprenticeship it only adds up to about 7 months of actual work experience. Would anybody hire somebody with this much actual work experience? I also consider doing freelancing, making a living out of just integrating stuff, but would people pay for that? And then again, would they hire somebody with this much experience? I don't want to quit without a plan on what to do next, but I have no clue.
Am I just spoiled, is programming really just like that, using ancient tools and stuff? Let me know. Advice is welcomed as well, because I'm at a loss. Thanks for reading.10 -
Symfony 4:
I created a firewall with a user provider and everything was great for a year and a half.
I needed a second firewall with a different user provider for my REST API.
Being stateless, the rest api firewall didn't need the refreshUser method so I didn't bother doing anything inside but returning user (without noticing how my original class was built or the official documentation which apparently says I need to throw an exception if this isn't the right user provider for the user in the session).
I was having a problem with my main firewall after that point because I assumed it would only use the relevant user provider, but even though my API firewall only applied to a specific host/pattern, the user provider for that firewall was still being used. If it had run the supports method first, it wouldn't have done that even with my initial mistake. Frankly, I don't know why there is a supports method if it's not being utilized for this purpose...I saw supports() is used for the rememberme functionality, but seems inconsistent not to use it everywhere.
Not only should Symfony be updated to check the supports() method, but I also think it should only loop through user providers for the current applicable firewalls. Since we define a user provider per firewall, I think that would be the natural way for it to work. Otherwise why even define a user provider on the firewall if it's just going to try to use them all anyway?
Furthermore, in the case of a stateless firewall, requiring the refreshUser method via the interface seems strange. -
I starting developing my skills to a pro level from 1 year and half from now. My skillset is focused on Backend Development + Data Science(Specially Deep Learning), some sort of Machine Learning Engineer. I fill my github with personal projects the last 5 months, and im currently working on a very exciting project that involves all of my skills, its about Developing and deploy a Deep Learning Model for Image Deblurring.
I started to look for work two months to now. I applied to dozens of jobs at startups, no response. I changed my strategy a bit, focusing on early stage startups that dont have infinite money for pay all that senior devs, nothing, not even that startups wish to have me in their teams. I even applied to 2 or 3 and claim to do the job for little payment, arguing im not going for money but experience, nothing. I never got a reply back, not an interview, the few that reach back(like 3, from 3 or 4 dozen of startups), was just for say their are not interested on me.
This is frustrating, what i do on my days is just push forward my personal projects without rest. I will be broke in a few months from now if i dont get a job, im still young, i have 21 years, but i dont have economic support from parents anymore(they are already broke). Truly dont know what to do. Currently my brother is helping me with the money, but he will broke in few months as i say.
The worst of all this case is that i feel capable of get things done, i have skills and i trust in myself. This is not about me having doubts about my skills, but about startups that dont care, they are not interested in me, and the other worst thing is that my profile is in high demand, at least on startups, they always seek for backend devs with Machine Learning knowledge. Im nothing for them, i only want to land that first job, but seems to be impossible.
For add to this situation, im from south america, Venezuela, and im only able to get a remote job, because in my country basically has no Tech Industry, just Agencies everywhere underpaying devs, that as extent, dont care about my profile too!!! this is ridiculous, not even that almost dead Agencies that contract devs for very little payment in my country are interested in me! As extra, my economic situation dont allows me to reallocate, i simple cant afford that. planning to do it, but after land some job for a few months. Anyways coronavirus seems to finally set remote work as the default, maybe this is not a huge factor right now.
I try to find job as freelancer, i check the freelancer sites(Freelancer, Guru and so on) every week more or less, but at least from what i see, there is no Backend-Only gigs for Python Devs, They always ask for Fullstack developers, and Machine Learning gigs i dont even mention them.
Maybe im missing something obvious, but feel incredible that someone that has skills is not capable of land even a freelancer job. Maybe im blind, or maybe im asking too much(I feel the latter is not the case). Or maybe im overestimating my self? i think around that time to time, but is not possible, i have knowledge of Rest/GraphQL APIs Development using frameworks like Flask or DJango(But i like Flask more than DJango, i feel awesome with its microframework approach). Familiarized with containerization and Docker. I can mention knowledge about SQL and DBs(PostgreSQL), ORMs(SQLAlchemy), Open Auth, CI/CD, Unit Testing, Git, Soft DevOps Skills, Design Patterns like MVC or MTV, Serverless Environments, Deep Learning Solutions, end to end: Data Gathering, Preprocessing, Data Analysis, Model Architecture Design, Training and Finetunning. Im familiarized with SotA techniques widely used now days, GANs, Transformers, Residual Networks, U-Nets, Sequence Data, Image Data or high Dimensional Data, Data Augmentation, Regularization, Dropout, All kind of loss functions and Non Linear functions. My toolset is based around Python, with Tensorflow as the main framework, supported by other libraries like pandas, numpy and other Data Science oriented utils.
I know lot of stuff, is not that enough for get a Junior Level underpaid job? truly dont get it, what is required for get a job? not even enough for get an interview?
I have some dev friends and everyone seems to be able to land jobs, why im not landing even an interview?
I will keep pushing my Dev career, is that or starve to death. But i will love to read your suggestions! how i can approach this?
i will leave here my relevant social presence:
https://linkedin.com/in/...
https://github.com/ElPapi42
Thanks in advance!9 -
Ever used Camunda?
Their documentation feels like it was written with GPT-3 and they put random hyperlinks in there. And if they are remotely close to something useful in there they are like: "How about this article about something which sounds about right, but will just reference back to this article, because we want to be like Wikipedia and put hyperlinks everywhere".
Also you will get a brain stack overflow while trying to decipher the 50th layer of the documentation to something, some random guy on the internet could explain to you in two sentences.1 -
I'd have been motivated to work this whole time if they'd just left their filthy hands off what is important to me. As it was originally worked during the whole time period. Kind of says something really. And their idea of a smart way to proceed was to make everything dirtier and grosser everywhere and more miserable looking, how nice. Course even if I hadn't had a happy fall recently on my knee, I'd still be more tired than I used to be for certain.
Speaking of which.
A few times that didnt happen because someone interceded.
I mean :P
honestly truly that didn't happen in the first place.
it was however your job to transport prisoners at one point. so they just tried to reverse things it seems to the benefit of some kiddy raping monkey.