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 - "cached"
-
i work on a music streaming app.
bug: playlist description shows there are X songs inside. But when you go inside it says there are Y songs in the list. the list actually containing Y songs.
hack: when a user goes in, cache Y and display it outside in the description next time.
result: user sees X songs in playlist description, goes in playlist and sees Y songs. goes back to check why it said X before but now it doesnt say X anymore coz we cached Y and display that in the description from now on so the user assumes they are imagining things17 -
I befriended a much-older dev who's notoriously known for cursing in source code comments.
His best comment was F.I.S.H., which is his cursing acronym for "fucking incredible shitty hack"6 -
My school stores everyone's username and passwords (including admins) in plain text on a Windows 2007 server that they remote desktop into.8
-
My boss in our northern office literally told my colleague that he'd been refreshing the site several times every few minutes and could clearly see that we hadn't done shit.
Keep in mind that we are heavily cached with Varnish and Drupal Cache on our server, and this guy is never at the office. He was seeing our website from 3 days ago because his browser was retrieving local cache from the last time he was actually there and it was during a time where we had some broken items on the site.
The part that pisses me off most is that not only did he not know to purge his browser cache to see changes, but he thought my coworker was making up hocus-pocus technobabble to "cover for me" by telling him how to clear his cache.
This guy installed AirMail, 8 times on his Mac because he was entering SMTP settings that were literally given to him in screenshots with every step illustrated and every field of configuration available for reference, incorrectly. So yeah I can see how he would be technically capable of micro managing me. Fuck.2 -
When you spend ages trying to get your JS to work but it just won't.
Then you realise Chrome cached an old broken version...5 -
November brings .Net 5, for anyone who cares about that, and after listening to my husband watch Ignite "reveal" advertising container, and all the enterprise virtue signaling therein, I am now to the point where the only thing I can think is "Fuck you Microsoft, and Fuck .Net 5."
During a 30 minute speech, the director of the dotnet platform commits the following flagrant faux pas:
1. Introduces tons of visual studio easy buttons for shit we already do, no mention of VS code support.
2. Shows tools that anyone other than the most insular enterprise mouth-breather have been using for no less than 6 years
3. Gives absolutely no credit to the Open Source community projects backing the features he's showing
4. Shows nothing but mono-cloud integration, makes no mention of any other cloud targets for new features
5. Acts like "deploy your app the cloud from IDE" is something anyone should be doing in 2020
6. Showed an API repl that is pathetic compared to httpie when it was in alpha
7. Showed blazor loading from cache and said "Look at how instantaneous it is" (if you ignore the 5mb of cached payload it took to run the hello world demo)
8. Shows Project Tye, presenting it as a new groundbreaking xyz, fails to mention helm already exists
What's absent is what is most offensive:
- acknowledgment of community contribution
- no linux/mac tools, entirely windows-centric (which jives with my prediction of second-class citizenship for the people who contributed to .net core the most)
- cross-cloud capabilities
- bash/zsh (again with the untermensch relegation)
Fucking microsoft back to their old bullshit.24 -
I recently interviewed for a job at company where I had 20 minutes to code a solution in python (whose standard library I know nothing about) to a question, which also included googling certain finance-related APIs, with not one but two technical interviewers looking over my shoulder THE ENTIRE TIME.9
-
So, I'm using a new MacBook Air (running Sierra), and while I'm still getting used to it (especially the different Sublime hotkeys), overall it really is quite wonderful. I particularly love the magic touchpad and ease of scrolling/swiping between desktops.
However, I ran into an issue this morning that gave me pause: apparent file caching.
My webpack setup auto-compiles my project when files change, and I noticed something was causing errors -- not really surprising since I was in the middle of fixing the project last night. However, the error it displayed wasn't something I was expecting, and referenced a line I was positive I had removed several hours before calling it a night. Whatever, I was probably mistaken, so I went to remove it.
... It wasn't there.
I double checked that I was looking at the right file. Yep, src/styles/header.scss -- that's the correct file. Figuring webpack was acting up, I killed and restarted it.
Same error.
So whatever, maybe Sublime cached it. Rather unexpected, but possible, and I am on a mac now... so maybe. So, I closed the file and reopened it. The line wasn't there. I did this twice more. It STILL wasn't there. Maybe I'm going crazy...? I checked the file with cat. The line was there. I checked with vim. The line was still there.
OKAY. I've seen a lot of people with beef with Sublime, and I often defended it. but maybe they're actually right. maybe Sublime really isn't the way to go. :( So, I killed and reopened Sublime, and I checked the file again.
The line STILL ISN'T THERE.
Maybe I'm going crazy? I double, triple, quadruple checked the path. all correct.
Alright; let's try again and make sure I do it properly. I closed everything I had open in sublime (two projects), and quit. I reopened Sublime, navigated to the correct path, and reopened the file...
The offending line STILL wasn't there.
I'm angry at this point and just mash the keyboard. I save the resulting garbage, and cat the file again. No visible changes.
KAJSFLK STUPID PIECE OF <redacted>
okay, whatever. Reboots fix everything, right? So I reboot, and keep the option to re-open everything again ticked.
The terminal comes back up, along with half(?) my browsers, but Sublime doesn't. grrrrrrr.
so I cat the damn thing.
GUESS WHAT.
THE GARBAGE IS THERE.
Sublime was doing its job. BUT EVERYTHING ELSE FAILED.
(Oh Sublime, why did I ever question you? 💚)
... but seriously, what the fuck could have caused that? Was the OS caching the file for some programs, but not others? Now I'm questioning the macbook...23 -
a tale of daily frustration:
git fetch
*yup I'm up-to-date ...*
git add -p .
*hack in beautiful patch ...*
git status -bs
*correct branch, didn't forget any files ...*
git diff --cached
*yep, that is what I mean to commit ...*
git commit -m"[TKT-NUM] Meaningful commit message"
git log -p -1
*double-checking ... looks good ...*
git push remote tkt-num-etc
*for a brief moment feel accomplished ...*
*notice typo in commit message ...*
I don't have a funny image or punchline to sum this post up. But know that if you recognise this feeling, then I am your brother in git.6 -
Less rant, more mildly interesting Java trivia.
Integer i0 = 3; Integer i1 = 3;
Integer i2 = 300; Integer i3 = 300;
i0 == i1 is true as expected
i2 == i3 is actually false
Java caches -128 to 127 Integer objects for faster perf so when you're inside that range, the objects are indeed the same, but because == checks object equality, the Integer outside of the range is not cached and had to be initialized, so i2 and i3 are two different objects.
You can totally break some tests this way :)9 -
Every time someone compares Golang to Rust an angel falls, a unicorn dies and a Java developer writes another class.
Please stop doing that.8 -
When you keep getting errors even though you're sure that you fixed the problem. Then you realise Chrome still uses the cached JS, no matter how many times you press CTRL + F5. Conclusion: disable the cache in the Dev panel.
-
Long but hilarious:
I was deeply concerned about how we have a single, non-paginated call to a backend service, returning hundreds of entries, which has to be enriched with constant data fetched from our db for each entry. FOR EACH ENTRY. AND FOR EACH REQUEST.
I voiced my concerns to my PM, who called me a "rage prophet" for it.
As expected, the call took 20-something seconds to complete.
Ten minutes before the CEO comes over to have a look, another dev changes his loosely-related service, and the entire super-heavy, sprawling abyss of enrichment pipeline returns in sub-second timing!!!
CEO: guys, this is too fast. You have to slow it down a bit. It doesn't seem reliable that we're able to get all this data immediately.
PM: you see, rage prophet, it all worked out in the end
Me: #$@%$&!!!!!2 -
YESSS!!!! IT'S GREEN!!! FINALLYYYY!!!!!!!!
3 weeks ago I started building this CI pipeline. Finally, I see something GREEN!! YAYYYYYYYYYY!!!!!!!
P.S. A complete build requires 23GB of disk space, lasts 1h40m, and artifacts are too big to be cached, so everything must be shoved into a single CI job.
You've gotta love building monoliths...11 -
Well SO blocked me from asking any more questions. Which is BS because I went back and edited my questions as I was told to.
Ohh well, I figured I would just make a new account. So I logged out. Put in a new email. Filled out all the forms confirmed my email and then I see "You cannot ask questions" WTH? Appentally it cached my browser, so when I signed back up it linked my two accounts together..
Well, looks like I'm making a new email..6 -
Ordered a Raspberry pi.
Excited to work on it.
Also ordered heat sink with it so as to make it 24/7
Till now I've thought to use as a cached DNS server+VPN client [and from it I'll share the incoming college WiFi to LAN (yes my college is finally getting WiFi for us in hostels)]+mopidy server with iris client
Give some more ideas.
Also, will the RPi be aple to work 24/7 without burning up if heat sink is installed?22 -
Many years ago I was told by a senior dev that caching is one of the hardest things I'll ever come across. At the time I didn't know what he meant, but these past few days I'm starting to understand what he meant. It's not using the cache itself, it's the cache management that is hard. Determining what needs to be cached, when a cache should be invalidated, how long should something be cached etc. It's pretty insane when you start having to compare it with the requirements.1
-
Why the fuck do apps throw tantrums as soon the phone looses internet connectivity?
HBO stops steaming and closes the player as soon as wifi disconnects, discarding the buffered data.
For Quora, it replaces loaded answers with a UI asking you to reload the page. Now, what am I supposed to do in the lift? Stare awkwardly at the lift buttons?
At what point did we decided bad user experience and arbitrarily discarding cached data is the way forward?6 -
I don't understand how these people worked like this. Every time I make a change in the JS, CSS or HTML files, the entire app rebuilds with Webpack, and logs you out, so you have to log back in and navigate back to where you were working at.
Apparently they did this because clients were complaining that front end files were being cached and doesn't see any changes, so to clear the cache, every time you refresh the web app in the browser, it logs you out, effectively clearing your session.
Fuck the morons who built this piece of feces.
Ugh.4 -
Dear git,
FUCK YOUR FUCKING FUCK SHIT .GITIGNORE FILE! WHY CAN'T YOU JUST FUCKING REMOVE THE IGNORED FILES FROM THE VCS? EVEN GIT RM --CACHED --FORCE DOES NOT WORK WTF
TL;DR
"git" your shit done.
Yours sincerely
Scrumplex3 -
So I was changing some CSS, but the changes weren't showing.
Was it being cached? Nope
Was the selector wrong? Nope
Well it was the right file yeah? Yup
So after like 10min of scratching my head, restarting the server, etc it turns out I was checking prod instead of dev.
This isn't even the first time this has happened 😑
Guys just remember to keep your dev tab and your prod tab away from each other, like way away.8 -
Why the fuck do offline-enabled (music, video) apps load forever on slow network but instantaneously in airplane mode? Is it so difficult to show cached content first and refresh only once downloaded? Yes, I mean you, Spotify, Amazon Music, Amazon Video and Audible!!! 🤬1
-
Yesterday, I started a new job yesterday (yay!), and all of us new employees have gotten a laptop and a docking station.
Today, I was standing by the coffee machine, chatting with a fellow dev about different kinds of automation and efficiency techniques , when he suggested swapping-out coffee for caffeine pills, as a means to promote efficiency.
I immediately suggested we use the mouse as a docking station through which caffeine is pumped directly into the bloodstream, as a means to promote automation :)1 -
I fucking hate printers. And printers hate me too.
I've been working as a software engineer for almost seven years now, and not a single day as a printer technician, which does not stop my mother from calling me each time a printer breaks down, as she did today. I hop over to her place, the printer is connected via usb into the ethernet socket, but she swears it's been printing an hour ago, and she hasn't moved a thing. - "weird", I think, "it must be connected wirelessly". Suddenly my sister, who's an Arts major, comes over, saying her printer broke down too - "cool so they're both wifi printers". I reset the router and my sister's printer springs back to life.
But my mom's printer, which is old and in bad shape (the printer, not my mom! assholes...), doesn't. It keeps on displaying a weird error message, and fails to receive any print job, whether wired or wireless.
I spent 15 seconds resetting the router, and 15 minutes troubleshooting mom's printer. Nothing worked.
I finally give up and leave the house.
Not a minute goes by and I receive a "your sister fixed the printer" text from mom.
I fucking hate printers.5 -
Build a docker image.
Adds config file .
Build cache ignores new contents.
Hours of trying to figure the shit out.
Bash into it.
GOD DAMN DOCKER HAS CACHED THE VERY FIRST VERSION OF THE FILE.
Hours lost with headcaches and thinking about existence. Fck my life.9 -
I run update without where on mysql console on production database Today.
CLASSIC
Just because I needed to fix database after bug fix on the backend of the application.
I thought I wrote good sql statement after executing it on my local machine and then everything got bad.
Luckily it was only one column with some cached statistics data and I checked that it was not important data before I actually started fixing stuff but still ...
Almost got hard attack afterwards.
Made a script to fix this column and it took me only 15 minutes but still...
Bug was caused in part I got no unit tests and application grow after 3 years of development from simple one for one customer and volumes of documents around 50k to over 40 customers and volumes over 2mil per month, don’t know how many pages each, just in one year after we completed all needed features.
I have daily backups and logs of every api operation but still.
I think this got to far for one backend developer.
I got scared that I will loose money cause I am contractor and the only backend developer working on it.
I am so tired of this right now I think I need a break from work.
Responsibility is killing me so hard right now.
It will take a week to get back to normal.2 -
Randomly reviewing a coworker's c++ codebase revealed he was locking at the beginning of a critical section, but explicitly calling unlock for each and every error-handling branching within it. And yes, he forgot to unlock at several places.
That's just not RAIIght. -
Bower, YOU FUCKING PIECE OF CRAP PACKAGE MANAGER!
WHAT THE ACTUAL FUCK?
This asshole software is fucking with me and steals my time!
bower mapsjs-core#* cached e-tag:64e4e0850
bower mapsjs-core#* resolved e-tag:41af792c9
bower mapsjs-core#* install e-tag:41af792c9
What would you think is the installed version? WRONG! It's the fucking old cached version.
What the fuck is happening? Probably it's thinking "oh, this is the cached version, I'm looking if there is a new version for it. Yep, new version. I'll download it. But I have a cached version in the user home-directory, I better tell the that I installed the new version but take the old one."
Crap software.7 -
Please delete your browser cache.
Wtf is up with this shit?
Maybe I'm just having a streak of bad luck, but in recent days, I ran into this particular issue time and time again.
First with one of our own products - the user appearently not always was shown the newest version due to stuff being cached in the browser.
Fair enough, we had our web-dev find a solution to that, which he did. Until this is rolled out, the only resolution is to clear the browser cache.
I also ran into this same issue on multiple other fronts. For example, there's a remote connection to one of our clients I had to establish via browser. The backend was a bit unresponsive, and somehow I ended up in a situation where my login was rejected. The only solution? Clear your browser cache.
Then we have confluence and jira in the company. Same issue. All of a sudden, I could no longer log in. Worked fine in another browser.
Delete your browser cache.
Is it just that most frontend developers out there are incompetent at what they do or is this stuff broken by design? I don't recall having to clear my browser cache very frequently - in fact, I'm pretty sure I haven't done it for years on one of my PCs at home. What changed?
Ah well, maybe it was just a streak of bad luck. But still ...
/Rant7 -
I have a first date tonight, but production is smoldering and about to catch fire, and it was my doing. I get 5 people coming to my desk every minute asking when's it gonna be fixed. my supervisors think I'm enjoying this because It's delaying a feature. I'm not. I feel like crying, and it shows.3
-
So when someone rings at my door the music volume is set to zero and the previous volume is cached to restore it ten seconds later. When then this person rings another time within this 10 seconds, the zero volume is cached an the fun begins.4
-
Two words that instill fear in any database developer: Cartesian Join.
I didn’t realize what was happening until the DBA paid me a personal visit asking what I was running that had cached over a billion rows.3 -
Youtube cached 1.5GB of data on my phone. Have we all forgotten how to code? Have endless hardware resources gotten the better of us?13
-
Okay I'm doing the whole leetcode bs, interviewing with a faang like company.
I'm genuinely curious to see if their engineers are actually any good. It seems backwards to me to hire someone based on something they most likely know by heart.
It's like trying to stress test an API by calling a cached endpoint. It will look fast AF, and it will be, but it won't compute shit.
Anyway, if I get the job and the engineers aren't crappy, then I'll forever stfu about how lame this is. But if I get the job and the devs are crappy, oh boy you'll hear me for a long time.3 -
The feature was to parse a set of fairly complex xml files following a legacy schema. Problem was, the way this was done previously did not conform to the schema so it was a guideline at best, which over the course of many years snowballed into an anarchy where clients would send in whatever and it was continuously updated per case as needed. They wanted to start enforcing their new schema while phasing out the old method.
The good news is that parsing and serialization is very testable, so I rounded up what I could find of example files and got to work. Around the same time I asked our client if they had any more examples of typical cases we need to deal with, and sure enough a couple of days later I receive a zip with hundreds of files. They also point out that I should just disregard the entire old set since they decided to outright cut support for it after all if it makes things simpler. Nice.
I finish the feature in a decent amount of time. All my local tests pass, and the CD tests pass when I push my branches. Once we push to our QA env though and the integration tests run, we get a pass rate of less than 10%.
I spend a couple of days trying to figure out what's going on, and eventually narrow it down to some wires being crossed with the new vs. old xml formats. I'm at a loss. I keep trying to chip away at it until I'm left with a minimal example, and I have one of those lean-back moments where you're just "I don't get it". My tests pass locally, but in the QA environment they fail on the same files.
We're now 3 people around my workstation including the system architect, and I'm demonstrating to the others how baffling and black magic this is. I postulate that maybe something is cached in my local environment and it's not actually testing the new files. I even deleted the old ones.
"Are you sure you deleted the right files?"
"Duh of course -- but let me check..."1 -
PSA Cloudflare had a bug in there system where they were dumping random pieces of memory in the body of HTML responses, things like passwords, API tokens, personal information, chats, hotel bookings, in plain text, unencrypted. Once discovered they were able to fix it pretty quickly, but it could have been out in the wild as early as September of last year. The major issue with this is that many of those results were cached by search engines. The bug itself was discovered when people found this stuff on the google search results page.
It's not quite end of the world, but it's much worse than Heartbleed.
Now excuse me this weekend as I have to go change all of my passwords.3 -
Chrome has failed me. At least, I was disappointed.
So, I have been working with an animation studio to make some changes to their Website, typical WordPress website.
Nothing wrong there, I have a copy of their WP site running on a localhost so I can make changes & tests before pushing to bitbucket (then to be deployed). Now, a lot of the changes I have been making are minor css, html & js changes. Mostly FrontEnd changes.
The frustration came when working on a couple JS sheets; I would change some CSS and JS, save the files then go over to Chrome to test them out.
Open the localhost and test the changes, CSS changes worked! Looks good, but for what ever reason the JS functionality would not change. 2 ish hours of frustration, seeing only half of these changes working I decide to step out for a coffee break. Then I remembered; Chrome has a nasty habit of caching files it has used before for later use. Turns out it was using some older versions of the files that it had cached.
Thankfully I remembered this; only ended up being 2 hours of frustration. For anyone else using Chrome for development; keep this in mind.1 -
Sharing a first look at a prototype Web Components library I am working on for "fun"
TL;DR left side is pivot (grouped) table, right side is declarative code for it (Everything except the custom formatting is done declaratively, but has the option to be imperative as well).
====
TL;DR (Too long, did read):
I'm challenging myself to be creative with the cool new things that browsers offer us. Lani so far has a focus on extreme extensibility, abstraction from dependencies, and optional declarative style.
It's also going to be a micro CSS framework, but that's taking the back-seat.
I wanted to highlight my design here with this table, and the code that is written to produce this result.
First, you can see that the <lani-table> element is reading template, data, and layout information from its child elements. Besides the custom highlighting code (Yellow background in the "Tags" column, and green gradient in the "Score" column), everything can be done without opening even a single script tag.
The <lani-data-source> element is rather special. It's an abstraction of any data source, and you, as a developer can add custom data sources and hook up the handlers to your whim (the element itself uses the "type" attribute to choose a handler. In this case, the handler is "download" which simply sends a fetch request to the server once and downloads the result to memory).
Templates are stored in an html file, not string literals (Which I think really fucks the code) and loaded async, then cached into an object (so that the network tab doesn't get crowded, even if we can count on the HTTP cache). This also has the benefit of allowing me to parse the HTML templates once and then caching the parsed result in memory, so templates are never re-parsed from string no matter how many custom elements are created.
Everything is "compiled" into a single, minified .js file that you include on your page.
I know it's nothing extraordinary, but for something that doesn't need to be compiled, transpiled, packaged, shipped, and kissed goodnight, I think it's a really nice design and I hope to continue work on it and improve it over time1 -
You know that experience when you update a modern desktop app that uses a zillion abstraction layers and the first time you do anything it freezes for a little bit while the heavily deferred metaprogramming and asset transformations are executed and cached?
I always imagine polystyrene balls flying all over the place.1 -
Tired of chasing an elusive architecture and finding good community that helps promote it. Basically:
- Not CRUD
- Not MVC
- More like CQRS; commands and queries represent use cases
- Event Sourced; event log is source of truth, everything else is a cached projection
- Functional Domain Design; not DDD; focus on immutability and simplicity
- Functional in general; less OO
- More focus on domain concepts rather than tech concepts
- Domain can be used through CLI, API, or SDK
- UI is just another client to the API
- Authorization is ABAC, graph-based access control
I'm looking for a fucking unicorn.10 -
As you grow older, both professinally as a dev and as a team player, you realise that a complete rewrite is rarely the better answer to the problem at hand.
With that being said, I'm rewriting the glorified-mass-of-infernal-human-feces-with-corn-bits-masquerading-as-mere-shit out of a production service right now. Wish me luck.2 -
About half the chats with my line manager is just me being a rubber duck equivalent to him.
M: Can you implement the stuffity stuff like I asked?
Me: *starts typing*
M: Oh nevermind it was cached -
User having a problem with a page in a web application : -...I'm attaching a screenshot of what it looks like.
Me: - Some scripts seem to be cached so you might need to reload the page.
User: - Now that I reloaded the page for the third time it seems to work. Then I tried another case and then it gives me the same response as in the previously attached screenshot.
Me: - Was it in a separate Firefox window?
User: - What do you mean by a separate Firefox Window?
Different professions really speak different languages.2 -
!rant - well maybe
I really wonder what is going to be the end product concerning Deno and TypeScript when it deals to managing dependencines. Thus far the general idea is to have a deps.ts file for which the dependencies required are fetched through a url, cached into the project and then imported from that file onwards.
This seems interesting to me, and I would venture to say that it eliminates some of the pain points from running Node applications, we all know about the dread caused by overly large node_modules folders, but would y'all say this is the right approach? rather than stopping people from generating a large pool of dependencies, it seems that the issue would continue to persist, but it would just come from the internet during runtime rather than from living in the file system of the application.
Either way, I still remain a big fan of Ryan Dahl and his creations and can't wait to see Deno stable enough to test out on a couple of projects.2 -
Did you know, any time you copy text on Windows 10, windows saves the url of the page you copied it from?
Don't know where it is saved, or how long it is cached, but the more you know.
Steps to replicate:
Go into your browser, copy any text from any site. Close the window.
Open one note. Paste text. Theres the url.
I think clipboard saves the url when you copy text from a browser, dunno. but its interesting.9 -
Play Store's $25 registration fee - for getting PWA listed in their shitty catalogue? Who in the right mind would even jump in this clusterfuck of store to find a *web* app? For all you know, Google, there is such thing as QR codes - and customers can just scan the code (or type in that sweet address). Voila! Boom!!! Ching-ching!
Hello-hello, monopolistic cashgrabage! I came to inform you that your TWA bullshit is unneeded in ETHICAL space. The only ones who would benefit from this thing are permission-hungry publishers. And I'm already sick of this culture where people are put into store bubbles. You can't hide the fact that this data and features you provide, with "native" layer, may be misused in a jiffy - and by big players, no less. Of course, as a vile dumpster that you are, you don't mind it.
Don't even bring up a battery consumption that comes with PWA and browser. This doesn't matter if you use an app for some 2 minutes to tick your mental checkboxes! I'm just sick of app stores and native apps that collect the data without normal warning, and dare to take more than 1 second to fucking load the cached data. Take a lesson or two from PWAs that collect (probably useful) cache, instead of my specs, and load almost instantly.12 -
Our client got mad once because the website we were building didn’t function on the Instagram in-app browser.
I guess it was kinda my fault because it was due to a cached JavaScript file which threw an error on a newer version of the page (that’s when I learned about cache busting) but still, I kinda felt that’s a little ridiculous to get mad about.2 -
Current directory:
upstream
potatoecode
find ./upstream -maxdepth 1 -type d -ls >> potatoecode/.gitignore
pushd potatoecode
git add .gitignore
git commit -m 'Updated gitignore" .gitignore
git rm -r --cached .
git add .
git commit -am "Purgatory"
popd
*watching with a big smile the burning CI*
--
Story of how I made some devs today very sad. They now have the joyful task to think of a better way to code than to create a nightmare blob of modified source code from upstream - where upstream has ...
- a rest API
- an extension / plugin system
- an system to even modify db schema via an API.
But nooooo.... That would be too good.
Instead one just creates an potatohead of upstream source code with modifications without any version tracking or stuff like that.
Sometimes I really wonder if the devs at our company are masochists and want to be punished....6 -
Managing a small team - poorly.
I was in charge of testing a legacy calculations engine together with two scientists, for whom I set up a python and interop environment so they could test the engine easily.
The two were very excited at the thought of validating the calculations and in fact found many bugs.
I was very supportive, told them to fix the bugs and gave them a pet on the back.
All three of us were happy the legacy engine is shaping up, that's until my boss heard of it, and boy did he grill me hard for it.
Turns out our efforts were highly unappreciated by the client, whose only request was that we test the engine and report the bugs. Not to fix them. My goodwill cost the company a lot of money, since the client paid by the hour, and was now due a refund. Crap.
It took me a year to finally understood the moral of the story. Which is to always respect the client's wishes and convey maximum transparency to him. -
So I recently finished a rewrite of a website that processes donations for nonprofits. Once it was complete, I would migrate all the data from the old system to the new system. This involved iterating through every transaction in the database and making a cURL request to the new system's API. A rough calculation yielded 16 hours of migration time.
The first hour or two of the migration (where it was creating users) was fine, no issues. But once it got to the transaction part, the API server would start using more and more RAM. Eventually (30 minutes), it would start doing OOMs and the such. For a while, I just assumed the issue was a lack of RAM so I upgraded the server to 16 GB of RAM.
Running the script again, it would approach the 7 GiB mark and be maxing out all 8 CPUs. At this point, I assumed there was a memory leak somewhere and the garbage collector was doing it's best to free up anything it could find. I scanned my code time and time again, but there was no place I was storing any strong references to anything!
At this point, I just sort of gave up. Every 30 minutes, I would restart the server to fix the RAM and CPU issue. And all was fine. But then there was this one time where I tried to kill it, but I go the error: "fork failed: resource temporarily unavailable". Up until this point, I believed this was simply a lack of memory...but none of my SWAP was in use! And I had 4 GiB of cached stuff!
Now this made me really confused. So I did one search on the Internet and apparently this can be caused by many things: a lack of file descriptors or even too many threads. So I did some digging, and apparently my app was using over 31 thousands threads!!!!! WTF!
I did some more digging, and as it turns out, I never called close() on my network objects. Thus leaving ~30 new "worker" threads per iteration of the migration script. Thanks Java, if only finalize() was utilized properly.1 -
Android devs, what are your thoughts about the naming conventions google tries to enforce on us, especially with the xmls?
I opened a new project after months of leaving android dev, and thought of trying the basic activity template with name 'myActivity'
On clicking it, a ton of files got created : myActivity, myActivityFragment ,... And in xml the reverse naming notation : activity_my, fragment_my, content_my,...
This naming is uncomfortable .in a large project, activities usually acts as complete modules in which different tasks are handled : logins getting checked, data being cached, database being accessed and much more...
So if my activity 'abc' has a content fragment and a toolbar whose design is in another xml, shouldnt the 3 of them be named like:
abc_activity.xml
abc_activity_fragment.xml
abc_activity_toolbar.xml
And not
activity_abc.xml
fragment_abc.xml
toolbar_abc.xml
??
At the very least , it would look nice since the components that are displayed together will have their files together. And i don't know much about testing, but i believe it would be helpful there too5 -
When it comes to config files for any kind of application, I tend to make sure that I understand what each config does, and that for each environment, they have the correct settings.
However some of my co-workers don't bother understanding what the configs mean and so I have people copying and pasting config details from development environments into staging and production configs. They think that just changing hostnames is more than enough.
So they ended up wasting a good 3 hours trying to figure out why sessions were always invalidating and cached objects were not caching. I had a look at the config and realised their mistake in like 3 mins. -
So I developed this proxy server that will throttle down API calls to one of our providers so we don't get blocked for TOS violation...
Some dude had a tool running all day long which crashed 2 minutes before I left work.
This literally ruined my day until I recalled it's all cached!!!!
Mood is back again and I deserve my beer! -
I just woke up from a lucid dream.
I could really control the situation, but it was fun telling my mate how IT stuff works LOL.
It's 3.22 am for me rn.
I fucking told my classmate how the proxy server at our school works. How the packets are being sent and received, how they get cached at the proxy server and through how many nodes they approximately get.
PS: I don't have a rubber ducky or whatever you call it to tell the problems of the program to it.7 -
Name two production service, metrics and logging included, after a famous woman and an armored vehicle.
Dude, no. When those services go down in the middle of the night some poor soul on call duty will have to handle it without the faintest idea wtf is going on.1 -
When you think you suck something it's NOT your fault - learn how it's done in a different language or framework, then come back to it.
When you think you mastered something, it IS your fault - learn how it's done in a different language or framework, then come back to it. -
I recently discovered that you can show "Search tools" option in the mobile version of Google.
Thought I should share it here!
Now I just need to find the "Cached page" option 🤔2 -
Why does "git rm ..." Without options delete files! That is the dumbest thing ever. If I wanted to delete files, I could always type "rm file"... You forget --cached you're going to be in for a long day.
-
Client's WordPress powered site has gone down due to influx of traffic. Site is cached and whatnot, the server it's on is simply underpowered and not coping. Whilst I'm frantically trying to spin up new servers and load balance and get things back online, client keeps interrupting with emails like "URGENT - Website is down", "How long is this going to take please?", and "Hello! Do you know whats going on?!". I reply cordially to each, secretly growing increasingly enraged. "Yes I am already aware and working on it.", "Difficult to estimate, but I'm hoping no more than 20 minutes.", "Yes. I'm working on it.", "Yes, I know. I'm working on it."
And then I receive this gem: "Perhaps call Word press?"
AARRGGHHH
This scene from Clerks springs to mind: https://youtube.com/watch/...2 -
if I could use the time I spend on the Windows loading screen actually programming, I might actually be a productive employee.
it has to do with our network... if it's not connected when you boot, it's fast enough, but that's using cached credentials... what the hell is taking so long?2 -
Cloudflare cached a dynamic page, only because the url ends with a get parameter "&doc=file.docx".1
-
I recently logged into my care provider's online services for the first time, to schedule a doctor's appointment.
The login form requested the usual: username and password - but also a birth date. Which their developers implemented with the default Android datepicker control.
Meaning I had to click 'back' 339 times to get to December 1989.
fuuuuck.2 -
First let me start this rant by saying: Don't use SharePoint lists as your primary data store if you can avoid it. You're gonna have a bad time.
My coworkers and I work on a system where we need to pull tons of data down from a SharePoint site and run various algorithms and operations on it. Generate reports, that sort of thing. This is all done in the browser using a Typescript React SPFX webpart. Basically using SharePoint as a DB/DAL.
Because of the sheer amount of data we end up pulling down (our system in production is the single source of truth for one of the largest companies in Canada, and they're currently building a pipeline as we speak), in order to maintain a reasonable speed while using it, we have some pretty intense caching logic implemented, logic that ensures we get new items when new items are detected, and merges changes to already exisiting objects. It's pretty brilliant, and that's before we even consider the custom paging that my coworker implemented in order to get around the IndexedDB max size of 100MB.
Well that's all well and good, and works great in production, but it is a horror to work with. Because EVERYTHING we touch on the server is cached locally, it can be IMPOSSIBLE to detect data anomalies, be they local or server side -.- You don't know how many hours I have completely WASTED fixing a "bug" that didn't really exist... Just incorrect data in the cache12 -
The CORS implementation has made the web overall less secure. It insists on the 99% pain in the ass solution rather than the 98% easy to use solution. So what happens? People work *around* it a lot, and that degrades web security overall.
Had *.mydomain been available as a header value, it would have been fine. Update your CORS headers? Good luck when your users' browsers have a cached copies of the old headers. Instant CORS violations.4 -
Worst technology ever by far I have to say JsData. It's a framework for javascript ofering ORM facilities so you don't have to deal with Ajax yourself. The nightmares with data being cached and not updated, the fact that the response must always be an object with an id. Why? Just why? 😨1
-
Background: We switched from just simple old PHP and JS using notepad++ to PHPStorm and its infinite configurables, Symfony 4, Twig, Composer, Doctrine, Yarn, NPM, Bootstrap, ( thank the stars we didn't try to add Docker in with all this ), any other junk I'm missing here? Then upgraded to Symfony 5.
Symfony's autowiring: madness behind the curtains. I get frustrated about when and where I can just magically inject these dependencies or use config variables, you know, like the ones you define in service.yaml. Hmmm, "service".yaml. In a controller you can say getParameter() but in a service you have to inject the parameter, FROM THE "SERVICE".yaml!!! Autowiring drives me nuts. Ok, so we can supply dependencies using the constructor, that's great! Within a controller you never have to instantiate the object you're passing to the constructor (autowiring handles that). That's cool, weird when we you try to trace it for the first few times, but nice I guess. Feels like half-assin' it. What bugs me here is that it only works in controllers... I guess out of the box.. i'm not even sure. To get that feature to work for services you have to make some yaml edits. Right?Maybe? Some of the Symfony tutorials have you code up some junk then trash it. Change config then wipe that out and do X instead... so I have no idea what "out of the box" for Symfony really is.
Found this cool article that describes my frustrations in better terms and seems like a good resource to learn about autowiring. I need to continue my yaml wizardry classes. https://alanstorm.com/symfony-autow...
.....And on to YAMLs, or CSS, or JS or any other friggin' change you make to a file anywhere... Make a change, reload page, nothing... nope you have to do some hidden cheat combo of yarn dostuff -> cache:clear -> cache:warmup -> cache:cache:the:cache ... I really really hate this crap. Maybe I'm too old school for all this junk. It was simple with pure PHP. Edit code, push file, reload page, and oh look it changed! Done. So happy! Ok, Ok. Occasionally the js or css might get cached by the browser and you have to ctrl/f5 or Shift/f5 .. one of those. With this framework there's just so much more that you have to remember to do get some new feature of your site loaded.
Now, I totally get wanting to use some type of entity framework, but I feel like my entire world turned backwards. Designing tables using something like MySQL Workbench made sense. I can see all the columns and datatypes right there as i'm building them. From what I've experienced now with Symfony/Doctrine is you have to make and entity, get a shit-ton of question lobbed at you and if it's a relation field you have to really have a clear idea of the cardinality up front. Then we migrate that to the database. Carefully read through the SQL if you really really just want to use migrations:migrate in Prod. That alter table could cost you some some downtime if your table is large.
Some days man.... -
Just witnessed this blasphemy when spotify cached search results overlaps iggy azalea's photo on my macy gray results4
-
!dev
Come on, Office. First you throw me out because my "cached credentials are expired" and disable saving. Sigh. OK, let's re-login. Now you show me neverending "Loading..." Instead of a login mask.
Ugh...
May I work on my document? PLEASE?
EDIT: I'm an idiot. Saving locally works. -
The lack of a meta-language in c# can be a pain in the ass, I have to jump through hoops to generate something like python's decorators, not to mention having to generate il to overcome some limitations of reflection when dealing with value types.
-
How should i able to develop/solve bugs when there are multiple people testing and everybody has different opinions, or are looking at cached environments?!
-
So I did this little experiment PWA caching and service worker which caches entire website (js/css/html) [It's a small website]. Now I do not understand the concept of PWA caching entirely because when I 'Add it to Home screen' it becomes an app as expected but when I turn off the internet and then open the app it requires the internet.
What in fucking ass, why won't you just render those html pages which are cached ?15 -
One user could report that the data they saw didn't make sense. Turns out there was a one-off hardcoded caching detail for one of our services that cached based on a search query (yes, the entire query was the key) and before any auth checks. The system would return the results owned by whoever asked first, no matter who asked after that point.
There's "Oh dear but we all make mistakes" and there's surrender cobra. This is what PRs are for.1 -
I asked the Node gitter community but didn't get any response, and I fear for my life when I am posting on SO.
So, I would be posting my query here. Any help would be appreciated.
Query:
Hey! So I have a code like
var cached = true;
if(cached){
}else{}
When the v8 will profile and mark this function as hot, will the full compiler optimize it so that the 'if(cached)' is not checked every time?2 -
Hmm..
My game changing caching proxy [mitmcache] in CI implementation works miracles in localhost. It shaves off build times significantly: what used to build in ~2min now builds in 18sec.
However, this doesn't seem to be true in CI... For some reason build times remain the same [more or less] when cached and considerably longer when the cache is cold/empty..
Damn it.
I don't understand why...
A week wasted. And I have to explain the client why me failing in this is a good thing, so I'd get paid
https://gitlab.com/netikras/... -
Here I am sitting again to explain to some nice people that it is not my service causing the havoc but the infrastructure.
Always getting cached content when using the public route (private is fine). When I firstly hit something it should cache then I get that content for every url I hit on that service (e.g. Getting the favicon when fetching the html)
Even when I stop the service the public route does still return content. Let's see if they accept that there may be a caching issue 😥😥😥 ah and the service is running in 2 other environments - must be an application problem