Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "namespace"
-
Friend : Hey bro I made an awesome program which shows your future wife's name.
Me : Hey that sounds interesting, show me the source code bro !!
Friend shows the code :
#include <bits/stdc++.h>
using namespace std;
int main()
{
string first_name , last_name;
cout << "Enter your first name\n";
cin >> first_name ;
cout << "Enter your last name\n";
cin >> last_name ;
cout << "Your wife's name is " << "Mrs " << last_name << "\n";
}
Me : Dude you are gonna crack Google some day :P17 -
Client: "Hi, there's a problem with this link"
Me: "How odd, I'll take a look right away"
-- 19 minutes later --
Client: "Has this been fixed?"
Me: "I'm working on it currently"
Client: "OK please let us know when it's done"
Me: "I will do"
-- 2 minutes later --
Client: "Hi, is this done?"
Me: "I've just told you I will let you know as soon as it's done"
-- 5 minutes later --
Client: "Hi, sorry to hassle, but is this done yet?"
Me: *starts twitching*
Me: "I am working on it and I will let you know when it's done"
Client: "OK, well don't worry about it, it doesn't really matter"
Me: *explodes*10 -
Client has asked me to sign an NDA. They've emailed me the NDA and asked that I print two copies of it, one which I must sign and return to them, and the other to keep for myself. Because I'm to print it twice, they've attached two copies of the NDA in PDF form. They're identical, I've checked.4
-
HE:"Hey I improved my code"
ME:
*opens the file*
*Sees random static allocations*
*Code is as verbose as before*
*Down to 2600 lines from 2800ish*
*Still doesn't do shit properly*
"Uuuh what exactly did you do?"
*Starts noticing the lack of namespaces*
HE: "I used this using namespace std to write a bit less"
ME: "Can I pay you yoga lessons so you can taste your own cock and show your parents how good you are at it?"3 -
We're using a ticket system at work that a local company wrote specifically for IT-support companies. It's missing so many (to us) essential features that they flat out ignored the feature requests for. I started dissecting their front-end code to find ways to get the site to do what we want and find a lot of ugly code.
Stuff like if(!confirm("blablabla") == false) and whole JavaScript libraries just to perform one task in one page that are loaded on every page you visit, complaining in the js console that they are loaded in the wrong order. It also uses a websocket on a completely arbitrary port making it impossible to work with it if you are on a restricted wifi. They flat out lie about their customers not wanting an offline app even though their communications platform on which they got asked this question once again got swarmed with big customers disagreeing as the mobile perofrmance and design of the mobile webpage is just atrocious.
So i dig farther and farthee adding all the features we want into a userscript with a beat little 'custom namespace' i make pretty good progress until i find a site that does asynchronous loading of its subpages all of a sudden. They never do that anywhere else. Injecting code into the overcomolicated jQuery mess that they call code is impossible to me, so i track changes via a mutationObserver (awesome stuff for userscripts, never heard of it before) and get that running too.
The userscript got such a volume of functions in such a short time that my boss even used it to demonstrate to them what we want and asked them why they couldn't do it in a reasonable timeframe.
All in all I'm pretty proud if the script, but i hate that software companies that write such a mess of code in different coding styles all over the place even get a foot into the door.
And that's just the code part: They very veeeery often just break stuff in updates that then require multiple hotfixes throughout the day after we complain about it. These errors even go so far to break functionality completely or just throw 500s in our face. It really gives you the impression that they are not testing that thing at all.
And the worst: They actively encourage their trainees to write as much code as possible to get paid more than their contract says, so of course they just break stuff all the time to write as much as possible.
Where did i get that information you ask? They state it on ther fucking career page!
We also have reverse proxy in front of that page that manages the HTTPS encryption and Let's Encrypt renewal. Guess what: They internally check if the certificate on the machine is valid and the system refuses to work if it isn't. How do you upload a certificate to the system you asked? You don't! You have to mail it to them for them to SSH into the system and install it manually. When will that be possible you ask? SOON™.
At least after a while i got them to just disable the 'feature'.
While we are at 'features' (sorry for the bad structure): They have this genius 'smart redirect' feature that is supposed to throw you right back where you were once you're done editing something. Brilliant idea, how do they do it? Using a callback libk like everyone else? Noooo. A serverside database entry that only gets correctly updated half of the time. So while multitasking in multiple tabs because the performance of that thing almost forces you to makes it a whole lot worse you are not protected from it if you don't. Example: you did work on ticket A and save that. You get redirected to ticket B you worked on this morning even though its fucking 5 o' clock in the evening. So of course you get confused over wherever you selected the right ticket to begin with. So you have to check that almost everytime.
Alright, rant over.
Let's see if i beed to make another one after their big 'all feature requests on hold, UI redesign, everything will be fixed and much better'-update.5 -
"By larger do you mean bigger?"
I was honestly just asked this in an email from a client.
The funniest thing is I didn't even say "larger", I said "bigger".8 -
The gift that keeps on giving... the Custom CMS Of Doom™
I've finally seen enough evidence why PHP has such a bad reputation to the point where even recruiters recommended me to remove my years of PHP experience from the CV.
The completely custom CMS written by company <redacted>'s CEO and his slaves features the following:
- Open for SQL injection attacks
- Remote shell command execution through URL query params
- Page-specific strings in most core PHP files
- Constructors containing hundreds of lines of code (mostly used to initialize the hundreds of properties
- Class methods containing more than 1000 lines of code
- Completely free of namespaces or package managers (uber elite programmers use only the root namespace)
- Random includes in any place imaginable
- Methods containing 1 line: the include of the file which contains the method body
- SQL queries in literally every source file
- The entrypoint script is in the webroot folder where all the code resides
- Access to sensitive folders is "restricted" by robots.txt 🤣🤣🤣🤣
- The CMS has its own crawler which runs by CRONjob and requests ALL HTML links (yes, full content, including videos!) to fill a database of keywords (I found out because the server traffic was >500 GB/month for this small website)
- Hundreds of config settings are literally defined by "define(...)"
- LESS is transpiled into CSS by PHP on requests
- .......
I could go on, but yes, I've seen it all now.12 -
i was asked to start a new project, and another dev was brought onto the team shortly after. as soon as he joined, straight away he started an entirely new project and worked on it through the whole weekend, then came back on monday and just sort of pasted his files into/over the code i had already started and was working on, with no regard for folder structure or naming conventions or anything. his work was even split between 2 almost identically named namespaces (both of which were completely different to the existing project namespace) and his shit broke everything i did in the first place. the cherry on top is that none of his work was even functional, it was purely dummy/mockup web pages that weren't linked to any sort of backend.
when i asked him wtf he thought he was doing, he kept saying "i didnt touch your code" and refused to acknowledge that pasting a project over a different project can break stuff, then said it "wasn't his fault that i'm slow and not keeping up". and just kept saying vague bullshit about how i have to do it his way because he "has more experience"
he had no idea what my previous experience was, he had never asked and i had never told him, he just decided that he had more experience than me.
i dug through the shit and found out that he didn't just break my work, he had actually purposely deleted it when he realised it was getting in the way of his spaghetti. i showed him the commit and confronted him with it and all the cunt said was "well the good news is, you know the fix" and kept trying to dismiss me in the most disrespectful ways he could think of. i eventually snapped at him (long overdue at this point) and told him that any experienced developer would not commit code that didn't even fucking compile, especially when they're the one who broke it, and that he needs to grow up. of course he then complained that i was being unprofessional.
our manager decided we should go with fuckfaces """code""" without even looking at the work either of us had done, purely because fuckface is older than me and that's how the world works.
in the end i just told my manager that i refuse to work with the guy and he could either take him or me off the project (guess who he picked) or i quit.
after a few months of the guy failing to deliver any of even the basic functionality that was asked for, the entire project got scrapped, and the dude just quit once everyone realised he was literally just larping as an experienced dev but couldn't accomplish simple tasks.
i never received an apology from anybody involved.5 -
"WTF IS THIS?"
Exclaimed the developer that had never bothered to learn proper architectural patterns such as MVC in his web development are, failing to grasp the folder structure that was open in front of him, gasping at those strange php files that contained not only namespace declarations....but requires, uses and GASP! CLASSES!!
"That is Laravel my dude, built that in Laravel some time ago. Been running without an issue ever since." I mentioned as I reminded him that i had provided documentation had he ever needed to update or work with the application(currently it just needed a static page, which is why he had the app open in his editor)
See children. This is why you don't just learn a tool and never bother to learn something else.
Y'all should have seen how confused this dude was.
Das what yo dumbass gets.
OAN I am getting placed into more hardcore Business Intelligence roles.
The ammount of statistics and overall math required is....
Damn near 0. Data Scientists are full of shit. Anyone in an analyst role is full of shit.
I would know.
I IS one.13 -
For all you meme lovers
namespace Improvise {
static class Adapt {
int Overcome;
}
}
Improvise.Adapt.Overcome2 -
I wrote a prototype for a program to do some basic data cleaning tasks in Go. The idea is to just distribute the files with the executable on our shared network to our team (since it is small enough, no github bullshit needed for this) and they can go from there.
Felt experimental, so I decided to try out F# since I have always been interested with it and for some reason Microsoft adopted it into their core net framework.
I shit you not, from 185 lines of Go code, separated into proper modules etc not to mention the additional packages I downloaded (simple things for CSV reading bla bla)
To fucking 30 lines of F# that could probably be condensed more if I knew how to do PROPER functional programming. The actual code is very much procedural with very basic functional composition, so it could probably be even less, just more "dense"
I am amazed really. I do not like that namespace pollution happens all over F# since importing System.IO gives you a bunch of shit that you wouldn't know where it is coming from unless you fuck enough with Ionide and the docs. But man.....
No need for dotnet run to test this bitch, just highlight it on the IDE, alt enter and WHAM you have the repl in front of you, incremental quasi like Lisp changes on the code can be REPL changed this way, plethora of .NET BCL wonders in it, and a single point of documentation as long as you stay in standard .net
I am amazed and in love, plus finding what I wanted to do was a fucking cakewalk.
Downside: I work in a place in which Python is seen as magic and PHP, VB.NEt and C# is the end all be all of languages. If me goes away or dies there will be no one else in this side of the state to fuck with F#
This language needs to be studied more. Shit can be so compact, but I do feel that one needs to really know enough of functional programming to be good at it. It is really not a pure language like Haskell (then again, haskell is the only "mainstream" pure functional language ain't it not?) but still, shit is really nice and I really dig what Microhard is doing in terms of the .net framework.
Will provide later findings. My entire team is on the Microsoft space, we do have Linux servers, but porting the code to generate the necessary executables for those servers if needed should be a walk in the park. I am just really intrigued by how many lines of code I was able to cut down from the Go application.
Please note that this could also mean that I am a shit Golang dev, but the cut down of nil err checkings do come somewhere.9 -
Dev pickup lines:
Hey girl, I may not know your namespace but if you let me cin it'll turn you cout😉
Comment your best10 -
Client asks me to implement pie chart on webpage. Sum of figures supplied amounts to > 100%. Pointing out discrepancy I request the correct figures, only to be told that the figures are correct. Very well. One week passes. Receive email from client: "The figures for this chart are wrong, they total > 100%, here are the correct figures...". *Sigh*.1
-
I really wonder who is that genius from API team who decided that a namespace with the name "main" is a great fucking idea...
Because of this shit I've had to resort to hacky pImpl implementation of the API.11 -
R is the worst language.
* Indices start at 1, so you have to fix all your calculations by either +1 oder -1. It sucks
* Vectors and Lists are both neither vectors nor lists
* Data frames dont have a proper api. Simple operations like add or remove are a pain.
* The naming „conventions“ suck. Why on earth would add dots in your identifiers? You never know if its an object, a value, a function.
* The namespace is cluttered. If you import two libraries that deal with the same problem domain, it is likely that they define functions with clashing names that will overwrite each other defined on import.5 -
A programmer walks into a bar. He has a concussion because you were using namespace std and didn't scope to building.13
-
Manager: we need to design an admin system for a veterinary centre
Dev: ok, this is it, remember your training
namespace Vetcentre{
class Dog : Animal {
}
}1 -
Client says the styling of a particular component on their website is wrong. It looks fine to me. They can't give me an example of how it should look, or tell me what's wrong with the way it looks currently, but they want me to fix it.3
-
Client called with a query regarding her email client. Said to me during the conversation, "I've got yozzamite". Took me a few moments to realise that she meant Yosemite.8
-
when you're spending 2 hours figuring out why your class isn't picked up, and then notice a typo in your namespace.4
-
Now I'm concerned that using std as a namespace can be seen as offensive by people who are carrying an STI.1
-
So for almost all of my c++ assignments I've recieved various emails from the instructor about things like "incorrect header guard" and "library inclusions out of order".
The first being that I didn't include the namespace inside of the guard (I did "FILENAME_H" instead of "NAMESPACE_FILENAME_H")
The second is that I accidentally included header files from my project before any of the standard libraries. This one wasn't even intentional, it was caused by vscode when it formatted/prettified the file.
EX:
#include "test.h"
#include <iostream>
In my opinion these seem pretty nitpicky and, especially that first one, appear to be more like naming conventions or best practices than something to deduct marks for.
On the flip side though I did accidentally store a couple functions in the global namespace which I understand isn't particularly safe. I also made a couple one line conditional statements that simply never evaluate to true, but I didn't think this was a huge deal.
I don't normally code in any of the c languages outside of college so I'm not sure how important these are to actually follow. I've apparently been deducted an entire 10 percent off the assignment because of the head guard. I know that every professor has different criteria for deducting marks, but even this seemed rather unnecessary.
What does everyone think?11 -
I got an interview on monday but i completely forgot i even applied. They said its java AND c#, so i can guarantee a 50% score i guess.
Can someone explain what the fuck is a namespace while we r at it?5 -
A 'using namespace std;' in a FRIGGGINGG FRIGG LIBRARY HEADER.
"Yuh, I'm totally the king of multiverse. F*** me, right"6 -
Who thought Lua was a good idea for extending gameplay functionality??
It's weakly typed, has no OOP functionality and no namespace rules. It has no interesting data structures and tables are a goddamn mystery. Somebody made the simplest language they could and now everybody who touches it is given the broadest possible tools to shoot themselves in the foot.
Lua's ease of embedding into C++ code is a fool's paradise. Warcraft 3's JASS scripting language had way more structure and produced much better games, whilst being much simpler to work with than Lua.
All the academics describing metatables as 'powerful extensionality' and a fill-in for OOP are digging the hole deeper. Using tables to implement classes doesn't work easily outside school. Hiding a self:reference to a function inside of syntactic sugar is just insanity.
Nobody expects to write a triple-A game in lua, but they are happy to fob it off to kids learning to program. WoW made the right choice limiting it to UI extensions.
Fighting the language so you can try and understand a poorly documented game engine and implement gameplay features as the dev's intend for 'modders', is just beyond the pale. It's very difficult to figure out what the standard for extending functionality is, when everybody is making it up as they go along and you don't have a strongly-typed and structured language to make it obvious what the devs intended.
If you want to give your players a coding sandbox, make the scripting language yourself like JASS. It will be way better fit for purpose, way easier to limit for security and to guarantee reasonable performance. Your players get a sane environment to work in and you just might get the next DOTA.
Repeatedly shooting yourself in the foot on invisible syntax errors and an incredibly broad language is wasted suffering for kids that could be learning the programming concepts that cross all languages way quicker and with way more satisfying results.
Lua is hot garbage for it's most popular application, I really don't get it. Just stop!24 -
Reinvent the wheel workaround: Rename the wheel.
Since you cannot reinvent it, because it already exists and it's working, just call it "rolling circular object" and get away with it.
Why in hell I should call packages "namespaces"?
A package can contain a lot of things actually. It's visual, you can create an icon for it.
Namespace? is that even a word?
Next time I rent an apartment, I'll ask if they have a FuckSpace instead of a bedroom.
"Well, it's a small studio, there is only a ShitSpace and an Open EatAndFuckSpace"
Will do.7 -
I'm working with dictionaries today so naturally all my variable names are making me chuckle:
threshDic
saveDic
cutDic
Etc. you get the picture, it's the little things that get you through a Friday slog. -
!rant
Will this code be compiled ?
#include<iostream>
using namespace std;
int main(){
int 🥩=1;
int 🧀=1;
int 🥬=1;
int 🍞=1;
int 🍅=1;
int 🥪=🍞+🥬+🍅+🧀+🥩;
cout<<🥪;
return 0;
}12 -
Client just asked if I could make a dropdown menu appear when a navigation item is hovered over. ON MOBILE.2
-
Attribute "label" in element "label" in the namespace "label" in a file called "labels.xml"...
Cool, thanks for that.2 -
#include <iostream>
using namespace std;
int main() {
cout << "Hello world" << endl;
}
If it works, It's time for a coffee break!! :)12 -
Have to find a memory leak in a huge, legacy JS application that builds, renders and handles (most) of the basic logic for completing forms - that only works when compiled into a minified js and put in another application that builds into a phonegap based app.
Did I mention everything is bound to a G(lobal) namespace and the ViewModel/Controllers etc. all use JQuery and "this" references and .bind() everywhere?
Deadline of fix: end of today/early tomorrow.7 -
Not sure if it's the worst code review but it's a recent one.
We don't really do code reviews where I work unfortunately but my coworker used my framework for the first time (build some nice composer libraries for cmdline projects) and asked if I could make them do autoloading.
He never used namespaces before so I was glad to help him out.
What I saw was a dreadful mess. His project was called "scripts" so good luck picking a namespace...
Than it was all lose functions in the executable file. All those functions are however called by a class in another file (if they where not calling eachother as a cascading mess). That class was extending an abstract class from my library as instructed. However I never imagined my lib being raped like that.
The functions themselves are a horrible mess. Nothing uniform completely different style (our documentation states PSR's should be used).
Parameters counts higher than 5.
Variable names like Object and Dobject (in calling function Dobject is Object but it needs a fresh one.
If statements on parameters that need basically split it in two (should simply be to functions)
If else statement with return of same variable as a single line (sane people use ternary for that)
Note that I said functions. All of it should have been OO and methods. Would have saved at least some of the parameter hell.
I could go on and on. Do I think the programmer is bad yes (does not even grasp interfaces, dep injection, foreach loops). Is this his best work no. He said that for a one of script like this it just has to work. Not going to be used elsewhere. I disagree as it is a few thousand lines of code that others have to read too.2 -
One stubborn (but not very good) dev working on one part of new project (Windows desktop application with C# underneath) decided he didn’t like the interfaces we were agreeing for the algorithmic code.
Instead of discussing with the team (we were still very much in design phase), he made his own interfaces with the same name but in a different namespace, and in his assembly rather than in the base library. He was senior to the rest of the dev team, so when we raised our concerns he pulled rank and just carried on.
I resigned not long after that. -
using System;
namespace HelloWorld {
class Hello {
static void Main() {
Console.WriteLine("Hello World!");
}
}
}
So, yeah, hello DevRant...
But that you don't thing I am insane, I also know how to survive in C++ and Python.
Besides the fact that I utilize Mono on my Linux server I am crazy enough to admin Windows servers.6 -
Fuck. I just want to fucking use OpenCV on CLion on Windows. Why the fuck do I need twenty fucking PhD's in quantum rocket science to set up a simple project with Cmake?
During the time I just wasted trying to get the correct library to link properly, I could have rewritten all of Tesla's fucking CV functionality from scratch, but instead here I am spending literal fucking hours googling why the fuck does 'recursive_mutex' not name a fucking type in namespace 'std' on mingw.
Fuck C++ I'm going back to C# where I can literally install OpenCV and all of its fucking dependencies from nuget with ***ONE*** fucking click.6 -
Fucking java library publishing. It's a nightmare. You have to fucking own a domain to publish a shit onto jcenter/bintray/whatever. You have to own the domain, that your lib's package name is. And you MUST verify it, otherwise you won't publish anything. Or you can shit allover your lib with package name like com.github.dumbcoder.mycoollib.
You must to create a ticket for some shitheads that are going to verify your shit for two weeks. They gonna ask you for source.jar, docs.jar and whatever shit.jar they need.
What THE fuck? Who was the asshole that decided name packages in reverse domain name? No FUCKING more ecosystem has such a bullshit. In .net you just make a lib, create a free nuget account, fill some basic info and boom! you have .net package published. Same for npm and rust for example.
Because the fucking package name should be just for structure not for a some dick to own it. Namespace is name-fucking-space.
FUCK JAVA.7 -
I just wanted to create a small website using PHP MVC... Hahaundefined autoloader namespace dependencies toomanysubjects singleton php mvc configuration dispatcher fuckthisshit2
-
Sometimes I think devs are like superheroes who are bored to death and just want to have the greatest world clusterfuck possible to be ... Amused.
Backstory: One project, fairly large (roughly 200 dependencies, a framework). I looked over the ticket backlog and a critical ticket title regarding the important framework caught my eye.
(Rephrased as title was gibberish)
Framework fork needed for supporting different versions of library X
...
Ok. They want to fork a whole fucking framework for a single library dependency.
😶
The framework that is the basis of like 30 - 40 % of all projects at our company.
😶
Maybe.. I just misunderstood it. (my hope dies several times a day, one more or less doesn't matter).
Ticker: Blablablablabla...
"to incorporate library X at version A and - for other projects - at version Y, we need to split the framework into two forks with different versions but same namespace."
🤮
Why. Just why. How the fuck can anyone come up with such an incredible stupidity?
After chewing some people's ears off....
It turned out to be very simple.
Just split off the library dependent part, which were like 20 plus classes.
Release it with two different versions, for library in version A and library B.
Done.
Sometimes devs terrify me.
Please. Never fork / branch a framework or anything "heavy" completely.
That's madness. Properly split what needs to be split and be done.
It's not that hard, hmkay?1 -
For the past 5+ years all I’ve heard from DevA and DevB is what a mess our source control is, we should be using our own custom nuget feeds,..Monday morning quarterback this…Monday morning quarterback that.
This year the department manager gave them the green light to start from scratch. Like ‘green field’ start from scratch. If I were involved, I would have been excited with such an opportunity.
For the past two hours all I’ve heard is ..
DevA: “What should we call this namespace?”
DevB: “I don’t know, I can’t make that decision.”
DevA: “Yea, that’s a business decision. Let’s call it Common for now.”
DevB: “Yea, it’s stupid, but we can change it later.”
DevA: “What about logging project?”
DevB: “Well, how about Core? Every project should have a Core.”
DevA:”Ha ha…like .Net Core. I like it.”
On and on…it’s all I can do from throwing my chair right now.1 -
Working with Microsoft.CodeAnalysis.CSharp
where I work with CSharpSyntaxTree
I can compile the code in code.
So basically,
SyntaxTree syntaxTree = CSharpSyntaxTree.ParseText(@"
using System;
namespace InAppCompiler
{
public class Writer
{
public void PrintText(string message)
{
Console.WriteLine(message);
}
public void ALLCAPS(string msg)
{
Console.WriteLine(msg);
}
}
}");
Freaking cool!3 -
I gave a rant yesterday about this. But I have to say it again because it's so gratifying. It went like this
Me: "you should patch the module instead of using it for your python unit test."
Them: "You keep telling me this, but maybe there is a better way"
Me: "there is, I'm telling it to you"
Next day, Code review.
Me: "You need to change this"
... silent on the issue ...
On a call...
Me: "You need to patch the module. Don't mess up the namespace."
Them: "I don't think so, X did the work"
(In my head: then what did you do)
Me: "We can grab whoever you like Y, X. Let's see if X is busy"
... X isnt busy, hops on call 45 seconds later.
Me: "we're using the module, we should patch this'
X: Muses the thought for 2-3 seconds.
X: "yeah... Yeah we probably should patch that"
Moral of the story, don't take shit personally unless your right... Then relish in. But if your right and X says otherwise, you can always + a rant. -
Found this gem a while ago that made my day
if ( $this->isExternal() ) {
// This probably shouldn't even happen. ohh man, oh yuck.
// But for interwiki transclusion it sometimes does.
// Shit. Shit shit shit.
//
// Use the canonical namespaces if possible to try to
// resolve a foreign namespace.
if ( MWNamespace::exists( $this->mNamespace ) ) {
return MWNamespace::getCanonicalName( $this->mNamespace );
}
In a not too old version for mediawiki, the codebase for Wikipedia.
https://phabricator.wikimedia.org/s... -
Ok so Swift's module system creates implicit namespace, meaning gone are the days of Objective-c frameworks / classes having prefixes.
I get that, and its a great advancement. But when I'm using 3 different social media SDK's, a networking library and some persistence cocoapods and I have to use classes called "AccessToken" and "Manager" ... come on guys, name your shit better.
I'm looking at you Facebook and AlamoFire!!! -
I´m learning C # basic concepts and a question has come up after doing this exercise:
using System;
namespace exercise
{
class MainClass
{
public static void Main (string[] args)
{
console.WriteLine("Type your name");
String name = Console.ReadLine ();
console.WriteLine("Type one city");
String city = Console.ReadLine ();
console.WriteLine("Hello"+ name + "wellcome to " + city )
Console.ReadLine ();
}
}
}
Question: its necessary to put the last
Console.ReadLine ();?Why?8 -
So I figure since I straight up don't care about the Ada community anymore, and my programming focus is languages and language tooling, I'd rant a bit about some stupid things the language did. Necessary disclaimer though, I still really like the language, I just take issue with defense of things that are straight up bad. Just admit at the time it was good, but in hindsight it wasn't. That's okay.
For the many of you unfamiliar, Ada is a high security / mission critical focused language designed in the 80's. So you'd expect it to be pretty damn resilient.
Inheritance is implemented through "tagged records" rather than contained in classes, but dispatching basically works as you'd expect. Only problem is, there's no sealing of these types. So you, always, have to design everything with the assumption that someone can inherit from your type and manipulate it. There's also limited accessibility modifiers and it's not granular, so if you inherit from the type you have access to _everything_ as if they were all protected/friend.
Switch/case statements are only checked that all valid values are handled. Read that carefully. All _valid_ values are handled. You don't need a "default" (what Ada calls "when others" ). Unchecked conversions, view overlays, deserialization, and more can introduce invalid values. The default case is meant to handle this, but Ada just goes "nah you're good bro, you handled everything you said would be passed to me".
Like I alluded to earlier, there's limited accessibility modifiers. It uses sections, which is fine, but not my preference. But it also only has three options and it's bizarre. One is publicly in the specification, just like "public" normally. One is in the "private" part of the specification, but this is actually just "protected/friend". And one is in the implementation, which is the actual" private". Now Ada doesn't use classes, so the accessibility blocks are in the package (namespace). So guess what? Everything in your type has exactly the same visibility! Better hope people don't modify things you wanted to keep hidden.
That brings me to another bad decision. There is no "read-only" protection. Granted this is only a compiler check and can be bypassed, but it still helps prevent a lot of errors. There is const and it works well, better than in most languages I feel. But if you want a field within a record to not be changeable? Yeah too bad.
And if you think properties could fix this? Yeah no. Transparent functions that do validation on superficial fields? Nah.
The community loves to praise the language for being highly resilient and "for serious engineers", but oh my god. These are awful decisions.
Now again there's a lot of reasons why I still like the language, but holy shit does it scare me when I see things like an auto maker switching over to it.
The leading Ada compiler is literally the buggiest compiler I've ever used in my life. The leading Ada IDE is literally the buggiest IDE I've ever used in my life. And they are written in Ada.
Side note: good resilient systems are a byproduct of knowledge, diligence, and discipline, not the tool you used. -
#include <advice>
using namespace plz;
So I have a soft cozy internship for a large retail corporation, the workplace is fantastic and the people are nice. We run into problems where this company outsources to India for almost all of its programming leaving their "software engineers" to answer emails and support 15 year old applications. This is obviously not the work I want to be doing. I want to create. This company also pays slightly less than average for an entry level programmer. I have one year of college left as well. At the end of this internship it is almost guaranteed that I get a full time offer but I only get 2 months to accept or decline. I feel like I'll say no.
So I guess what I'm asking is, should I turn down the safe first job and go for work that will make me excited in the morning or take the easy soft underpaid email answering job?
Thanks guys3 -
The „UI-God“ in our team has never heard of dry or clean code.
Clashing classnames for modules in global namespace, gives a f* about patterns, naming conventions, structure and everytime I rebase it breaks my code.
I need the same amount of time fixing his work as he spends on it. -
Hey so this just came up and i have no idea how could i ddg this so ill just ask here.
I know you can use namespace{} in typescript but is there something similar in js (es6)? We are making a game and the variable names are getting scarce so it would be nice if we could like menu.offset or something. I know static variables in classes are a thing but im asking about namespace-y stuff here.3 -
Client emails and asks why a certain element appears on particular page of their website. I respond by saying that they'd asked me to place it there. I then find and forward them the email in which they requested that I place the element on the page. Client replies to forwarded email, "What is this in relation to?".
I must stress that this was all in the space of about two minutes and no other emails were exchanged in-between; there was zero possibility of crossed wires. -
CAN 👏 PEOPLE 👏 STOP 👏 ADDING 👏 `/// <reference lib="dom">` 👏 TO 👏 NODE.JS 👏 PACKAGES
It's a Node.JS package, for fuck's sake. But for SOME reason, sometimes to get around the lack of `URL` and `URLSearchParams` in @types/node, people keep including the *entire* DOM typings in their definition files/TypeScript files!
Sometimes I upgrade my deps in a Node.JS project and find that DOM typings have been added, causing errors when trying to use the global `URL`/`URLSearchParams` (I've shimmed these so that these (Node.JS versions) are in the global namespace). Then you have to search in all your dependencies for which one is including the DOM definitions.1 -
Well shit. TIL "using namespace" within a namespace applies to the entire flipping' namespace, not just the bit between the braces. Fuck.
-
The documentation of scala akka http may be just gibberish as far as I am concerned. You would think that hooking into the marshalling process (aka de/serialization) would be straight forward, I've dealt with similar problems before and solved it.
I have an object, it should be transformed into a Json and vice versa. Should be easy as pie.
Not with scala and akka-http. The docs tell you how to achieve something in dozen different ways yet lack a complete example. My first custom marshaller I created in a "marshall" package in my! namespace, but it was breaking scala compilation due to some black magic.
It's not clear how when and why marshallers are added, they just somehow are. Why do I have to deal with entity marshallers vs response marshallers. I just want each instance of a certain type to be transformed into a specific Json presentation.
Asking on stackoverflow also only yields in incomplete hints of "just do boargh" presupposing certain knowledge while sounding borderline condescending.
Currently, I just want to burn the project and rebuild it with fucking PHP. Flame all you want, at least I would get things done and the JMS serializer library has decent documentation and it works in an expected way.
Akka-http, combined with Scala, looks from my current rage-driven perspective like a solution worse than the problem. -
YGGG IM SO CLOSE I CAN ALMOST TASTE IT.
Register allocation pretty much done: you can still juggle registers manually if you want, but you don't have to -- declaring a variable and using it as operand instead of a register is implicitly telling the compiler to handle it for you.
Whats more, spilling to stack is done automatically, keeping track of whether a value is or isnt required so its only done when absolutely necessary. And variables are handled differently depending on wheter they are input, output, or both, so we can eliminate making redundant copies in some cases.
Its a thing of beauty, defenestrating the difficult aspects of assembly, while still writting pure assembly... well, for the most part. There's some C-like sugar that's just too convenient for me not to include.
(x,y)=*F arg0,argN. This piece of shit is the distillation of my very profound meditations on fuckerous thoughtlessness, so let me break it down:
- (x,y)=; fuck you in the ass I can return as many values as I want. You dont need the parens if theres only a single return.
- *F args; some may have thought I was dereferencing a pointer but Im calling F and passing it arguments; the asterisk indicates I want to jump to a symbol rather than read its address or the value stored at it.
To the virtual machine, this is three instructions:
- bind x,y; overwrite these values with Fs output.
- pass arg0,argN; setup the damn parameters.
- call F; you know this one, so perform the deed.
Everything else is generated; these are macro-instructions with some logic attached to them, and theres a step in the compilation dedicated to walking the stupid program for the seventh fucking time that handles the expansion and optimization.
So whats left? Ah shit, classes. Disinfect and open wide mother fucker we're doing OOP without a condom.
Now, obviously, we have to sanitize a lot of what OOP stands for. In general, you can consider every textbook shit, so much so that wiping your ass with their pages would defeat the point of wiping your ass.
Lets say, for simplicity, that every program is a data transform (see: computation) broken down into a multitude of classes that represent the layout and quantity of memory required at different steps, plus the operations performed on said memory.
That is most if not all of the paradigm's merit right there. Everything else that I thought to have found use for was in the end nothing but deranged ways of deriving one thing from another. Telling you I want the size of this worth of space is such an act, and is indeed useful; telling you I want to utilize this as base for that when this itself cannot be directly used is theoretically a poorly worded and overly verbose bitch slap.
Plainly, fucktoys and abstract classes are a mistake, autocorrect these fucking misspelled testicle sax.
None of the remaining deeper lore, or rather sleazy fanfiction, that forms the larger cannon of object oriented as taught by my colleagues makes sufficient sense at this level for me to even consider dumping a steaming fat shit down it's execrable throat, and so I will spare you bearing witness to the inevitable forced coprophagia.
This is what we're left with: structures and procedures. Easy as gobblin pie.
Any F taking pointer-to-struc as it's first argument that is declared within the same namespace can be fetched by an instance of the structure in question. The sugar: x ->* F arg0,argN
Where ->* stands for failed abortion. No, the arrow by itself means fetch me a symbol; the asterisk wants to jump there. So fetch and do. We make it work for all symbols just to be dicks about it.
Anyway, invoking anything like this passes the caller to the callee. If you use the name of the struc rather than a pointer, you get it as a string. Because fuck you, I like Perl.
What else is there to discuss? My mind seems blank, but it is truly blank.
Allocating multitudes of structures, with same or different types, should be done in one go whenever possible. I know I want to do this, and I know whichever way we settle for has to be intuitive, else this entire project has failed.
So my version of new always takes an argument, dont you just love slurping diarrhea. If zero it means call malloc for this one, else it's an address where this instance is to be stored.
What's the big idea? Only the topmost instance in any given hierarchy will trigger an allocation. My compiler could easily perform this analysis because I am unemployed.
So where do you want it on the stack on the heap yyou want to reutilize any piece of ass, where buttocks stands for some adequately sized space in memory -- entirely within the realm of possibility. Furthermore, evicting shit you don't need and replacing it with something else.
Let me tell you, I will give your every object an allocator if you give the chance. I will -- nevermind. This is not for your orifices, porridges, oranges, morpheousness.
Walruses.16 -
Managing dependencies with npm or yarn feels like trying to communicate with a bunch of hipster kids. "Ugh omg I no longer hang in that namespace like that was so two weeks ago"
-
Half of my time coding is spent coming up with descriptive, unique var names that won't clash with damn namespace.2
-
Client had me implement an exit intent modal on their website, inviting visitors to sign up to their mailing list when they moved to close the browser tab.
Client then had me implement an on page load modal which displays the poster for their upcoming event.
Client just emailed "Double popup happening!" with a screenshot of their website with both modals displayed at once.
Kicking myself for replying and explaining that this was expected behaviour in light of what they'd asked for instead of responding, simply, "Yes".1 -
Client's WordPress powered site has gone down due to influx of traffic. Site is cached and whatnot, the server it's on is simply underpowered and not coping. Whilst I'm frantically trying to spin up new servers and load balance and get things back online, client keeps interrupting with emails like "URGENT - Website is down", "How long is this going to take please?", and "Hello! Do you know whats going on?!". I reply cordially to each, secretly growing increasingly enraged. "Yes I am already aware and working on it.", "Difficult to estimate, but I'm hoping no more than 20 minutes.", "Yes. I'm working on it.", "Yes, I know. I'm working on it."
And then I receive this gem: "Perhaps call Word press?"
AARRGGHHH
This scene from Clerks springs to mind: https://youtube.com/watch/...2 -
So a monad is basically a specialized object for converting to and from a datatype. So FP has specialized objects. Monad marries OO with FP in that sense. In C++ I would do this pattern with a class because it makes sense to encapsulate it there. Or at least a namespace.
Change my mind.
https://en.wikipedia.org/wiki/...7 -
Today I discovered trial and error driven development for myself:
Me, reading spec..
Spec: „Do something with an CSR“ (not the exact wording :D)
So instead of just googling C# + CSR and copying the code examples,
I went like:
What means CSR -> Certificate (Something Something)
-> could be this namespace (Something with „Crypto...“ in its name)
-> could be this class (Something with „Certificate“ in its name)
-> take the easiest overload (string is always nice)
-> try filling in the parameters from the spec
-> start debugger and inspect properties
-> repeat if necessary
I don’t know if this is the correct pattern to proceed my project with...
But hey, today it worked and now I also know, what „distinguished“ means -
Can someone help me? I'm getting this error in VS Code while working on my Unity project. Everything was working fine for last few months. Now I'm getting false positives, because everything works fine in Unity. The problem's gone when I open "ObjectInfo" class file and save it, but I have to do it every time I start VS Code.
The type or namespace name 'ObjectInfo' could not be found (are you missing a using directive or an assembly reference?) [Assembly-CSharp] -
Have you ever written a very complicated code to look like a professional programmer??
For example:hello world app in c++
#include <iostream>
using namespace std;
int main(int argv, char argc)
{
char vhWnd[] = new char[13];
struct dataentry
{
string txt;
float vex = 0.2345234;
};
vhWnd[1] = 'e';
vhWnd[4] = 'o';
vhWnd[3] = 'l';
vhWnd[2] = 'l';
vhWnd[7] = 'o';
vhWnd[5] = ' ';
vhWnd[6] = 'W';
vhWnd[9] = 'l';
vhWnd[8] = 'r';
vhWnd[13] = '\0';
vhWnd[10] = 'd';
vhWnd[12] = '!';
vhWnd[11] = ' ';
vhWnd[0] = 'H';
for ( int i = 0, i=13, i++)
{
nhttp << vhWnd[i];
}
return 85037593;
}19 -
Ok so I got namespace N.
And namespaces N\a and N\b.
I would like N\a\foo() to call N\b\bar().
But no matter what I do it says \N\b\bar() does not exist. What am I doing wrong??
I've tried including, using, requiring but nothing.8 -
One of the many good things about F# is that it seamlessly integrates with the .NET ecosystem, right? Very handy in an enterprise environment where in order to get anything done you have to use in-house nugets and tediously building a C# app for something you can do in about 30 LoC in F# just doesn't make sense...
... And then you run into the one fucking namespace in the whole ecosystem that just DOES. NOT. WORK. with F#. What the actual fuck M$?!
In all other cases Func<T',Task> in C# translates into T' -> Task in F#, but not here. "Oh, you're trying to give me Func<T',Task> -> Task? Can't do". Fuck that.9 -
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 -
I don't "using namespace std;" because it makes my code look more confusing to others and may make them more hesitant to ask questions.8
-
Pushed some changes to PROD today. Go to login and check changes .. noooooope!
Still a bit new to Symfony 5... but I'm just not a fan right now. The login screen just jumps back to itself. No login failed message and prod log had a size of 0 so that was no help.
Traced this thing way down into the CSRF Authentication functions. \is_callable(...namespace) just returning null so no go on getting a token for isTokenValid() =/
ugh! This is truly the most torturous junk I've ever seen. Nothing in the logs so I decided to just use the good old ECHO'HERE' debugger.
What was the issue you might ask?... effin' yaml file
Fix for now is to set the session handler_id back to null -
I’m very surprised at the lack of PHP micro frameworks with correct Namespace and Class support. I had to spend my weekend adding it, as well as making it so you can easily add a ORM library to it.
Sure I could use Laravel or Codeignitior, but I just needed something simple for rapid development of simple GUIs for desktop and server applications. I couldn’t justify copying over 6500 files for something I’m only going to use a quarter of its features. Now, I can just use composer to install the features I need.8 -
The most normal C++ program be like:
// prints "Hello, World!"
namespace{decltype(+*"")(*main)()=[]()->decltype(main()){return{};};}
decltype(main())(main(decltype(main())={},decltype(&*"")_[]={})){
extern decltype(&"") puts;
reinterpret_cast<decltype(::main())(*)(decltype(&*""))>(&puts)("Hello, World!");
return(decltype(::main()){});
}8 -
Error Message : No ClassToInherit class found. There must be a class which inherits from ClassToInherit in the namespace 'blah'.
okay but there is a class in that namespace which inherits from ClassToInherit.
I hate private frameworks. -
There should be no debate about
statically typed vs dynamic,
functional vs imperative,
single vs multi namespace
(lisp-1 vs lisp-2),
or anything like that:
it always boils down to
simple vs complex,
where
simple is the unquestioned winner.2 -
Why, oh god why, is our microservice component responsible for translating our output back into your obscure namespace xml format based on a Guidewire policy models? Why are we not just sending you back a Json - which is our output - and you have to figure it out into your details? Who messed this up?
-
Hey guys!
Once again, I got a little stumped when writing one thingmajig in Python.
I am normally not a programmer (Work as sysadmin), so I don't really know all the fancy abstract ways things are done "properly", which is why I need to ask here:
I have a program, separated into parts. The "core" is a part that sets commandline argument structure (using the argparse library), loads master configuration file, sets up the main logging facility, and then proceeds to load "plugins" - python files with one or more classes that implement one specific abstract class that forces them to implement a common interface of init, run, cleanup functions.
The core then proceeds to initialize those classes, run the "run" function, and run the "cleanup" function.
If the plugin class throws a Warning, it is only logged and runtime continues. If it is anything else, the program logs it and stops.
Now, the issue is, sometimes, a user may want to continue even if a non-warning occurs.
Lets say that I am creating a user, and the user already exists. Sometimes, the program user might want to continue with further plugin execution. And what I was told was to implement specific commandline switches that force continuation of runtime despite the plugin failing.
How should I implement it? The most obvious thing is to add a specific switch for every plugin, but that is exactly what I am trying to evade. I want to have the core as abstract as possible.
Other solution I thought of is to have a file of some sort that would list extra switches to implement, then it would be up to the class to implement if it uses the switch or not (I pretty much pass the entire Namespace received from parse_args() function), but this also feels kinda hackish.
I thought about having some sort of function that the plugin could call in the core to add a new argument, but at the point that plugins start loading, the argument parser is already compiled and cannot be changed further.
Any other ideas of how to re-implement the program are also welcome! I may not do it this times, but I'd at least learn something new again.3 -
Stop putting your interfaces all inside a folder called "Interfaces"! If I'm looking for the interface for CheckoutService, I don't want to browse through every interface in the application to find it.
I also shouldn't have to import a namespace solely for an interface. Ideally, the interface will be in another project, but under the same namespace as its implementation, in most cases.
Do you see Microsoft putting their interfaces in a folder called "Interfaces"? There's probably a reason they don't.3 -
Fuck XCode. Worst IDE ever. Forgot to declare namespace for function in cpp file and it can't even underline it. And in addition to that, the slowest IDE!!!1
-
using System;
using System.Text;
using System.Text.Encodings;
//Bitwise XOR operator is represented by ^. It performs bitwise XOR operation on the corresponding bits of two operands. If the corresponding bits are same, the result is 0. If the corresponding bits are different, the result is 1.
//If the operands are of type bool, the bitwise XOR operation is equivalent to logical XOR operation between them.
using System.Text.Unicode;
using System.Windows;
using System.IO;
namespace Encryption2plzWOrk
{
class Program
{
static void Main(string[] args)
{
//random is basically a second sepret key for RSA exhanges I know there probaley is a better way to do this please tell me in github comments.//
Random r = new Random();
int random = r.Next(2000000,500000000);
int privatekey = 0;
int publickey = 0;
string privateKeyString = Console.ReadLine();
byte[] bytes3 = Encoding.ASCII.GetBytes(privateKeyString);
foreach(byte b in bytes3)
{
privatekey = b + privatekey;
}
int permutations = random/ 10000;
if(privatekey < 256)
{
while(permutations > 0)
{
foreach (byte b in bytes3)
{
privatekey = privatekey + (privatekey ^ permutations)*20;
}
}
}
publickey = privatekey*random;
Console.WriteLine("your public key is {0}",publickey);
}
}
}
would this be considerd ok HOBBYIST encryption and if not how would I do a slow improvment I used bitwise to edit bits so thats a check :D12 -
Using ReSharper is like becoming enlightened, or de-brainwashing oneself to see true reality. Of my entire dev team, I'm the only one who can see the fnords!
Unused identifiers, badly sorted modifiers, unused property setters, redundant `this`/namespace, redundant casts... Surely if they could see them too, such code would not survive! -
My favorite financial data provider hates me: It has changed the namespace on the root node of the xml.1
-
Fuck JS. I want to import file and it just gives errors. In PHP for few years it never happens. You check if namespace is correct it always imports without problems. Fuck you JS creators. It asks to install a library, but I am not fucking importing a library. I am just importing my own created simple file. Fuck you.
import addCommas from 'formatter';
formatter.js
export default function addCommas(number)
{
console.log('aaa');
return number;
}
idiotism.13 -
#include <iostream>
using namespace std;
int main() {
int t;
cin>>t;
while(t--){
int n;
cin>>n;
int arr[n];
int count=0;
for(int i=0;i<n;i++){
cin>>arr[i];
count^=arr[i];
}
cout<<count<<endl;
}
return 0;
}
In the above program,
how does this code snippet work?
count^=arr[i];8 -
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 -
//TODO:Describe your day with block of code
using Friend.Drive;
using Coffie.Machine;
using MyCheck;
namespace Raspik.Week.Thursday
{
public class Init
{
#region Morning
public void Init()
{
this.status = _status.WakeUp;
this._getReadyToWork(Coffee, Closes, Laptop Bag);
bool success = this.getToBus();
if(!success)
Friend.Drive.ToWork(Beer,ListenToMetal());
Coffee.Machine.DoubleEspresso();
MyCheck.WorkOn(Jira.Moderate, Jira.Blocker);
#endregion
#region Noon
this._eatFood(Beef,Ale)
this._devRant.CheckInteresting();
this._facebook.CheckInteresting();
this._workEvents += new EventHander(InternetStatus);
this._coolEvents +=new EventHandler(Purge_Nerf_War);
MyCheck.WorkOn(Jira.All);
MyCheck.HappyHour(Beer,Whiskey);
MyCheck.OnlineMeeting(Client);
this.GoHome(Friend.Drive.Home);
#endregion
#region Evening
while(true)
this._baby.Diaper.Change;
this._goToSleep(this.KissWifeAndChild));
}
}3 -
Halp meh, plz... I have run across a problem and I have absolutely no idea how to go about solving it...
So basically I need to decrypt a TDES encrypted Azure service bus message. Can be done in a straightforward manner in .NET Framework solution with just your regular old System.Security.Cryptography namespace methods. As per MSDN docs you'd expect it to work in a .NET Core solution as well... No, no it doesn't. Getting an exception "Padding is invalid and cannot be removed". Narrowed the cause down to just something weird and undocumented happening due to Framework <> Core....
And before someone says 'just use .NET Framework then', let me clarify that it's not a possibility. While in production it could be viable, I'm not developing on a Windows machine...
How do I go about solving this issue? Any tips and pointers?10 -
I've a classic class in C#: RelayCommand. It's just a general purpose ICommand implementation. I want to use a dedicated namespace for it. I cannot use MyCompany.RelayCommand because using the same-class-name as namespace causes problems. What do you suggest?2
-
So today I stuck my python in a cage and did some sea# surfing
What are the odds it's gonna byt me good when I try to play with it again3 -
How to organize your projects in Visual Studio with separate Namespaces without naming every project like: <projectname>.<this>.<that>
Instead I want to name the solution <projectname>. And then name my project <this>.<that>? -
AOA friends please help me to solve the program of C++
#include <iostream>
using namespace std;
int main() {
int passengers = 126;
int empty_seats = 0;
//passengers =126;
passengers after 1st bas leaving= passengers - 50;
passengers after 2nd bas leaving= passengers - 50;
passengers after 3rd bas= passengers;
empty_seats= 50 % passengers;
cout << "Empty seats in last bas"<< empty_seats <<endl;
return 0;
}33