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 - "internal clients"
-
So, our clients missed their internal deadline this weekend so we as vendor were also forced to work for the weekend and implement new features in a very short period. I implemented new features and my project manager stayed to support the testing and sent me home as I already had tickets bought for the movie.
As someone who hasn't done any developing in a long long time he even tried to implement some changes and complex JavaScript dom manipulation that they asked during testing so that I could be with my gf.
Few hours later he called me and with a sad voice said he is simply too slow and needs my help after all . I came and we stayed until 00h and solved everything. He paid for the movie and taxi.
The thing that impressed me was that he was willing to took over my job so that I wouldn't break my deal.
Best project manager ever!
P.S. Yes my gf went alone at the movie and yes we are still together xD4 -
Biggest scaling challenge?
The imaginary scaling issues from clients.
Client : How do you cope with data that's a billion times bigger than our current data set? Can you handle that? How much longer will it take to access some data then?
I could then give a speech about optimizing internal data structures and access algorithms that work with O(log n) complexity, but that wouldn't help, non-tech people will not understand that.
And telling someone, the system will be outdated and hopefully been replaced when that amount of data is reached, would be misinterpreted as "Our system can not handle it".
So the usual answer is: "No problem, our algorithms are optimized so they can handle any amount of data"6 -
I... uhm... I... I can't... I ... I can't even.... THIS IS LIVE IN THE CLIENT'S SITE WHERE ANYONE CAN CREATE A LOGIN WITH NO VERIFICATION WHATSOEVER AND SEE THIS WHICH IS LINKED TO A BIG RED BUTTON THAT RESETS THE WHOLE DATABASE, YOU FUCKING DUMB PIECE OF SHIT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// This event clears the entire solution in all active clients, truncates the database and also removes any stored PDFs in the server folder
$(document).on('click', '#resetDB', function () {
// This event only happens if the user correctly enters the password, this is to prevent other users than the admin from performing this action
var answer = prompt("Please enter the password required to perform this action.");
if(answer == "-REDACTEDBECAUSEHOLYSHIT-") {
socket.emit('resetDB');
} else {
alert("The password is incorrect, please try again!");
}
});
AAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!111!!1!!11!1!!1!1one!one!!!11
(I'm not inventing this, even though the "site" is internal only and not accessible through the web. That does *not* make it any less stupid!)11 -
@netikras since when does proprietary mean bad?
Lemme tell you 3 stories.
CISCO AnyConnect:
- come in to the office
- use internal resources (company newsletter, jira, etc.)
- connect to client's VPN using Cisco AnyConnect
- lose access to my company resources, because AnyConnect overwrites routing table (rather normal for VPN clients)
- issue a route command updating routing table so you could reach confluence page in the intranet
- route command executes successfully, `route -n` shows nothing has changed
- google this whole WTF case
- Cisco AnyConnect constantly overwrites OS routing table to ENFORCE you to use VPN settings and nothing else.
Sooo basically if you want to check your company's email, you have to disconnect from client's VPN, check email and reconnect again. Neat!
Can be easily resolved by using opensource VPN client -- openconnect
CISCO AnyConnect:
- get a server in your company
- connect it to client's VPN and keep the VPN running for data sync. VPN has to be UP at all times
- network glitch [uh-oh]
- VPN is no longer working, AnyConnect still believes everything is peachy. No reconnect attempts.
- service is unable to sync data w/ client's systems. Data gets outdated and eventually corrupted
OpenConnect (OSS alternative to AnyConnect) detects all network glitches, reports them to the log and attempts reconnect immediatelly. Subsequent reconnect attempts getting triggered with longer delays to not to spam network.
SYMANTEC VIP (alleged 2FA?):
- client's portal requires Sym VIP otp code to log in
- open up a browser in your laptop
- navigate to the portal
- enter your credentials
- click on a Sym VIP icon in the systray
- write down the shown otp number
- log in
umm... in what fucking way is that a secure 2FA? Everything is IN the same fucking device, a single click away.
Can be easily solved by opensource alternatives to Sym VIP app: they make HTTP calls to Symantec to register a new token and return you the whole totp url. You can convert that url to a qr code and scan it w/ your phone (e.g. Google's Authenticator). Now you have a true 2FA.
Proprietary is not always bad. There are good propr sw too. But the ones that are core to your BAU and are doing shit -- well these ARE bad. and w/o an oppurtunity to workaround/fix it yourself.13 -
Why are clients so ignorant and stupid?!
Send them the software with specific instructions WHERE to install it. Location is important as it is a plugin for AutoCAD.
First mail with complains about the plugin doesn't work. Find out (in the mail they sent internal) that they installed the plugin somewhere else than I instructed them.
Sent an email back with (again) an explanation why it doesn't work and where to install the plugin.
Email from client: So I put the plugin here [incomplete and invalid location] and create the last folder myself...
FOR FUCK SAKE SRUPID ASS IGNORANT DOWN SYNDROM (sorry folks) MOFO CLIENT!!!!
I SENT YOU UP TO 3 TIMES WHERE TO PUT THE GODDAMNED PLUGIN!7 -
One of our existing clients who used to pay for two of our products but now only pays for one just called us. The one he canceled is a loss prevention product that tracks internal theft in stores. He canceled it because he didn't feel it was worth it.
Now, he's calling us from a police station because he's trying to press charges against one of his managers because they were presumably stealing from him.
"Hey I need to know how many times this person stole from me over the last few months and I need to know it now because I'm at the police station."
With just a few clicks that would be an easy figure to retrieve for him had he not canceled our product.
My stance is he can get lost. I don't even think he sees the irony of canceling because "it isn't worth it" and then "asap" needing the data that the "worthless" product provides. Of course, he wants it without reactivating the subscription.
Unbelievable.5 -
// devRant unofficial UWP update (v1.5.0.0)
I decided to release another "big" update before v2, with some interesting and useful features already present in the official clients and a completly new feature suggested by users present ONLY here ("hide notifs already seen").
I hope you enjoy it! 😉
v1.5.0.0:
- Added weekly rant banner to rants with 'wk' in tags;
- Added avatars in notif list;
- Added ability to hide notifs already seen;
- Added 'draft Rant', you can now write a Rant without posting it, it will be automatically saved and available to be posted later;
- Updated Swag Store, now always up to date;
- Updated 'Mute notifs from this rant', now except @mentions;
- Improved date format of rants;
- UI improvements;
- Minor internal changes;
https://microsoft.com/store/apps/...2 -
I am very frustrated today and I do not know where to "scream" so I will post this here since I believe you will know how I feel.
Here's the case...
I am developing an e-commerce web application where we sell industrial parts. So my boss told me on March that when we are going to show these parts, we should not show Part Number to visitors because they will steal our information.
Ok, this makes sense but there was a problem.
The Primary Key for these products in our internal system is a string which is the Part Number itself.
I told him on March that we have to come up with another unique number for all the products that we are selling, so this unique number will be the primary key, not the Part Number. This will be best because I will be dependent from the original Part Number itself. And in every meeting he said "That is not priority". So I kept developing the part using the original Part Number as primary key and hid is from the web app. (But the Part Number still shows on URL or on search because this is how my boss designed the app.)
I built the app and is on a test server. Until one of out employees asked my boss: "There is no unique number or Part Number. How are the clients going to reference these parts? If a client buys 20 products and one of those has a problem, how is he going to tell us which products has a problem?"
My boss did not know what to say, and later said to me that I was right and primary key was priority.
I really hate when a guy that knows shit from developing does not listen to suggestions given by developers.
FUCK MY LIFE!
I'm sorry if you did not understand anything.5 -
useless fucking client bastards. i sent an email to all clients 2 months ago about gdpr and the impending deadline. Explaining that they need to update privacy and check webforms and internal procedures etc are compliant. I said I would help them implement any changes to their respective sites. Heard nothing from these fuckers... except this morning an email “what does the new gdpr mean for our website?”
FUCK OFF AND READ MY EMAIL, FOLLOW THE LINKS DO THE RESEARCH AND FUCKING SORT YOUR CUNTING SELVES OUT, I AM NOT YOUR FUCKING LAWYER.2 -
My biggest regret is the same as my best decision ever made.
The company I work for specializes in performing integrations and migrations that are supposed to be near impossible.
This means a documented api is a rare sight. We are generally happy if there even IS an (internal) api. Frequently we resort to front-end scraping, custom server side extensions and reverse-engineered clients.
When you’re in the correct mindset it’s an extreme rush to fix issues that cannot be fixed and help clients who have lost most hope. However, if your personal life is rough at the moment or you are not in a perfect mental state for a while it can be a really tough job.
Been here for 3+ years and counting. Love and hate have rarely been so close to each other. -
Last year I changed jobs from a large multi-national to a small local agency (which happens to be run by friends of mine).
One of the reasons for doing this was that my work involved more office politics than *actual* software development, and had just plain stopped being fun.
Now, I am having fun again! An example?
For one of our clients we have to connect to (a lot) of third-party APIs. Often even SOAP APIs!
Now I hear you protest "But that is no fun at all! SOAP APIS SUCK!" Which is true, more often than not. 😔
BUT! My friend started an internal API-SNAFU Trello board. Every time you get bitten in the ass by some ill conceived fuck-up of an API, you get to add your complaint to the board.
Beside giving as something to reciprocally rant about, the board also serves a serious function: depending on the amount of fuck-ups an API has been known to make, the price for working with that API will go up.
Who said it doesn't pay to complain? 😀1 -
Follow up to: https://devrant.com/rants/5047721/....
1- The attacker just copy pasted its JWT session token and jammed requests on the buy gift cards route
2- The endpoint returns the gift card to continue the payment process, but the gift card is already valid
3- Clients wants only to force passwords to have strong combinations
4- Talk about a FIREWALL? Only next month
5- Reduce the token expiration from 3 HOURS to 10 minutes? Implement strong passwords first
6- And then start using refresh tokens
BONUS: Clearly someone from inside that worked for them, the API and database password are the same for years. And the route isn't used directly by the application, although it exists and has rules that the attacker kows. And multiple accounts from legit users are being used, so the person clearly has access to some internal shit7 -
(long post is long)
This one is for the .net folks. After evaluating the technology top to bottom and even reimplementing several examples I commonly use for smoke testing new technology, I'm just going to call it:
Blazor is the next Silverlight.
It's just beyond the pale in terms of being architecturally flawed, and yet they're rushing it out as hard as possible to coincide with the .Net 5 rebranding silo extravaganza. We are officially entering round 3 of "sacrifice .Net on the altar of enterprise comfort." Get excited.
Since we've arrived here, I can only assume the Asp.net Ajax fiasco is far enough in the past that a new generation of devs doesn't recall its inherent catastrophic weaknesses. The architecture was this:
1. Create a component as a "WebUserControl"
2. Any time a bound DOM operation occurs from user interaction, send a payload back to the server
3. The server runs the code to process the event; it spits back more HTML
Some client-side js then dutifully updates the UI by unceremoniously stuffing the markup into an element's innerHTML property like so much sausage.
If you understand that, you've adequately understood how Blazor works. There's some optimization like signalR WebSockets for update streaming (the first and only time most blazor devs will ever use WebSockets, I even see developers claiming that they're "using SignalR, Idserver4, gRPC, etc." because the template seeds it for them. The hubris.), but that's the gist. The astute viewer will have noticed a few things here, including the disconnect between repaints, inability to blend update operations and transitions, and the potential for absolutely obliterative, connection-volatile, abusive transactional logic flying back and forth to the server. It's the bring out your dead approach to seeing how much of your IT budget is dedicated to paying for bandwidth and CPU time.
Blazor goes a step further in the server-side render scenario and sends every DOM event it binds to the server for processing. These include millisecond-scale events like scroll, which, at least according to GitHub issues, devs are quickly realizing requires debouncing, though they aren't quite sure how to accomplish that. Since this immediately becomes an issue with tickets saying things like, "scroll event crater server, Ugg need help! You said Blazorclub good. Ugg believe, Ugg wants reparations!" the team chooses a great answer to many problems for the wrong reasons:
gRPC
For those who aren't familiar, gRPC has a substantial amount of compression primarily courtesy of a rather excellent binary format developed by Google. Who needs the Quickie Mart, or indeed a sound markup delivery and view strategy when you can compress the shit out of the payload and ignore the problem. (Shhh, I hear you back there, no spoilers. What will happen when even that compression ceases to cut it, indeed). One might look at all this inductive-reasoning-as-development and ask themselves, "butwai?!" The reason is that the server-side story is just a way to buy time to flesh out the even more fundamentally broken browser-side story. To explain that, we need a little perspective.
The relationship between Microsoft and it's enterprise customers is your typical mutually abusive co-dependent relationship. Microsoft goes through phases of tacit disinterest, where it virtually ignores them. And rightly so, the enterprise customers tend to be weaksauce, mono-platform, mono-language types who come to work, collect a paycheck, and go home. They want to suckle on the teat of the vendor that enables them to get a plug and play experience for delivering their internal systems.
And that's fine. But it's also dull; it's the spouse that lets themselves go, it's the girlfriend in the distracted boyfriend meme. Those aren't the people who keep your platform relevant and competitive. For Microsoft, that crowd has always been the exploratory end of the developer community: alt.net, and more recently, the dotnet core community (StackOverflow 2020's most loved platform, for the haters). Alt.net seeded every competitive advantage the dotnet ecosystem has, and dotnet core capitalized on. Like DI? You're welcome. Are you enjoying MVC? Your gratitude is understood. Cool serializers, gRPC/protobuff, 1st class APIs, metadata-driven clients, code generation, micro ORMs, etc., etc., et al. Dear enterpriseur, you are fucking welcome.
Anyways, b2blazor. So, the front end (Blazor WebAssembly) story begins with the average enterprise FOMO. When enterprises get FOMO, they start to Karen/Kevin super hard, slinging around money, privilege, premiere support tickets, etc. until Microsoft, the distracted boyfriend, eventually turns back and says, "sorry babe, wut was that?" You know, shit like managers unironically looking at cloud reps and demanding to know if "you can handle our load!" Meanwhile, any actual engineer hides under the table facepalming and trying not to die from embarrassment.36 -
What a bunch of cunts.
It's sad how they keep applying restrictions to everything. Two years ago, there were no restrictions. Now:
Max one website, random account locks if you ever get actual visitors, no support unless you're premium, max 5 simultaneous clients, one hour sleeptime a day, some "random" disk full errors or internal server errors and at least two hours downtime a day.
Fuck off.23 -
Everyday:
Colleagues: I hate when the client wants to make last minute design changes the day we are supposed to launch when they have had MONTHS to bring them up..
Today:
Me: we are supposed to launch our site today (our own agency site that we have been working on and reviewing as a group for about a year), so please take some time to go through and make sure there are no GRAMMATICAL errors.
Colleagues: *send huge lists of minor design changes that are CRITICAL* -
!rant
The perks of working in a medium large company with ~35 employees
Today there's a concert for Stargate, Alan Walker and Ne-Yo. Where we've made the video effects for Stargate.
Now we're having a summer party with our biggest clients, free alcohol and food. Later we're walking to the concert where we and our clients got free tickets.
Internal memo this morning, showing up tomorrow is not mandatory4 -
Well after having a major sense of humour failure last week https://devrant.com/rants/1365062/...
My company has an internal application that is used for billing clients and customers. There are several versions.
Starting next week the consultant who wrote this and I will be sitting down together for about 2 hours or so twice a week to start going through the code stuff etc.
I already have a job to start testing a new version this program, and this version is going to be handed over to me and will be my baby.
Things are starting to look up, I’m still trying to get them to swap my PC for a laptop though, so I can do work from home etc. -
We are all about structures, clean code and many other things that make our life easier, right?
Well... It's not all white and black...
As talked many times, projects can be rushed... Client budgets can be low at the start and only then grow...
Let me take an example:
Client X needs a tool that helps his team perform jobs faster. They have a $500 budget. So... Testing, clean architecture and so on - are not really a viable option. Instead, you just make it work and perform that task as needed. So the code has minimal patterns, minimal code structure, a lot of repetitive parts and so on.
Now... Imagine that 3 months pass by without any notice and clients are ultra happy with the product. They want more things to be automated. They contact developers and ask for more things. This time they have a bigger budget but short timeframe.
So once again, you ignore all tests, structure and just make it work. No matter what. The client is happy again.
A year passes and the client realizes that their workflow changed. The app needs total refactoring. The previous developer has no time for adjustments at this point and hires a new company. They look at the code and rants spill out of their mouth along with suicidal thoughts.
So... What would you do? Would you rant about "messy project" or just fix it? Especially since people now have a bigger budget and timeframe to adapt to changes.
Would you be pissed on such a project?
Would you flame on previous devs?
Would you blame anyone for the mess?
Or would you simply get in and get the job done since the client has a "prototype" and needs a better version of it?
---
Personally, I've been in this situation A LOT. And I'm both, the old and new dev. I've built tons of crappy software to make things work for clients and after years - they come back for changes/new things. You just swallow the pill and do what is needed. Why? Well, because it's an internal system and not used by anyone outside their office. Even if it's used outside the office - prototyping is the key. They didn't know if the idea would work or be helpful in any way. Now they know and want it done correctly.6 -
I developed an Android app that authenticates users via HTTP. Because it's an internal use app for employees only, we are in charge of unsubscribe the users that have access to the app in case they leave the company; all we have to do is update a bit column in one DB table and that's it, nothing complicated. My manager thought it was a good idea to develop an entire "front-end" website to make this task "easier", and yes, I am the one he put in charge of doing this, even though I work in the company as an Android dev, not a web dev. Making this site would be really simple and it'd only take a few hours of effort, but I find it really stupid and a waste of time coding a whole website to achieve a goal that only takes one freaking SQL sentence and no real clients using it. I don't know if, in fact, this is a stupid and useless idea, or I'm being a dick and have no reasons to blame my manager and bitch about it.4
-
Who, more than I, totally HATE emoji?
lol I hate emoji after it caused so much problems with Microsoft Outlook and email backups from said program combined with emoji in subjects.
Wrote an subject filter in exim4 (took 3 days to debug and get working propely) that totally eradicate anything that isnt ISO-8859-1 from the subject line, then converts the rest to UTF-8 (because said IMAP client isnt following standards).
it also converts ISO-8859-1 characters in subjects to UTF-8 even if the original subject is declared to be UTF-8, because obviously some software (especially newsletter software) are transmitting ISO-8859-1 subjects that are declared to be in UTF-8 (but the opposite isn't true).
And also cuts subject to 100 chars, because too long subjects are a problem too. Same with date headers, I replace them with the server date/time because some software are sending Date: 1970 Jan 01 00:00:00, because some of these erronous headers are put by some mailing list software, aswell as causing problem in OEM clients like Samsung Mail.
Problem solved, all IMAP clients happy on internal network.7 -
Pretty much half of what clients ask for.
But to be more specific a username on a login form instead of an email address when it already had ratelimiting lockouts implemented on an internal network. -
How do you balance what your boss wants, and what the client wants?! 😣
We had design and requirement discussions with clients and they said they want method A.
After doing internal design review and writing up documents, client agreed and sign off on it.
However, during last moments of development, I encountered a minor issue in the design and brought the team together to discuss about it.
Boss went on about how his idea, method B would have been better and is what the client wants, etc. Mind you, method B is quite different from method A that clients want.
I explained to boss that his method is different from what the client wants and also what have been documented and signed off.
He told me he doesn't need comments of such from me and they can always tell the client that method B is better and should be the way.
I feel so fucked because we are currently rushing with only 2 days left in our deadline and there will not be a bonus if we are late.1 -
So here I am coming to the end of the week after getting The Porcupines big web project into production. Pulled a 38 hour straight from Sunday to Monday chopping wood to make the thing fly. Pulled in other programmers and content creators to get the site full of something we did not have a week before. The fun part was having the account manager right there for 30 plus hours and actually seeing what it take to save a project when the client just thinks "it's just code". Now the boss has is asking for a list of all the work out of spec as they are bitching about the extra cost. These were the clients who did not read the functional spec and raked me over the coals after release that the home page did not match the design (the home page matched the design). I warned my team this would happen. They get all swept up in the hype and We can win! frame of mind and you can bet when the bitching starts it will come back to the paperwork you did at the beginning and the change requests and productions systems reports so you can wave it in front of ungrateful clients and not end up sad. Make sure you keep notes and document all of the requests and changes from internal and external even if you do not have to. one day it will save your ass and you will be able to whip it out and be a smiling motherfucker.
-
[Background]
Back in September I joined a startup after my first job in MNC for about 1.8 yrs as a fresher. I always wanted to learn, but the experience in that MNC was not at all fruitful. So ai decided to join a small/mid size company or a startup. To my luck, I got in this small startup in a week after my resignation as a front-end dev (always wanted to be).
It's an automation company, so you can find software, electronics, even mechanical engineer.
The team was almost a year younger than me. It was a team of around 12 people, in which 5 of them were from Business development.
The tech team was too driven and knowledgeable. Always trying new stuffs and motivating to do the same. I was highly motivated by them in my initial days, watching them working on new stuffs.
So I started with revamping their website completely in Angular 4, and did it in around a month or so, being new to Angular. Outcome was pretty satisfactory. I wanted to work on new projects, but just to get the cashflow in they started getting in WordPress projects. It was frustrating, I wanted to work more on new technologies like Angular, React, etc...but just for the survival of the company I had to work on WordPress, so to respect their urge to get going I kept working on 3-4 projects in parallel, and mind you the clients were from hell !!
Fast-forward 4 months, I am still working on few WordPress websites, and one internal GPS based project in React. And I haven't received my salary for past 3.5 months, since the company is still struggling with the issue of funding and getting money from clients. I kinda liked working there because there was lot to learn even though they are so young, but I had bills to pay too.
And I am in dilemma to leave the company or not, because I already stretched 3 months out of good will and guilt of leaving the company in high time. So i finally let the CEO know that I cannot stick for any longer. And i was done with the false promises of getting the salary "next month" everytime. All the money getting inside of company was invested heavily on the product we were building and no one was getting the salaries. Others were fine since they were founding members too.
Long story short : I finally left immediately and now working in a good company as a React dev. I hope they do well and I would love to see them grow, but please *STOP* making false promises and hold on to employees on a lie.1 -
Team of 2 developers expected to build a new company website with a dashboard to manage it without having to know development, an internal social media management dashboard, and a phone number provisioning/call reporting dashboard for both clients and internal. All while managing the normal day to day workflow of working for a digital marketing agency. Expected in 7 weeks.1
-
Aye, In last 18 days including today and excluding Saturdays and Sundays, I've attended 21 Meetings(Google meet) where 9 were Internal and the remaining 12 were clients meetings.
Sometimes it gets so annoying and awkward that I just pretend I have internet issue. -
So I am working on a Java library with minimal dependencies. Everything goes well until you dont want clients knowing how to construct the internal objects and you dont have a depenency injection framework to help.
Unit testing becomes that bit trickier1