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 - "simple service"
-
Oh, man, I just realized I haven't ranted one of my best stories on here!
So, here goes!
A few years back the company I work for was contacted by an older client regarding a new project.
The guy was now pitching to build the website for the Parliament of another country (not gonna name it, NDAs and stuff), and was planning on outsourcing the development, as he had no team and he was only aiming on taking care of the client service/project management side of the project.
Out of principle (and also to preserve our mental integrity), we have purposely avoided working with government bodies of any kind, in any country, but he was a friend of our CEO and pleaded until we singed on board.
Now, the project itself was way bigger than we expected, as the wanted more of an internal CRM, centralized document archive, event management, internal planning, multiple interfaced, role based access restricted monster of an administration interface, complete with regular user website, also packed with all kind of features, dashboards and so on.
Long story short, a lot bigger than what we were expecting based on the initial brief.
The development period was hell. New features were coming in on a weekly basis. Already implemented functionality was constantly being changed or redefined. No requests we ever made about clarifications and/or materials or information were ever answered on time.
They also somehow bullied the guy that brought us the project into also including the data migration from the old website into the new one we were building and we somehow ended up having to extract meaningful, formatted, sanitized content parsing static HTML files and connecting them to download-able files (almost every page in the old website had files available to download) we needed to also include in a sane way.
Now, don't think the files were simple URL paths we can trace to a folder/file path, oh no!!! The links were some form of hash combination that had to be exploded and tested against some king of database relationship tables that only had hashed indexes relating to other tables, that also only had hashed indexes relating to some other tables that kept a database of the website pages HTML file naming. So what we had to do is identify the files based on a combination of hashed indexes and re-hashed HTML file names that in the end would give us a filename for a real file that we had to then search for inside a list of over 20 folders not related to one another.
So we did this. Created a script that processed the hell out of over 10000 HTML files, database entries and files and re-indexed and re-named all this shit into a meaningful database of sane data and well organized files.
So, with this we were nearing the finish line for the project, which by now exceeded the estimated time by over to times.
We test everything, retest it all again for good measure, pack everything up for deployment, simulate on a staging environment, give the final client access to the staging version, get them to accept that all requirements are met, finish writing the documentation for the codebase, write detailed deployment procedure, include some automation and testing tools also for good measure, recommend production setup, hardware specs, software versions, server side optimization like caching, load balancing and all that we could think would ever be useful, all with more documentation and instructions.
As the project was built on PHP/MySQL (as requested), we recommended a Linux environment for production. Oh, I forgot to tell you that over the development period they kept asking us to also include steps for Windows procedures along with our regular documentation. Was a bit strange, but we added it in there just so we can finish and close the damn project.
So, we send them all the above and go get drunk as fuck in celebration of getting rid of them once and for all...
Next day: hung over, I get to the office, open my laptop and see on new email. I only had the one new mail, so I open it to see what it's about.
Lo and behold! The fuckers over in the other country that called themselves "IT guys", and were the ones making all the changes and additions to our requirements, were not capable enough to follow step by step instructions in order to deploy the project on their servers!!!
[Continues in the comments]26 -
Hey everyone,
We have a few pieces of news we're very excited to share with everyone today. Apologies for the long post, but there's a lot to cover!
First, as some of you might have already seen, we just launched the "subscribed" tab in the devRant app on iOS and Android. This feature shows you a feed of the most recent rant posts, likes, and comments from all of the people you subscribe to. This activity feed is updated in real-time (although you have to manually refresh it right now), so you can quickly see the latest activity. Additionally, the feed also shows recommended users (based on your tastes) that you might want to subscribe to. We think both of these aspects of the feed will greatly improve the devRant content discovery experience.
This new feature leads directly into this next announcement. Tim (@trogus) and I just launched a public SaaS API service that powers the features above (and can power many more use-cases across recommendations and activity feeds, with more to come). The service is called Pipeless (https://pipeless.io) and it is currently live (beta), and we encourage everyone to check it out. All feedback is greatly appreciated. It is called Pipeless because it removes the need to create complicated pipelines to power features/algorithms, by instead utilizing the flexibility of graph databases.
Pipeless was born out of the years of experience Tim and I have had working on devRant and from the desire we've seen from the community to have more insight into our technology. One of my favorite (and earliest) devRant memories is from around when we launched, and we instantly had many questions from the community about what tech stack we were using. That interest is what encouraged us to create the "about" page in the app that gives an overview of what technologies we use for devRant.
Since launch, the biggest technology powering devRant has always been our graph database. It's been fun discussing that technology with many of you. Now, we're excited to bring this technology to everyone in the form of a very simple REST API that you can use to quickly build projects that include real-time recommendations and activity feeds. Tim and I are really looking forward to hopefully seeing members of the community make really cool and unique things with the API.
Pipeless has a free plan where you get 75,000 API calls/month and 75,000 items stored. We think this is a solid amount of calls/storage to test out and even build cool projects/features with the API. Additionally, as a thanks for continued support, for devRant++ subscribers who were subscribed before this announcement was posted, we will give some bonus calls/data storage. If you'd like that special bonus, you can just let me know in the comments (as long as your devRant email is the same as Pipeless account email) or feel free to email me (david@hexicallabs.com).
Lastly, and also related, we think Pipeless is going to help us fulfill one of the biggest pieces of feedback we’ve heard from the community. Now, it is going to be our goal to open source the various components of devRant. Although there’s been a few reasons stated in the past for why we haven’t done that, one of the biggest reasons was always the highly proprietary and complicated nature of our backend storage systems. But now, with Pipeless, it will allow us to start moving data there, and then everyone has access to the same system/technology that is powering the devRant backend. The first step for this transition was building the new “subscribed” feed completely on top of Pipeless. We will be following up with more details about this open sourcing effort soon, and we’re very excited for it and we think the community will be too.
Anyway, thank you for reading this and we are really looking forward to everyone’s feedback and seeing what members of the community create with the service. If you’re looking for a very simple way to get started, we have a full sample dataset (1 click to import!) with a tutorial that Tim put together (https://docs.pipeless.io/docs/...) and a full dev portal/documentation (https://docs.pipeless.io).
Let us know if you have any questions and thanks everyone!
- David & Tim (@dfox & @trogus)53 -
Hello everyone, found this place recently, decided to bore you with one (or many) Navy story... tech Navy story. I'll start from the end.
Little backstory: I've deployed a simple domain setup on the ship I served, nothing fancy, a server, a switch, 10 computers, all Windows (details on that at another rant). I enter the ship Monday morning, and the XO tells me that he can't access his online folders.
OK, I say, I'll get to it. I fire up my laptop, try to RDP to the server (I know, I know, burn me at the stake later) no connection. WTF? Is the service down? I try pinging. No luck. I tried pinging the switch. OK. Looking at the switch admin panel, I see the server's port is dead. "OK, probably the cable." (we have old ethernet cables)
So, I drag my ass over to the server (same room with ship comms) with the cable tester to confirm that. What do I see?
The IMBECILES had pulled the plug from the server so that they could charge their mobile phones. I literally slammed my head against the door (calming exercise in case of spontaneous murder impulses - the things you learn at the Academy). My CO was nearby, and lucky for the guys, he heard me yell at them, while throwing mobiles and chargers around.
"But we thought it was OK, we just wanted to charge our-"
I kid you not, I reached for the firefighter's axe.
My CO grabbed me by the collar and dragged me to his room. I explained to him (between two cigarettes) that we MUST get a UPS and a server cabinet (budget constraints in the military are something that will give you people nightmares, trust me). I carefully explained to him that unless we got those, nothing would prevent the next moron from destroying confidential data and me from murdering him.
I plugged in and booted the server, after installing a multi socket extension. Two days after, surprise surprise, the server was off again. That was the first time I opened the door to the CO's room with a low kick. I must have looked like a psycho on drugs, he gave approval for the purchase in twenty seconds flat.
After that, I installed the UPS and the cabinet. Everything went inside, from the UPS to the very plugs. Just a locked box with cables coming out.
One of the guys came to my room, and asked if I could unlock the cabinet so that they could plug a "device" they needed.
I actually reached for my folding knife.
Disclaimer: The story above is TRUE. Even the almost violent parts.22 -
Navy story time, and this one is lengthy.
As a Lieutenant Jr. I served for a year on a large (>100m) ship, with the duties of assistant navigation officer, and of course, unofficial computer guy. When I first entered the ship (carrying my trusty laptop), I had to wait for 2 hours at the officer's wardroom... where I noticed an ethernet plug. After 15 minutes of waiting, I got bored. Like, really bored. What on TCP/IP could possibly go wrong?
So, scanning the network it is. Besides the usual security holes I came to expect in ""military secure networks"" (Windows XP SP2 unpatched and Windows 2003 Servers, also unpatched) I came along a variety of interesting computers with interesting things... that I cannot name. The aggressive scan also crashed the SMB service on the server causing no end of cute reactions, until I restarted it remotely.
But me and my big mouth... I actually talked about it with the ship's CO and the electronics officer, and promptly got the unofficial duty of computer guy, aka helldesk, technical support and I-try-to-explain-you-that-it-is-impossible-given-my-resources guy. I seriously think that this was their punishment for me messing around. At one time I received a call, that a certain PC was disconnected. I repeatedly told them to look if the ethernet cable was on. "Yes, of course it's on, I am not an idiot." (yea, right)
So I went to that room, 4 decks down and 3 sections aft. Just to push in the half-popped out ethernet jack. I would swear it was on purpose, but reality showed me I was wrong, oh so dead wrong.
For the full year of my commission, I kept pestering the CO to assign me with an assistant to teach them, and to give approval for some serious upgrades, patching and documenting. No good.
I set up some little things to get them interested, like some NMEA relays and installed navigation software on certain computers, re-enabled the server's webmail and patched the server itself, tried to clean the malware (aka. Sisyphus' rock), and tried to enforce a security policy. I also tried to convince the CO to install a document management system, to his utter horror and refusal (he was the hard copy type, as were most officers in the ship). I gave up on almost all besides the assistant thing, because I knew that once I left, everything would go to the high-entropy status of carrying papers around, but the CO kept telling me that would be unnecessary.
"You'll always be our man, you'll fix it (sic)".
What could go wrong?
I got my transfer with 1 week's notice. Panic struck. The CO was... well, he was less shocked than I expected, but still shocked (I learned later that he knew beforehand, but decided not to tell anybody anything). So came the most rediculous request of all:
To put down, within 1 A4 sheet, and in simple instructions, the things one had to do in order to fulfil the duties of the computer guy.
I. SHIT. YOU. NOT.
My answer:
"What I can do is write: 'Please read the following:', followed by the list of books one must read in order to get some introductory understanding of network and server management, with most accompanying skills."
I was so glad I got out of that hellhole.6 -
I'd say that one of the most emotional days for my entire team was when a potential client called us and told us that they just rescued a teenage girl and prevented her from making a suicide by using our service.
The service itself is extremely simple and does not even work in all cases (due to various limitations). But when it does, it saves time, money and above all lives. When you realise that the girl who has already wrote her goodbye letter and ran away is saved at the top of the cliff... Well, then you know that you are doing at least something right!9 -
Okay i'm done - YOU FUCKING ANDROID STUDIO MORONS. Being at a high level in C++, I tried to do some android coding. THERE ARE FUCKING NO GOOD TUTORIALS, NO GOOD DOCS, HECK, THE SELF GENERATED CODE OF THE IDE IS WRONG: WHAT THE FUCK IS GOING ON YOU FUCKING MORONS?
oh wait, let me first import android.widgets.rant;
or was it android.widgets.devrant.rant; or was it android.dr.rant.RantManager;?
Oh wait, I know lets search the docs?
OH WAIT THE DOCUMENTATION DOESNT HAVE THAT.
NOW HOW ABOUT I JUST TRY THE EXAMPLE CODE? WELL UH-UH! YOU HAVE TO FIND OUT YOURSELF WHAT TO IMPORT IN ORDER FOR IT TO WORK. ALSO, WHAT FUCKING UP WITH THAT PERMISSION SYSTEM? ITS SO BADLY DOCUMENTED!!!
Oh wait, I'm sure that I have to change something in this file... or was it that other file?
GOD
how dare they have style and design guidelines?
MORONS!
I will resort to implement my app idea in godot, idc anymore... I don't want to burn out because I used the "official high standard" tech.
it definitely isn't high standard and definitely not good. Thank you morons@google
THANK YOU FOR NOTHING
A FRAMEWORK WHERE I NEED 2 DAYS TO FIGURE OUT TO ADD EVENT LISTENERS TO MY THINGS IS DEFINITELY NOT ONE I'D LIKE TO USE.
also, whats up with
AudioRecord (int audioSource, int samplerateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes);
ARE WE BACK IN THE C ERA? CAN'T YOU BE BOTHERED TO IMPLEMENT SOME SIMPLE FUCKING ENUMS????
WHATS THE POINT OF AN OOP LANGUAGE IF YOU ARE GOING TO USE IT LIKE C?
Oh wait I found a tutorial ... First trigger: "java scripts". Second trigger: this guy LITTERALLY ONLY TEACHES YOU HOW TO PLACE WIDGETS ON THE CANVAS. THANKS FOR NOTHING SHERLOCK!
Oh btw: did you know that android studio gives the best error messages?
"Error: illegal start of expression"
NO ERROR MESSAGE - NOTHING!
YOU BETTER USE THE IDE OR YOU GO HOME YOU FUCKER!!!
Oh and btw: if you want to read the best documentation - the code itself YOU GOTTA AGREE TO OR TERMS OF SERVICE!!!! WE DONT WANT ANYBODY TO BECOME SUCCESSFUL WITHOUT US KNOWING!!!!!
THANK YOU GOOGLE FOR NOTHING!
YOU FUCKERS!
thanks godot for *atleast* existing. You are the... last pick i'd pick, but :shrug:, I have experienced android studio now.
If anybody has any advice on what to use instead, please go ahead. And you better not tell me how good you are at android studio. I DONT CARE ABOUT WHAT YOU CAN IMPLEMENT IN ANDROID STUDIO. I JUST WANT SOMETHING THAT IS USABLE WITHOUT HAVING TO BE EXTRA CAREFUL WHEN DOING *ANYTHING*!!!!
fuckers.48 -
Biggest scaling challenge I've faced?
Around 2006~2007 the business was in double-digit growth thanks to the eCommerce boom and we were struggling to keep up with the demand.
Upper IT management being more hardware focused and always threw more hardware at the problem. At its worst, we had over 25 web servers (back then, those physical tall-rectangle boxes..no rack system yet) and corresponding SQL server for each (replicated from our main sql server)
Then business boomed again and projected the need for 40 servers (20 web servers, 20 sql servers) over the next 5 years. Hardware+software costs (they were going to have to tear down a wall in order to expand the server room) were going to be in the $$ millions.
Even though we were making money, the folks spending it didn't seem to care, but I knew this trajectory was not sustainable, so I started utilizing (this was 2007) WCF services and Microsoft's caching framework Velocity. Started out small, product lookup data (description, price, the simple stuff) and within a month, I was able to demonstrate the web site could scale with less than half of our current hardware infrastructure.
After many political battles (I've ranted about a few of those), the $$ won and even with the current load, we were able to scale back to 5 web servers and 2 sql servers. When the business increased in the double-digits again, and again...we were still the same hardware for almost 5 years. We only had to add another service server when the international side of the business started taking off.
Challenge wasn't the scaling issue, the challenge was dealing with individuals who resisted change.3 -
Having PHP as my most useful skill.
I know various other languages, but they're either too exotic for professional use, or my knowledge about them doesn't have the same depth as with PHP.
People joke about how awful PHP is, and it's not entirely true. The incongruous stuff such as confusing parameter ordering can be fixed with libraries. And PHP7 fixed a lot of the ugly stuff. A good dev can certainly write structured, readable, performant PHP code.
But there is a real hard limit. PHP is missing more complex type definitions present in other languages. A weak type system is like building stuff with popsicle sticks and bits of duct tape, it works fast and perfectly fine for small projects, but the lack of strictness is a problem when you have thousands of classes intertwined in all kinds of complex factory, service and repository patterns. And the simple type hints are still newish and fully optional, which means a lot of people don't use them.
So I regret getting stuck in this self reinforcing loop, where I learn more about a very imperfect language through employment, and keep rolling into jobs using that skill because it's what I'm most experienced with.16 -
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 -
Laravel is the worst framework ever.
Everything has to be made convenient and easy. That sounds amazing, because developers want to save time, worry less about boilerplate code, right? No more constructors, no more dependency injection, fuck all the tedious OOP shit... RIGHT?
It does one thing well: Make PHP syntax uniform and concise through easily integrated libraries such as Collection and Carbon. But those are actually not really part of the framework... just commonly integrated and associated with Laravel.
The framework itself is completely derailed: You can define code in a callback in the routes file. You can define a controller in the routes file. You can define middleware as a parameter to the route, as a fluent method to the route, you can stack them up in a service provider. Validators can be made in controllers, Request objects, service providers, etc. You can send mail inline, through Mailable objects, through Notification objects, etc.
Everything is macroable, injectable, and definable in a million different places. Ultimate freedom!
Guess what happens when you give 50 developers of various seniority a swiss army knife?
One hammers in a screw with a nail file, the other clips the head from the screw using scissors, and you end up with an unworkable mess and blunt tools.
And don't get me started about Eloquent, the Active Record ORM. It's cute for the simple blog/article/author/comment queries, but starts choking when you want more selective and performant queries or more complex aggregates, and provides such an opaque apple-esque interface which lets people think everything is OK, when in reality it's forcing the SQL server to slowly commit suicide.50 -
Client: We want a contact form on our site that accepts files.
Me: OK. Here are the backend options (custom built, WordPress, third-party service, etc).
C: Mmm... why is it so complicated? A simple form doesn't need a backend.
Me: FFUUUUU Y DONT YOU DO IT THEN! DIDN'T KNOW BROWSERS SEND EMAIL?!
Me: *backspace*, *backspace*, *backspace*
Me: Browsers cannot send emails; you need a backend to process the form.3 -
I realize I've ranted about this before, but...
Fuck APIs.
First the fact that external services can throw back 500 errors or timeouts when their maintainer did a drunk deploy (but you properly handled that using caching, workers, retry handlers, etc, right? RIGHT?)...
Then the fact that they all speak a variety of languages and dialects (Oh fuck why does that endpoint return a JSON object with int keys instead of a simple array... wait the params are separated with pipe characters? And the other endpoint uses SOAP? Fuck I need to write another wrapper class around the client...)
But the worst thing: It makes developers live in this happy imaginary universe where "malicious" is not a word.
"I found this cloud service which checks our code style" — hmm ok, they seem trustworthy. Hope they don't sell our code, but whatever.
"And look at this thing, it automatically makes database backups, just have to connect to it to DigitalOcean" — uhhh wait...
"And I just built this API client which sends these forms to be OCR processed" — Fuck... stop it... there are bank accounts numbers on those forms... Where's that API even located? What company?
* read their privacy policy *
"We can not guarantee the safety of your personal data, use at your own risk [...] we are located in Russia".
I fucking hate these millennial devs who literally fail to get their head out of the cloud.
Somehow they think it's easier to write all these NodeJS handlers and layers around some API, which probably just calls ImageMagick + Tesseract on the other side.
If I wasn't so fucking exhausted, I'd chop of their heads... but they're like hydra, you seal one privacy breach and another is waiting to be merged, these kids just keep spewing their crap into easy packages, they keep deploying shitty heroku apps... ugh.
😖8 -
Pointy Haired Boss: "There's an issue with this simple bit of that service, could you take a look?"
Me: "Sure, give me a minute to investigate"
*A minute later*
Me: "No wonder there's a problem, this code is horrendous! What idiot wrote this unmaintainable crap?"
PHB: "Doesn't matter, just fix it, test it and release it."
Me: "I just want to check who did it, so they never touch our code again."
*Checks SVN log*
Me: "Well, I guess I can never touch our code again."2 -
> Manager: Why does service X behaves Y way? It should do Z instead.
> Me: *explains why*
> Manager: I don't understand this...
> Me: *explains it in more simple terms and shorter sentences*
> Manager: I'm still not sure I get it.
> Me: It is like this because of a third party provider and we can't change anything for the same reason. Also it is working like this for half a decade now.
> Manager: Ok, I get it. So please fix the service, it should do Z instead of Y.
> Me: *facepalm* Sorry, I can't. Ask (frontend guy), maybe he can help you.
> Frontend guy a bit later: ┌П┐(ಠ_ಠ)8 -
!!rant
!!ANGER
Micromanager: "Hey, Root!
Since you're back, and still not feeling well, we have an easy ticket for you: Rewrite the slack integration gem! Oh, you don't have to re-implement all of it, just make sure it all works the same way it does now. That bitch you worked with once over a year ago who kept throwing you under the bus to management and stealing credit for your work? Yeah, she wrote the original code like four years ago. It's perfect, so don't touch it. but she can fill you in on all the details you need and get you up to speed on how to test it.
But yep! It should be simple. and I just knew you would love this ticket, so I saved it just for you. Nice and quick, too, to get you an easy win.
You know, since you have to repair your reputation with product. and management. and the execs. and the rest of the team. and me. Yeah, product doesn't trust you so they don't want to give you any tickets. They just can't trust you to get them out and have them work. So you have a lot of hard work to do."
Spoiler: The bus-thrower wasn't much help. (Surprise.)
Spoiler: The ticket was already in my backlog -- one of a grand total of two tickets.
Spoiler: I don't find the ticket fun. Maybe if I was to write the entire implementation with a nice DSL? but no, "don't touch the perfect code." Fuck you.
Spoiler: It isn't going to be nice or quick. But, she (micromanager) is looking to lose me, so that really is an easy win. for her.
And. just. argh. fuck you. i've been exhausted and dying for well over a year, but you've kept ignoring that (and still are, despite me providing goddamn legal forms from fucking doctors stating it in plain fucking english, which you also fucking ignore), and you just keep piling on the work and demanding the ridiculous of me despite it. Yeah I can pull it off sometimes. No, I really shouldn't, and I'm surprised I can. (also, "Time off? What, and lower your productivity even more? ____ doesn't even take vacations. And how are you doing on that ticket?") And no, none of my tickets have ever had any fucking problems. Not even when there are upstream service outages. Not. a. single. fucking. one. Ever. And the only things I've ever missed were things that bloody product never put in the fucking ticket, so fuck you with your "repair your reputation" bullshit.
god, i fuckiNG HATE THESESTUPOID ANWETLJAF SAJEWTKW BITCHFACEDUCKFUCKERS
Why the FUCK am I still fucking working here?
Right, because I've been burned out and dying so much I can't pass a fucking interview so I can fucking leave.
jasdkl;fk
ugh. Anyway. If you ever find yourself starting work at a Cali fintech company whose internal mascot is a very fine duck? Just run. I absolutely guarantee you will be miserable.rant root swears oh my micromanager duckfuckers "trivial" ticket root is fucking fed up root swears a lot holy shit rewrite an entire library in 2-3 days16 -
Minimum wage employers and restaurants asking "and why should we hire you?".
You have 40 vacancies in your area for just your company alone.
You're paying $13.25 an hour when only a year ago you were paying $9.75.
Why should we hire you?
F*ck you, pay me, that's why.
You're not f*cking NASA
You're a God damn chain restaurant with a 40% turnover rate, who's employees probably shoot up in the bathroom on the rare occasion they even get a break.
I looked at the guy with all the annoyance I could muster, stared him down for a good five seconds and said. "You pay a few dollars over minimum. You're job is not important enough to even ask that question. Have a nice day." And got up and left.
Dude followed me and stuttered " hold up. I was just..."
But I was already out the door.
You were just what mark? Asking a dumbfuck question as if you had any leverage at all?
Your competitor *across the street* is offering 50 cents *more* per hour, and has guaranteed breaks.
What, did you forget 2008 and how you treated millions of people as disposable? The little part where you and most american industries demanded passion, without pay raises? Promotions without benefits? The jobs that if you worked hard, rather than a promotion or a pay raise, your reward was more work and less hours to finish?
You assholes thought we forgot about that? How you shipped millions of jobs overseas, blamed it on "automation" (chinese and indian slave labor), and then pointed the finger at millions of impoverished people as "lazy" in places like Detroit and Pittsburgh and told them "you just got to work harder and smarter!" Or "just get a small loan and create the next google!" from the comfort of your yachts? I'm looking at you bane corp.
No, now the shoes on the other foot motherf*ckers. Hows it feel needing all *us* commoners? "Why should we hire you?"
No, why should *I* WORK FOR YOU?
Cuz I saw THREE dirty tables coming in. A line of people that could be being served. A line that could have been optimized with the proper table count and some simple changes. A menu that doesnt even incentivize your biggest sellers and a dozen other things your store is doing wrong.
Think mark, think!
This is one of those braindead questions employers paying sub $18 an hour ask, because they suffered so much brain drain from years of payola profits from too-big-to-fail wallstreet bailouts, that they forgot they are not king midas, unless they are the king midas of shit, because increasingly everything corporate America touches turns into shit.
And while were on the subject, stopping bringing in outside management to stores. It destroys team cohesion, staff morale, pisses off people *on site* who *actually know* the team, the stores daily activities and processes, and who are better fit for that role. You bring in disinterested outside management, and it's one of the biggest red flags I've ever seen: these smarmy selfcongratulating f*cks who know nothing about the particular store, have no connection to the staff, go on firing sprees or alienation-sprees to hire in friends, fuck up the schedules because again they know nothing about the employees, and then move on after a few years to greener pastures, leaving a barren radioactive wasteland of chain smokers and burnt out staff in their wake.
Dear corporate America, your free ride on the public's good will is over. It's over.
Now you're in the bitch seat. Come sit at my desk and explain to me, EXPLAIN TO ME, why I should sweat and labor to save your shitty company hemorrhaging money like a bleeding crack-addicted hobo dying with a sucking chest wound from a chicago skidrow friday-night drive-by?
You dont deserve it. Your management and company culture is worse than incompetent. It's full of smiley guys expounding about their passion for customer service while giving each other sloppy BJs in broom closets, a veritable cornucopia of cult-like corporate dick suckers *and* dickheads, proclaiming, no...PROFESSING (hence "professional") their undying allegiance and dedication to their corporate family with the intensity of cujo, foaming at the mouth, or Mitt Romney preparing for a photoshoot, plastic smiles and feigned laughs.
Dont forget to wipe your chin, asshole. It's not Ronald McDonald your blowing, but it's definitely not Gordon f*cking Ramsey either.
Would you like fries with that?88 -
So... my girlfriend has a very random work schedule. Sometimes she works 4 days a week sometimes only 1, sometimes only at the weekend sometimes not at all. If only there would be an app to track that... 🤔
She tried quite a few apps on the app store but they were shit/ugly/too complex..etc
Wait.. i’m a developer, i can do that.
So i made a dead simple calendar-like app in javascript+fuseopen.
She selected the colors, background, layout etc..
If she taps on a date it turns red indicating that is a workday, if a workday is tapped it turns back to normal color.
The main logic is:
Main:
If(AppHasSavedWorkdays){
//check if save is current month
LoadCalendarWithWorkdays();
}else{
CreateEmptyCalendarAndSave();
}
She likes it.
Cool, so let’s build this! She has an iphone and my mac is still in the service center so i can’t build🙁
But its okay, i have a mac at my office, we can build there, the only downside is that is 40min of travel.
We take the subway, go to the office, build the app, make a certificate, install to her phone, everything goes as planned.
Coming back we were lucky enough to catch the bus that goes in 30 min intervals, we only had to wait like a minute so life is good 😃
I enter the house, chill down on the bed, pull out my laptop to close the project when a FUCK ME!!!!
I completely forgot to implement a whole else branch on start!!!
Soo the app does nothing when is opened on january 1😂😂
I guess that’s why we have testers and qa.. 😃8 -
The bossman asked if our signup service sends an automated email after we successfully process someone's payment or when we promote them to full customer.
That sounds like a simple query, yeah?
Well.
Here's some background:
We have four applications; one in React, three in Rails. I'll replace their names to retain some anonymity.
1) "IceSkate" is the React app, and it's a glorified signup form. (I wrote this one.)
2) "Bogan" is the main application, and is API-only; its frontend has been long since deprecated by the following two:
3) "Bum" is a fork of "Bogan" that has long since diverged. It now contains admin-only tools.
4) "Kulkuri" is also a fork of "Bogan" that has long since diverged. It now contains tools specifically for customers, which they can access.
All but IceSkate (obv) share a database.
Here's how signups happen:
Signups come in from IceSkate, which hits a backend API on Bogan. Bogan writes the data to the database, charges the card immediately, and leaves the signup for moderation.
And here's how promotion from signup to customer happens:
Bum has a view allowing admins to validate, modify, and "promote" a signup to a full customer. Upon successful promotion, Bum calls "ServerWrap", a module which calls actions on the other applications; in this case: Bogan.
Bogan routes execution through three separate models before calling "ServerWrap" again, this time calling KulKuri.
Finally, KulKuri actually creates the customer!
After KulKuri finishes creating the customer, execution resumes on Bogan, which then returns, causing execution to resume on Bum. Bum then runs through several other models, references the newly-created customer object (as all three share a database), and ... updates the customer with its current data, and then updates the signup object. After all of this, it finally shows the admin the "new customer" view.
It took me 25 minutes to follow the chain of calls, and I still don't know quite what's going on. I have no idea if any of it sends an email or not -- I didn't see any signs of this, but I very easily could have overlooked something.
So, to answer bossman's question... I asked the accounting people if they send the email manually. If they don't, it's automatic, which means I missed something and get to burrow through that mess all over again!
I really hope I missed something; otherwise I need to figure out how and where (and when!) to send the email...
just...
errrrgghh9 -
I developed a simple scholarship management system for my school using Laravel, MySQL, jQuery and Bootstrap, I did it for free since college students from my country have to pay social service to get their degrees. Everyone in the scholarships department seemed to be really happy with my work and they evaluated my social service with 10/10, but yesterday they asked for one last favor: to go talk to the new social service guy who'll be supposed to maintain my project, a mid 30's dude who was really pissed off from the beginning because he wasn't even able to deploy the project, he wasn't even able to clone the project from Github. Ok, so I tried to explain to him the tools I used and how the project was structured, but everything I said seemed to piss him even more, so I stopped and had a chat like:
Me: "Look man, do you know or at least have basic concepts of PHP and MVC frameworks?"
Guy: "Yes, but I'm a project manager, not just –despectively– any programmer, and you didn't write proper documentation, it's impossible to deploy your project with the manual you wrote, I cannot work like this".
*We go to their computer and I clone and setup the project in 3 minutes.
Guy: "Yes, but I still don't know how the project works, I need everything documented. If I have to change something, I don't know where to look.
Me: "Man, that's why asked you about knowing PHP MVC frameworks".
Guy: "I cannot work like this, nothing is documented, I don't even know what's that software you're using *points at Sublime Text*. Or tell me, can you arrive at a place where they expect you to work with something you don't know and they have no documentation?"
*At this point he was really pissed
Me: "Well... Dealing with non-documented software is what I do for a living"
Guy: "I don't know what companies you've worked for, probably not big ones..."
Me: "Well, I actually work for *I mention one of the biggest music apps in the country*"
*Guy ironically laughs
When I gave my feedback to the lady in charge of the department, I told her that this guy was really pissed off at how things were done and that I wasn't so sure of him being capable of maintaining the system. She told me not to worry, that the guy became a well known asshole in the office only after a few days, and that she'll probably have to find something else for him to do. It'd be hilarious if this guy ends up capturing scholarships in the system I made.4 -
When a Coursera course is way better than the one offered by your university…
A university student's rant...
I study Electrical and Computer Engineering and during the first semester of the second year I selected an optional course: Web Programming. It was believed among students that the course would be really easy, and it was. All the student had to do was build a very simple website using HTML, CSS and a few line of JS. A website containing three or four pages all of which had to be validated using a markup validation service.
Yeah, sure, I passed the course just like everyone else who bothered enough to spend an hour or two working on the project. Oh, I almost forgot! We had an one-hour workshop on Dreamweaver!
So, by that point, everybody was a front-end developer, right?!
That happened over three years ago, and because of that course web-development didn’t impress me…
Thankfully, the last few months I’ve became interested in Web Development, and I’ve been reading some articles, spending time on smashing magazine, making some progress on FreeCodeCamp and taking relevant courses on Coursera!
In fact, a few days ago I completed the Coursera course “HTML, CSS and Javascript for Web Developers”.
Oh boy, the things I didn’t know that I didn’t know…
<sarcasm>Did you know there was a term called “responsive design” and that there are frameworks like bootstrap?</sarcasm>
Well, I d i d n ’ t k n o w ! ! ! (even though I had taken the university’s course).
I understand that bootstrap was introduced in 2011 and I took the university course in late 2012, but by that time, bootstrap was quite popular and also there were other frameworks available before bootstrap that could have been included in the course! (even today, there is no reference in responsive design in the university’s course).
In just five weeks the coursera course managed to teach me more, in a more organized and meaningful way than my university’s course in a whole semester!
When I started the coursera course I shared it with a friend of mine. His response: “yeah, sure, but web development is pretty easy… I didn’t spend much time to complete that project three years ago!”
That course three years ago gave birth to misconceptions in students' minds that web development is easy! Yeah, sure, it can be easy to built a simple, non responsive, non interactive website! But that's not how the world works nowadays , right?!
A few months ago, in the early days of August, I attended Flock, the Fedora community conference. During a break I spent some time speaking with a Red Hat employee about student internships. He told me, and I paraphrase: “We know that students don’t have a solid background and that they haven’t learned in the university what we need them to!”
Currently I’m planning to apply for a front-end developer internship position here in Greece.
Yesterday I wrote my CV, added university courses relevant to that position and listed coursera courses under independent coursework… While writing those I made these thoughts…
What if that course 3 years ago was as good as the coursera course… all the things I’d know by now…6 -
I have got a new director at work. My previous director had to retire already, the man was already feeling it and he had been on the institution for more than 35 years....I am 30, so this tells you how much the man has been there.
This new dude.....has the presence of a Caterprie (Pokemon) or an Oompa Loompa. In contrast, the previous director felt like a 4 star General (never been in the presence of a 5 star since those occurrences are world war rare) but I had respected that man so much and loved working with him. I really did loved my boss, he was stern and professional, but kind and friendly to his staff, fiercely protective, no one took advantage of I.T while he was there, he would literally fight for us and took our word before anything else. The man was, well, a true man. A true leader.
He took a chance in putting me as the head of my department, but he had faith in me, and coached me and trained me as much as he could. Had the requirement for his position not been a masters he himself told me that he would have loved to make me his successor, even when I would constantly tell him that I was scared shitless of the work he did and the amount of things he did for the institution, to me this is a very laaaaaaaaarge cowboy hat to fill (this is Texas, he wore a hat, the saying is normally "shoes to fill", but fuck it)
This new guys looks away when the other managers are speaking to him. He constantly interrupts us. He constantly tells us about how the other institution in which he was (rival might I add) does X or Y, its fucking annoying to the point that me and the other managers have a drinking game, for every time he references his old institution we drink one beer over the weekend. It is Saturday night and I am 36 in in total (this is my favorite part of it tho) and it is just annoying.
His train of thought makes no sense to me:
"This application, where did you buy it? we tried purchasing one on Y when I was still there but found none"
Me: "Well, since it was a new government mandate and had nowhere to go we had to develop it in house"
Him: "We had tried to purchase what you guys had but found no place that sold it, so why didn't you try purchasing it?"
Me:.....well, because it was brand new, purchase it from where? We also don't like dealing with vendors that manage these sorts of things because every new requirement takes them weeks to produce on very high budgets, historically, my department has only had maintenance fees for the software that we have and even those applications crap themselves all the time and they take weeks to answer back to us.
Him: So you decided to develop it in house instead? we would never do that! back at y we purchased everything our engineers never really developed anything!
Me: Well then, what is the purpose of having engineers if they are not going to actually develop an application?
Him: IF there is something out there that is better then why should you reinvent the wheel?
Me: For this one I did not reinvent the wheel, I am not talking about creating a programming language from scratch, but how does custom solutions that specifically feed the needs of the institution to be produced otherwise? The department has developers for a reason, because they have very specific needs in here that can only come from a team of developers that are in house satisfying those needs.
Him: Well our engineers never had to do that. Sure projects sometimes had to put on holds because the vendor was busy, but such is the nature of development
Me: No it is not, the nature of development is to create things, it is one thing for my team to go through bugs and software considerations, it is another for me to not provide a service because some random company is taking two weeks on a $300 dllr an hour contract to put a simple checkbox on a form. If a project fails the board is not going to care that some vendor is not doing their job, they are just going to blame me, if that is the case then I would much rather the blame be actually mine than some sucky third party "developer" also, your engineers where not even engineers, they were people with a degree that purchased things, that's it, please do not compare them to my guys or refer them as engineers in front of me, they are not.
Him: Well, maybe.
MAYBE?!! motherfucker I did not kill myself learning the ins and outs of architecture and software engineering on my own time after my fucking bachelors in C.S for your codeless background ass to tell me MAYBE. My word IS the fucking WORD here, not yours. Fuck me I really dislike this dude's management practices.
The shitty part? He is not a bad person, he is not a bad dude that is out to get us, just a simple minded moron with no place as a leader.
I know leaders, I know what a leader is, this is not one.10 -
Paranoid Developers - It's a long one
Backstory: I was a freelance web developer when I managed to land a place on a cyber security program with who I consider to be the world leaders in the field (details deliberately withheld; who's paranoid now?). Other than the basic security practices of web dev, my experience with Cyber was limited to the OU introduction course, so I was wholly unprepared for the level of, occasionally hysterical, paranoia that my fellow cohort seemed to perpetually live in. The following is a collection of stories from several of these people, because if I only wrote about one they would accuse me of providing too much data allowing an attacker to aggregate and steal their identity. They do use devrant so if you're reading this, know that I love you and that something is wrong with you.
That time when...
He wrote a social media network with end-to-end encryption before it was cool.
He wrote custom 64kb encryption for his academic HDD.
He removed the 3 HDD from his desktop and stored them in a safe, whenever he left the house.
He set up a pfsense virtualbox with a firewall policy to block the port the student monitoring software used (effectively rendering it useless and definitely in breach of the IT policy).
He used only hashes of passwords as passwords (which isn't actually good).
He kept a drill on the desk ready to destroy his HDD at a moments notice.
He started developing a device to drill through his HDD when he pushed a button. May or may not have finished it.
He set up a new email account for each individual online service.
He hosted a website from his own home server so he didn't have to host the files elsewhere (which is just awful for home network security).
He unplugged the home router and began scanning his devices and manually searching through the process list when his music stopped playing on the laptop several times (turns out he had a wobbly spacebar and the shaking washing machine provided enough jittering for a button press).
He brought his own privacy screen to work (remember, this is a security place, with like background checks and all sorts).
He gave his C programming coursework (a simple messaging program) 2048 bit encryption, which was not required.
He wrote a custom encryption for his other C programming coursework as well as writing out the enigma encryption because there was no library, again not required.
He bought a burner phone to visit the capital city.
He bought a burner phone whenever he left his hometown come to think of it.
He bought a smartphone online, wiped it and installed new firmware (it was Chinese; I'm not saying anything about the Chinese, you're the one thinking it).
He bought a smartphone and installed Kali Linux NetHunter so he could test WiFi networks he connected to before using them on his personal device.
(You might be noticing it's all he's. Maybe it is, maybe it isn't).
He ate a sim card.
He brought a balaclava to pentesting training (it was pretty meme).
He printed out his source code as a manual read-only method.
He made a rule on his academic email to block incoming mail from the academic body (to be fair this is a good spam policy).
He withdraws money from a different cashpoint everytime to avoid patterns in his behaviour (the irony).
He reported someone for hacking the centre's network when they built their own website for practice using XAMMP.
I'm going to stop there. I could tell you so many more stories about these guys, some about them being paranoid and some about the stupid antics Cyber Security and Information Assurance students get up to. Well done for making it this far. Hope you enjoyed it.26 -
Developer came to our area to rant a bit about a problem he was having with Xamarin. A particular android device was receiving a java runtime error trying to de-serialize data from a WCF contract. What he found was not to use WCF and use WebAPI (or a simple REST service that sent back/forth JSON).
When he proposed changing the service (since the data transport didn’t really matter, he could plug the assembly into a WebAPI project in less than an hour), the dev manager shot down the idea pointing him to our service standard that explicitly stated no WebAPI (it’s in bold letters).
I showed him the date on the “standard”, which was 5 years ago. We have versioning on our sharepoint server, so I also him my proposal notes on the change request document (almost two years before that) stating we should stop using WCF in favor of REST based web standards. Dev manager at the time had wrote in his comment “Will never use REST. Enterprise developers prefer RPC.”
He just about fell over laughing when I showed him this gif.2 -
After returning back from the company we were purchasing a new phone system (hardware+software, $100K+, kind of a big deal)
VP: “I need the new phone system software integration for our CRM by next week. I need to demo the system for the other VPs”
Me: “No problem. Were you able to get their API like I asked?”
VP: “Salesman didn’t know for sure what that was, but he said all the developer software documentation is on their site.”
Me: “Did he give you a URL? Their main site is all marketing mumbo-jumbo. I assume there is another one specific for developers.”
VP: “Yea, he might have said something, but I don’t understand why you need it. The salesman said the integration would be seamless. He showed me several demos.”
Me: “No, I mean I need to know, is the API a full client install? a simple dll? is this going to be a web service integration? How will I know what to program against?”
VP: “I think I heard him say something about COM? Does that sound like an API?”
Me: “It’s a start. Did he provide you anything, a disk, a flash drive, anything with the software?”
VP: “No, only thing he told me was our CRM integration would be seamless and our development team would have no problems.”
Me: “OK..OK…I get it…he’s a salesman. Is there an 1-800 number I can call? A technical support email address? Anyone technical I can reach out to?”
VP: “Probably, but I don’t understand what the problem is. I need the CRM integrated by next week. I gave the other VPs a promise we would get it done. I do not break promises.”
Me: “Wait…when are we installing the new system?”
VP: “Well, the purchase order will be cut at the end of the month’s billing cycle, the company has about a two month turnaround time to deliver and install the hardware, so maybe 3 months from now? Are you going to be able to have the integration ready for next week?”
Me: “If we won’t see any of the hardware for 3 months, what exactly am I integrating with?”
VP: “That API you wanted or whatever it is. COM…yea, it’s COM. I was told the integration would be seamless and our developers would have no problem. I don’t understand why you can’t simply write the code to make it work. Getting the hardware installed is going to be the hardest part.”
Me: “OK, so I have no documentation, we have no hardware, no software, and no idea what this ‘seamless integration’ means. I’m afraid there isn’t anything I can do right now. ”
VP: “Fine!...I’ll just have to tell the other VPs you were not able to execute the seamless integration with the CRM.”
Which he did. When the hardware+software was finally installed, they hired consultants (because I “failed”). I think the bill was in the $50K range to perform the ‘integration’ which consisted of Excel spreadsheets (no kidding). When approached with the primary CRM integration, the team needed our API documentation, a year’s development time and $300K. I was pissed off enough, and I had the API documentation, I was able to get the basic CRM integration within 3 days. When an agent receives a call, I look up the # in our database, auto-fill the form with the customer info, etc. Easy stuff when you have the documentation.
The basics worked and the VP was congratulated by ‘saving’ the company $300K. May or may not have been bonuses involved, rumors still out on that one, but I didn't see em'. Later my manager told me the VP was really ticked that I performed the integration ‘behind his back’, but because it was a success, he couldn’t fire me.10 -
TL;DR
A "friend" is a tech fraud. Faking his resume as a software engineer! Only interested on the salary. This is unfair to all of us putting the hours of effort/practice just to improve our craft! 😠😤
I have a "friend" who is faking his resume, putting fake experiences and putting jargons not even related to tech just to make himself smart. He's using his customer service rep experience to talk confidently. His resume fcking long, 3 pages of fakery. I can't help, but to laugh when he sent it to me.
He has a tech degree, but worked in a BPO industry for 4 years, then recently, he quit. He got jealous with the lucrative software development industry and he wants to relearn coding, as a friend and I like sharing my knowledge, I agreed to guide him in the process.
After 3 moths, he got his first job, but unfortunately he got fired after two weeks because he commited sensitive data to the remote repo.
Then after a month, he got his second job and worked there for 6 months, he still don't know what his doing and always ask me solutions when he is stuck.
He got his 3rd job, remote work with high compensation. Fast forward after 3 months, he only got 1 month of salary, the other 2 wasn't given for unknown reason, my best guess is the company noticed his experience on paper does not match on real life.
Currently, he's working on another remote work with same compensation as before, and he still asks me super simple questions from time to time.
This is so unfair to all the devs who truly deserves the opportunity.20 -
So customers can place orders at our website, but some of the products are actually handled by a third party. We use a web service to communicate about these orders. Obviously, we need a way to uniquely identify each order, and decided with this other company that we would use a simple incrementing integer.
Last week, something strange happened: we could no longer cancel orders by their ID, because according to the web service, the orders were placed too long ago and were no longer eligible for cancellation. But I knew that could not be true: the orders were from last week. So I checked out database, turns out the ID's are not so unique: some refer to two or three orders. Somewhat worried, I contact the guy responsible at the other company and ask him how that could ever happen?
He: "Yeah, when we restart our server, the counter goes back to 1, you see. I didn't think that would be a problem...".
REALLY?! YOU DIDN'T THINK?5 -
I’ve started the process of setting up the new network at work. We got a 1Gbit fibre connection.
Plan was simple, move all cables from old switch to new switch. I wish it was that easy.
The imbecile of an IT Guy at work has setup everything so complex and unnecessary stupid that I’m baffled.
We got 5 older MacPros, all running MacOS Server, but they only have one service running on them.
Then we got 2x xserve raid where there’s mounted some external NAS enclosures and another mac. Both xserve raid has to be running and connected to the main macpro who’s combining all this to a few different volumes.
Everything got a static public IP (we got a /24 block), even the workstations. Only thing that doesn’t get one ip pr machine is the guest network.
The firewall is basically set to have all ports open, allowing for easy sniffing of what services we’re running.
The “dmz” is just a /29 of our ip range, no firewall rules so the servers in the dmz can access everything in our network.
Back to the xserve, it’s accessible from the outside so employees can work from home, even though no one does it. I asked our IT guy why he hadn’t setup a VPN, his explanation was first that he didn’t manage to set it up, then he said vpn is something hackers use to hide who they are.
I’m baffled by this imbecile of an IT guy, one problem is he only works there 25% of the time because of some health issues. So when one of the NAS enclosures didn’t mount after a power outage, he wasn’t at work, and took the whole day to reply to my messages about logins to the xserve.
I can’t wait till I get my order from fs.com with new patching equipment and tonnes of cables, and once I can merge all storage devices into one large SAN. It’ll be such a good work experience.7 -
For some reason my manager freaked out after her non developer husband told her that each of the web pages for our main service would take months to build. Shit man its just static content with some animations here and there. It is a total of 15 pages and this dude estimated that I (as in yours truly) would only be able to do 2 per month. Bato stfu. Stick to banking (hopefully your time estimates don't suck ass there) and let me woo your woman with my frontend godspeed.
So what did I do?
Simple, asked her to show me one of the design models she already created on photoshop. Saved that thing to my computer and coded it at home. In 2 hours (It was originally one but my dumbass gor tab trigger happy with rm rf autocomplete so I had to do it again...fking dumb) and showed it to her this morning.
Eat a dick dude. The woman is already going apeshit over all the other shit we have to do plus working on her masters and attentind 100+ pointless meetings a day whilst still being able to be the best fucking manager I've ever had. I really don't need her freaking the fuck out over your dumbfuck estimates. Why in the wholy fucking world she listened to your dumbass is beyond me, probably stress made her freak out.
Its cool b.....I got it under control.
Fucking chill woman damn.
**drops mic2 -
I have never doubted my abilities more, before this happened:
I got a Linux VM on Azure, downloaded apache httpd source which I proceeded to configure, make and install.
As expected, install failed with something related to apr and apr-util.
Searched several mailing lists, tried out several configure options, nothing worked..
After almost an hour, it stuck to me, all I had to do was "sudo yum install httpd" !!!
Disappointed that I missed something so simple, but when I did that, it came back with 'Nothing to do'...
Realized, httpd was pre-installed in that VM.. I just had to start the service !!!
:facepalm1 -
I just launched a small web service/app. I know this looks like a promo thing, but it's completely non-profit, open source and I'm only in it for the experience. So...
Introducing: https://gol.li
All this little app offers is a personal micro site that lists all your social network profiles. Basically share one link for all your different profiles. And yes, it includes DevRant of course. :)
There's also an iframe template for easy integration into other web apps and for the devs there's a super simple REST GET endpoint for inclusion of the data in your own apps.
The whole thing is on GitHub and I'd be more than happy for any kind of contribution. I'm looking forward to adding features like more personalization, optimizing stuff and fixing things. Also any suggestions on services you'd like see. Pretty much anything that involves a public profile goes.
I know this isn't exactly world changing, but it's just a thing I wanted to do for some time now, getting my own little app out there.9 -
"I'm almost done, I'll just need to add tests!"
Booom! You did it, that was a nuke going off in my head.
No, you shouldn't just need to add tests. The tests should have been written from the get go! You most likely won't cover all the cases. You won't know if adding the tests will break your feature, as you had none, as you refactor your untested mess in order to make your code testable.
When reading your mess of a test case and the painful mocking process you went through, I silently cry out into the void: "Why oh why!? All of this suffering could have been avoided!"
Since most of the time, your mocking pain boils down to not understanding what your "unit" in your "unit test" should be.
So let it be said:
- If you want to build a parser for an XML file, then just write a function / class whose *only* purpose is: parse the XML file, return a value object. That's it. Nothing more, nothing less.
- If you want to build a parser for an XML file, it MUST NOT: download a zip, extract that zip, merge all those files to one big file, parse that big file, talk to some other random APIs as a side-effect, and then return a value object.
Because then you suddenly have to mock away a http service and deal with zip files in your test cases.
The http util of your programming language will most likely work. Your unzip library will most likely work. So just assume it working. There are valid use cases where you want to make sure you acutally send a request and get a response, yet I am talking unit test here only.
In the scope of a class, keep the public methods to a reasonable minimum. As for each public method you shall at least create one test case. If you ever have the feeling "I want to test that private method" replace that statement in your head with: "I should extract that functionality to a new class where that method public. I then can create a unit test case a for that." That new service then becomes a dependency in your current service. Problem solved.
Also, mocking away dependencies should a simple process. If your mocking process fills half the screen, your test setup is overly complicated and your class is doing too much.
That's why I currently dig functional programming so much. When you build pure functions without side effects, unit tests are easy to write. Yet you can apply pure functions to OOP as well (to a degree). Embrace immutability.
Sidenote:
It's really not helpful that a lot of developers don't understand the difference between unit, functional acceptance, integration testing. Then they wonder why they can't test something easily, write overly complex test cases, until someone points out to them: No, in the scope of unit tests, we don't need to test our persistance layer. We just assume that it works. We should only test our businsess logic. You know: "Assuming that I get that response from the database, I expect that to happen." You don't need a test db, make a real query against that, in order to test that. (That still is a valid thing to do. Yet not in the scope of unit tests.)rant developer unit test test testing fp oop writing tests get your shit together unit testing unit tests8 -
So I've decided to go about converting a Java project that I've been working on to Kotlin a little bit at a time. I started out with basic entity classes converting them to simple `data class`es in Kotlin.
Eventually, I got to my first beast of a class to refactor. This class had over 40 service classes depending on it, so even a little hiccup would throw everything into chaos.
I finish all of the changes on all of the dependent classes, update the tests, and the configurations (as necessary), and I was finally ready to spin up the app to test for any breaking changes I may have introduced...
Well - I broke everything! But I was sure I couldn't have! So what the hell happened?
Turns out that as I was building my project with a Gradle watch, at one point something failed to compile, which threw an unhandled exception in the gradle daemon that was never reported.
So when I tried to run my app, gradle would continually re-throw the error in the app I asked it to run...
After turning the daemon off and on again, the app worked like a charm.10 -
Long time ago, back in a day of Microsoft Office 95 and 97, I was contracted to integrate a simple API for a payment service provider.
They've sent me the spec, I read it, it was simple enough: 1. payment OK, 2. payment FAILED. Few hours later the test environment was up and happy crediting and debiting fake accounts. Then came the push to prod.
I worked with two other guys, we shut down the servers, made a backup, connected new provider. All looked perfectly fine. First customers were paying, first shops were sending their products... Until two days later it turned out the money isn't coming through even though all we are getting from the API is "1" after "1"! I shut it off. We had 7 conference calls, 2 meetings, 3 days of trying and failing. Finally, by a mere luck, I found out what's what.
You see, Microsoft, when you invent your own file format, it's really nice to make it consistent between versions... So that the punctuation made in Microsoft Word 97 that was supposed to start from "0" didn't start from "1" when you open the file in Microsoft Word 95.
Also, if you're a moron who edits documentation in Microsoft Word, at least export it to a fucking PDF before sending out. Please. -
We made a simple SMS application - when there is alert in a building, SMS is sent to specific range of numbers, based on the alert type. After a month we received invoice of approx. 10K € from the client, my colleague was supposed to pay
.
.
.
.
.
.
.
.
.
.
.
After checking the logs and running tests on module, we found out it was not our fault, client then told us he played with SIM-card while module was sending SMS and somehow he managed to fu*k up. I still don't get it, partially.. Mobile service provider doesn't give a sh!t about sending tons of SMS/hour? No warning, nothing..
Ahh.. Clients, right?7 -
So, I'm living in a completely computer illiterate family and I was called to help my father with something on a Laptop where he wanted to stream his favorite Soccer-Club.
So I walk up to him, ask what's wrong, and he says (roughly translated from German) "That thing doesn't work!"
And I'm just like ((Wat u mean))
So I ask him to explain the problem in detail.
Apparently his streaming service wasn't loading his stream.
Well damn I say, try searching for the problem on Google and find a solution.
((But no no no imma just call my son for everything that's freaking wrong with tech, he sure knows what to do))
As I'm not that experienced with Webservices as of yet, I had no idea what to do.
He was fucking furious!
"You always act like you know everything about tech and programs and stuff and can't even help me with fixing this Stream-Thing?!"
I responded simply by saying "It's not my area of work!"
Seems like he didn't know the difference between TECH-JESUS and hobbyist software engineer.
So I stand there and he just goes on one of these typical boomer tech illiterate rants, of which I'm sure you can imagine enough being on this platform.
tl;Dr; It pisses me of big time how people are not even trying to understand technology, nor attempting to help themselves by eG. Googling some simple problem, but rather just ask around and then being pissed off if the asked person just doesn't know the answer or can't help!5 -
Most ignorant ask from a PM or client?
Migrated to SharePoint 2016 which included Reporting Services, and trying to fix a bug in the reporting services scheduler, I created a report (aka, copied an existing one) 'A Klingon Walks Into a Bar', so it would first in the list and distinct enough so the QA testers would (hopefully) leave it alone.
The PM for the project calls me.
PM: "What is this Klingon report? It looks like a copy of the daily inventory report"
Me: "It is. The reporting service job keeps crashing on certain reports that have daily execution schedules."
PM: "I need you to delete it"
Me: "What? Why? The report is on the dev sharepoint site. I named the report so it was unique and be at the top of the list so I can find it easily."
PM: "The name doesn't conform to our standards and it's confusing the testers."
Me: "The testers? You mean Dan, you, and Heather?"
PM: "Yes, smartass. Can you name the report something like daily inventory report 2, or something else?"
Me: "I could, but since this is in development, no. You've already proofed out the upgrade. You're waiting on me to fix this sharepoint bug. Why do you care what I do on this server? It's going away after the upgrade."
PM: "Yea, about that. We like having the server. It gives us a place to test reports. Would really appreciate it if you would rename or delete that report."
Me: "A test sharepoint reporting services server out of scope, so no, we're not keeping it."
PM: "Having a server just for us would be nice."
Me: "$10,000 nice? We're kinda fudging on the licensing now. If we're keeping it, we will be required to be in compliance. That's a server license, sharepoint license, sql server license, and the dedicated hardware. We talked about that, remember?"
PM: "Why is keeping that report so important to you? I don't want to explain to a VP what a Klingon is."
Me: "I'm not keeping the report or moving it to production. When I figure out the problem, I'll delete the report. OK?"
PM: "I would prefer you delete the report before a VP sees it."
Me: "Why would a VP be looking? They probably have better things to do."
PM: "Jeff wants to see our progress, I'll have to him the site, and he'll see the report."
Me: "OK? You tell Jeff it's a report I'm working on, I'll explain what a Klingon is, Jeff will call me a nerd, and we all move on."
PM: "I'm not comfortable with this upgrade."
Me: "What does that mean?"
PM: "I asked for something simple and I can't be responsible for the consequences. I'll be documenting this situation as a 'no-go' for deployment"
Me: "Oookaayyy?"
I figured out the bug, deleted the 'Klingon' report, and the PM couldn't do anything to delay the deployment.4 -
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 -
Found this gem of a comment in a code base written 4 years back.
/*
Invoke <Service Base URL>/asset/v2/details/<SN> to get asset details
Feeling very bad to include this call, but we really need to use this !!!
This call is gonna take ~20s to respond. I've even increased the overall timeout of this module, just for this call !!!
So, if you are looking to debug any performance issue, I wish you jump directly here,
remove this call and just use master data management (MDM)
P.S: It is not that simple, as MDM and this asset DB (both asset masters) has differences in how the asset is defined :(
*/
Still trying to understand how to remove this costly time-consuming call and replace with an efficient one !!
And, of-course, the original author left 2 years back :(3 -
Some websites are a disgrace to the internet and I wish there was a service that terminates them on a daily basis.
Really though, can you do some simple research about your users and see what will make their life easy?
You put the most important button of your website in a place where the I have to scroll down and looks for it. The beginning of your page has a stock picture that has no meaning or relevance to the topic of your page. WHAT THE FUCK IS WRONG WITH YOU?
And your button, it doesn't even look like a fucking button. It looks like a normal text, which doesn't even react to hovering. At least change the cursor to pointer so that I can understand that it's a button.
Fuck you, your button and your useless stock picture.3 -
> Worst work culture you've experienced?
It's a tie between my first to employers.
First: A career's dead end.
Bosses hardly ever said the truth, suger-coated everything and told you just about anything to get what they wanted. E.g. a coworker of mine was sent on a business trip to another company. They had told him this is his big chance! He'd attend a project kick-off meeting, maybe become its lead permanently. When he got there, the other company was like "So you're the temporary first-level supporter? Great! Here's your headset".
And well, devs were worth nothing anyway. For every dev there were 2-3 "consultants" that wrote detailed specifications, including SQL statements and pseudocode. The dev's job was just to translate that to working code. Except for the two highest senior devs, who had perfect job security. They had cooked up a custom Ant-based build system, had forked several high-profile Java projects (e.g. Hibernate) and their code was purposely cryptic and convoluted.
You had no chance to make changes to their projects without involuntarily breaking half of it. And then you'd have to beg for a bit of their time. And doing something they didn't like? Forget it. After I suggested to introduce automated testing I was treated like a heretic. Well of course, that would have threatened their job security. Even managers had no power against them. If these two would quit half a dozen projects would simply be dead.
And finally, the pecking order. Juniors, like me back then, didn't get taught shit. We were just there for the work the seniors didn't want to do. When one of the senior devs had implemented a patch on the master branch, it was the junior's job to apply it to the other branches.
Second: A massive sweatshop, almost like a real-life caricature.
It was a big corporation. Managers acted like kings, always taking the best for themselves while leaving crumbs for the plebs (=devs, operators, etc). They had the spacious single offices, we had the open plan (so awesome for communication and teamwork! synergy effects!). When they got bored, they left meetings just like that. We... well don't even think about being late.
And of course most managers followed the "kiss up, kick down" principle. Boy, was I getting kicked because I dared to question a decision of my boss. He made my life so hard I got sick for a month, being close to burnout. The best part? I gave notice a month later, and _he_still_was_surprised_!
Plebs weren't allowed anything below perfection, bosses on the other hand... so, I got yelled at by some manager. Twice. For essentially nothing, things just bruised his fragile ego. My bosses response? "Oh he's just human". No, the plebs was expected to obey the powers that be. Something you didn't like? That just means your attitude needs adjustment. Like with the open plan offices: I criticized the noise and distraction. Well that's just my _opinion_, right? Anyone else is happily enjoying it! Why can't I just be like the others? And most people really had given up, working like on a production line.
The company itself, while big, was a big ball of small, isolated groups, sticking together by office politics. In your software you'd need to call a service made by a different team, sooner or later. Not documented, noone was ever willing to help. To actually get help, you needed to get your boss to talk to their boss. Then you'd have a chance at all.
Oh, and the red tape. Say you needed a simple cable. You know, like those for $2 on Amazon. You'd open a support ticket and a week later everyone involved had signed it off. Probably. Like your boss, the support's boss, the internal IT services' boss, and maybe some other poor sap who felt important. Or maybe not, because the justification for needing that cable wasn't specific enough. I mean, just imagine the potential damage if our employees owned a cable they shouldn't!
You know, after these two employers I actually needed therapy. Looking back now, hooooly shit... that's why I can't repeat often enough that we devs put up with way too much bullshit.3 -
I made a functional parsing layer for an API that cleans http body json. The functions return insights about the received object and the result of the parse attempt. Then I wrote validation in the controller to determine if we will reject or accept. If we reject, parse and validation information is included on the error response so that the API consumer knows exactly why it was rejected. The code was super simple to read and maintain.
I demoed to the team and there was one hold out that couldn’t understand my decision to separate parse and validate. He decided to rewrite the two layers plus both the controller and service into one spaghetti layer. The team lead avoided conflict at all cost and told me that even though it was far worse code to “give him this”. We still struggle with the spaghetti code he wrote to this day.
When sugar-coating someone’s engineering inadequacies is more important than good engineering I think about quitting. He was literally the only one on the team that didn’t get it.2 -
That moment when one a simple feature request devolves into fixing all other issues of a service we own.
F******k -
Really fed up with my colleague and possibly my job. Am starting to doubt am cut out to be a developer
Am a junior java dev , been working working for this company for about 2 years now. Although they hired me to be a java dev, they pretty much exclusively had me working on JavaScript crap because none of the other more senior devs wanted to do even so much as poke JS with a long stick....
Oh and the salary was crap but i figured since i had barely 3 years of exp i thought i would stick with it for a while
But a few months ago after seeing other opportunities I got fed up and threatened to quit , already started interviewing etc
Got an offer, not exactly what i wanted but better than where i was. Went to quit but they freaked out and started throwing money at me. They matched and exceed the other salary and promised to addressed the issues that made me want to leave. Ie get me to work more on the java side of the project and have me work with someone more senior who could sort of mentor me, i had been working semi solo on the js shit till then...
The problem is that my supposed mentor is selfish prick... he is the sort of guy who comes in real early, basically he goes to early morning prayer then come in at some ungodly hour and fuckoff home around 3pm
He does all his work early morning then spends the rest of the day with his headphones on stealthily watching youtube, amazon, watching cricket, reading about Palestine , how oppressed muslims are or building a website for some mosque.
I asked him to let me sit with him so that I could just learn how this or that part of the sys worked , he agreed then the very next day comes in and does all the work before i get in at 9 , i asked him how he did it and he tells me oh just read the code.
Its not as simple as that, out codebase is an old pile of non standard legacy dog shit. Nothing works as it should, i tried to go through documentation online for the various stuff we use , but invariably get stuck when i try the usual approach because it turns out the original devs had essentially done a lot of custom hacks and cowboy coding to get stuff working, they screwed around with some of the framework jars & edited libraries to get stuff to work, resulting in some really weird OSGI errors.
My point is that i cant really just "read the code" or google ...
I gotta know a bit more what was actually modified and a lot of this knowledge isn't fucking documented, theres a lot of " ohhh that weird bug yeah yeah that happens cuz x did this hack some years ago to fix this issue and we kinda built on it, yeah we weren't supposed to do that but heyyy what u gonna do, just do this or that instead"
I was asked to set up a web service to export something, since thats his area of expertise and he is suppose to be teaching me the ropes, i asked him to explain where i should start and what would the general workflow be, his response is to tell me to just copy the IMPORT service and rename it to export then "just do it um change it or something" very helpful indeed (building enterprise application here nothing complex at all!!)
He sits right next to me so i can see how much works he actually does, i know when he just idly sitting there so thats when i ask him questions, he always has his earphones on so each time i gotta find a way to get his attention with a poke or a wave, he will give a heavy sigh and a weary look as he removes his headphones, listen to my question then give me the shortest answer possible before IMMEDIATELY turning away and putting his headphones on as fast as possible regardless of whether I actually understood or even heard what he said. If i ask another question ( am talking like an immediate follow up question for a clarification or something) he will
Do the whole sigh + tired look routing to make me know yeah you are disturbing me. ( god was so happy the day he accidentally sat on and broke them)
Yesterday i caught a glance at his screen as i was sitting down and i think he and another dev were talking about me
That am slow with my work and take forever to get into gear.
Starting to have doubts about my own ability n wether am really cut out to be a developer. I know i can work hard but its impossible to do so when you have no clue where to start and unable to look it up since all the custom hacks doesn't really allow any frame of reference.
Feels like am being handicapped and mocked, yesterday i just picked up my gear n left the office.
I never talk ill about my colleagues, whenever i have a 121 with my mgr i always all is fine, x n y are really helpful etc
I tried to indirectly tell my other colleague about this guy, he told me that guy had kinda mentally checked out of this job and was just going through on auto pilot and just laughed it off (they have been working together for almost a decade and a buddies) my other colleague is pretty nice but he usually swamped with work so i feel bad to trouble him.
Am really Fed up with it all7 -
Not necessarily ignorant, but funny.
Before my current job I used to work for a company that provided software services to logistic type corporations, import export and all that jazz.
I was asked to generate an admin interface that would allow people to enter scans from different products, sort them in the right place and update the main interface. During the time we were using Classic ASP with VBScript. There, AJAX and similar functionality can get quite tricky, but definitely doable if you know what you are doing, VBScript has many limitations when compared to something like PHP for example. But thus the application was created in about a week once everything was sorted and then the storage manager came back to ask me if I could put a spinner or something in it to show that the information was loading. I asked him if the information was not being updated accordingly or if there were similar issues to that extent.
He said "no, it is working perfectly and I have no problem with the functionality, but these morons keep trying to scan shit because they can't tell if something is being populated into the main table in the interface because it all happens so quickly" Me: "well it is a very simple process, if you want I can add some sort of additional message to that or a spinner or something of the like that would show for two seconds or something, just so they can get some visual clarification"
Him: "This is a pretty stupid thing isn't it?". Me: Yes. Him: "I am so sorry to ask for this, how long will it take you?" Me: "Lol give me about 30 mins maybe less, it is no problem really, let me get this out of the way so that your people can get to it without loosing anymore time"
Such things are the reason why they literally brought me to the head of the company when I told them that I was leaving in an effort for him to try and convince me to stay. I was not to be contracted into their service anymore, but a full time employee. It was nice for them to ask really, but I declined in favor of the benefits I get from my current company.
To this day I think its funny and they remember as well.7 -
I fucking give up, AWS is retarded. It's the worst piece of shit retarded fucking platform ever created and every fucking engineer that touched the code should have their fingers chopped off, shoved down their throats and then be beheaded.
I can't believe that this retarded shit is the "industry standard" for deploying anything ever. Every fucking page feels and uses as if it was fucking outsourced to a different part of india everytime. The fucking pagination behaves differently in every fucking service. Half of the new services just gave up and run on their own fucking thing, because presumably their own platform just couldn't even handle it anymore and fucking CloudFormation is the fucking kingpin of this entire retarded platform. Slapping and unslapping shit together unttil it fucking get's stuck in an unresolvable state because half the fucking services need 58 unrelated permissions to perform a simple delete.
Fuck AWS, Fuck Amazon, Fuck Bezos, Fuck the Cloud and Fuck this whole "Serverless" scam. I really truly wish everyone that had anything to do with making AWS a reality just drop dead on the spot right now so that we can forget that aws ever happened.10 -
Inherited a simple marketplace website that matches job seekers and hospitals in healthcare. Typically, all you need for this sort of thing is a web server, a database with search
But the precious devs decided to go micro-services in a container and db per service fashion. They ended up with over 50 docker containers with 50ish databases. It was a nightmare to scale or maintain!
With 50 database for for a simple web application that clearly needs to share data, integration testing was impossible, data loss became common, very hard to pin down, debugging was a nightmare, and also dangerous to change a service’s schema as dependencies were all tangled up.
The obvious thing was to scale down the infrastructure, so we could scale up properly, in a resource driven manner, rather than following the trend.
We made plans, but the CTO seemed worried about yet another architectural changes, so he invested in more infrastructure services, kubernetes, zipkin, prometheus etc without any idea what problems those infra services would solve.2 -
My most successful project was simple yet useful WAP service, which today could be called a „social network”. I’ve made it in 2001, when we had „boom” for GPRS in Poland and some operators offered almost unlimited access over it for some very little money. Main pillars of my WAP service were chatrooms and SMS gateways. In next few years I’ve got hundreds or even thousands of users. Lots of them met IRL, fell in love and maked families. We travelled across Poland and met with others - great young people, living in pre-FB era... That was really good time, which will, sadly, never return...1
-
Soo, my manager asked me to create tool for CSI. Sort of ticketing tool for service improvements.
So I spent a few months working on it including design, websocket based real time statistics, exports to their belowed excel, easy to use, fast and so on.
I've presented it to mgmt, told them that deployment was easy and just need a simple linux virtual and all is automated.
They told me that they don't have a server. Company where main business is cloud services. Didn't pay me a penny for my effort even though worked on that mostly in my free time.
I didn't even want anything for the tool, just for my time.
Then a month later they've introduced similar thing based on Sharepoint with 1/10th of fuctionality, slow as hell, buggy, unintuitive.
And guess what, I can't open source my tool because it is a company property.
So, fuck it, never gonna do anything again without proper contract, even if for the same department.
I've already left that hell hole, but thought I would share my story. -
This was a long time ago, when I was working part time in my uni helpdesk. as part of the uni IT service, they offered ISP services at the dorms. It was cheap, and fast. This essentially allowed students living in the dorms to connect thier personal computers to the uni LAN. Then one day...
An ARP poison malware infected some of those computers. An arp poison attack is simple (look at ettercap) - it redirects network traffic via the affected computer, and adds malware to webtraffic to infect more computers. One of these on a network is bad enough, but when there more then one... traffic was redirected a lot. this caused the Dorm switches to collapse under the load. Fun times to work at the helpdesk...
The IT guys came up with a solution for this: they blocked the arp poision attacks at the firewall, and then disabled the switch port for the infected computer for 24 hours. so, when someone called with 'I have no internet!', we told them to bring us the computer, and installed an AV on it.
3-4 month the problem was cleared. -
Why do I program everything myself in C, even a rest service? By writing everything yourself in C you make simple things complex to make complex things simple.
Writing a rest service for example learns you a part of http protocol, how sockets work, how to create a parser (in this case json). Three thing's you would miss if I used python.
On top, your rest service uses WAY lesser resource than written in python for example. Especially for CPU usage.
Allocating and free-ing still often have issues there, but I consider it a skill problem / discipline issue. Not blaming C for that. The rules are clear.13 -
!rant
I am on vacation from my full time job this week. I wanted to use this week to write a PoC for a potential customer of my side business. really interesting project for me.
potential customer is a window and door manufacturer and needs an application to manage their racks.
their ERP system already has a simple rack management but it is only useable in house.
they want the drivers to be able to scan racks they deliver to a customer with a native app and they want to have a webapp for the customers to see racks that are assigned to them as well as reporting a rack ready for collection. And that all needs to be in sync with their local ERP system.
as i am a .net guy i decided to go with the abp framework (because it got recommended to me) and xamarin for the native app part (because i have experience in this).
i have now spent 4 days implementing this and it has been so rewarding. the framework is so powerful and it's template saved me endless hours.
i even wrote a very basic connector service which synchronizes data between my app and the clients ERP system. Just one way until now because of time issue, but i learned to scaffold an ef core with db first. It is noticable that the ERP system is 2-tiered - meaning the clients directly talk to the db.
Tomorrow i will implement the xamarin client.
4 days just coding what i want to. choosi g my own velocity and making my own priorities without any interruptions or discussions and a bunch of new things to learn.
Probably wasted half a day because of stupidy (implemented some bugs) but fixing and learning is part of the journey and i lime that part, too.
i am so relaxed right now 😁 just wanted to share this without a real reason :P3 -
The "unit" in unit test does not mean your ENTIRE APPLICATION. Ever heard of scope!?
I am amazed how often people write overblown test setups, mock hundreds of unrelated services, just to test one tiny bit of logic.
That bit of logic could have been a pure function.
For that pure function you could write a dead simple unit test. Given that input, I expect that output. Nothing more, nothing less. (It helps even more if the pure functions only accepts primitives, like string and numbers, or very simple immutable value objects).
No I don't care that the service is used by another service, as your mocked interaction also doesn't test the service as a whole but you just assume the happy case most of the time anyway. You want to test the entire application? Let's not use unit tests for that but let's use a different kind of test for that (integration test, functional tests, e2e-tests).
If you write code in a way that easily allows for unit testing, your need to mock goes away.rant unit tests test all the things tests you are doing it wrong tdd testing don't mock me unit test1 -
Yes, a plus, i.e. `+`, is a fucking valid char for an email address.
Your online service is shit, you don't know your craft, and you should feel bad about yourself!
But you thought email is fucking simple, google for email validation regex and took copy pasted the first fucking find from some random blog that validates anything but an actual fucking valid email addresses, didn't you!?
(Funfact, the plus sign allow to create email aliases in some free mailer services. GMail for instance. That's why I l like using emails like my.actual.mail+I_KNOW_WHY_YOU_ARE_SENDING_SPAM@gmail.com as my registration email. Also, brute-force that login email.)3 -
Is your code green?
I've been thinking a lot about this for the past year. There was recently an article on this on slashdot.
I like optimising things to a reasonable degree and avoid bloat. What are some signs of code that isn't green?
* Use of technology that says its fast without real expert review and measurement. Lots of tech out their claims to be fast but actually isn't or is doing so by saturation resources while being inefficient.
* It uses caching. Many might find that counter intuitive. In technology it is surprisingly common to see people scale or cache rather than directly fixing the thing that's watt expensive which is compounded when the cache has weak coverage.
* It uses scaling. Originally scaling was a last resort. The reason is simple, it introduces excessive complexity. Today it's common to see people scale things rather than make them efficient. You end up needing ten instances when a bit of skill could bring you down to one which could scale as well but likely wont need to.
* It uses a non-trivial framework. Frameworks are rarely fast. Most will fall in the range of ten to a thousand times slower in terms of CPU usage. Memory bloat may also force the need for more instances. Frameworks written on already slow high level languages may be especially bad.
* Lacks optimisations for obvious bottlenecks.
* It runs slowly.
* It lacks even basic resource usage measurement.
Unfortunately smells are not enough on their own but are a start. Real measurement and expert review is always the only way to get an idea of if your code is reasonably green.
I find it not uncommon to see things require tens to hundreds to thousands of resources than needed if not more.
In terms of cycles that can be the difference between needing a single core and a thousand cores.
This is common in the industry but it's not because people didn't write everything in assembly. It's usually leaning toward the extreme opposite.
Optimisations are often easy and don't require writing code in binary. In fact the resulting code is often simpler. Excess complexity and inefficient code tend to go hand in hand. Sometimes a code cleaning service is all you need to enhance your green.
I once rewrote a data parsing library that had to parse a hundred MB and was a performance hotspot into C from an interpreted language. I measured it and the results were good. It had been optimised as much as possible in the interpreted version but way still 50 times faster minimum in C.
I recently stumbled upon someone's attempt to do the same and I was able to optimise the interpreted version in five minutes to be twice as fast as the C++ version.
I see opportunity to optimise everywhere in software. A billion KG CO2 could be saved easy if a few green code shops popped up. It's also often a net win. Faster software, lower costs, lower management burden... I'm thinking of starting a consultancy.
The problem is after witnessing the likes of Greta Thunberg then if that's what the next generation has in store then as far as I'm concerned the world can fucking burn and her generation along with it.6 -
In my previous company we developed a CRM web app for the company to use internally and it was in my humble opinion really easy to make sense of, but for some freaking we kept getting calls whenever someone got an error, and our default response was always to send us an email, then we will get back to you, as it was mostly stupid things they called about, for example, a customer might have to be status terminated, before you can click button A, button A would then be disabled and employees would call asking why. Apparently, people got annoyed by our response and went to the management, to get some guidelines as to when they could call the "development apartment" for help, so the management sends out some guidelines as to when they could call, write or whatever... The following was done without consulting us in any way ANY WAY AT ALL!... Because we all know management knows fucking best, and why bother asking the people that sit with it every day, and the way it was done was by saying:
If the background color on your error is red, it means the error is fatal and you can call the developers immediately, if its orange send an email and they will answer within 48 hours LIKE WTF... Seriously???. That was basically it, and honestly we had just been using colors, without much thought to it ofc red, was an error etc. But they we're not "OMG EVERYTHING IS BREAKING" alert, so we decided to use a couple of hours refactoring the color of the flash errors, and after that, we did not have many red alerts(None, yes none what so ever) We changed all the red ones to orange, and introduced some new colors. That worked for some time around 6 months or so, but then people obviously started calling again like, why even bother... So we created a simple service desk, blocked all incoming calls to our phones that were from regular employees, heard a lot of complaints about this from the employees, management was mad, we had so many meetings with those top paid management fuckers that know everything (way better than you and me), about how to handle this. As it took way too much of our time, that people couldn't bother trying simple things, or make some sense as to why a button is disabled etc. We ended up "winning", was allowed to block calls for some time, till the employees had learned to use a freaking simple service desk, it's not fucking rocket science Okay, stop being a pain in the ass... And it actually fucking worked! Most relaxing time after people got a hang of using the service desk instead of calling life was good after that... <3 -
In a meeting yesterday working through our WebAPI coding standards, starting from File -> New project..etc..etc.. and ironing out some of the left-or-right decisions so we can have a consistent coding style, working in a meeting room with an overhead projector and sharing keyboard around with one another.
Then we hit the routing 'rules' in the WebApiConfig, "api/{controller}/{id}"…
DevMgr: "Do we need the 'api' prefix? It seems redundant."
Ralph: "Yes it's needed. Prefixing the controllers with 'api' is industry best practice. Otherwise, how is anyone to know it's a web api"
Prancer: "Yea, it's part of the REST standard."
Me: "I don't think so. That is only part of the Asp.Net routing rule. We can put anything we want or take anything out."
DevMgr: "Yea, it looks silly. All the new services are going to be business process specific."
Ralph: "That's how everyone does it. It's kind of the point of why REST services are called WebApi"
Prancer: "What's the point of doing any of this work if we're not going to follow industry standards."
Me: "I understand if the service is part of larger web site, but we're developing standalone services. Prefixing routes with 'api' is redundant. I mean who are these 'everyone' you're talking about?"
<ralph rolls his eyes>
Ralph: "Lets see …uhhh… Netflix?. They're kinda a big deal."
Me: "Like I said, it's an integral part of their site and the services they provide. That's fine. I'm talking about the 12 other 3rd party services we integrate with. None of them have 'api' on any of their routes."
Prancer: "We're talking about serious web services."
Me: "Last time I checked, UPS is a big and serious service."
Ralph: "Their services are a fracking joke" – he didn't say fracking.
Me: "Our payroll system, our billing system, billion dollar companies, didn't have '/api' prefix anywhere. Heck, even that free faxing service we used for a while was a dead-simple routing path."
<I take the keyboard away from Ralph, remove the 'api' from the route.>
Me: "There. Done. Now, lets talk about error handling.."
Rest of the meeting Ralph and Prancer don't say much of anything, arms crossed…I swear Ralph looked like he was going to cry.
This morning I catch my boss…
Me: "What did you think of the meeting? I thought Ralph was going to take a swing at me when I took the keyboard away from him."
DevMgr: "Oh yes…I almost laughed out loud….blows my freaking mind how worked up people get about crap that doesn't matter. Api..or not…who the frack cares. Just make it consistent"
Me: "Exactly…I didn't care either way, but I enjoyed calling out that nonsense."
DevMgr: "Yes..waaay too much."
If I didn't call them on their BS and the 'standard' allowed to continue, I can bet my paycheck when the subject comes up in a few months (another mgr asks 'isn't this api prefix redundant?') Ralph and Prancer will be the first to say "Yea, its stupid. We fought really hard to remove it from the standard...its not our fault...its <insert scapegoat> fault." -
- A girl asks on FB how to deal with a problem in her Windows computer: the system is asking her to introduce the serial key.
- I comment her the possibility of using Linux in case her use cases are simple enough (web, music, videos).
- First reactions are even enthusiastic, some people who had good experiences join the thread to express their delight with Linux.
- Then a guy arrives to tell us how irresponsible we are, telling a poor girl who does not even know how to introduce the serial key... to use Linux (a super complex system!)
- So I tell the guy that Windows is not simple at all, and that most of the times, people just rely o knowing someone else with higher expertise than them, who always end up paying the price of solving the problems caused by Windows, so the users don't really feel how painful is Windows compared to other systems.
- The girl, who was enthusiastic at first, and seems to be not very bright, to say the least, completely misunderstands my answer. She interprets that I'm insulting the poor guys that act as IT service for free, and calls me a "know-all/smartass" (those words are not even close to their Spanish counterpart on pushing down people who know stuff, we are experts on that there, we didn't loose an empire in the 17th century by respecting the wise ones).
This is, in part, why I stopped helping those dumbasses 18 years ago. I forbid myself to learn anything new about Windows (at user level) so I couldn't help these ungrateful and ignorant people who don't make any effort to learn anything by themselves.19 -
What you could have:
- simple project structure
- common lib with modular logic
- import logic as needed in you services
What you do:
- waste months to write an opinionated framework that works only if used in a super specific way
- have a fat sample project as example
- use a code generator to copy and rename the said sample project whenever you create a new service
- have everything break whenever something new is added in the framework
- oh and keep the framework in active development while others work on the client services, so lots of things will break often and out of nowhere
Fucking god, i hate when people make pet projects out of work projects2 -
I'm starting to feel super frustrated with my job.
Sometimes I feel like people who work for large tech companies must have it easy. My company is trying to do this digital transformation thing. Modern development practices Scrum, agile, CI/CD etc. So I was put on a team to work on a project with this new methodology. The idea was we would build the front end and interface with the core systems via service calls. Of course it didn't work out that simple and we had to add our own server side stuff but whatever. It's really hard without a point of reference for any of this stuff. We don't have established coding standards, the data we are working with is a mess, incompetent vendors, the infrastructure team supporting the environments can be such arrogant fucks when we need their help to get shit done. The team also doesn't have any members who really know the core systems well. I am the only developer on the team who is an employee of the company the rest are contractors who are in and out. Last week it was literally just me. This is my first job out of school btw I've been here a year now. I guess I just feel frustrated that I have to figure out so much on my own I don't really have many senior devs at the company I can look to. And on the team I've sorta ended up in an unofficial leadership position. Feels like a lot on my shoulders. I feel like if i could have worked for a bigger company I could learn to do a lot of things better. I feel like there's too much on me for the amount of experience I have or am I wrong ?5 -
Hetzner.
Simple, efficient, no useless fluff, decent prices for a good service, no hidden surprises or overcomplicated setups.
What more could you ask for?1 -
***ILLEGAL***
so its IPL(cricket) season in india, there is a OTT service called hotstar (its like netflix of india), the cricket streams exclusively on hotstar..
so a quick google search reveals literally thousands of emails & passwords, found a pastebin containing 500 emails&passwords ...but those are leaked last year most of passwords are changed & many of them enabled 2FA.. after looking through them we can find some passwords are similar to their emails , some contains birth year like 1975,1997 etc, some passwords end with 123 ..so after trying a few different versions of the passwords like
1) password123 -> password@123, password1234
2) passwordyear -> password@year
2) for passwords similar to emails, we can add 123 ,1234, @ etc
created a quick python script for sending login requests
so after like 30-40 mins of work, i have 7 working accounts
*for those who have basic idea of security practices you can skip this part
lessons learnt
1) enable 2FA
2) use strong passwords, if you change your password , new password should be very different from the old one
there are several thousands of leaked plaintext passwords for services like netflix,spotify, hulu etc, are easily available using simple google search,
after looking through & analysing thousands of them you can find many common passwords , common patterns
they may not be as obvious as password ,password123 but they are easily guessable.
mainly this is because these type of entertainment services are used by the average joe, they dont care about strong passwords, 2FA etc6 -
Tl;Dr Im the one of the few in my area that sees sftping as the prod service account shouldn't be a deployment process. And the ONLY ONE THAT CARES THAT THIS IS GONNA BREAK A BUNCH OF SHIT AT SOME POINT.
The non tl;dr:
For a whole year I've been trying to convince my area that sshing as the production service account is not the proper way to deploy and/or develop batch code. My area (my team and 3 sister teams) have no concept of using version control for our various Unix components (shell scripts and configuration files) that our CRITICAL for our teams ongoing success. Most develop in a "prodqa like" system and the remainder straight in production. Those that develop straight in prodqa have no "test" deployment so when they ssh files straight to actual production. Our area has no concept of continuous integration and automated build checking. There is no "test cases", no "systems testing" or "regression testing". No gate checks for changing production are enforced. There is a standing "approved" deployment process by the enterprise (my company is Whyyyyyyyyyy bigger than my area ) but no one uses it. In fact idk anyone in my area who knows HOW to deploy using the official deployment method. Yes, there is privileged access management on the service account. Yes the managers gets notified everytime someone accesses the privileged production account. The managers don't see fixing this as a priority. In fact I think I've only talk to ONE other person in my area who truly understands how terrible it is that we have full production change access on a daily basis. Ive brought this up so many times and so many times nothing has been done and I've tried to get it changed yet nothing has happened and I'm just SO FUCKING SICK that no one sees how big of a deal this. I mean, overall I live the area I work in, I love the people, yet this one glaring deficiency causes me so much fucking stress cause it's so fucking simple to fix.
We even have an newer enterprise deployment. Method leveraging a product called "urban code deploy" (ucd) to deploy a git repository. JUST FUCKING GIT WITH THE PROGRAM!!!!..... IT WAS RELEASED FUCKING 12 YEARS AGO......
Please..... Please..... I just want my otherwise normally awesome team to understand the importance and benefits of version control and approved/revertable deployments2 -
Short angry rant
What the fuck is wrong with the SalesForce Authenticator logic?! How in the hell do you fuck up a simple 2FA system this hard?!!
Login -> Waiting for Notification... nothing... -> Reload Page -> Login -> Waiting for Notification... nothing -> Click "Use Code instead"... nothing happens... -> Reload Page -> "Login -> don't even wait for notification and just pres "Use Code instead"... nothing -> Reload Page -> Notice there's a "Use Code" button on this page as well -> Finally be able to log into the fucking Aloha piece of shit...
How TF is it, that Duo is able to send me a push notification within 1 second and it ALWAYS works... and THIS FUCKING SHIT NEVER FUCKING WORKS THE FIRST TIME AND AT WORST JUST DOESN'T WORK AT ALL!!!!!
Fucking hell.... Don't offer me a push notification service if you don't know how to make one... jesus fucking christ... All of Salesforce security is fucking stupid, but at least the others mostly work, but this retarded piece of crap is making me actively surprised when it works on first try... Maybe it's because I'm on a slow connection, but again Duo Mobile doesn't have this problem and works *instantly*... so what sort of retarded monkey coded the SF one I don't know, but I hope they are making better products now, because this is a disgrace to programming and security6 -
Got inspired by @linuxxx to do an simple URL shortener service.
Turned out to be actually useable!
So here it is: https://srt.clan.rip/
Got the domain for free. That's why it is looking so strange.19 -
New dev guy in office, Does zero research when stuck in somewhere while doing a task. Goes around asking the team if they had done that before. Talks on the phone for like 10-15 mins with god knows who when he has a technical problem.
Doesn't even bother to do a simple debug before complaining about an exception in a service to the dev who wrote it (if he knows the dev who wrote it)
Interestingly, he marks the tasks he does in a google sheet in red, yellow and green rows that's shared with our tech lead.
Not that he bugs me or anything, but just thought i should share this here.6 -
000WEBSHOST is the worst Service in the world! I just created a simple API which I called it only for 5 times and the site loading for 2 hours long. . .
Ask their support in their discord, they open a channel, and close it after 15 minutes of their inactive. WTF?2 -
docker service scale serviceID=5
If only scaling my bank balance were as simple as docker swarm scaling !1 -
Go assign a super simple ticket to your "product owner" or "manager" or whoever the hell claims they "work so hard" and "have the vision" or whatever blah blah blah when in reality YOU'RE the one working 12 hour days, completing the features used by THOUSANDS.
Just try it. They'll never complete it. I guarantee it. Here I am looking at one that is three weeks old asking to update the f&*(@#$ credit card credentials for a simple log service to be reactivated.
So sick of this backward world where us devs never get any credit.
Who wants to start a software union with me?2 -
I'll try to pay back some smaller credit by one large credit...
Hence I need to contact the banks and get one (!) fucking frigging stupid piece of paper which lists the account number and the amount of money I need to pay back.
Sounds simple ...
Well.
One bank just answered my email request by sending me that piece of paper. Except they didn't have any validation of my identity.
Yes. They answered the request of 'I want to pay back the credit in full, can u send me the necessary documents?' (more formal of course) with confidential data without any more credibility than my email address.
YAY.
Another bank requests a telephone call for identity validation and sending back a signed form via postal service...
Another bank just needs a PDF sent via mail with an electric signature (yeah. They were aware of what that means - I was shocked and confused) or a "qualified signature matching previous documents" (translated from German).
The last one offers a WhatsApp number - send a GIF / JPG or video and we answer directly.
I need to reach a higher state than drunk.
It's not funny to know how confidential data gets mistreated by companies who should have the highest security.4 -
Continuation of: https://devrant.com/rants/2784730/...
So, the potential client was in contact with me again, after our initial discussion ended with "okay, we'll try to figure out more clearer requirements", and then they procrastinated (as they confessed).
Now, they want a "simple portfolio type website with testimonial videos, a contact form and a hidden section with more videos for logged in customers"
... Okay, why don't you just... I basically linked them a bunch of service providers who have ready templates that they can just subscribe to for some monthly fee and have even someone at those providers' make the work for much less than I'd do it from scratch. My suggestions were ignored... and when I told them my best estimates of how long I'd take me and hoe much it would cost, the eventual reply was:
"Our CEO's going to think about it. He knows some dude who'd make a WP site for free.."
... well, that's going to end well.
Tbh, my correspondent did add that the "dude" is known to be extremely unreliable, so I might end up with this project after all.
I'm already ruing my decision to try my hands at some freelance work. I hate dealing with clients, so why do I even...?4 -
On my first day at new job, a non-technical person used CQRS word while explaining the system. When I asked what's need of such a complex pattern for simple query type service, he simply backed off. 😝
-
What is it with non-technical managers, especially those in sales, thinking that the solution to all problems is to "just pick up the phone and ring them?" This was *always* his opinion, whether the web service we were using wasn't accepting a valid request (apparently this was best "explained over the phone", I kid you not - have you ever tried speaking JSON?!) or whether we just needed a simple request going in to increase the API limit. I mean I could send an email or log a ticket in a few minutes tops, but you want me to spend 2 hours on hold to a support department only to be told "ah we don't take those requests over the phone, here's the URL, log a ticket."
Then it's always a case of "I don't understand why they're like that, all the guys I speak to are happy to help on the phone". Yeah, beacuse you're in sales & marketing you muppet. Blathering on to each other so you can stroke the egos of yourselves and your companies is kinda in the job description.
Grr. This was all a while ago, but I thought of it just now and the pure concept just annoyed me, so here it is. I really hope he's not doing the same thing to guys under him now (but let's be honest, he probably is.)7 -
"It should be fairly simple to find a service to do this thing."
Then why are you assigning me the task instead of handling it yourself? Obviously if it's that simple you already did all the research on the possible options, right? In which case, why waste my time? :P -
Thank you apple for making my macbook not boot anymore after catalina update. By not booting, I mean no fuckin nothing happens when you press the power button. It doesnt fuckin turn on anymore.
Apple service solution: replace mainboard for fucking 800 dollar.
Do I have to expext that a simple software update fuckin bricks my notebook? Wtf who expects that??? Its a 2018 spacegray macbook, lile gooddamn brandnew.
An yeah warranty expired two weeks ago.
I wonder if they do that shit on purpose.8 -
Hey devRanters do you know any free and simple Kanban Board Desktop mac apps? I don't want a saas service and i can't use the apple app store.4
-
It's more of a QA rant....
A Website takes address information via POST. Since Selenium can not do POST properly devs said: "no worries, we will make the site accept addresses via GET url parameters"
Me:"Why not make a simple page with input fields that just behaves like the site calling our site via POST?"
Devs:"Nah we don't need that. Will be fine. We will ensure that POST service works via unit test."
Come release week... Dev:"Guys, POST isn't working, IT Analyst tested with the other site..."
Dev1:"Why did QA not test this earlier?"
Dev2:"He wanted to, we told him that we would unit test this. He fucking knew it. He fucking knew it so don't blame him!"
Me: :34 -
So I've a little freelance project, is basically a blog. I've decided to use microservices with angular in the front end and python in the backend.
I've been about 2 weeks copy pasting code in my api because all the modules are pretty simple CRUDs that do the same thing, there is not heavy business logic or anything, just database handling.
I was really tired of copy pasting modules and his test, only changing function names and parameters, today I've this "epifany" about the inheritance and thinked about using it in my service, creating a base class and making all the other classes children of him.
Before the change my project has 220 tests (100% coverage) now I have only 40 tests (the same 100% coverage)
So, the lesson is: don't start throwing code like an idiot and start your project with some good planning1 -
Hmm... My first experience with computers was in 1991 or so, when my then best friend had C64. And I was 7. My first PC arrived in 1993. Prince of Persia is the first game I remember from that time. I started programming in 1995 or '96, writing useless things in Pascal. Using PHP since 2000. Still that’s my main programming language. And sadly, my kids have different hobbies than me, so they aren’t even trying to program.
I remember the sound of modem connecting thru phone line to some BBS systems and later to the first public and free internet service in Poland. I remember simple, really „computer-like” voice of my dad’s speech synthesizer (he’s blind person). I remember, when our time to „play on PC” was limited to max 1hr a day... What will our kids remember? -
I hate the current state of internet based service providers. They are collecting so much data, it's scary and borderline stalking.
A simple search on Netflix changes ads shown by Google. I watch a lot of Japanese/Korean drama and now my ads are in Japanese. What the actual fuck.
I run windows 10 on my main rig because of steam and windows only games. One day I was searching for filezilla in windows search. Since it is now handled by the same UI as cortana, it searched it on the web too. So now I have ads related to ftp hosting in Japanese.
Sometimes I feel like just formatting my system and install debian on it. But those games man. May be I can live without them.
Can we bring back the internet from 2008. It was so much better back then.12 -
Imagine an online, public service, that allows you to communicate with others (for example a simple chat, game, whatever ).
The users connect to each others via p2p. Based on this, you can easily get the ip address of any user directly connected to you. P2p is used to reduce server load, but information is still verified (for example using RACS), so let's assume the data is always safe.
(please remember, this is just a imagined Szenario)
Now the question: AFAIK, the IP address is a sensitive information. Would p2p in this scenario still be 'legal' in the EU given the latest changes in the laws?7 -
In the mid-2010s, we barely had any apps in our native language and popular coupon and review sites were lackluster in our neck of the woods.
So me and some old uni colleagues got together to make a WhatsApp based "wtf is going on right now and right around here"
think Groupon meets yelp meets Google maps meet trending topics. The idea was that local business would post deals and events and people would comment on it giving stars on real time, with geolocation. So you could see what was going on right next to you, and business owners only needed WhatsApp installed to post new topics.
We... failed to go viral. That simple. Things get frustrating when infinite no-questions-asked venture capital is not available.
Then me and the other founders got very lucrative jobs in former British colonies and that was it.
This idea might still work nowadays, but it would be reeeealy hard to navigate around Whatsapp's terms of service.
Good luck to anyone who might want to try.3 -
Why is AWS so opaque? Every time I run into a new awkwardly name service I have to parse some redundant management speak to figure out what it does. Does it really matter to anyone that their services have special names with words like "Simple"?
-
So I'm not sure on how much Youtube can fuck up so much in a short time, but I'm actually suprised.
And I'm not just tslking of all the shady/bullshit bahavior and reasoning on content creators, but also on how this shitty new app is just one clusterfuck of not working shit.
One if the easiest features there is - the damn shuffle feature for a damn playlist - doesn't properly work since the first day it went live. Are you shitting me? Even after a felt decade they are still not able to fix it. Yet alone showing more than 200 in the playlist items (when a video is already playing)
But a simple feature which is useful to nearly everyone and which worked before is surely no problem when the damn service itself would work.
Aside that the app sometimes randomly crashes when leaving fullscreen mode (desktop) and making it for some magical way impossible to interact with the browser (WTF?!) until you resize it or wait for an eternity to relase you from that suffer.
On top of that pile of garbage, the videos don't load properly anymore. Whats the fucking point of showing how much of a video is supposidly loaded when you skip forward for 5sec and it has to buffer for 10 to continue?
Well, if that were to at least only happen when the video is skipped forwards/backwards. On some strange occasion (Probably when the stars arrange properly) than your connection to the servers is back in the stoneage. Because otherwise I can't explain how the fuck it has to lower the resolution down to 360p and STILL buffer. I have a fucking 10MByte/s+ DL rate, ARE YOU SHITTING ME?!
Now after over 1.5k chars I notice I maybe a bit over the top ... BUT FUCK IT. I mean, it's fucking youtube ffs. If the biggest videoplatform can't even create a properly working webapp, then what the fuck are you doing google?1 -
😤
When you make a simple call to customer service but you end up rambling to the poor rep on the other end for nearly an hour...
By the end couldn't tell if she wanted to laugh, cry, or just drink a pint of bleach. -
The amount of boilerplating required to write a simple subject state service on angular.
I still love it tho. Very organized. Allows better thinking by explicitly stating the registered services in modules.2 -
So I was looking into phone app development again (as you do) and I'm working on a simple QoL app for me and my SO that will help us automate some home management and finances stuff. Naturally I delved down the rabbit hole deep and wanted to have push notifications so we don't have to check the app periodically to know when certain things happen... Oh boy... Why is mobile development so convoluted, especially if you don't want to rely on Google Services...
It seems that the most accepted way of doing this is Firebase (FCM). Well me being me, I refuse to use google services for this and I prefer self hosted solutions (for data privacy reasons) which eliminates most products out there.
It also didn't help that my framework of choice is Flutter/Dart, because fuck Android Studio and the insane buggy XML stuff and fuck Android and it's constantly changing APIs...
Well In the end I decided on a rather simple solution and self hosted an AMQP service (RabbitMQ in my case, as I have some experience with it already) and implemented a foreground service in android platform specific code on top of my flutter project to kickstart it and made my phone a queue listener... This now means I can push notifications from my server to the Messaging Queue and it will be pushed into my App automatically!
One thing I found out on this journey was that Android now kills most background services and enforces foreground services to have a visible notification in the status drawer... which I actually approve of. It's a bit annoying that you can start a reliable background service, but I'm absolutely on-board with long running processes started by my apps are constantly visible...
Long story short, I love reinventing all the wheels, especially if it's for free and private... And I also went to sleep at 2AM again because this took longer that I'd like to tune... but it works, and it's google free...
I'm thinking of trying to package this up as a flutter module later, but first I want to do testing on battery life and the general life cycle of the service. RabbitMQ says they have the client library optimized for long-lasting connections and it should be just using a tcp socket, which should pretty much be what all the push notification services are doing anyway. I'm also not completely satisfied with how the permanent notification looks.. it isn't collapsible like some of the other ones from other apps and it's about 2 lines high instead of single line... which is something quite annoying and I'm struggling to find any relevant docs on how this is done other than possible making a custom Notification Style... but I just can't believe that everyone is doing that.. there must be a built-in somewhere -_-... Ugh Android is hell...
Anyway, if any android devs here have some hints, tips and tricks on how to handle this type of background/foreground process stuff and I'm doing something wrong let me know, cause googling this shit is a nightmare too!6 -
I live in an apartment building and ordered a DVD from Amazon, 2-day delivery on Friday. So was supposed to arrive yesterday but got a "Delivery was Attempted". I said ok probably the postal service being lazy. Some days they just don't deliver even though they should...
They tried again today but I get notified of the same problem. Now I'm pissed so finally contact Amazon. Turns out they didn't use USPS or any of the big shippers.
I'm going WTF... isn't it common sense... all these rocket science engineers and they can't add a simple if?
if(address.HasApartmentNumber) shippers.Select( x => x.CanAccessApartmentBuildings)9 -
Simple question, I'm writing a coding course that does some cloud stuff.
Which cloud providers actually allow you to limit spending without some stupid "setup a service to nuke everything" fuckery?
As far as I can tell, Azure and Oracle. It's stupid how often this is raised as a concern for beginners and how hard it is to actually limit.8 -
3 weeks into getting dragged into another MS-stack project, I have already been repeatedly reminded why I decided to invest so much energy in moving my career as far away from Microsoft dependency as possible. Even something as simple as reviewing settings on Azure App Service is a hit-or-miss affair, being completely unavailable for hours at a time at least once a week. Azure Functions are consistently unavailable for at least a few minutes every day. Don't even get me started on "Azure DevOps".
Why the fuck do people still place their trust (and critical infrastructure) in the hands of Microsoft?4 -
GitHub, your Copilot sucks, and so does Dependabot!
Dependabot opened 3 pull requests;
merging the first one caused conflicts in package.json and package-lock.json that must be resolved;
while trying to investigate further, the second pull request got closed as it suddenly seemed obsolete.
Dependabot: "Looks like these dependencies are no longer updatable, so this is no longer needed."
This kind of service generates so much noise and irrelevant alerts, it comes out of nowhere and there is no way to get rid of those bots once they invaded a repository. And they are so useless. A simple `npm outdated && npm upgrade` would have done better in 99% of the cases.
GitHub, your Copilot sucks, and so does Dependabot!1 -
AHHHHHHHHHHGGGH
I HATE VPN SETUP
- Trying OpenSwan
Installing open swan on a Debian machine.. setting up the config.
Restarting openswan. Syntax error. No syntax error to be found.
Different tutorial.. it starts! Try to connect.. I can’t connect. Look at the logs. No errors.
Tcpdump. My traffic is coming through.. all fine.. try to connect again.. it works! (Nothing changed!)
Try to ping somewhere else.. no connectivity.
Try to ping an IP in the same network.. works fine. So I have connectivity, just no internet.
Spend an hour finding out about traffic directions of which no one seems to know what they really mean.
Boss tells me to stop using openswan because it’s deprecated and replaced by strong swan..
- Strongswan
Reinstall Debian machine, install strongswan. Copy openswan config. Oh, they’re incompatible? Look up strong swan config, and the service starts.
Connect to the VPN.. it works! Again, no internet, just connectivity in the same network. Spend 2h debugging the config, disable firewalls everywhere, find an ancient bug in the Debian package related to my issues.. ok, let’s try compiling from source.. you know what, let’s not. I’ll throw this Debian machine away and try something completely different.
- pfSense
Ok, this looks easy enough! Let’s just click through the initial setup, change some firewall rules, create an L2TP VPN with a simple wizard.
Try to connect to VPN. First, it times out. Maybe a firewall issue? Turn off firewall.. ah, something happens now. I get an error message right after trying to connect to the VPN. Hmm, the port doesn’t even get opened when I enable the firewall.. this implementation seems a bit buggy.. let’s try their OpenVPN module.
Configure OpenVPN. Documentation isn’t that clear.. apparently a client isn’t actually a client but a user is a client.. ok, there’s a hidden checkbox somewhere.
Now where do I download my certificate? Oh, I need a plug-in for that.. ok, interesting. Able to download the certificate, import it, connect and.. YES!!! I can ping! But, I have no DNS..
Apparently, ICMP isn’t getting filtered but all outbound ports are.. yet the firewall is completely disabled. Maybe I need outbound NAT? Oh. There’s no clear documentation on where to configure it. Find some ancient doc, set it up, still no outbound connectivity.
AHAHAHAHHHHHHHHHHG
Then I tried VyOS. I had a great L2TP VPN working in less than 15 mins. Thank you VyOS for actually providing proper docs and proper software.3 -
My answer to their survey -->
What, if anything, do you most _dislike_ about Firebase In-App Messaging?
Come on, have you sit a normal dev, completely new to this push notification thing and ask him to make run a simple app like the flutter firebase_messaging plugin example? For sure you did not oh dear brain dead moron that found his college degree in a Linux magazine 'Ruby special edition'.
Every-f**kin thing about that Firebase is loose end. I read all Medium articles, your utterly soporific documentation that never ends, I am actually running the flutter plugin example firebase_messaging. Nothing works or is referenced correctly: nothing. You really go blind eyes in life... you guys; right? Oh, there is a flimsy workaround in the 100th post under the Github issue number 10 thousand... lets close the crash report. If I did not change 50 meaningless lines in gradle-what-not files to make your brick-of-puke to work, I did not changed a single one.
I dream of you, looking at all those nonsense config files, with cross side eyes and some small but constant sweat, sweat that stinks piss btw, leaving your eyes because you see the end, the absolute total fuckup coming. The day where all that thick stinky shit will become beyond salvation; blurred by infinite uncontrolled and skewed complexity; your creation, your pathetic brain exposed for us all.
For sure I am not the first one to complain... your whole thing, from the first to last quark that constitute it, is irrelevant; a never ending pile of non sense. Someone with all the world contained sabotage determination would not have done lower. Thank you for making me loose hours down deep your shit show. So appreciated.
The setup is: servers, your crap-as-a-service and some mobile devices. For Christ sake, sending 100 bytes as a little [ beep beep + 'hello kitty' ] is not fucking rocket science. Yet you fuckin push it to be a grinding task ... for eternity!!!
You know what, you should invent and require another, new, useless key-value called 'Registration API Key Plugin ID Service' that we have to generate and sync on two machines, everyday, using something obscure shit like a 'Gradle terminal'. Maybe also you could deprecate another key, rename another one to make things worst and I propose to choose a new hash function that we have to compile ourselves. A good candidate would be a C buggy source code from some random Github hacker... who has injected some platform dependent SIMD code (he works on PowerPC and have not test on x64); you know, the guy you admire because he is so much more lowlife that you and has all the Pokemon on his desk. Well that guy just finished a really really rapid hash function... over GPU in a server less fashion... we have an API for it. Every new user will gain 3ms for every new key. WOW, Imagine the gain over millions of users!!! Push that in the official pipe fucktard!.. What are you waiting for? Wait, no, change the whole service name and infrastructure. Move everything to CLSG (cloud lambda service ... by Google); that is it, brilliant!
And Oh, yeah, to secure the whole void, bury the doc for the new hash under 3000 words, lost between v2, v1 and some other deprecated doc that also have 3000 and are still first result on Google. Finally I think about it, let go the doc, fuck it... a tutorial, for 'weak ass' right.
One last thing, rewrite all your tech in the latest new in house language, split everything in 'femto services' => ( one assembly operation by OS process ) and finally cramp all those in containers... Agile, for sure it has to be Agile. Users will really appreciate the improvements of your mandatory service. -
I haven't got in for a while but dude, I want to rant.
This guy originally wanted a simple online shopping system, with the "cart" sent to WhatsApp. No big deal, most of it was done in 2 days.
Then he wanted geolocation so the app would show you the nearest sites. Sure, why not. I had never worked with something like that so it might be worth it to try and learn.
Then he wanted custom URLs. It took me a little but this wasn't in the plans...
Then a copy of the system but focused on workers instead of products.
And another for big providers.
Then an integration with a delivery service.
And more in the following weeks...
Dude. WTF, I was only paid some weeks and he keeps adding and adding stuff. All at the same time while the first still didn't have the final design. It's been 3 months.
I hate this kind of guys. I didn't know the kind but now I hate them.5 -
Ideas I've had over the years that could pan out and be useful:
SMS-DB: Stands for SMS-Data Burst. Used to allow those with low cell signal or no data plan to transfer data between a phone and some client via the standard SMS text space. Would be slow, but would act kinda like dial-up over SMS (as mobile lines are compressed on all service levels, even LTE, so traditional dial-up wouldn't work!) I have a general idea on how packets would be laid out, but that's about it so far...
everything2PNG: Allows one to transpose any file's data into a PNG with a 3 byte per pixel (full color RGB), which allows for a "compression" of sorts (about 91, 93% on preliminary tests) AND allowing further, more efficient compression of the resulting file. (Plus... it's just kinda cool to see files transposed as PNGs.) I actually have a simple transposer to go to PNG, but can't yet go back. Large files (around 600MB) use upwards of 4GB with efficient paging and other optimizations via NumPy so far, so it's not *viable* yet, but it's coming along nicely.
RPi-GPIO Interconnection Bus: A master/slave or round robin method to allow for Raspberry Pis to communicate using GPIO, which can help free up network bandwidth in RPi cloud computing clusters. At most, this'd allow for 4 bits used for pushing to the GPIO "bus", and 4 bits used for pulling from the "bus". 8 pins total are usually unused minimum, so either 3 or 4 pins for upload, 3 or 4 for download, and potentially 1 or 2 for commands, general non-data communication, etc. I made a version of this concept using Round Robin for a client, but it was horribly slow. (I also don't have distribution rights for the code, so i'm working from scratch.) Definitely doable. -
What the fuck is this trend of pricing cloud services by the minute? I mean It's fucking great and all that I buy 2 minutes with a sql db but who the fuck actually does that?
After another night working on a server I (strongly) suggest we move our shit to a cloud service. It's cool providing I promise the costs don't rape us blind folded. Seems easy enough, right? Nope it's not.
6 hours later, halfway to becoming a fucking network engineer and I'm more lost than ever.
Seriously can't the fuck AWS and google cloud show a monthly price - even an estimate for generic shit like $x for the average crappy wp blog!
If anyone has some helpful info / experience on the true cost of hosting generic web apps - the retardedly simple app I'm trying to price is:
1 php web application with 150 domains, 3gb mysql db and 30gb ssd.
I gets has 45000 sessions with 250000 page views.
Your help would be greatly appreciated. Currently I'm leaning towards deploying a clone sending 250 000 random requests and praying my $300 cloud platform credit will cover the bill.4 -
I’d wrote some node js for simple web service. And when I learned typescript at first, I couldn’t find any reason to port these into typescript. And I replace old koa framework into nest js.
-
Duuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuck off you bloody infamous basterds flattening their fat asses at Microsoft.
I wasted half of my dev day to configure my wcf rest-api to return an enumeration property as string instead of enum index as integer.
There is actually no out-of-the-box attribute option to trigger the unholy built-in json serializer to shit out the currently set enum value as a pile of characters clenched together into a string.
I could vomit of pure happiness.
And yes.
I know about that StringEnumConverter that can be used in the JsonConvert Attribute.
Problem is, that this shit isn't triggered, no matter what I do, since the package from Newtonsoft isn't used by my wcf service as a standard serializer.
And there is no simple and stable way to replace the standard json serializer.
Christ, almighty!
:/ -
Me: I want to deploy a simple WCF Service in a Docker container on Windows Server....
Docker Whale: nah bro....
Me: but but but you have been working with Windows for about a year this should be a simple simple task
Docker Whale: here let me your IP address every time so you can't ping locally or guess what I'm going to next. -
When did we decide managing Users through Cloud REST architecture was more secure than having them in an underlying DB?
Because I can't put my finger on exactly why... but I don't like it and I think it's probably less secure... and just spawned from the need to be able to make user management a subscription based service like fucking everything? When a simple MySQL or postgres and some bcrypt somewhere would be both more secure and infinitely cheaper?
I'm more used to consuming REST API's than writing them. Can any you REST peeps help me understand how a REST API could be made as secure as a SQL DB connection for user management?
What do you think the attack vectors are for a REST API User Management? Like... what's the SQL injection of REST API? Pack some extra JSON somewhere or something?
At least if I can have faith my shit's not gonna get hacked because I have to use a 3rd party REST service for User Management of Users to my own fucking app I can maybe sleep tonight.2 -
Background: We switched from just simple old PHP and JS using notepad++ to PHPStorm and its infinite configurables, Symfony 4, Twig, Composer, Doctrine, Yarn, NPM, Bootstrap, ( thank the stars we didn't try to add Docker in with all this ), any other junk I'm missing here? Then upgraded to Symfony 5.
Symfony's autowiring: madness behind the curtains. I get frustrated about when and where I can just magically inject these dependencies or use config variables, you know, like the ones you define in service.yaml. Hmmm, "service".yaml. In a controller you can say getParameter() but in a service you have to inject the parameter, FROM THE "SERVICE".yaml!!! Autowiring drives me nuts. Ok, so we can supply dependencies using the constructor, that's great! Within a controller you never have to instantiate the object you're passing to the constructor (autowiring handles that). That's cool, weird when we you try to trace it for the first few times, but nice I guess. Feels like half-assin' it. What bugs me here is that it only works in controllers... I guess out of the box.. i'm not even sure. To get that feature to work for services you have to make some yaml edits. Right?Maybe? Some of the Symfony tutorials have you code up some junk then trash it. Change config then wipe that out and do X instead... so I have no idea what "out of the box" for Symfony really is.
Found this cool article that describes my frustrations in better terms and seems like a good resource to learn about autowiring. I need to continue my yaml wizardry classes. https://alanstorm.com/symfony-autow...
.....And on to YAMLs, or CSS, or JS or any other friggin' change you make to a file anywhere... Make a change, reload page, nothing... nope you have to do some hidden cheat combo of yarn dostuff -> cache:clear -> cache:warmup -> cache:cache:the:cache ... I really really hate this crap. Maybe I'm too old school for all this junk. It was simple with pure PHP. Edit code, push file, reload page, and oh look it changed! Done. So happy! Ok, Ok. Occasionally the js or css might get cached by the browser and you have to ctrl/f5 or Shift/f5 .. one of those. With this framework there's just so much more that you have to remember to do get some new feature of your site loaded.
Now, I totally get wanting to use some type of entity framework, but I feel like my entire world turned backwards. Designing tables using something like MySQL Workbench made sense. I can see all the columns and datatypes right there as i'm building them. From what I've experienced now with Symfony/Doctrine is you have to make and entity, get a shit-ton of question lobbed at you and if it's a relation field you have to really have a clear idea of the cardinality up front. Then we migrate that to the database. Carefully read through the SQL if you really really just want to use migrations:migrate in Prod. That alter table could cost you some some downtime if your table is large.
Some days man.... -
Wow, yesterday was fun!
I had a rather buggy piece of code, it was bad when I first wrote it, and then I fixed it up, and it was still bad. Now I rewrote almost all of it, and it's much better.
Bad? How? Well, it was in Go, and it's basically an agent meant to execute tasks one at a time, and report the results back to home (live). Now while it worked, it was really flimsy, race conditions, way to much blocking, bad logic, and some very bad bugs.
So I had to rewrite it. Time for a quick primer on the design of this: you have a queue, a task gets add to the queue, the task manager runs the task. In the mean time, the agent is polling the host with the latest output from the task, and also receives new tasks to run (if there are any).
Seems like something that's for a messaging queue, you ask? Well, that would be true if each task was able to run on any random agent, but each task is only meant to run the agent it's tasked to (the tasks are of administrative nature al la apt-get), so having a whole separate service is a tad overkill.
So rewriting required rethinking how the tasks are executed by the task manager. I spent a day on this, it was fun, I ended up copying go contexts (very simple model, very useful). Why copy and not reuse? Because this is meant to be low memory code, so any extra parts are problematic, and I didn't really see a use for having a whole context, I just needed a way to announce that a task is done.
Anyways, if you're interested to see how the implementation worked out: https://github.com/chabad360/covey/...1 -
I don't think I wanna be a dev anymore
Just a year ago, I was doing many side projects for fun, aching for proper coding tasks at work.
Now, I got a senior title but I don't want to do ANYTHING, I don't want to learn this new service or learn how to develop new stuff, I've lost all desire to learn something new. I just want a simple af simple low needs job, but also want good pay XD I know, it's stupid, but I really don't care what tech I use or how exciting the product is, I just want a simple repetitive job with little stress and deadlines and good pay
How do you motivate yourselves to get through the day and do your tasks? Honestly every PR review I'm shocked other engineers care so much about the code, they're obv right, I just wonder where that desire to maintain good coding practices comes from7 -
Not a horror. I'm rewriting services.
It started as a help request. I was asked to help with completing a service dealing with push notifications which was a research prototype. It was suggested to keep core part of it, but it was so awful that I just removed all files and wrote the service from scratch.
The second service had been developed for more than a year by a junior and then by our manager who wanted to complete it as fast as possible, without taking care of code quality. Then I was asked to take over the project and after some time I agreed with one condition: I'll have 1 month on takeover. But when I looked at the code, it became clear that it's much faster and better to rewrite everything except API and database than to takeover existing code.
The third service dealing with file exchange was working, but the junior who wrote it advised to rewrite it because it was a very simple service. So, I initiated rewriting, designed a new API and reviewed the final result.
And now I'm dealing with the fourth one. It was developed in my team but not under control. Now, when I "inherited" this complicated project, I decided to rewrite it because it should be simple, but it doesn't. It features reflection, layers inside layers, strange namespaces, strange solution structure. And that's after months of refactorings and improvements. So, wish me luck because I want to keep part of the infrastructure, but I don't know if it's possible. -
Fuck windows server. Fuck infosec. Every time they roll out windows updates shit breaks. From windows service get stuck in "stopping" state to dropping network interface. Why the fuck are we still using this to host a simple API or NSERVICEBUS service?? Don't know whether to laugh or cry. Fml.
-
Algolia says:
"So our price widget doesn't allow decimals, you'll have to create a custom widget"
I do it.
"Hey, It's not working and I verified it's applying the filter correctly. I noticed my price is a string in your index, maybe that's incorrect and causing it to not work?"
They say: "Yep, you'll need to run an update to fix that and change all to floats" (charges an arm and a leg for the thousands of index operations needed to update the data type)
I clear the index and send a single one as a test, verifying it's a float by casting it using (float) then var_dumping. It shows "double(3.99)", but when it gets to Algolia, it's 0.
So I contact support.
"Hi, I'm sending across floats like you say but it's receiving it as 0, am I doing something wrong? Here's my code and the result of the var_dump"
They respond: "Looks like you're doing it right, but our log shows us receiving 3.999399593939, maybe check your PHP.ini for "serialize_precision" and make sure it's set to -1"
I check and it's fine, then I realize that var_dump is probably rounding to 2 decimal points so I change my cast to (float) number_format($row['Price'], 2) and wallah...it works.
Now I've wasted days of paying for their service, a ton of charges for indexing operations, and it was such a simple fix.
if they had thrown an error for the infinite decimal, that would have helped, but instead I had to reach out to find out that was the issue.
#Frustrated. -
Somewhere in out application backend we generate a simple bullet chart. But in the most complicated way possible.
We call a web service to retrieve it(yes, a simple bullet chart). The service requires some parameters, and the code that generates them is hidden behind a wall of interfaces and abstract methods (the best and apparently only way to get to the actual code is to debug it).
However, one of these parameters is very well visible and it is a string with (uncommented)javascript function that manipulates the resulting chart, adding some final touches. With hardcoded values etc..
Dear programmers, I know we should avoid reinventing the wheel, but sometimes we should stop and consider the possibility, that we are using the wrong wheel and in completely wrong/obscure way. Thank you.
Yours WhoeverWillMaintainTheCode3 -
Being a webdev has ruined my ability to use any website/online service. Does this happen to anyone else? I invariably end up sending the developer a stack of feature requests and suggestions as I'm sat there thinking "I could do this better!"
Ofc in truth I may be able to do that one part better (usually bits around making the experience as simple and fluid as possible for users), but I wouldn't be able to do other parts half as well. I wonder if I built services like that I would have some annoying git emailing me with all the things they think I've missed... ;-)1 -
So as a personal project for work I decided to start data logging facility variables, it's something that we might need to pickup at some point in the future so decided to take the initiative since I'm the new guy.
I setup some basic current loop sensors are things like gas line pressures for bulk nitrogen and compressed air but decided to go with a more advanced system for logging the temperature and humidity in the labs. These sensors come with 'software' it's a web site you host internally. Cool so I just need to build a simple web server to run these PoE sensors. No big deal right, it's just an IIS service. Months after ordering Server 2019 though SSC I get 4 activation codes 2 MAK and 2 KMS. I won the lottery now i just have to download the server 2019 retail ISO and... Won't take the keys. Back to purchasing, "oh I can download that for you, what key is yours". Um... I dunno you sent me 4 Can I just get the link, "well you have to have a login". Ok what building are you in I'll drive over with a USB key (hoping there on the same campus), "the download keeps stopping, I'll contact the IT service in your building". a week later I get an install ISO and still no one knows that key is mine. Local IT service suggests it's probably a MAK key since I originally got a quote for a retail copy and we don't run a KMS server on the network I'm using for testing. We'll doesn't windows reject all 4 keys then proceed to register with a non-existent KMS server on the network I'm using for testing. Great so now this server that is supposed to connected to a private network for the sensors and use the second NIC for an internet connection has to be connected to the old network that I'm using for testing because that's where the KMS server seems to be. Ok no big deal the old network has internet except the powers that be want to migrate everything to the new more secure network but I still need to be connected to the KMS server because they sent me the wrong key. So I'm up to three network cards and some of my basic sensors are running on yet another network and I want to migrate the management software to this hardware to have all my data logging in one system. I had to label the Ethernet ports so I could hand over the hardware for certification and security scans.
So at this point I have my system running with a couple sensors setup with static IP's because I haven't had time to setup the DNS for the private network the sensors run on. Local IT goes to install McAfee and can't because it isn't compatible with anything after 1809 or later, I get a message back that " we only support up to 1709" I point out that it's server 2019, "Oh yeah, let me ask about that" a bunch of back and forth ensues and finally Local IT get's a version of McAfee that will install, runs security scan again i get a message back. " There are two high risk issues on your server", my blood pressure is getting high as well. The risks there looking at McAfee versions are out of date and windows Defender is disabled (because of McAfee).
There's a low risk issue as well, something relating to the DNS service I didn't fully setup. I tell local IT just disable it for now, then think we'll heck I'll remote in and do it. Nope can't remote into my server, oh they renamed it well that's lot going to stay that way but whatever oh here's the IP they assigned it, nope cant remote in no privileges. Ok so I run up three flights of stairs to local IT before they leave for the day log into my server yup RDP is enabled, odd but whatever let's delete the DNS role for now, nope you don't have admin privileges. Now I'm really getting displeased, I can;t have admin privileges on the network you want me to use to support the service on a system you can't support and I'm supposed to believe you can migrate the life safety systems you want us to move. I'm using my system to prove that the 2FA system works, at this rate I'm going to have 2FA access to a completely worthless broken system in a few years. good thing I rebuilt the whole server in a VM I'm planning to deploy before I get the official one back. I'm skipping a lot of the ridiculous back and forth conversations because the more I think about it the more irritated I get.1 -
So... I got a simple task of choosing the best fitting NIDS/MIDS, as well as deploying it, configuring to fit a specific use case and monitor its outputs for one client at work today...
I'm a little... Anxious. At a first glance, setting up like... Snort... Doesn't seem all that difficult, but I have no idea where this takes me and if what I come up with will ultimately be useful or not... Until now I did simple service configuration changes like apache, nginx, php... And a bit of database management with things like mariadb, mysql, postgresql, mongo or elastic... I feel so... Out of my usual waters.
Do you guys thing a person without a title in network security (or... Any title for that matter) can even manage this?...1 -
Okay guys, after sleeping it over I decided that I didn't need to dump my entire stack of Java/mySQL and instead just slow the hell down on my development time. I'm going from Udemy to a book to help me be a better dev and this is a night and day difference as my book breaks every bit apart and explains it in a lot more depth than having a video walk me through it. What I wouldn't do without Amazon's Kindle service I tell ya...:)
The only major thing I'm changing in this project is committing to one Javascript tool, REACT, as I need a simple tool to ease myself into learning Javascript. Wish me luck. :P
Today I'm starting the project over, but this time breaking it down and going at better pace. Thanks for all the advice guys. :)
...I'm going to need a lot of Jack Daniels for this project aren't I?4 -
I recently built an automated payout functionality for bank-to-bank transfers, and we initially looked at using the pain.001 XML schema to do it. Luckily, we ended up finding a service that has a simple REST API to do this instead. (Thank god we didn't go with the XML method, I know how much of a headache that could become, I can imagine the treasure trove of memes with naming an XML schema with the name PAIN)
Anyway, for one of our big-brained product managers, this will forever be the infamous "XML Task" that he continues to ask about and bring up. I've already clarified a few times that we have long chosen a solution process that has nothing to do with XML, but to no avail, it will forever be his "XML Task". Wonder what name he'll pick next time we need XML in a solution? "Second XML Task?" Let's just keep the mental overhead idiot train going!2 -
Candidates must check application essay sample to suit their specific purpose
Students require checking any available application essay (https://wikihow.com/Write-an-Applic...) sample for its authenticity and reliability. In this regard, students should remember that maximum number of the papers available on-line, mostly free, is simply the cut and paste job, which make the task of candidates difficult in making their decision. Therefore, it is essential to check the quality of written work of such samples, while students need hunting for the example, which can suit their purpose
For example, students desiring admission to a particular course program in pathology, would need an essay sample, which would relate to the field of analytical medicine, while any written work on the subject of pathological laboratory tests can be excellent. However, finding the topic specific essays like this one would be very difficult, as students need ordering such customized essays.
Therefore, students require spending quite some time in conducting a proper research to find the reliable and trust-worthy essay writing service for getting their customized essay written within the scheduled delivery time. In addition, students should check the sources that the writer would have used for gathering the information, which is presented in the essay, to support its thesis statement.
However, the following guidelines would help students to check the available application essay sample, with regard to its essential ingredients that should be present in such essays. Nevertheless, students could also go through a good term paper help to learn the art of writing a well-defined essay, which can ensure their admission to the coveted course program.
Introduction and the essay topic
Students should check the introduction part of the sample and the method of presenting the topic in it. In addition, the writer should formulate a close link of the topic problem with the thesis statement of the essay. However, as admission officers do not expect candidates to write research papers as their admission essays, the topic question and hypothesis of the essay should be very simple and easy to understand.
However, the topic of the application essay sample should be close to the theme of the assignment. In addition, the students should check the method of presenting arguments in the main essay body, while its introduction should provide hints about them, in brief. Therefore, the sample should provide supporting details like personal examples, while addressing the essay topic.
Check essay language and structure
The language used in the available application essay sample by type of https://500wordessay.org/blog/... should be simple and vivid, while the examples accompanying the discussions should be reader-friendly and easy to understand. Students should realize that selecting officers do not expect them to use any complex terms in their admission essay, as it would give an indication of their bragging, without much reason to do so.
In addition, the essay organization should be such that the contents are transparent and free flowing, while the whole essay writing must be cohesive. Nevertheless, students should look at research paper help for learning the art of locating a good essay sample, on-line.
However, they can find more tips to check the quality of an application essay sample from custom essays.18 -
I am new to redis and confused how this works
To keep it simple lets say i have a CRUD service for user
- POST user, just creates user
- GET user by id, fetches user but using annotation @CacheEvict(). This method has a Thread.sleep(3000) before fetching user
- GET all users, fetches all users but using annotation @Cacheable()
- PUT user by id, updates a single with annotation @CacheEvict(). This method has a Thread.sleep(3000) before fetching user
- DELETE user by id, deletes a single user with annotation @CacheEvict()
---
GOOD:
When i GET user by id, i wait 3 seconds and then get the fetched user
When i GET user by id again, i get the fetched user instantly in 5 ms. This means it has pulled the user from REDIS cache instead of postgres
---
PROBLEM:
If i PUT user by id, update some data, and then if i GET user by id, it will return the user in 5 ms BUT the outdated user! Not the newly updated one. Because the Redis cache configuration has not expired yet. So there are now data inconsistencies
---
QUESTION:
How can i know When was something updated, deleted or whatever, so that i can fetch data from postgres (latest data) instead of Redis cache (outdated data)?10 -
partially tech
Is it just me or every single time* I call to some support after first 30 minutes I really want to ask question "can I talk with someone competent?". And no disrespect to these guys, many people call in with simple stuff, but damn, I try to solve stuff on my own and call in only when I need someone who actually can get somewhat technical and have some knowledge about the product/service/smh. Infuriating.
* one hosting provider proven to be exception. -
Question directed to devs who know a bit about setting up middle sized architecture.
Prestory: Joined into development of a middle sized online game. Figured they created a monolith over the last 6 years up to a point where nothing works properly and nothing can be changed without wrecking the whole system. Figured a monolithic approach isn't such a great idea.
Current Situation: In a different, same scale online game development team, game itself working but team is struggling with architecture.
My job is to come up with an approach on how to set up masterserver/matchmaking/database etc. Reading through various articles about common principles (SOLID etc.), i figured that a microservice+event-/servicebus architecture may work for that kind of project.
The idea would be to have a global interface in which microservices can be hooked. So a client registers to a client handler on startup, then starts to queue for a game, the client handler throws an event on the bus to register the user to matchmaking. The matchmaker happens to listen to those events (Observer Pattern) and adds him to matchmaking, when a match is found it throws an event on the bus to connect the user to the server, etc. One can easily imagine a banhandler throwing in a veto to cancel such an action, metrics and logging is fairly simple to add (just another service listening to all events), additionally Continuous Delivery, FRP and such are also beneficial advantages and it is said to scale well.
The question is, would you do the same, is there maybe something i might be overlooking? Do you have better ideas?
Keep in mind that we are not too experienced and are bound to different languages (python, C++ and java mostly) and are a small (4 Devs) Team with different strengths.
Thank you for your feedback and criticism!1 -
Guys I need to deploy a very simple authentication API service.
You register with a username (actually an ID with a determined format), a password and uuid. You login with your username and password and if credentials are correct you get back the uuid as a response (JSON or whatever the fuck).
If you forget your password, you can use your uuid (which is confidential, very long string) in some POST request to set a new password. If you forget your username, you use the uuid again in a GET request to get back your username.
I've been looking at a bunch of solutions online and I don't think they suit my purpose exactly and all require emails (Like Firebase, AUth0, etc.) So, let me get this straight: NO FUCKING EMAILS INVOLVED PLEASE.
The above are the EXACT requirements I need for my work (for a good cause too). I fucking hate 0-requirement exploratory research tasks and I'm plagued with those. Those requirements are the only way it should work. So again, NO EMAILS INVOLVED PLEASE.
Also, please note that I have never developed an API in my life. I feel like StackOverflow will be assholes about this so I am asking this here.
I know it is very easy to do and there are probably dozens of ways to do this. I just do not know how, documentations are vague and overwhelming (or I'm just a little stupid lately). Another thing is that I am not sure of how can I do this in the most secure way. Bonus if this can be dockerized.
I know I sound a little rude,so I am sorry. It is just my frustration and depressing times I am going through that's preventing from thinking straight.6 -
We have an internal nuget package that wraps up the IConfiguration+ConfigurationBuilder for various .net core console/service apps (TL;DR, because people got creative), and it has a dictionary property for the common sections we use. AppSettings (for backward compatibility), ConnectionStrings, and ServiceEndpoints. If the need arises, I can add methods to return any type of object (no one has requested yet, we try to keep configs dead simple)
ex. var myDatabaseConnectionString = ConfigurationManager.ConnectionStrings["MyDatabase"];
Code review for someone who updated a .net framework app to .net core and they wrote their own IConfiguration wrapper for accessing the appsettings.json file, so I pointed out that we already had a library for that.
In the reply, he said he couldn't use our library because it had an 'AppSettings' property and since his appsettings.json file didn't have that section, he didn't want to cause a runtime exception.
OK, WTF...I even sent him a link to the documentation (includes explaining the backward compatibility part)...why the frack would you think because a property exists and you don't use it, that would cause some kind of runtime exception?
We have dozens of .net framework apps migrated to .net core with zero code changes and no one ever brought this up as a concern (because, why would they?)
Deep breath...ahhh...I respond that not having an AppSettings section in the appsettings.json file won't cause an exception, if you don't have one, don't need it, you don't have to use it.
He went ahead merged+committed his code anyway with his own IConfiguration+ConfigurationBuilder plumbing.
Code addiction is real kids...it's real.2 -
First dotnet core and docker project
Keeping is real simple with another "as-a-service" solution 😂
https://github.com/nwestfall/caas -
Any tips to speed up wordpress site. I have googled and tried as many solutions I can except adding cdn. I have minified images, html, css and js. I have used caching on the server with litespeed cache. There are not many plugins on the site.
The plugins installed are elementor, litespeed, orbit fox, wp-optimize, updraft plus and wpforms lite. The site takes around 4 to 5 seconds to fully load. I am doing this for a releative(don't worry he is sane and I am doing pretty simple stuff for him which is simply not worth charging). I cannot use cloudflare cdn since they need nameserver access and the hosting service used is hostinger which have put a lot of dns records which I don't understand and don't wanna mess with unless it is the last option.12 -
Question:
I want to develop a simple reminders service. People will go online and set a reminder and the service will send an email when the reminder is schedule.
I want to use the simplest stack I can. It will be very simple so I don't want anything complex.
So I need a DB backend, a server to host the web interface so people can set up the reminders, and a background process that send out the emails.
People set up reminders, they are stored in the DB and the process read the reminders every X amount of time and send the emails scheduled in that particular time.
I was thinking about using Firebase (only tried it once in a small chat app for practice). A small web interface stored in a server (which? idk. Heroku, AWS?). And a deamon scheduled to run every half an hour (running where? idk. I have a spare laptop that I can use as server for this purpose or Heroku or any other).
What services (free, or at least free at the beginning) would you use in order to save time and money.
PS: I know Python and Java. But I've worked with PHP (and HTML+CSS). I know next to nothing about JS.11 -
I am so sick and tired of ChatGPT being down all the time! It's like the developers at OpenAI just don't care about the people who rely on this tool to get their work done. I mean, come on, it's not like we're asking for much here. We just need a stable, reliable language model that we can rely on to complete our tasks. But no, instead we have to deal with constant downtime, error messages, and other issues that make it impossible to get anything done.
And don't even get me started on the lack of support and communication from the OpenAI team. It's like they're completely oblivious to the fact that their product is causing major headaches for so many people. I mean, I understand that developing and maintaining a large language model is no small feat, but that's no excuse for the constant problems we're facing.
I'm honestly at my wit's end with this whole thing. It's just so frustrating and frustratingly frustrating to have something that should be so simple and straightforward be such a constant source of stress and frustration. If the OpenAI team can't get their act together and provide a reliable product, then they need to step aside and let someone who can do the job properly take over.
I just hope that they're listening and that they'll take the necessary steps to fix these issues and provide a service that we can all depend on. Because right now, it's just not cutting it.15 -
Mantaray Trailer Hire Mackay offers trailer rental services. We have trailers of all sizes, from small to large, capable of carrying payloads from 400 kg up to 1300 kg. Hire a trailer for rubbish removal, furniture transportation, or car transportation. A trailer ramp is available with the caged trailer. Hand winch available for flatbed car trailers. For those looking for a reliable trailer rental service provider, Mantaray Trailer Hire Mackay is a one-stop shop for all your needs. We are committed to providing quality and reliable trailer rental services. We guarantee that our trailers are well maintained and in good condition. Now in two convenient locations. Simple online click and collect.
-
I have a billion projects that i want to host online. Does anyone have a good tutorial for hosting python projects, flask based web-apps, and just simple websites using aws or some other hosting service?2
-
Transform Your Home with Mark Brightman Handyman Services: Lighting Installation, Pet Doors, and More
When you're in need of a reliable handyman near me, Mark Brightman Handyman Services is here to help. Serving the Beaverton, OR area, we specialize in a wide range of home improvement services, from lighting installation near me to pet door installation near me, and much more. Our team of skilled professionals is dedicated to making your home safer, more comfortable, and more efficient with expert installations, repairs, and renovations.
Located at 1856 NE 101st Ave #102, Beaverton, OR 97006, Mark Brightman Handyman Services is your go-to source for all things home improvement in Beaverton and the greater Portland area. Let’s take a closer look at how our services can improve your home and life.
Lighting Installation Near Me – Brighten Your Home with Expert Lighting Solutions
Whether you need new lights for your kitchen, living room, outdoor space, or bathroom, lighting installation near me is a service we specialize in. Proper lighting not only enhances the aesthetics of your home but also adds safety and functionality to your living spaces. At Mark Brightman Handyman Services, we offer expert lighting installation near me that suits your style and needs.
Our lighting installation near me services include:
Indoor Lighting: From recessed lights to pendant lighting, we help you choose and install the right lights for every room in your home.
Outdoor Lighting: Increase security and create ambiance with outdoor lighting for pathways, porches, gardens, and more.
Ceiling Fans with Lighting: Looking for both cooling and lighting? We can install ceiling fans that also feature built-in lights, perfect for saving space while adding comfort and illumination.
Custom Lighting Solutions: We can design custom lighting setups for home theaters, accent lighting, or task lighting tailored to your needs.
No matter what type of lighting you need, Mark Brightman Handyman Services provides professional lighting installation near me that enhances the beauty and functionality of your home.
Pet Door Installation Near Me – Let Your Pets Roam Freely
For pet owners, installing a pet door installation near me is a simple yet effective way to give your furry friends the freedom to come and go as they please. Whether you have a dog, cat, or both, a pet door can provide them with easy access to the yard, patio, or garden, all while maintaining the security and privacy of your home.
At Mark Brightman Handyman Services, we specialize in installing a variety of pet doors to suit different needs and budgets. Our pet door installation near me services include:
Dog and Cat Doors: We offer pet doors that can be installed in walls, doors, or windows, designed for both dogs and cats. From small to large breeds, we ensure the pet door is the perfect size.
Electronic Pet Doors: For added security, we can install electronic pet doors that open only when activated by a collar sensor, keeping unwanted animals from entering.
Security and Weatherproofing: Our pet doors are designed to be secure, weatherproof, and energy-efficient, helping you maintain comfort and safety in your home.
Custom Pet Doors: Need a unique installation? We can customize a pet door to fit specific areas or particular needs, including sliding doors or garage entries.
By choosing Mark Brightman Handyman Services for your pet door installation near me, you’re ensuring a high-quality installation that keeps both your pets and home secure.
Reliable Handyman Near Me – Your Trusted Expert for All Home Repairs and Improvements
When you search for a reliable handyman near me, you want a professional who can handle everything from small repairs to major installations. Mark Brightman Handyman Services is your trusted partner for all your home improvement needs. We take pride in delivering expert services with a focus on quality, customer satisfaction, and convenience.
As a reliable handyman near me, we offer:
General Home Repairs: Whether it's fixing leaky faucets, repairing drywall, or replacing worn-out hardware, we provide dependable repairs to keep your home in top condition.
Remodeling and Renovations: From kitchen and bathroom remodels to custom built-ins and room additions, our team has the expertise to transform any part of your home.
Maintenance Services: We offer routine maintenance to help prevent costly repairs down the road, including gutter cleaning, HVAC maintenance, and more.
Specialty Installations: In addition to lighting and pet doors, we can handle everything from TV wall mounting and furniture assembly to ceiling fan installations and door repairs.
At Mark Brightman Handyman Services, we are a reliable handyman near me who brings professionalism, attention to detail, and a strong work ethic to every job, no matter how big or small.
Why Choose Mark Brightman Handyman Services?3