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 - "key"
-
Storytime!
Manager: Hey fullstackchris, the maps widget on our app stopped working recently...
Dev: (Skeptical, little did he know) Sigh... probably didn't raise quota or something stupid... Logs on to google cloud console to check it out...
Google Dashboard: Your bill.... $5,197 (!!!!!!) Payment method declined (you think?!)
Dev: 😱 WTF!?!?!! (Calls managers) Uh, we have HUGE problem, charges for $5000+ in our google account, did you guys remove the quota limits or not see any limit reached warnings!?
Managers: Uh, we didn't even know that an API could cost money, besides, we never check that email account!
Dev: 🤦♂️ yeah obviously you get charged, especially when there have literally been millions of requests. Anyway, the bigger question is where or how our key got leaked. Somewhat started hammering one of the google APIs with one of our keys (Proceeds to hunt for usages of said API key in the codebase)
Dev: (sweating 😰) did I expose an API key somewhere? Man, I hope it's not my fault...
Terminal: grep results in, CMS codebase!
Dev: ah, what do we have here, app.config, seems fine.... wait, why did they expose it to a PUBLIC endpoint?!
Long story short:
The previous consulting goons put our Angular CMS JSON config on a publicly accessible endpoint.
WITH A GOOGLE MAPS API KEY.
JUST CHILLING IN PLAINTEXT.
Though I'm relieved it wasn't my fault, my faith in humanity is still somewhat diminished. 🤷♂️
Oh, and it's only Monday. 😎
Cheers!7 -
Job Ad: You will report to leadership stakeholders on key progress initiatives and collaborate on business value add action objectives.
Translation: Have boss. Do task.3 -
We got the report made by the EU committee that is assigned to evaluate our project (robotics in the service of healthcare).
I was full on trashing the reviewers for writing some seriously dumb shit, and low-key dissing my professor. Until I got to the part where they addressed the work package I was responsible for. They referred to my work as impressive and innovative, and I was like, well, maybe they're not that bad 😂10 -
Remember the super duper company I applied for? (Last rant)
Well, I did their coding challenge. And after many years I had to do a metric crapton of C++. It's not a fun language. It's frustrating how human-unfriendly it is, and maybe one reason why I low-key like it.
Anyways, here's hoping that I didn't fuck up too much.
On a side note, I realized tensorflow actually has a cpp api. I think I'm gonna work with that in my next mental breakdown. 🧐8 -
Well one thing that became obvious today is that companies that make wifi routers really dont want you flashing other firmware on it.
For example i got a new router cause it was time.
Ofc fully compatible with OpenWRT. The thing tho ? The GUI flashing process accepts only encrypted binaries. And surprise we as customers cant encrypt it like they do.
So the next thing that comes to mind instantly is UART. They cant break that right ? Well turns out they can. They just disallow key inputs from console. So you cant make the damn device load into TFTP mode.
And D-Link has this lovely recovery utility that accepts unencrypted firmware. EZ way to flash it right ? WRONG. The garbage doesnt load second time after you load it once in 1 boot. And even if you get it to start loading the firmware. It wont really flash it.
Luckily there was an exploit :)
And joining via telnet and enabling http server on PC and wget-ting the binary from there. And flashing.
Honestly now. I pay money for this garbage. I own the hardware. Let me do what i want with it.
At least it runs kernel 5.10 now and is super fast :) Worth the trouble honestly
(Should be noted im not new to flashing firmware on routers. But this is the first one that really didnt want me to flash it. Like nuking my freaking UART access ? Taking it too fucking far)7 -
I've got a file on my desktop called key.txt, and it's just a single line in it that is clearly some sort of API key.
Absolutely no memory of what it is for.
💩9 -
@OmerFlame wanted to see more of Soviet pirate stuff, so there you go buddy. This is an example of Samizdat (“self-publishing”) — Soviet people made books of dissident literature that was forbidden in the Soviet Union.
This very book was made by my grandma, with lace fabric cover and sheets cut evenly with care and precision. Everything was typed on a typewriter, yes, the thing that renders the whole page useless with one mistype, as there is no backspace key.
This book dated 1975, the poetry of Nikolay Gumilyov.9 -
My first contact with an actual computer was the Sinclair ZX80, a monster with 512 bytes of ram (as in 1/2 kbyte)
It had no storage so you had to enter every program every time and it was programmed in basic using key combinations, you could not just write the commands since it did not have memory enough to keep the full text in memory.
So you pressed the cmd key along with one of the letter keys and possibly shift to enter a command, like cmd+p for print and it stored s byte code.2 -
I thought of posting this as a comment to @12bit float' post, but then decided it better goes out as a post by itself.
https://devrant.com/rants/5291843/...
My second employer, where I am on my last week of notice currently, is building a no code/low code tool.
Since this was my first job switch, I was in a dreamy phase and was super excited about this whole space. I indeed got to learn like crazy.
Upon joining, I realised that an ideal user persona for this product was a developer. Wow! No code tool for developer. sO cOoL...
We started building it and as obvious as it could get, the initial goal was adoption because we were still at top of the funnel.
We launched an alpha release shortly followed by a beta.
Nobody used it. Tech XLT/LT kept pushing product and design team to run a feature factory so that their teams can use this tool.
The culture set by those two leaders was toxic as fuck.
Now, I decided to do some research and some more product discovery to understand why folks were not using it. Mind you, we were not allowed to do any research and were forced to build based on opinions of those two monkeys.
Turns out that the devs were really happy with their existing tools and our tool was another tool being forcefully added into their toolbox by the said XLT/LT.
Not only that, even if they decide to use our tool, out of pressure, they still cannot because the product was missing key capabilities like audit control and promotion from one environment to another.
Building those would essentially mean reinventing Github aka version control and Spinnaker aka CI/CD pipeline.
My new boss (I got 3 managers in 4 months because of high attrition across levels due to the toxic culture), thinks that tech XLT/LT are doing great and we all suck as a product and design team.
He started driving things his own way without even understanding or settling down for first 90 days.
Lol, I put in my resignation got out of that mess.
So agreeing to what our boy said here, no code tools are a complete waste, especially for a developer, and even as a non tech person, I prefer keyboard over mouse.2 -
I'm forced by my job to use this fucking unusable piece of horse shit also know as a Windows operating system.
And it's not only that I have experienced every fucking corner case bug that is possible to occur in our universe.
Not only that that for last 2 years I seen more blue screen than blue sky.
Not only that forced updates fucked my schedules so many times that now I'm really *afraid* to turn off my computer off because I have zero guarantee that I will be able to restart it in a reasonable amount of time.
No, neither of those broke me.
The thing that kills me everyday is, piece by piece ...
WHY THE FUCK THERE IS NO SINGLE, USEABLE, SANE TERMINAL EMULATOR ON WINDOWS
I JUST WANT TO TYPE SOME COMMANDS, COPY/PASTE TEXT AND SCROLL
IS IT TO MUCH ?????
FUCK CMD
FUCK POWERSHELL
FUCK WSL
FUCK ALL THOSE WANKY THIRD-PARTY EMULATORS
FUCK EVERY-COMMAND-LINE-REALATED THING ON WINDOWS
FUCKING USLESS SHIT
CANT EVEN DO SOME SSH COPY/PASTE SHIT
WITHOUT SOME WEIRD CHARACTERS POPING OUT EVERYWHERE.
AND FUCK THAT EVERY ONE OF THOSE MUST HAVE TOTTALY DIFFERENT SET OF KEY SHORTCUTS
AND THAT FUCKING BELL
WHY WOULD YOU EVEN PUT A FUCKING BELL SOUND AS DEFAULT SETTING ??
GO TO HELL MICROSOFT
I WANT MY LINUX BACK8 -
Everything about the company is a mess. The only thing that is decent is the people. And by that I mean they aren't shit.
Workflows are fucked.
Clients are fucked. You're pressuring me to get this shit production ready before new year's eve and you still don't know what the text should say and want to make changes to the UI? The fuck?!
Design is a complete shit show. There is a design team. They only make a fucking psd to show clients how an interface would look like. No mobile version (but it's still expected to work!), no markup. Resolution is fucking inconsistent and whenever a change is requested, they are nowhere to be seen so I have to actually do designing on top of having to use this worthless fucking framework I hate it so much.
Codebases are turbo-fucked because of said framework.
Databases are an inconsistent, fucked up mess. No foreign key constraints because every single fucking table is using the MyISAM engine.
And the thing that really makes me incredibly angry is all the "custom systems" look the fucking same at the database level. Like 30 fucking useless tables made for stupid HR workflows that make no fucking sense.1 -
I FUCKING HATE VISUAL STUDIO BECAUSE IT LITERALLY THINKS I WANT TO UNDO SINCE I PRESSED THE MOTHER FUCKING BACKSPACE KEY
ITS NOT MY KEYBOARDS FAULT ITS LITERAALLY THEIR DUMBASSES NOT KNOWING HOW TO MAKE AN IDE ATA ALL
HOLY SHIT MICROSOFT LEARN HOW TO MAKE BETTER IDES OTHER THAN YOUR SHITTY IDE16 -
Everyone and their dog is making a game, so why can't I?
1. open world (check)
2. taking inspiration from metro and fallout (check)
3. on a map roughly the size of the u.s. (check)
So I thought what I'd do is pretend to be one of those deaf mutes. While also pretending to be a programmer. Sometimes you make believe
so hard that it comes true apparently.
For the main map I thought I'd automate laying down the base map before hand tweaking it. It's been a bit of a slog. Roughly 1 pixel per mile. (okay, 1973 by 1067). The u.s. is 3.1 million miles, this would work out to 2.1 million miles instead. Eh.
Wrote the script to filter out all the ocean pixels, based on the elevation map, and output the difference. Still had to edit around the shoreline but it sped things up a lot. Just attached the elevation map, because the actual one is an ugly cluster of death magenta to represent the ocean.
Consequence of filtering is, the shoreline is messy and not entirely representative of the u.s.
The preprocessing step also added a lot of in-land 'lakes' that don't exist in some areas, like death valley. Already expected that.
But the plus side is I now have map layers for both elevation and ecology biomes. Aligning them close enough so that the heightmap wasn't displaced, and didn't cut off the shoreline in the ecology layer (at export), was a royal pain, and as super finicky. But thankfully thats done.
Next step is to go through the ecology map, copy each key color, and write down the biome id, courtesy of the 2017 ecoregions project.
From there, I write down the primary landscape features (water, plants, trees, terrain roughness, etc), anything easy to convey.
Main thing I'm interested in is tree types, because those, as tiles, convey a lot more information about the hex terrain than anything else.
Once the biomes are marked, and the tree types are written, the next step is to assign a tile to each tree type, and each density level of mountains (flat, hills, mountains, snowcapped peaks, etc).
The reference ids, colors, and numbers on the map will simplify the process.
After that, I'll write an exporter with python, and dump to csv or another format.
Next steps are laying out the instances in the level editor, that'll act as the tiles in question.
Theres a few naive approaches:
Spawn all the relevant instances at startup, and load the corresponding tiles.
Or setup chunks of instances, enough to cover the camera, and a buffer surrounding the camera. As the camera moves, reconfigure the instances to match the streamed in tile data.
Instances here make sense, because if theres any simulation going on (and I'd like there to be), they can detect in event code, when they are in the invisible buffer around the camera but not yet visible, and be activated by the camera, or deactive themselves after leaving the camera and buffer's area.
The alternative is to let a global controller stream the data in, as a series of tile IDs, corresponding to the various tile sprites, and code global interaction like tile picking into a single event, which seems unwieldy and not at all manageable. I can see it turning into a giant switch case already.
So instances it is.
Actually, if I do 16^2 pixel chunks, it only works out to 124x68 chunks in all. A few thousand, mostly inactive chunks is pretty trivial, and simplifies spawning and serializing/deserializing.
All of this doesn't account for
* putting lakes back in that aren't present
* lots of islands and parts of shores that would typically have bays and parts that jut out, need reworked.
* great lakes need refinement and corrections
* elevation key map too blocky. Need a higher resolution one while reducing color count
This can be solved by introducing some noise into the elevations, varying say, within one standard div.
* mountains will still require refinement to individual state geography. Thats for later on
* shoreline is too smooth, and needs to be less straight-line and less blocky. less corners.
* rivers need added, not just large ones but smaller ones too
* available tree assets need to be matched, as best and fully as possible, to types of trees represented in biome data, so that even if I don't have an exact match, I can still place *something* thats native or looks close enough to what you would expect in a given biome.
Ponderosa pines vs white pines for example.
This also doesn't account for 1. major and minor roads, 2. artificial and natural attractions, 3. other major features people in any given state are familiar with. 4. named places, 5. infrastructure, 6. cities and buildings and towns.
Also I'm pretty sure I cut off part of florida.
Woops, sorry everglades.
Guess I'll just make it a death-zone from nuclear fallout.
Take that gators!5 -
Urgh. One key skill that wannabes seem to forget is patience. Patience, patience, patience. Don't panic, don't be lazy, be methodical. This is the way of the analytical computer scientist. Don't panic all over the place or make assumptions..
Some techs..4 -
So about two months ago in my consulting firm I was asked to replace a colleague on a project (node and Angular). The project is only a few months old but it’s already a total clusterfuck. DB is very poorly designed. It’s supposed to be a relational database but there’s not a trace of a foreign key or any key for that matter and I’ve seen joins like tableA.name = tableB.description (seriously, that’s your relation??). The code is a mess with entire blocks of code copied from another project and many parts of the code aren’t even used. He didn’t even bother renaming variables so they would make sense in the context they were shamelessly thrown into. The code is at best poorly typed if not typed at all.
During our dailies I sometimes express my frustration with my other colleagues as I very politely allude to my predecessor’s code as being hard to work with. (They are all “good friends" with him). I always get the same response from my colleagues: "yeah but you’ve gotta understand Billybob was under a lot of pressure. The user stories were not well defined. He didn’t have time to do a proper job". That type of response just makes me boil inside.
Because you think I have time to deal with this shit? You don’t think I’m working with the same client and his user stories that are barely intelligible? How long does it take to write type definitions for parameters going into a function? That’s right, 30 seconds at most? Maybe a minute if it’s a more elaborate object? How much time do you think you’ll save yourself with a properly typed function or better yet an interface? Hard to tell but certainly A LOT MORE than those 30 seconds you lost (no, the 30 seconds you INVESTED) in writing that interface!!!
FUCK people with their excuses! Never tell me you don’t have time to do a proper job! You’ve wasted HOURS of my time just because you were too fucking lazy to type your functions, too lazy to put just a little more thought into designing your tables, too lazy to rename a variable so that it’s name actually makes sense where it’s being used. It’s not because you were short on time. You’re just lazy!
FUCK!!!!!!4 -
Dev: Woah look at this code! I might be a genius!
Also dev a few months later: Woah WTH is this shit? Was I totally dumb or what?2 -
One thing that @scout taught me is to wear the oxygen mask myself before helping others. Oh she is a sweetheart.
This advice has stuck with me since and slowly & steadily, I am regaining my lost confidence and self love.
Remember, how I was struggling for clarity a couple of months ago? But now, I feel more clear in head.
During the start of the pandemic, I joined a community of corporate normies. I used to live happier until that decision.
That place made me ultra competitive and I subconsciously became a rat trying to win the race. I damaged myself more than I benefited.
I joined at the time of inception. Every core member is a good friend.
Now the fun thing is, they moved to Slack. Many of the core members run the community as admins.
While I don't engage much, but talk to some of them occasionally.
One key area is, running a job board to help people get jobs. And another is mentorship to help the members overcome challenges and grow in their career.
In DMs, literally every core member who is doing this for others is struggling themselves for the same. How fucking ironic!
They seek help and advice from me and vent out their failure frustrations.
Imagine, someone who isn't able to solve their problem, let alone solving it first before helping others, is guiding the community of few thousands to excel in their careers.
Fucking brilliant.
One of the biggest life lessons @scout taught me, wear your oxygen mask first before helping others.48 -
I'm attending more meetings than I ever thought was possible. Low-key kinda miserable right now. Shout-out to my younger self:
https://devrant.com/rants/2081588/...4 -
You know what fuck github , anyone remember when git cli was easy and straight forward to use
Now i have conflicting master branches because the remote is main and git automatically defaults to master.
Git still asks for a password while github can't wait to inform me how I have to go through the very long process of setting up an auth_token.
Apparently https remote origins for some reason don't work anymore, why because apparently i need to change them into ssh, good luck with the public key errors
This sucks , fuck github and fuck politics9 -
Do y'all use an OKR (Objectives and Key Results) process for your teams? What are your thoughts on it?4
-
My key ring :)
An old friend (remember the guy who had a miniature Red hat?), gave me an old RAM from a work machine (he worked in data center team).
We had many spare ones so, I picked one and been using it since then.
Photo in comments because dR is fucking up the resolution.5 -
My Ubuntu VM just work fine for consecutive 217 days without restarting.
Need to change some config
And... I forgot the application access key... Damnit!!!
Lucky, I kept the access key in the password manager. Whew.5 -
Me: *newly learning MySQL*
Also me: time to buy wedding rings for my pinky finger and the caps lock key16 -
Data wrangling is messy
I'm doing the vegetation maps for the game today, maybe rivers if it all goes smoothly.
I could probably do it by hand, but theres something like 60-70 ecoregions to chart,
each with their own species, both fauna and flora. And each has an elevation range its
found at in real life, so I want to use the heightmap to dictate that. Who has time for that? It's a lot of manual work.
And the night prior I'm thinking "oh this will be easy."
yeah, no.
(Also why does Devrant have to mangle my line breaks? -_-)
Laid out the requirements, how I could go about it, and the more I look the more involved
it gets.
So what I think I'll do is automate it. I already automated some of the map extraction, so
I don't see why I shouldn't just go the distance.
Also it means, later on, when I have access to better, higher resolution geographic data, updating it will be a smoother process. And even though I'm only interested in flora at the moment, theres no reason I can't reuse the same system to extract fauna information.
Of course in-game design there are some things you'll want to fudge. When the players are exploring outside the rockies in a mountainous area, maybe I still want to spawn the occasional mountain lion as a mid-tier enemy, even though our survivor might be outside the cats natural habitat. This could even be the prelude to a task you have to do, go take care of a dangerous
creature outside its normal hunting range. And who knows why it is there? Wild fire? Hunted by something *more* dangerous? Poaching? Maybe a nuke plant exploded and drove all the wildlife from an adjoining region?
who knows.
Having the extraction mostly automated goes a long way to updating those lists down the road.
But for now, flora.
For deciding plants and other features of the terrain what I can do is:
* rewrite pixeltile to take file names as input,
* along with a series of colors as a key (which are put into a SET to check each pixel against)
* input each region, one at a time, as the key, and the heightmap as the source image
* output only the region in the heightmap that corresponds to the ecoregion in the key.
* write a function to extract the palette from the outputted heightmap. (is this really needed?)
* arrange colors on the bottom or side of the image by hand, along with (in text) the elevation in feet for reference.
For automating this entire process I can go one step further:
* Do this entire process with the key colors I already snagged by hand, outputting region IDs as the file names.
* setup selenium
* selenium opens a link related to each elevation-map of a specific biome, and saves the text links
(so I dont have to hand-open them)
* I'll save the species and text by hand (assuming elevation data isn't listed)
* once I have a list of species and other details, to save them to csv, or json, or another format
* I save the list of species as csv or json or another format.
* then selenium opens this list, opens wikipedia for each, one at a time, and searches the text for elevation
* selenium saves out the species name (or an "unknown") for the species, and elevation, to a text file, along with the biome ID, and maybe the elevation code (from the heightmap) as a number or a color (probably a number, simplifies changing the heightmap later on)
Having done all this, I can start to assign species types, specific world tiles. The outputs for each region act as reference.
The only problem with the existing biome map (you can see it below, its ugly) is that it has a lot of "inbetween" colors. Theres a few things I can do here. I can treat those as a "mixing" between regions, dictating the chance of one biome's plants or the other's spawning. This seems a little complicated and dependent on a scraped together standard rather than actual data. So I'm thinking instead what I'll do is I'll implement biome transitions in code, which makes more sense, and decouples it from relying on the underlaying data. also prevents species and terrain from generating in say, towns on the borders of region, where certain plants or terrain features would be unnatural. Part of what makes an ecoregion unique is that geography has lead to relative isolation and evolutionary development of each region (usually thanks to mountains, rivers, and large impassible expanses like deserts).
Maybe I'll stuff it all into a giant bson file or maybe sqlite. Don't know yet.
As an entry level programmer I may not know what I'm doing, and I may be supposed to be looking for a job, but that won't stop me from procrastinating.
Data wrangling is fun.2 -
After brute forced access to her hardware I spotted huge memory leak spreading on my key logger I just installed. She couldn’t resist right after my data reached her database so I inserted it once more to duplicate her primary key, she instantly locked my transaction and screamed so loud that all neighborhood was broadcasted with a message that exception is being raised. Right after she grabbed back of my stick just to push my exploit harder to it’s limits and make sure all stack trace is being logged into her security kernel log.
Fortunately my spyware was obfuscated and my metadata was hidden so despite she wanted to copy my code into her newly established kernel and clone it into new deadly weapon all my data went into temporary file I could flush right after my stick was unloaded.
Right after deeply scanning her localhost I removed my stick from her desktop and left the building, she was left alone again, loudly complaining about her security hole being exploited.
My work was done and I was preparing to break into another corporate security system.
- penetration tester diaries2 -
I have an unused Steam Key for Battlefield 5
If anyone wants it, Key is in the comments. First Come First Serve ;)5 -
Windows 11 kinda defeated me (although probably by my own fault of installing it on unsupported hardware).
I’ve been having horrible input lag whenever my system has been doing something CPU intensive - gaming, even copying files, to the point where I would have 2 second delay between key input and key being registered by the system.
I reverted back to Windows 10.5 -
Which movie or TV show do you think has caused the most damage and confusion about how programming actually works?
For me it's Silicon Valley with their "Tabs VS Spaces" scene where the dev who advocates spaces actually hits the spacebar key 4 times manually.
(In reality no does that - everyone just hits the tab key and most Editors convert the tab into 2 or 4 spaces bars on your setting. In fact a vast majority of github repos use spaces - despite some of their devs now thinking "I use tabs")1 -
Holy shit! Why is it so hard to find a JSON viewer for android that doesn't absolutely suck ass?
I want a viewer that:
-reads json from the clipboard
-queries json for strings in context
-allows copying of values, not the key and the value put together
Major bonus points:
-JSONPath querying
-Free/pay version without ads7 -
!rant
I'll be the first to admit that my web dev skills are average. Where I work we don't get pushed much since we work off of a very limited (custom to us) platform, which doesn't leave one very well rounded. I am very good with CSS/HTML/FLEXBOX/RESPONSIVE DESIGN and have minimal skills in PHP and JAVASCRIPT. In school I've dabbled with SQL, but hell if I remember much (beside key, the whole key and nothing but the key). What other languages or codes do you recommend learning; what's hot right now? Or should I focus on putting higher emphasis on the ones mentioned above first? I am a front end developer and don't plan on ever doing back end so not looking for the toughest of the tough - just something that will help me grow and land a better job. If there's any cool learning sites you know of too, or other tools, please let me know.3 -
I hate group project so much.
I yet again successfully stirred up a big drama in my project group. For project, I proposed a CDN cache system for a post only database server. Super simple. I wanted to see what ideas other people come up with. So I said I am not good at the content and the idea is dumb. Oh man, what a horrible mistake. One group member wants to build a chat app with distributed storage. We implemented get/put for a terribly designed key value store and now they want to build a freaking chat app on top of a more stupid kV store using golang standard lib. I don't think any of those fools understand the challenges that comes with the distributed storage.
I sent a video explaining part of crdt. "That's way too complicated. Why are you making everything complicated."
Those fools leave too much details for course stuff's interpretation and says
"course stuff will only grade the project according to the proposal. It's in the project description".
I asked why don't they just take baby steps and just go with their underlying terribly designed kV store.
"Messaging app is more interesting and designing kV store with generic API is just as difficult"
😂 Fucking egos
Then I successfully pissed off all group members with relatively respectful words then pissed off myself and joined another group.1 -
Is there a portable DB format like sqlite but stores data like Mongo.
Each record contains key value pairs.
I guess I could install Mongo again... But kinda want to play with the data first. Pulls from a web api
I guess other alternative is to just save the json responses to disk in separate folders and files for now...
And abstract the DB layer behind an interface6 -
Is there a way to recover a deleted GPG key on GitHub? My old key expired, I generated a new one and delete the old one. Now, all my old commits are unverified.3
-
I'm going insane.
So let's say you have an object in database, with 20-30 related objects (Or lists of objects) (All related objects have a foregn key to the "main" object).
Now, as long as you just edit/create thinga everything is fine.
But the deletion... Oh MY GOD
"Just put on delete cascade", right ? RIGHT ?
WRONG ! presence of some objects should block delete, while others can be deleted and some are "situational" depending on the first object state.
So delete operation with all the checks takes .... 1 - 2 seconds.
Seems fine ? WRONG ! When you have 40 or more objects to delete, even 1 second is too long.
Should I say "fuck it" and just write a stored proc which will crash if object cannot be deleted for any reason ? because with Entity Framework, I don't see how I can do it effitenly.
But I HATE stored proc, after couple of month/years noone remembers how they work...
RHAAAAA.
Ok I feel better.8 -
So i wanna try explain the concept of JWT to a 5(+55) year old, and also to myself who is noob at web stuff. please tell me if this is a correct analogy, because i am myself confuse regarding how its secure?
So A wants B, a blind jeweller, to keep his super valuable notebook page with bank passwords safe. B says "give me your sheet and 5 nickels". (Assume that every nickel is always 1gm, made up of pure iron . Assume these statements to be true and world-known )
B takes A's nickels, melts them, adds 20gm more iron, adds 25gm copper, adds 25gm aluminum and then adds 25gm carbon dioxide and makes a mixture that is impossible to revert , but will automatically disintegrate after 24 hours due to CO2 (again, pure true statement, but this formula is only known to B) .
He makes 2 exact copies of keys from the 100 gm mixture, gives one to A and says
("Anyone can either give me 5 nickels of same name, markings, and year and i will give them back this secret sheet. or they give me the same key fo next 24 hours,and i will still give them back the sheets. after 24 hours, this key will also not work. I will even keep this on public display that i make keys using the materials I just showed, and then also no one would be able to create he exact same replica because they don't know how much percentage of each material went into the mixture"
So is this true? I have heard my friend boldly claim that they don't store user passwords as plaintext or even encoded text but rather doing this :
user password + company's private key --->[public domain encryption algorithm] = irreversible public key which is saved against user profile as "password"
public key + other info + time bound expiring logic ---->[public domain JWT encrypted token maker algorithm] = reversible JWTToken which is sent back to user
if user sends back token, then
token --> [JWT decoder] = public key + other info
if public key matches the stored public key , then user is a real user and should be given data
if user sends back the original password, then
user password + company's private key --->[public domain encryption algorithm] = irreversible public key .
again if public key matches the stored public key, then user will again receive access?
So this means all the time we are transmitting a lightly jumbled up version of public key, which is itself a hard, almost irreversible jumbled up version of our passwords that can only be unjumbled via a private key (or jewellers mixture ratios) that companies hold dearly ?5 -
so , is it possible to have different attributes for different rows of the same table , in sql?
like say we have a table of boys. one entry is :
[id:1 | name:b1 | age:12]
[id:2 | name:b2 | weight:60]
[id:3 | name:b3 | age:15 | weight:80]
this isn't a valid data, no? i mean, this can be made valid either if all the entries have both age and weight. OR if we made these 2 props a meta and attached them via ids , like :
[id:1 | name:b1 | boy_prop_list:(1) ]
[id:2 | name:b2 |boy_prop_list:(2) ]
[id:3 | name:b3 | boy_prop_list:(3,4) ] ]
where entries of biy prop list are one one rows in a table having [id boy_id key value] as a row.
but we still can't combine those meta datas to run filters on original table , right?
there can't ever be a query where we request for "age:15 AND weight:18"
then how does filters on amazon work when i search for ram=6gb and operating system = android?
one possible solution that i can see here is to have all the properties on all the products, but with a default value. in this case we can have a transactional query like :
- select all boy ids which are associated with metadata of age= 15
- select all boy ids which are associated with metadata of weight = 80
- get all the boy ids which are common in both
- get all the boys with common ids
or a join equivalent. so does thses kind of filtering really require such manual filtering of common ids?
if there was a case of having all the properties in one table itself, then it would just be a matter of adding filters in WHERE clause11 -
Despite already having a few years of professional experience dealing with Linux servers, I still, to this day, confuse, which environment file gets sourced and when...
There's /etc/profile, /etc/bashrc, ~/.bash_profile, ~/.profile, ~/.bashrc
I think it's... Bashrc for interactive shells, profile for login shells.
But then I have examples like "ssh user@server 'echo $var'" that... Don't source any of the files!
You can enable user environment files for SSH that get sourced whenever a user logs on through SSH (~/.ssh/environment / environment specified for a key in ~/.ssh/authorized_keys)
Is there some sort of master environment file that gets sourced *every* time, no matter what kind of shell starts?1 -
hey devos, I got a question to ask ya'll. I have an interview tomorrow with an MNC.
I was hovering through some leetcode problems when I came across a hard question that is forcing me to use a hashmap with the key of the user-defined type. I made up my mind to make use of C++ for the coding interview. Now, the problem is C++ asks me to implement a hash function.
If in case, I'm asked a similar question like this in the interview, which of these two options will you suggest:
a) implement your own hash function
b) use pointers as key4