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
![](/static/devrant/img/pipeless-devrant-banner-white.png)
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "clear case"
-
https://git.kernel.org/…/ke…/... sure some of you are working on the patches already, if you are then lets connect cause, I am an ardent researcher for the same as of now.
So here it goes:
As soon as kernel page table isolation(KPTI) bug will be out of embargo, Whatsapp and FB will be flooded with over-night kernel "shikhuritee" experts who will share shitty advices non-stop.
1. The bug under embargo is a side channel attack, which exploits the fact that Intel chips come with speculative execution without proper isolation between user pages and kernel pages. Therefore, with careful scheduling and timing attack will reveal some information from kernel pages, while the code is running in user mode.
In easy terms, if you have a VPS, another person with VPS on same physical server may read memory being used by your VPS, which will result in unwanted data leakage. To make the matter worse, a malicious JS from innocent looking webpage might be (might be, because JS does not provide language constructs for such fine grained control; atleast none that I know as of now) able to read kernel pages, and pawn you real hard, real bad.
2. The bug comes from too much reliance on Tomasulo's algorithm for out-of-order instruction scheduling. It is not yet clear whether the bug can be fixed with a microcode update (and if not, Intel has to fix this in silicon itself). As far as I can dig, there is nothing that hints that this bug is fixable in microcode, which makes the matter much worse. Also according to my understanding a microcode update will be too trivial to fix this kind of a hardware bug.
3. A software-only remedy is possible, and that is being implemented by all major OSs (including our lovely Linux) in kernel space. The patch forces Translation Lookaside Buffer to flush if a context switch happens during a syscall (this is what I understand as of now). The benchmarks are suggesting that slowdown will be somewhere between 5%(best case)-30%(worst case).
4. Regarding point 3, syscalls don't matter much. Only thing that matters is how many times syscalls are called. For example, if you are using read() or write() on 8MB buffers, you won't have too much slowdown; but if you are calling same syscalls once per byte, a heavy performance penalty is guaranteed. All processes are which are I/O heavy are going to suffer (hostings and databases are two common examples).
5. The patch can be disabled in Linux by passing argument to kernel during boot; however it is not advised for pretty much obvious reasons.
6. For gamers: this is not going to affect games (because those are not I/O heavy)
Meltdown: "Meltdown" targeted on desktop chips can read kernel memory from L1D cache, Intel is only affected with this variant. Works on only Intel.
Spectre: Spectre is a hardware vulnerability with implementations of branch prediction that affects modern microprocessors with speculative execution, by allowing malicious processes access to the contents of other programs mapped memory. Works on all chips including Intel/ARM/AMD.
For updates refer the kernel tree: https://git.kernel.org/…/ke…/...
For further details and more chit-chats refer: https://lwn.net/SubscriberLink/...
~Cheers~
(Originally written by Adhokshaj Mishra, edited by me. )23 -
Mark.
Mark was a support guy who could have been replaced by a robot. Nearly every support request that came in, whether it made sense or not, had a reply saying:
"Thank you for your query, I will escalate with the development team"
...and then I would have a message saying:
"Hi Almond urgent issue case xxx - I think you need to PLEASE CHECK LOGS" (yes, with that capitalisation.)
I'd then look at the case, take 10 seconds to work out the customer had done something stupid when calling our API (often forgetting their authentication details, despite a clear message telling them as such) and tell Mark what the issue was, and how to find it for himself next time. I'd then usually get:
"Thank you but PLEASE CHECK LOGS to see if there is any more info we can provide to customer"
...there would be more back and forth, and then eventually something like the following would reach the customer...
"Very sorry the development team have a major issue they will fix very soon but in the meantime a workaround is (instructions for using authentication details)"
🤦♂️🤦♂️7 -
2 years into polytechnic I got my 1st big project as a subcontractor doing Symbian. No need to tell the company I presume.
Anyways, I was brought into the project just couple weeks before holiday season started. My Symbian programming experience was just the basics from school. 1st day I was crapping my pants out of anxiety. I pretty much didn't understand anything what my project manager or teammates were telling, so I just wrote EVERYTHING down on paper and recorded all the meetings to my laptop.
My job was to implement a very big end to end SDK feature. Basically from API through Symbian OS through HAL to other OS and into its subsystem. Nice job for a beginner :/
As the holidays were starting we had just drafted out the specification (I don't know how, because I didn't understand much of what was going on) and I got a clear mission from team lead. Make a working prototype of the feature during the time everybody else was on vacation.
"No problemos, I can do it" I BS'd myself and the team lead.
First 2 weeks I just read documentation, my notes and internal coding tutorials over and over again. I produced maybe couple of lines of usable code. I stayed at the office as late as I dared without seeming to obvious that I had no clue what I was doing. After the two weeks of staying late and seeing nightmares every night I had a sudden heureka moment. Code that I was reading started to make sense. Okay, still 2 weeks more until my teammates come back.
Next 2 weeks were furious coding and I got better every day. I even had time to refactor some of my earlier code so that quality was consistent.
Soooo, holidays are over and my team leader and collagues are very interested with my progress. "You did very well. Much better than expected. Prototype is working with main use case implemeted. You must have quite high competence to do this so well..."
"Well...I did have to refactor some stuff, so not 10/10"
I didn't say a word of my super late nights, anxiety and total n00biness.
Pretty much finished "like a boss". After that I was on the managers wanted list and they called me to ask if I had the time work on their projects.
Fake it, crap your pants, eat your crap and turn into diamonds and then you make it.
PS. After Symbian normal C++ and almost any other language has been a breeze to learn.2 -
I'm going for longest rant. TL:DR; version here:
http://pastebin.com/0Bp4jX9y
then:
http://pastebin.com/FfUiTzsh
Twat Client,
As per our conversation, here is an invoice for the work you requested on behalf of U.S. Bloom. I realize that you ended up going with another designer, but you did request samples of what my take on the logo design would be. The following line item is indicative of 1 hour of graphic design consultation as per your request via Skype.
As I recall, you mentioned that this is not how Upwork "works" but considering it was you who requested that I converse with you via Skype instead of via the Upwork messenger, and since there were no clear instructions on how to proceed with Upwork after our initial consultation, It is assumed that you were foregoing Upwork altogether to work with me directly, thus the invoice from me directly for my time involved in the project. I would have reached out to you via Skype, but it seems that you may have severed our connection there.
After spending a little time researching your company, I could not find current information for Basic Media Marketing, but I was able to reach out to your former partner Not A. Twat, who was more than helpful and suggested that he would encourage you to pay for the services rendered.
It is discouraging that you asked for my help and I delivered, but when I ask for compensation in return for my skills, you refused to pay and have now taken your site offline and removed me as a contact from Skype.
{[CLIENT of CLIENT]},
I am sorry that I have bothered you with this email. I copied you on it merely for transparency's sake. I am sure that your logo is great and I am sure whatever decision was made is awesome for your decision. I just wanted to make sure that you weren't getting "samples" of other people's work passed off as original work by Twat Media Marketing.
I can't speak for any of the other candidates, but since Twat asked me to conduct work with him via Skype rather than through Upwork, and since he's pretty much a ghost online now, (Site Offline, LinkedIn Removed or Blocked, and now Skype blocked as well) one has to think this was a hit and run to either crowdsource your logo inexpensively or pass off other artist's work as his own. That may not be the case, but from my perspective all signs are pointing to that scenario.
Here is a transcript. Some of his messages have been redacted.
As you can clearly see, requests and edits to the logo were being made from Jon to me, but he thinks it's a joke when I ask about invoicing and tries to pass it off as an interview. Do you see any interview questions in there? There were no questions about how long I have been designing, what are my rates, who have I done work for in the past, or examples of my previous work. There were none because he didn't need them at this point.
He'd already seen my proposal and my Behance.net portfolio as well as my rates on Upwork.com. This was a cut to the chase request for my ideas for your logo. It was not just ideas, but mock designs with criticism and approval awaiting. Not only that, but I only asked for an hour of compensation. After looking at the timestamps on our conversation, you can clearly see that I spent at least 3 hours corresponding with Twat on this project. That's three hours of work I could have spent on an honest paying customer.
I trust that TWATCLIENT will do the right thing. I just wanted you guys to know that I was in it to do the best design I could for you. I didn't know I was in it to waste three hours of my life in an "interview" I wasn't aware I was participating in.
Reply from ClientClient:
Hello Sir,
This message is very confusing?
We do not owe your company any money and have never worked with you before.
Therefore, I am going to disregard that invoice.
Reply from TWATCLIENT's boss via phone:
I have two problems with this. One I don't think your business practices are ethical, especially calling MY client directly and sending them an invoice.
Two why didn't you call or email Jon before copying my client on the email invoice?
Me: Probably because he's purposely avoiding me and I had no way to find him. I only got his email address today and that was from a WHOIS lookup.
Really, you don't think my business practices are ethical? What about slavery? Is that ethical? Is it ethical to pass of my designs to your client for critique, but not pay me for doing them?
... I'LL HAVE TO CALL YOU BACK!
My email follow up:
http://pastebin.com/hMYPGtxV
I got paid. The power of CCing the right combination of people is greater than most things on Earth.14 -
Some years back I was working in a project that essentially dealt with all things related to foreigners and foreign affairs in Switzerland. You could manage entry visas, work permits, citizenship, international warrants, Interpol requests, etc.
One of the test managers (from client side - i.e. the government) was once manually "testing" and mixed up the production and test instance, to both of which he was logged in at the time.
The test case then ended up setting up an entry ban against himself, as he used his own name for testing...
Next time he returned from vacation the border control at the airport were like "Uhm, Sir, we can't let you into the country. Please come with us." :D :D
(He managed to clear that up in end, I dare say, though, that he learned his lesson.)8 -
OK I can't deal with this user anymore.
This morning I get a text. "My laptop isn't getting emails anymore I'm not sure if this is why?" And attached is a screenshot of an email purporting to be from "The <company name> Team". Which isn't even close to the sort of language our small business uses in emails. This email says that his O365 password will soon be expiring and he needs to download the attached (.htm) file so he can keep his password. Never mind the fact that the grammar is awful, the "from" address is cheesy and our O365 passwords don't expire. He went ahead and, in his words, "Tried several of his passwords but none of them worked." This is the second time in less than a year that he's done this and I thought we were very clear that these emails are never real, but I'll deal with that later.
I quickly log into the O365 admin portal and reset his password to a randomly-generated one. I set this to be permanent since this isn't actually a password he should ever be needing to type. I call him up and explain to him that it was a phishing email and he essentially just gave some random people his credentials so I needed to reset them. I then help him log into Outlook on his PC with the new password. Once he's in, he says "so how do I reset this temporary password?" I tell him that no, this is his permanent password now and he doesn't need to remember it because he shouldn't ever need to be typing it anyway. He says "No no no that won't work I can't remember this." (I smile and nod to myself at this point -- THAT'S THE IDEA). But I tell him when he is in the office we will store the password in a password manager in case he ever needs to get to it. Long pause follows. "Can't I just set it back to what it was so I can remember it?"10 -
I love how the Keybase Linux client installs itself straight into /keybase. Unix directory structure guidelines? Oh no, those don't apply to us. And after uninstalling the application they don't even remove the directory. Leaving dirt and not even having the courtesy to clean it up. Their engineers sure are one of a kind.
Also, remember that EFAIL case? I received an email from them at the time, stating some stuff that was about as consistent as their respect for Unix directory structure guidelines. Overtyping straight from said email here:
[…] and our filesystem all do not use PGP.
> whatever that means.
The only time you'll ever use PGP encryption in Keybase is when you're sitting there thinking "Oh, I really want to use legacy PGP encryption."
> Legacy encryption.. yeah right. Just as legacy as Vim is, isn't it?
You have PGP as part of your cryptographic identity.
> OH REALLY?! NO SHIT!!! I ACTIVELY USED 3 OS'S AND FAILED ON 2 BECAUSE OF YOUR SHITTY CLIENT, JUST TO UPLOAD MY FUCKING PUBLIC KEY!!!
You'll want to remove your PGP key from your Keybase identity.
> Hmm, yeah you might want to do so. Not because EFAIL or anything, just because Keybase clearly is a total failure on all levels.
Written quickly,
the Keybase team
> Well that's fucking clear. Could've taken some time to think before hitting "Send" though.
Don't get me wrong, I love the initiatives like this with all my heart, and greatly encourage secure messaging that leverages PGP. But when the implementation sucks this much, I start to ask myself questions about whether I should really trust this thing with my private conversations. Luckily I refrained from uploading my private key to their servers, otherwise I would've been really fucked. -
I'm going to a friend's house because his computer won't boot. In case I don't return, please clear my git stash. No one needs to see that kind of crap.1
-
You know. I have mixed feelings on the way people have been reacting to senzory's rant regarding the way he deals with clients. Some people believe that he is unethical, some people see it as just business(me included) but to see what the community says is somewhat interesting.
First, let me be clear on something: i have been fucked over by clients many times for being a nice guy and trying to play it nicely.
Because of this I am selective of who deserves good treatment and who gets to fuck off. But regardless of the client I do the same thing: regardless of who it is, nice or otherwise. If a project will take 1 week to complete then I tell them that it will take 3 to 4 weeks. Why? Well because I have many things on my plate, I am married and have two children, one lives with me and I try to spend as much time with them as I can. I work from 8 to 6, sometimes later and when I get home I sometimes don't do shit since at work I maintain the web services of 2 fucking college campuses.
I don't look for my clients. Through word of mouth they come to me. And being in a privileged position(there are about 5 devs here and they all suck) they can either do with my times and fees or can fuck off over the border where Pedro will do their shit on vbscript and classic ASP(which I like, but you know why this is not an option in 2018)
Apps can be sold for large quantities of money, regardless of what their use case is, if a company wants to outsource their apps to an external developer(such as yours truly) that means that they are willing to play the game. And that is what business is: a game, a survival game.
Where I live, a company will not think twice of firing a single mother for whatever reason. In the U.S of A, and specially in Texas, you can be fired for whatever reason. I have automated people's jobs without knowing it, I have made people lose their jobs and saved companies thousands with my apps. Things like that were not know to me, had I known that someone would have lost their jobs I would have tried differently.
If a company is willing to tell employees(loyal employees) to fuck off, then i do not regret charging what I do and hustling the way I do with rat faced dickheads that care not for people. If I could I would destroy entire companies here. But that is for another story.
I have been used, insulted, gambled with and have been lied to, to my face by these companies. Which has left me jaded.
Oh now, trust me. I am still highly optimistic and nice. And if someone has a small business and I can help them out, then I will lower my rate and give positive vibes in the hopes of making things better through karma. I want to see the best in people. But this does not stop me from being a shark and giving quotes the way I do.
Because companies, as an overall entity are not people with the best intentions(sometimes) and they will not take your kindness, they will take advantage if possible in an effort to save money. Its just dickhead business.
So why, as a professional and privileged developer that obtained his skills through intense study and practice, a wizard by all means, should lower to these nameless, Faceless entities?
Why should i give them the fairness they do not give others? Why should I play the high morale game and come out as a loser?
At the end of the day, I get to swim in my own pool of success, knowing that they did not get the chance to fuck me over
So if you tell me that you took advantage of your hard earned skillset, and built a cross platform app(which compiles to native binaries) and sold 2 products for one, I will tell you that you are an excellent player at their game. If you tell me that you finished before and got to charge for 2 weeks of work doing just 2 days I will say that you are an excellent time manager. And if you tell me that at the end of the day you managed to keep said customer I will tell you that you are a true professional.
There is a difference lads, in selling a product to big momma jamma's cajun restaurant, to the largest logistics company around.
Be nice to those that desserve it.6 -
'Sup mates.
First rant...
So Here's a story of how I severely messed up my mental health trying to fit in university.
But the bonus: Found my passion.
Her we go,
Went to university thinking it'll be awesome to learn new stuff.
1st sem was pure shock - Programming was taught at the speed of V2 rockets.
Everything was centred around marks.
Wanted to get a good run in 2nd sem, started to learn Vector design, but RIP- Hospitalized for Staph infection, missed the whole sem and was in recovery for 3 months.
So asked uni for financial assistance as I had to re-register the courses the next semester. They flat out refused, not even in this serious of a case.
So, time to register courses for third semester, turns out most of the 2nd year courses are full, I had to take 3rd year courses like:
Social and Informational Networks
Human Computer Interaction
Image processing
And
Parallel and Distributed Computing (They had no prerequisites listed, for the cucks they are: BIG MISTAKE)
Turns out the first day of classes that I attend, the Image proc. teacher tells me that it's gonna be difficult for 2nd years so I drop it, as the PDC prof. also seconds that advice.
Time travel 2 months in: The PDC prof is a bitch, doesn't upload any notes at all and teaches like she's on Velocity-9 while treating this subject like a competition on who learns the most rather than helping everyone understand.
Doesn't let students talk to each other in lab even if one wants to clear their friend's doubt, "Do it on your own!" What the actual fuck?
Time for term end exams and project submission: Me and 3 seniors implement a Distributed File System in python and show it to her, she looks satisfied.
Project Results: Everyone else got 95/100
I got 76.
She's so prejudiced that she thinks that 2nd years must have been freeloaders while I put my ass on turbo for the whole sem, learning to code while tackling advanced concepts to the point that I hated to code.
I passed the course with a D grade.
People with zero consideration for others get absolutely zero respect from me.
Well it's safe to say that I went Nuclear(heh.. pun..) at this point, Mentally I was in such a bad place that I broke down.... Went into depression but didn't realise it.
But,
I met a senior in my HCI class that I did a project with, after which I discovered we had lots of similar interests.
We became good friends and started collaborating on design projects and video game prototyping.
Enter the 4th sem and holy mother of God did I got some bad bad profs....
Then it hit me
I have been here for two years, put myself through the meat grinder and tore my soul into shreds.
This Is Not Me
This Wont Be The End Of Me
I called up my sister in London and just vented all my emotions in front of her.
Relief.
Been a long time since I felt that.
I decided to go for what I truly feel passionate about: Game Design
So I am now trying to apply for Universities which have specialised courses for game design.
I've got my groove again, learnt to live again.
Learning C# now.
:)
It's been a long hello, and If you've reached till here somehow, then damn, you the MVP.
Peace.9 -
Admin Access
Have you ever been in a position where you become the de-facto person who works with a certain tool, but are denied full admin access to that tool for no real reason?
Two years ago I was put on the Observability squad and quickly discovered it was my thing, implementing tracking and running queries on this third-party tool, building custom stuff to monitor our client-side successes and failures.
About a year ago I hit the point where if you asked anyone "Who is the go-to person for help/questions/queries/etc. for this tool", the answer was just me lol. It was nice to have that solid and clear role, but a year later, that's still the case, and I'm still not an admin on this platform. I've asked, in an extremely professional way armed with some pretty good reasons, but every time I'm given some lame non-answer that amounts to No.
As far as I'm aware, I'm the only dev on our team at all who uses custom/beta features on this site, but every time I want to use them I have to go find an admin and ask for an individual permission. Every time. At the end of 2020 it was happening once a month and it was so demoralizing hitting up people who never even log into this site to ask them to go out of their way to give me a new single permission.
People reach out to me frequently to request things I don't have the permissions to do, assuming I'm one of the 64 admins, but I have to DM someone else to actually do the thing.
At this point it feels very much like having to tug on the sleeve of a person taller than me to get what I need, and I'm out of ways to convince myself this isn't demoralizing. I know this is a pretty common thing in large companies, meaningless permissions protocols, and maybe it's because I came from IT originally that it's especially irritating. In IT you have admin access to everything and somehow nobody gets hurt lol-- It still blows my mind that software devs who make significantly more money and are considered "higher up" the chain (which i think is dumb btw) are given less trust when it comes to permissions.
Has anyone figured out a trick that works to convince someone to grant you access when you're getting stonewalled? Or maybe a story of this happening to you to distract me from my frustration?13 -
Being asked (or more accurately made!) to travel Mon-Fri (i.e. staying away from home) for at least 2 months to a customer's site to work on a completely insane project that had no design, formal requirements, preparation or support. It was just a "friendly side project" 2 friendly managers concocted.
After some research, the project wasn't actually technically possible, but the customer wanted it so I had to try to find a solution.
The complication for me was that my wife was almost 8 months pregnant with our first kid and I made it clear I really wanted to be at home. Was left to feel I had little choice but to go. Project runs over but damnit I'm taking my 3 weeks parental leave entitlement.
Day before I'm due to go back to work, I get an email saying "You'll be travelling tomorrow for the next few weeks". At that point, I replied with the most angry work email I've ever sent and threatened that if that was the case I wouldn't be back. Plans were changed.
I ended up leaving within a couple of months anyway.2 -
So this bloody hilarious, I submit my PWA to windows store, mainly for shits and giggles, see how the whole thing works and all that.
App gets approved, I go in and run another submission to upload a few extra screenshots, at this point they block it as I do not have a privacy policy, but accept user authentication, which is not the case, so after a few days of back and forth I ask them to attach a screenshot, so turns out I need a privacy policy as when the users click on the map link which opens Google Maps in a NEW window, has a sing in button.
According to them, this is 'Opening within my application" and I am apparently able to access user details via google own sign in link, not SSO.
So as a joke, after some frustration I wrote up a privacy policy, what is an even bigger joke is that they accepted it…
This exists solely for the benefit of Microsoft who are having trouble comprehending the fact that RTMS Events does NOT have Authentication.
Microsoft believes that as the application uses Google Maps, and when Google Maps opens a “Sign In” button appears, that I am able to access your personal information.
As any reasonable person will understand, that is not the case, logging into Google Maps/Google for the benefit of using Google Maps in NO WAY gives anyone else access to your personal information.
So to be clear, I do not have any interest or access of any kind to your personal information, should you have any concerns about your privacy, remember, that the “Sign In” button is for Google, not RTMS, take up any issues with them, I am pretty sure they have a REAL and actually NECESSARY privacy policy.
http://rtms.events/privacy.html3 -
My new team more or less forced me to change from a Windows machine to a Mac (Mac book pro, I think?) due to "compatibility issues", so I thought I might as well see what all the Mac fuzz is about. Here is a list of my observations so far:
- If you try powering on the mac book with more than one DisplayPort cable plugged in, the screen will go black until you plug all DP cables out
- If you unplug your DisplayPort cables to go to a meeting you can expect one of the monitors getting frozen on the blurry login screen (without any login prompt) when you get back (while the main monitor shows your desktop without the taskbar)
- If you get out of range from your wireless peripherals (keyboard in this case) while going to a meeting your keyboard layouts are most likely deleted and reset to U.S qwerty when you get back to your desk
- When pressing quit on any application you can't expect in to close and clear up memory, it will remain in the background until you force kill it.
- There is a 50/50 chance that your Mac book never wakes up from sleep
Best thing is that I found out today that the software we use is completely compatible with any RedHat/Solaris distro.
Rant over.12 -
I just tried to sign up to Instagram. I made a big mistake.
First up with Facebook related stuff is data. Data, data and more data. Initially when you sign up (with a new account, not login with Facebook) you're asked your real name, email address and phone number. And finally the username you'd like to have on the service. I gave them a phone number that I actually own, that is in my iPhone, my daily driver right now (and yes I have 3 Androids which all run custom ROMs, hold your keyboards). The email address is a usual for me, instagram at my domain. I am a postmaster after all, and my mail server is a catch-all one. For a setup like that, this is perfectly reasonable. And here it's no different, devrant at my domain. On Facebook even, I use fb at my domain. I'm sure you're starting to see a pattern here. And on Facebook the username, real name and email domain are actually the same.
So I signed up, with - as far as I'm aware - perfectly valid data. I submitted the data and was told that someone at Instagram will review the data within 24 hours. That's already pretty dystopian to me. It is now how you block bots. It is not how Facebook does it either, at least since last time I checked. But whatever. You'd imagine that regardless of the result, they'd let you know. Cool, you're in, or sorry, you're rejected and here's why. Nope.
Fast-forward to today when I recalled that I wanted to sign up to Instagram to see my girlfriend's pictures. So I opened Chromium again that I already use only for the rancid Facebook shit.. and it was rejected. Apparently the mere act of signing up is a Terms of Service violation. I have read them. I do not know which section I have violated with the heinous act of signing up. But I do have a hunch.
Many times now have I been told by ignorant organizations that I would be "stealing" their intellectual property, or business assets or whatever, just because I sent them an email from their name on my domain. It is fucking retarded. That is MY domain, not yours. Learn how email works before you go educate a postmaster. Always funny to tell them how that works. But I think that in this case, that is what happened.
So I appealed it, using a random link to something on Instagram's help section from a third-party blog. You know it's good when the third-party random blog is better. But I found the form and filled it in. Same shit all over again for info, prefilling be damned I guess. Minor convenience though, whatever.
I get sent an email in German, because apparently browsing through a VPS in Germany acting as a VPN means you're German. Whatever... After translating it, I found that it asks me to upload a picture of myself, holding a paper in my hands, on which I would have a confirmation code, my username, and my email address.. all hand-written. It must not be too dark, it must be clear, it must be in JPEG.. look, I just wanted to fucking sign up.
I sent them an email back asking them to fix all of this. While I was writing it and this rant, I thought to myself that they can shove that piece of paper up their ass. In fact I would gladly do it for them.
Long story short, do not use Instagram. And one final thing I have gripes with every time. You are not being told all the data you'll have to present from the get-go. You're not being told the process. Initially I thought it'd just be email, phone, username, and real name. Once signed up (instantly, not within 24 hours!) I would start setting up my account and adding a profile picture. The right way to ask for a picture of me! And just do it at my own pace, as I please.
And for God's sake, tackle abuse when it actually happens. You'll find out who's a bot and who isn't by their usage patterns soon enough. Do not do any of this at sign-up. Or hell, use a CAPTCHA or whatever, I don't fucking care. There's so many millions of ways to skin this cat.
Facebook and especially Instagram. Both of them are fucking retarded.6 -
Long rant ahead.. 5k characters pretty much completely used. So feel free to have another cup of coffee and have a seat 🙂
So.. a while back this flash drive was stolen from me, right. Well it turns out that other than me, the other guy in that incident also got to the police 😃
Now, let me explain the smiley face. At the time of the incident I was completely at fault. I had no real reason to throw a punch at this guy and my only "excuse" would be that I was drunk as fuck - I've never drank so much as I did that day. Needless to say, not a very good excuse and I don't treat it as such.
But that guy and whoever else it was that he was with, that was the guy (or at least part of the group that did) that stole that flash drive from me.
Context: https://devrant.com/rants/2049733 and https://devrant.com/rants/2088970
So that's great! I thought that I'd lost this flash drive and most importantly the data on it forever. But just this Friday evening as I was meeting with my friend to buy some illicit electronics (high voltage, low frequency arc generators if you catch my drift), a policeman came along and told me about that other guy filing a report as well, with apparently much of the blame now lying on his side due to him having punched me right into the hospital.
So I told the cop, well most of the blame is on me really, I shouldn't have started that fight to begin with, and for that matter not have drunk that much, yada yada yada.. anyway he walked away (good grief, as I was having that friend on visit to purchase those electronics at that exact time!) and he said that this case could just be classified then. Maybe just come along next week to the police office to file a proper explanation but maybe even that won't be needed.
So yeah, great. But for me there's more in it of course - that other guy knows more about that flash drive and the data on it that I care about. So I figured, let's go to the police office and arrange an appointment with this guy. And I got thinking about the technicalities for if I see that drive back and want to recover its data.
So I've got 2 phones, 1 rooted but reliant on the other one that's unrooted for a data connection to my home (because Android Q, and no bootable TWRP available for it yet). And theoretically a laptop that I can put Arch on it no problem but its display backlight is cooked. So if I want to bring that one I'd have to rely on a display from them. Good luck getting that done. No option. And then there's a flash drive that I can bake up with a portable Arch install that I can sideload from one of their machines but on that.. even more so - good luck getting that done. So my phones are my only option.
Just to be clear, the technical challenge is to read that flash drive and get as much data off of it as possible. The drive is 32GB large and has about 16GB used. So I'll need at least that much on whatever I decide to store a copy on, assuming unchanged contents (unlikely). My Nexus 6P with a VPN profile to connect to my home network has 32GB of storage. So theoretically I could use dd and pipe it to gzip to compress the zeroes. That'd give me a resulting file that's close to the actual usage on the flash drive in size. But just in case.. my OnePlus 6T has 256GB of storage but it's got no root access.. so I don't have block access to an attached flash drive from it. Worst case I'd have to open a WiFi hotspot to it and get an sshd going for the Nexus to connect to.
And there we have it! A large storage device, no root access, that nonetheless can make use of something else that doesn't have the storage but satisfies the other requirements.
And then we have things like parted to read out the partition table (and if unchanged, cryptsetup to read out LUKS). Now, I don't know if Termux has these and frankly I don't care. What I need for that is a chroot. But I can't just install Arch x86_64 on a flash drive and plug it into my phone. Linux Deploy to the rescue! 😁
It can make chrooted installations of common distributions on arm64, and it comes extremely close to actual Linux. With some Linux magic I could make that able to read the block device from Android and do all the required sorcery with it. Just a USB-C to 3x USB-A hub required (which I have), with the target flash drive and one to store my chroot on, connected to my Nexus. And fixed!
Let's see if I can get that flash drive back!
P.S.: if you're into electronics and worried about getting stuff like this stolen, customize it. I happen to know one particular property of that flash drive that I can use for verification, although it wasn't explicitly customized. But for instance in that flash drive there was a decorative LED. Those are current limited by a resistor. Factory default can be say 200 ohm - replace it with one with a higher value. That way you can without any doubt verify it to be yours. Along with other extra security additions, this is one of the things I'll be adding to my "keychain v2".11 -
"Impossible deadline experience?"
When product owners promise delivery dates.
One day, I came back from a two weeks holiday, relaxed. I noticed a teammate missing. "Yes, he took the week off". Sure, why not.
We were working under a bastardized enterprisey version of Scrum (didn't we all at some point?). So we didn't just have a product owner, we had three and an additional "Head of PO". Because enterprises can't live without hierarchies or something. Barely an hour after I came into office, she entered the room and came straight to me. "Your coworker was almost done implementing feature X. You need to finish it immediately. No worries, though, coworker said the rest is a piece of cake".
It wasn't. There was *a lot* left to do, the JIRA task wasn't entirely clear, and the existing code for the feature was so-so (obviously WIP code). I estimated two weeks for the implementation, plus some time to clarify the requirements. When telling "Head of PO" she lost her shit. Screaming things like "this feature is due the end of this week" and "I signed this with my blood!". Well, I didn't, and I made it clear that I hadn't been consulted on this, thus I would not accept any blame in case we missed the deadline.
So I gave my best that week, getting pestered by "Head of PO" all the time. "Is it done yet?", "why does it take so long?" and "your coworker would've been done by now!". Yeah fuck you, too. Not only was I not relaxed any more, I was even more stressed than before my holiday! Thanks, you stupid bitch.
Well, her arbitrary deadline came and the feature wasn't ready. And what happened was... exactly nothing. The following week my coworker returned, who gave me an apologetic smile. "I told her the feature was nowhere finished. And even me, being familiar with the task, couldn't make it in time". We finished the feature together that week, and that was the end of it. So... "Head of PO" either didn't listen or lied to me. She then stressed me to the max right from the day I came back from my holiday. And in the end it didn't even matter.
Again, thanks you stupid bitch, for creating a toxic work environment. Should you ever read this, I'm happy I quit and I hope you miss every single deadline for the rest of your life. Screw you.8 -
In case you ever wondered why Apple had been hailed as the epitome in design leadership, this should clear it up.12
-
So ok here it is, as asked in the comments.
Setting: customer (huge electronics chain) wants a huge migration from custom software to SAP erp, hybris commere for b2b and ... azure cloud
Timeframe: ~10 months….
My colleague and me had the glorious task to make the evaluation result of the B2B approval process (like you can only buy up till € 1000, then someone has to approve) available in the cart view, not just the end of the checkout. Well I though, easy, we have the results, just put them in the cart … hmm :-\
The whole thing is that the the storefront - called accelerator (although it should rather be called decelerator) is a 10-year old (looking) buggy interface, that promises to the customers, that it solves all their problems and just needs some minor customization. Fact is, it’s an abomination, which makes us spend 2 months in every project to „ripp it apart“ and fix/repair/rebuild major functionality (which changes every 6 months because of „updates“.
After a week of reading the scarce (aka non-existing) docs and decompiling and debugging hybris code, we found out (besides dozends of bugs) that this is not going to be easy. The domain model is fucked up - both CartModel and OrderModel extend AbstractOrderModel. Though we only need functionality that is in the AbstractOrderModel, the hybris guys decided (for an unknown reason) to use OrderModel in every single fucking method (about 30 nested calls ….). So what shall we do, we don’t have an order yet, only a cart. Fuck lets fake an order, push it through use the results and dismiss the order … good idea!? BAD IDEA (don’t ask …). So after a week or two we changed our strategy: create duplicate interface for nearly all (spring) services with changed method signatures that override the hybris beans and allow to use CartModels (which is possible, because within the super methods, they actually „cast" it to AbstractOrderModel *facepalm*).
After about 2 months (2 people full time) we have a working „prototype“. It works with the default-sample-accelerator data. Unfortunately the customer wanted to have it’s own dateset in the system (what a shock). Well you guess it … everything collapsed. The way the customer wanted to "have it working“ was just incompatible with the way hybris wants it (yeah yeah SAP, hybris is sooo customizable …). Well we basically had to rewrite everything again.
Just in case your wondering … the requirements were clear in the beginning (stick to the standard! [configuration/functinonality]). Well, then the customer found out that this is shit … and well …
So some months later, next big thing. I was appointed technical sublead (is that a word)/sub pm for the topics‚delivery service‘ (cart, delivery time calculation, u name it) and customerregistration - a reward for my great work with the b2b approval process???
Customer's office: 20+ people, mostly SAP related, a few c# guys, and drumrole .... the main (external) overall superhero ‚im the greates and ur shit‘ architect.
Aberage age 45+, me - the ‚hybris guy’ (he really just called me that all the time), age 32.
He powerpoints his „ tables" and other weird out of this world stuff on the wall, talks and talks. Everyone is in awe (or fear?). Everything he says is just bullshit and I see it in the eyes of the others. Finally the hybris guy interrups him, as he explains the overall architecture (which is just wrong) and points out how it should be (according to my docs which very more up to date. From now on he didn't just "not like" me anymore. (good first day)
I remember the looks of the other guys - they were releaved that someone pointed that out - saved the weeks of useless work ...
Instead of talking the customer's tongue he just spoke gibberish SAP … arg (common in SAP land as I had to learn the hard way).
Outcome of about (useless) 5 meetings later: we are going to blow out data from informatica to sap to azure to datahub to hybris ... hmpf needless to say its fucking super slow.
But who cares, I‘ll get my own rest endpoint that‘ll do all I need.
First try: error 500, 2. try: 20 seconds later, error message in html, content type json, a few days later the c# guy manages to deliver a kinda working still slow service, only the results are wrong, customer blames the hybris team, hmm we r just using their fucking results ...
The sap guys (customer service) just don't seem to be able to activate/configure the OOTB odata service, so I was told)
Several email rounds, meetings later, about 2 months, still no working hybris integration (all my emails with detailed checklists for every participent and deadlines were unanswered/ignored or answered with unrelated stuff). Customer pissed at us (god knows why, I tried, I really did!). So I decide to fly up there to handle it all by myself16 -
I was laid off. The reason? Well, they didn't really want to say but they were clear it wasn't due to performance. (Thankfully, I got severence pay.) From my perspective it really came out of nowhere, no warnings or even hints that this was coming, which has me spinning. 😵 If I'm doing well at my job and the company is doing well, how in the seven hells could I get laid off??
What they said was partly the reason didn't seem true, or not the whole truth. They essentially stated that "they talked with everyone I worked with" (probably not true based on their decision, but who knows) and came to the conclusion I wasn't suitable to work on large teams, and that's the direction they are moving in. As if it wasn't something that could be improved on 🤔
I'll be the first to admit I'm not the best communicator face-to-face, mainly due to my social anxiety but also because I have too many thoughts. It can be difficult to condense them down for other people in the heat of the moment. (I'm an INTP, if that helps you to understand what I mean.) However, I know I'm a pretty good communicator overall since I listen and pay special attention to phrasing and word choice. So most people I worked with there seemed quite satisfied with communication with me. There were only 2-3 out of more than 12 who I had any difficulty working with.
So why did I have trouble properly working with a couple people? I hesitate to say this but, like other jobs I've had, well... they didn't have either the experience or knowledge to understand me. Basically, they were stupid. I was pretty frustrated working with such inadequately prepared people on a complex project with ludicrously short deadlines, and had no desire to work overtime so I could educate or guide them.
To give perspective, one React developer didn't understand how object properties work with JavaScript. 🤦♀️ (They are references, by the way. And yes you can have an object reference inside another object!) Another React developer thought it was okay to have side effects during the render lifestyle because they didn't affect the component itself, even if it was a state change in a parent component. 🤦♀️🤦♀️
So what is the real reason I lost my job, if not performance? Could be I pissed off the stupid (and loud) ones which hurt my reputation. My main theory, however, is that I was raising the cost of the company's healthcare. I had a diseased organ so I did miss some work or worked from home more than I should have, and used my very good health insurance to the fullest extent I could. Of course, if they say that's the reason then they can get sued.
Huge bummer, whatever the case. I definitely learned some lessons from this situation that others in a similar position could find useful. I can write that up if anyone expresses interest.
Honestly though, this is a good thing in the end, because I was already planning to leave in a month or 2 once I found a better job. I was waiting for the right time for the project I was on and for my own financial stability. So I'm trying hard not to let this affect my self-esteem and think of it as an opportunity to get my dream job, which is working with a remote-first company that is focused on improving the human condition.
Being unemployed isn't ideal, but at least I didn't have to quit! And I get to have a bit of a vacation of a sort.7 -
I WANT TO SAY A BIG *FUCK YOU* TO SYNCFUSION FOR OFFERING NUGETS BUT NOT MAKING IT CLEAR THAT YOU NEED TO PAY AN $1,000 LICENSE TO GET ITS CONTROLS TO WORK SO YOU WASTE A LOT OF TIME WONDERING WHY THEY DON'T WORK, AND THEIR DOCUMENTATION IS THE SHITS, AND THEN 4 HOURS LATER YOU REALIZE THAT THE REASON THEY DON'T WORK IS BECAUSE YOU HAVE BEEN USING THE DEMO VERSION. SO, SYNCFUSION... *FUCK YOU* WITH ALL MY MIGHT. AND IN CASE YOU DIDN'T HEAR ME *FUCK YOU* ONE MORE TIME!! BITCH!4
-
Security! I wish clients would listen to me regarding security...
The client has started to ask me to give them access to all the logins I have for the email, domain, server etc.
I created them a new account and gave them admin access.
Now they’re asking for password for all the email accounts (I don’t even store them). So I asked why, she wanted to have them in case some of the employees forgot their password.
I explained to her, deeply and many times, WHY THIS IS A BAD FUCKING IDEA. I also discovered she’s keeping it in a document, clear text.
Why do they pay me for support, when they want to have access to everything...
I’m wondering if they’re planning to find someone else to do their support, or do it themselves.
I didn’t even think 25€ pr month is that expensive for support2 -
Trigger warning:
Emotional !dev love life rant
I think this is not the right place to pour my heart out, but despite its more recent infights I still consider devRant to be a special community to me. And I guess if devRant is my goto place for support that's an issue. But maybe I just need to shout into a void because this is not about you solving this for me.
I have been in this relationship for ~6 years. My first great love. In the beginning, everything was perfect - a love story like from a cheesy movie. We've been through a lot to be together: Long distance, moving countries, a ton of bureaucracy (as she's from another country). So many memories.
It came as a surprise to me when she ended things. It really shouldn't have been. We've talked a lot about the reasons and I now see how much I've taken her for granted and neglected our relationship. I see now how I've been avoiding my problems and how I didn't work on my (mental and physical) health issues as good as I need to - not just for any relationship, but for myself. The regret/shame/guilt of not giving it 100% and of neglecting her weights heavily on me (besides the loss) and I am not sure what is worse.
Besides our relationship withering because of neglecting emotional needs, she also questioned our compability. We certainly have differences and different interests and we're both somewhat uncertain whether we really fit, if we ignore our history/emotions. It is actually a question that popped up in my head before sometimes, but I was too afraid to look into it for fear the answer is no. But here we are and ignoring that didn't help.
For now, we both need time to think about what we really want and whether this includes the other. We agreed that we need some distance to process the feelings. We still live in the same flat but for now she's staying with a friend most of the time and I'll also have a friend's place available soon. If in some time we both feel like we want to be together, we can date again - however she was also clear that she doesn't want to give any false hope and her current vision doesn't include me. If not, well have to hire a divorce lawyer. (Why you need a lawyer for that if both agree is beyond me.)
I am shattered. When it became clear to me that the relationship is over (and I ruined it), I got nauseous to the point that I threw up constantly for 6 hours. For the following 2 days I only cried and haven't eaten. Third day I started cleaning up the flat (long overdue!) - mostly for her tbh but I know it's good for myself, so better do the right thing with wrong motivation than sob all day -
talked to my psychiatrist and she brought some lunch which I could eat. Today (fourth day) she came over and we cooked lunch. I am still feeling terrible but the first days have been the worst I've ever felt and I've been trough quite a bit of (physical & chronic) pain - emotional pain hits different.
Let's see how this works out. In any case I now know very clear that I can't continue like before and need to work on my issues (for my own sake). I want be my best self, even if right now I don't have a lot of energy and am very depressed. I got an appointment with a therapist tomorrow - something I should have done years ago but I was overwhelmed with anxiety and analysis paralysis. I hope the future will be brighter and while I still wish to wake up from this nightmare and realize my faults without this breakup, I also know that I have to face reality.
PS: I do feel better now after writing this out. Thanks for listening, I guess.29 -
I'm a student at a cyber education program. They taught us Python sockets two weeks ago. The next day, I went home and learned multithreading.
Then, I realized the potential.
I know a guy1 who knows a guy2 who runs a business and could really use an app I could totally make. And it's a great idea and it's gonna be awesome and I'm finally gonna do something useful with my life.
All I gotta do is learn UI. Easy peasy.
I spent the next week or so experimenting with my code, coming up with ideas for the app in my head and of course, telling all my friends about it. Bad habit, I know.
Guy1 was about to meet Guy2, so I asked Guy1 to tell Guy2 about my idea. He agreed. I reminded him again later that day, and then again in a text message.
The next day, I asked him if he remembered.
Guess what.
I asked him to text Guy2 instead. He came back to me with Guy2's reply: "Why won't he send me a message himself?".
So I contacted Guy2. After a while, he replied. We had a short, awkward conversation. Then he asked why he should prefer a new app over the existing replacement.
He activated my trap card. With a long chqin of messages, I unloaded everything I was gathering in my mind for the last week. I explained how he could use the app, what features it could have and how it would solve his problem and improve his product. I finished it off with the good old "Yeah, I was bored😅" to make the whole thing look a bit more casual.
Now, all that's left to do is wait.
...
Out of all the possible outcomes to this situation, this was both the worst the least expected one.
I'm not familliar with the English word for "Two blue checkmarks, no reply". But I'm certain there is no word in any language to describe what I'm feeling about this right now.
By that point, Guy1 has already made it clear that he's not interested in being my messanger anymore. He also told me to let the thing die, just in case I didn't get the hint. I don't blame him though.
It's been almost a week since then. Still no reply from Guy2. I haven't quite been able to get over it. Telling all my friends about it didn't really help.
Looking back, I think Guy2 has never realised he has that problem with his product.
But still, the least he could do is tell me why he dosen't like it...
"Why won't he send me a message himself?" Yeah, why really? HMMM :thinking:
You know what? If I ever somehow get the guts to leave my home country, I'm sending a big "fuck you" to this guy.9 -
So I met this person via a social platform.
They were absolutely silly and weren't able to hold a conversation. So I, like a normal person, just stopped trying to keep things alive.
Over the years, I have realised and learnt that if a person is interested in being friends, they'd put in efforts and I alone will not have to drag things on my shoulder.
I started cutting out people right, left, and center who I felt were taking advantage of me or using me in some way or another.
I ended up saving a lot of time and energy. I no longer feel drained or anxious about something not working out. Not dragging saved me from draining.
Anyway, they reach out to me again after few weeks and I was like let's give it a try to establish a friendship, because befriending people is my weak point.
The cycle repeats. At first I thought it must be because of the asynchronous nature of the platform so I drop my Telegram Id in case they preferred an IM approach.
I swear in the name of sweet lord, the retard does the same behaviour. So, I stopped communication.
And one fine day, the person tells me that they lack social skills and want to learn how to make friends and stuff.
Very fair point. So, me being me, gave them a few tips and critically pointed out their behaviour on how they reply with a one liner after every 2 or 3 business days.
Absolutely no change in their behaviour. They kept texting me the same.
At this point, I was like why am I doing it? I could find better people easily. Because for me, communication is everything. I cannot function without a good communication between two living beings.
So, I asked them why are they even trying to learn social skills when they barely implement it and don't want to change to which they reply saying that so they can use it to befriend people and network to getter better job opportunities.
I fuck them off.
And fuck such people who have intentions, are not clear enough about it, and play people for their own selfish gains.
And this where another learning I got from @scout is have boundaries.
Why do all good people in my life leave? Damn it! I need those good people back and be friends with them and not retards who cannot even communicate beyond one liner.11 -
TLDR boss is an idiot.
Boss has an issue. Sends screenshot, and a one sentence explanation, boss-style (not really clear, but the screenshot helps).
I set to solve it, not a minute passes, the boss os calling.
Explains the issue, i tell him I'm working on it, will msg when done. He explains the problem again, and tells me to hurry. I tell him, sure, let's hang up, give me five minutes, so he starts explaining again, that it's IMPORTANT.
Finally hangs up, it didn't take more than 3 minutes to solve it, msg him, it's done. test it, screenshots for the two parts i solved (of the one he wanted corrected and one where a similar case is still as it's supposed to be, not altered).
He calls me, I start telling him this us what I did, the screenshot.... *Interrups*
This is not what he needed, it's important, IMPORTANT i say, and tells the problem again.
I'm pretty annoyed by now, and just calm fuckoff mood comes over. I practically told him to click the link and see for himself....
if you want to take 10 minutes for something i would explain in 2 sentences, is it really that important....6 -
Do not touch Salesforce.
Especially Salesforce Marketing Cloud.
It is a fucking joke this product even exists. Buy Hubspot instead. Marketing Cloud is the single worst piece of software I have had to implement out of 4 years working in software and a lifetime working in tech.
Literally nothing works. You click a button and bam, nothing. The UI actively lies to the user. Nothing is guaranteed to work and support is some guy in India who shrugs his shoulders and walks away. Things will randomly break and warning messages are tiny, indecipherable babble that mean nothing.
If you are dev, walk away. If you are a potential customer, walk away. This company DESERVES a bad reputation for the absolute heap of dogshit that is Marketing Cloud.
The worst part is that it's likely going to affect my job and my career because of how fucking dogshit it is.
Fuck Salesforce in case the messaging isn't clear.5 -
Guys kill me please...
WE USE CLEARCASE AND ANT
Because git and maven are still under evaluation....
Am I working for the wrong company?5 -
Dashlane is the worst password manager to use. I was trying to set up categories and since it does not have a simple selection box change feature I had to grab almost 100 at a time to change. Unfortunately after changing them I realized I had a duplicate and I clicked on that one to delete it. The system was still selecting all 100 (it uses a slightly gray color to show what is selected rather than a clear check box type feature) and it deleted all 100 passwords. It never asked me a question or gave me an undo feature. The interface is very difficult to handle.
Further, to set up a second user and grant them access to a large number of passwords (in this case my wife I wanted to give her access to 128 passwords), you must click them one at a time and then when you set it up they cannot get their own master password. Very cumbersome.1 -
I prefer it doing 2 tasks parallely during the initial phase of requirement gathering and design phase.(makes more sense if you are working extremely new system and framework)
1. Keep collecting requirements from clients and understand them.
2. Collect different designing aspects for the project and parallely, build a POC for 2 purpose: to get hands into the new Framework and also as a demo to clients. Working on POC helps in 3 ways: Improving understanding of requirement, improving framework knowledge, and playing around with code whenever bored of designing and reading tons of existing designs..
3. Once primary requirements are clear and fixed, analyse all different designs, if possible I setup meetings with senior devs, principal engineers (they help a lot when it comes to reviews on scalability and reliability of a design)
4. The above design is mostly architectural level. Once design is fixed, then I start taking each component and prepare a detailed implementation design. (Notice that whenever I am bored of designing, I spend sometime in building POC)
5. In detail design, I focus on modularity and flexibility. Anything defined should have getters and setters for example. This will help you reuse your code. Keep the interface between components in your design as generic as possible, so that in case your MySQL is change to Postgre or NoSQL, your design should be able to adapt new features..
6. Instead of building entire project, define feature targets and deliver small features.. this will help you to be in line with the requirements with minimum deviation. -
I'm at my Community College as a member of the engineering club requesting funds for a software and hardware-related physical project.
The code was mostly pre-written in Python from a university already, but we needed to build essentially a gaming-level PC to run it, do some welding and metalwork for the hardware, cables, et citera. I don't want to get too detailed in case anyone involved is reading this story.
To get funding, we needed to go before the student senate. I didn't go the first time, but later when we needed more funding for the project to do expansions, we attended.
I came in with a few pages of documentation explaining how the project operated, it's scope, and why we needed the additional $500 on top of the previous $1000 or so spent. I went in woefully behind the times on what a student senate meeting was like.
For starters, I thought this would be somewhat formal, being "Student Senate" in Week 8, and prepared to defend my project fully. Instead, we spent the first 15 minutes going around the table explaining what animal we would be and why, if we had to turn into an animal. It just kept going hilariously, painfully downhill from there.
They did ask some questions about what my project was and how it operated (as not many had seen it), and they wanted explanations even though it was clear absolutely nobody else in the room understood anything. My partner virtually shut down and let me do all the talking for my project and his because he couldn't take the ignorance of some of the questions and the assorted nonsense spread throughout the meeting.
Amazingly, we got funding. We had to sit for the rest of the meeting though, which (among other things) included a segment about whether we should create a new committee called the "Fundamental Insecurities committee" to help out with, well, "Fundamental Insecurities." There was only one member on this proposed committee.
When I brought up the question on why we were making a one-person committee alongside the, like, three one-person committees already in existence, they congratulated me for asking good questions and said I should come more often. They then said the exact same thing again when I pointed out there were better names than "Fundamental Insecurities." It's such a reality check that you are trying to impress people to get funding, when you can't help but feel that everyone is an utter idiot in the back of your head.
Almost a year later, I had to go back with a list of parts we needed. I wrote a whole complex list of things we needed for the project. Even though they tried to ask questions about what certain parts were (to appear like they weren't totally incompetent), and despite asking questions about a bunch of the items, nobody cared about what the $10 for "C418" was (google it if you don't get this joke). I spent about 30 minutes talking with them and succeeded in getting $600 more in funding. We then, to my surprise, spent less than 5 minutes debating whether to send 2 students on a field trip for $700. 30 minutes for $600, for a permanently installed project. <5 minutes for a $700 one-time thing.
And, because this is already a long rant, here's one more thing: The Student Senate's voting rules initially gave everyone who showed up 1 vote. We're all students, we all get a say, right?
Well, I soon put together that Student Senate had fairly low attendance. Engineering Club had high attendance. Student Senate and Engineering Club took place at the same date and time. I then, of course, asked why we couldn't bring the whole Engineering Club into Senate one day, and then proceed to pass an order by simple majority saying that all Student Life funding goes to us.
They then said that the administrators (the heads of Student Senate) could override that, but I pointed out that kind of defeats the purpose of voting in the first place. They then switched script and said they wouldn't do that and would honor such a vote. Shortly after, they changed the rules saying that you only get a vote on your 2nd consecutive visit; and again said I should visit more often because I was brilliant.
You can't make this stuff up.3 -
As opposed to my horrific experiences with PayPal, Swish, a Swedish (really smooth) payment processor has some really nice documentation. An example:
"The callback, in the happy case, will return an intermediate response with the status DEBITED."
And other nice things such as clear numbered lists describing user flows, with images for extra clarification. Also, they provide full lists of error responses and in many cases suggested way to proceed with these error cases.
And as the cherry on top, this is developed as a cooperation between a few Swedish banks. The banks, who are the most thick type of companies when it comes to IT, does it better than PayPal.6 -
"hey, can you please help me out with this, it isn't working"
"What's it say?"
"I dunno, It's giving (not throwing) some exception/error" (no clear distinction between them)
Well, shit. Did NOT expect Java to do that in case of some undesirable flow in code! Stack trace, error message, what was happening when the exception (or actual error) occurred as inferred from logs... Nope.
Great! -
Magento Debugging Horror!
Changing lots of things in magento with no problem. Continuing development for quite sometime. Suddenly decide to clear cache to see affect of a change on a template in frontent. Suddenly magento crashes! There's no error message. No exception log. No log in any file anywhere on the disk. All that happens is that magento suddenly returns you to the home page!
Reverting all the changes to the template. Clear the cache. Nope! Still the same! Why? Because the problem has happened somewhere in your code. Magento just didn't face it, because it was using an older version of your code. How? Because magento 2 even caches code! Not the php opcache. Don't get me wrong. It has it's own cache for code, in a folder called generated. Now that you cleared all the caches including this folder, you just realized that, somewhere something is wrong. But there is no way for you to know where as there is absolutely no exception logged anywhere!
So you debug the code, from index.php, down to the deepest levels of hell. In a normal php code, once the exception happens, you should see the control jumps to an exception handler, there, you can see the exception object and its call stack in your debugger. But that's not the case with magento.
Your debugger suddenly jumps to a function named:
write_close();
That's all. No exception object. No call stack. No way to figure out why it failed. So you decide to debug into each and every step to figure out where it crashes. The way magento renders response to each request is that, it calls a plugin, which calls a plugin loop, which calls another plugin, which calls a list of plugins, which calls a plugin loop, which calls another plugin.....
And if in each step, just by accident, instead of step through, you use the step over command of your debugger, the crash happens suddenly and you end up with the same freaking write_close() function with no idea what went wrong and where the error happened! You spend a whole day, to figure out, that this is actually a bug in core of magento, they simply introduced after your recent update of magento core to the latest STABLE version!!! It was not your mistake. They ruined their own code for the thousandth of time. You just didn't notice it, because as I said, you didn't clear the `generated` folder, therefore using an older version of everything!
Now that after spending 7 hours figuring out what has failed with absolutely no standard way of debugging and within a spaghetti of GOTO commands (Magento calls them plugin), why not report it to github? So you report it with a pull request. This also takes 1 hour of your time. Just to next day get informed that your pull request is rejected because another person already fixed the bug and made the same pull request. It was just not on the latest stable version yet!
So you decide to avoid updating magento as much as possible. Because you know that the next Stable version will make your life and career unstable. But then the customer complains that the Admin Panel is warning him of using old Magento version which might pose SECURITY THREATS! -
#Story time.
Been working on a project for 2 months with Colleague "Jim" doing the code reviews. Project is finished in a stable form and can be extended if needed. Then my other colleague/boss "Mo" decided that we need to do a refactor. Fast forward a bit and the conclusion is "Mo" and "Jim" are going to discuss every step with me. And we started a new project that should do the same as the project I just finished
Here some facts:
Every day a meeting/ code review / discussion.
Decisions they make I do not agree with.
I need to redo my work multiple times.
Now this does make me look like a toddler that needs supervision which is not the case.
They want something future proof and something that fits his new coding standard "Mo". and certain things I do agree with and is clearly the better architecture. however somethings are just stupid, time wasting, making it worse. I'm getting so frustrated by the fact that billion dollar companies have clear coding standards that work. and are correct. and this company decided to do their own thing of stupid rules!
- shorten variables
- Keep lines under 90char
- put multiple things in 1 file
- Keep function names short
and many more of removing stuff and let you guess stuff..
I just... *sigh* get so tired of this shit.
*names are randomly chosen2 -
So I've received a link to Figma for the new mobile app from our designer. It looks great and all but...
Each fucking piece of text is styled independently. Half of the cards in the layout are simple rounded rectangles, the other half are some components with a gradient. Icons are a mix of vector graphics and line elements. Even buttons aren't components. Consistence anyone? Please?
And now comes the best part. How am I even supposed to reach half of the screens? There are four variants of a screen with very similar functionality, but only a single button in the main screen which would at least remotely correspond to one of them. The guy who invented the wirescreens just kept adding things which would be nice to have in the final app, without revising it and making clear use case flows out of it?
After a few days of implementing this clusterfuck of a design, I have finally settled on a consistent set of font and element themes. Just please use components in Figma. You are paid to work in this tool which can make it super easy for the developer AND for you as well to make the design come to life, so why don't you learn to use it?
At least the designer is a nice guy, but god, could he learn to use his single tool?3 -
Stack overflow is full of useless assholes, like I asked a specific question about a problem I am having that is similar to another problem that exists but it is not the same at all in terms of how to fix and instead of helping I’ve got 2 downvotes on it and a comment linking me to a completely unrelated stylistic based question based on something I SAID I HAD ALREADY TRIED CHANGING IN MY QUESTION!!! Here’s my question btw in case anyone can help here before I smash up my laptop 😑:
I have a piece of code in which I am trying to read in words which have been categorised using a number and then placed in a text file in the following format "word-number-" with a new line for each word. However, despite not mixing cin>> and getline and having tried a number of methods I still cannot get it working.
So far I have attempted using a cin.ignore() call to clear any '\n' char's from the buffer, as well as checking if the file is opening in the first place (it is), and using the >> operator instead throughout my code however I could not get that working either. When I place the get line call inside the condition of the while loop, the while loop doesn't run, however when I make the while loop condition a .eof() call it will run once however when I try to print the text that has been read from the getline call it just prints a blank line.
if(file.is_open()){
while(!file.eof()){
getline(file, text, '-');
count++;
cout<<count<<endl;
cout<<text<<endl;
if(count%2 == 1){
wordBuff = text;
}else if(count%2 == 0){
if(stoi(text) == wordClass){
wordList.push_back(wordBuff);
}
}
}
file.close();
}
While I recognise there are a lot of other questions on this out there I cannot seem to get any of their solutions to work and the vast number being related to people mixing the >> operator and getline doesn't help, so any tips or solutions will be of great help -
1/2 dev and a fair warning: do not go into the comments.
You're going anyway? Good.
I began trying to figure out how to use stable diffusion out of boredom. Couldn't do shit at first, but after messing around for a few days I'm starting to get the hang of it.
Writing long prompts gets tiresome, though. Think I can build myself a tool to help with this. Nothing fancy. A local database to hold trees of tokens, associate each tree to an ID, like say <class 'path'> or some such. Essentially, you use this to save a description of any size.
The rest is textual substitution, which is trivial in devil-speak. Off the top of my head:
my $RE=qr{\< (?<class> [^\s]+) \s+ ' (?<path>) [^'] '\>}x;
And then? match |> fetch(validate) |> replace, recurse. Say:
while ($in =~ $RE) {
my $tree=db->fetch $+{class},$+{path};
$in=~ s[$RE][$tree];
};
Is that it? As far the substitution goes, then yeah, more or less. We have to check that a tree's definition does not recurse for this to work though, but I would do that __before__ dumping the tree to disk, not after.
There is most likely an upper limit to how much abstraction can be achieved this way, one can only get so specific before the algorithm starts tripping balls I reckon, the point here is just reaching that limit sooner.
So pasting lists of tokens, in a nutshell. Not a novel idea. I'd just be making it easier for myself. I'd rather reference things by name, and I'd rather not define what a name means more than once. So if I've already detailed what a Nazgul is, for instance, then I'd like to reuse it. Copy, paste, good times.
Do promise to slay me in combat should you ever catch me using the term "prompt engineering" unironically, what a stupid fucking joke.
Anyway, the other half, so !dev and I repeat the warning, just out of courtesy. I don't think it needs to be here, as this is all fairly mild imagery, but just in case.
I felt disappointed that a cursed image would scare me when I've seen far worse shit. So I began experimenting, seeing if I could replicate the result. No luck yet, but I think we're getting somewhere.
Our mission is clearly the bronwning of pants, that much is clear. But how do we come to understand fear? I don't know. "Scaring" seems fairly subjective.
But I fear what I know to be real,
And I believe my own two eyes.11 -
Hey guys,
I need your advice about deciding wether to work as a freelancer for a startup or no.
So this French startup is couple years old and they decided to build a team in my country. I went to the interview few weeks ago and we discussed the projects, details, potential salary and everything seemed great.
Couple days ago I received a service contract from them and now I need to decide to work for them or no.
Plan is for them to come to my country, rent an office and I should go there and work for them.
The salary that they offered is medium level and they will not have any legal entity in my country. However it’s not a problem for me since I have my own LTD company so I would pay salary on my own.
However there are some cons:
My team members are being hired as freelancers, however salary is defined with a daily rate instead of hourly and we are allowed to work maximum 20 days a month. It is not clear how many hours a week/month they will expect us to work and at this point I’m afraid to rock the boat with my questions. I understand that I shouldn’t receive any health insurance, sick leave pays, vacation days, home office, pension contributions and so on. But it’s so weird that they pay per day instead of per hour. It screams with unpaid overtime.
Payment time is 30 days after invoice has been sent. So If I started working from September 01, I will send them invoice at September 30, then I will work all October and will receive my money only around end of October. Working 60 days to receive my first salary doesn’t seem nice.
Notice period is 30 days. Which is fine on my end since I can be completely free after initial notice. But in their case if they want to fire me I guess they will simply not give me any work to do and since I’m charged per day I won’t be able to send them any invoice. No employment safety, which means if after 2-3 months they don’t have anything to do I can get royally screwed. But it’s startup nature I guess?
They don’t provide a laptop to work with. I’m lucky since I have a laptop for developing mobile apps, and they said they will at least provide office to work in and a monitor.
All this situation is sending vibes of "we want to save money so we came to your country for cheap labour and now we gonna exploit you"
What complicates matters is that my sister will be working with me and It’s her first job. They agreed to pay her a decent salary and even be flexible with her studies. However this deal for me does not seem too great as I will be receiving mid level salary with no benefits that I would otherwise get.
On the other hand maybe I'm just overthinking this I can just try it out for few months and see where it goes.
Any thoughts?6 -
MOBBING DICTIONARY - 4 -
Sentence (in private, outside the scope of CEO or such)
- sort it out yourself! fuck you, worm! I'll get you fired! I'll crush you with an hammer
(something very insulting, screaming)
Purpose
- to exasperate the target. So he/she will fight back, maybe at the wrong time. Or he/she will try to stay quiet, but he/she will explode inside.
- make clear to everybody that the mobber is the danger
Result
- The mobber will deny he/she ever said that. The target cannot prove it. Nobody will support the target, not even the witnesses, as they are scared. The CxO will not believe he/she could have said that, because he/she is apparently mild mannered and respectful with all directive positions.
- The target has a dilemma: or he/she denounces the words to the managers, but he/she will be considered a defamer, or worst.
Or he/she takes it in, and in such case, he/she will be slowly destroyed psychologically.3 -
Any good advice for managing junior developers?
In my experience I have found that loose definitions of work to be completed yields poor results. Honestly, sometimes I wonder if I have to write the code structure and leave a bunch of TODO comments for people to fill in.
Or alternatively people get going on tangents without thinking of the concrete problem given.
Or go try building generic abstractions that are unneeded and will not be reused complicating even the simplest use case.
Maybe the problem is in me and that I am not clear in communicating what's needed. What techniques do you guys use to get more or less what you want?7 -
Rubber ducking your ass in a way, I figure things out as I rant and have to explain my reasoning or lack thereof every other sentence.
So lettuce harvest some more: I did not finish the linker as I initially planned, because I found a dumber way to solve the problem. I'm storing programs as bytecode chunks broken up into segment trees, and this is how we get namespaces, as each segment and value is labeled -- you can very well think of it as a file structure.
Each file proper, that is, every path you pass to the compiler, has it's own segment tree that results from breaking down the code within. We call this a clan, because it's a family of data, structures and procedures. It's a bit stupid not to call it "class", but that would imply each file can have only one class, which is generally good style but still technically not the case, hence the deliberate use of another word.
Anyway, because every clan is already represented as a tree, we can easily have two or more coexist by just parenting them as-is to a common root, enabling the fetching of symbols from one clan to another. We then perform a cannonical walk of the unified tree, push instructions to an assembly queue, and flatten the segmented memory into a single pool onto which we write the assembler's output.
I didn't think this would work, but it does. So how?
The assembly queue uses a highly sophisticated crackhead abstraction of the CVYC clan, or said plainly, clairvoyant code of the "fucked if I thought this would be simple" family. Fundamentally, every element in the queue is -- recursively -- either a fixed value or a function pointer plus arguments. So every instruction takes the form (ins (arg[0],arg[N])) where the instruction and the arguments may themselves be either fixed or indirect fetches that must be solved but in the ~ F U T U R E ~
Thusly, the assembler must be made aware of the fact that it's wearing sunglasses indoors and high on cocaine, so that these pointers -- and the accompanying arguments -- can be solved. However, your hemorroids are great, and sitting may be painful for long, hard times to come, because to even try and do this kind of John Connor solving pinky promises that loop on themselves is slowly reducing my sanity.
But minor time travel paradoxes aside, this allows for all existing symbols to be fetched at the time of assembly no matter where exactly in memory they reside; even if the namespace is mutated, and so the symbol duplicated, we can still modify the original symbol at the time of duplication to re-route fetchers to it's new location. And so the madness begins.
Effectively, our code can see the future, and it is not pleased with your test results. But enough about you being a disappointment to an equally misconstructed institution -- we are vermin of science, now stand still while I smack you with this Bible.
But seriously now, what I'm trying to say is that linking is not required as a separate step as a result of all this unintelligible fuckery; all the information required to access a file is the segment tree itself, so linking is appending trees to a new root, and a tree written to disk is essentially a linkable object file.
Mission accomplished... ? Perhaps.
This very much closes the chapter on *virtual* programs, that is, anything running on the VM. We're still lacking translation to native code, and that's an entirely different topic. Luckily, the language is pretty fucking close to assembler, so the translation may actually not be all that complicated.
But that is a story for another day, kids.
And now, a word from our sponsor:
<ad> Whoa, hold on there, crystal ball. It's clear to any tzaddiq that only prophets can prophecise, but if you are but a lowly goblinoid emperor of rectal pleasure, the simple truths can become very hard to grasp. How can one manage non-intertwining affairs in their professional and private lives while ALSO compulsively juggling nuts?
Enter: Testament, the gapp that will take your gonad-swallowing virtue to the next level. Ever felt like sucking on a hairy ballsack during office hours? We got you covered. With our state of the art cognitive implants, tracking devices and macumbeiras, you will be able to RIP your way into ultimate scrotolingual pleasure in no time!
Utilizing a highly elaborated process that combines illegal substances with the most forbidden schools of blood magic, we are able to [EXTREMELY CENSORED HERETICAL CONTENT] inside of your MATER with pinpoint accuracy! You shall be reformed in a parallel plane of existence, void of all that was your very being, just to suck on nads!
Just insert the ritual blade into your own testicles and let the spectral dance begin. Try Testament TODAY and use my promo code FIRSTBORNSFIRSTNUT for 20% OFF in your purchase of eternal damnation. Big ups to Testament for sponsoring DEEZ rant.3 -
Docker deployment
Wondering how you guys are doing docker deployment (angular, php, whatever) on self hosted servers from a private gitlab instance ?
Also most recent gitlab release seems Very promisssing on this.
There's a lot info on deploying to aws or google but not on this case (at least clear)
Would like to hear from you about your setups1 -
1. Music, something fast paced with minimal to zero lyrics (usually a GOA radio station in my case)
2. No distractions around (use a "do-not-disturb" flag or something to hang on your monitor or show on your desk)
3. No chats or other communication/social media visible, best case those apps / tabs are completely closed or muted
4. Having a clear goal to achieve, might even be only a sub-goal for the current coding session.
5. Structure your code before your actually write it, I usually create step-by-step comments in each file, documenting my thought process and what steps the current file/class/whatever should do.
6. Try to code your stuff in the same order as the aforementioned comment step-by-step list dictates (unless there is a reason to change the coding order)
7. Only windows open: IDE/Editor, Browser
8. Also keep only the browser tabs needed for your work open (testing clients, documentation, music if using a browser client, etc.)
At least that's what works for me3 -
So I've been using Duet on my iPad Pro for a couple years now (lets me use it as an external monitor via Lightning cable) and without issue. Shit, I've been quite happy with it. Then the other day, whilst hooked up to my work laptop, there was a power fluctuation that caused my laptop to stop sending power to connected devices. Which is fine - I have it plugged into a surge protector so these fluctuations shouldn't matter. After a few seconds the laptop resumed normal operation and my connected devices were up and running again.
But the iPad Pro, for some reason, went into an infinite boot loop sequence. It reboots, gets to the white Apple logo, then reboots again.
In the end, after putting the iPad into recovery mode and running Apple's update in iTunes (as they recommend), it proceeds to wipe all my data. Without warning. I lost more than a couple of years of notes, illustrations and photos. All in one fucking swoop.
To be clear, you get 2 options in iTunes when performing a device update:
1. UPDATE - will not mess with your data, will just update the OS (in this case iPadOS)
2. RESTORE - will delete everything, basically a factory reset
I clicked UPDATE. After the first attempt, it still kept bootlooping. So I did it again, I made sure I clicked UPDATE because I had not yet backed up my data. It then proceeds to do a RESTORE even though I clicked UPDATE.
Why, Apple? WHY.
After a solemn weekend lamenting my lost data, I've come a conclusion: fuck you Apple for designing very shitty software. I mean, why can't I access my device data over a cabled connection in the event I can't boot into the OS? If you need some form of authentication to keep out thieves, surely the mutltiple times you ask me to log in with my Apple ID on iTunes upon connecting the damn thing is more than sufficient?! You keep spouting that you have a secure boot chain and shit, surely it can verify a legitimate user using authenticated hardware without having to boot into the device OS?
And on the subject of backing up my data, you really only have 2 manual options here. Either (a) open iTunes, select your device, select the installed app, then selectively download the files onto my system; or (b) do a full device backup. Neither of those procedures is time-efficient nor straightforward. And if you want to do option b wirelessly, it can only be on iCloud. Which is bullshit. And you can't even access the files in the device backup - you can only get to them by restoring to your device. Even MORE bullshit.
Conversely, on my Android phone I can automate backups of individual apps, directories or files to my cloud provider of choice, or even to an external microSD card. I can schedule when the backups happen. I can access my files ANYTIME.
I got the iPad Pro because I wanted the best drawing experience, and Apple Pencil at the time was really the best you could get. But I see now it's not worth compromise of having shitty software. I mean, It's already 2021 but these dated piles of excrement that are iOS and iPadOS still act like it's 2011; they need to be seriously reviewed and re-engineered, because eventually they're going to end up as nothing but all UI fluff to hide these extremely glaring problems.2 -
You can make your software as good as you want, if its core functionality has one major flaw that cripples its usefulness, users will switch to an alternative.
For example, an imaginary file manager that is otherwise the best in the world becomes far less useful if it imposes an arbitrary fifty-character limit for naming files and folders.
If you developed a file manager better than ES File Explorer was in the golden age of smartphones (before Google excercised their so-called "iron grip" on Android OS by crippling storage access, presumably for some unknown economic incentive such as selling cloud storage, and before ES File Explorer became adware), and if your file manager had all the useful functionality like range selection and tabbed browsing and navigation history, but it limits file names to 50 characters even though the file system supports far longer names, the user will have to rely on a different application for the sole purpose of giving files longer names, since renaming, as a file action, is one of the few core features of a file management software.
Why do I mention a 50-character limit? The pre-installed "My Files" app by Samsung actually did once have a fifty-character limit for renaming files and folders. When entering a longer name, it would show the message "up to 50 characters available". My thought: "Yeah, thank you for being so damn useful (sarcasm). I already use you reluctantly because Google locked out superior third-party file managers likely for some stupid economic incentives, and now you make managing files even more of a headache than it already is, by imposing this pointless limitation on file names' length."
Some one at Samsung's developer department had a brain fart some day that it would be a smart idea to impose an arbitrary limit on file name lengths. It isn't.
The user needs to move files to a directory accessible to a superior third-party file manager just to give it a name longer than fifty characters. Even file management on desktop computers two decades ago was better than this crap!
All of this because Google apparently wants us to pay them instead of SanDisk or some other memory card vendor. This again shows that one only truly owns a device if one has root access. Then these crippling restrictions that were made "for security reasons" (which, in case it isn't clear, is an obvious pretext) can be defeated for selected apps.2 -
tl;dr: azure support are utter bollocks
so about late june-ish, my azure student subscription expired, which i wasn't notified about. but that's fine, surely once it's expired i can get my data back, right?
...right?
i try to download the .vhd file with my nodejs project on, and then contact their support after failing to mount the vhd. i asked them whether they could get my data for me (or at least provide some clear instructions, in case i mounted the vhd incorrectly). instead i was told to do loads of things, creating blobs, making snapshots, etc... all of which did absolutely nothing.
mid-august, i'm still trying to get my data back, when i get a call from, you guessed it, microsoft azure. a manager had told me that all my data had been lost, and that i was eligible for $500 in credit in compensation. i was angry (and rightly so), and refused their offer. i emailed azure support again expressing my anger, for them to tell me that my data wasn't lost...?
come to mid-september, and and i was fed up of waiting for my project. i wanted to finalise the fucker and launch the website, but azure had stalled me for well over two months. i had to put some money towards azure just to start up the vps, zip up the project, transfer it to another vps, and shut it back down.
and that kids, is why i wouldn't ever recommend azure.
ps: yes, i'm backing up files daily from now on1 -
I recently started working on laravel. As the community says it was easy to get along with the framework and its methodologies. But then i had to do multiple login with framework in same domain.
Oh man, i spent a week to make it work. All those guards and middlewares realted to login was driving me crazy. The concept was clear, but somehow the framework was like "You! I shall make you spend a week for my satisfaction". The project demo was nearing and i was doing all kind of stuff i found. Atlast after continous tries it worked. Never in my 4+ years as a developer i had to face such an issue with login.
So here is how it works,if anyone faces the same issue:
(This case is beneficial if you're using table structures different from default laravel auth table structures)
1. Define the guards for each in auth.php
Eg:
'users' => [
'driver' => 'session',
'provider' => 'users',
],
'client' => [
'driver' => 'session',
'provider' => 'client',
],
'admin' => [
'driver' => 'session',
'provider' => 'admins',
],
2. Define providers for each guards in auth.php
'users' => [
'driver' => 'eloquent',
'model' => <Model Namespace>::class,
'table' => '<table name>', //Optional. You can define it in the model also
],
'admins' => [
'driver' => 'eloquent',
'model' => <Model Namespace>::class,
],
'client' => [
'driver' => 'eloquent',
'model' => <Model Namespace>::class,
],
Similarly you can define passwords for resetting passwords in auth.php
3. Edit login controller in app/Http/Controller/Auth folder accordingly
a. Usually this particular line of code is used for authentication
Auth::guard('<guard name>')->attempt(['email' => $request->email, 'password' => $request->password]);
b. If above mentioned method doesn't work, You can directly login using login method
EG:
$user = <model namespace>::where([
'username' => $request->username,
'password' => md5($request->password),
])->first();
Auth::guard('<guard name>')->login($user);
4. If you're using custom build table to store user details, then you should adjust the model for that particular table accordingly. NOTE: The model extends Authenticatable
EG
class <model name> extends Authenticatable
{
use Notifiable;
protected $table = "<table name>";
protected $guard = '<guard name>';
protected $fillable = [
'name' , 'username' , 'email' , 'password'
];
protected $hidden = [
'password' ,
];
//Below changes are optional, according to your need
public $timestamps = false;
const CREATED_AT = 'created_time';
const UPDATED_AT = 'updated_time';
//To get your custom id field, in this case username
public function getId()
{
return $this->username;
}
}
5. Create login views according to the user types you required
6. Update the RedirectIfAuthenticated middleware for auth redirections after login
7. Make sure to not use the default laravel Auth routes. This may cause some inconsistancy in workflow
The laravel version which i worked on and the solution is for is Laravel 6.x1 -
Got a question on DBMS Normalization. I tried searching but couldn't clear my doubt. So I have a set of functional dependencies for relation R(C, D, E, F, P, R, S) :
F->D
D->F
E->C
P->RC
E->F
S->EFD
PR->EF
So I have to convert this to 3NF. My doubt is that when finding 2NF do we find all the non-prime attributes that are dependent on a particular partial key i.e. do we take it's closure and create new relations for each partial dependency? If we do that then there are overlapping attributes in the resultant relations in this case I found the relations in 2NF as :
R1(P, S)
R2(P, R, C, E, F)
R3(S, E, F, D, C)
But when I just used the FDs as they are given (no closure) I found :
R1(P, S)
R2(P, R, C)
R3(S, E, F, D)
Which one is correct, please help.3 -
!rant
So, I've been working on a few Django projects at my company & we've been handling it quite well up until now. For those who don't have an idea of Django, it uses templating format as it's frontend & the data is served using APIs or context'.
Now the problem is, we're been told to use React js at the fronted with the current working projects.I've even gone to the 5th page of google & still haven't found a useful blog/answer on how to use react with django (i know that django rest framework will serve the apis).
There's no clear documentation for this. Even if there is, it's only basics which isn't quite helpful in my case.
So anybody can please guide me through or even provide a syntactical way to get this done, I'd be really grateful.
Thank You,
Your fellow devRanter -
The Use of Recycled Heart Devices
There are many controversial issues in the healthcare, and some of them seem so debatable that it is difficult to chose which side to support. One of such issues is the use of recycled heard devices – implantable cardioverter-defibrillators (ICDs) that were previously used by people who could afford them and changed them to a new model or died. These devices are still in good condition and have some battery life remaining. Scientists like Pavri, Hasan, Ghanbari, Feldman, Rivas, and others suggest that these ICDs can be reused by those patients who cannot pay for them.
The issue has caused many arguments. Federal regulators and ICDs manufacturers in the United States prohibit the practice of such a reuse; however, it is allowed in India, where very few people can afford defibrillators. The use of recycled ICDs can be regarded as inferior treatment to the poor. People who cannot pay for the expensive devices still deserve the healthcare of the highest quality as any wealthy person. For this reason, other means of providing healthcare to poor people should be found as it is unethical to make them feel humiliated or deprived of medical aid guaranteed to them by the Declaration of Human Rights. Harvard medical experts claim: flagship projects must remain free of the taint of the secondhand, in part by making it clear when devices can safely be reused.
These scientists also doubt the safety of ICDs reuse. Despite the fact that all devices are carefully transported and sterilized, there is still a danger of infection transmission. The experts, for instance, claimed that three people died because of stroke, heart failure, and myocardial infarction. Though it is not proved to be caused by recycled ICDs, there is no evidence about the relevance of the reused devices to these deaths. It can be presumed that the failure of the defibrillator did not prevent the problem. In general, their findings prove that the alternative reuse of ICDs is a comparatively riskless life-saving practice.
There is another side of the problem as well. It is obvious that human life is sacred; it is given to one person only once, so it should be protected and preserved by all means (humanlike, of course) possible. If there cannot be another way out found, secondhand ICDs should be applied to patients who cannot pay for their treatment. If the world is not able to supply underprivileged patients with free devices, richer countries can, at least, share what they do not need anymore. One may draw a parallel between recycled defibrillators and secondhand clothes. There is nothing shameful about wearing things that were used by another person. Many organizations supply children in poor countries with garments in a good condition that richer people do not wear anymore. For the same reason, reused defibrillators in a proper state can be implanted to those patients who cannot afford new devices and will not be able to survive without them. Underprivileged patients in some developing countries receive alternative treatment of drug therapy, which, in this case, can be regarded as inferior method. Apparently, if to consider the situation from this viewpoint, recycled heart devices should be used as they allow saving people’s lives.
The use of recycled implantable cardioverter-defibrillators is illegal and risky as they are classified as single-use devices. Moreover, despite the fact that the results of researches on the topic proved to be positive, there were cases when some people with recycled ICDs died because of stroke, heart failure, or myocardial infarction. It is unethical to break the law, but at the same time, person’s life is more important. If there is no other possibility to save a person, this method must be applied.
The article was prepared by the qualified qriter Betty Bilton from https://papers-land.com/3 -
Last question for today, I promise…
For my side project, I plan on saving a URL and an array of strings associated with that URL. I want to be able to search and sort the resulting DB from a frontend without needing complicated queries. Is this the use case for a key-value pair DB? Let me know if I’m not clear and thanks!14