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 - "better environment"
-
(!Rant) My Programming cave.
A clean environment has always been one of my 'must have' tools for development.
Keeping it clean keeps you calm while busting down on some difficult problems.
And you better believe late night programming marathons are a treat.23 -
Dad calls:
D: Hai, so, um, my pc's not booting up.
Me: So?
D: What do I do now?
M: You tried fixin' it?
D: That's why I'm calling you.
M: I'm 400km away from you. Does it do anything by pressing a power-on button?
D: No. But I touched it, it's really hot.
M: When was the last time you cleaned that shit up?
D: I have to clean it?
*PC is located at dusty environment at work. 5 years old and is being turned on 6 days a week*
Clean. Your. Pc.
Oh, and yeah, it overheated, burned the mbo, power suply, and cpu cooler stopped spinning.
It's like Satan threw a curse on a pc, and took a piss on it.
The best part? He's mad because I "never help him nor have time when he needs something to be fixed".
He can fix the PC in a pc shop that is across the street.
So, you doin' any better this week?6 -
User: *Clicks on staging environment*
Giant Warning Dialog: YOU ARE CURRENTLY ENTERING THE STAGING ENVIRONMENT
Users: Ok
App: *Completely different colour, I’m talking bright unsightly yellow*
User: Ok
Giant Yellow and Red Flashing Banner at the Top of the Screen: WARNING YOU ARE CURRENTLY USING STAGING, THIS AREA IS FOR TESTING ONLY
User: The production environment sure is acting strange today. It’s a weird colour and I don’t recognize any of the data, it’s all just dummy filler data. I better create a ticket for the dev team to check o—….. no wait I’ll send an email CC everyone including the CEO and sound the alarm production is currently down and filled with giant warning messages.
Manager: OH MY GOD PRODUCTION IS DOWN DID YOU HEAR ABOUT THIS??? WHAT THE FUCK COULD THESE WARNING MESSAGES BE THAT’S ONLY SUPPOSED TO HAPPEN ON STAGING! THE CEO IS BREATHING DOWN MY NECK YOU NEED TO GET THIS FIXED IMMEDIATELY!!!!!!!
Dev: …13 -
Seven months ago:
===============
Project Manager: - "Guys, we need to make this brand new ProjectX, here are the specs. What do you think?"
Bored Old Lead: - "I was going to resign this week but you've convinced me, this is a challenge, I never worked with this stack, I'm staying! I'll gladly play with this framework I never used before, it seems to work with this libA I can use here and this libB that I can use here! Such fun!"
Project Manager: - "Awesome! I'm counting on you!"
Six months ago:
====================
Cprn: - "So this part you asked me to implement is tons of work due to the way you're using libA. I really don't think we need it here. We could use a more common approach."
Bored Old Lead: - "No, I already rewrote parts of libB to work with libA, we're keeping it. Just do what's needed."
Cprn: - "Really? Oh, I see. It solves this one issue I'm having at least. Did you push the changes upstream?"
Bored Old Lead: - "No, nobody uses it like that, people don't need it."
Cprn: - "Wait... What? Then why did you even *think* about using those two libs together? It makes no sense."
Bored Old Lead: - "Come on, it's a challenge! Read it! Understand it! It'll make you a better coder!"
Four months ago:
==============
Cprn: - "That version of the framework you used is loosing support next month. We really should update."
Bored Old Lead: - "Yeah, we can't. I changed some core framework mechanics and the patches won't work with the new version. I'd have to rewrite these."
Cprn: - "Please do?"
Bored Old Lead: - "Nah, it's a waste of time! We're not updating!"
Three months ago:
===============
Bored Old Lead: - "The code you committed doesn't pass the tests."
Cprn: - "I just run it on my working copy and everything passes."
Bored Old Lead: - "Doesn't work on mine."
Cprn: - "Let me take a look... Ah! Here you go! You've misused these two options in the framework config for your dev environment."
Bored Old Lead: - "No, I had to hack them like that to work with libB."
Cprn: - "But the new framework version already brings everything we need from libB. We could just update and drop it."
Bored Old Lead: - "No! Can't update, remember?"
Last Friday:
=========
Bored Old Lead: - "You need to rewrite these tests. They work really slow. Two hours to pass all."
Cprn: - "What..? How come? I just run them on revision from this morning and all passed in a minute."
Bored Old Lead: - "Pull the changes and try again. I changed few input dataset objects and then copied results from error messages to assertions to make the tests pass and now it takes two hours. I've narrowed it to those weird tests here."
Cprn: - "Yeah, all of those use ORM. Maybe it's something with the model?"
Bored Old Lead: - "No, all is fine with the model. I was just there rewriting the way framework maps data types to accommodate for my new type that's really just an enum but I made it into a special custom object that needs special custom handling in the ORM. I haven't noticed any issues."
Cprn: - "What!? This makes *zero* sense! You're rewriting vendor code and expect everything to just work!? You're using libs that aren't designed to work together in production code because you wanted a challenge!?? And when everything blows up you're blaming my test code that you're feeding with incorrect dataset!??? See you on Monday, I'm going home! *door slam*"
Today:
=====
Project Manager: - "Cprn, Bored Old Lead left on Friday. He said he can't work with you. You're responsible for Project X now."24 -
Fuck the memes.
Fuck the framework battles.
Fuck the language battles.
Fuck the titles.
Anybody who has been in this field long enough knows that it doesn't matter if your linus fucking torvalds, there is no human who has lived or ever will live that simultaneously understands, knows, and remembers how to implement, in multiple languages, the following:
- jest mocks for complex React components (partial mocks, full mocks, no mocks at all!)
- token cancellation for asynchronous Tasks in C#
- fullstack CRUD, REST, and websocket communication (throw in gRPC for bonus points)
- database query optimization, seeding, and design
- nginx routing, https redirection
- build automation with full test coverage and environment consideration
- docker container versioning, restoration, and cleanup
- internationalization on both the front AND backends
- secret storage, security audits
- package management, maintenence, and deprecation reviews
- integrating with dozens of APIs
- fucking how to center a div
and that's a _comically_ incomplete list; barely scratches the surface of the full range of what a dev can encounter in a given day of writing software
have many of us probably done one or even all of these at different times? surely.
but does that mean we are supposed to draw that up at a moment's notice some cookie-cutter solution like a fucking robot and spit out an answer on a fax sheet?
recruiters, if you read this site (perhaps only the good ones do anyway so its wasted oxygen), just know that whoever you hire its literally the luck of the draw of how well they perform during the interview. sure, perhaps some perform better, but you can never know how good someone is until they literally start working at your org, so... have fun with that.
Oh and I almost forgot, again for you recruiters, on top of that list which you probably won't ever understand for the entirety of your lives, you can also add writing documentation, backup scripts, and orchestrating / administrating fucking JIRA or actually any somewhat technical dashboard like a CMS or website, because once again, the devs are the only truly competent ones - and i don't even mean in a technical sense, i mean in a HUMAN sense of GETTING SHIT DONE IN GENERAL.
There's literally 2 types of people in the world: those who sit around drawing flow charts and talking on the phone all day, and those WHO LITERALLY FUCKING BUILD THE WORLD
why don't i just run the whole fucking company at this point? you guys are "celebrating" that you made literally $5 dollars from a single customer and i'm just sitting here coding 12 hours a day like all is fine and well
i'm so ANGRY its always the same no matter where i go, non-technical people have just no clue, even when you implore them how long things take, they just nod and smile and say "we'll do it the MVP way". sure, fine, you can do that like 2 or 3 times, but not for 6 fucking months until you have a stack of "MVPs" that come toppling down like the garbage they are.
How do expect to keep the "momentum" of your customers and sales (I hope you can hear the hatred of each of these market words as I type them) if the entire system is glued together with ducktape because YOU wanted to expedite the feature by doing it the EASY way instead of the RIGHT way. god, just forget it, nobody is going to listen anyway, its like the 5th time a row in my life
we NEED tests!
we NEED to know our code coverage!
we NEED to design our system to handle large amounts of traffic!
we NEED detailed logging!
we NEED to start building an exception database!
BILBO BAGGINS! I'm not trying to hurt you! I'm trying to help you!
Don't really know what this rant was, I'm just raging and all over the place at the universe. I'm going to bed.20 -
Worst dev team failure I've experienced?
One of several.
Around 2012, a team of devs were tasked to convert a ASPX service to WCF that had one responsibility, returning product data (description, price, availability, etc...simple stuff)
No complex searching, just pass the ID, you get the response.
I was the original developer of the ASPX service, which API was an XML request and returned an XML response. The 'powers-that-be' decided anything XML was evil and had to be purged from the planet. If this thought bubble popped up over your head "Wait a sec...doesn't WCF transmit everything via SOAP, which is XML?", yes, but in their minds SOAP wasn't XML. That's not the worst WTF of this story.
The team, 3 developers, 2 DBAs, network administrators, several web developers, worked on the conversion for about 9 months using the Waterfall method (3~5 months was mostly in meetings and very basic prototyping) and using a test-first approach (their own flavor of TDD). The 'go live' day was to occur at 3:00AM and mandatory that nearly the entire department be on-sight (including the department VP) and available to help troubleshoot any system issues.
3:00AM - Teams start their deployments
3:05AM - Thousands and thousands of errors from all kinds of sources (web exceptions, database exceptions, server exceptions, etc), site goes down, teams roll everything back.
3:30AM - The primary developer remembered he made a last minute change to a stored procedure parameter that hadn't been pushed to production, which caused a side-affect across several layers of their stack.
4:00AM - The developer found his bug, but the manager decided it would be better if everyone went home and get a fresh look at the problem at 8:00AM (yes, he expected everyone to be back in the office at 8:00AM).
About a month later, the team scheduled another 3:00AM deployment (VP was present again), confident that introducing mocking into their testing pipeline would fix any database related errors.
3:00AM - Team starts their deployments.
3:30AM - No major errors, things seem to be going well. High fives, cheers..manager tells everyone to head home.
3:35AM - Site crashes, like white page, no response from the servers kind of crash. Resetting IIS on the servers works, but only for around 10 minutes or so.
4:00AM - Team rolls back, manager is clearly pissed at this point, "Nobody is going fucking home until we figure this out!!"
6:00AM - Diagnostics found the WCF client was causing the server to run out of resources, with a mix of clogging up server bandwidth, and a sprinkle of N+1 scaling problem. Manager lets everyone go home, but be back in the office at 8:00AM to develop a plan so this *never* happens again.
About 2 months later, a 'real' development+integration environment (previously, any+all integration tests were on the developer's machine) and the team scheduled a 6:00AM deployment, but at a much, much smaller scale with just the 3 development team members.
Why? Because the manager 'froze' changes to the ASPX service, the web team still needed various enhancements, so they bypassed the service (not using the ASPX service at all) and wrote their own SQL scripts that hit the database directly and utilized AppFabric/Velocity caching to allow the site to scale. There were only a couple client application using the ASPX service that needed to be converted, so deploying at 6:00AM gave everyone a couple of hours before users got into the office. Service deployed, worked like a champ.
A week later the VP schedules a celebration for the successful migration to WCF. Pizza, cake, the works. The 3 team members received awards (and a envelope, which probably equaled some $$$) and the entire team received a custom Benchmade pocket knife to remember this project's success. Myself and several others just stared at each other, not knowing what to say.
Later, my manager pulls several of us into a conference room
Me: "What the hell? This is one of the biggest failures I've been apart of. We got rewarded for thousands and thousands of dollars of wasted time."
<others expressed the same and expletive sediments>
Mgr: "I know..I know...but that's the story we have to stick with. If the company realizes what a fucking mess this is, we could all be fired."
Me: "What?!! All of us?!"
Mgr: "Well, shit rolls downhill. Dept-Mgr-John is ready to fire anyone he felt could make him look bad, which is why I pulled you guys in here. The other sheep out there will go along with anything he says and more than happy to throw you under the bus. Keep your head down until this blows over. Say nothing."11 -
This one is for devs and gamers.
But first some background story.
My girlfriend is special. Not just generically lovey mush mush special. She is 1 in 100 more accurately 1 in 10000. She was born with a rare Congenital Heart Defect {CHD}. Called Truncus Arteriosus or TA for sake of brevity. TA's main thing is the two main arteries going into the heart are fused together and never seperated at birth. It's bad news. There is no cure for this kind of thing. Simply repairs that happen over the course of life.
So here is me. Desperately trying to find a way to get the word about this and the 40 other types of CHD out there in the world. I thought. "What if I make a game..." Not based around the medical jargon but on a level people could understand. I spent the better part of the last six years attending appointments with her and still don't get it. What I do get is her Emotional state. How her CHD causes her to think and feel.
So here is the pitch.
The game is about a girl who is diagnosed at birth with a CHD. She is now in her 20's and has to undergo an open heart surgery to repair the defect. The day comes. She goes under but when she wakes up she find herself in a final fantasy style environment. This new world has a darkness cast over it. She is unknowingly the hero of this world and she has to face off with multiple bosses of varied degrees of evil.
Then after beating these bosses she really wakes up from the surgery. Waking up to the realization that the world she saved was herself. And all the bosses were manifestations of her own internal feelings. Depression, anxiety, hopelessness, Denise, desire and so on.
I would sell this game with the caveat that 2/3 of all profits get split between the Adult Congenital Heart Association and Project Heart. As those are the two main organizations that deal heavily with creating standards of care and raising awareness for CHD survivors.
Thoughts?
Note: I am still learning game dev. This is an eventual goal for me.33 -
First day at CERN: done!
Nothing to rant about :) The place and the people are beautiful, lots of support and it's easy to navigate through things even for very young people like me! Couldn't ask for better stuff.
The welcome event in the Globe of Science and Innovation is already an experience on its own :) so many people to meet and share words with! Later on one of my senior colleagues showed me around the surface datacenter of ATLAS, as well as its control room and a (physically) separate computing testing environment to run simulations and software on to later be deployed at Point 1 (ATLAS). I am stunned, humbled and excited to say the least! More to come soon! Post your curiosities below and I'll gladly answer!15 -
For my passionate coders out here, I have some tips I learned over the years in a business/IT environment.
1) Don't let stupid management force you into making decisions that will provide a bad product. Tell them your opinion and why you should do it that way. Never just go with their decision.
2)F@#k hackathons, you're basicly coding software for free, that the company might use. Want to probe yourself? Join a community and participate in their challenges.
3)No matter how good you are, haters are common.
4)Learn to have a good communication, some keywords are important to express yourself to other developers or customers. Try crazy things, don't be shy.
5)Never stand still, go hear at other companies what they offer, compare and choose your best fit. This leads me into point...
6)if you've been working for over a year and feel that you have participated enough in the companies growth, ask a raise, don't be afraid...you're wanted on the market, so either they negotiate a new contract or you find another job.
I'm sharing these with you as I made many mistakes regarding these points, I have coded for free or invested so much time in a company just to prove myself. But at the end I realize that my portfolio is enough to prove that I'm capable of doing the job. They don't like me? Or ask me stupid questions that I can google in 5 minutes. I'll just decline the job and get something better. Companies end up giving me nothing in return compared to the work I have put into it. At the end after some struggles you'll find a good fit and that's so important for your programming career. Burnouts happen quite often if you're just a coding puppy.
If some of you still have additional tips be sure to post them under here11 -
Never gonna happen:
* Port our API to graphql. Or even make it just vaguely rest-compliant. Or even just vaguely consistent.
* Migrate from mysql to postgres. Or any sane database.
* Switch codebase from PHP to... well, anything else.
* Teach coworkers to not commit passwords, API keys, etc.
* Teach coworkers to write serious commit messages instead of emoji spam
* Get a silent work environment.
* Get my office to serve better snacks than fermented quinoa spinach bars and raw goat milk kale smoothies
* Find an open source IDE with good framework magic support. Jetbrains, I'll give you my left testicle if you join the light side of the force.
* Buy 2x3 equally sized displays. I'm using 6, but they're various sizes/resolutions.
* Master Rust.
* Finish building my house. I completely replaced the roof, but still have to dig out a cellar (to hide my dead coworkers).
* Repair/replace the foundation of my house (I think Rust is easier)
* Get slim and muscular.
Realistically:
* Get a comfortable salary increase, focus more on platform infrastructure, data design, coaching
* Get fat(ter). Eating, sitting, gaming, coding and sleeping are my hobbies after all.
* Save up for the inevitable mental breakdown-induced retirement.13 -
In my opinion, business as usual.
1. Work from home if possible. Cars fuck up the environment and no one likes traffic jams, use transportation sparingly. Pandemic or not.
2. I never want to shake the filthy sweaty hands of untrusted peasants, I don't care if you're a CEO representing our biggest client. An acknowledging nod is sufficient.
3. Why the FUCK do I feel sneeze droplets raining down the escalator? I don't care WHAT you're infected with, just sneeze in your elbow. No, don't sneeze in your hand either you dimwitted mongrel, because too many people insist on ignoring rule 2.
4. The news just taught you how to wash your hands? You mean, you didn't learn that in elementary school?
5. Pandemic or not, if you're sick, fucking stay at home. Why do people suddenly need a "policy" for this? Wasn't this always the common sense rule? Employers who don't send sick workers home actively sabotage their own business, even when it's "just a mild flu".
6. Keep some distance from me in public whenever possible. Again, pandemic or not... It's called personal space.
7. I understand that wearing mouth masks is not culturally integrated in the west like it is in Japan, but maybe it should be. Not for egocentric self preservation when you're healthy, but out of politeness to the public when you're sick. They actually work much better for that purpose, and it decreases the chance I will break your neck when you violate point 3.
I'm not a total germaphobe. I'll gladly engage in a filthy orgy with a dozen friends... As long as they've showered, aren't coughing, and don't have snot running down their chins.
The general hygiene level of the population is so fucking awful.
Pandemic, or not, it doesn't matter.27 -
Sometime in mid 2013 or 2014 as a junior dev I woke up to a call from my company's CEO. He informed me that the legacy system they use for order processing is down nationwide that nobody can add new orders until it's fixed and that I needed to fix it. I had been working there 6 months and was hired along with a senior dev to begin developing a web app to replace this legacy system. The senior dev had left the company two weeks earlier for a better offer so it was put on me to figure it out. I was very frank with the CEO and told him I didn't know if I could fix it and suggested he try to call the company they hired to create it. I didn't even know where the source code was let alone what the design paradigm was or whether or not there was any documentation. He said he would try figuring out who created it and give them a call and asked "As a developer you shouldn't you be able to fix this?" I just told him it wasn't that simple and left it at that.
I get to work and the CEO has discovered that the company who created the software no longer exists and I tell him he may need to find a company to consult on this if I can find the source code and if I can't find the code he might be screwed.
I found the source code in a random IT shared folder there is no source control, no documentation, no unit tests, no test environment, and it looks like nobody had touched it since 2005 or about 8 years.
Despite being completely unfamiliar with the code and the design paradigm I was able to figure out that they were validating customer addresses against an old Google geocoding API that was shutdown the day before and the lack of response was killing the application. I fixed the issue and warned the CEO before deployment that I wasn't able to test but he said to go ahead and thankfully all went well.9 -
To those that think they can't make it.
To those that are put down by those that don't understand you.
And to those that have never had a dream come true.
Not a rant, but the story of how I got into programming
I've always been into tech/electronics. I remember being told once that when I was 3, I used to take plug sockets to pieces. When I was 7, I built a computer with my dad.
There isn't a thing in my room that hasn't been dismantled and put back together again. Except for the things that weren't put back together again ;)
When I was 15, I got a phone for Christmas. It was a pretty crappy phone, the LG P350 (optimus ME). But I loved it all the same.
However I knew it could do a lot more. It ran a bloated, slow version of Android 2.2.
So I went searching, how can I make it faster, how to make it do more. And I found a huge community around Android ROMs. Obviously the first thing I did was flashed this ROM. Sure, there were bugs, but I was instantly in love with it. My phone was freed.
From there I went on to exploring what else can be done.
I wanted to learn how to script, so over the weekend I wrote a 1000 line batch (Windows cmd) script that would root the phone and flash a recovery environment onto it. Pretty basic. Lots of switch statements, but I was proud of it. I'd achieved something. It wasn't new to the world, but it was my first experience at programming.
But it wasn't enough, I needed more.
So I set out to actually building the roms. I installed Linux. I wanted to learn how to utilise Linux better, so I rewrote my script in bash.
By this time, I'd joined a team for developing on similar spec'd phones. Without the funds to by new devices, we began working on more radical projects.
Between us, we ported newer kernels to our devices. We rebased much of the chipset drivers onto newer equivalents to add new features.
And then..
Well, it was exam season. I was suffering from personal issues (which I will not detail), and that, with the work on Android, I ended up failing the exams.
I still passed, but not to the level I expected.
So I gave up on school, and went head first into a new kind of development. "continue doing what you love. You'll make it" is what I told myself.
I found python by contributing to an IRC bot. I learnt it by reading the codebase. Anything I didn't understand, I researched. Anything I wanted to do, google was there to help me through it.
Then it was exam season again. Even though I'd given up on school, I was still going. It was easier to stay in than do anything about it.
A few weeks before the exams, I had a panic attack. I was behind on coursework, and I knew I would do poorly on exams.
So I dropped out.
I was disappointed, my family was disappointed.
So I did the only thing I felt I could do. I set out to get a job as a developer.
At this stage, I'd not done anything special. So I started aiming bigger. Contributing to projects maintained by Sony and Google, learning from them. Building my own projects to assist with my old Android friends.
I managed to land a contract, however due to the stresses at home, I had to drop it after a month.
Everything was going well, I felt ready to get a full time job as a developer, after 2 years of experience in the community.
Then I had to wake up.
Unfortunately, my advisors (I was a job seeker at the time) didn't understand the potential of learning to be a developer. With them, it's "university for a skilled job".
They see the word "computer" on a CV, they instantly say "tech support".
I played ball, I did what I could for them. But they'd always put me down, saying I wasn't good enough, that I'd never get a job.
I hated them. I'd row with them every other day.
By God, I would prove them wrong.
And then I found them. Or, to be more precise, they found me. A startup in London got in contact with me. They seemed like decent people. I spoke with their developers, and they knew their stuff, these were people that I can learn from.
I travelled 4 hours to go for an interview, then 4 hours back.
When I got the email saying they'd move me to London, I was over the moon.
I did exactly what everyone was telling me I couldn't do.
1.5 years later, I'm still working with them. We all respect each other, and we all learn from each other.
I'm ever grateful to them for taking a shot with me. I had no professional experience, and I was by no means the most skilled individual they interviewed.
Many people have a dream. I won't lie, I once dreamed of working at Google. But after the journey I've been through, I wouldn't have where I am now any other way. Though, in time, I wish to share this dream with another.
I hope that all of you reach your dreams too.
Sorry for the long post. The details are brief, but there are only 5k characters ;)23 -
TLDR: In defense of Powershell - the rant:
I don’t get the Powershell hate.
You don’t hate a screwdriver for not being able to turn a nut, you just *don’t use a screwdriver to turn a nut*
Once you recognize what the tool is good for and you don’t try to use it like Bash, it’s wildly powerful, and satisfying to use in a way Cmd.exe never was.
Cygwin or a Linux Subsystem can only go so far on a Windows computer. You’re dealing with two fundamentally different OS architectures. It makes sense you’d need different tools.
And like it or not, Microsoft owns the non-tech-user desktop , corners the non-tech server business market, and Active Directory is THE tool for managing Windows desktops on a large scale - So Wanblows is not going away anytime soon.
Automation without some weird ass sysVol batch login script is finally possible. Anyone who knows .Net classes can leverage their methods from directly within Powershell. Remote management of headless Windows servers is now a reality. If you have an Office 365 Exchange server you can literally Powershell remote to it for management, just like your favorite cloud hosted Linux distribution.
No one said Windows is a better OS, but an object based shell on an object based OS *makes sense*. It’s useful for its environment. Let it be.10 -
I'm not even that old and I've had it with young cocksure, full of them self language/environment evangelists.
- "C# is always better than Java, don't bother learning it"
- "Lol python is all you need"
- "Omg windows/linux/mac sucks use this instead"
The list goes on really, at some point you have got to realize that while specialization is great, you have to learn a little bit of everything. It broadens you horizon a lot.
Yea, C# does some nifty stuff, but Java does too, learn both. Yea I'm sure Linux is better for hosting docker containers, but your clients are on mac or windows, learn to at least navigate and operate all three etc. Embrace knowledge from all the different tech camps it can only do you good and you will be so much more flexible and employable than your close minded peers :)
Hell even PHP has a lot to teach us (Even more than just to be a bad example, har har)9 -
*Opens some Computerphile video on YouTube in Chrome Canary*
CPU > hey ho dude, wait a minute..! I can't process all of this in realtime!!! >_<
Alright.. I think I've still got a copy of all their videos sitting somewhere in the file server.. perhaps I could use that instead.
*Opens said video from the file server in SMPlayer*
CPU > aah, thanks man. Now I can allocate 15-ish % of my resources to that and give you a good watching experience.
Web browsers are really great for being the most general-purpose document viewers, application execution environments (remote code execution engines as someone here called it), and overall be one of the most versatile programs on any PC's standard software suite.
But that comes at a price.. performance. And definitely when it comes to featureful fucking WordPress shitsites (shites?), bloated YouTube, Google, Facebook, and all that fucking garbage.. I fucking hate web browsers and this "Web 2.0" that people keep on talking about. Your boatload of JavaScript frameworks just to ease your own fucking development has a real impact when it happens on dozens of tabs, you know.
Besides, can't those framework creators just make it into a "compiler" * of sorts? So that front-end devs can flail their dicks in an shit-infested environment full of libraries and frameworks all they want, but the framework can convert it into plain JS code that the web server can then serve. Or better yet, the JavaScript standard could be improved to actually be usable on its own!
Look, I'm not a front-end dev. Heck, I'm not even a dev to begin with. But what I do know is that efficiency matters, especially at large scale. Web browsers being so overgeneralized and web devs adding a boatload of fucking libraries or frameworks or whatever, it adds up, both to the CPU's and my own temper.
(*) Quote marks because source code to source code isn't really compiling, but then uglified JS looks worse than machine code anyway so meh :/6 -
The tech stack at my current gig is the worst shit I’ve ever dealt with...
I can’t fucking stand programs, especially browser based programs, to open new windows. New tab, okay sure, ideally I just want the current tab I’m on to update when I click on a link.
Ticketing system: Autotask
Fucking opens up with a crappy piss poor sorting method and no proper filtering for ticket views. Nope you have to go create a fucking dashboard to parse/filter the shit you want to see. So I either have to go create a metric-arse tonne of custom ticket views and switch between them or just use the default turdburger view. Add to that that when I click on a ticket, it opens another fucking window with the ticket information. If I want to do time entry, it just feels some primal need to open another fucking window!!! Then even if I mark the ticket complete it just minimizes the goddamn second ticket window. So my jankbox-supreme PC that my company provided gets to strugglepuff along trying to keep 10 million chrome windows open. Yeah, sure 6GB of ram is great for IT work, especially when using hot steaming piles of trashjuice software!
I have to manually close these windows regularly throughout the day or the system just shits the bed and halts.
RMM tool: Continuum
This fucker takes the goddamn soggy waffle award for being utterly fucking useless. Same problem with the windows as autotask except this special snowflake likes to open a login prompt as a full-fuck-mothering-new window when we need to open a LMI rescue session!!! I need to enter a username and a password. That’s it! I don’t need a full screen window to enter credentials! FUCK!!! Btw the LMI tools only work like 70% of the time and drag ass compared to literally every other remote support tool I’ve ever used. I’ve found that it’s sometimes just faster to walk someone through enabling RDP on their system then remoting in from another system where LMI didn’t decide to be fully suicidal and just kill itself.
Our fucking chief asshat and sergeant fucknuts mcdoogal can’t fucking setup anything so the antivirus software is pushed to all client systems but everything is just set to the default site settings. Absolutely zero care or thought or effort was put forth and these gorilla spunk drinking, rimjob jockey motherfuckers sell this as a managed AntiVirus.
We use a shitty password manager than no one besides I use because there is a fully unencrypted oneNote notebook that everyone uses because fuck security right? “Sometimes it’s just faster to have the passwords at the ready without having to log into the password manager.” Chief Asshat in my first week on the job.
Not to mention that windows server is unlicensed in almost every client environment, the domain admin password is same across multiple client sites, is the same password to log into firewalls, and office 365 environments!!!
I’ve brought up tons of ways to fix these problems, but they have their heads so far up their own asses getting high on undeserved smugness since “they have been in business for almost ten years”. Like, Whoop Dee MotherFucking Doo! You have only been lucky to skate by with this dumpster fire you call a software stack, you could probably fill 10 olympic sized swimming pools to the brim with the logarrhea that flows from your gullets not only to us but also to your customers, and you won’t implement anything that is good for you, your company, or your poor clients because you take ten minutes to try and understand something new.
I’m fucking livid because I’m stuck in a position where I can’t just quit and work on my business full time. I’m married and have a 6m old baby. Between both my wife and I working we barely make ends meet and there’s absolutely zero reason that I couldn’t be providing better service to customers without having to lie through my teeth to them and I could easily support my family and be about 264826290461% happier!
But because we make so little, I can’t scrap together enough money to get Terranimbus (my startup) bootstrapped. We have zero expendable/savable income each month and it’s killing my soul. It’s so fucking frustrating knowing that a little time and some capital is all that stands between a better life for my family and I and being able to provide a better overall service out there over these kinds of shady as fuck knob gobblers.5 -
Jr: I'm having a problem with my environment, can you help me?
Me: Sure! Did you switch to the latest Ubuntu LTS
so that your environment matches the rest of the dev team like you were asked to do the last 3 times?
Jr: No, I like Windows better because linux is too complicated. Can you just figure out how my environment is suppose to work and than fix what I did wrong please?
Me: No. Let me know if you ever need help with the our standard dev environment. Good luck!24 -
Funny how it's the conversation when I give my 2 weeks notice that all this comes up, like:
1) how they were "talking about giving me a raise"
2) how they were "hiring more people" so I could spend more time coding and less time doing bullshit
3) how they were going to fix all the other broken things in the company
How do you think it would fly if instead they fired me and I promised to fix everything that's wrong about my working there after the fact?
Anyway, I knew they would pull this bullshit so it was expected. Excited that I signed the new offer today. Finally getting market rate pay and expecting better work environment as well. 🐶3 -
Let me tell you a story.
Our company has a homegrown monitoring solution. Keeps track of our deployments and alerts us when something is broken. Really nice for the most part, except a little issue where we get up to 25 alerts PER DAY that our PRODUCTION ENVIRONMENT IS DOWN. Including weekends.
With this many false positives, we quickly learn to ignore the alerts and miss real incidents.
So we approached this team, remember its our own tool, and told them about the problem. Turns out it is a known issue. And here's the kicker: they aren't planning on fixing it!
It gets better. Rather than fix this glaring issue, their solution is to make ANOTHER ALERT that lets us know the monitoring is misbehaving.
To recap, we can now expect to get up to 25 false positive alerts per day that our production is down, followed immediately by more alerts that the monitor is broken, which means we can ignore the previous alert.
As our PM said when he heard this: fuck that noise. We are escalating the shit out of this!7 -
Dear external developer dumbass from hell.
We bought your company under the assumption you had a borderline functioning product and/or dev team. Ideally both
For future reference expect "file path" arguments can contain backslashes and perhaps even the '.' character. It ain't that hard. Maybe try using the damn built in path parsing capabilities every halfway decent programming environment has had since before you figured out how to smash your head against the keyboard hard enough for your shitty excuse of a compiler stops arguing and gives in.
I am fixing your shit by completely removing it with one line of code calling the framework and you better not reject this.
This is not a pull request ITS A GOD DAMN PULL COMMAND.
- Is what i would _like_ to say right now... you know if i wouldn't be promptly fired for doing so :p
How's you guys friday going?8 -
Why are we still having degree vs autodidact arguments/debates?
It's fucking 2018, who gives a flying fuck how you learn?
Stop giving a shit about how people learn and give a shit about their abilities and skills.
I'm tired of people from both sides (people with degrees and autodidacts) acting like they're better than the other. Stop being arrogant cunts.
Some people have the self control and motivation to teach themselves.
Congratulations! That's fucking awesome.
Others don't and could use a structured environment like University to motivate and encourage them.
Hey it happens. At least you're trying.
My god. Just stop with this shit already. It's annoying and unnecessary.
If you made it this far, how's your week been going?26 -
Some of these have been mentioned already but here they are, these things make me be a bit better at programming (at least I think so)
• sleep, I love sleep and I think a good night's sleep can do wonders
• music, music theory which is a language in itself and playing an instrument which teaches hand-eye-coordination and also creates patterns in your head, but certainly teaches us that you need to practice a lot to achieve your goals, that it's hard for beginners but gets a bit easier with time
• solving puzzles and riddles, I've been a huge fan of puzzles from an early age, it is something that teaches us solving problems and creating strategies
• other types of games that are helpful are games where you have to find things in a picture or in an environment, this has trained me a bit on finding nasty bugs in my code or at least syntax errors
• googling: sometimes you find out something that is not really related to your problem, but you remember it nevertheless and later on it can help you with something else
• maths, yes, you read correctly, I'm not a big fan of maths either, but what you learn in maths is that there are certain procedures you're often repeating and that you're always building on your knowledge and expanding it, sometimes solving mathematical problems is fun too ;)
• getting fresh air - self explanatory
• listening to other people's life stories, this helps me generally in life, to know that I'm not the only one struggling with something and so on
And I probably could go on with a lot more things, but I think that's enough for now15 -
FUCK LINUX
now that I have your attention, and you’re probably angry, too, please, even if you don’t read this rant, never use code.org again. now, onto the rant…
god dammit, code.org sucks. I mean, anyone who created it or associates with it should, well, be considered a terrorist. they’re bombing students futures in computer science with false, useless, bullshit information. not to mention, their sponsors like bill gates, mark zuckerburg, and other rich asses, talk in a video about some boring ass shit that is hard to understand for anyone who doesn’t program, and not to mention, they use a fucking five dollar microphone. ear rape. even if you look at a textual version of it, then read the information on it, it’s practically useless because it's so terribly explained, and also useless. ironically enough, they focus on their animations more than their actual explinations, or their students for that matter. the fact that we had to encode a picture in binary, made me about 50% dumber, give or take a 0 or 1. then, we had to do it in hex, which wasn’t really much better, although more realistic I supposed. what's really the most depressing thing about this class is its application in the real world. I've learnt nothing whatsoever that will help me in the real world, or in computer science. I suppose there's two things that may be useful (that I already knew): hex, and that TCP doesn't lose packets. that's it. those two things. five seconds worth of knowledge from the first quarter of the year. the ideas just make me want to throw up. teaching the main ideas of computer science without actually teaching it? one of the teachers (probably a good one) enrolled her students in an online programming course just so they could understand, because the explanations are just so terrible. this is the only [high school] computer science course offered by code.org, and I signed up because it's an AP computer science class (tried to get into AP Java, the day I was supposed to take the test to get into an upper level class, I was told it didn't count as a tech credit). seriously, fuck code.org. it makes you dumber. their 'app lab' environment is pointless, just like everything else. the app lab is basically where you have a set of commands and have to make a dog bark() or a storm trooper miss() [and that's hell when they haven't introduced while loops yet]. the app lab is literally code.org going out of their way to make everything that their students are learning pointless in the real world. seriously, why can't we just use a <canvas> like an ACTUAL PROGRAMMER would do if they were to make a browser game, not use an app engine so slow it would be faster to update windows and android studio each time I run an 'app' in their 'environment'. their excuse is that the skills "transfer over" to the real world. BITCH! IF I DIDN'T KNOW JAVA, AND I WANTED TO MAKE A GAME IN JAVA, I'M NOT GOING TO LEARN PYTHON, THEN "TRANSFER" THE SKILLS I LEARNT, I'M GOING TO LEARN FUCKING JAVA. AND THAT GOES FOR EVER OTHER LANGUAGE, PROJECT, ETC.
I'm begging you code.org, stop, get help.9 -
Completed Angular 2 course on codeschool, really liked improvements and simplicity of Angular over Angularjs. Decided to do quick start guide in official website. Oh my f**king god... I need to setup webpack, typescript linter, typings, polyfills etc angular2-cli is no better, crawling with errors... why... why can't one just start a project and work instead spending loads of timing configuring all of that... AND WHY WE CANT HAVE PROPER SUPPORT FOR LATEST FEATURES...
I don't even know what I am ranting about... I just wish to spend more time creating things than configuring for ages development environment.7 -
Okay so this is just a rant about my personal life because if I post it any where else no one will really care.
So I graduated from a vocational high school where I learned about basic IT and networking skills but I mostly focused on my programming. and I LOVED that school honestly the environment was so amazing and everyone and everything about it was amazing. then I started college recently hoping for the same thing and its just depressing me, and my depression is coming back and I cant stop it because I cant distract myself from it. My friends are always off playing Monster Hunter Ultimate and Im just wishing theyd hop back on Warframe so we can play again.. They say they will but they really wont so im usually just playing alone or going online which is sometimes fun if you have people that talk back.
so i took myself to the official warframe discord to find people that would help but everytime I ask I just get ignored. So Im stuck playing alone.
while thats happening Im not really getting any messages from anyone besides my girlfriend which is nice but she isnt able to really keep up a conversation and shes often busy with school as well. when I try to talk to any of my friends they arent really interested to talk or just send short replies that obviously tell me to go away. one friend in particular she and I used to talk everyday not even in a romantic way just straight up besties for life, but after one of my relationships ended she basically took her side and never talks to me now. Ive just been really lonely and wanting to just have my friends talk to me again or just have some programming friends I can chill in a discord server while we code but I cant bring myself to ask anyone on the specific server im in for programming..
Honestly idk if anyone on devrant really looks at my posts and thinks "oh look Bubbles posted again". I feel like im not good enough to be here because Im not nearly as good as all of you, Im mostly just here asking questions or posting extremely fucking long posts no one wants to read. and yet this is still where most of my interactions are and I love that this devRant community makes me laugh or feel better about myself sometimes. and I thank all of you for that and I remember your @ 's all the time.
honestly the only real highlight of my week was when my teacher of my vocational class asked me to come back as an unpaid intern to help teach his new programming class and It made me happy but other than that I havent been too happy.
if anyone actually got through this holy shit youre awesome and thank you a lot its appreciated.21 -
I switched to using Ubuntu as my primary development environment about a month ago from Windows and I couldn't be happier! The initial setup was a pain in the neck (esp. display scaling issues, which Windows 10 is much better at than Ubuntu), but now that it's all set up, I'm lovin' it!6
-
This freaking server migration has been going on since Thursday night (it's now Sunday afternoon, for reference).
I've been on the phone since 1830 last night, which means I'm away about 18 hours in. I'm finally eating dinner, breakfast, and lunch.
People who theoretically should know the environment better than I do argued with me in front of customers and then tried to say she was agreeing with me all along. She tried dropping off the call SHE WAS RUNNING 6 hours before she should have, because I was on and she thought it was becoming my responsibility. HAD SHE LISTENED, we could be done by now.4 -
Sometimes I feel like my job is just babysitting my coworkers. I need to find a way to teach them how to think for themselves.
I'm not a senior dev but I am the one my coworkers turn to for help. I like helping (even if it's annoying some times), so I'm thinking about embracing the mentor role in my team. My plan for now is to stop giving the answers right away (which I usually do to get back to my work) and instead try to guide my coworkers into figuring out the issue themselves. This will take more of my time of course and will require I practice my patience in a possibly stressful environment (depending on how close deadlines are), but I'm hoping that it'll produce better coworkers (one can dream, at least).
Do any of you know of any good reading resources about mentoring or becoming a mentor, specifically in tech/development?7 -
If you are sick...
STAY THE FUCK HOME!
It has nothing to do with how YOU are feeling. It’s about RESPECT for those around you.
Especially if you work in an open office. Coming into an open office when sick is like coughing right on someone’s face repeatedly, it shows that same level of (lack of) respect.
Almost every company I have seen fucks this up so bad. It’s the same shit every year....
People are afraid to take days and stay home. They go in and make everyone sick, then everyone is taking days off and we are “short” on people. Then the incompetent CEO is scratching his head as to why this toxic work environment could produce such a toxic result.
And one more fucking thing.
If you got a cold/flu on Monday and your in the office on Wednesday because you are “feeling a bit better” then your a fucking idiot. At day 3 you are just starting to expel germs while still being highly contagious.
If you come into an open office while sick then I would say...
“Smarten the fuck up! And start showing some respect for the people you work with!”
If you have created (or are creating) a culture that encourages this then I would say...
“Fuck you! You should be fucking smarter than that.”
————
If your still sitting there thinking something like...
“Well I have to attend the meeting” or some other shit. Then let me add this to the pile.
Not everyone has had a rosy fucking life.
You may be working next to someone who has a lowered immune system due to past medical problems. What may be a week of sickness for you could end up being a month in the hospital for them.
You may be working next to a person who has a family member dying of cancer. If you make them sick then they can’t visit that family member (colds can kill cancer patients) and you may be stopping that person from seeing their loved ones one last time before they die.
Don’t be a fucking asshole.
STAY THE FUCK HOME!6 -
So a few days ago I shared about the conflict with my colleague on learning React. Today I was let go. Obviously I asked why they would do that and they said they feel the problem isn't even my React knowledge but the fact I don't grasp the fundamentals of OO programming.
Thing is in these 3 months there has not been a single code review. They are either going of what my lying colleague told them (they claimed he was excluded from giving feedback), or the consultants who were hired to help us. And yes, I got feedback I should improve but at the same time the assurance so long as I show improvement it'd be fine. And I was told they could see improvement. So I'm not sure what changed but suddenly there is no budget to keep me on. In any case it feels like shitty corporate bullshit.
But I can't say they are wrong. I struggle to explain simple concepts I know in words. I've worked a series of bad jobs where nobody cared how you did stuff as long as it got done. I feel I'm so behind now and so affected by bad knowledge it's even harder to fix than to learn the first time. So I'm wondering how to fix this.
I'm really gutted too because I loved this company. I was finally getting a fair wage instead of being underpaid. The people were excellent. I felt I could finally relax and feel safe at work. And now I feel betrayed. Which for someone with self esteem issues is very hard. Can't trust in myself and can't trust in others.
I'm gonna try and pick myself up in the morning, but today I feel totally shit. This wasn't how I'd expected things to go. I thought my manager had intended to talk conflicts over but instead I get the boot. And the advice to stop overselling myself. Real useful that. Like it is on me that they hired me despite my subpar interview because my CV looked good. It's a shitty excuse. In any case they're now stuck with a dev that walks out of work, throws false accusations about colleagues, and another person warned me about to not engage because nothing good ever came from it. He's gonna keep over engineering everything and make up for all the time he wastes outside of work creating a dysfunctional environment for everyone. But yeah, easier to fire the new person who does her best despite the odds. And who cautioned against over engineering because we kept missing deadlines. And who believes in refactoring when it is needed because that's how agile works. Yeah better keep someone who has no sense of work life balance and makes others miserable then claiming he's being driven out by your ignorance. And of course the consultants who throw your own people under the bus. Can't get rid of those now.7 -
> Me on call
> Notice that our Echangeserver is not working, strange that I did not get any alarm?
> Start working on it, the services are slow as fuck. They dont start
> Nvm reboot
>10 minutes later the same problem, start to dig deeper.
>Everything goes slow because I am not a Windows guys
>The big boss calls, clock is 7 AM (our office opens as 8AM)
> She is angry that I am not at the office, because the mail does not work.
> I am working remotely from home, 30 min drive to work
> Told her that I have a 30 min drive and I was supposed to be home to take care of wife that was sick
> She is annoyed, pissed.
> She demands that I need to be at the office to solve the problem
omg,,, I don't work better if I am in the office.
Also, it turns out that a colleague has turned of the alarms from Nagios/OP5 for the exchange environment because is once spammed his phone.9 -
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 -
It's about a guy that knows better.
I was working as a subcontractor on a bigger system. We (subs) were not allowed to deploy code, we had to wait for contractor to deploy.
One day I got an email that my code is bugged and that my feature is not working on production. I checked it on test env, everything was fine. Then I checked if the code I wrote was deployed. It was not.
I send an email explaining that if they deployed my code it would be working. Then I got a response. There was a bug in my code.
Another email. I asked how would they know? Do they have a test on their environment that failed?
No. There is one guy that READ my code and he said it should not work, so he will not deploy it. He was not a programmer, he was a business consultant responsible for the documentation.
His issue was that I used a function that was not in a class. So if the function is not declared it's obvious it will not work. I had to explain to him in another email, that you can use object of another class inside your class and then call a function, that is not in your class. It was the last time this guy blocked my deploy.
TL;DR, I had to explain a non-dev how object composition works in order to have my code deployed. Took four emails.4 -
Just made the shift to a Linux development environment from a windows one... Gotta say it feels so much better (love Ubuntu's interface)
Miss the use of photoshop though (I Know gimp exists... But photoshop is just so much better)
Any tips for a linux/ubuntu newbie??36 -
So I just had this job interview with a "startup" (side note: who the fuck still calls limping companies "startups" in 2024? That is sooooo 2010s).
There was this tattooed and very pale girl (you just know the vibe), the mandatory Norse bearded tall guy and the balding, "I'm-in-my-fifties-but-I-am-not-a-square, maaan" sleasy-looking white guy in a button up shirt but no suit jacket. The whole stereotypes gang came looking for their missing nerdy Indian.
The sleasy bloke goes on and on on a looong tirade on how they're "a tech innovation academy", how they "move fast and break things" and they "run smoking hot", so that "long nights are to be expected".
So, they usual red-flagging shit.
Then they all went on a "but we're not like all those companies that look exactly like us" word salad about "sustainability and a healthy work life balance", with their "highest value" being "the utmost respect at all times". I'm nodding my head at the meaningless splurge until they fart out the sentence "for example, cussing while talking with colleagues is a fireable offence".
If some hustling enterprise rather prefers a posh working environment, one can adapt to such circumstances. Provided, of course, that said enterprise adheres to the administrative coherence expected from a culturally refined institution. Mostly by compliance, from the leadership, to a rigidly predictable working schedule.
Now, if the bloody curs want coder dogs that work assfucking hours with a shit eating grin, they better swallow our fucking sailor mouths. Fuck, I've done twenty hour shifts getting my ass kicked in dark startup fisting/rush rooms. If unable to yell at any blabbering cocksucker to go stick his fucking opinions up the bitch who crapped him, then I ain't gonna bloody be there.
TL;DR they can either have a "utmost respect" working environment XOR a "fast and hot" daily hustle.
After they crapped out that oxymoron I could barely hold myself to avoid saying "sorry, I do not partake in any of the psychedelics you must be on".
On to the next interviews!9 -
Best code performance incr. I made?
Many, many years ago our scaling strategy was to throw hardware at performance problems. Hardware consisted of dedicated web server and backing SQL server box, so each site instance had two servers (and data replication processes in place)
Two servers turned into 4, 4 to 8, 8 to around 16 (don't remember exactly what we ended up with). With Window's server and SQL Server licenses getting into the hundreds of thousands of dollars, the 'powers-that-be' were becoming very concerned with our IT budget. With our IT-VP and other web mgrs being hardware-centric, they simply shrugged and told the company that's just the way it is.
Taking it upon myself, started looking into utilizing web services, caching data (Microsoft's Velocity at the time), and a service that returned product data, the bottleneck for most of the performance issues. Description, price, simple stuff. Testing the scaling with our dev environment, single web server and single backing sql server, the service was able to handle 10x the traffic with much better performance.
Since the majority of the IT mgmt were hardware centric, they blew off the results saying my tests were contrived and my solution wouldn't work in 'the real world'. Not 100% wrong, I had no idea what would happen when real traffic would hit the site.
With our other hardware guys concerned the web hardware budget was tearing into everything else, they helped convince the 'powers-that-be' to give my idea a shot.
Fast forward a couple of months (lots of web code changes), early one morning we started slowly turning on the new framework (3 load balanced web service servers, 3 web servers, one sql server). 5 minutes...no issues, 10 minutes...no issues,an hour...everything is looking great. Then (A is a network admin)...
A: "Umm...guys...hardly any of the other web servers are being hit. The new servers are handling almost 100% of the traffic."
VP: "That can't be right. Something must be wrong with the load balancers. Rollback!"
A:"No, everything is fine. Load balancer is working and the performance spikes are coming from the old servers, not the new ones. Wow!, this is awesome!"
<Web manager 'Stacey'>
Stacey: "We probably still need to rollback. We'll need to do a full analysis to why the performance improved and apply it the current hardware setup."
A: "Page load times are now under 100 milliseconds from almost 3 seconds. Lets not rollback and see what happens."
Stacey:"I don't know, customers aren't used to such fast load times. They'll think something is wrong and go to a competitor. Rollback."
VP: "Agreed. We don't why this so fast. We'll need to replicate what is going on to the current architecture. Good try guys."
<later that day>
VP: "We've received hundreds of emails complementing us on the web site performance this morning and upset that the site suddenly slowed down again. CEO got wind of these emails and instructed us to move forward with the new framework."
After full implementation, we were able to scale back to only a few web servers and a single sql server, saving an initial $300,000 and a potential future savings of over $500,000. Budget analysis considering other factors, over the next 7 years, this would save the company over a million dollars.
At the semi-annual company wide meeting, our VP made a speech.
VP: "I'd like to thank everyone for this hard fought journey to get our web site up to industry standards for the benefit of our customers and stakeholders. Most of all, I'd like to thank Stacey for all her effort in designing and implementation of the scaling solution. Great job Stacy!"
<hands her a blank white envelope, hmmm...wonder what was in it?>
A few devs who sat in front of me turn around, network guys to the right, all look at me with puzzled looks with one mouth-ing "WTF?"9 -
Electric cars are not better for the environment. All petrol cars combined are only responsible for 7.9% of CO2 emissions. If your electric car is charged from a grid that is powered by a coal-burning power station, it contributes nothing to dealing with climate change. It only provides you with the false sense of security, and you can look cool telling your friends that “you know, I drive a Tesla, I’m environmentally conscious, your gas car is bad”.
Electric cars are lame. When I’m out of fuel, I can refuel fully in minutes. With electric car, I’ll have to wait at least five hours. Let’s be realistic, superchargers aren’t common, and will never be.
Gasoline is 46.4 MJ/kg, or 34.2 MJ/l. Li-Ion is 0.36–0.875. Let’s be generous and say it’s 0.9. To match 1 kg of petrol, I would need 51 kilos of batteries.
Average gas tank is 18 gallons, or 68 litres. To match that, my battery must have a weight of 2.5 metric tonnes. Bear in mind, empty battery and full battery has the same weight. Also, bear in mind, batteries perform worse in the winter.
As per energy density and practicality, things don’t get much better than petrol. Liquid hydrogen has higher energy density, but to store it, gas tank has to have very, very thick walls, to withstand the pressure. And, hydrogen is a bitch. It’s extremely dangerous. You can’t smell it until it’s too late. Hydrogen-air mixture will explode if you look at it the wrong way.
All that “electric cars good for climate” hype is merely Elon maintaining his stock bubble.23 -
Me and that other guy who has a braincell: Okay so we made this simple object mapping code so that you have the option to use YAML or environment variables, because they're both awesome UwU (we use YAML for testing, then variables for container prod deployments).
Some dude who picked up the project: meh, lets ditch that, dotenv and get rid of the object mapping, because I like to do the pain manually.
AND THIS DUDE NEVER EVEN BOTHERED TO READ THE CODE CLAIMING HIS IS BETTER WTF
It took us enough testing and cofusion to get Object Mapping right and this guy just bastardizes work we've done for the past 2 years claiming "it sucks"
What a bloody bellend.7 -
This is the craziest shit... MY FUCKING SERVER JUST SET ON FIRE!!!
Like seriously its hot news (can't resist the puns), it's actually really bad news and I'm just in shock (it's not everyday you find out your running the hottest stack in the country :-P)... I thought it slow as fuck this morning but the office internet was also on the fritz so I carried on with my life until EVERYTHING went down (completely down - poof gone) and within 2 minutes I had a technician from the data centre telling me that something to do with fans had failed and they caught fire, melted and have become one with the hardware. WTF? The last time I went to the data centre it was so cold I pissed sitting down for 2 days because my dick vanished.
I'm just so fucking torn right now because initially I was absolutely fucking ecstatic - 1 week ago after a year of doomsday bitching about having a single point of failure and me not being a sysadmin only to have them look at me like I'm some kind of techie flat earther I finally got approval to spend around 5x more per month and migrate all our software to containerized micro services.
I'll admit this is a bit worse than I expected but thanks to last week at least I have recent off site images of the drives - because big surprise I have to set this monolithic beast back up (No small feat - its gonna be a long night) on a fresh VPS, I also have to do it on premises or the data will only finish uploading sometime next week.
Pro Tip: If your also pleading for more resources/better production environment only to be stone walled the second you mention there's a cost attached be like me - I gave them an ultimatum, either I deploy the software on a stack that's manageable or they man the fuck up and pay a sys admin (This idea got them really amped up until they checked how much decent sys admins cost).
Now I have very flexible pockets because even if I go rambo the max server costs would only be 15-20% of a sys admins paycheck even though that is 13 x more than our current costs. -
Internships are fucking bullshit and if more senior developers were to take the role of an actual mentor to coach juniors properly then the state of software engineering would be better.
Some people can be let down easy in terms of "this is not for you bruh", others can be built. I know that social interactions are not common for a lot of the morons in here, but being polite and kind is relatively simple if you know what you are doing. Being a dickhead != "royal levels of expertise" and if we were to coach more people into proper development practices then software would not be in such a shitty state.
For an environment that thrives in cooperation I find it hard to believe that we are still subjecting new people to the field to what can be considered slavery with little to actual no monetary compensation.
I removed many of the requirements for the application to a software developer job where I am at (I am the boss, I get to do shit like that) and my fight with HR was "I would rather someone fresh from college that I can coach properly than some dickhead with years on the field that won't listen to anything else than their own words"
Sure it would be slow, sure it would be hard, nothing ever is that simple, but my idea is "train this mkfer, level the fuck out of him, let him be off to great shit rather than giving him to some dickhead that will treat him like shit on account of being a newbie"
And yes, I do know how and what can go bad, I am going to have someone desinging shit in basic html/js/css with some php here and there not giving them the keys to every server I control. Thank you for your fucking concerns, I know what I am doing.
the experiment fails? GOOD more data for me.
Plus, you learn more when you teach others.16 -
Rant!
Been working on 'MVP' features of a new product for the past 14 months. Customer has no f**king clue on how to design for performance. An uncomfortable amount of faith was placed on the ORM (ORMs are not bad as long as you know what you are doing) and the magic that the current framework provides. (Again, magic is good so long as you understand what happens behind the smoke and mirrors - but f**k all that... coz hey, productivity, right?). Customer was so focussed on features that no one ever thought of giving any attention to subtler things like 'hey, my transaction is doing a gazillion joins across trizillion tables while making a million calls to the db - maybe I should put more f**king thought into my design.' We foresaw performance and concurrency issues and raised them way ahead of the release. How did the customer respond? By hiring a performance tester. Fair enough - but what did that translate into? Nothing. Nada. Zilch. Hiring a perf tester doesn't automagically fix issues. The perf tester did not have a stable environment, a stable build or anything that is required to do a test with meaningful results. As the release date approached, the customer launched a pilot and things started failing spectacularly with the system not able to support more than 15 concurrent users. WTF! (My 'I told you so' moment) Emails started flying in all directions and the hunt for the scapegoat was on (I'm a sucker for CYA so I was covered). People started pointing in all directions but no one bothered to take a step back and understand what was causing the issues. Numero uno reason for transaction failure was deadlocks. We were using a proprietary DB with kickass tooling. No one bothered to use the tooling to understand what was the resource in contention let alone how to fix the contention. Absolute panic - its like they just froze. Debugging shit and doing the same thing again and again just so that management knew they were upto something. Most of the indexes had a fragmentation of 99.8% - I shit you not. Anywho, we now have a 'war room' where the perf tester needs to script the entire project by tonight and come up with some numbers that will amount to nothing while we stay up and keep profiling the shit out of the application under load.
Lessons learnt - When you foresee a problem make a LOT of noise to get people to act upon it and not wait till it comes back and bites you in the ass. Better yet, try not to get into a team where people can't understand the implications of shitty design choices. War room my ass!3 -
I’ve been trying to use Debian without a graphical UI, at least for the most part. I use X window to run firefox since I feel that is the best way to browse. But simply using the terminal for almost everything feels so refreshing somehow.
I start to find these gems such as a music player for the terminal that works really well, my HOME area feels so clutter free and I feel like I finally can finely control and tune my system to a much larger extent. I’m coming from an extensively cluttered windows system so just seeing a few things makes me feel like I can finally focus.
For me it feels like I’ll have an easier time managing my projects by setting up github in a good way in HOME. I’ve been putting more time into my vimrc to make it better for my different workflows and general productivity (and for the sake of minimalism trying to keep it mostly to hand written stuff). I’ve also been looking into Lutris to be able to fire up games or use wine for other necessary tools that I might need during cowork with others.
Generally I believe that if this test works out I’ll truly consider to make this my main OS. The clutterlessness keeps me much more distraction free. The terminal environment make me read about and learn of new ways to do things. And most of the tools I use can either be used from command line, multiple ones with a multiplexer and in the case I truly need to use GUI or want to play a game I can just fire it up on demand.
*happy*
Do you guys have any distraction free OS or setups that you want to share? Anyone with a similar experience of revelation?9 -
SQL Rule 1. Always assume there are external processes that might affect your data. (for instance, triggers).
SQL Rule 2. In Denormalised data, never execute logic on dependant table values, always copy from the parent.
SQL Rule 3. When Denormalised data schemas are created the DBA knows what they are doing.
SQL Rule 3.1. If DBA knows what they is doing then according to Rule 1 there is no problem with adding in some triggers to maintain data clones as they are created.
SQL Rule 4. If you don't like or agree with triggers, deal with it. They are a first class tool in a first class RDBMS. In a multi-app or service environment there may be many other external processes massaging your data
SQL Rule 5. If all previous rules are not broken and the system has been running efficiently for many years DO NOT complain that there are triggers in the database that are doing and have been doing the same process that you just butchered (by violating Rule 1 and 2) in your makeshift "hello world, look what I can do from my phone" angular BS when the rest of the users are still relying on the existing runtime app.
SQL Rule 6. If you turn my triggers off, you sure as hell better turn them back on!1 -
Hey, I´m through with the Win10 update.
That was fast. And no problems! Everything seems to be working.
Wait...
Android SDK not found...
Java not found ...
Seems all my environment variables are gone.
Even better all the standard variables are wrong too.
My Home Drive is now "H:" ?
What the hell?8 -
So I joined this financial institution back in Nov. Selling themselves as looking for a developer to code micro-services for a Spring based project and deploying on Cloud. I packed my stuff, drove and moved to the big city 3500 km away. New start in life I thought!
Turns out that micro-services code is an old outdated 20 year old JBoss code, that was ported over to Spring 10 years ago, then let to rot and fester into a giant undocumented Spaghetti code. Microservices? Forget about that. And whats worse? This code is responsible for processing thousands of transactions every month and is currently deployed in PROD. Now its your responsibility and now you have to get new features complied on the damn thing. Whats even worse? They made 4 replicas of that project with different functionalities and now you're responsible for all. Ma'am, this project needs serious refactoring, if not a total redesign/build. Nope! Not doing this! Now go work at it.
It took me 2-3 months just to wrap my mind around this thing and implement some form of working unit tests. I have to work on all that code base by myself and deliver all by myself! naturally, I was delayed in my delivery but I finally managed to deliver.
Time for relief I thought! I wont be looking at this for a while. So they assign me the next project: Automate environment sync between PROD and QA server that is manually done so far. Easy beans right? And surely enough, the automation process is simple and straightforward...except it isnt! Why? Because I am not allowed access to the user Ids and 3rd party software used in the sync process. Database and Data WareHouse data manipulation part is same story too. I ask for access and I get denied over and over again. I try to think of workarounds and I managed to do two using jenkins pipeline and local scripts. But those processes that need 3rd party software access? I cannot do anything! How am I supposed to automate job schedule import on autosys when I DONT HAVE ACCESS!! But noo! I must think of plan B! There is no plan B! Rather than thinking of workarounds, how about getting your access privileges right and get it right the first time!!
They pay relatively well but damn, you will lose your sanity as a programmer.
God, oh god, please bless me with a better job soon so I can escape this programming hell hole.
I will never work in finance again. I don't recommend it, unless you're on the tail end of your career and you want something stable & don't give a damn about proper software engineering principles anymore.3 -
DevRant should have a separate sections where ppl can ask questions and learn from each other... Kinda like stackoverflow but I think this environment would be way better11
-
Running a fucking conda environment on windows (an update environment from the previous one that I normally use) gets to be a fucking pain in the fucking ass for no fucking reason.
First: Generate a new conda environment, for FUCKING SHITS AND GIGGLES, DO NOT SPECIFY THE PYTHON VERSION, just to see compatibility, this was an experiment, expected to fail.
Install tensorflow on said environment: It does not fucking work, not detecting cuda, the only requirement? To have the cuda dependencies installed, modified, and inside of the system path, check done, it works on 4 other fucking environments, so why not this one.
Still doesn't work, google around and found some thread on github (the errors) that has a way to fix it, do it that way, fucking magic, shit is fixed.
Very well, tensorflow is installed and detecting cuda, no biggie. HAD TO SWITCH TO PYHTHON 3,8 BECAUSE 3.9 WAS GIVING ISSUES FOR SOME UNKNOWN FUCKING REASON
Ok no problem, done.
Install jupyter lab, for which the first in all other 4 environments it works. Guess what a fuckload of errors upon executing the import of tensorflow. They go on a loop that does not fucking end.
The error: imPoRT eRrOr thE Dll waS noT loAdeD
Ok, fucking which one? who fucking knows.
I FUCKING HATE that the main language for this fucking bullshit is python. I guess the benefits of the repl, I do, but the python repl is fucking HORSESHIT compared to the one you get on: Lisp, Ruby and fucking even NODE in which error messages are still more fucking intelligent than those of fucking bullshit ass Python.
Personally? I am betting on Julia devising a smarter environment, it is a better language already, on a second note: If you are worried about A.I taking your job, don't, it requires a team of fucktards working around common basic system administration tasks to get this bullshit running in the first place.
My dream? Julia or Scala (fuck you) for a primary language in machine learning and AI, in which entire environments, with aaaaaaaaaall of the required dlls and dependencies can be downloaded and installed upon can just fucking run. A single directory structure in which shit just fucking works (reason why I like live environments like Smalltalk, but fuck you on that too) and just run your projects from there, without setting a bunch of bullshit from environment variables, cuda dlls installation phases and what not. Something that JUST FUCKING WORKS.
I.....fucking.....HATE the level of system administration required to run fucking anything nowadays, the reason why we had to create shit like devops jobs, for the sad fuckers that have to figure out environment configurations on a box just to run software.
Fuck me man development turned to shit, this is why go mod, node npm, php composer strict folder structure pipelines were created. Bitch all you want about npm, but if I can create a node_modules setting with all of the required dlls to run a project, even if this bitch weights 2.5GB for a project structure you bet your fucking ass that I would.
"YOU JUST DON'T KNOW WHAT YOU ARE DOING" YES I FUCKING DO and I will get this bullshit fixed, I will get it running just like I did the other 4 environments that I fucking use, for different versions of cuda and python and the dependency circle jerk BULLSHIT that I have to manage. But this "follow the guide and it will work, except when it does not and you are looking into obscure github errors" bullshit just takes away from valuable project time when you have a small dedicated group of developers and no sys admin or devops mastermind to resort to.
I have successfully deployed:
Java
Golang
Clojure
Python
Node
PHP
VB/C# .NET
C++
Rails
Django
Projects, and every single fucking time (save for .net, that shit just fucking works on a dedicated windows IIS server) the shit will not work with x..nT reasons. It fucking obliterates me how fucking annoying this bullshit is. And the reason why the ENTIRE FUCKING FIELD of computer science and software engineering is so fucking flawed.
But we can't all just run to simple windows bs in which we have documentation for everything. We have to spend countless hours on fucking Linux figuring shit out (fuck you also, I have been using Linux since I was 18, I am 30 now) for which graphical drivers for machine learning, cuda and whatTheFuckNot require all sorts of sys admin gymnasts to be used.
Y'all fucked up a long time ago. Smalltalk provided an all in one, easily rollable back to previous images, easily administered interfaces for this fileFuckery bullshit, and even though the JVM and the .NET environments did their best to hold shit down, and even though we had npm packages pulling the universe inside, or gomod compiling shit into one place NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO we had to do whatever the fuck we wanted to feel l337 and wanted.
Fuck all of you, fuck this field, fuck setting boxes for ML/AI and fuck every single OS in existence2 -
Overwhelmed by a shitty codebase? Use the boy scout rule and leave the code you're editing a little better than you found it.
Worked wonders for me when I realized I could spend literal months refactoring and desperately needed a systematic approach.
Little by little that rotting house of cards will turn into something okay. It's a nice feeling looking back after a couple of months and see what you've done to make things better.
Also, make sure to remember the cost of wrestling with hurried legacy solutions in your estimates as well. Just adjust the level of bluntness depending on your work environment: admitting that things can/need to be improved can be unpleasant for some to hear even though it's true.5 -
This is getting annoying.
For the past >half a year I've been chasing windmills. This is what my BAU day looks like:
- We login to client's network
- We start running some Sanity tests before the actual runs (actual runs are hell of an expensive (financially and time-wise) thing to launch) to make sure environment is OK.
- Sanity tests fail. wtf? Nothing's been changed since y-day!
- Spend ~3-4 hours digging logs, code, more logs,... Apparently some genius decided to change a single parameter.
- Spend another 1-2 hours trying to work around that parameter (since apparently that genius did have a task to do that, so we'll most likely have to find a way to live with it)
- Restart the whole env (~30min).
- Launch a Smoke, Sanity tests to verify env state.
- Launch the actual test
- Go home.
Next day:
- We login to client's network
- We start running some Sanity tests before the actual runs to make sure environment is OK.
- Sanity tests pass.
- Run the actual test
- Concurrency on RDS database is sky-rocketing! WTF did that come from??? Nothing's been changed since y-day!!
- Spend ~1-2 hours looking for anything changed, dig some logs for anything unusual. Nothing.
- Escalate to DBA. 2 hours later DBA says "fix the app". thanks for nothing mate....
- Spend remaining 2 hours analysing AWR. Give up, restart the whole RDS instance. Another hour wasted.
- Time to go home. Out of curiosity run Sanity test -- all good. Run the actual test -- all good. wtf??
- Go home
Next day
- We login to client's network
- We start running some Sanity tests before the actual runs to make sure environment is OK.
- Sanity tests fail. wtf? Nothing's been changed since y-day!
- Spend ~3-4 hours digging logs, code, more logs,... Apparently some genius decided to change a single parameter.
- Spend another 1-2 hours trying to work around that parameter
- ..... I think you know where this is going.
And this keeps going on and on, day by day. Spending the better half of the day chasing windmills and doing our actual work on the last hour of the working day or even after that.
We have plenty of interesting tasks in our Jira but we're squirels spinning in the wheel and never being able to touch them.
It feels like I'm wasting my time. I could do so much more with my time!
[just needed to vent ] -
I've been a bit "removed" from .NET lately and I've been slowly forgetting about it. It's like I grieved a loss, and now I was moving on, for lack of a better analogy. I was just beginning to get used to my new environment of Node JS and PHP. And, recently, I was put on track to complete a full project using Node JS.
And then suddenly a new company reached out to me, interested in my skills, and asked for me to build a simple .NET web app to showcase my abilities.
I got started, and holy crap I forgot how nice it was to be coding in this environment. Everything I had forgotten about switched on for me, like riding a bike. I was done with the app in a matter of hours. It was probably the most productive I've been with a coding assignment in forever. I was beaming with pride at the fact that I could code so fluently despite some time away. Everything here just made sense to me.
After I submitted it to the company for review I sat back and thought, damn, do I have to go back to Node/Express JS? I barely have any experience with it 😂. The only reason I know anything is because I watched a 20 minute quick tutorial on how to build an API. That's it.
I really want my current company to give me projects that are in my preferred language and they aren't and that's killing me right now. I can learn, that's not a problem, but my effectiveness as an employee is completely shot by not allowing me to build in code that I know and understand. I was fuckin hired for my specific coding experience, why not take advantage of what I know?
I should say something to my manager but I know they will just tell me no because they want it to be built in Javascript as it's the preferred language of the Gods.
Joking aside, I don't think they will go for it because it is another language that they would have to manage and maintain if I ever leave.
Oh well 🤷8 -
How do you guys/girls explain to potential new customers that you can perfectly work in a structured business environment and follow the rules, but also that you're assertive enough to oppose desicions being made based on bias, misunderstanding, fanboyism, or grave stupidity.
I just got informed from a freelance position that they would have hired me if it were not for my 'rebellious nature towards customers'
I don't oppose customers, i oppose stupidity unfounded.
Example from experience
> me working in a helodesk support position, all windows computer.
> new mgr comes into office, is a douche and complete mac fanboy
> wants all computers that are FINALLY working decent for some time in the entire department replaced with mac's... Back at 2010.
> whole team, even disliking microsoft themselves, are telling mgr that's a bad, dangerously dumb idea, expensive too, different OS, different software mgmt making, back then integration microsoft and apple was beyond diarhea... Several other issues the senior devs and admins pointed out
>mgr: 'but aple is soh much better, like a billion times better, hurrduurrrrr'
His decision passed somehow to the board..
> All stations from our customers get changed...we don't get a single machine to try out problems because overspending
> we are most of the time unable to help out customers because we still have pc's...
> mgr asks team why performance drops after 1 month
> we compared performance graph with his starting date of mgr, see clear drop after mgr's plan implemented...
> board stilll stands by mgr, gets praise for 'bold changes in the company', but appears to be some associate's son
> two main seniors leave after 15 years of employment, in three months, 80% of staff leaves.
> we canr fix the problems, we are not dev's , we get shit from all sides, i was still a junior in the industry so i worked as a slave inside that job.
> eventually get fired due to 'bad performance'
> mgr loses entire team... 'Hey why don't we outsource this dept to south africa, it's a lot cheaper! '
now that company is an it hellhouse where everyone get clinically depressed from sitting atbtheir station...
This is what i wish to oppose!
How to make that clear!4 -
took me about 6+ months to accept that relational database is better than blockchain. But since i am doing project involving -smartcontract- now, theres nothing i can do but to tell some people that blockchain is a good thing. please forgive me for spreading this technology... after i finish this project, i promise to never step on blockchain environment again4
-
So.....Google Flutter is finally out of beta and ready to go.
Why? Well you see, Google realized that Android development was a complete fucking mess (50+ lines of code to get a permission? Yeah eatadick) and that Fb had it right with React Native which held a better model for building interfaces and manipulating said data. Dart as a language is very nice and for those comming from C#, Java and Js should not pose that much of a hassle.
I love Java, I really do, but Google took care of making Android Java development as tedious as fucking possible with the quirky Android API. Hopefully Flutter will make it better and hopefully Fushia will become a better OS.
Remember, language extensions or frameworks happen for 2 different reasons:
1 the community loves the environment and language enough that they make more cool stuff for it (Js, Ruby, Python etc, this phenomena happens in said ecosystems)
2 the environment is so severly flawed that people add libs to fix it (or extensions to the language if we ate talking about a language)
E.g Android Butterknife, okhttp etc.
I welcome our Dart overlords.10 -
!rant
Medium long story about POP!_OS
TL;DR : A true K.I.S.S. OS. Very well designed UI. In general suitable for everyone. Any distro-hoppers MUST try out. If your current OS is already heavily customized to your needs, DON'T bother with POP. (Read till the end if you are on toilet, nothing to lose)
Backstory : I am never a fanboy of anything although I am loyal to the tools I use daily. So OS is also something I picked and use to meet my needs except when I was a student. My first linux experience was about a decade ago with ubuntu. Have tried almost all kinds of light-weight and minimal distros after that (lubuntu, arch, mint, puppylinux, fedora, centos and others I forgot) during my student years.
I like all things minimal. ("Keep It Simple Stupid" is my email signature.) When I started working, Windows became the sole OS I use since it met my needs better than others. Except that one time when I tried Elementary. Although I found it a good OS, it didn't get installed as a dual-boot. I don't find Elementary minimal. It is one of well designed OSs but I still think it can be improved. (Plus I had this weird feeling that it is similar to Mac OS)
At the start of this year, Widows alone was not enough for my needs. Decided to look for a minimal linux distro. My old i7 ASUS has 8GB RAM and roughly 250GB free storage. So I am not that worried about hardware requirements. My main struggle is downloading stuffs. (Few of you guys must know by now the speed of my internet LOL.) Well, even if I had a good speed, I will still look for minimal distro as first priority. So I went with minimal ubuntu image and xubuntu environment. Although I do not like the UI design, it is acceptable. Through out the years, I have configured it to suit my needs and currently pretty happy with it.
Thoughts on POP!_OS : To me, it is literally like meeting a young girl who is perfect for my life. She has the perfect body, beautiful face, amazing appearance and good manners. And she is young, of course there is a lack of experience issue. But it can be taught and she has a very high chance to become a wonderful lady if she continues like this. Only crap is I already have someone and in a committed relationship. So I could not go any further than introduction. I do save her contact and will keep in touch with her online. You know? Things change. Things always change somehow.2 -
Seriously, why are so many companies caught up with if there developers working from home or not? Maybe it's where I'm at, but my last boss said ...
" I know you don't have any problem making deadlines and your a good worker, but you still need to come to the office in order to have face to face interaction."
Me: "This is the first face to face conversation I've had with someone in over a week."
Boss: (shrugs)"our goal is to build an office friendly environment where people will enjoy coming into the office"
Me: in my head "your an idiot"... Out loud "Ok"
...
In reality my custom built machine is better than yours, and I'm more productive in my Sealy Posturpedic chair and pajamas than your wack office chair with you popping your head out of your office every couple hours to "manage" me when you haven't written code in years and i have to teach you things that you bring to your boss to make yourself look smart.15 -
So fed up of existing.
I am not saying that I am suicidal, but if a truck was accelerating towards me, I would not bother to move.
Even though I consider myself decently successful in life in terms of career, friendship, and to some extent, family. I strongly feel that I am in a very wrong environment.
I have zero trust, safety, love, and nurturing care from my parents and others around me.
I lack physical privacy, psychological safety, and emotional void.
My hypothesis is that if I was in a better environment with slightly lesser responsibilities and needs better met, I could have achieved wonders. With that, who wouldn't?
Why do we exist? Just to suffer?25 -
I thought of posting this as a comment to @12bit float' post, but then decided it better goes out as a post by itself.
https://devrant.com/rants/5291843/...
My second employer, where I am on my last week of notice currently, is building a no code/low code tool.
Since this was my first job switch, I was in a dreamy phase and was super excited about this whole space. I indeed got to learn like crazy.
Upon joining, I realised that an ideal user persona for this product was a developer. Wow! No code tool for developer. sO cOoL...
We started building it and as obvious as it could get, the initial goal was adoption because we were still at top of the funnel.
We launched an alpha release shortly followed by a beta.
Nobody used it. Tech XLT/LT kept pushing product and design team to run a feature factory so that their teams can use this tool.
The culture set by those two leaders was toxic as fuck.
Now, I decided to do some research and some more product discovery to understand why folks were not using it. Mind you, we were not allowed to do any research and were forced to build based on opinions of those two monkeys.
Turns out that the devs were really happy with their existing tools and our tool was another tool being forcefully added into their toolbox by the said XLT/LT.
Not only that, even if they decide to use our tool, out of pressure, they still cannot because the product was missing key capabilities like audit control and promotion from one environment to another.
Building those would essentially mean reinventing Github aka version control and Spinnaker aka CI/CD pipeline.
My new boss (I got 3 managers in 4 months because of high attrition across levels due to the toxic culture), thinks that tech XLT/LT are doing great and we all suck as a product and design team.
He started driving things his own way without even understanding or settling down for first 90 days.
Lol, I put in my resignation got out of that mess.
So agreeing to what our boy said here, no code tools are a complete waste, especially for a developer, and even as a non tech person, I prefer keyboard over mouse.2 -
There are a couple of them to list! But to sum my main ones(biggest personal heroes):
John McCarthy, one of the founding fathers of Artificial Intelligence and accredited with coining such term(sometimes before 1960 if memory serves right), a mathematical prodigy, the man based the original model of the Lisp programming language in lambda calculus. Many modern concepts that we have in programming where implemented in one way or another from his systems back in the day, and as a data analyst and ML nut.....well I am a big fan.
Herb Sutter: C++ programmer extraordinaire. I appreciate him more for his lectures and published articles than anything else. Incredibly smart and down to earth and manages to make C++ less intimidating while still approaching it with respect.
Rich Hickey: The mastermind behind Clojure, the Lisp dialect for the JVM. Rich is really talented and his lectures behind his motivations and reasons behind everything he does with Clojure are fascinating to see.
Ryan Dahl: Awww shit y'all know how it is. The man changed web development both in the backend and the frontend for good. The concept of people writing their own servers to run their pages was not new, but the Node JS runtime environment made it more widely available to people by means of a simple to use language that was already popular with web developers. I would venture to say that Ryan's amazing contributions to JS made the language better, as it stands, the language continues to evolve and new features that make it overall better keep being added. He is currently building Deno, which would be a runtime environment for TypeScript, in Rust.
Anders Hejlsberg: This dude was everywhere man....the original author of Turbo Pascal and the lead of Delphi back in the day. These RAD tools paved the way for what would be a revolution in the computing world. The dude is also the lead architect and designer of the C# programming language as well as TypeScript.
This fucker is everywhere and I love it.
Yukihiro "Matz" Matsumoto: Matsumoto san is the creator of the Ruby programming language. Not only am I a die hard fan of Ruby, but of the core philosophies that the man keeps as the core of his language design: Make the developer happy, principle of least surprise. Also I follow: minswan which is a term made by the Ruby community that states Mats is nice so we are nice. <---- because being cool to others is better than being a passive aggressive cunt.
Steve Wozniak: I feel as if the man does not get enough recognition...the man designed the Apple || computer which (regardless of how much most of y'all bitch and whine) paved the way for modern micro computers. Dude is also accredited with designing one of the first programmable universal remotes(which momma said was shitty) but he did none the less.
Alan Kay: Developed Smalltalk and the original OOP way of doing things. Smalltalk as a concept is really fucking interesting. If you guys ever get the chance, play with Pharo, which is a modern Smalltalk. The thing is really interesting and the overall idea of Smalltalk can be grasped in very little time. It sucks because the software scales beautifully in terms of project building, the idea of hoisting a program as its own runtime environment and ide by preserving state through images is just mind blowing to me. Makes file based programs feel....well....quaint.
Those are some of the biggest dudes for me. I know that the list is large, but I wanted to give credit to the people that inspired me the most. Honorary mention goes to other language creators and engineers of course, but it would be way too large to list!9 -
Next week I'm starting a new job and I kinda wanted to give you guys an insight into my dev career over the last four years. Hopefully it can give some people some insight into how a career can grow unexpectedly.
While I was finishing up my studies (AI) I decided to talk to one of these recruiters and see what kind of jobs I could get as soon as I would be done. The recruiter immediately found this job with a Java consultancy company that also had a training aspect on the side (four hours of training a week).
In this job I learned a lot about many things. I learned about Spring framework, clean code, cloud deployment, build pipelines, Microservices, message brokers and lots more.
As this was a consultancy company, I was placed at different companies. During my time here I worked on two different projects.
The first was a Microservices project about road traffic data. The company was a mess, and I learned a lot about company politics. I think I never saw anything I built really released in my 16 months there.
I also had to drive 200km every day for this job, which just killed me. And after far too long I was finally moved to the second company, which was much closer.
The second company was a fintech startup funded by a bank. Everything was so much better than the traffic company. There was a very structured release schedule, with a pretty okay scrum implementation. Every team had their own development environment on aws which worked amazingly. I had a lot of fun at this job, with many cool colleagues. And all the smart people around me taught me even more about everything related to working in software engineering.
I quit my job at the consultancy company, and with that at the fintech place, because I got an opportunity I couldn't refuse. My brother was working for Jordan Belfort, the Wolf of Wallstreet, and he said they needed a developer to build a learning platform. So I packed my bags and flew to LA.
The office was just a villa on the beach, next to Jordan's house. The company was quite small and there were actually no real developers. There was a guy who claimed to be the cto of the company, but he actually only knew how to do WordPress and no one had named him cto, which was very interesting.
So I sat down with Jordan and we talked about the platform he wanted to build. I explained how the things he wanted would eventually not be able with WordPress and we needed to really start building software and become a software development company. He agreed and I was set to designing a first iteration of the platform.
Before I knew it I was building the platform part by part, adding features everywhere, setting up analytics, setting up payment flows, monitoring, connecting to Salesforce, setting up build pipelines and setting up the whole aws environment. I had to do everything from frontend to the backest of backends. Luckily I could grow my team a tiny bit after a while, until we were with four. But the other three were still very junior, so I also got the task of training them next to developing.
Still I learned a lot and there's so much more to tell about my time at this company, but let's move forward a bit.
Eventually I had to go back to the Netherlands because of reasons. I still worked a bit for them from over here, but the fun of it was gone without my colleagues around me, so I quit last September.
I noticed I was all burned out, had worked far too much, so I decided to take a few months off and figure out what I wanted to do with my life. I even wondered whether I wanted to stay in programming.
Fast forward to last few weeks. I figured out I actually did want to work in software still, but now I would focus on getting the right working circumstances. No more driving 3 hours every day, no more working 12 hours every day. Just work close to home and find a company with the right values.
So I started sending out resumes and I gave one recruiter the chance to arrange some interviews too. I spoke to 7 companies in the span of one week. And they were all very interested. Eventually I narrowed it down to 2 companies and asked them for offers. And the company that actually had my preference offered me significantly more than I asked for, which settled the deal.
So tomorrow I'm officially signing with them, and starting next week I'll be developing in Kotlin, diving into functional programming and running our code in serverless environments. I'm very excited! -
My internship is about to end in two months. I was under the impression that I'll start looking for a job towards mid August and then decide what to do. I didn't expect my company to offer me a position so early before my internship ended.
Initially I had liked the place. The work was pretty relaxed and I had quite a bit of freedom. Soon enough, I proved my worth and my team started respecting my opinions and suggestions. They even consulted me on multiple occasions.
The first thing I noticed on the downside was the company, despite being resourceful enough and having a decent turnover and important clients, was quite stingy in terms of employee welfare. There was no coffee. There was machine but you had to buy the capsule for yourself. And that sucks. I know I don't need to say more but the other problems were there was no enterprise subscription (or any subscription) to PhpStorm even though our team handled so many PHP projects. I know IDEs are personal preferences but not having any professional IDEs is not something to let slide. The lead dev uses NetBeans (and not because he loved it or anything). Even though I worked on WebDev and front end, I had no option to ask for a second screen. I had one display apart from my laptop. Usually most companies in Paris provides food tickets for internships and this company did not even give me that. And worst of all, there wasn't really anyone I looked up to. As much as I enjoy responsibilities and all, I don't think I should be in an environment where I have nothing much to learn from my seniors. For some fucked sense of security and certainty, I was willing to overlook all this when they offered me a position. But I recently had my interview and the regional manager, a fuck face who still makes me wonder how he reached his position, made a proposal for some quite a small amount of salary. What infuriated more than his justifications was his attitude itself. There was absolutely no respect whatsoever. It was more like "We'll give you this, I think this is more than enough for you. Take it or do whatever you want". I asked for more and he didn't even bother negotiating. I declined the offer.
Now this would have solved all the issues. But my manager and my lead dev like me a lot. Both of them are pretty nice people. They both were bothered with the fact that I had turned down the offer. My manager even agreed that the offer was too low and had already given me tips to help me negotiate. But after I turned down the offer, she went and discussed the issue with the regional manager and he offered me a new proposal. This time it was decent but still under my expectations. I'm pretty sure I can do better elsewhere. I said I need time to think about it. I get multiple advises from people to take it atleast so that I get my visa converted to a work permit. For some reason, I want to take the risk and say no. And find something else. But today my lead dev called me aside and asked me if was going to say no. He really tried to influence me by telling me a lot of good things about me and telling me about the number of different projects we're going to start next month and all that. Even though I'm fully convinced that I don't want to work here, just the sheer act of saying no to these two people I respect is sooo fucking difficult for me that I can already imagine me working here for the next one year. The worst part is I can clearly classify their words and sentences into stuff they say to canvass me, stuff they're bullshitting about and flattery just to make me stay. Despite knowing I'm being taken advantage of, some fucked up module in my head wouldn't stop guilt tripping me. I don't know what to do. If I only I could find a really better job.
Pardon the grammatical errors if any. I'm just venting out and my thoughts branch in 500 different ways simultaneously.5 -
"Why don't you look for a new job?"
I have a monthly coffee meetup with an ex colleague, where we rant about each others frustrations at work. Since she used to be part of my team she knows everybody and can relate to my stories and updates. In short: she was the kick in the boot I needed to start looking, and after the summer break I'll start a new job making 45% more.2 -
Random thought of the day. I'm sure I've been told the "common wisdom" is that you can take a job with a lower salary and enjoy a better work-life balance, or go gung-ho for the inner city jobs and earn way more but sacrifice your quality of life.
Anyone else found the complete opposite? The higher the salary I've had over my career, generally the *better* the working environment and the more the employer seems to care for, and value its employees. Not universally true I'm sure, and perhaps I'm just lucky about where I pick, but I've certainly had way more "high stress" situations in some of my lower paid, rather than higher paid roles.9 -
I am not a shy person, but I still like to keep to myself, I am just not that into socialization.
Everywhere I've worked I've only made friends with those that sat very close to me, like in the neighboring cubicles or whatever, even if I didn't have any project in common with them, but my relationship with those that were working on the same project as me was strictly professional.
Recently, my employer installed a rec-room with table tennis, foosball and pool table etc. And ever since then the whole office's morale has sky rocketed, especially mine. Now, I almost always spend at least 2-3 hours down there daily playing those games and I have gotten to know and have made friends with a lot of my co-workers, something that I wouldn't have done ordinarily ever.
Now my point here is that, I've always found socialization to be a bit out of my comfort zone, I always thought it to be a bit bothersome, but it would seem that all I really needed was the right environment, it is very hard to get to know others around you in a strictly professional environment, so having dedicated places in your office for things like group activities that can help relieve stress and allow people to get to know each other better outside the work environment can be extremely helpful.1 -
Who thought Lua was a good idea for extending gameplay functionality??
It's weakly typed, has no OOP functionality and no namespace rules. It has no interesting data structures and tables are a goddamn mystery. Somebody made the simplest language they could and now everybody who touches it is given the broadest possible tools to shoot themselves in the foot.
Lua's ease of embedding into C++ code is a fool's paradise. Warcraft 3's JASS scripting language had way more structure and produced much better games, whilst being much simpler to work with than Lua.
All the academics describing metatables as 'powerful extensionality' and a fill-in for OOP are digging the hole deeper. Using tables to implement classes doesn't work easily outside school. Hiding a self:reference to a function inside of syntactic sugar is just insanity.
Nobody expects to write a triple-A game in lua, but they are happy to fob it off to kids learning to program. WoW made the right choice limiting it to UI extensions.
Fighting the language so you can try and understand a poorly documented game engine and implement gameplay features as the dev's intend for 'modders', is just beyond the pale. It's very difficult to figure out what the standard for extending functionality is, when everybody is making it up as they go along and you don't have a strongly-typed and structured language to make it obvious what the devs intended.
If you want to give your players a coding sandbox, make the scripting language yourself like JASS. It will be way better fit for purpose, way easier to limit for security and to guarantee reasonable performance. Your players get a sane environment to work in and you just might get the next DOTA.
Repeatedly shooting yourself in the foot on invisible syntax errors and an incredibly broad language is wasted suffering for kids that could be learning the programming concepts that cross all languages way quicker and with way more satisfying results.
Lua is hot garbage for it's most popular application, I really don't get it. Just stop!24 -
I just felt like Google is the best player out there in terms of Companies.
Seriously, Well played Google.
This is not a negative opinion, I am just awe-struck at its tactics.
See, Google is currently the biggest name in terms of development in Android, ML and multi-platform software but no one can say it being a monopoly due to its dedication to open source community.
Recently Android emerged out to be One of the Biggest , most advanced, trusted and loved Technology . It saw great achievements, and up till 2016-17, it was at its peek. BUT when the market started shifting towards multi-platform boons and Ai, it got its hands into that too with its flutter and kotlin environment
One could have a negative opinion about this, But i can't seem to engulf the vast amounts of positive situations i see in this:
1) this IO18 (and many months before that) saw ML/AI being incorporated in Android (also the arcore, proje tango and many more attempts in the past) meaning that Android will not officially "die". It will just become an extremely encouraged platform( not just limited to mobiles) and a beginning of the robot -human reality ( a mobile is handling everything of your everyday life: chats, music apps sxhedules, alarms, and with an actively interacting ML, it won't be long when Android comes installed in a green bug lime droid robot serving you tea xD). Meanwhile the market of Windows games may shift to mobiles or typically " Android games" (remember, Android won't be limited to mobiles)
2)java may or may not die. The animations and smooth flow it seems to provide is always appreciated but kotlin seems to do so too. As for the hard-core apps, they are usually written in c++ .So java is in the red zone
3) kotlin-native and Flutter will be the weapons of future , for sure. they will be developing multi-platform softwares and will be dividing the market of softwares into platform specific softwares(having better ml/ai interactions,animations) and platform independent apps(access and use anywhere softwares).
And where does google stand?Its the lord varys of game of thrones which just supports and enhances the people in the realm. So it benefits the most . That's a company for you, ladies and gentlemen! If seen from common eyes they seem to be the best company ever and our 1 true king but it can also be a very thick fur cloak hiding their negetive policies and tactics , if any.
Well played, Google.16 -
A government website that I wanted to try and scrape data from to make a better app, I've actually found to be the pinnacle of a demonstration of what NOT to do...
Containing a JavaScript file that not only had got code copied 3 times (changed the tiniest bit on each) for what environment it's on, but has ALSO got the API keys for all 3 environments, AND the APIs they've made it call from there pass FULL SQL right in the query string...
What. The. Actual. Fuck?!5 -
#justdevthings
That moment when you're so engrossed in your project that you lose track of time. You begin to SEE code irl, not just on screens. Things like hunger, environment and a sense of time fade away. That feeling when the code just works, but better when it doesn't and you figure out a smart fix. Oh gosh ill pay to feel like that all day.
I wrote a shitty layout for an android side project. It haunted me. I could still SEE the shitty xml long after the pc was shut down. I had a nightmare about it and woke up sweating, and all I could see was xml. Fkin xml man. I redid the layout at 3am and boy was i so satisfied.
I think that was just the tetrix effect taking its toll on me.
I always got screwed by parents for being on that machine all day, back in school. But none of that matters now. I can now feel the code running in my veins and flowing into the machine. I can now feel my heart throbbing at the sight of such beauty. They ask how i manage my social life. I say everything goes well until i start a side project, that's when social life gets fucked hard. I think I'm gonna die one day after performing the final commit.5 -
I may not be a dev... (learning in my off time though, best thing ever) but I have been responsible for the computer system validation, requirements definitions and planning of a new piece of software that will have a major increase in effeciency for a division consisiting of over half our companies employees.
For months it has been a painful process. I have had night terrors, immense pressure on my head all the while thinking we are getting to that final goal (live deployment), and the light at the end of the tunnel has just seemed to be getting further and further away... Like a donkey chasing a carrot on a stick.
After all the grey hairs, stress and drinking I am finally going to deploy this thing to the live environment tomorrow. Funny thing is its the part of this process that managers are stressing about and I am here like... Oh wow my Friday just got a whole lot better1 -
I don't know but maybe this could help somebody here too, so I'm gonna share this.
I've discovered this Android app called Island, which essentially sandboxes apps by cloning them in its internal environment.
I've sandboxed that Facebook cancer app in order to keep it fucking frozen when I do not use it (I know, web version is good, but I find the app smoother).
It seems to work like a charm (better than greenify-alone ibernation, actually), but I'm still testing it.
Cheers!7 -
The more I use LinkedIn the more I hate it. I know I shouldn't be a nosy fuck but sometimes I've got nothing better to do for a couple of minutes on my work OS and the tab's right there. Every time I open it up it reminds me of why I'm not on Facebook. My coworkers are probably the most benign people to follow, all they do is repost company videos and blogposts. Basically advertizing, whatever.
It's the other people who get to me, the ones who are advertizing themselves. The soapboxing, the 'look at all the cool shit im doing', the reposting shit from people who I have no clue about. It's literally a window into just the good parts of peoples lives, like any other shitty social media site, but put through the filter of corporate PR bullshit. At least you can be yourself somewhat anywhere else, everything on LinkedIn needs to conform to what's acceptable to the sterile corporate environment, which amounts to showing off your certs or marketable products and the most surface-level 'progressive' social politics.
Fuck LinkedIn and fuck my curious ass for opening it like a dumbass kid who doesn't understand why you shouldn't touch a hot stove.6 -
A wild project appears!
The deadline is set in two months.
It's a 3D environment interactive app with some oil drilling models and other stuff, for a stand on a show. It needs to look nice, but The Company we're working for needs to figure out where the fuck their product is located on those machines. Think tiny pipes, O-rings etc.
I prepare a build in the first couple of days for The Company to figure shit out.
Management holds the build back because:
> the ocean waves are going the other way
> the underwater area doesn't look so nice
> the antialiasing could be better
> one pipe is 5cm off center
> the sky is not blue enough
> the drillship propellers are pointed the wrong way
> one icon is too far to the right
> the shadows could use some work
> there are shadows on the seabed
> some flickering on ambient occlusion
> it loads too slow
> one random object is flipped on it's Z axis
> it's too green
> camera locks up if you move about 2km out of the range
> the name of the build should represent the date of the build
> the name of the build SHOULDN'T be anything else than just a simple three-word name, no dates because their environment doesn't allow apps that are not allowed (by name) by admin
> lots more random things that won't prevent them from using the app
I'm only a month late, but it's good progress. In about a week I hope we can get some feedback if we can use those models at all and what to showcase.
Then I can work on the basic functionality. And then it's a simple case of time travel to meet the deadline.2 -
Remote work (for the software industry, at least) is PERFECT and I still haven't heard a single argument against it that could not be derived into one of the following explanations:
- the complainer is/has a terrible manager
- the complainer has a shitty house
- the complainer has a shitty family
- the complainer is a shitty person
Naturally I mean only real-adult healthy people who work in the software industry.
I will now list the complaints I have heard more often. All fit neatly in the categories above:
- "my family interrupts me a lot, require lots of attention and/or creates an environment I cannot work in" - in this case it is very irresponsible of the complainer to try and escape to an office. If the adults you live with cannot get by without you, how going to an office will help them? If you can't teach your children to behave, who will?
- "my house is noisy and/or uncomfortable" - move out! if you can go to the office, you can look for another place to live.
- "I need in person conversations to understand people / zoom meetings are a waste of time" - why? do you need the smell of other people to properly organize your thoughts? Yes, meetings are extra-shitty during the pandemic. But pandemics come and go and your terrible time management skills won't simply improve themselves. Learn to lead better meetings instead of blaming the medium.
- "I miss face-to-face interactions at work" - Those do not miss you. If you want to have personal conversations, do it *out of working hours* with consenting adults. If you want to have personal touch in work contexts, it is called "sexual harassment" and is a crime.
- "my employees / colleagues are not as effective without me breathing at their necks" - you are a terrible manager and leader if you can't inspire people in words only. Maybe even video.
My main point is, there is no argument against WFH. When people try to argue against it, they often actually mean "I don't like the pandemic". No shit. Life will be better after people stop dieing for breathing close to their friends and family. In the mean time, learn to organize your life instead of running away from it every day.
Have you ever been to love theatre? How many times? Have you ever seen a movie? How many?
Why so many more movies than live theatre? You think you would have liked the movies, and their price, more if it was live theatre? Would you have seen as many?
WFH is not perfect for everybody in the planet. But it sure is for the software industry.15 -
So at the beginning of the year I took a new job at a large, stable company. Leaving a failing startup, toxic leadership, and an absolutely stellar development team in the process. Given what's happened in the world since then, I'm overall pretty happy with the decision to have some more stability for me and my family.
That being said, I'm super bummed out (and weirdly burned out) now because I feel like I'm becoming a worse engineer.
I've worked for large organizations before (single digit thousands of employees), but never have I experienced a personification of enterprise memes like this. Leadership too out of touch, lots of bullshit work just to make worthless reports look good, horrific legacy codebases and infrastructure, you name it.
My biggest problem are the expectations are shockingly low. I went from a hyper demanding work environment where the fate of the entire company seemed to hang in the balance each and every week, to an environment where we literally invent arbitrary, bullshit deadlines and requirements so we have something to feel some stress about. And even still, most of the deadlines are laughably far away. The pace of work that's not only accepted, but praised is so slow that I find myself procrastinating more and more. I spend so little time doing any work, and even less time doing things that would pass as "interesting", that I feel like the engineering and problem solving part of my brain is starting to rot.
To make matters worse, the culture is weirdly confrontational despite the pace being so slow. The people here are _incredibly_ pedantic and will launch into 15 minute arguments over the tiniest incorrect details in a story title. Interrupting someone just so you can say what they were going to say is a daily trial. And most ridiculous of all, _repeating_ word for word what someone _just_ finished saying like it was your thought and you didn't even hear them. I don't even know what the motivation for this could be because it makes them look like total clowns.
I've tried to bring up some of the things I find ridiculous, but most everyone has just accepted them at this point and there's virtually no effort to try and make things better. I only get stupid non-answers like "obviously you've never worked at a large enterprise before". Yes I have. Twice. We didn't partake in half the bullshit that happens here.
Honestly this was all just a passing frustration for the first month or two, but 7 months in I'm starting to see myself become complacent. My current output would be absolutely _shameful_ to myself from a year ago, and even my personality has started to shift to the point that I just go with the flow and don't challenge anything.
I've stopped keeping up with tech trends. I've stopped experimenting with new things. I've tried to do more work on personal projects, but the burnout is starting to affect my life outside of work. In general I've just completely stopped trying, and I absolutely fucking hate it.
I also feel like a total tool for complaining about having a cushy, stable job where I barely have to do anything given the current world climate. But I'm more miserable now than I think I've every been in my career. Has anyone else experienced this and found ways to combat it? How do you get your motivation back once it's lost and there isn't even any pressure to regain it?
I totally blame myself for becoming part of this joke. That's totally on me for not continuing to push myself, but I never realized how much of my "drive" from the last job was coming from the high stakes we were operating under. I really just want to get back to being proud of my work and pushing to be better.
Anyway, sorry for the lengthy post. This turned out to be a weirder rant/self-roast than I intended. But I'm hoping this will be the first step to kicking my own ass back into shape.5 -
Development tools for embedded projects shouldn't need fucking internet to operate. Every fucking app needing internet to even startup is getting more and more stupid. I do a LOT of development offline. I usually have my dev machine away from internet for weeks at a time. It very nice to not have to deal with update issues and the like during this time. So naturally I choose tools to do offline programming for both desktop and embedded. So I decided that for my embedded work I wanted to have better environment than Arduino IDE. Now enters VSCode with Platform IO. I download all the target platforms for my boards. I get it all working and installed. Then I take my computer to my non internet location. I fire up VSCode, select the platform, create a test project, and compile the code. Everything is working great. Then I go to upload the code to my board:
"Blah blah blah you need internet first time talking to a board blah blah blah." Seriously? WTF? Who does stupid shit like this? Once you install your dev tools they should be fucking installed! Now I have to drag my fucking dev boards to another location and do a test install just to do fucking offline programming.
FUCK YOU PLATFORM IO!
Notice I don't blame VSCode for this. I know this IDE is very internet dependent, but it works once you get your plugins installed regardless of internet. Unless of course you are doing internet based programming.3 -
My brain: you have 30 min until you gotta catch the bus, that’s enough for that css fix you wanted to implement on the website!
My development environment: Hey that looks a lot better and works perfectly fine!
My website in production: Fuck you. Fuck your changes. Fuck your bus.
What do we learn? Precompile assets before pushing to production and don’t push to production if there’s a bus to catch 🙃 -
So… I prefer nano over other terminal editors (Mainly because I don’t understand how to use others properly) and I wasn’t really aware of the VISUAL and EDITOR environment variables. So on my Arch machine most things would default to vi. Vi to me is like an annoying pop-up that really doesn’t want you to close it (Tho, one thing I did learn eventually was how to close it ). So at some point I quickly wanted to edit crontab as root and I just couldn't manage to get crontab to use nano. So what did I do?
sudo pacman -R vi
ln -s /usr/bin/nano /usr/bin/vi
I symlinked nano to vi and it finally worked. I know that there are probably countless ways this could’ve been done better but in that case I wouldn't have posted it here under wk81 ;)5 -
Disclaimer: I hold no grudges or prejudices toward [CENSORED] company. I love the concept of the business model and the perks they pay their employees. Unfortunately, the company is very petty, and negligence is the core of the management. I got into an interview for the position, of Senior Software Engineer, and the interview wouldn't take place if wasn't for me to follow up with the person in charge countless times a day. The Vice President of Engineering was the most confused person ever encountered. Instead of asking challenging questions that plausibly could explain and portray how well I can manage a team, the methodology of working with various technology, and my problem-solving skills. They asked me questions that possibly indicated they don't even know what they need or questions that can easily get from a Google Search. I was given 40 hours to build a demo application whereby I had to send them a copy of the source code and the binary file. The person who contacted me don't even bother with what I told her that it is not a good practice to place the binary in cloud storage (Google Drive, OneDrive, etc) and I request extra time to complete the demo application. Since I got the requirement to hand them the repository of the codebase, it is common practice to place the binary in the release section in the Git Platform (Jire, Azure DevOps, Github, Gitlab, etc). Which he surprisingly doesn't know what that is. There's the API key I place locally in .env hidden from the codebase (it's not good practice to place credentials in the codebase), I got a request that not only subscript to an API is necessary but I have to place them in the codebase. I succeed to pass the source code on time with the quality of 40 hours, I told him that I could have done it better, clearer and cleaner if I was given more grace of time. (Because they are not the only company asking me to write a demo application prior to the assessment. Extra grace was I needed)
So long story short, I asked him how is it working in a [CENSORED] company during my turn to ask questions. I got told that the "environment is friendly, diverse". But with utmost curiosity, I contacted several former employees (Software Engineer) on LinkedIn, and I got told that the company has high turnover, despises diversity the nepotism is intense. Most of the favours are done based on how well you create an illusion of you working for them and being close to the upper management. I request shreds of evidence from those former employees to substantiate what they told me. Seeing the pieces of evidence of how they manage the projects, their method of communication, and how biased the upper management actually is led me to withdraw from continuing my application. Honestly, I wouldn't want to work for a company where the majority can't communicate. -
No experience with paid work yet, but for sysadmin work I'd mostly look at the environment and how the previous admin left the premises, and why they left. I wouldn't want to work with a bird's nest for a server room, that's got everything jammed into one clusterfuck of a god-function sort of server or something crazy like that. Separation of services, security, wire management, all those things matter because that's the state that you'll be working in, and cleaning up someone else's mess.. it makes my blood boil.
Payment is important, and if the job doesn't pay well, don't take it. Or if they place a wee bit too much value in those expensive pieces of toilet paper called certificates, it denotes incompetence from the employer by being unable to gauge your skills on their own (and I get that there's time management involved, but come on.. how long can it take to have a conversation with someone to gauge what their skillset is). But the working environment in particular is of vital importance. If it's all going to be yours to build, great (and don't you dare to half-ass it -_-). But if it's already been partially done by someone else, they'd better done it well. -
Check in, check out, punch in punch, out, wax on (my balls), wax off. Do your duty. Be a good citizen. Work overtime. Conserve the environment: buy a tesla that runs on afghan lithium conflict minerals. Post your life to facebook. Get married. Have exactly 2.5 kids.
Use jquery. Use knockout. Use react. Use vue. Use svlete. Use heroin. Used needles. Used people. Used toilet paper. Toilet paper apocalypse. Social trends. Be a good citizen.
Watch tv. Watch nightly news. CNN says. Fox news says. Hey, did you read this article by important funny guy on tv? American taliban. Scary. Be afraid. Hey did you read this article on cute puppies? Funny! Did you see this meme? What a funny meme! HAHAHA. Do we need prisons for dissidents? Do we need to release all the prisoners in federal prison? Should we round up people who dont follow health authorities? Science says. Science is wrong. Science is right. Man in robe agrees with me. Man in robe disagrees with me. You're evil. These people are bad. Is doing bad always wrong? Should we tolerate intolerance? Its time to stop tolerating intolerance. Be an individual, like everyone else. Be you. Be the best you that you can be. Individualism. But we're all in this together. We're all different and unique. But we're all the same. Love each other. Love humanity. But not these guys over here. Punch a nazi. Punch a commie. Isn't it time we punched a nazi? Isn't it time we had socialism? Isn't it time the old get out of the way for the young? Why are the old hateful? Why do they horde all the money? Do we need rent controls? We need rent controls. Its time for rent controls. I think I believe what others believe. Believe different. Think different. Apple. An apple a day keeps the windows away. Open windows, a breathe of fresh air. Is climate change real? We need to have a national conversation about climate change! The world is freezing. The world is flooding. We're all gonna drown. The world is overpopulated. We need to talk about overpopulation. People who have too many kids are polluting the world. America doesnt have enough kids! Is it time to bring in more immigrants to have more kids? Who will work the fields? Thats racist. Is racism an epidemic? Is white flight an epidemic? Lets talk about epidemics. Lets have a conversation about mandatory vaccination. Lets have a national conversation about mandatory pandemics. I mean, vaccinations. Lets change the world. Trust the science. Don't trust the science. Bu-bu-bu-bu-bu I'm loving it. Love who you are. Live love laugh. If you don't love me at my best, then you can't handle me at my worst. People who disagree with [current year] are the worst. Is it time to regulate speech? Its time to regulate speech. Should there be laws against hatespeech. I think there should be laws against hatespeech. People who upset me should go to jail. Its current year. Think big. Think outside the bun. Have it your way. All the time, always. All for freedom, freedom for all. Because this is america, and current year. I like to work hard. But you have to remember to play hard too. Work hard. Play hard. With a childlike sense of wonder. Be you. Belong anywhere. Just do it. Challenge Everything. Because you're worth it. Save money...live better...have an abortion. You're in good hands. Democracy dies in darkness. Is it time to regulate hatespeech. Politician in current year is hurting our democracy. War is a racket. We need to liberate afghanistan. Why are we bombing afghanistan? Its there culture. They're oppressing people! Don't criticize anyones culture. Be kind. Rewind. Go further. Lets go places. Because Impossible is Nothing.
Lets change the world. I'm a smart passionate funny guy with a childlike sense of wonder and play. You ever want to travel? I want to travel. See the world. Eat new food. Eat. Love. Pray. Eat love. kill. Is meat murder? I think meat is murder. Go vegan. Go home. Order out. Support your local economy. Think global, act local. I'm a good corporate citizen. Be the change you want to see. Did you hear about this local brewery? Do you like craft beer? Hey try this new IPA. I shared it on twitter. Twitter is a very important part of my life. I think what other people say matters, and them reading what I think matters. What I ate for lunch matters. Hey what did you eat for lunch? I LOVE FOOD. You want to order door dash. There new commercial is amazing. Commercials are SO FUNNY. Hey did you see this meme of this commercial? I shared it on tiktok. Heres a funny dance. Watch these nurses dance. I wish I could dance like that. They're so overworked. So brave. Our hospitals are overflowing. People are dying. Hey did you see this new dance trend on tiktok? I like tiktok. I think its a very important part of life to share your life with others. Nurses are dying. Look at this image of hospitals. Scared. Very scary. Very bad. Bad and scary. Big thoughts! Thoughts and prayers!
Because Yes we can!
Beep boop.7 -
We code hard in these cubicles
My style’s nerd-chic, I’m a programmin’ freak
We code hard in these cubicles
Only two hours to your deadline?
Don’t sweat my technique.
Sippin’ morning coffee with that JAVA swirl.
Born to code; my first words were “Hello World”
Since 95, been JAVA codin’ stayin’ proud
Started on floppy disks, now we take it to the cloud.
On my desktop, JAVA’s what’s bobbin’ and weavin’
We got another winning app before I get to OddEven.
Blazin’ code like a forest fire, climbin’ a tree
Setting standards like I Triple E….
Boot it on up, I use the force like Luke,
Got so much love for my homeboy Duke.
GNU Public Licensed, it’s open source,
Stop by my desk when you need a crash course
Written once and my script runs anywhere,
Straight thuggin’, mean muggin’ in my Aeron chair.
All the best lines of code, you know I wrote ‘em
I’ll run you out of town on your dial-up modem.
Cause…
We code hard in these cubicles
Me and my crew code hyphy hardcore
We code hard in these cubicles
It’s been more than 10 years since I’ve seen the 404.
Inheriting a project can make me go beeee-serk
Ain’t got four hours to transfer their Framework.
The cleaners killed the lights, Man, that ain’t nice,
Gonna knock this program out, just like Kimbo Slice
I program all night, just like a champ,
Look alive under this IKEA lamp.
I code HARDER in the midnight hour,
E7 on the vending machine fuels my power.
Ps3 to Smartphones, our code use never ends,
JAVA’s there when I beat you in “Words with Friends”.
My developing skills are so fresh please discuss,
You better step your game up on that C++.
We know better than to use Dot N-E-T,
Even Dan Brown can’t code as hard as me.
You know JAVA’s gettin’ bigger, that’s a promise not a threat,
Let me code it on your brain
We code hard in these cubicles,
it’s the core component…of what we implement.
We code hard in these cubicles,
Straight to your JAVA Runtime Environment.
We code hard in these cubicles,
Keep the syntax light and the algorithm tight.
We code hard in these cubicles,
Gotta use JAVA if it’s gonna run right.
We code hard in these cubicles
JAVA keeps adapting, you know it’s built to last.
We code hard in these cubicles,
Robust and secure, so our swag’s on blast
CODE HARD10 -
Today I feel I made it
So today was my second day in new job. I am very happy because it is great improvement in all imaginable areas from my previous one. I feel treated better, colleagues seem to be more mature and friendly, I finally work again in English- speaking environment and etc. etc. i could go on and on..I ranted here couple of times when things got rough and it helped. It is very important during those desperate moments to see other perspectives and this app helped me tremendously! If YOU are reading this now and you are going through s****y times - just hold on and don’t give up on yourself, if I made it - you can make it too!
P.S. it’s not like I am feeling like a best programmer in the world or I am paid a lot, but sometimes you get the feeling that you are in a right place and right time, doing right things.2 -
I continue to internally read and study about Smalltalk in an effort to see where we might have FUCKED UP and went backwards in terms of software engineering since I do not believe that complex source code based languages are the solution.
So I have Pharo. Nothin to complex really, everything is an object, yet, you do have room for building DSL's inside of it over a simple object model with no issue, the system browser can be opened across multiple screens (morph windows inside of a smalltalk system) for which you can edit you code in composable blocks with no issues. Blocks being a particular part of the language (think Ruby in more modern features) give ample room for functional programming. Thus far we have FP and OO (the original mind you) styles out in the open for development.
Your main code can be executed and instantly ALTER the live environment of a program as it is running, if what you are trying to do is stupid it won't affect the live instance, live programming is ahead of its time, and impressive, considering how old Smalltalk is. GUI applications can be given headless (this is also old in terms of how this shit was first distributed) So I can go ahead and package the virtual machine with the entire application into a folder, and distribute it agains't an organization "but why!!!! that package is 80+ mbs!") yeah cuz it carries the entire virtual machine, but go ahead and give it to the Mac user, or the Linux user, it will run, natively once it is clicked.
Server side applications run in similar fashion to php, in terms of lifecycles of request and how session storage is handled, this to me is interesting, no additional runtimes, drop it on a server, configure it properly and off you go, but this is common on other languages so really not that much of a point.
BUT if over a network a user is using your application and you change it and send that change over the network then the the change is damn near instant and fault tolerant due to the nature of the language.
Honestly, I don't know what went wrong or why we are not bringing this shit to the masses, the language was built for fucking kids, it was the first "y'all too stupid to get it, so here is simple" engine and we still said "nah fuck it, unlimited file system based programs, horrible build engines and {}; all over the place"
I am now writing a large budget managing application in Pharo Smalltalk which I want to go ahead and put to test soon at my institution. I do not have any issues thus far, other than my documentation help is literally "read the source code of the package system" which is easy as shit since it is already included inside. My scripts are small, my class hierarchies cover on themselves AND testing is part of the system. I honestly see no faults other than "well....fuck you I like opening vim and editing 300000000 files"
And honestly that is fine, my questions are: why is a paradigm that fits procedural, functional and OBVIOUSLY OO while including an all encompassing IDE NOT more famous, SELECTION is fine and other languages are a better fit, but why is such environment not more famous?9 -
It's been two months since I've left my previous job, after 1.5 years. I never had the feeling my boss trusted his dev team, since he was checking up on us regularly, even though we had planned out a sprint and work for us was "clear". I say "clear", because every single feature on this project was pretty much half-baked, since they were just ideas our boss/PO (same person) on the spot and were labeled as "the next big thing" without every properly writing them out as user stories. Every demo came with a bunch of criticism, because features weren't implemented "as he imagined", because what do you know, the user stories weren't properly described anyway. Bringing that up as counter-argument also made him angry every time, so that didn't help much either. The launch of the platform was also postponed every time because of vague reasons, so that didn't make the project any more interesting either.
It took a while before I got sick of this of this pretty hopeless situation and toxic environment. Mind you, it was my first job since I graduated, so I was a bit naive thinking the working environment would improve and aforementioned company issues would be resolved over time. Eventually, I ran out of patience and motivation, so I finally bit the bullet and handed in my resignation letter.
From that moment, I at least had an end in sight, since I was still obliged to do my four-week notice period, which felt like an eternity. The borderline childish and sociopathic behaviour of my boss didn't make it any better (e.g. checking up on me even more, more mistrust, randomly accusing me of ruining the working atmosphere because I shared a meme with a colleague of mine and didn't involve him, going lunching with all of my colleagues but explicitly asking me to stay at work, ...). Being forced to work from home the last 2 weeks as part of the country's lockdown measures at least helped my sanity a bit, since I had the comfort of my home office and not the frequent "looking over your shoulders to check if you're still working".
By the last day of my notice period, I was bitter, exhausted, lost confidence in my skills and had completely lost my joy of being a developer. I had to physically meet with my boss one more time to hand in the company laptop. He thanked me for my service and said that we'd keep in touch. I hope I won't keep that promise (he made a lot of false promises before, too), because I'd rather never encounter him ever again. It felt like a huge relief to finally close the door of this bad experience behind me for good.
Now, 2 months later, I've got a new job and rediscovered my joy for coding, mostly thanks to the complete opposite of a toxic environment here, management which actually has respect and faith in me and a challenging but fun project. My mental state has made a complete turnaround compared to two months ago. I have absolutely no regrets of switching jobs. If only I had made that decision sooner.4 -
It took AWS about a month to figure out why their load balancer was screwing up content length for requests from our site. Multiple times the ticket was closed due to inactivity because they took so long to investigate. Turns out there's a bug with how AWS load balancers scale, and when they are below a certain traffic threshold they truncate extremely long content. Their solution was to edit the balancer behind the scenes to always be scaled up, and then tell us to never delete it.
So then every time we needed to set up a staging environment we had to contact support so they'd edit the balancer. Which always took ages since most of the support agents didn't understand the convoluted issue and had to forward it on to more technically inclined staff, who then had to investigate fresh every time.
This was ridiculously annoying, so I spent months writing an automated solution to spin up staging new environments on the spot, this made use of a haproxy server which had to edit rules on the fly so that the AWS balancer could be circumnavigated. It was a better system then the old way anyway, but all the same an irritating issue to be forced to deal with.
All around a very shitty experience. This was a few years ago now and I'm not employed there any more, but I hope AWS fixed this since then.11 -
"Jump ship!" "GEt oUtTa thEre!" "LoOk fer anOtheR jOb!"
Every fucking rant about bad work environment has those mudafucking answers LIKE THE PERSON DID NOT THINK ABOUT THAT.
Come on man, at least acknowledge the obviousness of your comment by adding a "I know you probably thought about this but...".
It'd be better if you could stop contaminating the comments with such fucking obviousness altogether though.11 -
So it's officially a month into my new job...
I have to say, sometimes life can surprise you, I never expected things to go down so smoothly especially after getting fired from my previous one.
My manager is just an amazing super friendly guy, great colleagues with positive attitudes, positive work environment, better benefits, the list goes on...
Honestly I would say the biggest con is I now work 45hrs/week instead of 35, which might be a dealbreaker for some but I also work in the cloud industry which is honestly miles ahead than the UAT testing crap I used to do, plus the company pays for your certifications after you pass, so it's a small price to pay imo.
If any of you are struggling with a shitty job/work environment don't give up, out of all the places I worked at I never felt appreciated until I came here, keep on grinding.9 -
Open source is poison, hoax and source of much troubles.
Even as I love OSS, and I use it a lot, when things go south, they go south terribly.
There was "security" updates in one OSS program I have been using, that accidentally prevented use cases which specifically affected me. I raised bug report, made issue and gave small repro for it.
One of the core developers acknowledges that yes, this is problem, and could be handled with few added options, which users of similar use case could use to keep things working. He then tags issue "needs help" and disappears.
After I have waited some time, I ask help how I could fix it myself, like how to setup proper dev environment for that tool. Asked it in their forums few days later, as issue didn't get any response. Then asked help in their slack, as forums didn't get any help.
Figured out how to get dev environment up, fix done (~4 lines changed, adding simple check for option enabled or not) and figured out how to test that this works.
I create pull request to project, checking their CONTRIBUTING and following instructions there. Then I wait. I wait two weeks, and then one of the core develors goes to add label "needs response from maintainer". That is now almost two weeks ago...
So, bug that appeared in October, and issue that was created October 8th, is still not fixed, even as there is fix in PR for 28 days this far.
And what really ticks me off? People who make statements like: "it is OSS, have you thought of contributing and fixing things yourself?" when we run into problems with open source software.
Making fix yourself ain't biggest problem... but getting it actually applied seems to be biggest roadblock. This kind of experiences doesn't really encourage me to spend time fixing bugs in OSS, time is often better spend changing to different tool, or making changes in my own workflow or going around problem some kludge way.
I try to get business starting, and based on OSS tools. But my decision is staggering, as I had also made decision to contribute back to OSS... but first experiences ain't that encouraging.
Currently, OSS feels like cancer.17 -
My GOTOs are:
- Check if focus on teamwork is emphasized. Does the company state themselves? Spend a day with the team if possible, see how they work together.
- What tools do they use? Sometimes this will hint you towards whether or not you will encounter a good environment or a jumbled mess.
- Is there organized communication? I know, sometimes there are too many meetings, but that is better than too vew. How often does the team meet, even if just for 10mins? How does management communicate with the team? What ways are provided to give feedback? Are suggestions to improve practices welcome?
I left my last company and joined my current one, where these things work out the way they should. While I liked both projects with respect to development, my mental state has improved dramatically in the new environment. Stress is down, productivity is up. I love my job. -
I really really hope that no one post this,a friend texted it to me and I wanted to share it because made my day.
Idk where it comes, so feel free if know where this came from to post it:
//FUN PART HERE
# Do not refactor, it is a bad practice. YOLO
# Not understanding why or how something works is always good. YOLO
# Do not ever test your code yourself, just ask. YOLO
# No one is going to read your code, at any point don’t comment. YOLO
# Why do it the easy way when you can reinvent the wheel? Future-proofing is for pussies. YOLO
# Do not read the documentation. YOLO
# Do not waste time with gists. YOLO
# Do not write specs. YOLO also matches to YDD (YOLO DRIVEN DEVELOPMENT)
# Do not use naming conventions. YOLO
# Paying for online tutorials is always better than just searching and reading. YOLO
# You always use production as an environment. YOLO
# Don’t describe what you’re trying to do, just ask random questions on how to do it. YOLO
# Don’t indent. YOLO
# Version control systems are for wussies. YOLO
# Developing on a system similar to the deployment system is for wussies! YOLO
# I don’t always test my code, but when I do, I do it in production. YOLO
# Real men deploy with ftp. YOLO
So YOLO Driven Development isn’t your style? Okay, here are a few more hilarious IT methodologies to get on board with.
*The Pigeon Methodology*
Boss flies in, shits all over everything, then flies away.
*ADD (Asshole Driven Development)*
An old favourite, which outlines any team where the biggest jerk makes all the big decisions. Wisdom, process and logic are not the factory default.
*NDAD (No Developers Allowed in Decisions)*
Methodology Developers of all kinds are strictly forbidden when it comes to decisions regarding entire projects, from back end design to deadlines, because middle and top management know exactly what they want, how it should be done, and how long it will take.
*FDD (Fear Driven Development)*
The analysis paralysis that can slow an entire project down, with developments afraid to make mistakes, break the build, or cause bugs. The source of a developer’s anxiety could be attributed to a failure in sharing information, or by implicating that team members are replaceable.
*CYAE (Cover Your Ass Engineering)*
As Scott Berkun so eloquently put it, the driving force behind most individual efforts is making sure that when the shit hits the fan, you are not to blame.2 -
I hate having to deal with our IT service desk. Every time it takes enormous energy to get to the right people and make them understand that no, you are not an idiot, but you actually have a technical issue.
Sure thing they do have a few competent nice folks there too I've gotten to know over time and they indeed have to deal with a ton of dumb non-tech savvy idiots on a daily basis. However, if my job title mentions "software" and "engineer" they should at least assume I'm an idiot in tech. Or something. Every single time I need to open a ticket, even for the simplest "add x to env y", I need to quadruple check that the subject line is moron-friendly because otherwise they would take every chance to respond "nah we can't do that", "that's not us", or "sry that's not allowed". And then I would need to respond, "yes you do:) your slightly more competent colleague just did this for us 2 weeks ago".
Now you might imagine this is on even another level when the problem is complex.
One of our internal apps has been failing because one of the internal APIs managed by a service desk team responds a 500 status code randomly but only when called with a specific internal account managed by another service desk team.
(when I say "managed by", that doesn't mean they maintain it, it just mean they are the only ones who would have access to change something)
Yesterday I spent over a fucking hour writing a super precise essay detailing the issue, proving a million times it's not on our end and that they need to fix it. Now here is an insight to what beautiful "IT service" our service desk provides:
1) ticket gets assigned to a "Connectivity Engineer" lady
2) few hours later she responds and asks me to give her the app and environment IDs and grant her access to those
(naturally everything in my email was ignored including these two IDs)
3) since the app needs to be in prod for the issue, I make a copy isolating the failing part and grant her access to the original "for reference" and the copy to play with
4) few hours later I get an email from the env that some guy called P made changes to the actual app, no changes to the copy
(maybe they immediately fixed the app even though I asked them to only touch the copy)
I also check the env and the live app had been shared with another 2 people giving them editing rights:)
5) another few hours pass and the lady responds that she had been chatting with P (no mention of who tf that guy is) and that P has a suggestion that might work and I should test it, "please see screen shot" for details:
These motherfuckers sent me a fucking screenshot of the env config file where "P has edited a few parameters" that might help. The screenshot had a 16 line part of the config json with a bunch of IDs and Base64 params which HE EDITED LOCALLY.
Again, because I needed a few iterations to realise what I've just witnessed:
These idiots modified some things in the main app (not the copy) for hours. Then came to the conclusion that the config needs some IDs and params updated. They downloaded the config json. Edited it locally. Did not fucking upload it back to the main or test app. Did not test it live. Did not CC in or direct the guy with changes to me. Did not send me the modified config file. Did not even paste the new IDs into the email. But TOOK A FUCKING SCREENSHOT OF THE MODIFIED FILE AND SENT THAT SHIT TO ME. And then had the audacity to ask me to test it when they had access to it and that's literally their fucking job.
I had to compare the fucking screenshot to the live config file and manually type in the changes.
And no, it still doesn't work. And Now I have to get back to them showing it still fails the same way but I just can't deal with these people. Fuck. Was hoping by the time I write it all down it'd be better, and it does feel a bit better, but I still need to get this app fixed. And I can only do it through these... monkeys. I just can't. Talking to these people drains my life energy... I'm just sad. -
Our team (devs and QAs) have been doing a series of overtime work.
So, the company has provided us a place to sleep. Everyday, we would go to work at 10AM and then return to our place to rest at 12 midnight (sometimes at 2AM).
We've been doing this for a week now and we'll resume again tomorrow.
I already feel exhausted, and I was thinking of resigning after all of this mess was over.
However, I am having second thoughts. Since this is my first job, I have no point of comparison.
Perhaps a series of overtime like this one is normal? Is this type of work environment to be expected when being a developer? Or am I selling my self short and there are better options out there? What do you devs think?12 -
Windows of Linux, Which one is better environment for web and Android development? If Linux please specify which distribution.18
-
Problems. We get them frequently, to me it feels like life is not about being happy and all, it's about how you handle your problems. Any kind of problem, be it work related, you personal life anything.
Developing the skill to deal with different kinds of problem is what makes your life better and better.
What world taught me till now, to run away from the discomfort, a lot people talk about how environment is bad, and you should not take shit from anyone. But few things tell us what's actually lack inside us. Maybe, on social media we don't boast a self awareness based thinking because is makes people uncomfortable to think about their own behaviour. Self awareness is becoming more and more important for me now. I am trying to keep my self love intact, it's hard though. But knowing your own shortcomings and taking actions to understand and do something about them makes me feel in more control. Makes me happy. :)
I'm writing this, because I just got a work problem and I snapped and closed my laptop very impatiently. Then in few seconds I realised, it's a kind of a problem that I should try to 'deal' with and not go into a loop of self hatred. Even though my heart ja racing fast, and all the hormones which are making me wanna feel sad, I feel aware and more in control that hey, you are feeling this because this problem has these consequences but let's try to solve it. :) -
Just my luck that I get the best wk76 story ever on wk77. Either way:
So some of you may know that the current project I am on has some shared code components with one of the other projects in the product line. And we have some differences in our processes. This leads to a lot of fun.
So, I was working on converting one of our shared components into a more modern language. It would save us time, money, and sanity by allowing us to more easily maintain our product. Sounds like a win-win right? That's what I thought. Until I had a meeting with the other team. THEN THE QUESTIONS ROLLED IN. Well who is going to integrate our product with yours? (You?) Are you changing the interface? (Not really.) Are you going to generate a design document? (Absolutely not especially since the interface isn't changing for the most part.) Well you are changing the type of one parameter in one method from an undocumented unmanaged type to a well documented managed type that we control. Shouldn't you generate a document to document that change? (Again absolutely not.)
So first they basically browbeat my lead into putting me in charge of their integration effort. Its fine though, as they gave me an account to charge. However, when I was finally able to get a machine with their build environment on it (at least two months later), they then told me that that account was closing and I had to wait until next quarter. So fuck me right. And because of their process I would break them if I were to check my changes in.
So fast forward to today. They are translating some shared components for the same reason that we are. However, they are changing code that while shared is technically "ours" and that will DEFINITELY break us if they do this work since this is the code that controls our algorithms. And while we have a fault tolerant process, or at least more fault tolerant than the other group's, we are currently doing a huge amount of development in the part they want to change. And when we ask them "who is going to do this work to integrate our product with your changes?" they stare at us slack jawed. Like "um, you right? it doesn't affect us." Like MOTHERFUCKERS!!! YOU LITERALLY JUST FOIST ALL THIS WORK ON US TO INTEGRATE WITH YOU BECAUSE YOU DIDN'T HAVE THE PEOPLE TO SUPPORT IT!!! BUT YOU CAN PAY THIS GUY FOR SIX MONTHS TO DO ALL THIS WORK THAT WILL BREAK US BUT CAN'T SPARE HIM TO INTEGRATE WITH US!?!?!? EVEN IF WE'RE PAYING HIM AND NOT YOU!?!?!
I will let you know how this goes when we have the discussion. I am drinking right now because it it easier and better for my emotional and physical health than bum fights. -
How the Common Lisp Community will eventually die soon:
Clojure is the only main Lisp dialect having some sort of heavy presence in today's modern development world. Yes, I am aware of other(if not all) environments in which Lisp or a dialect of it is being used for multiple things, CADLisp, Guile Scheme, Racket, etc etc whatever. I know.
Not only is Clojure present in the JVM(I give 0 fucks about whether you like it or not also) but also has compilation targets for Javascript via Clojurescript. This means that i can effectively target backend server operations, damn near everything inside of the JVM and also the browser.
Yet, there is no real point in using Lisp or Clojure other than for pure academic endeavours, for which it is not even a pure functional programming language, you would be better served learning something else if you want true functional purity. But also because examples for one of the major areas in software development, mainly web, are really lacking, like, lacking bad, as in, so bad most examples are few in between and there is no interest in making it target complete beginners or anything of the like.
But my biggest fucking gripe with Lisp as a whole, specifically Common Lisp, is how monstrously outdated the documentation you can find available for it is.
Say for example, aesthetics, these play a large role, a developer(web mostly) used to the attention to detail placed by the Rails community, the Laravel community, django, etc etc would find on documentation that came straight from the 90s. There is no passion for design, no attention to detail, it makes it look hacky and abandoned. Everything in Lisp looks so severely abandoned for which the most abundant pool of resources are not even made present on a fully general purpose language constrained as a scripting environment for a text editor: Emacs with Emacs Lisp which I reckon is about the most used Lisp dialect in the planet, even more so than Clojure or Common Lisp.
I just want the language to be made popular again y'know? To have a killer app or framework for it much like there is Rails for Ruby, Phoenix for Elixir, etc etc. But unless I get some serious hacking done to bring about the level of maturity of those frameworks(which I won't nor I believe I can) then it will always remain a niche language with funny syntax.
To be honest I am phasing away my use of Clojure in place of Pharo. I just hate seeing how much the Lisp community does in an effort to keep shit as obscure and far away from the reach of new developers as possible. I also DESPISE reading other Lisp developer's code. Far too fucking dense and clever for anyone other than the original developer to read and add to. The idea that Lisp allows for read only code is far too real man.
Lisp has been DED for a while, and the zombies that remain will soon disappear because the community was too busy playing circle jerks for anything real to be done with it. Even as the original language of AI it has been severely outshined by the likes of Python, R and Scala, shit, even Javascript has more presence in AI than Lisp does now a days.9 -
Unpopular opinion: macOS is better for working on the go than Linux.
Don't get me wrong, I absolutely love Linux... for servers and desktops. Linux, particularly Arch, is incredible at running only the bare minimum of what you need in a system, so that you use the power of the machine to fullest. Don't get me started on the out-of-the-box compatibility with development in general.
However, I just spent 2 days trying to get the freaking wifi working on my Linux laptop. When I opened up my Macbook, it *just worked.* I really don't have the time to be dicking around with configs when I am working on the go.
Especially with technologies such as Docker, Git, and SSH, it's actually really easy to have the same development environment on my macbook and Linux desktop... and as much as I hate to say it, I think it's no more Linux on laptops for me anymore.10 -
All brand new tech products are a scam. They lose half of their value when you open the box.
Buy used. It’s better for both your wallet and the environment. After a month of use, your brand new thing would’ve looked similar anyway. Yes, you lose the unboxing experience when you buy used, but it’s nothing but a consumption addiction reinforcement.14 -
Android Studio is by far worst development environment I've ever seen. Slow as fuck, messed up and cumbersome, not much better than eclipse. Menus are hilariously fucked up. On top of that, clear new setup (on Windows) may as well melt up your PC if you have that shit running overnight: after a weekend I came to the office and my MBP is fucking screaming and breathing hot air... I was WTF is that, and when I logged in, this fucking garbage android studio was taking 100% of all 8/16 cores ... WHAT A FUCKING HIDEOUS PILE OF SHIT FROM GOOGLE. Google: please kill this project, no need to improve or fix it, it's garbage. Start over.26
-
Just fucking use the defacto standard. Shut up. Quit being immature. You're not the main character. No one in the world will use your new standard you pull out of your ass just because you thought you were better than other people. You weren't. You're an average dev by any means. If you feel like no one respects you, keep your ego problems out of your work. Just because your emotions are valid doesn't mean all of us have to live with them turned into code.
If I needed a web framework, I would've used React. I don't use React not because I wrote my own framework. I don't need a framework, like at all. Unless you think that ~300 LOC utils.js file + no build system whatsoever is a framework that is.
Sorry, just encountered non-upper-snake-cased environment variables and wanted to vent.4 -
cars do feel like downgrades these days. never ever want i to buy som like tesla e only shit. but oh - for the eNvIrOnMeNt i buy a NEW Tesla car because it is cLiMa nEuTrAl when running. mhhhhh. that shitty earth destroying battery wont even last 10 years, the build quality of these cars suck also. and your shitty auto pilot life isnt even worth radar, but cheap cameras. why not buy a used car to save the climate huh? meh - e is suposed to be better right... nahh it uses the energy out of the plug from coal mines instead to a great extend these days - - - or is it cuz ur country funds e cars? - why tf does a country want to support buying NEW cars fOr cLiMaTe right mhm. the car world is on a downhill. what sad age to grow up in. and then theres that ebike shit happening ... - ugh21
-
Made a dockerfile for a reproducible build environment today. It's been a few months since I had this much fun working, so refreshing.
This counts as devops right? In that case I might take a better look at devops sometime in the near future, I think I might like it. I just did it out of necessity (didn't want to bloat my system with build tools and sdks) but I ended up liking it. For some reason devops seems exceedingly boring to me, which prevented me from looking into it until now, let's see if I can overcome my laziness and learn it.4 -
So in the project I’m working on we were about to do a push to live, no major functionality just minor adjustments and nice to have stuff. One of the things I did was a reminder, nothing special just sends an email out if something hasn’t been done for 3 days and then sends an email every day following. Push to live and every thing goes fine with no issues. Day 1 there are no issues. Day 2 there are no issues. Day 3 and I’m inundated with people telling me that the emails are getting sent to practically everyone, shit. What have I done? What have I missed?
So I start looking at the live database hoping for a data problem, no such luck. I look at my code looking for something blatantly obvious but nothing. I start replicating the data but I can’t reproduce this bug and it’s annoying the hell out of me. I checked one of the emails that the client sent to us more thoroughly and seen that it was sent at 07:01. This is odd as our webjob runs at 1am so I start looking at environmental factors and started looking at release management, more out of hope than expectation. I check the staging environment and see that the webjob ran at 7:00. Coincidence I thought, the webjob gets packaged on the release pipeline and everything in the database was dummy data anyway but I’d better check anyway. The database was an exact copy of the live database, turns out a “senior developer” wanted to sanity check everything by running live data through the code so he copied the database over. It was fine for the first couple of days but the data was now 3 days out of date triggering my email code and I get hit with the shit storm. I’ve never met such an incompetent developer in my fucking life, functions 700 lines long, classes that are over 20000 lines, repetition every where and the only design patterns he’s used is when he picks up a child’s colouring book. I can live with the fact that he writes code like someone on their first day of University But copying a database because he wants to “visualise” the fucking data is absolutely farcical. No wonder the project is fucked with a “developer” (in the loosest possible use of the word) is at the helm. -
The source engine is interesting, because it has reached that stage of life where it's old enough to be remarkable-- in the sense that it could be called 'legacy', a sort of milestone in development practices and thinking, both in software, and design.
That said, a better look at it might be from the lense of *uses today*.
A lot of former source engine (SE) devs are now going to unity or unreal, I don't blame them.
But it's interesting to examine examples of games that haven't.
One such game is the freeware "No More Room In Hell". A couple online play throughs shows a wealth of well designed maps (and an even greater horde of shovelware maps, but hey, you take the good with the bad).
The age of the engine itself shows. Even in games like Left 4 Dead the engine's age can be seen. This, in some respects has been a drag, but also a blessing. Where other games could rely on their effects, shaders, and other tech, modders, map makers, and designers have had to rely on wit and creativity.
Enter "situated environments."
In an age where many people desire to travel, to go places, and have grown up doing the exact OPPOSITE, there is a great desire for variety of locations in games: not merely 'environmental' in the shallow sense of a 'theme' such as 'lava', 'tundra', etc. But in the sense of setting in general.
We want places that are both out of reach and yet familiar. Fire-fights happen in city streets. Apocalypses happen in neighborhoods where the skyline is both broken and at once something we know by sight. Open air markets, grocery stores, neighborhoods, all of these provide the back drops of popular games and series such as COD, Battlefield, The Last of Us, and yes, the example game, NMRIH.
I call this idea of 'familiar but out-of-reach level design', "situated environments", because familiarity with them, but *lack of real life experience* with them, on a day to day basis, allows people's expectations to fill in the gaps.
No one for example would argue the layouts of 7 Days To Die are familiar, but most of us don't spend all day in a junkyard or a high rise hotel.
So they *feel* familiar. Likewise with Skyrim, the villages and towns, both iconic and strange, our expectations formed by cultural inheritance, hollywood films, television shows, stories, childrens books, and yes, other games.
In a way, familiarity-without-real-in-person-experience is a shortcut for designers, one that lets them play with the player's head-space, the players subconscious idea of how a space and setting *should* work, what to *expect* out of the area, how to *operate* within the area. And the more it conforms to expectations, the more surprising an overdesigned element appears to be, rather than immersion breaking. A real life example of this is people's idea of chernobyl. When they discover the amusement park and ferris wheel they're blown away by the juxtaposition of the wasteland that surrounds them and the associations ('nostalgia' as it were) that such a carnival ride carries for many of us. It simultaneously *doesn't belong* and is yet all at once *perfectly situated in the environment*.
It is to say 'surreal', which is adjacent to the idea of *being real*, in terms of our "perception of what is and isn't plausible, if not possible."
This is at the heart of suspension of disbelief, because in essence, virtual worlds are a lie, like fiction, and good fiction violates expectations in order to tell us truths about reality. As part of our ability to differentiate bullshit from reality, there is to say an element in our bullshit detectors (doubtless evolved over many 10's of thousands of years), that is designed to not merely detect what is absurd in our limited experience, but to incorporate absurdity into everyday experience. In that sense part of our rationality is the acceptance of irrational experiences, learning from it, and discovering 'a proper place for each thing' in the "models of the world" we all carry around in our heads. Eventually we normalize the absurd, it becomes the new reality, and what remains unassimilated becomes superstition (real or otherwise), a figment, or an anomaly.
One of the best examples I've encountered is The Last of Us: Left Behind, a good chunk of which is spent in a mall. And they nailed the environment perfectly I would say.
Or for those who don't own a PS4, a more accessible example is a map in NMRIH aptly called "the museum", and few words better do it justice than to go play it yourself--that is, if you really want to know what I mean by a 'situated environment'.
What better way, during this pandemic, to get out of the news cycle and into your own head? Sometimes the best way to escape isn't outside, it's within.3 -
When my manager, blatantly miscommunicated several things to me a couple of years ago, and scapegoated me by saying a comment I NEVER once heard said about me, in any context ever, "you communicate badly-- you need to communicate better", I took it seriously.
Fast forward, two years later. I'm doing wonderful at my job, yet I cannot get over that incident. I thought about it some more. Why did she say that to me? Why did she address it to me after her mistake? Why was she not aware of the real reason I missed the meeting?
Out of all useful bits of knowledge I gathered over the years, it's kinda comical that psychology came in the most handy at the workplace. There's very little to be gained from trying to psychoanalyze strangers, friends, and family... but it's almost saved my life at the job.
You see, if I attack an approach even in the most formal tones, or even worse, defend my approach, there's nothing coming from that. The situation now becomes my situation. When I become "aware" of the truth of the situation I become able to control the situation, not just myself. That way, you're not in a fisticuff fight with your boss, and you are not left defeated by the situation. Exercising control of the situation in such a manner that they are left defeated by the situation, not by you directly, is the only way you can win as an employee.
Any other way, you'll get under-appreciated, underpaid, overworked, overlooked, etc.
So, my boss at the time, was defeated by the situation of her being a bad leader; and instead of clarifying those feelings to me or ignoring them entirely... she validated her false self using her real emotions.
You can only reverse that, by developing fake emotions, to display a real self.
They can't blame you, and when they feel self-defeated, they cannot pretend it was you who caused it (bringing it back to a sane level of reality). They might rage if they're childish but it will not cause a single hair in your body to twitch because you did not "respond to their email" or "throw someone under the bus for their convenience", the situation did, they beat themselves by attacking you while the situation came down on them.
If I had to explain I would say that the situation is controlled by creating a mirror of the employee that follows their orders perfectly. That employee won't feel defensive: they already do everything right. The employee is crafted by becoming aware of the teams impacted in the situation and their true intent and creating "the situation", "the owner".
"The owner" reflects to people from the perspective of the situation and not from your own. This way you can't make a wrong move and are not emotionally involved with yourself.
It enables you to emotionally notice others. It also makes you safe, because you have the situation-mirror that's really doing the battling. The situation-mirror eventually creates a situation where the other person starts attacking reality (the situation) instead of attacking you.
Now, it's up to you whether you want to use that as a way to cooperate with your boss to beat this new reality, or as a way to gain coherence on your reality outside of your boss. I have noticed most people tend to realize this somewhere along the line and retreat and stop fighting, and quit their jobs.
I've been doing this in a corporate environment for a couple of weeks. I have already become greatly stressed and subjugated by the company for which my company works for. 20 of them sit here every day and devalue everything. Yet.... They're completely incompetent, spoilt, lazy and worst of all, they control how the software is being created. There isn't a single person on their side responsible for their requests to make sense and work with each other. So you can imagine how much blame they need to assign to us devs. They don't know what they want but want something anyway and then they'll see if that's what they want but everything under the tightest deadline possible. They're all clients and they all escalate to the board of directors any bad word directed at them. So you can imagine the narcissism that develops in that environment.
I have made them argue with reality and self-defeat numerous times. They have now started to back off and are being more polite and courteous. They have also not escalated anything anymore. Just as I was faking "happy" while I felt intimidated by them. I have not committed a single angry act and yet they are not feeling superior anymore. The reality of the situation is that we need to make a software and if you make them battle this instead of battling you, they can't beat you.6 -
Besides assorted craft materials and PC my desk has a dual purpose crocheted rubber duck: it serves as a pin cushion and my debugging friend! I made him and he has lived there since my first year of university.
I also keep a mug from my university, scented candles, notepad and pen (for all my tech savvy-ness, quick notes are still better handwritten) and whatever crafty project I'm working on.
My desk is honestly a mess (I have to clear it ~three times a week to have any space to work on) but they say creative people have messy workstations so I take my inability to keep an orderly environment as an expression of my creativity. -
Today, I have installed/uninstalled a combination of [windows 7, arch linux, dual-boot] a total of 9 times...
I wouldn't be surprised if my 120G SSD fails next week
It all started when I had to whip up a GUI-wrapped youtube-dl based program for a windows machine.
Thinking a handy GUI python library will get it done in no time, I started right away with the Kivy quick-start page in front of me.
Everything seemed to be going fine, until I decided it would be "wise" to first check if I can run Kivy on said windows machine.
Here I spent what felt like a day (5 hours) trying to install core pip modules for kivy.. only before realizing my innocent cygwin64 setup was the reason everything was failing, and that sys.platform was NOT set to "win32" (a requirement later discovered when unpacking .whl files)
"Okay.. you know what? Fuck........ This."
In a haze of frustration, I decided it was my fault for ever deciding to do Python on windows, and that "none of this would've happened if I were installing pip modules on a Linux terminal"...
I then had the "brilliant" idea of "Why don't I just use Linux, and make windows a virtual machine within, for testing."
And so I spent the next hour getting everything set up correctly for me get back to programming.... And so I did.
But uh... you're doing GUI stuff, right? -> Yeah...
And you uh.. Kivy uses OpenGL on windows, doesn't it? -> Yeah..?
OpenGL... 2.
-> Fuck.
That's when I realized my "brilliant" idea, was actually a really bad prank. Turns out.. I needed a native windows environment with up-to-date non-virtual graphics drivers that supported at least OpenGL2 for Kivy GUI programs!
Something I already had from square 1.
And at this point, it hurts to even sigh knowing I wasted hours just... making... poor decisions, my very first one being cygwin64 as a substitution for windows cmd.
But persistent as any programmer should be in order to succeed, I dragged my sorry ass back to the computer to reinstall windows on the actual hardware... again.
While the windows installer was busy jacking off all over my precious gigabytes (why does it need that much spaaace for a base install??? fuck.). I had "yet another brilliant idea" YABI™
Why not just do a dual-boot? That way, you have the best of both worlds, you do python stuff in Linux, and when it's time to build and test on the target OS, you have a native windows environment!
This synthetic harmony sounded amazing to the desperate, exhausted, shell of a man that I had become after such a back-breaking experience with cygwin
Now that my windows platter with a side of linux was all set-up and ready-to-go, I once again booted up windows to test if Kivy even worked.
And... It did!
And just as I began raising my victory flags, I suddenly realized there was one more thing I had to do, something trivial, should take me "no time" to do, being in a native windows environment and all.................... -.- (sigh)
I had to make sure it compiles to a traditional exe...
Not a biggy, right? Just find one of those py2exe—sounding modules or something, and surprisingly enough, there was indeed a py2exe—sounding module, conveniently named... py2exe.
Not a second thought given, I thought surely this was a good enough way of doing it, just gonna look up the py2exe guide and...
-> 3 hours later + 1 extra coffee
What do you meeeeean "module not found"? Do I need to install more dependencies? Why doesn't it say so in the DAMN guide? Wait I don't? Why are you showing me that error message then????
-------------------------------
No. I'm not doing this.
I shut off my computer and took a long... long.. break.
Only to return sometime the next day and end up making no progress, beating my SSD with more OS installs (sometimes with no obvious reason to do so).
Wondering whether I should give up Kivy itself as it didn't seem compatible with py2exe.. I discovered pyInstaller, which seemed to be the way Kivy wants exe's to be made on windows..
Awesome! I should've looked up how Kivy developers make exe's instead of jumping straight into py2exe land, (I guess "py2exe" just sounded more effective to me then)
More hours pass, and you'd think I'd have eliminated all of my build environment problems by now... but oh, how wrong you'd be...
pyInstaller was failing, and half the solutions I found online were to download some windows update KB32946..whatever...
The other half telling me to downgrade from Python 3.8.1 to Python 3.8.0000.009 (exaggeration! But you get the point)
At the end of all that mess, I decided it wasn't worth some of my lifespan, and that maybe.. just maybe.. it would've been better to create WINDOWS GUI with the mother fuc*ing WINDOWS API.
Alright, step 1: Get Visual Studio..
Step 2: kys
Step 3: kys again.6 -
I have been using Windows for decades. Recently got a Macbook Pro. In just a week, I realise that I have been working in such a slow paced environment. Constant updates, background tasks, internet chewing, more load and build times. I don't know about other stuff, but for programming and development, I have completely replaced Windows with this new machine.
Btw, this PC has better hardware than the Macbook Pro.8 -
The dangers of PHP eval()
Yup. "Scary, you better make use of include instead" — I read all the time everywhere. I want to hear good case scenarios and feel safe with it.
I use the eval() method as a good resource to build custom website modules written in PHP which are stored and retrieved back from a database. I ENSURED IS SAFE AND CAN ONLY BE ALTERED THROUGH PRIVILEGED USERS. THERE. I SAID IT. You could as well develop a malicious module and share it to be used on the same application, but this application is just for my use at the moment so I don't wanna worry more or I'll become bald.
I had to take out my fear and confront it in front of you guys. If i had to count every single time somebody mentions on Stack Overflow or the comments over PHP documentation about the dangers of using eval I'd quit already.
Tell me if I'm wrong: in a safe environment and trustworthy piece of code is it OK to execute eval('?>'.$pieceOfCode); ... Right?
The reason I store code on the database is because I create/edit modules on the web editor itself.
I use my own coded layers to authenticate a privileged user: A single way to grant access to admin functions through a unique authentication tunnel granting so privileged user to access the editor or send API requests, custom htaccess rules to protect all filesystem behind the domain root path, a custom URI controller + SSL. All this should do the trick to safely use the damn eval(), is that right?!
Unless malicious code is found on the code stored prior to its evaluation.
But FFS, in such scenario, why not better fuck up the framework filesystem instead? Is one password closer than the database.
I will need therapy after this. I swear.
If 'eval is evil' (as it appears in the suggested tags for this post) how can we ensure that third party code is ever trustworthy without even looking at it? This happens already with chrome extensions, or even phone apps a long time after reaching to millions of devices.11 -
Alright, I'll try writing about my recent experience without getting too emotional.
A few months ago, I started a tech job in London and immigrated here for that job. I was glad this company wanted to sponsor a visa, as that was a requirement for me to live here.
Unfortunately, after only a few months in, I learned that the company I joined wasn't quite as nice as I thought it would be. Bullying seemed to be part of the culture. On occasion, I saw coworkers crying. One of my close coworkers was dangerously close to burnout and then "left with mutual agreement". The environment felt like a high school cafeteria. People were drinking heavily early in the afternoon and people were leaving almost at the speed of a revolving door.
I recognized very early on that this was not a healthy environment for me, but as I just signed a rental agreement for a year, and spent a large amount to move here, I was kind of trapped.
Very early on, I was told that the two people before me in the same role were let go right before their probation ended. That scared me off, for reaching out to management or HR. I didn't have the financial needs to lose my job, and due to visa restrictions, therefore would have to leave the country.
When my probation was about to end, and I learned that my performance was good, I decided to provide feedback to my manager. I only mentioned a few things, but still enough. The manager seemed receptive, but it did not seem like he was actually willing to approach the problem itself.
Sometime later, I spoke to HR, explaining some of the issues, and explained my intent to resign. The rep pretended to care, but it did not seem sincere. At the same time, I reached an agreement with my landlord, so I believed I had enough money to safely move out of the country.
A few days after I resigned, the HR rep told me that I owed the company a large amount of money. A part of it was in the contract, which I accounted for. Another part, she was claiming, but was not properly defined in the contract. It said something, but it was confusing. I got a checked later with a legal advisor, and from what I understood, the company would never be able to make me pay that extra amount. This simply because of the contract being so vague.
I told the rep multiple times in the initial meeting about the flaws in the contract, but she ignored everything I said. I then made a counteroffer trying to get her to back off. She then put that in writing, but manipulated my words and kept out all the arguments I made about contract flaws, and my departure being the company's fault.
I didn't receive a reply to my counteroffer for days. It was stressing me out as this could mean I would run out of money soon. Only a few days passed before I got a medical emergency at work just because of the stress all of this caused me.
I saw a doctor and immediately got 2 weeks of sick leave. When I contacted the company again, I was able to terminate my contract, without returning to the office. However, they still didn't want to waive the extra amount of money.
The HR rep pointed out in written communication to my lawyer, something in the trend of "if something wasn't clear in the contract, he should've just asked for details". In that same correspondence, it also stated that they were offering 'as a favor to me' to reduce the extra amount to only a third of it.
Since I never actually wanted to go to court anyway, I decided to settle with that. Now I'm packing to move out of the country, without a job and soon to be completely broke. If I would've stayed where I were and never moved to London, and never worked a day for the past 7 months, I would've had more money on my savings account than I have at this point in time.
I hope I at least learned something from this. I don't think I will move somewhere with a company-sponsored visa again anywhere soon...
Thanks for listening. Ranting does make you feel better :)3 -
Recently I've been considering switching to another job. I've been at my current employer my entire working carreer, and a switch might be a healthy choice soon. My current working environment is changing (and not for the best in my opnion), and I have never really looked over the fence. I've also felt that my current job lacks some real meaning.
I currently work on software for logistical purposes, but I don’t feel that my work aligns with my values, or that it tries to solve issues that are important to me.
I have received many job offers with higher pay and benefits, but again, none that really work on issues that I find important.
My question to you is wether (and if so: how much) you let your values and ethics weigh in your choice of an employer/project. And are you willing to offer up (financial) benefits for a job that aligns better with your values?4 -
So just now I had to focus on a VM running in virt-manager.. common stuff, yeah. It uses a click of le mouse button to focus in, and Ctrl-Alt-L to release focus. Once focused, the VM is all there is. So focus, unfocus, important!
Except Mate also uses Ctrl-L to lock the screen. Now I actually don't know the password to my laptop. Autologin in lightdm and my management host can access both my account and the root account (while my other laptop uses fingerprint authentication to log in, but this one doesn't have it). Conveniently my laptop can also access the management host, provided a key from my password manager.. it makes more sense when you have a lot of laptops, servers and other such nuggets around. The workstations enter a centralized environment and have access to everything else on the network from there.
Point is, I don't know my password and currently this laptop is the only nugget that can actually get this password out of the password store.. but it was locked. You motherfucker for a lock screen! I ain't gonna restart lightdm, make it autologin again and lose all my work! No no no, we can do better. So I took my phone which can also access the management host, logged in as root on my laptop and just killed mate-screensaver instead. I knew that it was just an overlay after all, providing little "real" security. And I got back in!
Now this shows an important security problem. Lock screens obviously have it.. crash the lock screen somehow, you're in. Because behind that (quite literally) is your account, still logged in. Display managers have it too to some extent, since they run as root and can do autologin because root can switch user to anyone else on the system without authentication. You're not elevating privileges by logging in, you're actually dropping them. Just something to think about.. where are we just adding cosmetic layers and where are we actually solving security problems? But hey, at least it helped this time. Just kill the overlay and bingo bango, we're in!2 -
Tried to install WAMP manually to learn PHP. It almost put me off development altogether, but great when it worked and I learnt a lot doing it. The next time I used Xampp before moving on to vagrant & VMs.
Sometimes setting up the Dev environment is the hardest part of learning. But better to learn in dev than production!3 -
So, I'm going to apologize before I even start this rant...lol. I am the Senior level web developer at my job and have been there for around 12 years now. I have been there at least 2 times as long as everyone else.
I also want to say that my boss is a good man and I really like my coworkers and he has helped me through a lot over those 12 years and I don't want to sound ungrateful. However, I am so fed up with my job. I think the only reason I stay is the fear of the unknown of switching jobs and that I really like the overall work environment and my coworkers.
With that being said I have been with my boss almost since the inception of the company and I am the only original employee there. I have seen the company grow from 3 employees including the secretary there. We now have like 20 employees.
I have never complained and I have showed continual growth and loyalty over those 12 years. However, like a month ago they had me post a a job position and it was for a social media position and the job required only 5 years of experience and it was within 8k of what I currently make. That made me so angry.
I am literally capable of doing everyone's job at my job including my own with ease. However, no one else at my job is capable of doing my job at all and I have a bachelors degree as well and certified in many different things as well.
Again I am the most senior person at my job period and the most senior person at the entire company. Not only am I an expert in the programming languages we use at our company, but im an expert at analytics(certified in GA4, looker studio, tag manager, etc).
Additionally, a month ago I was reached out to on linkedin by another company and was offered a job for almost 30 to 40K more than my current job is paying and better benefits than where I currently work and it was fully remote.
Should I even bother asking my boss to match this or should I just walk and go to the other company? Apparently loyalty and knowledge hold no value anymore.5 -
I wish python had a better package and environment manager. Everybody has their own way around this, but nothing without bugs or 10 steps to install a package in the env. it just sucks...4
-
Well, we have a designer/front-ender who's forced to work the same way the devs work (local development environment), yet he doesn't understand a single thing he's doing.
I'm pretty sure he's never going to understand it, and I feel like he's better off just doing UI/UX, he's pretty good at that!1 -
so if i get this correctly :
1. mongodb( community server) is going to create some files in my system which will be called "databases/collections/document bullshit via its own special process called mongod (similar to mysql , but ok)
2. my python flask app is going to connect to it via its official driver pymongo (which could be used directly)
3. mongoengine is a library (more of a wrapper on pymongo) providing "easy ways for connecting mongodb via pymongo" (which again could be used directly)
4. flask-mongoengine is library (more of a wrapper on mongoengine providing "easy ways for connecting mongodb via mongoengine via pymongo" (which again could be used directly)
5. flask-pymongo is some another bullshit library/wrapper that took away 6hours of mine which again is "A FUCKING WRAPPER PROVIDING EASY WAYS FOR CONNECTING TO MONGODB VIA PYMONGO"
seriously, fuck web development. Why can't the original driver (i.e pymongo from mongodb devs) could have simpler wrappers? and why does my fucking tutorial instructor had to use the most fucking rarely used flask-mongoengine (which i accidently read as flask-pymongo and got f**ked) to teach newbies? fucking day wasted trying to understand this crap.
I don't like monnopolies, but its somewhat good that the mobile environment is still in the hands of nononsense players like google and oracle(java) . atleast we don't have people releasing wrapper over wrapper over wrapper and then fighting about which wrapper is better to use.
Like , even when devs started cmplaining that android dbs are too difficult to understand, google themselves created an actively supported wrapper that shutted down the fight over which wrapper to use(sqldelight, realm,sql bright etc)5 -
When the CTO/CEO of your "startup" is always AFK and it takes weeks to get anything approved by them (or even secure a meeting with them) and they have almost-exclusive access to production and the admin account for all third party services.
Want to create a new messaging channel? Too bad! What about a new repository for that cool idea you had, or that new microservice you're expected to build. Expect to be blocked for at least a week.
When they also hold themselves solely responsible for security and operations, they've built their own proprietary framework that handles all the authentication, database models and microservice communications.
Speaking of which, there's more than six microservices per developer!
Oh there's a bug or limitation in the framework? Too bad. It's a black box that nobody else in the company can touch. Good luck with the two week lead time on getting anything changed there. Oh and there's no dedicated issue tracker. Have you heard of email?
When the systems and processes in place were designed for "consistency" and "scalability" in mind you can be certain that everything is consistently broken at scale. Each microservice offers:
1. Anemic & non-idempotent CRUD APIs (Can't believe it's not a Database Table™) because the consumer should do all the work.
2. Race Conditions, because transactions are "not portable" (but not to worry, all the code is written as if it were running single threaded on a single machine).
3. Fault Intolerance, just a single failure in a chain of layered microservice calls will leave the requested operation in a partially applied and corrupted state. Ger ready for manual intervention.
4. Completely Redundant Documentation, our web documentation is automatically generated and is always of the form //[FieldName] of the [ObjectName].
5. Happy Path Support, only the intended use cases and fields work, we added a bunch of others because YouAreGoingToNeedIt™ but it won't work when you do need it. The only record of this happy path is the code itself.
Consider this, you're been building a new microservice, you've carefully followed all the unwritten highly specific technical implementation standards enforced by the CTO/CEO (that your aware of). You've decided to write some unit tests, well um.. didn't you know? There's nothing scalable and consistent about running the system locally! That's not built-in to the framework. So just use curl to test your service whilst it is deployed or connected to the development environment. Then you can open a PR and once it has been approved it will be included in the next full deployment (at least a week later).
Most new 'services' feel like the are about one to five days of writing straightforward code followed by weeks to months of integration hell, testing and blocked dependencies.
When confronted/advised about these issues the response from the CTO/CEO
varies:
(A) "yes but it's an edge case, the cloud is highly available and reliable, our software doesn't crash frequently".
(B) "yes, that's why I'm thinking about adding [idempotency] to the framework to address that when I'm not so busy" two weeks go by...
(C) "yes, but we are still doing better than all of our competitors".
(D) "oh, but you can just [highly specific sequence of undocumented steps, that probably won't work when you try it].
(E) "yes, let's setup a meeting to go through this in more detail" *doesn't show up to the meeting*.
(F) "oh, but our customers are really happy with our level of [Documentation]".
Sometimes it can feel like a bit of a cult, as all of the project managers (and some of the developers) see the CTO/CEO as a sort of 'programming god' because they are never blocked on anything they work on, they're able to bypass all the limitations and obstacles they've placed in front of the 'ordinary' developers.
There's been several instances where the CTO/CEO will suddenly make widespread changes to the codebase (to enforce some 'standard') without having to go through the same review process as everybody else, these changes will usually break something like the automatic build process or something in the dev environment and its up to the developers to pick up the pieces. I think developers find it intimidating to identify issues in the CTO/CEO's code because it's implicitly defined due to their status as the "gold standard".
It's certainly frustrating but I hope this story serves as a bit of a foil to those who wish they had a more technical CTO/CEO in their organisation. Does anybody else have a similar experience or is this situation an absolute one of a kind?2 -
So I created a little script for my mother because otherwise she had to combine 70 spreadsheets manually, I just couldnt sit there and do nothing. So I wrote a simple Python script in like 30 mins, decided that it needed a GUI because in the end it is for my mother. So wrote a GUI and partly learnt PyQt during that in an hour, which was all working fine.
Then I got to the point where I actually had to hand it over to my mother, preferably as an executable so that there is no hassle at all. So found this tool, Pyinstaller which seems to work great. Created an executable with all the dependencies and stuff in a single file, it worked on my win10 machine (because I developed on Linux of course). So I distributed it to her and she immediately gets an error. Of course there is no description and stuff because I made it a simple program, no log files and such. But fortunately she told me that it errorred when she wanted to run it, so I knew it had to be due to the executable.
Turns out she is still using windows 7 at work, which of course is different that windows 10 and here I am at 11pm, installing updates on a fresh windows 7 machine just to create a new build in that environment and make it work on her machine.
Fuck you, windows update. I swore to never see that ugly ass progress bar again, but yet here I am. Send halp.
I am almost just at the point where Im going to teach my mother how to run a python application from the command line because wheels are actually available for all python dependencies (instead of compiling them)!
Are there better python executable creators out there for wincrap?3 -
After learning a bit about alife I was able to write
another one. It took some false starts
to understand the problem, but afterward I was able to refactor the problem into a sort of alife that measured and carefully tweaked various variables in the simulator, as the algorithm
explored the paramater space. After a few hours of letting the thing run, it successfully returned a remainder of zero on 41.4% of semiprimes tested.
This is the bad boy right here:
tracks[14]
[15, 2731, 52, 144, 41.4]
As they say, "he ain't there yet, but he got the spirit."
A 'track' here is just a collection of critical values and a fitness score that was found given a few million runs. These variables are used as input to a factoring algorithm, attempting to factor
any number you give it. These parameters tune or configure the algorithm to try slightly different things. After some trial runs, the results are stored in the last entry in the list, and the whole process is repeated with slightly different numbers, ones that have been modified
and mutated so we can explore the space of possible parameters.
Naturally this is a bit of a hodgepodge, but the critical thing is that for each configuration of numbers representing a track (and its results), I chose the lowest fitness of three runs.
Meaning hypothetically theres room for improvement with a tweak of the core algorithm, or even modifications or mutations to the
track variables. I have no clue if this scales up to very large semiprime products, so that would be one of the next steps to test.
Fitness also doesn't account for return speed. Some of these may have a lower overall fitness, but might in fact have a lower basis
(the value of 'i' that needs to be found in order for the algorithm to return rem%a == 0) for correctly factoring a semiprime.
The key thing here is that because all the entries generated here are dependent on in an outer loop that specifies [i] must never be greater than a/4 (for whatever the lowest factor generated in this run is), we can potentially push down the value of i further with some modification.
The entire exercise took 2.1735 billion iterations (3-4 hours, wasn't paying attention) to find this particular configuration of variables for the current algorithm, but as before, I suspect I can probably push the fitness value (percentage of semiprimes covered) higher, either with a few
additional parameters, or a modification of the algorithm itself (with a necessary rerun to find another track of equivalent or greater fitness).
I'm starting to bump up to the limit of my resources, I keep hitting the ceiling in my RAD-style write->test->repeat development loop.
I'm primarily using the limited number of identities I know, my gut intuition, combine with looking at the numbers themselves, to deduce relationships as I improve these and other algorithms, instead of relying strictly on memorizing identities like most mathematicians do.
I'm thinking if I want to keep that rapid write->eval loop I'm gonna have to upgrade, or go to a server environment to keep things snappy.
I did find that "jiggling" the parameters after each trial helped to explore the parameter
space better, so I wrote some methods to do just that. But what I wouldn't mind doing
is taking this a bit of a step further, and writing some code to optimize the variables
of the jiggle method itself, by automating the observation of real-time track fitness,
and discarding those changes that lead to the system tending to find tracks with lower fitness.
I'd also like to break up the entire regime into a training vs test set, but for now
the results are pretty promising.
I knew if I kept researching I'd likely find extensions like this. Of course tested on
billions of semiprimes, instead of simply millions, or tested on very large semiprimes, the
effect might disappear, though the more i've tested, and the larger the numbers I've given it,
the more the effect has become prevalent.
Hitko suggested in the earlier thread, based on a simplification, that the original algorithm
was a tautology, but something told me for a change that I got one correct. Without that initial challenge I might have chalked this up to another false start instead of pushing through and making further breakthroughs.
I'd also like to thank all those who followed along, helped, or cheered on the madness:
In no particular order ,demolishun, scor, root, iiii, karlisk, netikras, fast-nop, hazarth, chonky-quiche, Midnight-shcode, nanobot, c0d4, jilano, kescherrant, electrineer, nomad,
vintprox, sariel, lensflare, jeeper.
The original write up for the ideas behind the concept can be found at:
https://devrant.com/rants/7650612/...
If I left your name out, you better speak up, theres only so many invitations to the orgy.
Firecode already says we're past max capacity!5 -
Well I ended up getting two jobs through my college so now I've gotta pick between:
- A legacy maintenance job with a better environment and salary, for a minimum of two years.
OR
-An IT based job with a lower salary but no fixed initial working period.
Advice devRanters?
PS: I am in debt because I took a loan for college tuition. 😐
*Confused*6 -
[Seeking Advice / Legal / Opinion]
Hello world, (TLDR at the bottom)
I'm the co-founder of a small startup and looking for advice from people of legal background or similar situations. (Any help making the reddit post more active will also help a lot: https://reddit.com/r/legaladvice/...)
Just as a backstory for better understanding:
a couple of years ago, me (early twenties, male) and another guy (late thirties, male) started an entrepreneurial journey, got in an accelerator program and some investment, and things always looked well.
We opened the company and started working / selling our services. Step by step we started recruiting, and getting some clients, and business is going well... ("well" as in, small revenues but not spending more than we earn).
The thing is that me and my co-founder's relationship has been degrading over time and I think it would be better for us and the company to split up and go our own way. He has the majority of the shares and I don't mind leaving it all behind for the sake of the company and mental health.
This is in US, if it helps, and we both have At-Will employment contracts.
My main question is, *if I do sign a termination contract*, from what I read, I'm obliged to remain reachable for a period of 12 months (plus all those IP related stuff, not sharing confidential info, etc).
[1] Is there anything I should be careful about and get some kind of protection or get some more information before resigning?
I'm afraid that if I leave the company it affects the business negatively, as we both work 16 / 20 hour shifts many times and my work would not be easily replaced by anyone in the current team. We are hiring more people right now, and some seniors, and I was thinking on staying one month dedicated only to training them... [2] Could this be specified in some contract that I am resigning from "today", but stay 30 days focusing on training new people, or anything similar?
I don't mind staying in touch and help whenever they could need, but I will not be available 24/7 and I will obviously need a job to pay living expenses, so I don't want to affect negatively my time in other jobs or personal life and be kind of protected against anything that he could do to make me stay continuously connected or compromised.
I'm interested in knowing any opinions and advice you guys may have, and feel free to ask some questions if you need extra details.
I just want the best for the startup but cannot hold much time in the current environment.
TLDR: Relationship between me and co-founder is getting worse, thinking on resignating but want to keep some sort of protection against anything that could make me keep compromised to the company.7 -
just finished new series 4 of doctor who. how can it possibly get better from here?
sorry !dev but this is my only social environment and at least somewhat of a rant4 -
Alright fellow sweaty programmers, mama Kiki is here to teach you the basics of hygiene.
TEETH
- If you have a toothpaste prescription, use it.
- Every single whitening toothpaste is a scam. Don’t use them.
- Every single over-the-counter toothpaste that decreases sensitivity does work. If your teeth are sensitive, use it.
- Otherwise, buy the cheapest name-brand toothpaste.
- Use dental floss. As long as it’s flat and waxed, the cheapest one will do.
- When flossing, never move the floss back and forth as if you try to saw through your gums. Just put the floss in, then out. Repeat if necessary.
- Don’t put your toothpaste on your toothbrush. Put a small amount of it directly in your mouth with a bit of water. Close your mouth and spread toothpaste all over your teeth using a rinsing motion, as if it was mouthwash. Now your teeth are completely covered.
- When brushing teeth, don’t use -90°/0°/90° angles. Use -35°/35°. This way you will spend less time while getting better cleansing. Bristle ends should touch where your teeth meet your gums.
- Get yourself a tongue scrubber. Scrub your tongue until what comes off of it is clean. Dirty tongue is why your breath smells bad, not dirty teeth.
- After you’re done, don’t rinse! Spit the toothpaste out, but let its residue stay there. The remineralization process is now started. If you follow the routine, you don’t need mouthwash at all.
- Drinking/eating sugary things, not washing your teeth and going straight to bed is the best way to get cavities ASAP. In your mouth, sugar quickly turns into the kind of acid that we use for soldering. It can strip the oxide layer off of copper. Do you know how after you drink Coke, your teeth become almost squeaky clean? That’s this. If you like sugary drinks, carefully drink them using a straw. Rinse immediately after you’re done drinking & eating.
SHAVING
- Get yourself an old-school safety T-razor, the one that takes suicide blades. It will last a lifetime. Mühle and Merkur are good manufacturers (not affiliated). Once you have it, for the rest of your life, you will only buy blades. This is the most environmentally friendly way to get a clean, close shave. Electric razors save water, but they often contain batteries.
- Because of how violently electric razor’s blades hit hair while cutting it, they chip your hair. This leads to your freshly grown hair being sharp, rough and unpleasant to the touch. The manual razor, on the other hand, produce clean edges. When your hair grows back, it will be softer than what you get with an electric razor.
- Feather brand blades (not affiliated) are the sharpest in the world. The sharper the blade, the less traumatic it is. Watch T-razor tutorials on YouTube. There are different shaving techniques that will get you a killer shave.
- T-razor blades last considerably longer than their modern soyboy single-use counterparts.
- Because of a single blade construction, T-razor almost never leaves irritation.
- Basically, modern single-use plastic blades are horrible for the environment, and they’re almost a scam for how much you get for your money. They’re only rivaled by printer ink. Use them only for intimate shaving, as they’re considerably handier down there.
- Always shave after hot shower.
- Before shaving, dry the skin surface. Apply shaving foam on dry skin only, as it contains chemicals that make your hair softer. When diluted, they’re not as effective, and shaving unsoftened hair is almost always unpleasant and dangerous.
- After applying the foam, wait about a minute for the foam to work. If the skin gets irritated, don’t wait for as long, or perhaps try a different foam brand.
- Before shaving, thoroughly clean your razor with hand sanitizer or ethanol. Ideally, it should be sterile. Using boiling hot water is also a good option, just be careful with it.
- After shaving, rinse off foam, immediately dry your skin with a clean towel, then apply aftershave. After applying it, don’t touch your skin until it completely dries. If you follow this routine, your skin won’t get any pimples, guaranteed.
- Scrubs won’t help you. Don’t use them.
More in the comments!11 -
We interviewed some candidates for a dev position some weeks ago and, knowing the environment isn't that challenging (at least for me) I voted against the better curriculums because I know they would be frustrated fast, I said that. But I didn't say it was because it's shit here... Of course.... I really just want the good devs to be better then they can be here.... What do you think?3
-
I’d been working event based and freelance jobs in the security and entertainment fields for years, with odd stints as a bartender sprinkled in. My pay was mostly decent, but I had no job security, and I was more on the road than at home. A few years before this job search experience I had already realised I can’t continue on this path for ever, especially if I ever want a serious relationship (e.g. 16 weeks straight touring Europe with on avg. 16h work days pretty much every day isn’t ideal in that regard, and also really though on both body and mind). So I decided to study. As I applied in autumn, not every line of study accepted students. The closest to my interest I found was BBA in Business IT.
Fast forward 1,5 years. After moving away from my previous base due to then-gfs studies, I had also been able to accept less work. Well, there were really two reasons: I didn’t want to go on weeks long big tours anymore, and I’d had to price up on my freelance job due to reasons. I still managed to keep our household going, but not knowing when the next paycheck would be available was becoming a little too stressful. I wanted job security. So a few weeks after my wedding I scoured the internetz for positions I could apply to, and applied to a dozen or so places. They were a variety of positions I had a vague understanding of from what I’d learned at UAS: from sales to data analytics to dev… I was aware pretty much all of the applications were a long shot by best, so I expected to be ghosted…
Two of the organizations I applied to wanted to go forward with me. Both dev jobs. I can’t even remember the specifics of the other one anymore, but I do remember the interview: I got in to their office (which was ridiculously open), and got marched into a tiny conference room. The interviewer was passive-aggressive and really bombarded me with questions, not really leaving a socially awkward introvert with any time to answer. I started to get really anxious and twitchy, sweating like a pig. Just wanted out. But nooo, they wanted me to do a coding test live. So they sat me on a computer with Eclipse open, gave me an assignment and told me not to use the internet. What’s even worse is that I could literally feel the interviewer breathing down my neck when I tried to do the test. Well, didn’t happen cause I was under so much pressure that I couldn’t think at all… yeah, that was horrible.
Anyhow, the other position I really applied to because it was in my hometown and I recognised the company name from legendary commercials from the 90s - everyone in this country who watched TV in mid-to-late 90s remembers those. Anyway, to my surprise, my present day manager contacted me and wanted me to do a coding test. At the time he asked I was having a bout of fevers after fevers, not really able to get healthy. I told him that I’d do it as soon as I’m healthy. A month went by, maybe more. He asked again. Again I replied that as soon as I get healthy, but promised to do it next week the latest. I didn’t deliver on that, but the next week after that, even if I was the most feverish I had been, I did the tests. I could only finish half of them, cause I couldn’t look at a screen for long at a time and had to visit the loo every 10min or so, but apparently that was enough. Next week I was already going to the interview… oh I also googled what is PHP on the way there, since it was mentioned as a requirement and I had no idea what it was. Imagine that…
The interview itself couldn’t have been more different from the other one. We were sitting in a nice conference room with my manager and the product’s lead dev, drinking coffee, our feet on the table and talking smack. Oh, and we did play a game of NHL<insertNumber> on PS4 during the interview… it was relaxed. Of course the more serious chat was there, too, but I can only really remember how relaxed it was. When I left the interview, I had been promised the position and that I would be sent the contract to be signed as soon as the CEO had reviewed and approved it. Next day, I had signed it and some time later I started at my current job (I gave a date when I was available to start, since there was a tour still agreed upon between the interview and the start).
Oh, and the job’s pretty much like the interview. Relaxed. It’s a good place to be in, even though the pay could be better (I regularly get offers for junior positions with more pay, and mid level positions with double the pay). I do value a pleasant working environment and the absence of stress more than big munny, what can I say?1 -
I've been working as a developer for 10 years now... I got my first software development job when I was still learning for my masters.
After all this time I have switched programming languages and product types a few times from web development to mobile apps to desktop software (C++, CEF, QT,).
And I have come to the conclusion that I want early retirement... like right now retirement... I'm done dealing with management that doesn't understand shit... dealing with people we have outsourced part of the shit to... needing to fix stuff that is broken after some other person refactored the code and didn't fully test it and it somehow got approved... dealing with people that think that "know better" and implemented things like that 5 years ago because they thought like "THAT" and will not accept my merge request because of that.
Like don't get me wrong I love to make and develop software, but since this is the 3rd job in the row with a toxic environment like this I feel like I need to move to the country side and open up a farm or something :|2 -
Ugh... some people...
Just left the office early because of the toxic climate. That one infamous collegue is basically unable to communicate without being a narcissistic 5-year-old and was arguing whether we should write a test (I was going to write the test) that would need a single additional branch in the build system.
(The test was for a parser and it should test whether it can handle absolute paths. A simple regression test with a file and an expected output. Because absolute paths are different for every platform and user, the files to be parsed would have to be generated with appropriate paths before the tests were run. Well that would require one single python script and a single line in the script that runs the script and DONE)
Well that guy was unable to focus on his own work and started an argument about whether that test was necessary.
Even though I still think it is necessary, it might have been a reasonable argument if he would have acted more agreeable. But he was saying the feature was useless anyways "everyone will use relative paths only anyways" and "because noone here cares a ratass about maintaining the tests it will all fall on me again" ..
Wtf was this guys problem, I (CAPS) was going to write the stupid test and since when do we not write tests in order to better maintain our product? I get that he worries that the test environment will get more messy, but thats better than having the product code go messy or unfunctional! And c'mon guys, how are absolute paths a redundant feature... -
My Data Communication & Computer Networks (DCCN) teacher was the best teacher I've seen.
Teaching can be super hard. You're one against like sixty others who aren't interested in being there. To make that good learning environment, making the subject interesting etc, it not easy. Some justify that, "I can only bring the horse to the water" & proceed to just regurgitate whatever is on the book. Others cross question you & impose punishments - try to make you learn by fear.
But my DCCN teacher - she had the right balance between strictness & humour. So kids took her seriously (did homework, weren't late), yet never feared her - we felt comfortable asking doubts/questions.
She had some good tactics, like asking us to teach certian chapters - that made us learn better. She would revise them in the end also, incase we missed anything.
My best moment with her was when I scored the highest in my internals. She picked up my paper & showed the class - "see? Just two pages & he scored so much". There's was always those students who pump out a lot of stories/essays or whatever that comes to their mind about the topic in question. Lots of teachers just blindly give marks - "oh, s/he wrote this much, so it must be right".
But my DCCN teacher had zero tolerance for garbage. If you're wrong, you're wrong. Some even believe that the number of marks = number of lines you have to write!! Doesn't matter what you write. So, I was super glad when this teacher upped the standards. -
“OhhHhh please fill out an entire fucking excel sheet for our test environment deployment. It helps us manage everything better and gives us a reason to fucking thumb around in our holes all day and pretend like we really mean something as managers.” Like absolutely no, you can go fuck yourself with a condom filled with broken glass shards and diseases is what YOU can do. You are a parasite.
“Senior lead developer” - but they don’t have a title - says: “please just give me the list of files I need to manually change on the env in real time”. Bitch, do you even know what CI/CD is?!?!? The fact that you have been doing this for a year straight makes me pity how much of a fucking dumbass you really are. Even if u don’t use a pipeline, just look at my fucking git changes. That’s literally why we have it. You are a fucking disgrace of a developer and I hope you know that everyone who is a competent dev would rather bathe in a bath filled with lemon juice and cactus spikes, before EVER working with YOU EVER AGAIN!!!1 -
I've got a decent developer job with decent people. It pays well enough. I work from home. There's a lot to be grateful for, and I am grateful. That being said...
I work for a consulting company with Agile in the name. It's the sort where they hire you and tell you that you'll work with an Agile team on exciting stuff and that they want to make sure you're learning and doing what interests you.
The reality is starting yet another engagement which is really just staff augmentation, joining another organization that's made a mess of what they're building. It works, but the code is all over the place. They've got tons of defects and work is slowing.
The idea is always that if we show them what great work we can do they'll let us do more. That sounds like an okay plan for the company but not so much for me.
My motivation is drained. I'm not going to fix your machine. I'm just going to become part of it. Show me what you want me to work on and I'll write the code. Then I'll spend several days trying to get a local environment to work so I can test what I did through the UI because you don't have enough tests. I'll spend more time debugging the environment than anything else. I won't really know if it works and it doesn't matter because without tests the next change someone commits will break it anyway. The next person can't manually test every scenario any more than I can.
While I'm doing this, someone somewhere is building the next application that I'll work on after they're done screwing it up.
If you're about to start building some new application, pretend it's done but it doesn't work very well, it's slow, it's buggy, and every new feature you want takes months. Pretend that you need to hire someone to fix it for you. And then hire them to build it for you in the first place.
I thought I found a place where I could work for 5-10 years. Maybe I have. Maybe when I explain (in the most positive way possible - this isn't how I normally talk) how utterly depressing this is they'll put me on something else.
Once I'm out of this depression I'll go back to trying to make this better for myself and everyone else. We can do better. It doesn't have to suck like this.4 -
It's always amazing to fire up a PS2 game and go "Wow... this PS3 game looks great!" an hour later before realizing it's still a PS2. Take Final Fantasy 12, for example: the environments are massive and gorgeous, all the textures look nice, and it's a MASSIVE GAME. Sure, in some areas the environment flavor stuff has really noticeable draw-in and there's no AA and some of the area textures (buildings, floors, the like) are noticeably low-res on close inspection and it's only running at 480i, but when playing, lack of AA and resolution are basically invisible and in most areas the env flavor draw-in is still really far off. It *feels* like a mid-life PS3 game, which the creators deserve mad props for. (I have yet to try upscaling via homebrew, when I get a hackable PS2 i'll see if it looks any better at 720p or 1080i.)
This isn't the only game like this, I have at least 4 that look like PS3 games on-disc, and like 12 more waiting for a hacked PS2, this isn't uncommon. They crammed so much flavor and life into 40MB of total VRAM and it's absolutely fucking nuts.10 -
I can understand why in technical interviews they use those algorithmic questions. It's an incredibly short period of time to assess someone's coding capabilities. BUT can't we find a better way to do it? I mean, I've never implemented dijkstra in a work environment, and I had never heard of someone that faces those kind of problems in a normal day of work.
I may be judging by my limited information, but wouldn't be more useful to actually ask to solve a more plausible problem?
For example, create a microservice that implements this API, send us the GitHub link and the API url.
¯\_(ツ)_/¯1 -
Today I had a full-day job interview for a junior data scientist position.
First I met the team which was only like half of everyone because apparently everyone was gone on Fridays. However the few there were really nice.
First task is to do some basic data analysis stuff even though I already spent a week on the coding challenge and sent them all my code/tasks. I log into my machine and create a new virtual environment but can't for the life of me figure out how to use the command line in windows to install packages. Turns out there is some problem with their proxy and they have to log me in on that. Then I am struggling on the keyboard because it's for a language different that my mother tongue and it takes me 3x as long to so the most simple things. All my shortcuts are out the window. Haven't a hard time typing parentheses and brackets. Start freaking out and have a panic attack mid task. I'm sweating bullets. I didn't even make it to the simple visualization tasks much less the models at the end. Time gets called and we all go to lunch and I'm freaking out on the inside the entire time. Angry at myself because I know I am better and just couldn't think.
After lunch I present my code and results from a coding challenge I did weeks prior. People from other teams get invited and I end up getting grilled for 2 hours by 15 people. Questions are flying in from all sides. They ask me almost everything I know about machine learning and some more. Under stress I forgot the name of the optimizer I used and couldn't answer some easy stuff because my mind was racing.
Right now I am on the train home and my body physically hurts. I am disappointed with myself and wish I could have shown up better. Never really froze up like this before.2 -
Tl;dr I am incredibly ashamed of my code at work.
I recently started working as a junior dev. I know many aspects of the stack I use, and I feel pretty comfortable when solving simple and specific problems.
But this is the first complete project I make, and I received no peer review until now. And my code sucks.
I tried my best to deliver a good and working code, but it became messy in too many places. Now it's too late to refactor.
Probably I just cannot see the right way of modeling specific situations, I don't feel I should blame the frameworks I'm using, but the point is that my code sucks. Or at least this is how I feel.
I'm going to leave this workplace soon (personal reasons, not related to this topic and/or the company), and I am kinda scared of the shit I'm about to leave to them. It's a very nice environment and they don't deserve this crap. Also I have some other good reasons to worry about this, but I cannot tell them.
My plan is to finish a couple or personal stuff I have to do and then spend as many hours I can on the project trying to finish it asap and make the code better (for now I've been working only 6hr/day).
I'm really thinking that I just suck at this.12 -
Serverless and death of Programming?!
_TL;DR_
I hate serverless at work, love it at home, what's your advice?
- Is this the way things be from now on, suck it up.
- This will mature soon and Code will be king again.
- Look for legacy code work on big Java monolith or something.
- Do front-end which is not yet ruined.
- Start my own stuff.
_Long Rant_
Once one mechanic told me "I become mechanic to escape electrical engineering, but with modern cars...". I'm having similar feelings about programming now.
_Serverless Won_
All of the sudden everyone is doing Serverless, so I looked into it too, accidentally joined the company that does enterprise scale Serverless mostly.
First of all, I like serverless (AWS Lambda in specific) and what it enables - it makes 100% sense and 100% business sense for 80% of time.
So all is great? Not so much... I love it as independent developer, as it enables me to quickly launch products I would have been hesitant due to effort required before. However I hate it in my work - to be continued bellow...
_I'm fake engineer_
I love programming! I love writing code. I'm not really an engineer in the sense that I don't like hustle with tools and spending days fixing obscure environment issues, I rather strive for clean environment where there's nothing between me and code. Of course world is not perfect and I had to tolerate some amounts of hustle like Java and it's application servers, JVM issues, tools, environments... JS tools (although pain is not even close to Java), then it was Docker-ization abuse everywhere, but along the way it was more or less programming at the center. Code was the king, devOps and business skills become very important to developers but still second to code. Distinction here is not that I can't or don't do engineering, its that it requires effort, while coding is just natural thing that I can do with zero motivation.
_Programming is Dead?!_
Why I hate Serverless at work? Because it's a mess - I had a glimpse of this mess with microservices, but this is way worse...
On business/social level:
- First of all developers will be operations now and it's uphill battle to push for separation on business level and also infrastructure specifics are harder to isolate. I liked previous dev-devops collaboration before - everyone doing the thing that are better at.
- Devs now have to be good at code, devOps and business in many organisations.
- Shift of power balance - Code is no longer the king among developers and I'm seeing it now. Code quality drops, junior devs have too hard of the time to learn proper coding practices while AWS/Terraform/... is the main productivity factors. E.g. same code guru on code reviews in old days - respectable performer and source of Truth, now - rambling looser who couldn't get his lambda configured properly.
On not enjoying work:
- Lets start with fact - Code, Terraform, AWS, Business mess - you have to deal with all of it and with close to equal % amount of time now, I want to code mostly, at least 50% of time.
- Everything is in the air ("cloud computing" after all) - gone are the days of starting application and seeing results. Everything holds on assumptions that will only be tested in actual environment. Zero feedback loop - I assume I get this request/SQS message/..., I assume I have configured all the things correctly in sea of Terraform configs and modules from other repos - SQS queues, environment variables... I assume I taken in consideration tens of different terraform configurations of other lambdas/things that might be affected...
It's a such a pleasure now, after the work to open my code editor and work on my personal React.js app...2 -
So, I decided over the weekend that I would move my entire dev environment to Linux. No Windows on the laptop and only as a backup boot system for my home PC. I wanted to wean myself off of Linux as only being a VM and move to the full blown desktop.
I can only describe my experience to that of having your first kid: lot's of crying and joy at the same time.
Things I've learned:
1. The install is amazingly painless. Wi-Fi and Bluetooth work straight out of the box no configuring needed.
2. OH MY GOD THE CUSTOMIZATION. Rocking Arc Dark theme on Gnome3 = EVERYTHING IS
ALWAYS DARK MICROSOFT WHY IS THIS NOT A THING.
3. Getting Java servlets to work has been hell. I gave up trying to get them to work in eclipse and moved over to IntelliJ. More trial and error before I can figure out why tomcat won't fucking work in eclipse but it's fine in IntelliJ.
4. The UI and overall work flow has been improved after getting past the learning curve. Gnome3 is way better from when I tried it out 4 years ago.
5. Vim has a steep learning curve but I am starting to understand the net benefits of it. It'll probably be a solid month before I get good with it.
6. Loosing Microsoft Office has been a little bit of a challenge but their suite is online so....meh. I do miss Visual Studio though, and am still looking for an adequate replacement for C++ and C# development.
Overall it's been a challenge but I think it's been a net gain. Now if only I could get the whole sys-admin team to use it. ;)12 -
I recently went through a very detailed and well-explained Python-based project/lesson by Karpathy which is called micrograd. This is a tiny scalar-valued autograd engine and a neural net on top of it.
The project above is, as expected, built on Python. For learning purposes, I wanted to see how such a network may be implemented in TypeScript and came up with a 🤖 micrograd-ts - https://github.com/trekhleb/... repository (and also with a demo - https://trekhleb.dev/micrograd-ts/ of how the network may be trained).
Trying to build anything on your own very often gives you a much better understanding of a topic. So, this was a good exercise, especially taking into account that the whole code is just ~200 lines of TS code with no external dependencies.
The micrograd-ts repository might be useful for those who want to get a basic understanding of how neural networks work, using a TypeScript environment for experimentation.
With that being said, let me give you some more information about the project.
## Project structure
- [micrograd/](https://github.com/trekhleb/...) — this folder is the core/purpose of the repo
- [engine.ts](https://github.com/trekhleb/...) — the scalar `Value` class that supports basic math operations like `add`, `sub`, `div`, `mul`, `pow`, `exp`, `tanh` and has a `backward()` method that calculates a derivative of the expression, which is required for back-propagation flow.
- [nn.ts](https://github.com/trekhleb/...) — the `Neuron`, `Layer`, and `MLP` (multi-layer perceptron) classes that implement a neural network on top of the differentiable scalar `Values`.
- [demo/](https://github.com/trekhleb/...) - demo React application to experiment with the micrograd code
- [src/demos/](https://github.com/trekhleb/...) - several playgrounds where you can experiment with the `Neuron`, `Layer`, and `MLP` classes.
Demo (online)
---------------------
To see the online demo/playground, check the following link:
🔗 https://trekhleb.dev/micrograd-ts3 -
What happens as you accrue years of experience is, you feel as if you learned a lot, actually its yes and no, yes because working in an environment with deadlines teaches things, no because the tech is changing.
The fact is tech is changing every few months if not year, one should be having a baby's curiosity to learn and adapt to the new practices.
When I started my tech career I was having a growth mindset, as I went on I felt somehow I got into a fixed mindset and got frustrated often. It's better late than never to realize that you may get wrong more often than right and learn to have an open mind when working.
Finally always take it easy on yourself, learn and move on.4 -
you know what annoys me about this situation the most ?
noone is living an ideal life
in any sense
except a few
but that being said, living less than ideal life if people had not wasted so much time, would have led to certain things becoming better.
example.
if i was out of development work, and had to take a crap job.
and lets say that ended up putting me in a financially unstable situation.
if i had rotten teeth, i could work part time, go to a sliding scale place and fix them one by one
while either educating myself further or looking for a better job because in truth, if i'm accepting a part time job, i must be fucked.
i don't see any longevity in an intensely physical job, I see an early death.
there are not enough paying people to ensure everyone has a skilled job, and truthfully not everyone can, but we have more people than we need to do the unskilled and skilled jobs both so why are we not running with that ?
the best time to do unskilled labor or just labor jobs period is when a person is young and there body is new.
and then not for long or with accommodation considering throwing your back out or fucking up your knees stays with you for life.
everything is so backwards in this country.
people think in terms so frequently these days in 'how can i make someone else suffer for my amusement and see their potential diminished so i feel better about my fucked up pathetic life ?'
or
'how can i get revenge against a person that doesn't deserve it'
or
'how can i ensure other people are totally boned so my charmed life i don't deserve seems satisfying'
its pretty gross as are these people
well fast forward years later and life appears fairly repetitive for alot of people
took a very large of detours here, had some fun, experienced some fucked up horros, saw a few wonders which were mostly based off my ideas, and some that were not.
still i return to what is to be done about our unfair, wasteful system ?
I've always been a fan of removing people's 'excuses' to neglect their children for example.
and definitely blocking all avenues of abuse.
even unintended, or pretended to be unintended.
i also hate people who smell because they don't clean themselves, and use excuses for that
I also hate people who make other people live in a situation where they can't take care of themselves and then try to dominate places they seek refuge because our fucking system sucks.
I also hate that there is more food than people can eat and restaurants closing when there are hungry people.
i also despise that we have more vacant houses in this country than we have family units.
some are just rotting away from neglect.
and i most especially hate people who get off on watching whole landscapes decay.
there is tons of work for the proper people
some of it is hard
some of it is tedious
its these kind of tasks that are necessary
the right spirit and the RIGHT COMPENSATION and the work gets done.. hopefully.
starting out with placing everyone in means to eat and sleep and clean themselves seems the most important.
everything else is icing on the cake, because by and large many people get sick of doing the same exact things, and people hate staring at the wall.
the problem is, there are alot of people who are, due to extreme damages from our modified culture, extremely abnormal, sadistic and untrustworthy around... anyone.
so with more time on their hands, they get bored and turn destructive and antisocial and breed people to be worse.
years I've been preaching this.
same people fly past in man places.
here and there some new fool marches in, eyes sparkling with malevolence, only to get caught in the same eternal loop and be absorbed into it.
i haven't seen one such as myself that I know of, that showed up with every intention of changing their life, becoming friendly with people, finding the things they enjoyed, and improving themselves intellectually, emotionally and socially; searching for an environment filled with more people who would be helpful to this extent, getting a rude awakening and realizing how horrible their country was becoming.
don't know if I should be happy being alone as the only sane person. heh.
I really don't want to be. I just want us to be happy. this is deserved after so much hardship. after seeing how people in general have become.
oh we all have lusts and vices and shortcomings, but the gulf that had grown between ordinary folk and the general population is astoundingly wide.8 -
My work product: Or why I learned to get twitchy around Java...
I maintain a Java based test system, that tests a raster image processor. The client is a Java swing project that contains CORBA bindings to the internal API of the raster image processor. It also has custom written UI elements and duplicated functionality that became available in later versions of Java, but because some of the third party tools we use don't work with later versions of Java for some reason, it's not possible to upgrade Java to gain things as simple as recursive directory deletion, yes the version of Java we have to use does not support something as simple as that and custom code had to be written to support it.
Because of the requirement to build the API bindings along with the client the whole application must be built with the raster image processor build chain, which is a heavily customised jam build system. So an ant task calls out to execute a jam task and jam does about 90% of the heavy lifting.
In addition to the Java code there's code for interpreting PostScript files, as these can be used to alter the behaviour of the raster image processor during testing.
As if that weren't enough, there's a beanshell interface to allow users to script the test system, but none of the users know Java well enough to feel confident writing interpreted Java scripts (and that's too close to JavaScript for my comfort). I once tried swapping this out for the Rhino JavaScript interpreter and got all the verbal support in the world but no developer time to design an API that'd work for all the departments.
The server isn't much better though. It's a tomcat based application that was written by someone who had never built a tomcat application before, or any web application for that matter and uses raw SQL strings instead of an orm, it doesn't use MVC in any way, and insane amount of functionality is dumped into the jsp files.
It too interacts with a raster image processor to create difference masks of the output, running PostScript as needed. It spawns off multiple threads and can spend days processing hundreds of gigabytes of image output (depending on the size of the tests).
We're stuck on Tomcat seven because we can't upgrade beyond Java 6, which brings a whole manner of security issues, but that eager little Java updated will break the tool chain if it gets its way.
Between these two components we have the Java RMI server (sometimes) working to help generate image data on the client side before all images are pulled across a UNC network path onto the server that processes test jobs (in PDF format), by reading into the xref table of said PDF, finding the embedded image data (for our server consumed test files are just flate encoded TIFF files wrapped around just enough PDF to make them valid) and uses a tool to create a difference mask of two images.
This tool is very error prone, it can't difference images of different sizes, colour spaces, orientations or pixel depths, but it's the best we have.
The tool is installed in both the client and server if the client can generate images it'll query from the server which ones it needs to and if it can't the server will use the tool itself.
Our shells have custom profiles for linking to a whole manner of third party tools and libraries, including a link to visual studio 2005 (more indirectly related build dependencies), the whole profile has to ensure that absolutely no operating system pollution gets into the shell, most of our apps are installed in our home directories and we have to ensure our paths are correct for every single application we add.
And... Fucking and!
Most of the tools are stored as source bundles in a version control system... Not got or mercurial, not perforce or svn, not even CVS... They use a custom built version control system that is built on top of RCS, it keeps a central database of locked files (using soft and hard locks along with write protecting the files in the file system) to ensure users can't get merge conflicts by preventing other users from writing to the files at all.
Branching is heavy weight and can take the best part of a day to create a new branch and populate the history.
Gathering the tools alone to build the Dev environment to build my project takes the best part of a week.
What should be a joy come hardware refresh year becomes a curse ("Well fuck, now I loose a week spending it setting up the Dev environment on ANOTHER machine").
Needless to say, I enjoy NOT working with Java. A lot of this isn't Javas fault, but there's a lot of things that Java (specifically the Java 6 version we're stuck on) does not make easy.
This is why I prefer to build my web apps in python or node, hell, I'd even take Lua... Just... Compiling web pages into executable Java classes, why? I mean I understand the implementation of how this happens, but why did my predecessor have to choose this? Why?2 -
Tldr: intern here, I like staying in my workplace for longer than my work hours. Is it going to cause me trouble if i become a permanent employee?
Long story: So as per my previous rants i joined a startup as an android intern, company is of around 80-90 employees with many teams and standard/sad rules like 9 hr shift, 1 paid leave per month etc.
I was worried of these rules due to being a regular clg student and living very far from office, so i complained and got a little compensations like 7 hr work shift, few half days and work from home days, etc
Now the thing is : i actually have kind of started to like this work. Its been a month and i took around 12 days leave last month for papers, but marked some of them as wfh and half days, so deductions were not what i expected (although payslip is yet to come, which would have given a better explaination). But overall Pay is decent, work environment is chill ( people work in teams here, but since am the only android dev, i got no timelines, or tech leads. Just the ceo, whom i send a daily progress message), there are good refreshments available and after papers, i am pretty much free.
So I like staying here for longer hours like 8, or 8.30 hours. My family is also working, so they are usually not much worried, tho my mom starts sending messages when i leave after 7. But this friend of mine, keeps saying "its wrong, your managers are gonna call you weak and would force you to work for more hours when they notice you can come for 9 hours , etc"
So am i doing the wrong thing here?3 -
Stupid manager/boss
my good idea always get rejected first so badly.
Someday ,i proposed a good idea. after meeting with client he said "yeah we actually working on that by using this and this idea" like he's the one who found it, then he said do that idea of yours.
Then someday, i do split the repository to make things clean in approval of my other boss which is more weird. Then after split it up i got bashed from him infront of other team.
But after critical phase that make me night work. He says "we need to split it up to make this easier". Fuck. If we do it first. We dont need to take night work.
Come on, actually i never do something only based on my task. But i do want create better environment on the office. At least morale up your fuckin employee dont bash them everyfuckintime.
But yeah, like buzz said.
"Stupid people, i see stupid people everywhere" -
Recently I started to study app development (I am frontend/backend developer) and I noticed unlike when I was younger, I have a focus limit of about 6 hours. After 6 hours I become super distracted... I am slowly getting back to normal but recently I got so distracted I decided to play a breve game and which one better than half life alyx?
Well, if you have a vr headset play it: I swear I spent 2 hours just fucking around and looking at the environment... in one scene you enter a house and I went full detective trying to understand why the house was messed up: picked up stuff, looked in the corners and so on... it really gives you an impression of what vr could be4 -
Genuine problem, not a rant
Started a new frontend developer/designer/graphic designer job recently. I feel technically capable, no problem there. Just noticing a pattern of repeatedly missing deadlines.
Its a very busy office, with various people all coming to me with things they need me to do. Never worked in an environment so busy before.
Doesn't help that they force me to manage my tasks by spreadsheets, communication by email, deployment by filezilla and no version control, but not convinced I'd still meet deadlines if I had a better setup.3 -
I'm organizing my leaving handover etc,
Just spent the better part of 2 hours making sure a graduate, who due to come on the project has the environment all set up, which is cool dont wana see them stuck,
But when u ask a mid/senior level dev how his set up is goin and he replys with his user name and password for a VM and says, "Work away at it yourself" ,
thats when im trying to hold back my inner Hulk and not lose the Fucking plot! Lazy Cunt! -
How do you guys motivate yourself to work out.
Its been 2 times... First i tried 2 years ago in Aug 16.
Back then , my college started and i got busy in that so left the gym after a month. I blamed myself, the tiredness it gave me and lack of friends/work out partners there at that time.
Second time, i tried more hardly in jan 2018. This time, i had my gym companions, nd i was doing better. At the start i was handling the stress well, since it was just the clg and gym,then came along the internship, but i still handled it. But after the internship, i felt the need to up my skills and do more personal projects which was still not happening because of the gym tiredness. And then came along a scholarship into one of my favorite courses, and then the papers, and then.... A lot of 'other' things started happening, so i leftthe gym jn may 18.
I am concerned about a few things. 1)These days, I am usually entangled between entertainment, clg work, self learning/ scholarships. I used to do gymming in evening hours after clg and self learning on weekends, but now i am like everyday am straight to home from clg, onto bed, into the sheets, laptop on, and am doing scholarships task till late night. I fear that my work is now so important that i cannot push it to weekends. How do you guys manage learning and maintaining your body together?
2. Gym is a sick environment. We see pumped up people with 8% body fat , skin sticking to their ugly muscles while i am there , juggling my belly fat on the treadmill. For 2 months straight i was just doing the cardio. It gave me some results i guess, my belly got a Little loose but no one really saw much changes. I am not concerned about other people or fast results particularly, but when combined, i feel like am going to a royal house party everyday, where everyone except me is a beautiful king or queen , except me, a lowly peasent . Those pumped up kings are beating their bodies and getting more beautiful, while i am trying to beat these dead belly meat which won't flatten up .
Meh.2 -
I love listening to music when programming. It's not something I started because I wanted to, but it just kinda happened.
In my first job as an intern, they followed concept of open office, a very shitty strategy as it led to chaos and noise all the time around my desk. To move away from that, bought a pair of Sony headphones, which I still consider as my best investment.
Started listening to songs since they're a better choice in the cacophony of chaos present around. These days, even though I work in a regular and calm environment still can't seem to get rid of the practice of listening to songs.
Anyone here have similar experience??
P.S. Suggest some good songs to listen to while programming!!1 -
Hello, today was my First day, internship at Microsoft innovation center BE, a great day with amazing people, my project is called tech Office, we need to process data from sensors in the office, create and use Microsoft AI to optimize and help the office become smarter and more efficient. Make the life better and the environment more productive. I don't really know where to start but I'm happy to be given such an opportunity and will do everything to make this work !
-
i have a very casual and boring job. it's a b2b company and you can get an idea of how less work we get (or how fast i am) that it's day 1 of the sprint and i have almost finished all my tickets. my manager always praises me as someone fast whereas i see myself as pretty slow and this company even slower.
i feel like quitting, but the relax environment and stability of the company on paper makes me wonder of that would be a correct decision.
It's a deep tech company (not just meat e commerce or car rentals, a proper b2b analytics giant startup with good profitability) , our sdks are used by major startups and yet i find it boring.
I am an android dev who would love to stay at top of the game. my previous company used latest jetpack libraries, kotlin, modular architectures and stuff. everyday was a hectic chaos of life where there were deadlines, new requests coming in every few days and i was becoming the awesome fast android dev that i am now.
in this company there is no challenge for me.But the amount of free time has helped me grow beyond a single domain. i am currently hustling in 3 areas : my body( i started working out regularly, got my tummy under control), my technical skillset( started taking web dev classes) and my physical skillset (started taking driving and swimming lessons) . the amount of self growth time increases since company has a good leave and PTO policy
it all feels pretty good but the constant feeling of being left out from the android domain makes me think if i should give interviews. am i being stupid or what? my friends are all growing up with better salaries and packages. i am way better than some of them and equally capable as a few of them, so i sometimes feel being behind in finances too :/7 -
le me wanted to watch anime after 10 hour work
"Hmm let's just open my work in a new tab"
"Wtf it's 500"
> read logs
> problem with webpack build
> after 3 hour debugging loaders, environment variables, decided to use a shady, less documented library I found in the first minute debugging called better-x instead of x i'm currently using
> works
> fml why don't I try it earlier, 3 hours lost gg -
ops: your dev environment shuts itself down on boot up, something is broken in the boot process and it'd be more trouble to figure out why so you're better off making a new one again
fuck me
and fuck you too AWS EC2 whatever -
February will be the first full year at this company as full time employee.
I've updated so many legacy projects, optimized a lot of workflows as well as built new tools to improve efficiency and remove unnecessarily duplicate projects (sometimes literally only 3 variables were different between multiple projects)
My one co-worker taught himself enough code to do the job but doesn't think like a programmer though he is asking me for help and advice to improve what he does since ive proven i know a little. my other direct co-worker I'm practically teaching a Programming 100 course to them
My direct manager at one point said he was so happy he took a chance on me even though I didn't interview well
I like my job, I find it so much better than my last job which was horribly toxic, and more fun than my first 'real' job as a night shift help desk for basically a warehouse environment.
But I feel under paid sometimes for how much i do and all ive improved in my first year, I have my first yearly review coming up. I'm hoping to get a decent raise for all ive done and I want to somehow go over everything with the HR person to justify it. But I have no idea how to talk about my dev work to them in a way a non technical person could understand. I'm also not sure how the review process will work. Like will my manager be there. Or is it just me and HR, is there a paper I'll be sent to fill before hand,1 -
How much of fairness can human factor add to a government compared to foolproof AI algorithm. Is it too early or too utopiaic to trust AI with governance compared to agenda based corporate embracing environment destructing corrupt to the core politicians. Is AI more evil than today's politicians. Is there a project already similar to crypto currency on governance. On seeing all butt heads in power and in age where whistle blowers are caged I feel helpless tothink software cannot change the most primal thing - politics. Switching on TV and watching news had never been this disgusting. Flushing these thoughts , came back to my desk to learn something better and be at peace with programming.4
-
A very long rant.. but I'm looking to share some experiences, maybe a different perspective.. huge changes at the company.
So my company is starting our microservices journey (we have a 359 retail websites at this moment)
First question was: What to build first?
The first thing we had to do was to decide what we wanted to build as our first microservice. We went looking for a microservice that can be used read only, consumers could easily implement without overhauling production software and is isolated from other processes.
We’ve ended up with building a catalog service as our first microservice. That catalog service provides consumers of the microservice information of our catalog and its most essential information about items in the catalog.
By starting with building the catalog service the team could focus on building the microservice without any time pressure. The initial functionalities of the catalog service were being created to replace existing functionality which were working fine.
Because we choose such an isolated functionality we were able to introduce the new catalog service into production step by step. Instead of replacing the search functionality of the webshops using a big-bang approach, we choose A/B split testing to measure our changes and gradually increase the load of the microservice.
Next step: Choosing a datastore
The search engine that was in production when we started this project was making user of Solr. Due to the use of Lucene it was performing very well as a search engine, but from engineering perspective it lacked some functionalities. It came short if you wanted to run it in a cluster environment, configuring it was hard and not user friendly and last but not least, development of Solr seemed to be grinded to a halt.
Elasticsearch started entering the scene as a competitor for Solr and brought interesting features. Still using Lucene, which we were happy with, it was build with clustering in mind and being provided out of the box. Managing Elasticsearch was easy since there are REST APIs for configuration and as a fallback there are YAML configurations available.
We decided to use Elasticsearch since it provides us the strengths and capabilities of Lucene with the added joy of easy configuration, clustering and a lively community driving the project.
Even bigger challenge? Which programming language will we use
The team responsible for developing this first microservice consists out of a group web developers. So when looking for a programming language for the microservice, we went searching for a language close to their hearts and expertise. At that time a typical web developer at least had knowledge of PHP and Javascript.
What we’ve noticed during researching various languages is that almost all actions done by the catalog service will boil down to the following paradigm:
- Execute a HTTP call to fetch some JSON
- Transform JSON to a desired output
- Respond with the transformed JSON
Actions that easily can be done in a parallel and asynchronous manner and mainly consists out of transforming JSON from the source to a desired output. The programming language used for the catalog service should hold strong qualifications for those kind of actions.
Another thing to notice is that some functionalities that will be built using the catalog service will result into a high level of concurrent requests. For example the type-ahead functionality will trigger several requests to the catalog service per usage of a user.
To us, PHP and .NET at that time weren’t sufficient enough to us for building the catalog service based on the requirements we’ve set. Eventually we’ve decided to use Node.js which is better suited for the things we are looking for as described earlier. Node.js provides a non-blocking I/O model and being event driven helps us developing a high performance microservice.
The leap to start programming Node.js is relatively small since it basically is Javascript. A language that is familiar for the developers around that time. While Node.js is displaying some new concepts it is relatively easy for a developer to start using it.
The beauty of microservices and the isolation it provides, is that you can choose the best tool for that particular microservice. Not all microservices will be developed using Node.js and Elasticsearch. All kinds of combinations might arise and this is what makes the microservices architecture so flexible.
Even when Node.js or Elasticsearch turns out to be a bad choice for the catalog service it is relatively easy to switch that choice for magic ‘X’ or component ‘Z’. By focussing on creating a solid API the components that are driving that API don’t matter that much. It should do what you ask of it and when it is lacking you just replace it.
Many more headaches to come later this year ;)3 -
I'm about to finish college and can't decide if the small company with less pay but good work environment is better than the corporation with better pay but more bureaucratic BS (or so I've heard). What does devRant prefer?
SOS8 -
My previous rant was still in my edit window while I wanted to create this random one and it was so bad, the effort of deleting it was even painful. Imagine reading it. You guys dodged a bullet like a Rust dev does with fun.
I was in my bed, just thinking about Rust people. Saying that Rust is saying that sex with a condom is great but we both know the truth and that you're only doing it because your environment like your parents and government (the Biden administration, fact) wants you to.
But while thinking this, I just found the real issue regarding declining child births in the west. Every time in history had it's issues, but we're doing fine. What changed that we don't have make those sweet kiddo's now? Well, we just don't have power outages anymore and we have the internet on a device with hours of battery to keep us entertained. We don't have to take the rewarding and exciting risk of a C dev anymore if we're bored (great sex without a condom).
My solution: planned internet outages executed by the MIVD (better than the CIA, the MIVD can at least keep secret what they're doing, I'm sure you've never heard of this tough bastards). The effects will be very easy measurable in a span of few years. But it has to be executed in secret so people don't cheat by downloading a Netflix movie upfront. Netflix & Chill is a hoax, else we would have a baby boom by now or we're all Rust devs.
Anyway, even if you're a Rust dev, admit that this is a great inharmful idea that could actually help.
I don't do jokes.
Phone is birth control, change my mind like I did yours.
You're welcome.random condom i should work for gvt chill rust internet phone outage netflix planned c dr conspiracy13 -
Random thoughts on more out of the box tools/environments.
Subject: Pharo
Some time ago I had shown one of my coworkers about Pharo and he quickly got the main idea behind it but mentioned how he didn't like the idea of leaving behind his text editor to deal with source code.
Some time last week I showed the dude some cool 3d animations you can do with Pharo while simultaneously manipulating the code to change them in real time. Now that caught his attention particularly and he decided he wanted to know more about the language but in particular the benefits of fucking around with an image based environment rather than a file based.
Both of us reached the conclusion that image based makes file based dev enviroments seem quaint in comparison, but estimated that it was nothing more than a sentiment rather than a fact.
We then considered what could be the advantage/disadvantages of such environments but I couldn't come up with anything other than the system not having something like Vim or VS Code or whatever which people love, but that it makes up for it with some of the craziest IDE tools I had ever seen. Plugins in this case act like source code repos that you can download and activate into your workflow in what feels something similar to VS Code being extended via plugins written in JS, and since the GUI is maleable as it is(because everything is basically just subsets of morp h windows) then extending functionality becomes so intuitive that its funny
Whereas with Emacs(for example) you have to really grind your gears with Elisp or Vimscript in Vim etc etc, with Pharo your plugin system is basicall you just adding classes that will convert your OS looking IDE into something else.
Because of how light the vm machine is, portability is a non issue, and passing pharo programs arround is not like installing Java in which you need the JVM.
Source code versioning, very important, already integrated into every live environment and can be extended to do pushes through simple key bindings with no hassle.
I dunno, I just feel that the tool is too good to be true. I keep trying to push limits into it but thus far I have found: data visualization and image modeling to work fine, web development with Teapot to be a cakewalk and work fine, therr are even packages for Arduino development.
I think its biggest con would be the image based system, but would really need to look into how this is bad by any reason other than "aww man I want vim!" since apparently some psychos already made Emacs and VS code packages for interfacing with Pharo source trees.
Embedded is certainly out of the question for any real project since its garbage collected and not the most performant cookie in the jar.
For Data science I can see some future, seems just as intuitive and interesting as a Jupyter Notebook actually, but the process can't and will not be the same since I still don't know of a way to save playground snippets unless you literally create classes for it, in which case every model you build gets saved inside of an object, sounds possible but, strange since it is not a the most common workflow in jupyter.
Some of the environment is sometimes glitchy, but it does have continuos development and have not found many hassles.
There is a biased factor from my side: I seem to be wired to understand the syntax and simple object model better than in other languages. To me this feels natural as if I was just writing ideas rather than code, mostly because I feel that there really ain't much in terms of syntax, the language gets out of my way and the IDE feels like the most intuitive environment in the world to me. I can see why some people would find it REALLY weird of counterintuitive tho.
Guess I really am a simple dude. -
My team has been using CVS for ages. I'm new to the team and can't imagine how my colleagues are working in this environment. I am thinking of proposing to change to git.
I found this amazing video of Linus explaining to Google engineers why git is better and I thought I'll show it to them:
https://youtu.be/4XpnKHJAok8
What do you guys say about my idea? Do you have anything that can help me?17 -
Java Life Rap Video
https://m.youtube.com/watch/...
SPOKEN:
In the cubicles representin’ for my JAVA homies…
In by nine, out when the deadlines are met, check it.
CHORUS:
We code hard in these cubicles
My style’s nerd-chic, I’m a programmin’ freak
We code hard in these cubicles
Only two hours to your deadline? Don’t sweat my technique.
Sippin’ morning coffee with that JAVA swirl.
Born to code; my first words were “Hello World”
Since 95, been JAVA codin’ stayin’ proud
Started on floppy disks, now we take it to the cloud.
On my desktop, JAVA’s what’s bobbin’ and weavin’
We got another winning app before I get to OddEven.
Blazin’ code like a forest fire, climbin’ a tree
Setting standards like I Triple E….
Boot it on up, I use the force like Luke,
Got so much love for my homeboy Duke.
GNU Public Licensed, it’s open source,
Stop by my desk when you need a crash course
Written once and my script runs anywhere,
Straight thuggin’, mean muggin’ in my Aeron chair.
All the best lines of code, you know I wrote ‘em
I’ll run you out of town on your dial-up modem.
CHORUS:
‘Cause…
We code hard in these cubicles
Me and my crew code hyphy hardcore
We code hard in these cubicles
It’s been more than 10 years since I’ve seen the 404.
Inheriting a project can make me go beeee-serk
Ain’t got four hours to transfer their Framework.
The cleaners killed the lights, Man, that ain’t nice,
Gonna knock this program out, just like Kimbo Slice
I program all night, just like a champ,
Look alive under this IKEA lamp.
I code HARDER in the midnight hour,
E7 on the vending machine fuels my power.
Ps3 to Smartphones, our code use never ends,
JAVA’s there when I beat you in “Words with Friends”.
My developing skills are so fresh please discuss,
You better step your game up on that C++.
We know better than to use Dot N-E-T,
Even Dan Brown can’t code as hard as me.
You know JAVA’s gettin’ bigger, that’s a promise not a threat,
Let me code it on your brain
WHISPERED:
so you’ll never forget.
CHORUS:
We code hard in these cubicles,
it’s the core component…of what we implement.
We code hard in these cubicles,
Straight to your JAVA Runtime Environment.
We code hard in these cubicles,
Keep the syntax light and the algorithm tight.
We code hard in these cubicles,
Gotta use JAVA if it’s gonna run right.
We code hard in these cubicles
JAVA keeps adapting, you know it’s built to last.
We code hard in these cubicles,
Robust and secure, so our swag’s on blast
CODE HARD1 -
Well I consider motivation something that although is influenced by your "environment", you must seek for it. Even with the most boring/stressful/etc. situation, there must be something that makes a little change... For example, my first job was in QA testing, and I don't have anything against it, but it's simply not what I was interested... Initially my life was a little bit miserable haha, because most of my friends were already working as developers. At that time motivation was pretty low to be honest... My solution, I started learning about automation testing, that was more motivating and to be honest, a most interesting branch of testing. There I've found motivation to keep going, getting better and eventually gaining more experience to get a developer job.
-
Hi,
I want to install linux besides windows on my new computer (i7-8700k, gtx 1080). I use debian with i3 on my laptop for work and want to have a similar development environment at home. Does anyone have an adive to choose between ElementaryOS and Arch, or just stick with Debian. i3-gaps will be the wm, I just can't use another one ;)
Does one distro has better support for Nvidia cards in fact I would like to try CUDA.
I do not have other requirements; mostly webdev with python in the backend, and a little c++ game with SDL. This should not be a problem in a new distro.
Thanks for some advices and pro/cons11 -
Any devs here from Canada or who have worked there?... know any?
I'm strongly considering immigrating to Canada to give my future family a better chance at life (My current country has a highly unstable political climate).
Just wondering how the dev lifestyle is living there (for the average dev) i.e.
- Quality of life - I know I can't buy a house, but what can I rent? A house/ flat/ box?
- Hows the dev scene / culture?
- Work life balance / Work environment frustrations (I hear they are very politically correct and this may be a conflict with my blunt nature)
- Income Tax vs Government service delivery, I expect tax will be high due to free health care/ education but are they worth it? nb; any service delivery beats what I get...
Any feedback is welcome and will be appreciated.10 -
Just spent the better part of my day making our QA environment work and look like our CAT/UAT environment for a website and supporting web services that was built to look like 1998 puked on it. Wrong way people. Other Devs skipped QA due to external reasons (admittedly I was one) and never kept it updated... Everything from database comparisons to IIS configurations needed to be redone.
-
Any suggestion on (pls, cheap) books that'd enable me to understand the unix/Linux environment in its most fundamental level?
I do use Linux for some 10 years already, but just now I moved to a distro that doesn't do everything to me. So my basic idea is to get the basics so I'd have the least problems when transitioning to other distros/*ix systems, so pls, the less its distro specific, the better or is.
Thx5 -
How do you say no to any opportunity? I mean , as an engineering student, i have learned that anything can be made or any paper can be cleared if we set up our mind towards it( or if there is a deadline/good bucks/both attached to it)
But as a person who has given most of his free time to android dev, i know that i will give better outputs as an android dev than reading some web manuals for 2 days and work as a backend dev.
I am very confused. i have seen people who are very successful yet not passionate about any language , framework or tool. whatever comes in their way and carries a ton of $$$, they shut up, read the docs and make a great product. And then there are people who will only prefer to work in a specific environment and with a limited set of tools and technologies.
Can anyone with industry experience guide me that where should I incline if i am playing for the long run?3 -
I'm not liking docker so far. I assume it gets better later, but I've had a miserable experience using it as part of my dev environment so far. Just now I updated it and it broke my db container, so now I'm looking to either downgrade docker or fix the issue, both beings things that take time away from coding.2
-
I feel like we we not only 'advanced' various fields by pulling people off some lord of the flies island who only wanted to dance around with a severed pig head in reality and training them, but also depleted and destroyed many essential fields by removing all valid motivators from our environment by spreading so much cynicism and unguided lust for power over others in the absence of any of the unifying beliefs of former generations that the professions are going to implode in the years to come.
so I wasn't very experienced when i went to work some place years back. I'd worked on my own. and I was criticized by their 80k per year team lead as having 'only done some simple things'... when his project didn't work, and par for the course their criticisms were coming from people who took a standard backend on a very large project that actually had been designed to function and something else likely needed fixed, to 'HEY LETS USE LINQ TO SQL APPARENTLY WITHOUT TESTING RELATIVE PERFORMANCE !!!!! AND WE'LL THROW SOME AD HOC QUERIES GENERATED BY MICROSOFT AT OUR SERVER INSTALLATION AND WATCH THE PERFORMANCE 'GAINS' THEN WE'LL BACKTRACK AND PUT STORED PROCEDURES BACK AND GENERATE HOOKS TO THEM LIKE A CLASSICAL DAL. JUST USING LINQ TO SQL'S CONTEXT OBJECT ! HURRAY I HAVE A BACHELORS AND 15 YEARS EXPERIENCE !'
There are so many details to fill in teaching the mindset of how to do things right in the first place is kind of expensive to begin with and you don't necessarily learn that in school working on common comp sci projects in academia. But they should have known better. I'm actually embarassed to list linq to sql on my resume as I think back.8 -
I finally understand it. Its all about adaptability. The body and the subconsciouses mind is in a continuous adaptation to the environment it lives in. That explains why we always strive for new, better and cooler things, why we never are satisfied with what we have.
Be happy in the current position you are in, be grateful for simply living. It sounds like I'm on drugs or something, but we take such things for granted, appreciate and embrace what you have.2 -
Having a lot of bad experiences while working as intern in startups and about to join a MNC, i wanted to share my work life balance and technical demands that i expect from a company. These are going to be my list of checkpoints that i look forward , let me know which of them are way too unrealistic. also add some of yours if i missed anything :
Work life balance demands ( As a fresher, i am just looking forward for 1a, 2a and 8, but as my experience and expertise grows, i am looking forward for all 10. Would i be right to expect them? ):
1a 8 hr/day. 1b 9h/day
2a 5days/week. 2b 6 days/week
3 work from home (if am not working on something that requires my office presence)
4 get out of office whenever i feel like i am done for the day
5 near to home/ office cab service
6 office food/gym service
7 mac book for working
8 2-4 paid leaves/month
9 paid overtime/work on a holiday
10.. visa sponsorship if outside india
Tech Demands (most of them would be gone when i am ready to loose my "fresher " tag, but during my time in internship, training i always wished if things happened this way):
1. I want to work as a fresher first, and fresher means a guy who will be doing more non tech works at first than going straight for code. For eg, if someone hires me in the app dev team, my first week task should be documenting the whole app code / piece of it and making the test cases, so that i can understand the environment/ the knowledge needed to work on it
2. Again before coding the real meaningful stuff for the main product, i feel i should be made to prepare for the libraries ,frameworks,etc used in the product. For eg if i don't know how a particular library ( say data binding) used in the app, i should be asked to make a mini project in 1-2 days using all the important aspects of data binding used in the project, to learn about it. The number of mini tasks and time to complete them should be given adequately , as it is only going to benefit the company once am proficient in that tech
3. Be specific in your tasks for the fresher. You don't want a half knowledgeable fresher/intern think on its own diverging from your main vision and coding it wrong. And the fresher is definitely not wrong for doing so , if you were vague on the first place.
4. most important. even when am saying am proficient , don't just take my word for it. FUCKIN REVIEW MY CODE!! Personally, I am a person who does a lot of testing on his code. Once i gave it to you, i believe that it has no possible issues and it would work in all possible cases. But if it isn't working then you should sit with me and we 2 should be looking, disccussing and debugging code, and not just me looking at the code repeatedly.
4. Don't be too hard on fresher for not doing it right. Sometimes the fresher might haven't researched so much , or you didn't told him the exact instructions but that doesn't mean you have the right to humiliate him or pressurize him
5. Let multiple people work on a same project. Sometimes its just not possible but whenever it is, as a senior one must let multiple freshers work on the same project. This gives a sense of mutual understanding and responsibility to them, they learn how to collaborate. Plus it reduces the burden/stress on a single guy and you will be eventually getting a better product faster
Am i wrong to demand those things? Would any company ever provide a learning and working environment the way i fantasize?3 -
Joined leetcode to get better at algorithms.
Fuck leetcode.
Instead of giving you enough starter code to copy and paste into your IDE and get going, they give you a function you need to implement and test cases written in plain English.
AND THEN they sell autocomplete and debugging as a premium feature.
FUCK you guys. Give me something I can import into my own tools instead of deliberately tying me down to your shitty pay to win environment.
How am I supposed to understand my deliberately complex code without a fucking debugger?!?!?19 -
Okay. Here's the ONLY two scenarios where automated testing is justified:
- An outsourcing company who is given the task of bug elimination in legacy code with a really short timeframe. Then yes, writing tests is like waging war on bugs, securing more and more land inch after inch.
- A company located in an area where hiring ten junior developers is cheaper than hiring one principal developer. Then yes, the business advantage is very real.
That's it. That's the only two scenarios where automated testing is justified. Other such scenarios doesn't exist.
Why? Because any robust testing system (not just "adding some tests here and there") is a _declarative_ one. On top of already being declarative (opposed to the imperative environment where the actual code exists), if you go further and implement TDD, your tests suddenly begins to describe your domain area, turning into a declarative DSL.
Such transformations are inevitable. You can't catch bugs in the first place if your tests are ignorant of entities your code is working with.
That being said, any TDD-driven project consists of two things:
- Imperative code that implements business logic
- Declarative DSL made of automated tests that also describes the same business logic
Can't you see that this system is _wet_? The tests set alone in a TDD-driven project are enough to trivially derive the actual, complete code from it.
It's almost like it's easier to just write in a declarative language in the first place, in the same way tests are written in TDD project, and scrap the imperative part altogether.
In imperative languages, absence of errors can be mathematically guaranteed. In imperative languages, the best performance (e.g. the lowest algorithmic complexity) can also be mathematically guaranteed. There is a perfectly real point after which Haskell rips C apart in terms of performance, and that point happens earlier on than you think.
If you transitioned from a junior who doesn't get why tests are needed to a competent engineer who sees value in TDD, that's amazing. But like with any professional development, it's better to remember that it's always possible to go further. After the two milestones I described, the third exists — the complete shift into the declarative world.
For a human brain, it's natural to blindly and aggressively reject whatever information leads to the need of exiting the comfort zone. Hence the usual shitstorm that happens every time I say something about automated testing. I understand you, and more than that, I forgive you.
The only advice I would allow myself to give you is just for fun, on a weekend, open a tutorial to a language you never tried before, and spend 20 minutes messing around with it. Maybe you'll laugh at me, but that's the exact way I got from earning $200 to earning $3500 back when I was hired as a CTO for the first time.
Good luck!6 -
Educate them about context switching and how bad it is for productivity. Also deliver high quality work, at the end you’ll earn their trust and it makes for a much better work environment.
-
Best Practices for Implementing CI/CD Pipelines in a Microservices Architecture
Hello everyone,
I'm currently working on implementing CI/CD pipelines for our microservices-based application and I'm looking for some best practices and advice. Our architecture consists of several microservices, each with its own repository and development team. We've been using Jenkins for our build automation, but we're open to exploring other tools if they offer better integration or features.
Here are a few specific areas where I need guidance:
Pipeline Design: How should we structure our CI/CD pipelines to handle multiple microservices efficiently? Should each microservice have its own pipeline, or is there a better approach?
Deployment Strategies: What deployment strategies work best for microservices to ensure zero downtime and easy rollback? We're considering blue-green deployments and canary releases, but would love to hear about your experiences.
Tool Recommendations: Are there any CI/CD tools or platforms that are particularly well-suited for microservices architectures? We're particularly interested in tools that offer good integration with Kubernetes.
Testing and Quality Assurance: How do you handle testing in a microservices environment? What types of tests do you include in your CI/CD pipelines to ensure the quality and stability of each microservice?
Monitoring and Logging: What are the best practices for monitoring and logging in a microservices setup? How do you ensure that you have visibility into the performance and issues of individual microservices?
Any insights, resources, or examples from your own implementations would be greatly appreciated. Thank you in advance for your help!3 -
While planning my (personal) server I just seem to pile up more and more things to do/consider. Basically, for now I just want to have rclone, nextcloud and jellyfin, plus some usenet stuff later on. But I want to have the whole installation and configuration automated as far as possible, since I'll at first it will run in a test environment and needs to be migrated to another server at a point, possibly even another OS. So I suppose that means docker, docker-compose and Chef (any better options?). I want SSL: Traefik. User management / auth? RADIUS, LDAP. SSO? keycloak. I also need to deal with virtual hosts. And probably much more..
Since I just have basic Linux knowledge and have no real experience with any of the other technologies, I feel a bit lost. I just got to the abovementioned software due to some ddg research. I don't mind digging deep, I want to learn (which is half the reason for this project), but it's not easy to the the best way to set this up.11 -
I've only had a couple of bosses. Neither were bad nor were they amazing. My current environment is that I'm the only web developer so I don't really have a department boss. Instead my boss is the media boss which is charge of all things related to media. From websites to flyers. He has no idea what I do but trusts me to get stuff done. And he allows time to learn more about the field so I can be better equipped for the job.
-
a little later for wk131 but:
To build a completely open platform for everything we have right now... operating systems, manufacturing etc...
The basic idea being serving a line of products under the platform's branding with an algorithm to control which open source implementation of the underlying architecture is most stable/efficient and keep switching them out. This is incredibly ambitious.
A reward based system to power this based on contributions. Example: if the open platform oled manufacturing industry uses a manufacturing process you came up with ... You get paid until well another person's process is better and it gets switched out.
Ideal modularity tbh.
Switching out parts of apps .For example : if the most efficient map algorithm is created by X it will be used. Payments split up as better forked implementations appear.
It's a thriving fun environment. Fuck job stability. Humans weren't meant to live like that. Hunt an animal today or you won't get food tomorrow.
On the plus side this will close the intellectual gap in the current generation. -
I really want to use mock design tools in order to better design my UI layouts, but my main working environment is Linux, and almost all design and prototyping tools I found until now have only Windows or Mac OS ports.1
-
So far not much has changed in my office, only a colleague or three are working from home for two weeks as a precautionary measure after returning from a Coronavirus hot-spot.
For myself I see little danger: I commute by car, the office is so far Coronavirus-free, and I still have to go to shops to get food etc.
I'm more comfortable working in the office, as the environment is set up better, and I can chat with colleagues more easily when needed. If I should need to WFH for extended periods, I'll need another monitor (currently I have one nice 27" BenQ monitor on my desk at home), and a mechanical keyboard (the one I bought is in the office). -
Xamarin vs Flutter
I already know c# but I’m thinking it’s better to learn Dart + Flutter than carry on with Xamarin (only ever worked on the back end parts of Xamarin so not familiar with the layout syntax and the ui side of it).
Xamarin seems to be so clunky (to be fair more the dev environment than the end result), even on a powerful machine it’s a pig to work on.
Our project uses Xamarin forms, without any extra MVVM framework such as Prism and it just seems a bit shit from what front end code I’ve seen (could be the devs).
So given that I’m not sure that holding out for MAUI and expecting it to be a silver bullet is a good idea.
Is the UI code for Flutter any cleaner?
Is the dev environment more reliable?
Or is another option better, such as ReactNative or Ionic ?
(Particularly if one of those would let you develop an iOS version without access to a Mac)2 -
Need advice about switching to contracting.
TL;DR;
So I had 2 years of exp as an android dev, then I had a 1.5 year gap from doing android and now for the past 6 months Ive been doing android again fulltime. Im thinking of switching to contracting due to my debts and boring project and life crushing slow corporate processes in my current fulltime job, so I need tips and advices as to where should I start looking for new contracting gigs and in general what should I pay attention to. If it helps, I am based in EU, but am open to any EU/US gigs.
Now the full story:
Initially when I joined my current fulltime job after a break I had zero confidence, lowered my and employers expectations, joined as a junior but quickly picked up the latest standards and crushed it. Im doing better than half devs in my scrum team right now and would consider myself to be a mid level right now.
Asked for a 50% bump, manager kinda okayed it but the HQ overseas is taking a very long time to give me the actual bump. I have been waiting for 10 weeks already (lots of people in the decision chain were on and off vacations due to summer, also I guess manager sent this request to HQ too late, go figure). Anyways its becoming unnaceptable and I feel like its time for a change.
Now since I have mortgage and bills to pay, even with the bump that I requested that would leave me with like maximum 700-800 bucks a month after all expenses. I have debts of around 20k and paying them back at this rate would take 3 years at least and sounds like a not viable plan at all.
Also it does not help that the project Im working on is full of legacy and Im not learning anything new here. Corporate life seems to be very slow, lots of red tape kills creativity and so on. I remember in startups I was cooking features left and right each sprint, in here deploying a simple popup feature sometimes takes weeks due to incompetence in the chain. I miss the times where I worked in startups, did my job learned nre skills and after 6 months could jump on another exciting gig. Im not growing here anymore.
So because my ADD brain seems to be suited much better for working in startups, and also I need to make more money quick and I dont see a future in current company, I am thinking of going back to contracting. All I need right now is to build a few side apps, get them reviewed by seniors and fill my knowledge gaps. Then I plan of starting interviewing as a mid level or even a senior for that matter, since I worked with actual seniors and to be honest I dont think getting up to their level would be rocket science.
Only difference between mid and senior devs that I see atleast in my current company is that seniors are taking on responsibility more often, and they also take care of our tools, such as CD/CI, pipeline scripts, linters and etc. Usually seniors are the ones who do the research/investigations and then come up with actual tasks/stories for mids/juniors. Also seniors introduce new dependencies and update our stack, solve some performance issues and address bottlenecks and technical debt. I dont think its rocket science, also Ive been the sole dev responsible for apps in the past and always did decent work. Turns out all I needed was to test myself in an environment full of other devs, thats it. My only bottleneck was the imposter syndrome because I was a self taught dev who worked most of my career alone.
Anyways I posted here asking for some tips and advices on how to begin my search for new contract opportunities. I am living in EU, can you give me some decent sites where I could just start applying? Also I would appreciate any other tips opinions and feedback. Thanks!3 -
Any Erlang guys over here ?
I am getting into it after trying elixir, just to get solid foundations (understand it better and otp)
The goal is to get erlang elixir and pheonix undercontrol
Now my questions:
Any good reads about maintenance scalability in a prod environment ?
Thanks3 -
I just never expected to run into people who don't have shit better to do then literally the same shit and cyberstalking people they don't even know trying to act like they give a damn for personal amusement or just lurking in the same places waiting to spring up and say the same thing or just whatever the hell this crap is when the person they're doing this too doesn't really have anything of interest other than precisely what i've indicated, that or try to be nosy and be amateur intelligence people trying to gather information over what a person is thinking regarding the activities of certain garbage in his environment :P emphasis on amateur.1
-
Well now it's like "now you have time to interview and more money in your pocket and don't have to work in a disgusting environment and will find a better job all because some fag got a bug up his ass and discounted decent work you did do."
And no worse off