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 - "web service"
-
Buzzword dictionary to deal with annoying clients:
AI—regression
Big data—data
Blockchain—database
Algorithm—automated decision-making
Cloud—Internet
Crypto—cryptocurrency
Dark web—Onion service
Data science—statistics done by nonstatisticians
Disruption—competition
Viral—popular
IoT—malware-ready device15 -
So, you start with a PHP website.
Nah, no hating on PHP here, this is not about language design or performance or strict type systems...
This is about architecture.
No backend web framework, just "plain PHP".
Well, I can deal with that. As long as there is some consistency, I wouldn't even mind maintaining a PHP4 site with Y2K-era HTML4 and zero Javascript.
That sounds like fucking paradise to me right now. 😍
But no, of course it was updated to PHP7, using Laravel, and a main.js file was created. GREAT.... right? Yes. Sure. Totally cool. Gotta stay with the times. But there's still remnants of that ancient framework-less website underneath. So we enter an era of Laravel + Blade templates, with a little sprinkle of raw imported PHP files here and there.
Fine. Ancient PHP + Laravel + Blade + main.js + bootstrap.css. Whatever. I can still handle this. 🤨
But then the Frontend hipsters swoosh back their shawls, sip from their caramel lattes, and start whining: "We want React! We want SPA! No more BootstrapCSS, we're going to launch our own suite of SASS styles! IT'S BETTER".
OK, so we create REST endpoints, and the little monkeys who spend their time animating spinners to cover up all the XHR fuckups are satisfied. But they only care about the top most visited pages, so we ALSO need to keep our Blade templated HTML. We now have about 200 SPA/REST routes, and about 350 classic PHP/Blade pages.
So we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + React + SPA 😑
Now the Backend grizzlies wake from their hibernation, growling: We have nearly 25 million lines of PHP! Monoliths are evil! Did you know Netflix uses microservices? If we break everything into tiny chunks of code, all our problems will be solved! Let's use DDD! Let's use messaging pipelines! Let's use caching! Let's use big data! Let's use search indexes!... Good right? Sure. Whatever.
OK, so we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + React + SPA + Redis + RabbitMQ + Cassandra + Elastic 😫
Our monolith starts pooping out little microservices. Some polished pieces turn into pretty little gems... but the obese monolith keeps swelling as well, while simultaneously pooping out more and more little ugly turds at an ever faster rate.
Management rushes in: "Forget about frontend and microservices! We need a desktop app! We need mobile apps! I read in a magazine that the era of the web is over!"
OK, so we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + GraphQL + React + SPA + Redis + RabbitMQ + Google pub/sub + Neo4J + Cassandra + Elastic + UWP + Android + iOS 😠
"Do you have a monolith or microservices" -- "Yes"
"Which database do you use" -- "Yes"
"Which API standard do you follow" -- "Yes"
"Do you use a CI/building service?" -- "Yes, 3"
"Which Laravel version do you use?" -- "Nine" -- "What, Laravel 9, that isn't even out yet?" -- "No, nine different versions, depends on the services"
"Besides PHP, do you use any Python, Ruby, NodeJS, C#, Golang, or Java?" -- "Not OR, AND. So that's a yes. And bash. Oh and Perl. Oh... and a bit of LUA I think?"
2% of pages are still served by raw, framework-less PHP.32 -
My first project and the reason I learnt to code. I was a manager at a supermarket and wanted a discount card for the old people so just wouldnt have to walk to the tills.
First I wrote hello world, then a calculator and then a loyalty card system for my store. It was wildly successful and the fact my scrap code even ran is a miracle. Shortly after launching it in my store I met a like minded investor with an actual dev team hooked it up to a web service and I spent the next 3 years rolling it out nationally to 480 stores. It's still running today.6 -
I think I've shown in my past rants and comments that I'm pretty experienced. Looking back though, I was really fucking stupid. Since I haven't posted a rant yet on the weekly topics, I figure I would share this humbling little gem.
Way back in the ancient era known as 2009, I was working my first desk job as a "web designer". Apparently the owner of this company didn't know the difference between "designer", which I'm not, and "developer", which I am, nor the responsibilities of each role.
It was a shitty job paying $12/hour. It was such a nightmare to work at. I guess the silver lining is that this company now no longer exists as it was because of my mistake, but it was definitely a learning experience I hold in high regard even today. Okay, enough filler...
I was told to wipe the Dev server in order to start fresh and set up an entirely new distro of Linux. I was to swap out the drives with whatever was available from the non-production machines, set up the RAID 5 array and route it through the router and firewall, as we needed to bring this Dev server online to allow clients to monitor the work. I had no idea what any of this meant, but I was expected to learn it that day because the next day I would be commencing with the task.
Astonishingly, I managed to set up the server and everything worked great! I got a pat on the back and the boss offered me a 4 day weekend with pay to get some R&R. I decided to take the time to go camping. I let him know I would be out of town and possibly unreachable because of cell service, to which he said no problem.
Tuesday afternoon I walked into work and noticed two of the field techs messing with the Dev server I built. One was holding a drive while the other was holding a clipboard. I was immediately called into the boss's office.
He told me the drives on the production server failed during the weekend, resulting in the loss of the data. He then asked me where I got the drives from for the Dev server upgrade. I told him that they came from one of the inactive systems on the shelf. What he told me next through the deafening screams rendered me speechless.
I had gutted the drives from our backup server that was just set up the week prior. Every Friday at midnight, it would turn on through a remote power switch on a schedule, then the system would boot and proceed to copy over the production server's files into an archive for that night and shutdown when it completed. Well, that last Friday night/Saturday morning, the machine kicked on, but guess what didn't happen? The files weren't copied. Not only were they not copied, but the existing files that got backed up previously we're gone. Why? Because I wiped those drives when I put them into the Dev server.
I would up quitting because the conversation was very hostile and I couldn't deal with it. The next week, I was served with a suit for damages to this company. Long story short, the employer was found in the wrong from emails I saved of him giving me the task and not once stating that machine was excluded in the inactive machines I could salvage drives from. The company sued me because they were being sued by a client, whose entire company presence was hosted by us and we lost the data. In total just shy of 1TB of data was lost, all because of my mistake. The company filed for bankruptcy as a result of the lawsuit against them and someone bought the company name and location, putting my boss and its employees out of a job.
If there's one lesson I have learned that I take with the utmost respect to even this day, it's this: Know your infrastructure front to back before you change it, especially when it comes to data.8 -
Me: "I'm a programmer"
Others: talks about linux
Others: search algorithms!
Others: service infrastructure
Others: memory optimization
Others: encryption
Me: "I'm a front end web developer"
Others: complex services
Others: strong user form validation
Others: lazy loading
Others: SEO
Me: "fucking, I make shit look pretty alright"11 -
Client: Sorry to bother you, but our developer team can not connect to your Web Service, can you help us?
Me: Of course, if you want, i can give you the code for that, i only need to know in what language are they developing.
Client: Sometimes they develop in spanish and sometimes on english...
Maybe i didn't ask the right question.
Sorry for my English.6 -
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 -
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 -
When you see a web service API accepting a SQL query in one of its JSON fields and the evil starts growing within you..
DROP ALL DATABASES
Just because you can!4 -
It's maddening how few people working with the internet don't know anything about the protocols that make it work. Web work, especially, I spend far too much time explaining how status codes, methods, content-types etc work, how they're used and basic fundamental shit about how to do the job of someone building internet applications and consumable services.
The following has played out at more than one company:
App: "Hey api, I need some data"
API: "200 (plain text response message, content-type application/json, 'internal server error')"
App: *blows the fuck up
*msg service team*
Me: "Getting a 200 with a plaintext response containing an internal server exception"
Team: "Yeah, what's the problem?"
Me: "...200 means success, the message suggests 500. Either way, it should be one of the error codes. We use the status code to determine how the application processes the request. What do the logs say?"
Team: "Log says that the user wasn't signed in. Can you not read the response message and make a decision?"
Me: "That status for that is 401. And no, that would require us to know every message you have verbatim, in this case, it doesn't even deserialize and causes an exception because it's not actually json."
Team: "Why 401?"
Me: "It's the code for unauthorized. It tells us to redirect the user to the sign in experience"
Team: "We can't authorize until the user signs in"
Me: *angermatopoeia* "Just, trust me. If a user isn't logged in, return 401, if they don't have permissions you send 403"
Team: *googles SO* "Internet says we can use 500"
Me: "That's server error, it says something blew up with an unhandled exception on your end. You've already established it was an auth issue in the logs."
Team: "But there's an error, why doesn't that work?"
Me: "It's generic. It's like me messaging you and saying, "your service is broken". It doesn't give us any insight into what went wrong or *how* we should attempt to troubleshoot the error or where it occurred. You already know what's wrong, so just tell me with the status code."
Team: "But it's ok, right, 500? It's an error?"
Me: "It puts all the troubleshooting responsibility on your consumer to investigate the error at every level. A precise error code could potentially prevent us from bothering you at all."
Team: "How so?"
Me: "Send 401, we know that it's a login issue, 403, something is wrong with the request, 404 we're hitting an endpoint that doesn't exist, 503 we know that the service can't be reached for some reason, 504 means the service exists, but timed out at the gateway or service. In the worst case we're able to triage who needs to be involved to solve the issue, make sense?"
Team: "Oh, sounds cool, so how do we do that?"
Me: "That's down to your technology, your team will need to implement it. Most frameworks handle it out of the box for many cases."
Team: "Ah, ok. We'll send a 500, that sound easiest"
Me: *..l.. -__- ..l..* "Ok, let's get into the other 5 problems with this situation..."
Moral of the story: If this is you: learn the protocol you're utilizing, provide metadata, and stop treating your customers like shit.22 -
Once we were going to present a web service to governmental firm. All is going well so far and my boss asks me to host the web application the day before the presentation.
I hosted it and all was good with demo production tests, but I had a bad feeling.
While it was running on our server, I also ran it locally with a reverse proxy just in case.
* Meeting starts *
* Ice broken and down to business *
"And now our developer will run the demo for you..."
* Run the demo from my laptop to double check --> 500 Internal Server Error *
Holy shit!!!
* Opens reverse proxy link on my laptop. Present demo during meeting. Demo works like a charm. *
Firm representative: "Great! Looking forward to go live."
*Our team walks out*
GM: "Good job guys"
ME:4 -
HBO, the network that owns Game of Thrones, one of the highest grossing and most popular shows, still use Flash for their web streaming service.
I cry in dothraki7 -
!(short rant)
Look I understand online privacy is a concern and we should really be very much aware about what data we are giving to whom. But when does it turn from being aware to just being paranoid and a maniac about it.? I mean okay, I know facebook has access to your data including your whatsapp chat (presumably), google listens to your conversations and snoops on your mail and shit, amazon advertises that you must have their spy system (read alexa) install in your homes and numerous other cases. But in the end it really boils down to "everyone wants your data but who do you trust your data with?"
For me, facebook and the so-called social media sites are a strict no-no but I use whatsapp as my primary chating application. I like to use google for my searches because yaa it gives me more accurate search results as compared to ddg because it has my search history. I use gmail as my primary as well as work email because it is convinient and an adv here and there doesnt bother me. Their spam filters, the easy accessibility options, the storage they offer everything is much more convinient for me. I use linux for my work related stuff (obviously) but I play my games on windows. Alexa and such type of products are again a big no-no for me but I regularly shop from amazon and unless I am searching for some weird ass shit (which if you want to, do it in some incognito mode) I am fine with coming across some advs about things I searched for. Sometimes it reminds me of things I need to buy which I might have put off and later on forgot. I have an amazon prime account because prime video has some good shows in there. My primary web browser is chrome because I simply love its developer tools and I now have gotten used to it. So unless chrome is very much hogging on my ram, in which case I switch over to firefox for some of my tabs, I am okay with using chrome. I have a motorola phone with stock android which means all google apps pre-installed. I use hangouts, google keep, google map(cannot live without it now), heck even google photos, but I also deny certain accesses to apps which I find fishy like if you are a game, you should not have access to my gps. I live in India where we have aadhar cards(like the social securtiy number in the USA) where the government has our fingerprints and all our data because every damn thing now needs to be linked with your aadhar otherwise your service will be terminated. Like your mobile number, your investment policies, your income tax, heck even your marraige certificates need to be linked with your aadhar card. Here, I dont have any option but to give in because somehow "its in the interest of the nation". Not surprisingly, this thing recently came to light where you can get your hands on anyone's aadhar details including their fingerprints for just ₹50($1). Fuck that shit.
tl;dr
There are and should be always exceptions when it comes to privacy because when you give the other person your data, it sometimes makes your life much easier. On the other hand, people/services asking for your data with the sole purpose of infilterating into your private life and not providing any usefulness should just be boycotted. It all boils down to till what extent you wish to share your data(ranging from literally installing a spying device in your house to them knowing that I want to understand how spring security works) and how much do you trust the service with your data. Example being, I just shared most of my private data in this rant with a group of unknown people and I am okay with it, because I know I can trust dev rant with my posts(unlike facebook).29 -
Holy shit I love this, that's fucking amazing, it's basically a modern terminal browser, that actually has html5, css support etc. not like elinks, especially nice inside tmux for sure.
"Browsh is a fully-modern text-based browser. It renders anything that a modern browser can; HTML5, CSS3, JS, video and even WebGL. Its main purpose is to be run on a remote server and accessed via SSH/Mosh or the in-browser HTML service in order to significantly reduce bandwidth and thus both increase browsing speeds and decrease bandwidth costs."
https://www.brow.sh/
demo: https://youtube.com/watch/...
https://motherboard.vice.com/en_us/...24 -
These fresh new college grads...calling themselves Full Stack Developers...
Ask them to consume a web service and I get a blank look...ask them to create a REST service and they are like WTF are you talking...
Has it come to the point that people just keep throwing around terms without understanding the inherent philosophy or idea behind them or is it like it's just to show that they are the "COOL" kids...with no actual idea of what the fuck they are doing ???10 -
In 2008 I took my first web development job for an agency that's no longer around. There was a Vice President there by appointment from our coke headed owner who really liked to micromanage and invade privacy with key loggers and screencap spyware to "manage" us. I found out because my machine would snag when moving the mouse cursor and sometimes I'd accidentally paste the screenshot into photoshop just before the software cleared the clipboard. Anyway, I wasn't supposed to know I was being monitored so I just unplugged my network cable and killed the service running the jank ass spyware. I'd delete it when no one was looking and wipe out the cache of screencaps it would compile every day. It was basically a troll vs troll stalemate for weeks. Finally they gave in and told everyone what was going on so we collectively decided to seek revenge. We bought a piezo buzzer about the size of a quarter that chirped like crickets at random intervals. We stuck it on the underside of his desk inside of the middle drawer area and let it go. They spent so much time and money trying to get rid of the cricket infestation. We let it go on for weeks. I ended up quitting before the gag was up, but damn was it funny to see him squirm in that office because of those crickets!6
-
So we hired a junior engineer. 1 year of experience, this is his second job.
First task: Send some data to a web service using its REST API. Let me know when you've finished.
Two hours later I go to check on him.
- "I'm trying to decode this weird format the server uses"
He was writing a JSON parser in Python from scratch.
:/12 -
We recently signed a huge deal with a big, very known vendor. I asked if they had a web interface to the software. Of course, they said, and gave us a link. I clicked the link and was asked to install java. Turns out the web version is just the desktop version wrapped in a Java applet. The applet didn't do well with openjdk, so they asked me to file a support ticket. They gave me another link. The service desk required shockwave flash.6
-
Q: Your data migration service from old site to new site cost money.
A: Yes, I have to copy data from old database and import to the new one.
Q: Can I just provide you content separately so you don’t need to do that?
A: Yes, but I will have to charge you for copying and pasting your 100 pages of content manually.
Q: Can it come with part of the web development service and not as an additional service?
A: Yes, but the price for web development service will have to be increased to combine the two. If you don’t want to pay for it, I can just set up a few sample pages with the layout and you can handle your own content entry. Does that work for you?
Q: Well, but then I will have to spend extra time to work on it.
A: Yes you will. (At this point I think she starts to understand the concept of Time = Money...)3 -
Some days I feel like I work in a different universe.
Last night our alerting system sent out a dept. wide email regarding a high number of errors coming from the web site.
Email shows the number of errors and a summary of the error messages.
Ex. 60 errors
59 Object reference not set to an instance of an object
1 The remote server returned an unexpected response: (413) Request Entity Too Large
Web team responds to the email..
"Order processing team's service is returning a 413 error. I'll fill out a corrective action ticket in the morning to address that error in their service. "
Those tickets are taken pretty seriously by upper mgmt, so I thought someone on the order processing team would point out the 1 error vs. 59 (coming from the web team's code).
Two hours go by, nobody responds, so I decide to jump into something that was none of my business.
"Am I missing something? Can everyone see the 59 null reference exceptions? The 413 exception only occurred once. It was the null reference exceptions that triggered the alert. Looking back at the logs, the site has been bleeding null reference exceptions for hours. Not enough for an alert, but there appears to be a bug that needs to be looked into."
After a dept. managers meeting this morning:
MyBoss: "Whoa..you kicked the hornets nest with your response last night."
Me: "Good. What happened?"
<Dan dept VP, Jake web dept mgr>
MyBoss: "Dan asked Jake if they were going to fix the null reference exceptions and Jake got pissed. Said the null reference errors were caused by the 413 error."
Me: "How does he know that? They don't log any stack traces. I don't think those two systems don't even talk to one another."
<boss laughs>
MyBoss:"That's what Dan asked!..oh..then Jake started in on the alert thresholds were too low, and we need to look into fixing your alerting code."
Me: "What!? Good Lord, tell me you chimed in."
MyBoss: "Didn't have to. Dan starting laughing and said there better be a ticket submitted on their service within the next hour. Then Jake walked out of the meeting. Oh boy, he was pissed."
Me: "I don't understand how they operate over there. It's a different universe.
MyBoss: "Since the alert was for their system, nobody looked at the details. I know I didn't. If you didn't respond pointing out the real problem, they would have passed the buck to the other team and wasted hours chasing a non-existent problem. Now they have to take resources away from their main project and answer to the VP for the delay. I'm sure they are prefixing your name right now with 'that asshole'"
Me: "Not the first, won't be the last."2 -
Man, I think we've all gotten way too many of these.
Normally most interactions that I have are through email. Eventually some would try to contact me via phone. These are some:
"Hey! We are calling you from <whatever company name> solutions! (most of them always seem to end on solutions or some shit like that) concerning the Ruby on Rails senior dev opportunity we were talking about via email"
<niceties, how are you doing, similar shit goes here...eventually>
So tell us! how good/comfortable would you say you are with C++?"
Me: I have never done anything serious with c++ and did just use it at school, but because I am not a professional in it I did not list it in my CV, what does it have to do with Rails?
Them: "Oh the applications of this position must be ready to take in additional duties which sometimes happen to be C or C++"
Me: Well that was not anywhere in the offer you sent, it specifically requested a full stack Rails developer that could work with 3 different frontend stacks already and like 4 different databases plus bla bla bla, I did not see c++ anywhere in it. Matter of fact I find it funny, one of the things that I was curious about was the salary, for what you are asking and specifically in the city in which you are asking it for 75k is way too low, you are seriously expecting a senior level rails dev to do all that AND take additional duties with c++? cpp could mean a billion different things"
Them: "well this is a big opportunity that will increase your level to senior position"
Me: the add ALREADY asks for a senior position, why are you making it sound that I will get build towards that level if you are already off the bat asking for seniors only to begin with?
Them: You are not getting it, it is an opportunity to grow into a senior, applicants right now are junior to mid-level
ME: You are all not making any sense, please don't contact me again.
=======
Them: We are looking for someone with 15 years experience with Swift development for mobile and web
Me: What is up with your people not making these requirements in paper? if I knew from the beginning that you people think that Swift is 15 years old I would have never agreed to this "interview"
Them: If you are not interested in that then might we offer this one for someone with 10 years experience as a full stack TypeScript developer.
Me: No, again, check your dates, this is insulting.
===
* For another Rails position
Them: How good are you with Ruby on Rails in terms of Python?
Me: excuse me? Python has nothing to do with Ruby on Rails.
Her (recruiter was a woman) * with a tone of superiority: I have it here that Python is the primary technology that accompanies Rails development.
Me (thinking this was a joke) : What do you think the RUBY part of Ruby on Rails is for? and what does "accompanies Rails development" even means?
Her: Well if you are not interested in using Rails with Python then maybe you can tell us about your experience in using Javascript as the main scripting platform for Rails.
Me: This is a joke, goodbye.
====
To be fair this was years ago when I still didn't know better and test the recruiters during the email part of being contacted. Now a days I feel sorry for everyone since I just say no without even bothering. This is a meme all on itself which no one has ever bothered to review and correct in years for now. I don't know why recruiters don't google themselves to see what people think of their "profession" in order to become better.
I've even had the Java/Javascript stupidity thrown at me by a local company. For that one it was someone from their very same HR department doing the rectuiter, their shop foreman was a friend of the family, did him the service of calling him to let him know that his HR was never going to land the kind of developer they were looking for with the retarded questions they had and sent him a detailed email concerning the correct information they needed for their JAVAscript job which they kept confusing with Java (for some reason in the context of Spring, they literally wanted nothing with Spring, they wanted some junior to do animations and shit like that on their company's website, which was in php, Java was nowhere in this equation)
I think people in web development get the short end of the stick when it comes to retarded recruiters more than anywhere else.3 -
Do you really expect that I can debug in a few minutes, a part of the software that I didn't build and have never seen before and have no knowledge of the external, third-party web service that code is reaching out to?
Dude, flippin' chill, take a walk, grab a drink, pop some popcorn and give me some time to figure out what the hell this code is doing so I can properly debug it!
You know what it turned out to be? Wrong test data used for the 3rd party service. So in essence... Nothing was wrong! Frickity frack!2 -
Dev checked in code (I suspect purposely not inviting me on the code review invite) saying he "fixed" the authentication bug in the web service.
Um no, like I told you last week, the authentication error is because the load balancer wasn't passing the user's authentication to IIS.
If I didn't overhear him telling a user "Still getting the error? I don't know, we might have to re-write that service", he might have gotten away with it.
Me: "Wait, that doesn't sound right. If I hit the server directly, authentication works. Its an issue with the load balancer, not the service"
Dev: "Admin said the load balancer is fine and it has to be the service."
Me: "I don't buy it. IIS is returning the authentication error, not the service."
Dev: "I added exception handling and nothing is being logged. Must be something in the service configuration."
Me: "No, IIS performs the authentication, not the service. I explained that last week, remember?"
Dev: "Oh yea. What changes do we need to make to the service?"
<my blood pressure starts to spike>
Me: "None. Give me a sec.."
<we have other apps on the same server farm that work just fine, so I re-configure the service pool settings to match theirs>
Me: "See, now going through the load balancer, the service works fine. For some reason, the admin had our service set up differently."
Dev: "OK, I'll let the users know the service is fixed."
Me: "Service was never broke and I'm not leaving it in its current state. In the morning I'll talk to the admin and see what he can do to fix."6 -
Yesterday the web site started logging an exception “A task was canceled” when making a http call using the .Net HTTPClient class (site calling a REST service).
Emails back n’ forth ..blaming the database…blaming the network..then a senior web developer blamed the logging (the system I’m responsible for).
Under the hood, the logger is sending the exception data to another REST service (which sends emails, generates reports etc.) which I had to quickly re-direct the discussion because if we’re seeing the exception email, the logging didn’t cause the exception, it’s just reporting it. Felt a little sad having to explain it to other IT professionals, but everyone seemed to agree and focused on the server resources.
Last night I get a call about the exceptions occurring again in much larger numbers (from 100 to over 5,000 within a few minutes). I log in, add myself to the large skype group chat going on just to catch the same senior web developer say …
“Here is the APM data that shows logging is causing the http tasks to get canceled.”
FRACK!
Me: “No, that data just shows the logging http traffic of the exception. The exception is occurring before any logging is executed. The task is either being canceled due to a network time out or IIS is running out of threads. The web site is failing to execute the http call to the REST service.”
Several other devs, DBAs, and network admins agree.
The errors only lasted a couple of minutes (exactly 2 minutes, which seemed odd), so everyone agrees to dig into the data further in the morning.
This morning I login to my computer to discover the error(s) occurred again at 6:20AM and an email from the senior web developer saying we (my mgr, her mgr, network admins, DBAs, etc) need to discuss changes to the logging system to prevent this problem from negatively affecting the customer experience...blah blah blah.
FRACKing female dog!
Good news is we never had the meeting. When the senior web dev manager came in, he cancelled the meeting.
Turned out to be a hiccup in a domain controller causing the servers to lose their connection to each other for 2 minutes (1-minute timeout, 1 minute to fully re-sync). The exact two-minute burst of errors explained (and proven via wireshark).
People and their petty office politics piss me off.2 -
That awkward moment when I was able to run three docker containers on a 512MB server:
1. DotNet core web service
2. MySQL
3. OpenVPN
BUT I cannot run:
1. NodeJs web service
2. MongoDB container
Spent two hours configuring the damn server to get hit by this T_T14 -
Most ignorant ask from a PM or client?
So, so many. How do I chose?
- Wanting to 'speed up' a web site that we did not own, in Sweden (they used a service I wrote). His 'benchmark' was counting "one Mississippi, two Mississippi" while the home page rendered on his home PC and < 1MB DSL connection (he lives in a rural area).
- Wanted to change the sort order of a column of report so it 'sometimes' sorted on 'ABC' (alpha) or '123' (numeric) and sometimes, a mix of both. His justification was if he could put the data in the order he wanted in Excel, the computer should be smart enough to do the same thing.
- Wanted a Windows desktop application to run on an android.
- Wanted to write the interface to a new phone system that wasn't going to be installed for months. Even though we had access to the SDK, he didn't understand the SDK required access to the hardware. For several weeks he would send emails containing tutorials on interfacing with COM libraries (as if that was my problem).
- Wanted to write a new customer support application in XML. I told him I would have the application written tomorrow if he could tell me what XML stands for.4 -
I know you guys probably have seen the worst of the worst...
But have you seen a js used to generate xml and send it to backend as json then parse it to xml? No template literals btw so there’s a lot of multiline with lots of + here and there
Or using sql to request web service?12 -
Most satisfying bug I've fixed?
Fixed a n+1 issue with a web service retrieving price information. I initially wrote the service, but it was taken over by a couple of 'world class' monday-morning-quarterbacks.
The "Worst code I've ever seen" ... "I can't believe this crap compiles" types that never met anyone else's code that was any good.
After a few months (yes months) and heavy refactoring, the service still returned price information for a product. Pass the service a list of product numbers, service returns the price, availability, etc, that was it.
After a very proud and boisterous deployment, over the next couple of days the service seemed to get slower and slower. DBAs started to complain that the service was causing unusually high wait times, locks, and CPU spikes causing problems for other applications. The usual finger pointing began which ended up with "If PaperTrail had written the service 'correctly' the first time, we wouldn't be in this mess."
Only mattered that I initially wrote the service and no one seemed to care about the two geniuses that took months changing the code.
The dev manager was able to justify a complete re-write of the service using 'proper development methodologies' including budgeting devs, DBAs, server resources, etc..etc. with a projected year+ completion date.
My 'BS Meter' goes off, so I open up the code, maybe 5 minutes...tada...found it. The corresponding stored procedure accepts a list of product numbers and a price type (1=Retail, 2=Dealer, and so on). If you pass 0, the stored procedure returns all the prices.
Code basically looked like this..
public List<Prices> GetPrices(List<Product> products, int priceTypeId)
{
foreach (var item in products)
{
List<int> productIdsParameter = new List<int>();
productIdsParameter.Add(item.ProductID);
List<Price> prices = dataProvider.GetPrices(productIdsParameter, 0);
foreach (var price in prices)
{
if (price.PriceTypeID == priceTypeId)
{
prices = dataProvider.GetPrices(productIdsParameter, price.PriceTypeID);
return prices;
}
* Omitting the other 'WTF?' code to handle the zero price type
}
}
}
I removed the double stored procedure call, updated the method signature to only accept the list of product numbers (which it was before the 'major refactor'), deployed the service to dev (the issue was reproducible in our dev environment) and had the DBA monitor.
The two devs and the manager are grumbling and mocking the changes (they never looked, they assumed I wrote some threading monstrosity) then the DBA walks up..
DBA: "We're good. You hit the database pretty hard and the CPU never moved. Execution plans, locks, all good to go."
<dba starts to walk away>
DevMgr: "No fucking way! Putting that code in a thread wouldn't have fix it"
Me: "Um, I didn't use threads"
Dev1: "You had to. There was no way you made that code run faster without threads"
Dev2: "It runs fine in dev, but there is no way that level of threading will work in production with thousands of requests. I've got unit tests that prove our design is perfect."
Me: "I looked at what the code was doing and removed what it shouldn't be doing. That's it."
DBA: "If the database is happy with the changes, I'm happy. Good job. Get that service deployed tomorrow and lets move on"
Me: "You'll remove the recommendation for a complete re-write of the service?"
DevMgr: "Hell no! The re-write moves forward. This, whatever you did, changes nothing."
DBA: "Hell yes it does!! I've got too much on my plate already to play babysitter with you assholes. I'm done and no one on my team will waste any more time on this. Am I clear?"
Seeing the dev manager face turn red and the other two devs look completely dumbfounded was the most satisfying bug I've fixed.5 -
There is this service that I want to use (wont name it for privacy/legal reasons) and I have created a trial account which gives me a limited access to their apis. However the usage is where things are interesting.
The api access is restricted to some 1000 calls per trial account. But also they have a explorer option which lets to have the functionality as a web app like a dashboard and the explorer usage has unlimited access.
Now since I didnt want to exhaust my api limit, I let my service call the explorer apis instead. Is this ethically wrong or it is the fault of the service providers that they have such a big gaping hole in their licensing?8 -
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 -
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 -
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 -
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 -
This rant is particularly directed at web designers, front-end developers. If you match that, please do take a few minutes to read it, and read it once again.
Web 2.0. It's something that I hate. Particularly because the directive amongst webdesigners seems to be "client has plenty of resources anyway, and if they don't, they'll buy more anyway". I'd like to debunk that with an analogy that I've been thinking about for a while.
I've got one server in my home, with 8GB of RAM, 4 cores and ~4TB of storage. On it I'm running Proxmox, which is currently using about 4GB of RAM for about a dozen VM's and LXC containers. The VM's take the most RAM by far, while the LXC's are just glorified chroots (which nonetheless I find very intriguing due to their ability to run unprivileged). Average LXC takes just 60MB RAM, the amount for an init, the shell and the service(s) running in this LXC. Just like a chroot, but better.
On that host I expect to be able to run about 20-30 guests at this rate. On 4 cores and 8GB RAM. More extensive migration to LXC will improve this number over time. However, I'd like to go further. Once I've been able to build a Linux which was just a kernel and busybox, backed by the musl C library. The thing consumed only 13MB of RAM, which was a VM with its whole 13MB of RAM consumption being dedicated entirely to the kernel. I could probably optimize it further with modularization, but at the time I didn't due to its experimental nature. On a chroot, the kernel of the host is used, meaning that said setup in a chroot would border near the kB's of RAM consumption. The busybox shell would be its most important RAM consumer, which is negligible.
I don't want to settle with 20-30 VM's. I want to settle with hundreds or even thousands of LXC's on 8GB of RAM, as I've seen first-hand with my own builds that it's possible. That's something that's very important in webdesign. Browsers aren't all that different. More often than not, your website will share its resources with about 50-100 other tabs, because users forget to close their old tabs, are power users, looking things up on Stack Overflow, or whatever. Therefore that 8GB of RAM now reduces itself to about 80MB only. And then you've got modern web browsers which allocate their own process for each tab (at a certain amount, it seems to be limited at about 20-30 processes, but still).. and all of its memory required to render yours is duplicated into your designated 80MB. Let's say that 10MB is available for the website at most. This is a very liberal amount for a webserver to deal with per request, so let's stick with that, although in reality it'd probably be less.
10MB, the available RAM for the website you're trying to show. Of course, the total RAM of the user is comparatively huge, but your own chunk is much smaller than that. Optimization is key. Does your website really need that amount? In third-world countries where the internet bandwidth is still in the order of kB/s, 10MB is *very* liberal. Back in 2014 when I got into technology and webdesign, there was this rule of thumb that 7 seconds is usually when visitors click away. That'd translate into.. let's say, 10kB/s for third-world countries? 7 seconds makes that 70kB of available network bandwidth.
Web 2.0, taking 30+ seconds to load a web page, even on a broadband connection? Totally ridiculous. Make your website as fast as it can be, after all you're playing along with 50-100 other tabs. The faster, the better. The more lightweight, the better. If at all possible, please pursue this goal and make the Web a better place. Efficiency matters.9 -
My customer service girl just told me that she gonna charge $20 to a client. The client bought one of our web development packages and requested us to create LinkedIn, Google+, Twitter and Instagram account so he can put those on his restaurant website.
Don't be surprised if I became millionaire around 2020.
// $20 can give us like 5 KFC meals here.13 -
Worst hack/attack I had to deal with?
Worst, or funniest. A partnership with a Canadian company got turned upside down and our company decided to 'part ways' by simply not returning his phone calls/emails, etc. A big 'jerk move' IMO, but all I was responsible for was a web portal into our system (submitting orders, inventory, etc).
After the separation, I removed the login permissions, but the ex-partner system was set up to 'ping' our site for various updates and we were logging the failed login attempts, maybe 5 a day or so. Our network admin got tired of seeing that error in his logs and reached out to the VP (responsible for the 'break up') and requested he tell the partner their system is still trying to login and stop it. Couple of days later, we were getting random 300, 500, 1000 failed login attempts (causing automated emails to notify that there was a problem). The partner knew that we were likely getting alerted, and kept up the barage. When alerts get high enough, they are sent to the IT-VP, which gets a whole bunch of people involved.
VP-Marketing: "Why are you allowing them into our system?! Cut them off, NOW!"
Me: "I'm not letting them in, I'm stopping them, hence the login error."
VP-Marketing: "That jackass said he will keep trying to get into our system unless we pay him $10,000. Just turn those machines off!"
VP-IT : "We can't. They serve our other international partners."
<slams hand on table>
VP-Marketing: "I don't fucking believe this! How the fuck did you let this happen!?"
VP-IT: "Yes, you shouldn't have allowed the partner into our system to begin with. What are you going to do to fix this situation?"
Me: "Um, we've been testing for months already went live some time ago. I didn't know you defaulted on the contract until last week. 'Jake' is likely running a script. He'll get bored of doing that and in a couple of weeks, he'll stop. I say lets ignore him. This really a network problem, not a coding problem."
IT-MGR: "Now..now...lets not make excuses and point fingers. It's time to fix your code."
IT-VP: "I agree. We're not going to let anyone blackmail us. Make it happen."
So I figure out the partner's IP address, and hard-code the value in my service so it doesn't log the login failure (if IP = '10.50.etc and so on' major hack job). That worked for a couple of days, then (I suspect) the ISP re-assigned a new IP and the errors started up again.
After a few angry emails from the 'powers-that-be', our network admin stops by my desk.
D: "Dude, I'm sorry, I've been so busy. I just heard and I wished they had told me what was going on. I'm going to block his entire domain and send a request to the ISP to shut him down. This was my problem to fix, you should have never been involved."
After 'D' worked his mojo, the errors stopped.
Month later, 'D' gave me an update. He was still logging the traffic from the partner's system (the ISP wanted extensive logs to prove the customer was abusing their service) and like magic one day, it all stopped. ~2 weeks after the 'break up'.8 -
If you're an aspiring web dev, get comfortable using the command line.
Amazing how many new starters can't restart a service or tail an error log.
I'm not saying it to be a dick, it's just 101 stuff that'll save you loads of time.1 -
I was on vacation when my employer’s new fiscal year started. My manager let me take vacation because it’s not like anything critical was going to happen. Well, joke was on us because we didn’t foresee the stupidity of others…
I had to update a few product codes in the website’s web config and deploy those changes. I was only going to be logged in for 30 minutes to complete that.
I get messaged by one of our database admins. He was doing testing and was unable to complete a payment on the website. That was strange. There was a change pushed by our offsite dev agency, but that was all frontend changes (just updating text) and wouldn’t affect payments.
We don’t want to enlist the dev agency for debugging work, especially when it’s not likely that it’s a code issue. But I was on vacation and I couldn’t stay online past the time I had budgeted for. So my employer enlists the dev agency for help. It’s going to be costly because the agency is in Lithuania, it was past their business hours, and it was emergency support.
Dev agency looks at error logs. There are Apple Pay errors, but that doesn’t explain why non Apple Pay transactions aren’t going through. They roll back my deployment and theirs, but no change. They tell my employer to contact our payment processor.
My manager and the Product Manager contact Payroll, who is the stakeholder for our payment gateways. Payroll contacts our payment gateway and finds out a service called Decision Manager was recently configured for our account. Decision Manager was declining all payments. Payroll was not the person who had Decision Manager installed and our account using this service was news to her.
Payroll works with our payment processor to get payments working again. The damage is pretty severe. Online payments were down for at least 12 hours. Our call center had logged reports from customers the night before.
At our post mortem, we had to find out who ok’d Decision Manager without telling anyone. Luckily, it was quick work. The first stakeholder up was for the Fundraising Dept. She said it wasn’t her or anyone on her team. Our VP of Analytics broke it to her that our payment processor gave us the name of the person who ok’d Decision Manager and it was someone on the Fundraising team. Fundraising then starts backtracking and says that oh yes she knew about it but transactions were still working after the Decision Manager had been configured. WTAF.
Everyone is dumbfounded by this. How could you make a big change to our payment processor and not tell anyone? How did our payment processor allow you to make this change when you’re not the account admin (you’re just a user)?
Our company head had to give an awkward speech about communication and how it’s important. The web team can’t figure out issues if you don’t tell us what you did. The company head was pissed because it was a shitty way to start off the new fiscal year. Our bill for the dev agency must have been over $1000 for debugging work that wasn’t helpful.
Amazingly, no one was fired.5 -
Does anyone have a good and free translator api I could use? I’m doing small school project and I just wanted to create text translator app. I tried yandex already, and ibm sucks since it doesn’t allow ajax request9
-
Indian web dev companies suck ( for developers )
when I finished 3 year grad program in computer application here in my country (India), I thought life's gonna be fun working as a developer. Oh boy, I was so wrong.
I started out working for a small service based IT company, followed by 2 more. I realized really quickly that they're nothing short of a scam. If your company's only agenda to somehow survive in the market and showing no signs of growth in 8 fucking years, then I'm sorry you're working for scamsters.
Now I'm not saying that all of them are alike. But most of them sorta are.
They don't give a shit about quality, not one bit. Quality means no money in the short run. And they haven't been able to develop any strategy to deal with that. Hence, no growth.
They promise 100 things on their website but only provide shitty services in 10.
There is no pair programming, no code review, no code quality check, no architect, no database designer. They won't give you extra time to write test cases. They use git as a storage device.
They don't put their developers (especially the ones who are learning) under any sort of managed development framework to ensure smooth work.
At the end of the day, their main objective is to somehow NOT deliver a project but finish a milestone and make money out of it.
After cashing out for a milestone, they want you to put your current project on hold and start working on a new project until you have like 10-15 projects in the pipeline and you're severely overwhelmed and you just wanna fucking QUIT.
They would say YES to literally every fucking thing, only to disappoint the client later.
I can't believe someone in the US, or UK thought it'd be a good idea to approach these companies
for their brand new app ideas. They're so fucked.
They're rarely finishing any project.
I'm sorry if I hurt your feelings. I had to get it out of my system.11 -
Supervisor: so you're going to write a perl script that will compile a jar that will be used to invoke a web service
Me: okay. What does the web service do?...
Supervisor: I'm not sure how it works. It'll just return a success or error code
Me: so I'm just going to invoke a black box?
Supervisor: that's a good way to think of it
Me: so how does the qa process work with this black box/how can we debug?
Supervisor: we don't have qa for it and we can't debug
What the fuck?!?!? You expect me to call a literal fucking black fucking box?!?! This isn't lambda calc you jabroni.2 -
I've found and fixed any kind of "bad bug" I can think of over my career from allowing negative financial transfers to weird platform specific behaviour, here are a few of the more interesting ones that come to mind...
#1 - Most expensive lesson learned
Almost 10 years ago (while learning to code) I wrote a loyalty card system that ended up going national. Fast forward 2 years and by some miracle the system still worked and had services running on 500+ POS servers in large retail stores uploading thousands of transactions each second - due to this increased traffic to stay ahead of any trouble we decided to add a loadbalancer to our backend.
This was simply a matter of re-assigning the IP and would cause 10-15 minutes of downtime (for the first time ever), we made the switch and everything seemed perfect. Too perfect...
After 10 minutes every phone in the office started going beserk - calls where coming in about store servers irreparably crashing all over the country taking all the tills offline and forcing them to close doors midday. It was bad and we couldn't conceive how it could possibly be us or our software to blame.
Turns out we made the local service write any web service errors to a log file upon failure for debugging purposes before retrying - a perfectly sensible thing to do if I hadn't forgotten to check the size of or clear the log file. In about 15 minutes of downtime each stores error log proceeded to grow and consume every available byte of HD space before crashing windows.
#2 - Hardest to find
This was a true "Nessie" bug.. We had a single codebase powering a few hundred sites. Every now and then at some point the web server would spontaneously die and vommit a bunch of sql statements and sensitive data back to the user causing huge concern but I could never remotely replicate the behaviour - until 4 years later it happened to one of our support staff and I could pull out their network & session info.
Turns out years back when the server was first setup each domain was added as an individual "Site" on IIS but shared the same root directory and hence the same session path. It would have remained unnoticed if we had not grown but as our traffic increased ever so often 2 users of different sites would end up sharing a session id causing the server to promptly implode on itself.
#3 - Most elegant fix
Same bastard IIS server as #2. Codebase was the most unsecure unstable travesty I've ever worked with - sql injection vuns in EVERY URL, sql statements stored in COOKIES... this thing was irreparably fucked up but had to stay online until it could be replaced. Basically every other day it got hit by bots ended up sending bluepill spam or mining shitcoin and I would simply delete the instance and recreate it in a semi un-compromised state which was an acceptable solution for the business for uptime... until we we're DDOS'ed for 5 days straight.
My hands were tied and there was no way to mitigate it except for stopping individual sites as they came under attack and starting them after it subsided... (for some reason they seemed to be targeting by domain instead of ip). After 3 days of doing this manually I was given the go ahead to use any resources necessary to make it stop and especially since it was IIS6 I had no fucking clue where to start.
So I stuck to what I knew and deployed a $5 vm running an Nginx reverse proxy with heavy caching and rate limiting linked to a custom fail2ban plugin in in front of the insecure server. The attacks died instantly, the server sped up 10x and was never compromised by bots again (presumably since they got back a linux user agent). To this day I marvel at this miracle $5 fix.1 -
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 -
Was explaining a technical concept at a "family" dinner. Suddenly stepmother wanted my help for something technical.
Stepmother: Say Awlex, could you help me install some software I recently bought?
Me: (Not this shit again) I even don't know what software you're talking about. How is the software called, what does it do?
Sm: it's calles digital... *long pause*
Me: (I don't like where this is going)
Sm: software... *another long pause*
Me: (fuck me harder than that lightly clothed woman outside)
Sm: something... *long pause*
Me: (alright brain, which way out of here doesn't involves me creating a bullet hole in either one of us?)
Sm: And you can use it to sell something...
Me: (tf do you event sell?!)
Sm: but not like ebay
Me: (what is it then? A platform for selling services? I don't even know what kind of software you'd have to install, given that most of these platforms are be web applications, whcih makes sense for selling stuff on the internet)
Sm: Anyway, could you help me install it? It would take me hours to get into it.
Me: (You think just installing would solve it? As soon as I install it, you probably expect me to be your walking manual as well, don't you?) Look, I'm gonna be honest with you, since I started working I don't have nearly as much free time as I used to have (Not everybody works when they feel like it, you know that?) I get home at around almost 7pm (most of the time) and don't really wanna work afterwards. Most of the time there's a support service from the people who made this software and they would be glad to help you. (Sorry support team, for pushing this bundle of incompetence onto you, but I guess she didn't even listen to my advice).
After that she didn't back down and still wanted my help. Then my grandmother derailed the conversation and got me out of this. When I thanked her later she yold me that she saw I saw uncomfortable and wanted to help. I love my grandmother.
So I am not going to be your "family" tech support. You b(r)ought this onto yourself. Are more than twice my age and still can't use your brain to solve problems like these on your own and you can even less reason abiut your motives and desires when asking for help. I am sick of you and shutty opinions about people, just because I work as a software engineer doesn't mean I'm exist solely for satisfying your unreasonable desires.
Stop offending me and my profession and get yourself some common sense.
Protip #0: Give me one fucking reason to help you, because you're not family enough and your personality really doesn't bring forth any emotion but annoyance5 -
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'm so close to giving up. Yesterday, I travelled 4 hours in one direction for a job interview for a graduate position as a web developer. As I arrived at the interview, I was welcomed by a senior dev and one of the HR people.
I sit down and they start explaining how everything will commence(standard procedure stuff) and afterwards hand me the technical test. At this time I am super calm cause I did my homework, checked out their products, their websites and knew right away what I was going to work on. As I turn the page, I see at the top with huge fucking capital letters "JAVA OOP test".
I take a minute and look back at them, like wtf is happening. Turns out that they are looking for a java dev. They picked me for the role because I had literally 1 fucking sentence in my CV and where I have said that I studied java in one semester of uni. FYI my entire portfolio, cv and cover letter are focused on JS, html, css both for client and server side.
As the fucking HR guy stood there and asked me "is there something wrong", I felt broken inside. For the first time in my fucking life I felt like I was done and couldn't continue anymore. I felt like this is some bitch-slap from karma about something but I still can't figure out what. I just walked out of there being unable to realize what happened.
I just feel like I should end my developer career before it has even started, just go do business analysis or something. Why the fuck would someone put a job description entirely talking about Angular, Less/SASS, bootstrap and jQuery and then say that is a Java dev OOP role. Who the fuck allows those people to take good salaries yet still deliver the up most shittiest quality service.
Before the interview, I checked out their websites which are simply horrendous with the comparability of a fucking baked potato. Idk really what to do, I don't mean to sound as a whiny little b.... but as I walked out of their office, I felt broken inside. Sorry for the long rant.8 -
My department is focused solely on web development. Of course we are part of the major portion of I.T
The entire I.T department got acknowledged for a very important piece of software. That I wrote.
The ceremony in which we were being recognized did not listed MY department, no, they listed the ENTIRETY of I.T.
Thing is, if this product was not delivered, then I was told that the blame would be MINE (I am speaking as the head of my department) but apparently if it succeeded (which it did) it is to be attributed to people that were not even involved in the project.
My employees tried calming me down when I got upset, one of them stated that it was not even our department's effort, but mine alone. And yes, I was the one that developed the solution. By myself, with complete testing, staging, the whole works. Everything, developed by me. BUT my employees held the entire department down while I was behind close doors developing this solution.
I was fucking upset, more so because my director sent an email thanking the entire I.T department for this "win"
I asked him through or messaging service if he could point out to me who else was involved, since I did not know of anyone else that did absolutely anything in this process other than myself and my guys.
Maybe the output of my program was parsed by another I.T department and something happened from it, maybe the money generated by the application (obscene amounts of it btw) were used to add more to the infrastructure etc, who knows, but as far as I know, you cannot say "if this fails it is on you" just for them to later on thank people that were not involved in the project.
This is why I would gladly move on to a different field. I don't want to be patted on the back constantly, I know how fucking good I am at what I do. But if I do something amazing I do not want to see those efforts being given to someone else.
The dev world is usually a thankless industry, but if thanks are given, then I want the sole credit.
If I am winning or loosing I want the whole fucking credit and you can be any more gangstah than that.10 -
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 need to make a confession about my terribly unprofessional project I made. Around two years ago I got thrown for the first time into back end development - I had to work on the project alone. As a very smart man I basically exposed our SMTP server as a nice and very flexible API.
Fortunately it was, by the design, a very short-lived project, taken down from the web completely and for good after around 2 months. I'm still happy I had more luck than brains and nobody used our server as a spam sending service in our name and I have learned a valuable and relatively cheap lesson in security this way.1 -
"Ad targeters are pulling data from your browser’s password manager"
---
Well, fuck.
"It won't be easy to fix, but it's worth doing"
Just check for visibility or like other password managers handle it iirc: assign a unique identifier based on form content and fill that identifier only.
---
"Nearly every web browser now comes with a password manager tool, a lightweight version of the same service offered by plugins like LastPass and 1Password. But according to new research from Princeton's Center for Information Technology Policy, those same managers are being exploited as a way to track users from site to site.
The researchers examined two different scripts — AdThink and OnAudience — both of are designed to get identifiable information out of browser-based password managers. The scripts work by injecting invisible login forms in the background of the webpage and scooping up whatever the browsers autofill into the available slots. That information can then be used as a persistent ID to track users from page to page, a potentially valuable tool in targeting advertising."
Source: https://theverge.com/2017/12/...14 -
Worked with a European consulting company to integrate some shared business data (aka. calling a service).
VP of IT called an emergency meeting (IT managers, network admins) deeply concerned about the performance of the international web site since adding our services.
VP: “The partner’s site is much slower than ours. Only common piece that could cause that is your service.”
Me: “Um, their site is vastly different than ours. I don’t think we can compare their performance to ours.”
VP: “Performance is #1! I need your service fixed ASAP!”
Me: “OK, but what exactly is slow? How did you measure their site? The servers are in Germany”
VP: “I measured performance from my house last night.”
Me: “Did you use an application?”
VP: “<laughs> oh no, I was at home. When I opened the page, I counted one Mississippi, two Mississippi, three Mississippi, then the page displayed.”
Me: “Wow…um…OK…uh…how long does our page take to load?”
VP: “Two Mississippi’s”
Me: “Um…wow…OK…wow…uh, no, we don’t measure performance like that, but I’ll work with our partners and develop a performance benchmark to determine if the shared service is behaving differently.”
VP: “Whatever it is, the service is slow. Bill, what do you think is slowing down the service?”
NetworkAdmin-Bill: “The Atlantic Ocean?”
VP got up and left the meeting.2 -
I was told by my manager that I (the guy hired to be the lead developer on this project) was not a developer I was a designer and that writing php instead of using a knockoff version of dreamweever to drag and drop all of the items was an "unsecure and unsafe practice". He screamed at me for another 30 mins over this and then sent me on my way and laid me off a week and a half later after I finished the project because "we can't afford you" I was doing ITS, network and service installs, security, and web development for $10.00 an hour. #stupidboss4
-
!dev
This may be a petty rant, but It's been grinding my gears for a few months now... I fucking hate ads, it's starting to be incredibly ridiculous. You start a video... 2 ads... you watch for 2 minutes, another 2 ads (and no, adblock isn't a solution, that only works on PC, not devices)?!!! You start an App... ads, you listen to music... ads... you go to google... ads, you click a website... ads... you look out of your window... ads... you walk down the street... ads... ads.. ads...
Seriously, what the fuck have we done?!! As a society we fucked up so badly... Look, no matter how many times you offer me an ad for a furniture, I'm not going to buy a fucking furniture on just any random day. You are completely wasting my already limited time... If you don't have any ads to show me, then don't show me ads, fuck you, you fucking piece of shit software... How is it that it used to be enough to click away one static, non-intrusive ad, but now 6-8 15-20 second ads, popups and intrusive, mid-content ads are the norm?! And then a piece of shit like MoviePass DARES, FUCKING DARES, To work on some sort of camera-enabled check that you actually LOOK at the ads?!!!! ARE YOU FUCKING SHITTING ME?! WHO THE FUCK DO YOU THINK YOU ARE YOU RETARDED PIECE OF BLACK MIRROR SHIT, FUCK OFF WITH THIS BRAINWASHING BULLSHIT, I'M ALLERGIC TO IT, FUCK ALL OF THIS.
I fucking promise that any software I'll make will be either free and open source, or paid only by alternative means, no ads, not ever. I will never fucking add to this retarded bullshit. Never fucking ever will I lower myself on a level where I need to actively waste the time and psyche of thousands or millions of people to get money. Fucking hell.... As if the world doesn't suck enough already, we treat humans as cattle, and It's pissing me off... In the past I used to just delete any app that annoyed me with ads, but what the fuck do I do about youtube since it's the de-facto content source on the internet? And worse, my friends and family watch youtube.. even if I avoid it that doesn't mean the problem is solved... There needs to be an alternative, and paying subscriptions for every single fucking service on the web isn't a solution. Even worse with the current economy... I'd rather eat real food, than buy shit like premium on ShitTube, Fuckify, all the random news website I might read and every app or game I start once every two months... Shit like ad-less premium accounts aren't giving me an alternative, just a way to shoot myself in the foot longterm...
Godbless everyone that releases open source software, apps, tools, websites and such. I hope to god decentralized alternatives to youtube need to happen and not in the web3 way, because that's also retarded...
Fuck, Fuck, Fuck, Shit, Fuck Shit, Piss, Cocksucker, Motherfucker, Retards, Fucking absolutely disgusting pieces of shit... ... alright, I got it out of my system, but It's gonna be right back the next time YouTube forces me to look at 20 seconds of something I already skipped 48 times today...32 -
[Begin Rant] When you show your senior manager your REST Web Service and he says "Oh no nooo... I don't wanna see no code"... Me: Code?? That ain't code you fat silly fucker it's the command line output data which I spent a week parsing, batch processing, and storing into the database! [End Rant] :[4
-
Today we had our "web technology" University exam. One question was to write a sample html program for our university's website.
I swear I could've built a fully functioning website on MVC and hosted it on some cloud service in far less time than that I spent scribbling 5 pages of writing HTML/CSS/JS so that I can "pass the exam". But nooooo. Our university syllabus takes IE and Java servlets as standard and apparently you get bonus marks if you could implement IE's Active-X on paper.
So much for the future web development4 -
Worst collaboration experience story?
I was not directly involved, it was a Delphi -> C# conversion of our customer returns application.
The dev manager was out to prove waterfall was the only development methodology that could make convert the monolith app to a lean, multi-tier, enterprise-worthy application.
Starting out with a team of 7 (3 devs, 2 dbas, team mgr, and the dev department mgr), they spent around 3 months designing, meetings, and more meetings. Armed with 50+ page specification Word document (not counting the countless Visio workflow diagrams and Microsoft Project timeline/ghantt charts), the team was ready to start coding.
The database design, workflow, and UI design (using Visio), was well done/thought out, but problems started on day one.
- Team mgr and Dev mgr split up the 3 devs, 1 dev wrote the database access library tier, 1 wrote the service tier, the other dev wrote the UI (I'll add this was the dev's first experience with WPF).
- Per the specification, all the layers wouldn't be integrated until all of them met the standards (unit tested, free from errors from VS's code analyzer, etc)
- By the time the devs where ready to code, the DBAs were already tasked with other projects, so the Returns app was prioritized to "when we get around to it"
Fast forward 6 months later, all the devs were 'done' coding, having very little/no communication with one another, then the integration. The service and database layers assumed different design patterns and different database relationships and the UI layer required functionality neither layers anticipated (ex. multi-users and the service maintaining some sort of state between them).
Those issues took about a month to work out, then the app began beta testing with real end users. App didn't make it 10 minutes before users gave up. Numerous UI logic errors, runtime errors, and overall app stability. Because the UI was so bad, the dev mgr brought in one of the web developers (she was pretty good at UI design). You might guess how useful someone is being dropped in on complex project , months after-the-fact and being told "Fix it!".
Couple of months of UI re-design and many other changes, the app was ready for beta testing.
In the mean time, the company hired a new customer service manager. When he saw the application, he rejected the app because he re-designed the entire returns process to be more efficient. The application UI was written to the exact step-by-step old returns process with little/no deviation.
With a tremendous amount of push-back (TL;DR), the dev mgr promised to change the app, but only after it was deployed into production (using "we can fix it later" excuse).
Still plagued with numerous bugs, the app was finally deployed. In attempts to save face, there was a company-wide party to celebrate the 'death' of the "old Delphi returns app" and the birth of the new. Cake, drinks, certificates of achievements for the devs, etc.
By the end of the project, the devs hated each other. Finger pointing, petty squabbles, out-right "FU!"s across the cube walls, etc. All the team members were re-assigned to other teams to separate them, leaving a single new hire to fix all the issues.5 -
PORTFOLIO INFLATION
when every junior is writing algorithms, the next step up, the only way to keep up is writing apps. When every junior is writing apps, the next leg up is writing an entire SN.
Eventually junior full stack devs are writing microservice streaming cloud backend content delivery optimized social networks wrapped in virtualization with load balancing, proper CI, public accessible analytics apis, written in custom webaseembly compiled scripting backend utilizing both the latest graphql and every single feature of postgres, while also being a web site builder, an in browser app, mobile optimized, designed to transmogrify your asset pipelines linearflow functional-oriented modular rust cratified turbencabulator while cooking your turducken with CPU cycles, diffusing your gpt, and finetunning your llama 69 trillion parameter AI model to jerk you off all at the same time.
And then the title "wizard" becomes a reality as the void of meaning in our lives occupied by the anxiety of trying to reduce the fear of rejection in job hunting, is subsumed by the brief accidental glance into the cthulian madness-inducing yawning abyss of the future which is all the rest of our lives we have to endure existing for until at last sweet sweet death consumes us and we go to annihilation never having to configure one more framework or devops deploy of another virtual environment.
And it dawns on us that we no longer develop or write code at all. No, everything has become a "service" in this new hellscape future. We slowly come to the realization that every job is really just Costco greeter, or eventually going to be reduced to something equivalent, all human creativity, free will and emotions now taken care of by the automation while we manage the human aspects, like sardines pushing against one another not realizing their doom has been sealed along with the airless can they have been packed into, to be suffocated by circumstance and a system designed to reduce everything to a competition of metrics designed by the devil, if the metrics were misery", and "torture", while we ourselves are driven by this ratfuck wheel to turn endlessly toward social cannibalism, like rats eating their babies, but for the amusement of wallstreet corporate welfare whores who couldnt turn a dime if it wasnt already stolen.
And on our gravestones, those immortal words are carved, by the last person who gave up the ghost, the last whose soul wasnt yey shovelled onto the coal fires driving the content machine consuming the world:
Welcome to costco. I love you.12 -
*Working on a project with boss, I am working on a mobile app, he is working on web service app.
Me: this service takes user id as parameter to get all account details (all other web services are like that)
Boss: yes, I use the id to filter the data.
Me: but by this, everyone has the id can do anything ! why we do not use session token?
Boss: this is a detail, it is not important !
Me:...
*7 years of experience my ass5 -
Our team was having a problem with very slow response times from a 3rd party web service they were contacting to get some device stats. No issues on the other end, but it had already been weeks. They ask me to take a look at it.
I take a few days, do a couple of benchmarks and tests and I isolate the section of code responsible. Turns out, the method they were calling would timeout if the device was offline. We ask the vendor, and they confirm this. They tell us to call methodX to check if it was up.
After having done that, lookup now only took seconds. They were annoyed that it wasn't documented but was just glad it was fixed.2 -
Inmates are trying to take over the asylum again.
Got a message from the web team manager deeply concerned because since switching to the new logging framework, the site is significantly slower.
She provided no proof or any data to what 'significantly slower' means.
#1 The 'new logging' has been in place and logging for 5 years. We only recently depreciated the ILogger interface ('new' ILogger interface only has 1 method instead of 5)
#2 The 'old logging' was modified 5 years ago, so even if you were using the 'old' interface, the underlying implementation is still the same.
She tried to push the 'it wasn't this slow before' argument, so I decided to do some fact based analysis.
Knowing they deployed their logging changes couple of weeks ago, I opened up AppDynamics, looked at the average call time to Splunk (along with a few other http calls they are doing)
- caching services - 5ms
- splunk - 30ms
- Order Service - 350ms
- Product Data Service -525ms
Then I look at the data they are logging, for the month of June, over 5 million messages. At 30ms each, that's almost 42 hours spent logging errors...yes errors. Null reference exceptions, Argument exceptions, easily fixable stuff.
So far for the month of July (using the 'new' logging), almost 2.5 million errors. Pretty close so far with June's numbers.
My only suggestion was to fix the bugs in their code so they don't log so many errors.
Her response.."Can we have one of our developers review your logging code? We believe we can find ways to optimize the http requests"
Oh good Lord. I'm not a drinking man..but ...I might start.1 -
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 -
The website of the italian post service is "closed" between 23:45 and 00:15, everyday.
I don't know if something like this happens in other countries...
And do you know when I really need to access it?
ALWAYS IN THESE 30 MINUTES, not the others 1.410 of the day!
P.S.
What do you think, what could be a valid reason to "close" a web service?
I thought about backup, but other services don't have this problem.4 -
Boss : Did you finish the service app?
Me: Nope, sir you told us to complete the immediate relief website.
Boss: Ok. Did u complete that?
Me: Nope, when it was half you told us to complete the clients web app?
Boss: Oh god. So is that over?
Me: Unfortunately, no sir a month more and we can present the project estimation report if we are free😁😉2 -
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 -
when I was a newbie I was given a task to upload a site.
I had done that many times before so I thought it wont be a big deal so I thought I never gave a try uploading through ftp.
Okay I began work on it the server was of godaddy and credentials I got were of delegate access.
right I tried connecting through ftp but it wasn't working thought there's some problem with user settings why shouldn't I create my own user to stay away from mess.
Now I creater my own user and could easily login but there were no files in it saw that by creating user my folder is different and I dont have access to server files I wanted to take backup before I do upload.
now I was thinking to give my user access to all files so I changed the access directory to "/" checked ftp again there was still no file.
don't know what happened to me I thought ahh its waste of time for creating ftp user it does nothing and I deleted my ftp account.
now I went through web browser to download data and earth skids beneath my foots. Holy fuck I lost all the data, all were deleted with that account it scared the shit out of me.
There were two sites running which were now gone.
Tried every bit to bring them back but couldn't do so. i contact support of godaddy they said you haven't enabled auto backup so you can't have them for free however they can provide their service in $150. Which is 15k in my country.
I decided to tell my boss about what happened and he got us away :p I wasn't fired gladly -
So ..i just got a raise. A substantial one(about 30k more) but......
The cms coordinator is now going to make way more than i do....but not only that he is making way more than my lead developer and my lead developer's salary is now the same as mine.
The man has 12 years of service to this institution. He IS the web software department and if any day him and I decide to cross our arms and not do shit the whole school collapses...both fucking campuses.
Continuing...the cms coordinator doesn't even have the same education that we do. The lead developer has 4 associates degrees and I have a B.S in c.s, the CMS dude has 1 in computer tech or some shit like that.
And he is making about 9k more than us.
I...know it sounds small, and it is, but the principle itself is fucking painful considering that they mentioned job responsibilities was a major contributing factor in said paycheck and we have fucking murdered ourselves working extra every fucking day. Going above and beyond this shit just to have a dude that adds images to a cms make more than we do.
Fucking bullshit.14 -
I'm so fucking done with net neutrality. the only ones who want it are verion, comcast, and other big isps.
fuck them.
this is fucking merica. nobody wants it, and this is a government designed for the people. I guess it only works in theory.
the talk about this has been fucking exhausting. how much clearer could it be?
how does it keep coming up? so much of the economy is online. why would congress want this? this should be a fucking fundamental right. no bs, just fast speeds everywhere. i hate all the isps thinking that because the world is so reliant on the internet, they control everything.
isps are a service. that's it.
they're not a profiler or advertiser, just a service.
and if that changes, I'll buy a bunch of flash drives and go offline.
bottom line, we should have privacy, neutrality, and a safe web. fuck those greedy bastards.17 -
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 -
I recently started my professional journey as a developer and I stumbled upon a very strange git repo configuration..
Background: The projects consist on a web app and a lot of backend services in C# (1 service on each project).
The project manager decided to configure the the git repo as a single repo with all of the different projects for the services and the project of the webapp. All in one. Everytime you update something the merge results absurd and this happened…19 -
-GDPR
-News letter
-Ads blocker blocker
-Ads popup insite
-Ads popin in video
-Ads popin podcast
-Ads in mail
-Ads in software
-Ads in any android application
-Ads in windows
-Ads in ads
-Auto scrolling
-Slideshow
-Scroll position reset on back button
-Aria-label aria-labelledby aria-role aria-aria of game of thrones
-Order in dom for a11y different of the display order -Button :hover, :focus-visible, :focus-within :fuck-this
- SVG abandoned ware
- I make you a illustrators X version that not work with yours, i use figma. I use affinity, i use akira. I use photoshop, i use word. I use powerpoint, i use publisher, i use paint, i use all Asss (application as a service) on the web and to see what i make you need to pay you an account
-We all make frontend backend... No linter or something... Why we have always 848274 change in git ....
We not host anymore we use 62616 different cloud services to try all the fucking company everywhere
-Make a Drupal CMS to a client that's are to idiots to use it and call you each time they have something to modify
And goes on
Web tooday is fucking crap shit
People realize that you cannot make money anymore with informative website. Then everybody try to squish people at the last drop... Because of selfishness.3 -
Still dealing with the web department and their finger pointing after several thousand errors logged.
SeniorWebDev: “Looks like there were 250 database timeout errors at 11:02AM. DBAs might want to take a look.”
I look at the actual exceptions being logged (bulk of the over 1,600 logged errors)..
“Object reference not set to an instance of an object.”
Then I looked the email timestamp…11:00AM. We received the email notification *before* the database timeout errors occurred.
I gather some facts…when the exceptions started, when they ended, and used the stack trace to find the code not checking for null (maybe 10 minutes of junior dev detective work). Send the data to the ‘powers that be’ and carried on with my daily tasks.
I attached what I found (not the actual code, it was changed to protect the innocent)
Couple of hours later another WebDev replied…
WebDev: “These errors look like a database connectivity issue between the web site and the saleitem data service. Appears the logging framework doesn’t allow us to log any information about the database connection.”
FRACK!!...that Fracking lying piece of frack! Our team is responsible for the logging framework. I was typing up my response (having to calm down) then about a minute later the head DBA replies …
DBA: “Do you have any evidence of this? Our logs show no connectivity issues. The logging framework does have the ability to log an extensive amount of data regarding the database transaction. Database name, server, login, command text, and parameter values. Everything we need to troubleshoot. This is the link to the documentation …. If you implement the one line of code to gather the data, it will go a long way in helping us debug performance and connectivity issue. Thank you.”
DBA sends me a skype message “You’re welcome :)”
Ahh..nice to see someone else fed up with their lying bull...stuff. -
Anything I (am able to) build myself.
Also, things that are reasonably standardized. So you probably won't see me using a commercial NAS (needing a web browser to navigate and up-/download my files, say what?) nor would I use something like Mega, despite being encrypted. I don't like lock-in into certain clients to speak some proprietary "secure protocol". Same reason why I don't use ProtonMail or that other one.. Tutanota. As a service, use the standards that already exist, implement those well and then come offer it to me.
But yeah. Self-hosted DNS, email (modified iRedMail), Samba file server, a blog where I have unlimited editing capabilities (God I miss that feature here on devRant), ... Don't trust the machines nor the services you don't truly own, or at least make an informed decision about them. That is not to say that any compute task should be kept local such as search engines or AI or whatever that's best suited for centralized use.. but ideally, I do most of my computing locally, in a standardized way, and in a way that I completely control. Most commercial cloud services unfortunately do not offer that.
Edit: Except mail servers. Fuck mail servers. Nastiest things I've ever built, to the point where I'd argue that it was wrong to ever make email in the first place. Such a broken clusterfuck of protocols, add-ons (SPF, DKIM, DMARC etc), reputation to maintain... Fuck mail servers. Bloody soulsuckers those are. If you don't do system administration for a living, by all means do use the likes of ProtonMail and Tutanota, their security features are nonstandard but at least they (claim to) actually respect your privacy.2 -
FUCK! The fucking previous dev on this project who set up the fucking web service that he knew would be shared among multiple platforms set it up to use an audio format that's only supported on one platform. Now I'm faced with either doing some fucking JS black magic to decode the fucking base64 audio, convert it to another audio format, and then possibly re-encode it or attempting to re-write the fucking web service and already in production app! Fucking hell!1
-
//rant
So I'm a BI consultant, been doing this for about 6 years now, and I'm pretty good at the data stuffs. Now I had to complete a project for a client where we call a web service and it had to be done in .NET. I wrote a console app in C# that called the WS, dumped the data then a stored proc processed the staging tables into final tables that our visualization tool can consume.
It works, it's done.
Mind you I'm not a pure .NET developer.
And now that it's completed and working this fucking .NET dude that works for my client is basically giving me an attitude talking about "why wasn't it done as a Windows service? Blah, blah" Like WTF!!??? I get that he's the C# BSD but like chill bruh!!
It's annoying as fuck having to work on projects that are not your area of EXPERTISE and then be ridiculed by other elitist assholes about it.
Doesn't happen much, but fuck it's something I hate about dev. FYI, if it was the opposite I would just be asking questions for understanding, not being a sarcastic prick.
//rant done5 -
!rant
Goodbye Java I will not miss you at all! I swear ...
I do like it when making web services (especially that I can use Java8) but for Android you have been a torture. Hello sweet Kotlin! I shall embrace you and treat you like my newly born baby!!
Story is:
Working on a new project where I need to talk to a web service (also made by me).
Started writing in Java, all is cool and unit tests pass.
Downloaded Android Studio 3 Beta 1 and converted my Java code to Kotlin, That AsyncTask did not look nice in kotlin, converted it to async & await feature and I must admit lots of code removed, no more need to create a new fucking AsyncTask every time the app sneezes for data!
I feel like I'm working with C# but with difference in syntax.
My life is now complete :)undefined java goodbye! am i drunk? koline: sorry i have a boyfriend hi there kotlin i shall not miss you what the fuck did i just use for a tag?8 -
I'm implementing some Italian web servicies.
The server response is "INDISPONIBILITÀ TEMPORANEA" (temporarily not available).
I'm Italian, but I'm not used with localized error messages. When I read this message I tought to a server in a toilet.4 -
I despise it when software developers remove features because "too few people use them".
Is this what those shady telemetry features are for? So they can pick which useful features to get rid of because some computer rookies whined that it is "feature creep" rather than just ignoring it?
Now I have to fear losing useful (or at least occasionally convenient) features each time I upgrade, such as Firefox ditching RSS, FTP, and the ability to view individual cookies. The third can be done with an extension, but compatibility for it might be broken at some point, so we have to wait for someone to come up with a replacement.
Also, the performance analysis tool in the developer tools has been moved to an online service ("Firefox profiler"). I hope I don't need to explain the problems with that.
But perhaps the biggest plunge in functionality in web browser history was Opera version 15. That was when they ditched their native "Presto" browsing engine for Chromium/Blink, and in the process removed many features including the integrated session manager and page element counter.
The same applies to products such as smartphones. In the early 2010s, it was a given that a new smartphone should cover all the capabilities of its predecessors in its series, so users can upgrade without worrying a second that anything will be missing. But that blissful image was completely destroyed with the Galaxy S6. (There have been some minor feature removals before that, such as the radio and the three-level video recording bitrate adjustment on the S4, but that's nothing compared to what was removed with the S6.).
Whenever I update software to a new version or upgrade my smartphone, I would like it to become MORE capable, not LESS (and to hell with that "less is more" nonsense).15 -
Another Developer: bro, shit hit the fan. The x web service is throwing some error. Can you take a look please. I want to go home. I'm tired.
Me: Yea sure bro no worries.
Another Developer: I go pee, after that I will delegate the ticket to you.
(Another Developer goes to the washroom)
Me: (04:59 PM) Oh time to pack-up and get the fuck out of here
Me: (05:08 PM) Receive a message on Viber from Another Developer. It reads "Fuck you, I'm going to rub my balls on your desk"3 -
Any enterprise web service which ignores http standards. If you have a Fucking error return 500 not 200 with an error string you f--k
-
This is a public service announcement with a threat at the end of it:
"Do not, I repeat, do NOT attempt to write web applications, or any particular sort of application that works with a relational database (damn near more than half of applications) without a PROPER grasp and knowledge of SQL.
I do not want to see you reaching out for an ORM either, no, you need to learn to properly design a database or to properly interact with them AT most before you even attempt using an ORM OR designing an application from the beginning, shit will only hurt you in the long term I promise, learning SQL can go a looooong fucking way and most DBA's I know make way tf more than people think they make, it might even be an interesting career choice"
If you do not follow the above advise, and I see your ass reaching for building a web application without the above knowledge I will be under your bed at night, putting oil in my hairy body before I jump into bed to you and leave you confused for the rest of your life.
Build to learn, YES, but for the love of Chamberlain and Boyce PLEASE do not neglect SQL. I have seen such neglect REACH production and I am currently wishing I had these mfkers close to me.9 -
Social Captain (a service to increase a user's Instagram followers) has exposed thousands of Instagram account passwords. The company says it helps thousands of users to grow their Instagram follower counts by connecting their accounts to its platform. Users are asked to enter their Instagram username and password into the platform to get started.
According to TechCrunch : Social Captain was storing the passwords of linked Instagram accounts in unencrypted plaintext. Any user who viewed the web page source code on their Social Captain profile page could see their Instagram username and password in plain text, as they had connected their account to the platform. A website bug allowed anyone access to any Social Captain user's profile without having to log in ; simply plugging in a user's unique account ID into the company's web address would grant access to their Social Captain account and their Instagram login credentials. Because the user account IDs were for the most part sequential, it was possible to access any user's account and view their Instagram password and other account information easily. The security researcher who reported the vulnerability provided a spreadsheet of about 10,000 scraped user accounts to TechCrunch.3 -
Worst exp. with manager/higher-up?
Too many to pick the worst, but here are a few:
Manager demoted me because he believed I would be a roadblock to his wet dream of re-writing all the business services in WCF
https://youtube.com/watch/...
Manager spent years and wasted countless man hours retiring a single ASP.Net web service by converting the individual supporting assemblies into specific WCF services..
https://youtube.com/watch/...
Manager once berated me for 'missing' time log entries
https://youtube.com/watch/...
Manager scolded me for not fixing a 'bug' while praised another developer who re-wrote a reporting application due to a fixable hardware problem and deleting the source code files from source control.
https://youtube.com/watch/...
Manager wanted to rewrite all our code in XML.
https://youtube.com/watch/...
Manager wanted integration with a new phone system knowing the hardware+software did not exist yet ..
https://youtube.com/watch/...
Manager wanted me to 'take the lead' to speed up a web site in a foreign country we didn't control.
https://youtube.com/watch/... -
Hello fellow coders can you help me here plz.
I'm really confused whether to buy MACBOOK PRO 13 INCH or SURFACE PRO 4. Both of i5/8gbRam/256ssd specs. Price almost same in India.
My main use is programming ( web apps/ open source) + portability.
Factors I like in macbook pro:
1) unix based
2) best service here in India ( heard from answers on Quora )
3) DURABILITY ( heard from answers on Quora ) ( will last for many years without any glitch).
Factors I like in Surface pro 4:
1) its ultraportability
2) pen & touch
3) better typing experience ( since I code/blog for long hours)
4) native bash support
5) sexier than MBP :P
I really like SP4 over MBP but I'm worried about its durability and service(in India).
What are your thoughts on this guyz?38 -
I was using the app Jobr to apply for random positions. It’s like tinder — only you swipe to send your resume.
A week or so later I got an email from a company locally that wanted to set up an interview. I honestly thought it was a scam! I didn’t even remember applying for the job.
Long story short, they’re mostly desktop developers, and I’m the first front end web guy. I was initially hired to help with UI stuff but on the last project I was developing Service Workers. So I guess I just get invested and give my fullest.
Now myself and one of the other programmers are working on the 3rd gen of our software, built with Vue.js and rest APIs.4 -
Pulled into an 'emergency' meeting with a group of web designers deeply concerned a particular service wasn't going to meet all their requirements.
DevA: "For each page, Its going to be A LOT of work to retrieve all the data and store it's state. Every page load will require a round trip to the service."
DevB: "Yes, we aren't sure how the service should be changed to do what we need."
Mgr: "What is it not doing now? Doesn't the service already returns all the necessary data?"
DevA: "Well...um...its all the boolean fields. Some may be defaulted from the database or false because the user unchecked the box. We have to know which is which"
Me: "Why? Are you doing anything different in the UI? Checkbox will be true or false. What or who set that value is irrelevant"
DevC: "Well, it matters if the user didn't fill out all other other values."
Me: "How so?"
DevA: "Its matters because the values in the other fields. Its going to be A TON of work to figure out."
<mgr goes to the white board>
Mgr: "Lets map this out...what fields are you needing to trigger the state on?"
DevA: "Um...uh...the 'Approved' field...and um...'OK to Contact' field"
Mgr: "Just those two?"
DevA: "Yea..um...there are other fields, but whether or not to show the edit box depends on those two."
Me: "The service already returns data, you only have two fields to check? I don't see a need to change the service at all."
DevA: "Returning all that data, we are going have a serious scaling problem. We'll be hitting the service A LOT. All that javascript could cause performance problems too"
Me: "How much data are we talking about? Name, address, couple of booleans?"
DevA: "I have to serialize the data. All that logic is going to be reeeaaallly complicated. It might be better if the service returned only the data I need."
Me: "$64,000 question, how often is this feature going to be used on the web site? Maybe once? Few hundred a week?"
Mgr: "We have no idea. A lot of the data will be pre-populated and we're only sending out a few thousand invitations. More around the holidays...but honestly, not very many."
Me: "Changing that service only for this particular area of the web site isn't going to happen. Changing the UI is the only course of action."
DevA: "Oh frack I can't wait until this project is over."
DevA...how the funck do still have a job here? You wasted about half-hour of my time with your cry-baby crap. Where is my hammer...no...no..don't go there...ahhh...thanks devrant. Prison sentence diverted.2 -
!rant
I've seen some rants about people complaining about websites using the 'www' subdomain, so I'd like to take this opportunity to try to explain my opinion about why sites might use it.
I use to feel the same way about not having the www subdomain. It felt like an outdated standard that serves no purpose. But I have changed my option...
Sometimes certain servers have other services running other than just the website, such as ssh, ftp, sql, etc., running on different ports. What if you want to use a web proxy and caching service similar to cloudflare or a cdn? We'll you can't, because they won't allow traffic to flow through to your other ports.
That's where the www subdomain comes in. Enable your caching and cdn on your www subdomain, and slap a 301 redirect from your primary domain on port 80 or 443 to the www subdomain. This still allows you to access your other services via the domain name while still gaining the benefits of using a cdn.
Now I know you could use an 'ftp' subdomain or the like, but to each their own in that regard.7 -
A centralised "music on hold" system. Powered by a PHP web service, and a raspberry pi in each clients office(s) to handle the "player". Essentially a distributed DJ system.1
-
I love software. Seriously, I love it. /s
Transmission is given a bad torrent (which, given that it's a torrent service, you'd expect it handles quite robustly) and completely fucks up. Like, really badly. It doesn't respond to RPC anymore, systemd has to resort to sending it a SIGKILL to get it off the process tree, and the web interface.. yeah. Nothing.
It doesn't log by default, so fine I'll add that to the systemd unit and restart it with debugging options enabled.
# systemctl daemon-reload && systemctl daemon-reexec
Turns out that /var/log/transmission.log can't be written to by my Transmission user. Well shit. Change that to /home/condor/transmission.log.
# systemctl daemon-reload && systemctl daemon-reexec
# systemctl restart transmission-daemon
*blood starts to reach its boiling point*
Still logs in the wrong fucking location. Systemd, I told you to log over there. I did everything I could to make you steaming pile of shit reload that fucking config. What's the fucking problem!?
*about 15 minutes of fighting systemd*
Finally! It spits out a log in the right location! Thank you Transmission and systemd for finally doing your fucking jobs. So a bad torrent it is, hmm...
*removes torrent from .config/transmission/torrents*
Transmission: *still fucking shits itself on that ostensibly removed torrent*
That's it. BEGONE!!!
Oh and don't get me started on the fact that apparently a service needs some 400MB of memory. Channeling your inner Chrome Transmission?10 -
We had a school project where we where supposed to implement a software with a heavy client in C# and web services for it in C#, but the web services HAD TO COMMUNICATE WITH SMTP AND IMAP. And do that in 8 days.
We were 6 in the team. 4 had no idea what a web service is, and I and the designated project lead were the only ones knowing what to do. The lead had paperwork to do for the project, so I had to do everything but the UI alone. So 1 guy did the UI, 3 were... Playing Minecraft... The lead was doing paperwork and ranting about how noisy idiots these guys were... And I was sick as hell and could not eat anything, I was vomiting all day in between which moment I managed to make half of the functionalities of the project, despite having to go to the hospital and have to continue working despite the medical request not to work.
So the day before the presentation I had half of the functionalities done and I had to explain them yet another time what web services are so they can answer the questions and cover for themselves.
On the day of the presentation it went kinda fine. It was not finished but it worked like asked.
We were asked for peer evaluation and I gave A to the lead and the UI guy and B to the 3 other lazy asses.
Shortly after I am called by the tutor in the office : "What happened on this project? Were you not working at all? Apart for the lead who gave you an A, every one gave you a D (lowest grade). I demand for explanations"
I said never mind and got back to studying. I got a B, all the rest of the group an A.2 -
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 today's episode of kidding on SystemD, we have a surprise guest star appearance - Apache Foundation HTTPD server, or as we in the Debian ecosystem call it, the Apache webserver!
So, imagine a situation like this - Its friday afternoon, you have just migrated a bunch of web domains under a new, up to date, system. Everything works just fine, until... You try to generate SSL certificates from Lets Encrypt.
Such a mundane task, done more than a thousand times already... Yet... No matter what you do, nothing works. Apache just returns a HTTP status code 403 - Forbidden.
Of course, what many folk would think of first when it came to a 403 error is - Ooooh, a permission issue somewhere in the directory structure!
So you check it... And re-check it to make sure... And even switch over to the user the webserver runs under, yet... You can access the challenge just fine, what the hell!
So you go deeper... And enable the most verbose level of logging apache is capable of - Trace8. That tells you... Not a whole lot more... Apparently, the webserver was unable to find file specified? But... Its right there, you can see it!
So you go another step deeper and start tracing the process' system calls to see exactly where it calls stat/lstat on the file, and you see that it... Calls lstat and... It... Returns -1? What the hell#2!
So, you compile a custom binary that calls lstat on the first argument given and prints out everything it returns... And... It works fine!
Until now, I chose to omit one important detail that might have given away the issue to the more knowledgeable right away. Our webservers have the URL /.well-known/acme-challenge/, used for ACME challenges, aliased somewhere else on the filesystem - To /tmp/challenges.
See the issue already?
Some *bleep* over at the Debian Package Maintainer group decided that Apache could save very sensitive data into /tmp, so, it would be for the best if they changed something that worked for decades, and enabled a SystemD service unit option "PrivateTmp" for the webserver, by default.
What it does is that, anytime a process started with this option enabled writes to /tmp/*, the call gets hijacked or something, and actually makes the write to a private /tmp/something/tmp/ directory, where something... Appeared as a completely random name, with the "apache2.service" glued at the end.
That was also the only reason why I managed fix this issue - On the umpteenth time of checking the directory structure, I noticed a "systemd-private-foobarbas-apache2.service-cookie42" directory there... That contained nothing but a "tmp" directory with 777 as its permission, owned by the process' user and group.
Overriding that unit file option finally fixed the issue completely.
I have just one question - Why? Why change something that worked for decades? I understand that, in case you save something into /tmp, it may be read by 3rd parties or programs, but I am of the opinion that, if you did that, its only and only your fault if you wrote sensitive data into the temporary directory.
And as far as I am aware, by default, Apache does not actually write anything even remotely sensitive into /tmp, so...
Why. WHY!
I wasted 4 hours of my life debugging this! Only to find out its just another SystemD-enabled "feature" now!
And as much as I love kidding on SystemD, this time, I see it more as a fault of the package maintainers, because... I found no default apache2/httpd service file in the apache repo mirror... So...8 -
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 -
Ok, first rant, about my struggles getting reliable internet over the past 6 years. It's not too interesting of a topic, but here we go:
I'm living in a more rural part of Germany and internet here is shit. I pay more than 50 bucks a month for 700kb/s downstream (let's just not talk about upstream...), which is meh by itself but it gets worse. Before this I had roughly 230kb/s downstream using DSL. My provider came out with a new oh-so-fucking-fancy solution for giving people faster internet without upgrading their lame ass fucking backbone and POS infrastructure from 70 years ago: they sell you hybrid internet which combines your shit DSL and an LTE connection using TCP Multicast. Not only do I get only 6 of my promised (and payed for) 50 Mbit, no, It's also a fucking piece of nonworking shit!!!
Let me illustrate:
You constantly have problems with web content (or any remote content) not loading because the host server does not support TCP Multicast. It either refuses connection altogether or it takes about 30-50 seconds to establish a connection. Think about your live when it takes two or three fucking minutes to load 5 YouTube thumbnails or load new tweets at the bottom of the Twitter page! Also, you never know if you a) have an error in your implementation of a new API or if b) the remote host doesn't support TCPMC (there's never an error for that! Fuck you!), your SSH sessions ALWAYS drop in the most inopportune fucking moments because the LTE thing lost connection, you always have to turn on a VPN if you want to visit specific websites (for example your school's website) and so on....
Oh and also, my provider started throttling specific services again these days with Netflix and YouTube struggling to display 240p, fucking 240p video without buffering when I get 600kbit down on steam (ofc the steam download is paused when watching videos). When using a VPN, YouTube 720p and Netflix HD work like a charm again. Fucking Telekom bastards
Then there is the problem with VPNs. The good thing about them is that they solve all the TCP Multicast problems. Yay. Now for the bad things:
First of all, as soon as I use a VPN, access times to remote go up by like fucking 500%. A fucking DNS lookup takes 8-15 seconds!!! The bandwidth is there but it takes forever.. because reasons I guess. Then the speed drops to DSL speeds after a while because the router turns off my LTE connection when it is unused and it does not detect VPN traffic as traffic (again because... Reasons?) And also, the VPN just dies after an hour and you have to manually reconnect (with every VPN provider so far)
And as if that wasn't enough, now the lan is dying on me, too, with the router (the fucking expensive hybrid piece of shit, 230 bucks..) not providing DHCP service anymore or completely refusing all wifi connections or randomly dropping 5Ghz devices, or.....
You get the point.
The worst thing is, they recently layed down 400mbit fiber in my neighborhood. Guess where the FUCKING PIECE OF SHIT CABLE ENDS??? YEAH, RIGHT IN FRONT OF MY NEIGHBORS HOUSE. STREET NUMBER 19 IS SERVED WITH 400MBIT AND MY HOME, THE 20, IS NOT IN THEIR FUCKING SERVICE REGION. Even though there is a fucking cable with the cable companies name on it on my property, even leading up to my house! They still refuse to acknowledge it! FUCK YOU!!!!
Well anyways thanks for reading. Any of you got the same problems? :/2 -
!dev but tech related...
Got a device configured in a location that is fairly far away from me. It operates only through a cloud service specifically for these devices, with one of the most unreliable web interfaces and smartphone apps I have ever used.
I email my issues to the tech support who don't seem to understand the problems and can't fathom the difference between "reset settings" and "restart device".
Eventually they need to log in to my account to find out whats wrong. I explicitly state that under no circumstances should any settings be changed.
Today I find that the device has been removed from the cloud account. I physically must be near it to register it on the account again. Tech support don't seem to know what happened and the best explanation is that it is "a glitch". They have no way to add it back themselves. I have to travel to the device.
Funny how this happened after I let them access the account... -
The largest ISP in my country, a government backed service, hijacks URLs randomly and injects pop up into web browser!
Imagine if getting hijacked during an online transaction... Glad it never happened yet.
But Fuck them for doing this.7 -
Aren't you, software engineer, ashamed of being employed by Apple? How can you work for a company that lives and shit on the heads of millions of fellow developers like a giant tech leech?
Assuming you can find a sounding excuse for yourself, pretending its market's fault and not your shitty greed that lets you work for a company with incredibly malicious product, sales, marketing and support policies, how can you not feel your coders-pride being melted under BILLIONS of complains for whatever shitty product you have delivered for them?
Be it a web service that runs on 1980 servers with still the same stack (cough cough itunesconnect, membercenter, bug tracker, etc etc etc etc) incompatible with vast majority of modern browsers around (google at least sticks a "beta" close to it for a few years, it could work for a few decades for you);
be it your historical incapacity to build web UI;
be it the complete lack of any resemblance of valid documentation and lets not even mention manuals (oh you say that the "status" variable is "the status of the object"? no shit sherlock, thank you and no, a wwdc video is not a manual, i don't wanna hear 3 hours of bullshit to know that stupid workaround to a stupid uikit api you designed) for any API you have developed;
be it the predatory tactics on smaller companies (yeah its capitalism baby, whatever) and bending 90 degrees with giants like Amazon;
be it the closeness (christ, even your bugtracker is closed and we had to come up with openradar to share problems that you would anyway ignore for decades);
be it a desktop ui api that is so old and unmaintained and so shitty, but so shitty, that you made that cancer of electron a de facto standard for mainstream software on macos;
be it a IDE that i am disgusted to even name, xcrap, that has literally millions of complains for the same millions of issues you dont even care to answer to or even less try to justify;
be it that you dont disclose your long term plans and then pretend us to production-test and workaround-fix your shitty non-production ready useless new OS features;
be it that a nervous breakdown on a stupid little guy on the other side of the planet that happens to have paid to you dozens of thousands of euros (in mandatory licences and hardware) to actually let you take an indecent cut out of his revenues cos there is no other choice in a monopoly regime, matter zero to you;
Assuming all of these and much more:
How can you sleep at night with all the screams of the devs you are exploiting whispering in you mind? Are all the money your earn worth?
** As someone already told you elsewhere, HAVE SOME FUCKING PRIDE, shitty people AND WRITE THE FUCKING DOCS AND FIX THE FUCKING BUGS you lazy motherfuckers, your are paid more than 99.99% of people on earth, move your fucking greasy little fingers on that fucking keyboard. **
PT2: why the fuck did you remove the ESC key from your shitty keyboards you fuckshits? is it cos autocomplete is slower than me searching the correct name of a function on stackoverflow and hence ESC key is useless? at least your hardware colleagues had the decency of admitting their error and rolling back some of the uncountable "questionable "hardware design choices (cough cough ...magic mouse... cough golden charging cables not compatible with your own devices.. cough )?12 -
Proudest bug squash experience?
Fixed a N+1 pattern bug on our web site. Wasn't a deeply technical problem, but I was proud to shove the fix up the arse of the developer who blamed me (and even got a VP involved) for the web site crashes (the N+1 involved his code calling a service I wrote) and none of the half-dozen other devs found it.
I really wanted to make a t-shirt with his initial 'blame' email outlining all the 'technical problems' with my service, and the fix was literally moving the service call outside 5 (yes 5) level deep for..each loops.2 -
Okay so my brother in law has a laptop that is... To put it mildly, chockful of viruses of all sort, as it's an old machine still running w7 while still being online and an av about 7 years out of date.
So my bro in law (let's just call him my bro) asked me to install an adblock.
As I launched chrome and went to install it, how ever, the addon page said something like "Cannot install, chrome is managed by your company" - wtf?
Also, the out of date AV couldn't even be updated as its main service just wouldn't start.
Okay, something fishy going on... Uninstalled the old av, downloaded malware bytes and went to scan the whole pc.
Before I went to bed, it'd already found >150 detections. Though as the computer is so old, the progress was slow.
Thinking it would have enough time over night, I went to bed... Only to find out the next morning... It BSoD'd over night, and so none of the finds were removed.
Uuugh! Okay, so... Scanning out of a live booted linux it is I thought! Little did I know how much it'd infuriate me!
Looking through google, I found several live rescue images from popular AV brands. But:
1 - Kaspersky Sys Rescue -- Doesn't even support non-EFI systems
2 - Eset SysRescue -- Doesn't mount the system drive, terminal emulator is X64 while the CPU of the laptop is X86 meaning I cannot run that. Doesn't provide any info on username and passwords, had to dig around the image from the laptop I used to burn it to the USB drive to find the user was, in fact, called eset and had an empty password. Root had pass set but not in the image shadow file, so no idea really. Couldn't sudo as the eset user, except for the terminal emulator, which crashes thanks to the architecture mismatch.
3 - avast - live usb / cd cannot be downloaded from web, has to be installed through avast, which I really didn't want to install on my laptop just to make a rescue flash drive
4 - comodo - didn't even boot due to architecture mismatch
Fuck it! Sick and tired of this, I'm downloading Debian with XFCE. Switched to a tty1 after kernel loads, killed lightdm and Xserver to minimize usb drive reads, downloaded clamav (which got stuck on man-db update. After 20 minutes... I just killed it from a second tty, and the install finished successfully)
A definitions update, short manual skimover, and finally, got scanning!
Only... It's taking forever and not printing anything. Stracing the clamscan command showed it was... Loading the virus definitions lol... Okay, it's doing its thing, I can finally go have dinner
Man I didn't know x86 support got so weak in the couple years I haven't used Linux on a laptop lol.9 -
Ok, so we have the Spotify Agile Model now (tribes, squads, chapters, etc). I have seen it implemented in a few large companies, and they seem to be doing ok.
It's just... doesn't anyone worry about the product that came out of this great way of working?
Spotify is great as a service, but it has to have one of the worst usability/success ratios of any modern mobile / web app. You can almost feel the various squads doing their own thing, not thinking about the whole experience.
Doesn't the product count when considering using someone's way of working? Is the Spotify Agile Model the project management equivalent of Twitter's Bootstrap?5 -
I just officially graduated from a web dev program and it feels...
Very underwhelming.
Learned ES6, React, Webpack, service workers, offline databases, accessibility, (...bla bla bla)
And my knowledge with data structures and algorithms isn't even that great yet.
I look at the stuff I still don't know and wonder if I'll ever be comfortable with my level of expertise.13 -
Going back home for the holidays means becoming tech support for pretty much the whole family, unluckly.
As soon as I enter my grandparent's home, my grandpa says "Could you print some emails?". I open his laptop, and I start sweating as soon as I see the Windows XP logo popping up. He (obviously) doesn't remember his password, and the only way to access his (mostly defunct) web mail service is Outlook 2003. For some reason, the web mail provider's POP3 server dies, and i spend half an hour trying to explain it. I ended up leaving with him saying "Why are you even going to a computer engineering university."
Ah, family.1 -
So for those of you keeping track, I've become a bit of a data munger of late, something that is both interesting and somewhat frustrating.
I work with a variety of enterprise data sources. Those of you who have done enterprise work will know what I mean. Forget lovely Web APIs with proper authentication and JSON fed by well-known open source libraries. No, I've got the output from an AS/400 to deal with (For the youngsters amongst you, AS/400 is a 1980s IBM mainframe-ish operating system that oriiganlly ran on 48-bit computers). I've got EDIFACT to deal with (for the youngsters amongst you: EDIFACT is the 1980s precursor to XML. It's all cryptic codes, + delimited fields and ' delimited lines) and I've got legacy databases to massage into newer formats, all for what is laughably called my "data warehouse".
But of course, the one system that actually gives me serious problems is the most modern one. It's web-based, on internal servers. It's got all the late-naughties buzzowrds in web development, such as AJAX and JQuery. And it now has a "Web Service" interface at the request of the bosses, that I have to use.
The programmers of this system have based it on that very well-known database: Intersystems Caché. This is an Object Database, and doesn't have an SQL driver by default, so I'm basically required to use this "Web Service".
Let's put aside the poor security. I basically pass a hard-coded human readable string as password in a password field in the GET parameters. This is a step up from no security, to be fair, though not much.
It's the fact that the thing lies. All the files it spits out start with that fateful string: '<?xml version="1.0" encoding="ISO-8859-1"?>' and it lies.
It's all UTF-8, which has made some of my parsers choke, when they're expecting latin-1.
But no, the real lie is the fact that IT IS NOT WELL-FORMED XML. Let alone Valid.
THERE IS NO ROOT ELEMENT!
So now, I have to waste my time writing a proxy for this "web service" that rewrites the XML encoding string on these files, and adds a root element, just so I can spit it at an XML parser. This means added infrastructure for my data munging, and more potential bugs introduced or points of failure.
Let's just say that the developers of this system don't really cope with people wanting to integrate with them. It's amazing that they manage to integrate with third parties at all...2 -
When you were clever and improved the data quality of the address database by using your companies web service in a batch job for 10M records just to find out that each call costs 10 cents...5
-
Just found this today in the Terms for a VPN provider...
hide.me uses Google Analytics to analyze in aggregate information about our website visitors. When your web browser loads a page on our site, a small snippet of javascript code is executed within your browser which submits information about the device from which you are connecting such as your browser user-agent, language, screen resolution, referring website, etc. to the Google Analytics service. To enhance your anonymity, hide.me have opted to only allow Google to collect only a portion of the IP address. Google Analytics may also store a web cookie to facilitate the identification of users who revisit the site. If users are concerned with being tracked by Google analytics scripts on hide.me or any other site running Google analytics, we recommend installing a browser add-on which allows you to opt out.
source: https://hide.me/en/legal
ARE YOU FUCKING JOKING?!? GO BOIL WHAT SMALL MAN JUNK YOU HAVE AND EAT IT.2 -
I actually only started programming a little less than two years ago. I entered my freshman year of college as a mathematics major, but as time went on I ended up enjoying coding in C++ much more than trying to work out partial equations.
I have since become fascinated with many aspects of computer science, mainly web development and systems programming (I discovered Linux and the command line only a year ago and I'm practically in love). I've since been working for a couple fairly new startups with duties from developing a mobile native app in AngularJS/Ionic to migrating content to new servers and developing custom themes on WordPress. I have deep, deep aspirations of eventually being employed by Google as a Senior Software Dev (although I'd definitely prefer working for a company that would allow 100% remote work 😁). I've even finally began developing my own projects, ranging from a URL shortening service to a basic online encyclopedia.
I wanna spend the rest of my life doing this shit. Hell, I hope I die at my computer.1 -
Well it's been a while I suppose. Sorry I haven't been around for over a month guys. That's what happens when you're a full-time student with a full-time job.
Unfortunately, or fortunately depending on how you look at it, I need some advice/help. I've been working on a senior thesis project that I'm trying to deploy but I'm going crazy trying to figure out how to do it. It's a Spring Boot Java application built as a micro service. I've tried for the past 5 days to get this sucker working on Cloud Foundry with no luck. I've got a deadline to get this fucking thing live in 2 weeks and I'm getting closer to being in a panic. My question basically is, would it be easier to learn a different service/build my own solution from scratch then trying to fuck around with this? I'd appreciate anyone's advice who's had more experience with deploying Java web applications.
Here's a link to the project if anyone's interested: https://github.com/starrynights89/...21 -
-Rant-
How do you (not) secure your Rest based web service?
1. Chain it to shady organic authentication system built by a hoard of monkeys high on Tequila.
2. have secret keys that get copy pasted into config flat files, and index them on your code search engine.
3. make the onboarding extremely platform specific that you need 500 environment variables, 50 scripts, 5 fancy device presses and a tap dance to make a GET call to the service.
4. fish through 500 rotating log files that the authentication system generates for each API call made.
5. Leave traces all over the host so if you have to start over, you should sudo rm -rf / and set fire to your computer. -
Just upgraded my internet service from a WISP, that could only get 1mb down and 1 up on a good day with lots of packet loss, (hack job company no improving infrastructure) ... for reference in live out in woods in northern Michigan.. sooo there arnt many options... DSL, don’t cross the river to me, neither does cable or fiber. Cell signal doesn’t work either as you can see.
So I had to try out satellite... went with viasat... got put on viasat-2 and holy shit first time in 4 years since living here have I been able to stream, and download and upload to my servers without having to take a nap. But the experience of dealing with what I did for 4 years definitely caused me to be more creative in what I do, and how I process data, and transmit data. Definitely an experience that taught me lot and gave me a lot of knowledge.
But now I’m in what I will consider “phase 2” there will be faster internet to come... Ariel fiber is being ran by the power company... but they are min 2 years out.. and Elon’s sats will also be next sooo good times to come..
Yeah yeah I know the ping rate sucks.. but guess what... I don’t play games so I don’t care... and as far as voip or web conferencing goes yeah there’s a slight delay/lag.. but I just tell them.. when you call me or conference with me pretend I’m not on earth.. boom the latency is explained then hahah.1 -
On the one hand I really wish there was a good open-source self-hosted file sharing and collaboration service which made use of modern web technologies to provide most of its features inline as well and not just through APIs consumed by client applications.
On the other hand, I tried writing a WebDAV server once, and I fully empathize with the people who have to deal with this madness. -
I received a few XSD schemas from service provider, this have literally: Table1, Table2, etc... Table21. and without any documentation.
Should I insult provider devs on email?10 -
"Our Data Service comes PRE-P0WN'D"
Those SHIT-FOR-BRAINS data service providers GLOAT that their data can be natively integrated into most BI platforms, no code required.
How? Because they will EXPOSE THE ENTIRE FUCKING THING ON THE INTERNET.
LITERALLY.
UNAUTHENTICATED URL WITH THE ENTIRE DATASET.
STATIC. WON'T EVER FUCKING CHANGE.
NO VPN REQUIRED. NO AUTHENTICATION HEADERS. NO IN-TRANSIT ENCRYPTION.
"It is safe! No one will know the secret token that is a parameter in the url"
BLOODY BYTE BUTTS, BATMAN! IT IS A FUCKING UNAUTHENTICATED URL THAT DOES NOT REQUIRES RENEWAL NOR A VPN, IT WILL LEAK EVENTUALLY!
That is the single fucking worst SELF-P0WN I have ever seen.
Now I know why there are fucking toddlers "hacking" large scale databases all over the globe.
Because there are plenty of data service providers that are FUCKING N00BS.4 -
Any recommendations for a decent free web host service?
I'm using plain html with no databases.
My current host seems to be having issues with ftp.8 -
I'm still studying computer science/programming, I still have one year to do in order to graduate (Master). I am in a work study program so I'm working for a company half of the time, and I'm studying the other half. It is important to mention that I am the only web developer of the company
When I arrived in the company 9 months ago, I was given a Vue project which had been developed by a trainee a few weeks before my arrival and I was asked to correct a few things, it was mostly about css. Then, I was ask to add a few functionalities, nothing really hard to code, and we were supposed to test the solution in a staging environment, and if everything was ok, deploy it to prod.
However, the more I did what I was asked, the more functionalities I had to implement, until I reached a point where I had to modify the API, create new routes, etc. I'm not complaining about that, that's my job and I like it. But the solution was supposed to be ready when I arrived, it was also supposed to be tested and deployed.
The problem is, the person emitting these demands (let's call him guy X) is not from the IT service, it's a future user of the website in the admin side. The demands kept going and going and going because, according to him, the solution was not in a good enough state to be deployed, it missed too many (un)necessary features. It kept going for a few months.
The best is yet to come though : guy X was obviously a superior, and HIS superior started putting pressure on me through mails, saying the app was already supposed to be in production and he was implying that I wasn't working fast enough. Luckily, my IT supervisor was aware of what was going on and knew I obviously wasn't to blame.
In the end, the solution was eagerly deployed in production, didn't go through the staging environment and was opened to the users. Now, guy X receives complaints because none of what I did was tested (it was by me, but I wasn't going to test every single little thing because I didn't have time). Some users couldn't connect or use this or that feature and I am literally drowning in mails, all from guy X, asking me to correct things because users are blocked and it's time consuming for him to do some of the things the website was doing manually.
We are here now just because things have been done in a rush, I'm still working on it and trying to fix prod problems and it's pissing me off because we HAVE a staging environment that was supposed to prevent me from working against the clock.
On a final note, what's funny is that the code I'm modifying, the pre-existing one needs to be refactored because bits and pieces are repeated sometimes 5 times where it should have been externalized and imported from another file. But I don't know when and if I will ever be able to do that.
I could have given more context but it's 4am and I'm kinda tired, sorry if I'm not clear or anything. That's my first rant -
//rant
So i ordered myself a web server and am trying to get access to phpmyadmin.
I got generated username and password for the phpmyadmin login.
So i created mysql databases and database users, outside the interface, but that's fucking it, i need to create tables as well, can't do that without the interface, cuz NO ACCESS!
Fucking piece of shit service provider, they had one thing to do and they can't even fucking do it right. How dare they call themselves web hosts at all...
It's probably a badly configured config file but i can't access the file myself to start sorting this shit out, so i got to wait at least 12 hours till work hours to be able to contact with them and sort this shit out.1 -
So we were making android application for our college festival.. we decided to use Firebase as our primary service for "everything". Decided to use Firestore as database as it wouldn't require much web API call, and mainly as it had a free plan.
We thought that we would never hit the limits of free plan... Needless to say, we started hitting the daily limits about a week before the fest. And it became more of an issue a few days before the fest when we started to hit the limits within 4 hours of the day!!!
But we were lucky enough that the app sustained on the day of festival, lucky enough!!1 -
Oh, my worst dev experience.
First of all everyone know it, people who ask you to repair there computer 🤦♂️
Or people who say: "Hey Windows Media player is not working now. Fix it"
But the best moment and worst too is a moment where I present my new website and a friend start to refresh the site with F5 on his browser. I ask him why he do it and he answere "Yeah, you will be rich when I do it"
I don't get it. Why rich? So I ask him and he answere that websites are paid by web request an "clicks" "views" counter.
That was the stupidest thing I ever hear. Okay when I would show ads than maybe it's "true" but without them🤦♂️
But that's not the end after I explained him that it's not so he fucked me up that I would be very stupid because I don't register on a service which pay you for it. I explained him that the only service could be an ad service but no he don't understand it and try to discuss with me that a service like this exist. I ask for a link to the service and he could not answer.
For me it was the worst experience because for me it was the most stupidest thing ever and he try to discuss with me and really we discuss 1 hour about it🤦♂️🤦♂️🤦♂️1 -
It was the last year of high school.
We had to submit our final CS homework, so it gets reviewed by someone from the ministry of education and grade it. (think of it as GPA or whatever that is in your country).
Now being me, I really didn’t do much during the whole year, All I did was learning more about C#, more about SQL, and learn from the OGs like thenewboston, derek banas, and of course kudvenkat. (Plus more)
The homework was a C# webform website of whatever theme you like (mostly a web store) that uses MS Access as DB and a C# web service in SOAP. (Don’t ask.)
Part 1/2:
Months have passed, and only had 2 days left to deadline, with nothing on my hand but website sketches, sample projects for ideas, and table schematics.
I went ahead and started to work on it, for 48 hours STRAIGHT.
No breaks, barely ate, family visited and I barely noticed, I was just disconnected from reality.
48 hours passed and finished the project, I was quite satisfied with my it, I followed the right standards from encrypting passwords to verifying emails to implementing SQL queries without the risk of SQL injection, while everyone else followed foot as the teacher taught with plain text passwords and… do I need to continue? You know what I mean here.
Anyway, I went ahead and was like, Ok, lets do one last test run, And proceeded into deleting an Item from my webstore (it was something similar to shopify).
I refreshed. Nothing. Blank page. Just nothing. Nothing is working, at all.
Went ahead to debug almost everywhere, nothing, I’ve gone mad, like REALLY mad and almost lose it, then an hour later of failed debugging attempts I decided to rewrite the whole project from scratch from rebuilding the db, to rewriting the client/backend code and ui, and whatever works just go with it.
Then I noticed a loop block that was going infinite.
NEVER WAIT FOR A DATABASE TO HAVE MINIMUM NUMBER OF ROWS, ALWAYS ASSUME THAT IT HAS NO VALUES. (and if your CPU is 100%, its an infinite loop, a hard lesson learned)
The issue was that I requested 4 or more items from a table, and if it was less it would just loop.
So I went ahead, fixed that and went to sleep.
Part 2/2:
The day has come, the guy from the ministry came in and started reviewing each one of the students homeworks, and of course, some of the projects crashed last minute and straight up stopped working, it's like watching people burning alive.
My turn was up, he came and sat next to me and was like:
Him: Alright make me an account with an email of asd@123.com with a password 123456
Me: … that won't work, got a real email?
Him: What do you mean?
Me: I implemented an email verification system.
Him: … ok … just show me the website.
Me: Alright as you can see here first of all I used mailgun service on a .tk domain in order to send verification emails you know like every single website does, encrypted passwords etc… As you can see this website allows you to sign up as a customer or as a merc…
Him: Good job.
He stood up and moved on.
YOU MOTHERFUCKER.
I WENT THROUGH HELL IN THE PAST 48 HOURS.
AND YOU JUST SAT THERE FOR A MINUTE AND GAVE UP ON REVIEWING MY ENTIRE MASTERPIECE? GO SWIM IN A POOL FULL OF BURNING OIL YOU COUNTLESS PIECE OF SHIT
I got 100/100 in the end, and I kinda feel like shit for going thought all that trouble for just one minute of project review, but hey at least it helped me practice common standards.2 -
As a new freelancer I didn't have much clients , so I paired with a web designer +10 years exp. who work with me as a pm and that was a bad decision.
Although I am a back-end dev , half of the projects were frontend/WordPress theme (less price than back-end projecrs) - so 30% of the projects were cancelled .
sometimes I receive project's which have requirement, like magento, I don't know anything about ,
I tried to push myself but I burned out after six month.
he deals with clients, partner with other companies ,and I don't know anything about the terms.
at the end I was like an employee without any benefits from his company .
moreover I get my money after 45 day!!!
and not all my money .
this is a project I work for another company through him
A requirement for mobile back-end server was integrating with parse and that was my first time working with Facebook parse so ....
after two weeks ..
we received email from parse that they'll shutdown their service after a year .
so we moved to Amazon sns again my first time working with aws .
at the end I can't charge for extra money but my pm became a gold partner for that company .
the only thing that made me hold is that I need some high quality projects for my c.v.
-----------
he didn't show on hangout because I need my money .
this will be my last project with him.
wow I write too much ... I feel better now .😥1 -
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 -
So i was working on an android app that communicate with restfull web service. I setup everything , started the web service api at localhost and launched the app on genymotion (virtual machine android) .Nothing seems to work . I checked the code , debugged some stuff and it turns out i couldn't communicate with the api server. I tested the api on my browser and nothing is wrong ,I tried to test on the phone vm browser and voila 404 not found . How the hell it's working on my windows and not on the vm (with localhost url :/ ) .I kept debugging for more then 3 hours with no solution to be found .
The moment I realised wtf I'm doing and how stupid I was => shut down my laptop went to coffee shop and bought a lifeless dark espresso .
In case you didn't understand what the issue is, I was running the api on my windows localhost and testing it with same url on my android vm (I should've changed localhost with my machine IP )1 -
Previous company turned from Web Dev E-Mail Marketing into a Service company with more than 50% phone support so I left.
New company, Product focused on web and mobile. 2 months in: Well yeah guys, new strategy. We'll stop feature dev on the web and go into maintenance mode.
That's just great. Thank you very much.
Now I'm too lazy to go through hiring again and just feed my inner rage.
It's hard to keep it in sometimes =__= -
GOD why am I CONTINUALLY RESUBSCRIBED to garbo random newsletters!
we need to start a new internet altogether
and I know what's happening, these idiotic "tech influencers" pay some shady service to "bOosT YoUr FoLloWiNg bY 100X!!!" and they're blatantly just breaking the law, breaking GDPR, etc. etc., its bots all the way down, cant wait for clowns with 2 braincells to use a chatGPT integration with the web, content will just get SO much better fuck10 -
Stakeholder: Users are unable to buy tickets on the website. IT says Azure’s health check is showing an unhealthy status.
[It’s Sunday. Web Engineering is not on call so no one sees this right away.]
Stakeholder: IT restarted the Azure website twice, but users still can’t place orders.
Me: There was never an issue with the Azure site. That health check is inaccurate. There is a rewrite rule that sends the Azure supplied domain to our custom domain. The Azure health check doesn’t like that so it returns an unhealthy status. The problem is the ticketing server that the website has to communicate with. The ticketing server is overwhelmed and can’t handle more requests. IT should have checked the ticketing server’s logs. This has happened before and it’s never been an Azure issue. It’s a ticketing server issue.
Stakeholder and IT: Oops 😅
—-
JFC. Stop trying to make this web engineering’s problem. Stop trying to make it look like engineering dropped the ball. The ticketing server has experienced this issue multiple times. The ticketing server is maintained by a different team. The website’s symptoms are always the same and there are steps you need to take before you make the decision to restart the website, which will cause the website to show a blue screen of death that says 503 service unavailable for a few minutes. And we have a switch to shut off all transactions. Why do you not want to use it when it’s clear the website can’t process transactions???3 -
Working for one of our oldest customer, in some serious old, ugly and outdated code(web service).
The dev db doesn't contain any relevant data.
The QA service points to production, so can't use it for any tests.
My contact, at the customer, is going on vacation tomorrow.
Their pm is going on vacation next Friday.
No time for refactoring, db data updates or otherwise do important and much needed updates.
They want it to be done yesterday.
FML. -
YAAAY,
finished my first small project today!
It was the final project of my semester in coding and because coding isn't the main focus of my studies there's not much expected from us - new Date, sorting a list and using local storage were among the more 'complicated' things we learned...
So most of my mates just develop/design a small portfolio website or something but my team (2 others and me) wanted to do a little more so we built a progressive web app, complete with service worker for offline functionality and so on, that can take pictures using your camera, save them to IndexedDB, display only the images the currently logged in user actually took and much more... and today is the day all bugs (that we found...) are finally ironed out!
Now I know that still is just the very beginning but now I want to learn mooooore!
Am happy, had to rant. :D1 -
Hackathon sponsored by Microsoft and there you are with your dumb team implementing features with Amazon Web service...
I wish you good luck. 👍1 -
Integrating Google recaptcha into my web service. For some reason it always errors, both on a production and development environment, correct domains configured, and with he simplest setup. I'm fucking lost, documentation assumes it actually works. Similar errors on stack overflow and Google groups either got no answers or have obvious issues.
Fuck this man4 -
Managment decided to rewrite one of ours web service(that is currently written in java by interns) in delphi.5
-
soo after finishing 1 year of my 2 yr CS program, i moved back to my hometown so my partner wouldn't have to keep commuting for her career. couldnt get a cs job here with no experience and only 1 yr of school and like basically no portfolio to show for myself, i took a customer service job in a tech company with a lot of support for career pathing.
end goals are to end up working for their software dev team, mid goal is to switch into their web dev team from customer service since the career pathing is WAY easier from customer service to web dev, then web dev to sw dev rather than customer service straight to sw dev
so in the meantime i need to be practicing and building my portfolio but FUCK i have NO motivation and with coronavirus fucking up my life and everybody elses all i wanna do at the end of the workday and on weekends is melt into my bed in a semi-comatose state
i woke up early today to get some work done on my portfolio but all im doing is watching grey's anatomy and playing mobile games
i used to feel so motivated and excited to code but the excitement is gone and now even doing stuff for myself is a lot more like work than play
just need to rant it out rn4 -
!rant
May I suggest an email service?
I saw this post recommending the Vivaldi browser (https://devrant.com/rants/1544070/...) and there was a discussion a few days ago about how email providers snoop around and sell data. I can't find it anymore, but noone mentioned protonmail.ch there.
I just wanted to share my so far positive experience with protonmail. It's a fully encrypted email service that was first used internally by some Swiss academics. Now they made a product out of it with paid subscriptions and a basic, free account. They already open-sourced the front-end web client and are planning to do the same for the back-end in the future, which is really cool. Oh and they have really nice email clients for iOS and Android, which have higher ratings than gmail itself in the Play Store. But that might also be because only a special audience uses protonmail and not the regular guys.
So, I suggest that you register an account there even if you don't want to use it right now. The free account comes with 1 email address and storage limitations. But it's usable and ad-free. Since it's still quite the new service, many email addresses are available. Just like gmail in the early days. That's why I'm suggesting you go and register even if you don't need it now.
Oh and last but not least: I'm not affiliated in any way with protonmail, except for having a paid subscription. But I believe things making the internet a better place should be promoted and devrant is definitely the community with people thinking the same way I do. Have a nice day.9 -
I remember someday from a few years ago, because i just got off the phone with a customer calling me way too early! (meaning i still was in my pyjamas)
C:"Hey NNP, why si that software not available (He refers to fail2ban on his server)
Me: "It's there" (shows him terminal output)
C: " But i cannot invoke it, there is no fail2ban command! you're lieing"
Me: "well, try that sudoers command i gave you (basically it just tails all the possible log files in /var/log ) , do you see that last part with fail2ban on it?
C: "Yeah, but there is only a file descriptor! nothing is showing! It doesnt do anything.
Me: "That's actually good, it means that fail2ban does not detect any anomalies so it does not need to log it"
C:" How can you be sure!?"
Me: "Shut up and trust me, i am ROOT"
(Fail2ban is a software service that checks log files like your webserver or SSH to detect floods or brute force attempts, you set it up by defining some "jails" that monitor the things you wish to watch out for. A sane SSH jail is to listen to incoming connection attempts and after 5 or 10 attempts you block that user's IP address on firewall level. It uses IPtables. Can be used for several other web services like webservers to detect and act upon flooding attempts. It uses the logfiles of those services to analyze them and to take the appropriate action. One those jails are defined and the service is up, you should see as little log as possible for fail2ban.)5 -
We just launched our web app service a month ago, clients pay thousands for it! of course still no raise.1
-
When the CTO/CEO of your "startup" is always AFK and it takes weeks to get anything approved by them (or even secure a meeting with them) and they have almost-exclusive access to production and the admin account for all third party services.
Want to create a new messaging channel? Too bad! What about a new repository for that cool idea you had, or that new microservice you're expected to build. Expect to be blocked for at least a week.
When they also hold themselves solely responsible for security and operations, they've built their own proprietary framework that handles all the authentication, database models and microservice communications.
Speaking of which, there's more than six microservices per developer!
Oh there's a bug or limitation in the framework? Too bad. It's a black box that nobody else in the company can touch. Good luck with the two week lead time on getting anything changed there. Oh and there's no dedicated issue tracker. Have you heard of email?
When the systems and processes in place were designed for "consistency" and "scalability" in mind you can be certain that everything is consistently broken at scale. Each microservice offers:
1. Anemic & non-idempotent CRUD APIs (Can't believe it's not a Database Table™) because the consumer should do all the work.
2. Race Conditions, because transactions are "not portable" (but not to worry, all the code is written as if it were running single threaded on a single machine).
3. Fault Intolerance, just a single failure in a chain of layered microservice calls will leave the requested operation in a partially applied and corrupted state. Ger ready for manual intervention.
4. Completely Redundant Documentation, our web documentation is automatically generated and is always of the form //[FieldName] of the [ObjectName].
5. Happy Path Support, only the intended use cases and fields work, we added a bunch of others because YouAreGoingToNeedIt™ but it won't work when you do need it. The only record of this happy path is the code itself.
Consider this, you're been building a new microservice, you've carefully followed all the unwritten highly specific technical implementation standards enforced by the CTO/CEO (that your aware of). You've decided to write some unit tests, well um.. didn't you know? There's nothing scalable and consistent about running the system locally! That's not built-in to the framework. So just use curl to test your service whilst it is deployed or connected to the development environment. Then you can open a PR and once it has been approved it will be included in the next full deployment (at least a week later).
Most new 'services' feel like the are about one to five days of writing straightforward code followed by weeks to months of integration hell, testing and blocked dependencies.
When confronted/advised about these issues the response from the CTO/CEO
varies:
(A) "yes but it's an edge case, the cloud is highly available and reliable, our software doesn't crash frequently".
(B) "yes, that's why I'm thinking about adding [idempotency] to the framework to address that when I'm not so busy" two weeks go by...
(C) "yes, but we are still doing better than all of our competitors".
(D) "oh, but you can just [highly specific sequence of undocumented steps, that probably won't work when you try it].
(E) "yes, let's setup a meeting to go through this in more detail" *doesn't show up to the meeting*.
(F) "oh, but our customers are really happy with our level of [Documentation]".
Sometimes it can feel like a bit of a cult, as all of the project managers (and some of the developers) see the CTO/CEO as a sort of 'programming god' because they are never blocked on anything they work on, they're able to bypass all the limitations and obstacles they've placed in front of the 'ordinary' developers.
There's been several instances where the CTO/CEO will suddenly make widespread changes to the codebase (to enforce some 'standard') without having to go through the same review process as everybody else, these changes will usually break something like the automatic build process or something in the dev environment and its up to the developers to pick up the pieces. I think developers find it intimidating to identify issues in the CTO/CEO's code because it's implicitly defined due to their status as the "gold standard".
It's certainly frustrating but I hope this story serves as a bit of a foil to those who wish they had a more technical CTO/CEO in their organisation. Does anybody else have a similar experience or is this situation an absolute one of a kind?2 -
Two (2) senior developers and one (1) senior tester left our team and I am left with two (2) Java legacy applications that are hard to maintain. Here is a list of things I hate about these old webapps (let's call them app A and B):
1. App A depends on 80% web services. If one web service for a product or warehouse goes down, work flow is impeded while prod support team checks with the core services team for repair
2. App B is a maven project with multiple modules dependent on libraries that are dependent on company's internal libraries. So if we want to upgrade to OpenJdk 9 and up, the project will definitely produce a lot of errors due to deprecated/unsupported codes
3. App A is dependent on Tibco and I have no experience on that
4. App B's continuous integration build tool is Jenkins and the jobs that build it has a shell script that wasn't updated during the tech upgrade enhancement. The previous developer who did the knowledge transfer to me didn't tell me about this (it should be considered a defect on her part but she already resigned)
5. App A when loaded in eclipse IDE is a pain to work with since it is only allowed to build a war file using ant. I have to lookup in quick search instead of calling shortcuts (call hierarchy) because the project wasn't compiled via eclipse.
6. It's impossible to debug app A because of #5
7. Both applications have high priority and complex enhancements and I have no other teammates to help me
8. You never know what else can go wrong anytime1 -
Why has authentication of web services to be so fucking complicated?
PAM, OpenID, LDAP, SSO...
Every fucking service supports something different and I have a hard time finding a decent tutorial on LDAP and the likes.6 -
I'm thinking of self hosting all my small web projects,
I have this old laptop running ubuntu server heedlessly I used to store and stream pirated movies, after multiple embarrassing moments with free backend/platform as a service options and not finding a cheap VPS, this seems like the way to go. I don't get much traffic on these sites i just want them to be available when i need to present them.
then there's tons of other features that are locked behind a paywall,
I once had to store images in the database because heroku wont accept file uploads and the project hadn't been paid, in short, I was dead broke9 -
So, my favourite language is Python, and for web developing I use Pyramid, and to stay in my "comfort zone" I use brython for client scripting, don't take me wrong, I love javascript, but for just a bit of performance lost I like being able to use all my pre-existing python code if I need to...
So, this was my first work experience, for a military industry, we had to make a service for uploading big files and sending them via email.
I heard one thing that shot me out of my "comfort zone" (I'll call it cf from now on)... "Use php"...
So, I already had written in php and I've always disliked it, perl-ish and broken as a bethesda game (i like bethesda games, but they are broken)
Another thing: javascript vanilla or jquery, never liked jquery either, so I decided to use vanilla js...
So, after 6 months of work, my partner and I finished it...
Well, more than one year later that mess we had to make to satisfy our boss' most absurd desires is not online yet, I search it on google every month, so yeah, 6 months of my life wasted (also, it was a "stage", so not only I didn't get any recognition, but they didn't give me any money) -
Came across this in a part of a web service I inherited from a junior we fired last year.
I am no C# expert, but I do believe there are better ways to read a byte array from a JSON string, am I right?18 -
Service status pages that poorly reflect actual service status are so annoying. Ex. GitHub is having a lot of latency issues with processing updates and like 5 people in my office noticed it while their status page still says everything is fine.
This isn't to explicitly call out GitHub since many service status pages behave like this, but it definitely shows a general weakness in these health checks. I've seen similar issues with tons of services, web hosts, etc. Monitoring is definitely hard but will hopefully keep getting better.1 -
My company is getting a new website. This involves getting new hosting.
I made the old one, and it's all just static html. I'm not that attached to it but it's an important detail.
The bosses want the switch to the new site to happen instantly, but I pointed out that with DNS propagation times etc it can't really happen that way.
So I suggested the new web guys host our old site for a few days and we change the DNS now. Then when they want to launch we don't have to wait for the DNS and they can just swap it out.
This involves dropping 10MB of html files into the web directory on the new server.
For this service they are charging us for 2 hours of their time!
I guess I'm in the wrong business... -
So today i had to visit this banks site to do updation on a document but for some reason the modal dialogue that was supposed to open was not working and i couldn't continue to next step.
On an attempt to contact customer support, i browsed the site for relevant details. As i do that, i observed this site is so shitty that it can't even properly render on Google Chrome! It was an horrific experience finding info in that site.
Finally found the customer support form and as I clicked the "submit" it didn't give any feedback whether it was processing or not. After like over a minute of uncertainty, it got redirected to a 404 page.
Frustrated, I went on to their twitter and I almost tweeted calling out their terrible web developer team.
But, my instinct told me to calm my titties and i tweeted a regular confused user tweet.
Got their attention and few hrs later i got a phone call from someone working there. He didn't sound like a customer service representative from the way he spoke. He told it was an issue with their website and had fixed it. I tried again as he was on the line but it was not working for me. And then i shared screenshot of the issue. He tested it again and said it was working for them. Still not working for me. ( Probably cache issue on my end ). Thought he would suggest to clear cache and try. But he asked me to try on another computer since it was working for him.
As i searched for a another system, i got a call from customer support guy and he said he will do the update on their end and told me to tell details. Since the info was not that sensitive in nature, I went with it.
Pretty sure the other guy i talked to was a developer.
This made me think - had i tweeted out a mean tweet calling out their shitty website it would have been probably awkward talking to him - I'd have to be mean again. It could've ruined his day, maybe he was under pressure from his pm that he had to make the phone call. He probably hates his job already managing that shitty legacy code..
I don't know - either way, I'm glad i was able to keep myself calm and not be a source of negative energy. -
To me this is one of the most interesting topics. I always dream about creating the perfect programming class (not aimed at absolute beginners though, in the end there should be some usable software artifact), because I had to teach myself at least half of the skills I need everyday.
The goal of the class, which has at least to be a semester long, is to be able to create industry-ready software projects with a distributed architecture (i.e. client-server).
The important thing is to have a central theme over the whole class. Which means you should go through the software lifecycle at least once.
Let's say the class consists of 10 Units à ~3 hours (with breaks ofc) and takes place once a week, because that is the absolute minimum time to enable the students to do their homework.
1. Project setup, explanation of the whole toolchain. Init repositories, create SSH keys for github/bitbucket, git crash course (provide a cheat sheet).
Create a hello world web app with $framework. Run the web server, let the students poke around with it. Let them push their projects to their repositories.
The remainder of the lesson is for Q&A, technical problems and so on.
Homework: Read the docs of $framework. Do some commits, just alter the HTML & CSS a bit, give them your personal touch.
For the homework, provide a $chat channel/forum/mailing list or whatever for questions where not only the the teacher should help, but also the students help each other.
2. Setup of CI/Build automation. This is one of the hardest parts for the teacher/uni because the university must provide the necessary hardware for it, which costs money. But the students faces when they see that a push to master automatically triggers a build and deploys it to the right place where they can reach it from the web is priceless.
This is one recurring point over the whole course, as there will be more software artifacts beside the web app, which need to be added to the build process. I do not want to go deeper here, whether you use Jenkins, or Travis or whatev and Ansible or Puppet or whatev for automation. You probably have some docker container set up for this, because this is a very tedious task for initial setup, probably way out of proportion. But in the end there needs to be a running web service for every student which they can reach over a personal URL. Depending on the students interest on the topic it may be also better to setup this already before the first class starts and only introduce them to all the concepts in a theory block and do some more coding in the second half.
Homework: Use $framework to extend your web app. Make it a bit more user interactive with buttons, forms or the like. As we still have no backend here, you can output to alert or something.
3. Create a minimal backend with $backendFramework. Only to have something which speaks with the frontend so you can create API calls going back and forth. Also create a DB, relational or not. Discuss DB schema/model and answer student questions.
Homework: Create a form which gets transformed into JSON and sent to the backend, backend stores the user information in the DB and should also provide a query to view the entry.
4. Introduce mobile apps. As it would probably too much to introduce them both to iOS and Android, something like React Native (or whatever the most popular platform-agnostic framework is then) may come in handy. Do the same as with the minimal web app and add the build artifacts to CI. Also talk about getting software to the app/play store (a common question) and signing apps.
Homework: Use the view API call from the backend to show the data on the mobile. Play around with the mobile project to display it in a nice way.
5. Introduction to refactoring (yes, really), if we are really talking about JS here, mention things like typescript, flow, elm, reason and everything with types which compiles to JS. Types make it so much easier to refactor growing codebases and imho everybody should use it.
Flowtype would make it probably easier to get gradually introduced in the already existing codebase (and it plays nice with react native) but I want to be abstract here, so that is just a suggestion (and 100% typed languages such as ELM or Reason have so much nicer errors).
Also discuss other helpful tools like linters, formatters.
Homework: Introduce types to all your API calls and some important functions.
6. Introduction to (unit) tests. Similar as above.
Homework: Write a unit test for your form.
(TBC)4 -
Sus!
yesterday I bought a cool domain in namecheap, I was very lucky to find short and good one for my case.
Today (at weekends!!!!) I receive a letter:
>Hello **redacted name**,
>
>We are contacting you from the Namecheap Risk Management Team regarding your '**redacted name account**' account.
>
>Unfortunately, your Namecheap account was flagged by our fraud screening system as requiring verification and was locked.
>
>Please follow the instructions below to get your account verified:
>
>- take a color photo of the credit card used for the payment at **redacted link**
>
>Please make sure all of the edges of the credit card are visible, and that we can clearly see the card holder's name, expiration, and last four digits of the card number. The screenshots or images of the card cannot be accepted for verification. >If the submission does not meet these requirements, we can either request to submit the details again or permanently suspend your account.
>
>- provide a valid phone number and the best time to call you (within normal business hours, US Pacific time).
>
>If we do not hear back from you within 24 hours, we will be forced to cancel your orders.
>
>We apologize for any inconvenience that may result from this process. This extra verification is done for your security and to ensure that orders are legitimate. This industry, unfortunately, has a high rate of fraudulent orders, and this sort of >verification helps us drastically reduce fraud and ensure our customers remain secure. Such documents are used for verification only and are not provided to third parties in any way. Account verification is a one-time procedure, after your account >is verified, you will never face this issue again.
>
>Looking forward to your reply.
>
>---------------
>Dmitriy K.
>Risk Management
> Namecheap, Inc.
what if I did not notice it in 24 hours? It is the weekend for god's sake! People usually rest until monday.
They would what, cancel order and scalpel it to super high price?!
I have some doubts if the request is trully having anti fraudulent origins.
What if I used digital visa card? How was I supposed to photo it?
And the service they provided for photoing accepts only photos from web camera. I was lucky that I bought recently web camera with high enough amount of pixel power and manual focus. What if I did not?
That's all really SUS!
The person can not notice the letter within 24 hours time frame until the morning, when it would be already too late.10 -
One day every 2 week, we got to spend the Friday just learning and trying stuff. No working on projects unless it's critical.
On these days, I feel like I learn much more than in the rest of the weeks.
Today I built (normally Python developer) a web service using Rust. -
Me: [jira comment] We have similar text for the mobile version of the site already. [includes screenshot of what site looks like now] Are you sure about this?
[radio silence for a few hours]
Me: [slack] I want to follow up.
Web Operations: What’s the issue?
Ooh k. Slack messages can have a tone.
Me: I just want to confirm we’re not repeating copy.
Web Ops: We’re not.
I complete the ticket and submit for review. The C-suite for my department reviews.
C-suite: [to web ops in JIRA comment] This looks weird. Is this right? [sends screenshot of my work because there is repeated copy, like I said there’d be]
Web Ops: [in JIRA comment] Oh, I thought X was questioning the request. X changed the wrong text.
C-suite: The website has always looked like that. You’re looking at X’s screenshot for the current website. Look at the screenshot I sent over.
Later, I complain because web ops was completely unprofessional with the comment about “questioning the request.”
C-suite: Web Ops is working hard. It’s our busy season and it’s their first time dealing with it. You know, I’m going to teach them some css and html so they can make content changes in the CMS and they’re not sending over changes so often and bothering you.
Me: [to myself] 🤨 wtf so it’s ok for web ops to treat me like dirt. And in writing. And with service that’s version controlled—JIRA emailed web ops comment to me. And lol no 😂 on teaching them how to code. That’s such bullshit. We all know you’d never allow them to edit the CMS because they’d fuck up the site. And they wouldn’t do edits anyway because it’s beneath them. And idk how this relates to web ops gross behavior.
A few days later.
Me: I was offered a job elsewhere. Here’s my two weeks notice.
C-suite: Can you push back your last day? It’s our busy season.
Me: Nope. Bye Felicia.1 -
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 -
I was once working on a grand vision of a suite of analytical tools, which later turned into a single web app, which later turned into a desktop app, which eventually turned into a command line app, which ultimately turned into a background service that writes the results of a small subset of what it was supposed to do into database tables.1
-
I've got a kinda basic networking question I can't quite figure out
How does a push notification work?
Like, on an Android app. A good example is an authenticator. Say I don't login to the service for 4 months.
Then, one day, I try to log into the web portal and it prompts me to accept the request on my authenticator app on my phone.
Immediately, there's a push notification on my phone.
Wtf.
Is there a socket open for 4 months? Does it send requests every few seconds for 4 months? I can't imagine that either of these options scale whatsoever: both horrendously waste bandwidth and server connections.
How the fuck does it work? I don't even have the first idea.7 -
Due to a service window, we were requested by customer to set up a separate instance of the same web application so they could keep working.
The separate instance was set up and all parties were informed.
Customer and project manager complain that people are still using the old instance, to which I replied I sent an email informing which instance should be used.
Their response: "You wrote to use the new instance, but you didn't write NOT to use the old one."1 -
I created an ASP.Net Web Application as my personal Web site. Tested it locally then wanted to test it in a live environment. I purchased a domain/hosting package then publish via FTP. Point it to homepage and nothing shows up. I call customer service and they say it's hosted on a Linux server but their options don't show that it is Linux based. So I had to change it to a Windows platform that it should have already been on. SMH 😣
-
I have already started the process of a side project by desiging the software, the architecture, the 3d model, ordered all the electronics of a pet 'smart' stable for my guinea pigs.
Which would automatically feed them and refill their water tanks silently but for me the point on playing around with dozens of sensors for like different water levels, water quality, hay, temperature, water quality (you get the point) ... Building a nice looking web interface or an App to control everything and get a live feed from different angles ( sounds a bit crazy altogether but it looked like a cool project )
I even started a instructable and had a github repo for sharing the source of the app/web interface and the whole micro service based server
I'm still at it and hopefully will start to build the ***ing wood and acrylic parts in the next month's but currently and for the last month's free time ist my archenemy
Keep you posted if you are interested 😀 -
I've always wanted to do something in IT Support, but I didn't know where to start. I've been helping my co-workers optimize their system and even helped retrieve photos from a tablet that had a broken screen; her service plan said along the lines of "if they weren't there they were lost," I was able to retrieve them in a matter of hours (Really guys! I'm shocked! It was just a broken touchscreen, the storage was just fine. I think I'll remember this moment).
And because my growing impopularity, I started a new business called The Webnician. The company is split into two sections, the Technician, and the Web Developer. Hence, The Web(Tech)nician. I am proud of my name choice.
Then I wanted to become a certified technician, so I did some research on how to become one and found out I need to take the CompTIA A+ 220-901 and 220-902 exam and... I couldn't be more excited!
I've always loved computers, and maybe my late father had some say into it. Nevertheless, I am excited to begin my journey, even though it took awhile to find where I needed to go. I hope you all can follow me on my journey and support my new business.
I don't have anything else to say, so I'll just leave here.1 -
German public service digitization. Websites celebrating the new "digital functionality" of the federal ID card, but if you need to prolong the actual card, you have to visit a public administration center in person, no way to prove your existing valid ID in a zoom meeting although that's de-facto standard accepted even when opening a bank account, plus they have all of my data so they should know I have a valid ID and they could just send the new one to my postal address.
So I have to appear in person at their offices, so I need an appointment, but in times of covid pandemic, appointments are rare and only offered on a day-to-day basis in my hometown, that's why I have to visit their online appointment web app at 7 a.m. in the morning to grab one of the few appointments when they are released.
Don't tempt me to write a script that squats all the other appointment slots to resell at the highest prices...
Situation reminds of the times when it was even harder to get a vaccination against covid, and the media kept reporting about the minority that refused to get vaxxed, so they didn't have to admit there wasn't enough vaccine anyway.
This rant is not about politics, it's about the failure of bureaucracy, but if it was about politics, I would just quote Rezo that it shows who had governed this state for sixteen years.
When I rant about German internet connectivity, people usually reply that the web is much better in Taipeh, Bangalore or Guadalajara, so I can still have some hope that it's not all of the world that's totally lost.
So give me some hope, folks.6 -
It's 2022 and mobile web browsers still lack basic export options.
Without root access, the bookmarks, session, history, and possibly saved pages are locked in. There is no way to create an external backup or search them using external tools such as grep.
Sure, it is possible to manually copy and paste individual bookmarks and tabs into a text file. However, obviously, that takes lots of annoying repetitive effort.
Exporting is a basic feature. One might want to clean up the bookmarks or start a new session, but have a snapshot of the previous state so anything needed in future can be retrieved from there.
Without the ability to export these things, it becomes difficult to find web resources one might need in future. Due to the abundance of new incoming Internet posts and videos, the existing ones tend to drown in the search results and become very difficult to find after some time. Or they might be taken down and one might end up spending time searching for something that does not exist anymore. It's better to find out immediately it is no longer available than a futile search.
----
Some mobile web browsers such as Chrome (to Google's credit) thankfully store saved pages as MHTML files into the common Download folder, where they can be backed up and moved elsewhere using a file manager or an external computer. However, other browsers like Kiwi browser and Samsung Internet incorrectly store saved pages into their respective locked directories inside "/data/". Without root access, those files are locked in there and can only be accessed through that one web browser for the lifespan of that one device.
For tabs, there are some services like Firefox Sync. However, in order to create a text file of the opened tabs, one needs an external computer and needs to create an account on the service. For something that is technically possible in one second directly on the phone. The service can also have outages or be discontinued. This is the danger of vendor lock-in: if something is no longer supported, it can lead to data loss.
For Chrome, there is a "remote debugging" feature on the developer tools of the desktop edition that is supposedly able to get a list of the tabs ( https://android.stackexchange.com/q... ). However, I tried it and it did not work. No connection could be established. And it should not be necessary in first place.7 -
IBM Cloud seems to be the only cloud computing platform that has a responsive website.
Admittedly I have only used GCP and AWS, I haven't touched Azure yet. Both GCP and AWS have incredibly slow web portals that take ages to load after every single click.
IBM Cloud is the only cloud service platform when I clicked a button and it loaded the next page like a normal website. It honestly felt surreal to navigate through all of their services. I have no clue why AWS and GCP are both so bad, it reflects really poorly on their services. If they can't get their own web portals to run quickly, why should I expect their services to be fast and reliable?2 -
My current side project. I’m doing a POC to upskill in functional programming. A Java/Dropwizard web service calling onto business logic written in Clojure. The bit im excited about is an HTML engine im writing in Clojure. So instead of inter-mixing raw HTML with code, my views will be written entirely in Clojure
-
my two friends and i might start an app/web development service.
the question is: how are three high school kids going to find clients that are ok with high school kids maintaining their apps & websites?8 -
Service I was needed to integrate to our system had such poor documentation and a separate pricing tier to access their APIs...
... Not having it. Used Guzzle to perform both the authentication and their search page, then made wrote a function to web scrape the result.
Job done. 😎 And yes, I have no shame to say I love PHP.2 -
I once wrote an http interceptor for which was supposed to check the internal cache for user data and only do some work with it if they were (we manually controlled what and who was in cache). There were two methods on the service cGetUser and dGetUser I of course called d which it turned out loaded the user profile from the database which would be fine if it weren't done in an interceptor .. on a web service... With a little over 25000 requests per minute.. on each node..
Tldr. I accidentally wrote a database ddos tool into our app...2 -
Jesus our security infrastructure people are stupid. They are telling us to secure a service that we don’t want accessible directly by the role “member” setup to be accessible by “member”. All because they “don’t want us changing identities in the middle of a chain of web service calls”. They are like “don’t worry, the fire wall keeps them out”.
That’s like saying “here’s the key to the bank vault, but you won’t ever get past the security guards so it’s okay that you have it.”
I swear this company is stone stupid. -
Is GoDaddy any good? I've seen that Google has opened .dev domains floodgate and I was wondering about starting my own page. Dunno which hosting service to choose and if I even should make my own website considering I'm not a Web Dev 😅19
-
Our time recording software (based on SAP) triggers a blocking synchronous web service call every single time you do *anything*. Imagine having to wait 10 seconds every time you:
- put a number in a cell
- select a row
- press anything on the screen
Oh and when you lose connection nothing is saved and you have to start again (wtf was it even sending to the server)2 -
Having a hard time finding work. Jack of all trades, master of none. Went to college for a while, but never finished a degree. Mostly self taught and can easily learn on the fly.
Can program, 3d design and model, ins and outs of unreal engine 4, web stuff, can do IT work, knows VR standards and tricks, powerful desktop and powerful laptop, plenty of uhd cameras, knows Android and ios, etc.
Where do I look? What can I apply for? Can I make money on my own? Can I provide a service? How do I sell that?
HALP 😫8 -
I have just slept for a minimum of 5 hours. It is 7:47 PM atm.
Why?
We have had a damn stressful day today.
We have had a programming test, but it really was rather an exam.
Normally, you get 30 minutes for a test and 45 minutes for an exam.
In this "test" we have had to explain what 'extends' does and name a few advantages of why one should use it.
Check.
Read 3 separate texts and write the program code on paper. It was about 1 super class and 1 sub class with a test class in Java.
Check.
Task 3: Create the UML diagram of the code from above. *internally: From above? He probably means my code since there is no other code there. *Checks time*. I have about 3 minutes left. Fuck my life.*
Draws the boxes. Put the class names in each of them. A private attribute for the super class.
Teacher: Last minute!
Draw the arrow starting starting from the sub class to the super class.
Put my name on each written paper. And mentally done for the day. Couldn't finish the last task. Task 3.
During this "test", I heard the frustrations of my classmates. Seemed like everyone was pretty much pissed.
After a short discussion with the teacher who also happens to be the physics professor of a university nearby.
[If you are reading this, I hope that something bad happens to you]
The next course was about computer systems. Remember my recent rant about DNS, dhcp, ftp, web server and samba on ubuntu?
We have had the task to do the screenshots of the consoles where you proof that you have dhcp activated on win7 machine etc. Seemed ok to me. I would have been done in 10 minutes, if I would be doing this relaxed. Now the teacher tells us to change the domain names to <surnameOfEachStudent>.edu.
I was like: That's fine.
Create a new user for the samba server. Read and write directories. Change the config.
Me: That should be easy.
Create new DNS entries in the configs.
Change the IPv6 address area to 192.168.x.100-200/24 only for the dhcp server.
Change the web server's default page. Write your own text into it.
You will have 1 hour and 30 minutes of time for it.
Dumbo -ANGRY-CLIENT-: Aye. Let us first start screenshotting the default page. Oh, it says that we should access it with the domain name. I don't have that much time. Let us be creative and fake it, legally.
Changes the title element so that it looks like it has been accessed via domain name. Deletes the url and writes the domain name without pressing Enter. Screenshot. Done. Ok, let us move to the next target.
Dhcp: Change lease time. Change IP address area. Subnet mask. Router. DNS. Broadcast. Optional domain name. Save.
Switches to win7.
ipconfig /release
ipconfig /renew
Holy shit it does not work!
After changing the configs on ubuntu for a legit 30 minutes: Maybe I should change the ip of the ubuntu virtual machine itself. *me asking my old self: why did not you do that in the first place, ass hole?!*
Same previous commands on win7 console. Does not work. Hmmm...
Where could be the problem?
Check the IP of the ubuntu server once again. Fml. Ubuntu did not save when I clicked on the save button the first time I have changed it. Click on save button 10 times to make sure it really is saved now lol.
Same old procedure on win7.
Alright. Dhcp works. Screenshot.
Checks time. 40 minutes left.
DNS:It is your turn. Checks bind9 configs. sudo nano db.reverse.edu.
sudo nano db.<mysurname>.edu.
Alright. All set. It should work now.
Ping win7 from ubuntu and vice versa. Works. Ping domain name on windows 7 vm. Does not work.
Oh, I forgot to restart the bind9 server on ubuntu.
sudo service bind stop
" " " start
Check DNS server IP on win7. It looks fine.
It still doesn't work. Fuck it. I have only 20 minutes left. Samba. Let us do this!
10 minutes in. No result. I don't remember why. I already forgot why I have done for it. It was a very stressful day.
Let us try DNS again.
Oh shit. I forgot the resolver!
sudo nano /etc/resolv.conf
The previous edits are gone. Dumb me. It says it in the comments. Why did not I care about it. Fuck it.6 minutes left. Open a yt video real quick. Changes the config file. Saves it. Restarts DNS and dhcp. Closes the terminal and opens a new one. The changes do not affect them until you reopen them. That's why.
Change to win7.
Ping works. How about nsloopup.
Does not work.
Teacher: 2 minutes left!
Fuck it.
Saves the word document with the images in it. Export as pdf. Tries to access the directories of the school samba server. Does not work. It was not my fault tho. Our school server is in general very slow. It feels like they are not maintained and left alone like this in the dust from the 90s.
Friend gets the permission to put his document on a USB and give the USB to the teacher.
Sneaky me: Hey xyz, can you give me your USB real quick?
Him: sure.
Gets bombed with "do you want to format the USB?" pop-ups 10 times. Fml. Skips in a fast way.
Transfers the pdf. Plug it out. Give it back.
After this we have had to give a presentation in politics. I am done.6 -
When you write an efficient piece of code and because the legacy database is too slow to return the data, you have to find a way to delay your processing instead of finding a way to speed up the database web service.1
-
Web service consumer: hey I need you to add new methods to this service
WSC: hey I need you to change the functionality
WSC: hey here are four new lists of fields to return from your service.
WSC: hey what are you doing the schemas are completely different now!! This has caused a lot of work for us -
Was an internal auditor translating department process to a technical spec for a programmer. We were going to leverage an external company's API which would replace our need to use their slow and buggy web app.
During a meeting, an audit teammate suggested something be changed with the external service we were using. I said we could bring it up with the company but we shouldn't rely on it because we were a small customer even during out busiest month (200 from us vs 10000+ from big banks).
Teammate said we should have our programming team fix it. I made it clear that it was not our side and that to build out the service on our side was beyond our scope. Teammate continued to bring it up during the meeting then went back to desk after meeting and emailed us all marked up screenshots of the feature.
I ignored this and finished writing up the specs, sending them over to the programmer building out the service.
30 minutes later I get a call from programmer's manager who was quite angry at an expanded scope that was impossible (engineers were king at this company. Best not to anger them). Turns out my teammate had emailed his own spec to the programmers full of impossible features that did not reference the API docs.
I feel bad about it now but I yelled at my teammate quite loudly. I said he was spending time on something that was not reasonable or possible and when they continued to talk about their feature I yelled even louder.
Didn't get fired but it definitely tagged me as an asshole until I left. Fair enough :) -
Those of you with an app or productivity web service, do you charge monthly? If so, why? I understand if it is your primary source of income, but do you have ethical or integrity reasons related to price? I've been contemplating this lately and I'd like more Dev input.5
-
Oddly enough, i have simultaneously been less busy and more productive since working 66% remotely.
I find myself with more time that feels "wasted" or not busy, but my metrics show that I have more production, better results, and far nicer documentation. A bunch of us also sat down and did a bunch of coursework on really putting together a domain script library for one click onboarding of new servers or new client setups. We spun up a bunch of new virtual environments that literally solved headaches that had existed for years that never got dealt with because of too many other tickets.
Some of our web clients freaked out at us because the business is moving away from doing maintenance of legacy web work (small to midsize businesses). But it didn't matter. Rather than respond with a "make them happy," the response was "well, we will get rid of them as clients. We need to focus our energy on the essential service sectors we support."
Hell, we even got an automated test that has been broken apparently since 2018 to work again.
Granted, the incoming workload has slowed down. But it's still interesting to me to see that despite the slowdown, there isn't any concern; its still paying the bills and we are getting rid of technical debt everywhere. Tbh, this has really been a good reality check.1 -
Working on a new release. This release was tested locally and pronounced good. The release went to the QA environment. QA responds that a new feature is doing nothing. There are no errors reported, and work is being done on the UI, but is not get getting persisted to the database so all changes are lost when the session is lost. Do some investigating. I find that a web service had the code in two of its methods commented out. Why? No idea. No response yet from the developer who just had the two methods return a boolean denoting success while all other operations were commented out.
I need an appropriate punishment for this...3 -
Spent 4 hours debugging a script. Running the commands manually in cli worked fine but not when run as a web service. I've done similar things before so I was confident it should work. I tried literary everything I was going crazy. Turns out that Atom added some garbage characters only visible in other editors.. And this was not the first time! Fml..
-
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 -
Get told a colleague finished work on a new web service thing on Friday.
So I fire up SOAP UI. Get an error due to problems with a sql statement. Look through code, issues already fixed so I build the project ct add the new dll to the app, another error, this time a column included in a select statement that doesn’t exist in the table being queried.
Colleague is on holiday, there are no comments in the code and there’s no source control.
Boss wants to know if the column needs to be added, or whether colleague added it and then decided not to use it.
I think I have an idea what it is meant to happen, but my only exposure to this project is as a 30 minute intro, and we didn’t look at any of these parts.
And sadly I left my crystal ball at home today fml -
Best debug ever?
Some years ago we had to do a web project as group. It was a cinema like website with backend and front-end.
So in the end we arrived at the presentation and while scrolling the code I found commented out some authentication controls 😅😆 (probably for debug reason lol)
Whatever, meanwhile, while I was talking with the professor two of my mates were whispering... Turns out they found what he mail service wasn't working. And what's best than fix it, push it to the Heroku server and restart all? XD
The professor noticed some little lag in a button and asked "what's happening?"
"oh, nothing we just restarted the server " -
What the actual fuck is MSDN doing? I'm struggling for a whole goddamn month to make a WCF service used for only authenticating users. MSDN has around 4 different tutorials on this, from which one has a project to download, but the fucking link is not working, another one lacks basic information about the problem, and the rest of them are just a mess of links to solutions working when you are using a ASP web page. In the end, I'll probably find a single unmentioned issue, and it will work, but seriously, why the flaming fuck would you put solutions so broken, that even when copy pasting it it doesn't work at all?
-
Hi,
Would, someone who is doing web development, like to help me code a porno service agency? I will be the main pimp who will escort my bitches to our customers who will pay for the bitch they find attractive through the system that we code so the payment will go automatically after they make a purchase. They get the bitch, i pay the bitch some fee and the rest goes to both of us as commission. Ain't none of this physical. All of the products are digital. Customers get pics or vids thats all.
Best Regards,
SukMikeHok7 -
Users complain about advertising and how it is annoying to have to see these ads just around the page while they just want to see the main content. So what do they do? They decide to use adblockers which start pushing web admins to find another method to make money. So half the time they offer the service for a lot more than normal which makes people not want to pay for it. So now I decide to push into the embedded crypto miners, which sadly cut in half my earnings but it’s so I can still make something and then people start to complain about this even though it doesn’t bother them in anyway
WHAT DO YOU PEOPLE WANT6 -
After waiting a while for another programmer on another team to provide a web service that I needed to call from a client side web form, I received word that it was ready. I could not get it to work because CORS headings were not being set correctly. After contacting them and letting them know, I got an email update to the team letting everyone know that they were waiting on me. After explaining that CORS headings were not there, I just built a PHP page to proxy the request, results and set the headers correctly so I can move on. I will remove it when they get their side fixed... if they ever do.
-
Just finished the prototype of my HTML5/Canvas implementation of a visual novel engine. The actual script exists behind the scenes on a REST like web service (to act as a sort of drm). The assets for the game and UI layouts are stored in what I call a shit file. Their is s a utility called the shitpacker that creates a shit file from a directory structure. The name of my engine is the Pyst engine. Pyst stands for Python Stub...as the game script is actually a subset of Python that I created. Eventually I will probably move Pyst to JS so I could hypothetically support offline games.
-
4 hours to a major release, decided to remove a web service from the app, instead do whatever that service was supposed to do in a DB query, as just realized that the foresaid service will be called only once to fix some data discrepancy !!!
-
So there is this big shot at work who makes out to the management that he knows it all. I'm pretty quiet normally and dont let on. The manager kiss his ass daily. He was an apprentice 6 months ago. So we all in some shitty meeting today about some based web service that uses a Linux host. Then in the meeting he asked me if Linux was free? Hahahaha haha. What a fucking idiot! I mean I get that people don't know everything but that
S a whole new level of stupid! 😅🤣😅🤣 -
Yesterday, one of the consumers of my web service complained that I had made a lot of work for him by changing the schemas for said service.
Today, I was about 20 minutes from hitting ‘commit’ and mailing him the final details for the service & declaring it done.
He comes by to ask me to put a feature back in that I took out earlier at his request. I commented it out last week and just this morning finally deleted the comments in preparation for submitting the final build -
"Download our app for some lovely additional ass licking features....."
Why tech industry love apps? also I hate these days not only mobile phones, but also computers are in progression of "applification."
Programs are only installed do some advanced things that were absurd and inappropriate to work on web browser. like video editing or programming, or file management.. etc. but in recent days, everything is fucking apps. why just not improve your web version of your service and make the shortcut from that? Weather app. youtube app. reddit app. 'tips' app by apple that is totally useless. news app. map app. so much wasteful. these kind of services are MUST be on the UPPER layer than the web browser laid on. also apps are taking much resources on local hardware and that makes my hardware too much slow.
That is not how tech works. that is not how software engineering, hardware engineering works, every single thing in technology must NOT work like that. If it does, then that is not technology, and just stack of cow shit.3 -
Things could be soo much better if I could just refactor this code to accommodate more than one web service... #soapmessages #devwoes
-
I work daily on a project, in which, rather than buy in a decent message bus a bunch of half interested, unqualified developers were tasked with hammering together an in-house solution. This monstrosity has around six layers of abstraction, separate objects per project and dynamically loading converters between the components. It's largely not unit testable, certainly not integration testable and has already wasted more money in developer time and Bugfixes than a half decent external solution would have cost.
Every time I have to change an object in one part, start the associated web/win service and do a "update service references" I die a little inside.
There are so many better ways but we'll never be able to change because "there's no time for that"
And all for some up front savings -
As mentioned in one of my comments earlier, I am learning web development. And as such would like a web hosting service that is affordable and has instant customer support.
Suggestions ?12 -
you guys ever seen a webservice returning view elements for the front end to interpret and generate views using a switch
switch(data.type)
{
case password:
// generate password field with returned value
...
}
is this really some new practice in back end / front end design ? it just frustrates me so much. web service should be returning data only. i can't maintain this code it's too much crap.2 -
A very long rant.. but I'm looking to share some experiences, maybe a different perspective.. huge changes at the company.
So my company is starting our microservices journey (we have a 359 retail websites at this moment)
First question was: What to build first?
The first thing we had to do was to decide what we wanted to build as our first microservice. We went looking for a microservice that can be used read only, consumers could easily implement without overhauling production software and is isolated from other processes.
We’ve ended up with building a catalog service as our first microservice. That catalog service provides consumers of the microservice information of our catalog and its most essential information about items in the catalog.
By starting with building the catalog service the team could focus on building the microservice without any time pressure. The initial functionalities of the catalog service were being created to replace existing functionality which were working fine.
Because we choose such an isolated functionality we were able to introduce the new catalog service into production step by step. Instead of replacing the search functionality of the webshops using a big-bang approach, we choose A/B split testing to measure our changes and gradually increase the load of the microservice.
Next step: Choosing a datastore
The search engine that was in production when we started this project was making user of Solr. Due to the use of Lucene it was performing very well as a search engine, but from engineering perspective it lacked some functionalities. It came short if you wanted to run it in a cluster environment, configuring it was hard and not user friendly and last but not least, development of Solr seemed to be grinded to a halt.
Elasticsearch started entering the scene as a competitor for Solr and brought interesting features. Still using Lucene, which we were happy with, it was build with clustering in mind and being provided out of the box. Managing Elasticsearch was easy since there are REST APIs for configuration and as a fallback there are YAML configurations available.
We decided to use Elasticsearch since it provides us the strengths and capabilities of Lucene with the added joy of easy configuration, clustering and a lively community driving the project.
Even bigger challenge? Which programming language will we use
The team responsible for developing this first microservice consists out of a group web developers. So when looking for a programming language for the microservice, we went searching for a language close to their hearts and expertise. At that time a typical web developer at least had knowledge of PHP and Javascript.
What we’ve noticed during researching various languages is that almost all actions done by the catalog service will boil down to the following paradigm:
- Execute a HTTP call to fetch some JSON
- Transform JSON to a desired output
- Respond with the transformed JSON
Actions that easily can be done in a parallel and asynchronous manner and mainly consists out of transforming JSON from the source to a desired output. The programming language used for the catalog service should hold strong qualifications for those kind of actions.
Another thing to notice is that some functionalities that will be built using the catalog service will result into a high level of concurrent requests. For example the type-ahead functionality will trigger several requests to the catalog service per usage of a user.
To us, PHP and .NET at that time weren’t sufficient enough to us for building the catalog service based on the requirements we’ve set. Eventually we’ve decided to use Node.js which is better suited for the things we are looking for as described earlier. Node.js provides a non-blocking I/O model and being event driven helps us developing a high performance microservice.
The leap to start programming Node.js is relatively small since it basically is Javascript. A language that is familiar for the developers around that time. While Node.js is displaying some new concepts it is relatively easy for a developer to start using it.
The beauty of microservices and the isolation it provides, is that you can choose the best tool for that particular microservice. Not all microservices will be developed using Node.js and Elasticsearch. All kinds of combinations might arise and this is what makes the microservices architecture so flexible.
Even when Node.js or Elasticsearch turns out to be a bad choice for the catalog service it is relatively easy to switch that choice for magic ‘X’ or component ‘Z’. By focussing on creating a solid API the components that are driving that API don’t matter that much. It should do what you ask of it and when it is lacking you just replace it.
Many more headaches to come later this year ;)3 -
!help
Does anyone know how to use certbot on a Debian stretch azure web service app to generate an SSL cert?
I've got the cert generated and Apache to serve it but it's giving me errors.
I need to bind it in azure somehow but I can't figure out how to export the cert.7 -
My most recent workaround occurred last week.
We have a demo very soon and I had to change our iOS app to use a new Web API endpoint for uploading content.
Long story short: The existing code is so awful and rigid and dependant on Core Data that I ended up having to completely bypass the service layer of the app and implement the new endpoint as a raw HTTP request. Its gonna take a long time to refactor the existing service layer. All because the new endpoint has a different content type. -
I need to run a cloud Linux vm. My need is limited to running tomcat and about 10 web services- that's it. What I would like is an easy to use Linux flavor with a nice UI.
I need to know what cloud service and what flavor of Linux. And please don't get snotty with me because I have run massive applications on Solaris, AIX and HPUX - I am over doing things in a shell.2 -
I work for a service based company. We got our hands on a really good project a few months back and were really excited to work with the client because they are solving a really good problem. So much so that they received awards and stuff too.
Turns out they are real high headed cunts who think that everyone works beneath them. They don’t respond back, don’t reply for days and when they do, they ask for a 60-70% change in previously working apps and web. They take things so lightly that we’ve been production ready for 3 weeks. They called us and asked us the reason for delay and they still haven’t provided us with production creds. Fucking asswipes. -
I have a small NUC-like machine in my home with an old external hdd connected to it. I use it to run my local gitlab, nextcloud and to test a few websites I build for the lolz.
If you too have a homelab, whether it's a single raspberry or an entire room full or racks, you know damn well that everything you have running locally as a web service keeps going until it doesn't, for whatever fucking reason. This time, it was the turn of my nextcloud.
The machine has arch linux running, I chose it since I already use it on my coding laptop and being a rolling release means I don't have to manually upgrade to a newer version, risking various fuck-ups and consequent screaming of profanity.
The downside is that arch is a bleeding-edge distro, so, despite being pretty good for what concerns security, as updates are pushed out some packages may still require legacy software to work as intended, since obviously not all developers for all packages can release simultaneously.
The problem was that php reached 8.2.x but nextcloud couldn't use anything beyond 8.1, so the highlighted solution was to download php-legacy, a package with a set of utilities which the cloud could use instead of mainline php.
Pretty easy, right? fuck my life, here we go.
I edited apache-httpd's configurations to link the new libraries, updated every reference in every virtual host that could possibly screw up the web server.
Done.
Then I went on and disabled the php-fpm mainline, creating a new systemd unit that would instead run the legacy executable and afterwards I edited nextcloud's additional configs so they use that instead.
Done, getting a bit dizzy, but I reboot everything and breathe.
At this point the migration should be complete, but wait, the server returns an error saying that the application is still trying to use php 8.2+...wait, what in the sysadmin Christ?
Back to nextcloud config, everything is set, everything else in every other fucking php-legacy and web server is fine, the old fpm service is disabled, I am confused, and why in the FUCKING FUCK is the new php-fpm unit failing to start at boot with "error 78/config - directory not found"? Hello? Am I being trolled by a shitty dual-core amazon fake NUC?
Maybe yes, cause it turns out that the unit was referencing a directory in the external hdd, which gets mounted at boot time after the unit itself starts, so nothing much, just a matter of tinkering with cron jobs, a reboot and at least this one is off my balls.
But why still isn't the server responding correctly? why? WHY?
After slamming my cock on the keyboard here and there scrolling back through all the config files I think to myself, hmmm, my gitlab is working flawlessly, well yeah, I didn't need to install the whole web stack, everything was nice and easy wrapped in a docker container...so why am I even here, why the fuck am I bothering with all this layered web-app bullshit, why don't I just run the up-to-date docker image that someone else has already set up for me, back up all the data and reupload them on the application?
Oh joy, you can't imagine, after 3...almost 4 hours of pure computer-touching the relief I had from seeing the blue web page with the "welcome to nextcloud" title.
Right now it's copying back all the files, and the external hdd is now linked to include the data folder.
Like really, everything was solved in two lines of bash.
I am still fuming, but at least I learned a valuable lesson, if you want a service up for yourself, implement it and deploy it as fucking easy straight-forward as you can, giving MAXIMUM priority to already fully-working options that are out there just waiting to be downloaded and used. I swing my scrotal sack on web-apps elegance as long as it's MY homelab in MY place.
Eat a fat dick php.
sudo pacman -Rns nextcloud
sudo systemctl disable --now php-fpm-legacy
sudo pacman -Rns php-legacy
sudo pacman -Rns $(sudo pacman -Qdtq)2 -
Question:
My application (web app & mobile app) needs to interface with a users email to read mails for further processing
Is there are library (py, js) or service that I can leverage that abstracts the access to the mail servers (IMAP, POP3, Exchange, Google API, Outlook API etc.) and provides a single interface (possibly REST API) to access the mails?
It feels redundant to implement each of the above methods of email access, as I see it being a feature in many applications out there, but I am not able to find a library or service that provides it.
Any advice or suggestions with implementing each of them is also welcomed
Thanks in advance1 -
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.
-
!rant apologies
I am a third year computer science student and I'm interested to see how professionals think I stack up against grads they have worked with straight from uni.
I have spent 15 months at a web company working on bespoke solo products on LAMP stacks. I know html, css, JavaScript and its library JQuery very well (I know JavaScript is massive to be saying I know it well)
I am reasonable at PHP and MySQL. Currently I am studying node.js and building an api that mashes up data from other APIs to build a new service. I'm also working on a C# Microsoft framework bespoke website. I know git to a reasonable level - branches, merges, rollbacks and all that jazz.
I am also studying development architectures to try and be more useful.
So if you guys came across a new grad that knew HTML, css, JavaScript, JQuery, maybe angular js, PHP, basic Linux commands, MySQL, C#, dev architectures, agile methods, node.js, git and has 15 months experience working on small to medium sized solo projects would you want to hire them?
Point to note I'll probably graduate first class (80%+) from a mid range uni.
Sorry, I know this is not the place but I like this community.5 -
An Italian provider in his webservice documentation defines a date (birthDate) as string. Why ?
I discovered the format provided is d-m-Y, my database store it as Y-m-d and my users prefer d/m/Y (as many Italians).7 -
I used to tell people i can put a google map on their website and charge for the installing the free service. Now the service is not free. Fuck Google, i used to love everything they stood for. Now i can see the corrupt greedy assholes in their true faces. Web development will never be the same.2
-
Life of a web developer: Find a bug at the end of the app, fix a bug at the end of the app, time to test the bug? Sorry service is down for the rest of the day on the page right before the bug.
-
I am creating a web api and I am stuck between using asp.net core 2.1 or nodejs' expressjs.
What is your take on this?
take this mind:
this service will also be responsible for processing transactions.7 -
Can someone recommend a good, free and easy to use service (web or windows app) for mobile apps prototype, mockups, etc. I want to create a visually rich and possibly clickable prototype for a mobile app idea before development.7
-
When I build something new for the first time.
A year ago I discovered PWA (progressive web apps), web workers and service workers, wanted to build something cool, I sat down at 10AM and started digesting every resource I could find, test, make mistakes, try again, then my eyes started to itch I looked at the clock it's already midnight ! -
Is it possible to continue file upload for android default browser without the browser being open?
I’ve been tasked by a company to make it so video and photo files can continue being uploaded from an app even when that app is closed. Slight issue is that the app is just a web viewer that goes to a web app.
I know this is convoluted but would the only way to do that be to overlay an actual upload button over the web view so that I can use androids built in service to do that and make a whole new way for the file to be uploaded to the server?
Surely there must be an easier way.14 -
Hi all.
I would like to know what kind of online service / software do you use to work on a project (web development) when you are a team of 3 or 4 devs.
I need something to let us do some brainstorming to find the idea of our future web app, then to prioritize what feature need to be develop first, by who, when, etc.
I found Taiga.io (an open source service and an alternative to Trello) recently, and it seems to be a good choice when we will be on development.. what do you think ? Do you have any dev tools to recommend ?3 -
Did an interesting experiment a few days ago, I counted the lines of code in my dissertation project. My project consists of a cloud hosted web service which allows video streaming, search and upload, as well as an iOS frontend which allows users to record their own video and upload it. The entire project spans about 2,400 lines of code. Then I looked in my work iOS project and saw a JavaScript file for manipulating form elements which spans about 2,100 lines of code. The whole project is about 100,000 lines of code and doesnt do anything special, it just calls a web API and saves/displays results mainly.
The effect of “Enterprise Architecture”1 -
So. Question: is service-oriented architecture a web/network "thing" or would it take actually be of some benefit to an installed app?
I ask because we build on a framework that, for the most part, has pretty good interfaces and is specific on how things need to be implemented in order to work. However there are (g)rumblings within sad frameworks working group that they are going to switch over to "Service-oriented Architecture" which to me just sound buzzwordy. We are an installed desktop app.5 -
so does anyone know about various social media clients that are true bots and not ones that actually register with the service but just emulate a web browser and fill in parts of the rendered dom and press buttons and shit ? i really don't want to have to write one in electron.14
-
I need a new professional email address and i was thinking of going with an encrypted email service, do you guys have any recommendations on what to use?
My only requirement is that it needs to work with desktop email clients like Thunderbird, i am too lazy to use a web browser :)11 -
Out of any service industry web dev is the only one that shorts it own market and full of lies making it impossible for any real person trying to make and honest living and everyone seems to be okay with it - no other trade does this 25 years experience haven't found a job yet in a year something's not right too many people are lying making people untrustworthy I know I'm not the only one that feels like this8
-
Question: What are 3 or 4 hard development skills I can focus on learning in the next two months or so to make me more marketable, given my lack of real development experience?
Details: I graduated college with a compsci degree, but have been doing systems/service administration since then. Aside from some small scripts for work, I don't have any post-college development experience. And even the skills I got from college aren't phenomenal because I was convinced I would be satisfied on the admin -> engineer -> architect ladder that I'm on right now.
But things have changed. My interest has dwindled in my current field, and I want to switch into a development role.
I am extremely comfortable with the Python language, but not so much with its many frameworks for frontend and web development.12 -
Recently, Apple rolled out Push Notifications for PWA websites as a beta feature on iOS 16.4 devices. And let me tell you, it's a game-changer! But, when a client asked me to implement push notifications for their iOS users via web and service worker, I knew it wouldn't be a walk in the park.
Why, you ask? Well, their backend code base was written in Plain F*cking Vanilla PHP, which felt like I had time-traveled back to the 1980s! Plus, since the ios web push feature is still in its early stages, there were hardly any resources to guide me through the process of sending push notifications to Apple WebPush API using plain php.
Despite the obstacles, I managed to successfully send notifications to Mozilla and Google Chrome users. But Safari? Not so much. The client needed the task done within 24 hours, but due to delays, it ended up taking me three days to figure out the kinks. In the end, I had to refund the client, but I'm not one to give up easily.
In fact, I've created a public GitHub repo for a Quotes App in Flutter (https://github.com/GiddyNaya/...) that can send PN to iOS users via web. I'm diving down the rabbit hole to figure out how to make it work seamlessly, and I won't stop until I've cracked the code. Wish me luck!15 -
Opinions
Hello, I’m considering building a web framework.
My ideal features would be:
Customizable authentication system(considering using a jwt lib)
Embedded DB(bolt db)
ORM( writing my own)
REST api to DB (via code generator)
Code generator(generation of models and views via cli)
GUI to db(some admin dashboard)
CORS(web service right?)
Why?
Ease of development
Fast prototyping of small-medium web services.
Fun.
My question is, do i have to many things on my platter? Should i narrow it down into less featured framework? What feature should I focus on? How should i benchmark it? Should i write tests for absolutely everything or just for exported methods? What should i take into consideration when developing ORM API, Auth API...
The language is Go
Thank you for your input10 -
TL;DR how much do I charge?
I'm freelancing for the first time; regularly, I get paid a salary.
I'm freelancing as a donation: the hours I put into this work directly translate to deductions in my tax. I don't get paid any money directly.
I'm doing some web-based enterprise software for an organization. Handling the whole process from writing responsive front-end code to setting up the server and domain for them and even managing myself. So full stack plus dev ops.
My normal salary is $31 an hour and at work I do less. I largely do maintenance for existing applications plus some very minor new systems design. I don't do any server management (different team) and I damn well didn't buy the domain names for my company. So I think it's safe to say I'm taking on a drastically larger role in this freelance gig.
My moral dilemma is the organization will basically say yes to any price - because they don't pay it, the government will (up until the point I pay 0 taxes, I suppose)
I've done some minor research on what other freelancers charge for somewhat similar things and I get pretty wildly varying results. I've seen as low as $20/hr but I really doubt the quality of such a service at that price.
I'm thinking around $50 USD an hour would be a fair price. For even further reference besides my actual salary, I will say that I am in a urban / suburban part of Florida, where developers are very hard to find locally.
Is $50 too high? Too low? This is a very complicated system with (frankly excessive) security practices and features. Before this they had a handful of excel spreadsheets in a OneDrive folder.7 -
i am feeling angry and frustrated. not sure if it's a person ,or codebase or this bloody job. i have been into the company for 8 months and i feel like someone taking a lot of load while not getting enough team support to do it or any appreciation if i do it right.
i am not a senior by designation, but i do think my manager and my seniors have got their work easy when they see my work . like for eg, if on first release, they told me that i have to update unit tests and documentation, then on every subsequent release i did them by default and mentioning that with a small tick .
but they sure as hell don't make my work easy for me. their codebase is shitty and they don't give me KT, rather expect me to read everything on my own, understand on my own and then do everything on my own, then raise a pr , then merge that pr (once reviewed) , then create a release, then update the docs and finally publish the release and send the notification to the team
well fine, as a beginner dev, i think that's a good exercise, but if not in the coding step, their intervention would be needed in other steps like reviewing merging and releasing. but for those steps they again cause unnecessary delay. my senior is so shitty guy, he will just reply to any of my message after 2-3 hours
and his pr review process is also frustrating. he will keep me on call while reviewing each and every file of my pr and then suggest changes. that's good i guess, but why tf do you need to suggest something every fucking time? if i am doing such a shitty coding that you want me to redo some approach that i thought was correct , why don't you intervene beforehand? when i was messaging you for advice and when you ignored me for 3 hours? another eg : check my comment on root's rant https://devrant.com/rants/5845126/ (am talking about my tl there but he's also similar)
the tasks they give are also very frustrating. i am an android dev by profession, my previous company was a b2c edtech app that used kotlin, java11, a proper hierarchy and other latest Android advancements.
this company's main Android product is a java sdk that other android apps uses. the java code is verbose , repetitive and with a messed up architecture. for one api, the client is able to attach a listener to some service that is 4 layers down the hierarchy , while got other api, the client provides a listener which is kept as a weak reference while internal listeners come back with the values and update this weak reference . neither my team lead nor my seniors have been able to answer about logic for seperation among various files/classes/internal classes and unnecessary division of code makes me puke.
so by now you might have an idea of my situation: ugly codebase, unavailable/ignorant codeowners (my sr and TL) and tight deadlines.
but i haven't told you about the tasks, coz they get even more shittier
- in addition to adding features/ maintaining this horrible codebase , i would sometimes get task to fix queries by client . note that we have tons of customer representatives that would easily get those stupid queries resolced if they did their job correctly
- we also have hybrid and 3rd party sdks like react, flutter etc in total 7 hybrid sdks which uses this Android library as a dependency and have a wrapper written on its public facing apis in an equally horrible code style. that i have to maintain. i did not got much time/kt to learn these techs, but once my sr. half heartedly explained the code and now every thing about those awful sdls is my responsibility. thank god they don't give me the ios and web SDK too
- the worst is the shitty user side docs. I don't know what shit is going there, but we got like 4 people in the docs team and they are supposed to maintain the documentation of sdk, client side. however they have rasied 20 tickets about 20 pages for me to add more stuff there. like what are you guys supposed to do? we create the changelog, release notes , comments in pr , comments in codebase , test cases, test scenarios, fucking working sample apps and their code bases... then why tf are we supposed to do the documentation on an html based website too?? can't you just have a basic knowledge of running the sample, reading the docs and understand what is going around? do i need to be a master of english too in addition to being a frustrated coder?
just.... fml -
Here , I am posting some questions so plzz reply in comment 😄
1. VScode or Atom
2. Flutter or Kotlin
3. Android dev or Web dev
4. Cpp or Java
5. Windows or Mac
6. Product based or Service based
7. Stack overflow or GitHub
8. Full stack or single stack
9. MEAN or MERN
10. Programmer or Devloper14 -
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 -
For 2020 I want to achieve more insight of my already running collaboration service/tool for businesses by talking more to managers, chiefs and workers.
And for a better internet community a GUI for NGINX for home servers (any PC) that could interface with purchased domains to make configuration become automatic, to make self hosted web-apps/services more accessible and streamlined. -
!rant
Got a question since I've been working with ancient web technologies for the most part.
How should you handle web request authorization in a React app + Rest API?
Should you create a custom service returning to react app what the user authenticated with a token has access to and create GUI based on that kind of single pre other components response?
Should you just create the react app with components handling the requests and render based on access granted/denied from specific requests?
Or something else altogether? The app will be huge since It's a rewrite off already existing service with 2500 entities and a lot of different access levels and object ownerships. Some pages could easily reach double digits requests if done with per object authorization so I'm not quite sure how to proceed and would prefer not to fuck it up from the get go and everyone on the team has little to no experience with seperated frontend/backend logic.4 -
I'm in the big confusion . What are these things django, flask,ruby on rails ,servlets, in python and what is the use. I know it's a web application framework but what does it do.many terms like "JSON,XML,"and what is the relationship between those term above with server side and client side application.what if I learn above stuff and what job will I get ? I heard that service side job is more pressured than product based job.and what are the service based and product based jobs ?what are the course that I need to learn to join in product based job. I have no clear vision . Can any one give a clear vision about this9
-
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 -
I'm working on broadcasting changes in a SQL Server db using web sockets, but trying to not install anything because then I'd have to get our DBAs involved...
Spent hours trying to package a little node app that broadcasts the changes as an exe using nexe, realized for the most part it just compiles node from source, and the outputted binary didn't end up running, anyway.
Then it hit me; I can just run the node exe without installing it. Now I just have to get this service broker to work... -
Ugh, fuck the SSRS web service. Spent all week trying to consume the service with PowerShell, doesn't make it any easier when there are undocumented behaviours. TypeName property has to be Type, for instance, when creating a search condition, TOTALLY contrary to the documentation.
Want to change the data source for a report you uploaded? Gl;hf! Back to it next week, think I'm close to having a working deployment script...so close. -
So a web service wasn't working, I am contacting the one that developed it.
"Have you updated your web references ?"
.... are you actually meaning that I have to change again everything in my code because you changed things without warning ?
*update*
Yes, you did. (´;д;`) why -
There is this ERP/MES integration project in which I am involved as a developer who helps a team of industry engineers in my company to write some scripts (in Quickscript .Net god forbids) to consume a SOAP based web service developed by the ERP maintainer team from another company.
I will just keep every stupid technical aspect I ve seen unspoken and highlight the naming convention used in the web service methods.
One of the web methods named "zzwswo" which only after consulting a bunch of pdf nomenclature docs that I realized it means the following:
"zz" seems to be a prefix for custom db tables in the ERP system.
"ws" is probably Web Service.
"wo" is Work Order.
I lost hours trying to figure out methods. I think this is why not everyone should be allowed to write code. -
So I have a xaml object that is designed for pagination on web pages, and the current page must be at least 1.
But the web service used for the data that go with that object starts its pagination at least at 0.
So everytime I must assure that the xaml object has 1 and the web service has 0 for the first page.
That's not hard, but that's the kind of thing that's annoying, why doing it that way -
Integration of with another web service.
The only documentation it's a Skype chat.
😝😝😝
Save the chat content as text: It's the bible of this service.
Can someone write a text on the stone for future needs?
Please help me !!!!2 -
!dev
When a process works better than expected but you were hoping that it only works as expected...
USPS (mail service) is known for being crappy. I couldn't submit a temp address change via web bc I couldn't type my apartment unit # into their web form but a mail hold request where u manually just enter any address worked.
So I was at my parents for a month, just got back yesterday.
I put in a mail hold n before I left my apt, but expired on like Wednesday.
So when I got back Saturday, I expected a huge mail dump but I couldn't find any mail...
However last week I went to the local office and put in a Temp change of address bc there was a chance I'd go just to get the mail but not stay for other reasons...
Got confirm letter that it would be effective like Saturday.
I'm thinking it won't cover the mail held during the mail hold.
Well apparently it did... So now all my mail is at my parents but I'm back in my apt... -
Want to know how to really screw the performance of your web service? Throw in some database row locks with no timeout
-
Utility libraries, because I actually get to see my life improve because I have them. Creating new projects becomes easier because I put parts I reuse somewhere else.
There was an old config file generator/manager I kept using for a while, some string conversion libraries between formats, some REST/WebRTC API wrappers, I have a web audio API I create tunes with in various projects. CI/CD scripts for laziness so I never have to know how to set anything up again. Lately the thing I'm most happy about is I turned some free text saving service into a makeshift database and it's been working well for about half a dozen projects now. Wouldn't handle large amount of users but can't beat free and easy.
I also find merit in prototypes/old projects, because I can reference random things I did in them in newer unrelated projects. Things too small to warrant their own utility library, argh! -
There I was trying to figure out how to use Spring to create a restful web service with hibernate. All the while learning more about Java as a language. After many headaches of understanding and configuring thank God I stumbled against Dropwizard.2
-
! Rant
When you have to change your desktop app because of a bug in iOS app and its fix on web service! -
I'm developing an android app that collect geolocalized data from users, give them information about the service, and added some augmented reality functions.
I need to create a web app that will be linked with the android app, showing graph about users data in a dashboard. Which JS framework you will choose to create the dashboard? -
I want to finally implement a minor pet project I spent some time designing a while ago. It's a web service based on encrypted data handling. I'm willing to get out of my comfort zone (that is .NET) and practice the use of different tech. What do you recommend for it?1
-
Hi fellow devRanters, I need some advice on how to detect web traffic coming from bad/malicious bots and block them.
I have ELK (Elastic) stack set up to capture the logs from the sites, I have already blocked the ones that are obviously bad (bad user-agent, IP addresses known for spamming etc). I know you can tell by looking at how fast/frequently they crawl the site but how would I know if I block the one that's causing the malicious and non-human traffic? I am not sure if I should block access from other countries because I think the bots are from local.
I am lost, I don't know what else I can do - I can't use rate limiting on the sites and I can't sign up for a paid service cause management wants everything with the price of peanuts.
Rant:
Someone asked why I can't just read through the logs (from several mid-large scale websites) and pick out the baddies.
*facepalm* Here's the gigabytes log files.9 -
I recently joined the team that is responsible for the maintenance and development of the ibis adapter framework (http://github.com/ibissource/iaf)
The IAF is an integration framework, with a set of pipes written in java one can compose a service written in xml by building a pipeline with the premade pipes. For data mapping and validation we use xsl and xsd files. The framework can communicate over different protocols such as HTTP(S), JMS, EMS, SMTP, FTP and more.
I will be responsible for the web interface where you can manage/debug/test your application.1 -
I used parse-server and services back when it was a web service at an internship, just loved the way it did things it did. Backend as a service was new to me as a mobile application developer. 5 years down the lane. My first go-to backend is Parse. I know firebase does XYZ things better. But I love the simplicity and openness of parse.
Community picked up parse as a self hosted open source service and its still going strong.
Just love the possibility of starting a mobile project and not having to worry about setting up a whole web service to cater to it. -
So, in a microservice or web service pattern what is most important unitary test or functional test?
-
Hi all! I want to share my site (https://tinytunes.app/ ) , which I completely created myself. Some information about how I created it:
1) I bought a domain that was freed from the previous owner (here https://mydrop.io/en/ )
2) Next, using the web archive, I restored the information of the main page - http://web.archive.org/web/...
3) website banner and logo created by myself using the service Canva
4) The theme for the site was used by Balanced Blog, but the main page of the site was created from scratch (without editing the template).
5) I added a few more pages to the site and a blog, which I am now actively filling
I would like to read the opinions of professionals: what was done wrong on the site, there may be some comments (some shortcomings, very noticeable) ...
From what I see myself: H1 headers - two instead of one (haven't figured out how to change that yet)
And the footer of the site - remove information about wordpress, add something like "2023 tinytunes.app All rights reserved. - I already figured out how to do this, I'll fix it soon)
I'm just starting to learn web programming, this site is only 3 months old. With knowledge of codes, everything is very weak for me - I study on my own from open free sources.16 -
My load balancer with docker and redis database works fine bu5 I can’t access my web service. I get a “connection refused” error message.6
-
How (generally) do offer different persistence layers for an app?
So, I have used lots of apps (sorry, I'm talking a proper software system such as a Web based service (e.g. The Open Source XMPP server 'Openfire') in which you can choose what persistence back end you want (MySql or inbuilt H2/SQL light for example).
Within your code, how do you go about achieving this? Would you delegate the persistence to a separate class, and within that class figure out what the systems settings are and use the right connection string?
I'm currently using Java, Hibernate and would like to offer back ends of MySql, H2 and Redis, but the question is more conceptual than specific.
Many thanks. -
So I a using the ssh installed with git on Windows.
I am trying to forward a port on my internal network server which is also my ssh server. I have exposed my network server on a forwarded port on my router. When I try to forward using this command I get a connection reset on my web service on my server.
ssh -nNT -p <port on router> -L 8000:192.168.0.22:8000 <sshuser@router>
I can log into ssh normally. So I am really confused. the 192.x.x.x address is the internal ip of the server. On a browser I try to connect to the 127.0.0.1:8000. It says the connection is reset. I assume it is being refused. So it tries to connect to something, but it fails.
I can connect to the web server from within the internal network via 192.168.0.22:8000. Really confused as to what is failing here.5 -
Does anyone know of a good tool or service for compressing svgs for web.
I got about 80 files I need to reduce in size
Help!7 -
Need help with selecting a proper backend and website frameworks. After trying out a couple identity verification service providers we were dissapointed with their lack of support (takes weeks to do minimal changes).
So now we are having discussions about building in-house id verification system. We already have libraries for ios/android apps (ZOOM lib for face recognition and another lib for data extraction via OCR from document picture). So what we need is a proper backend and then a decent web framework with proper ux/ui design for our web/ios/android apps.
Currently thinking what kind of backend framework should we choose? Backend's main responsibility is for each client registered from website to assign an api key and to create a database/storage where his users would authenticate via clients app and upload a picture and a video.
Also wondering what kind of framework for website apps (main web app, dashboard app where we display pending verifications, and of course verification app) to choose. Should be go for angular? -
Am thinking of hosting an e-commerce web app but also get the benefits for google apps for work.....
any idea for the reliable and affordable service??1 -
Why in the world wide web is it so hard to use JavaScript to dynamically create a custom web component element after the page has loaded!? I swear I must be missing something obvious. I know it isn't working because document.currentScript.ownerDocument is null and I use that to get the template and it works great if the elements are on the page already but it fails as soon as I try to use JS to create a new element of that component and I can't figure it out!
I could easily change the pages to be pre-rendered with data and it'd work fine but I plan on building in a service worker to cache the page skeleton and store the elements in IDB.
(This has been just a fun side project for me this week, until now it's turned into a frustrating project I spent most of my night on)1 -
After like half a year of xamarin.android app programming in C# I switched for a moment to VB.NET to write a web service. I don't want to go back now, send help :v2
-
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
-
They asked me to build a small website they will embed in a native application with some web wrapper in Android and iOS.
But also asked me to build a login web service that will return a JWT. Done.
They want to do a native code login form that opens up the web wrapper with my small website already logged in using the login web service.
I have no idea how to proceed in the backend.
At first i tried using postman with a POST request to the sessions/sign_in route and sending a form with the authenticity token and the email and password; but CSRF stopped me. I don't want to turn it off because of reasons.
Now i am wondering how to use this JWT to generate a cookie with a session inside it that they can use in the web wrapper.
Any help would be appreciated :)4 -
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 -
!rant
Someone posted a link to a 30-day-security-challenge here on devRant some time ago and I just thought well, why not try to migrate away from the big companies - I've been using OneDrive as my only cloudstorage since the time when it was called SkyDrive and I've been hosting my Emails at outlook (via Live Custom Domains, a service that does not even exist anymore) for about 8 years now. Since I've always been lazy and since exchange activesync is a great feature if you have multiple calendars and want to sync them and your contacts to several devices I never tried to switch but now I am half done with migrating my data to my own nextcloud installation and my emails to my own mail server - since I don't want to loose the exchange functionality I am also setting up Z-Push and oh boy, this thing is bitching around but my webmail is already nicely integrated into nextcloud, IMAP / SMTP is up, configured and secured (still have to mess around with spamassassin as this email adress is floating around the web for about 10 years now). The only things to do is to get Z-Push work with STARTTLS and the card/caldav backend running and then the basic setup should be done.
I am just wondering if someone could hand me over a guide on how to sign / encrypt emails (GPG?)