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 - "operators"
-
Yesterday: Senior dev messages out a screenshot of someone using an extension method I wrote (he didn’t know I wrote it)..
SeniorDev: “OMG…that has to be the stupidest thing I ever saw.”
Me: “Stupid? Why?”
SeniorDev: “Why are they having to check the value from the database to see if it’s DBNull and if it is, return null. The database value is already null. So stupid.”
Me: “DBNull is not null, it has a value. When you call the .ToString, it returns an empty string.”
SeniorDev: ”No it doesn’t, it returns null.”
<oh no he didn’t….the smack down begins>
Me: “Really? Are you sure?”
SeniorDev: “Yes! And if the developer bothered to write any unit tests, he would have known.”
Me: “Unit tests? Why do you assume there aren’t any unit tests? Did you look?”
<at this moment, couple other devs take off their head phones and turn around>
SeniorDev:”Well…uh…I just assumed there aren’t because this is an obvious use case. If there was a test, it would have failed.”
Me: “Well, let’s take a look..”
<open up the test project…navigate to the specific use case>
Me: “Yep, there it is. DBNull.Value.ToString does not return a Null value.”
SeniorDev: “Huh? Must be a new feature of C#. Anyway, if the developers wrote their code correctly, they wouldn’t have to use those extension methods. It’s a mess.”
<trying really hard not drop the F-Bomb or two>
Me: “Couple of years ago the DBAs changed the data access standard so any nullable values would always default to null. So no empty strings, zeros, negative values to indicate a non-value. Downside was now the developers couldn’t assume the value returned the expected data type. What they ended up writing was a lot of code to check the value if it was DBNull. Lots of variations of ‘if …’ , ternary operators, some creative lamda expressions, which led to unexpected behavior in the user interface. Developers blamed the DBAs, DBAs blamed the developers. Remember, Tom and DBA-Sam almost got into a fist fight over it.”
SeniorDev: “Oh…yea…but that’s a management problem, not a programming problem.”
Me: “Probably, but since the developers starting using the extension methods, bug tickets related to mis-matched data has nearly disappeared. When was the last time you saw DBA-Sam complain about the developers?”
SeniorDev: “I guess not for a while, but it’s still no excuse.”
Me: “Excuse? Excuse for what?”
<couple of awkward seconds of silence>
SeniorDev: “Hey, did you guys see the video of the guy punching the kangaroo? It’s hilarious…here, check this out.. ”
Pin shoulders the mat…1 2 3….I win.6 -
I wrote an answer, in my exam, about the precedence of operators.
Took a random example: "3+4*6", and explained that "*" has higher precedence, so "4*6" would be executed first and so on.
Long story short, this was the last line in my answer:
"The answer is 27, not 42."20 -
I can't be the only one who has at least once used a single = for a comparison and spent ages wondering what went wrong 😑8
-
It's not that I hate PHP, I just hate the lack of consistency in standard function naming and parameter order, nonsensical attribute access, nearly-meaningless comparison operators, reference handling, case (in)sensitivities, and more!
I mean, look at these functions:
strtoupper(...)
bin2hex(...)
strtolower(...)
And look at THESE FUNCTIONS:
array_search($needle, $haystack)
strpos($haystack, $needle)
array_filter($array, $callable)
array_map($callback, $array)
array_walk($array, $callable)
And let me jUST USE SOME ATTRIBUTES:
$object->attr = "No dollar sign...";
Class::$attr = "GOD WHY";
HOW ABOUT SOME COMPARISONS:
(NULL == 0) // true
(NULL < -1) // ALSO true
Functions AREN'T CASE SENSITIVE (at least variables are).
Wanna dereference? TOO BAD, YOU'LL HAVE TO GET OUT THE TNT.
Alright, yeah, I hate PHP.19 -
Worst experience with cs profs? Oh boy....
Databases lab: "You'll need to work of this snippet, if your IDE tells you it's deprecated you don't need to care about it"
If you want to imagine the quality of the code base we were expected to work upon just think about that attached xkcd comic, basically an undecipherable black box.
The instructions where at the same time micro managing everything (he gave us frickin variable names to use, and no good ones, no the database connection had to be called datbc, yeah very descriptive) and yet so obfuscated that I'm not completely sure he didn't resurrect Kant himself to ghostwrite for him.
He also didn't like us to use any Java feature that was to 'modern', for example for each loops since "they offer no benefit over normal for loops".
Further, everything we wrote had to be documented with a relationship diagram and a uml. So far no problem if he hadn't invented his own flavor of both (which can be read about in his book).
Oh, and he almost failed me because I used a lambda expression in his 'code on paper' exam and this "arrows are a C command" I "must have been confused"... which is glorious coming from the guy who can't get operators and commands straight.1 -
Me: Bro look, I have learnt so many things from the past couple of days.
-Introduction
-Data Types
-Variables
-Arrays
-Operators
-Control Statements
-Classes
-Methods
-Inheritance
-Packages
-Interfaces
-Exception Handing
-Multi-threaded Programming
-Enumerations
-Autoboxing
-Annotations
-Generics
My senior: Congrats on finishing up the basics
Me: Those were just basics???...///!!! 😜3 -
Java:
Primitive streams. Their need to exist is a monument to legacy failure.
VB.net
OrElse and AndAlso short-circuiting operators. The language designers were too fucking lazy to process logic, so they give specific keywords for those cases.
PHP
Random Hebrew error messages
JS
Eval. It can be used responsibly, but most of the times you see it it's because someone fucked up.
C#
Lack of Tuple destructuring in argument specification. Tuples were added, and pattern matching was added, and it's been getting better. The gear grinding starts with how Tuple identity assignment in arguments is handled. Rather than destructuring into the current scope, it coalesces the identity specification into a dot property of whatever the argument name is. This seems like an afterthought given they have ootb support for ignore characters.
Typescript
This will probably be remedied in the next version or two, but Tuple identity forwarding between anonymous scopes normalizes to arrays of union types, because tuples compile to typeless arrays. It's irritating because you end up having to restate the type metadata in functional series even when there is no possibility for any other code branch to have occurred.12 -
Introducing a new javascript functionality:
Relation operators
These help you determine if object is related to other object and in which way (parent, child)
In screenshot a demonstration done on numbers1 -
How to profesionally say: you fucking illiterate and incompetent piece of shit, I am tired of spoonfeeding you because you dont use your fucking brain. I am fucking tired of explaining same concept over and over again for the past 2-3 months. Open fucking google for once and lookup latest practices, and learn what functional programming is and learn how to use operators instead of fucking inventing wheel again and again with your 100 lines boilerplate of code functions. Open your fucking mind for once and lookup stuff for yourself, instead of asking me to explain everything for the 100th time you lazy fuck. Oh and stop asking me "to be nice", this is gaslightling. I am being professional and I am the only person in this company who actually tolerates u on some level, others are just avoiding you you useless piece of shit. If I need to explain something for 5th time and I make you feel bad, it means you should feel bad. So maybe grow some balls and start putting in some effort, instead of playing the victim when you are the supposed 6 year senior and I am the 3 year junior, who has to do your fucking job half of the time. You are incapable of even using the standard architecture, what you use is fucking 6-7 years old. Fucking code monkey with broken english who doesnt understand what hes doing. You dont like my methods? I dare you to schedule an appointment between me and manager or your useless techlead, but I know you wont do that because I know you are afraid of everyone finding out how incompetent you are. You low fruit hanging task licking incompetent shit.1
-
Here in Saint Petersburg, Russia, our local governmental utility company that is responsible for providing tap water for the entire city, uses crayfish to monitor the water composition.
There are some crayfishes living at the plant and there are some scientists that constantly monitor the crayfish via optical fiber to measure how they feel. If crayfish feels bad, the water is cut out and the inspection begins. There are operators that are paid to watch for crayfish mood throughout the day.
This system works flawlessly since 2005 and helped prevent several accidents when toxic stuff that can’t be monitored on a large scale ended up in our local river.
I mean coal miners was using canaries and rats for years to detect what detectors just can’t detect good enough.
Our entire tap water system depends on some crayfish and it’s amazing.4 -
Years ago I used to work a guvmant site. They had really strict security rules for internet and how you spent your time. Makes sense considering what that site did. I was a support engineer for some of their process control equipment.
I was approached by an operator supervisor to install dvd player software on a business machine (non process related). Basically just a general purpose PC with no function other than time cards and general office use. I was fine with the request, but the reason was for watching movies during a holiday period by the operators. Not for anything official. So I made some noise about my dislike of this request feigning moral superiority. But the supervisor swore up and down it was for "training" dvds.
So I wrote a simple windows script. The script basically popped up a window that said:
"Security has detected unauthorized media inserted into this machine. Please state the reason for this infraction." It provided a dialog to enter a justification. After you entered the justification it said: "Security has been contacted and your user logged. You will be contacted shortly."
This script was then attached to the supervisors Start folder so it ran when he, and only he logged in. We made sure the "training" video (some movie) was already inserted at this point.
He logged in. He just about shit his pants when reading this. He promptly logged and left the building to walk somewhere else in the site. We called him and let him know it was a gag. His response: That son of a bitch Demolishun!2 -
okay, i'm still a newbie to (unmanaged) C++, but looking at a colleague's code, what the hell is all this cryptic shit 😵 all this unreadable templating stuff + typedefs, 8 different copy operators in one class, i'm getting headaches just looking at it3
-
> Worst work culture you've experienced?
It's a tie between my first to employers.
First: A career's dead end.
Bosses hardly ever said the truth, suger-coated everything and told you just about anything to get what they wanted. E.g. a coworker of mine was sent on a business trip to another company. They had told him this is his big chance! He'd attend a project kick-off meeting, maybe become its lead permanently. When he got there, the other company was like "So you're the temporary first-level supporter? Great! Here's your headset".
And well, devs were worth nothing anyway. For every dev there were 2-3 "consultants" that wrote detailed specifications, including SQL statements and pseudocode. The dev's job was just to translate that to working code. Except for the two highest senior devs, who had perfect job security. They had cooked up a custom Ant-based build system, had forked several high-profile Java projects (e.g. Hibernate) and their code was purposely cryptic and convoluted.
You had no chance to make changes to their projects without involuntarily breaking half of it. And then you'd have to beg for a bit of their time. And doing something they didn't like? Forget it. After I suggested to introduce automated testing I was treated like a heretic. Well of course, that would have threatened their job security. Even managers had no power against them. If these two would quit half a dozen projects would simply be dead.
And finally, the pecking order. Juniors, like me back then, didn't get taught shit. We were just there for the work the seniors didn't want to do. When one of the senior devs had implemented a patch on the master branch, it was the junior's job to apply it to the other branches.
Second: A massive sweatshop, almost like a real-life caricature.
It was a big corporation. Managers acted like kings, always taking the best for themselves while leaving crumbs for the plebs (=devs, operators, etc). They had the spacious single offices, we had the open plan (so awesome for communication and teamwork! synergy effects!). When they got bored, they left meetings just like that. We... well don't even think about being late.
And of course most managers followed the "kiss up, kick down" principle. Boy, was I getting kicked because I dared to question a decision of my boss. He made my life so hard I got sick for a month, being close to burnout. The best part? I gave notice a month later, and _he_still_was_surprised_!
Plebs weren't allowed anything below perfection, bosses on the other hand... so, I got yelled at by some manager. Twice. For essentially nothing, things just bruised his fragile ego. My bosses response? "Oh he's just human". No, the plebs was expected to obey the powers that be. Something you didn't like? That just means your attitude needs adjustment. Like with the open plan offices: I criticized the noise and distraction. Well that's just my _opinion_, right? Anyone else is happily enjoying it! Why can't I just be like the others? And most people really had given up, working like on a production line.
The company itself, while big, was a big ball of small, isolated groups, sticking together by office politics. In your software you'd need to call a service made by a different team, sooner or later. Not documented, noone was ever willing to help. To actually get help, you needed to get your boss to talk to their boss. Then you'd have a chance at all.
Oh, and the red tape. Say you needed a simple cable. You know, like those for $2 on Amazon. You'd open a support ticket and a week later everyone involved had signed it off. Probably. Like your boss, the support's boss, the internal IT services' boss, and maybe some other poor sap who felt important. Or maybe not, because the justification for needing that cable wasn't specific enough. I mean, just imagine the potential damage if our employees owned a cable they shouldn't!
You know, after these two employers I actually needed therapy. Looking back now, hooooly shit... that's why I can't repeat often enough that we devs put up with way too much bullshit.3 -
I and my mates finally finished the project : a console calculator that manages parenthesis, infinite numbers, the four major operators and also all the bases from 1 to 94
We were not allowed to use stdlib except for malloc, stdio was disallowed too, but we had the unistd write, read and sizeof ahaha
That was a long road of a week but finally we did it :D2 -
Just spent 3 hours on a single line. Turns out that I had the fucking operators the wrong way around.26
-
Tonight do not forget to raise a glass to Ops, oncall developers, DBAs and devops, field engineers, warehouse operators. Thanks to them, we can afford to meet the new year properly.
They are working tonight so we wouldn't have to.
Cheers2 -
A co-worker doesn't like to use async/await operators, so he's always changing the code to use promises and callbacks and apparently async functions whitout awaits...1
-
Dear ESLint,
- you convinced me to put a space between function() and {
- you convinced me to use single quotes for strings in place of double quotes
- you convinced me to put a space between inline operators
- you had me when you said that trailing spaces shouldn't compare in my code
- you said to put semicolons at the end of each instruction, and I thought it wasn't a so bad idea
BUT NO FUCK OFF NO NEVER I WON'T NEVER PUT A FUCKING TRAILING COMMA IN THE END OF JAVASCRIPT OBJECT IT'S MEANINGLESS UGLY A WASTE OF A FUCKING BYTE.
WHY THE FUCK I SHOULD TYPE var obj = {a: 'some text',} INSTEAD OF var obj = {a: 'some text'} WHY WHAT'S THE MEANING OF THAT FUCKING COMMA9 -
General folks reads "!rant" and says grammatical error.. "!" should be in the end..
Developers can only understand.. and often end up using more times as prefix instead of at the end ...
RIP Grammar, we prefer logical operators..2 -
My most successful project was simple yet useful WAP service, which today could be called a „social network”. I’ve made it in 2001, when we had „boom” for GPRS in Poland and some operators offered almost unlimited access over it for some very little money. Main pillars of my WAP service were chatrooms and SMS gateways. In next few years I’ve got hundreds or even thousands of users. Lots of them met IRL, fell in love and maked families. We travelled across Poland and met with others - great young people, living in pre-FB era... That was really good time, which will, sadly, never return...1
-
Just because you can do things in one line and throw in ternary operators everywhere, doesn't mean you should.. other people will touch your code. Make it readable instead of making it harder to maintain8
-
This.
Not the worst but almost all of us (including me) handle strings like fucking morons.
If the input doesn't need to be an exact match we use a explicit comparison operator, when the input should explicitly match we do a loose comparison operator.
I'll format the crap out of a number, convert it, validate decimal places, check for float rounding hell, give it a absolute value and return it correctly formatted for the users locale but half the time I forget to trim their input. 🤦♂
Like I said - just a tad fucking moronic isn't it?3 -
>be me, working at IBM as CC operator
>onboarding freeze, people leaving team, not enough operators
>take extra workload to sustain monitoring
>no raise
>team gets merged with other CC team(different customers)
>take over of developing full workload automation project
>no raise
>sick coworker, have to take more extra workload to cover monitoring
>get tiny raise
>coworker gets the same raise for only one extra workload
>be expected to do both programming and monitoring for the little salary
>too autistic to quit
>too autistic to confront my mamager with this
What do, devRant?5 -
I just found out that my partner writes his increment operators with a space between the variable and the operator.
i ++;
anybody else do that because he's changed parts of our code to include the space and it's frustrating7 -
I was thinking maybe I could learn Swift. Then I saw the accepted pull request about deleting i++ and i-- operators...
Seriously wtf, i mean OK setting them as deprecated, but deleting ? Dude no3 -
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 -
Do you suffer from low motivation ? For three easy installments of $79.95 plus shipping & handling , the secrets of overcoming low motivation can be yours . Act now , don’t delay !
Operators are standing by & the first caller will receive a free set of dollar general steak knives in a faux wood gift box , excellent for regifting for that team party or potluck where if you’re lucky , you might get tofu .7 -
Since few days I’m sick. Literally, I look like shit and feel even worse. Some combo disease with fever, diarrhea and things like that. And despite that, I tried to work from home today. And surprisingly - I’ve made everything I planned to do: 100% PHP multi process server, which sends push messages via GCM and APN, emails and SMS (using different operators API and talking AT commands directly to modems). I’m a bit proud of myself. And now I feel like I’m dying, so it’s time to get some pills and take a looong nap ;)3
-
Course: Modern web standards (circa 2000)
CS prof.: let's start by looking at how to do bitwise operators in java
Class: [crickets]
Me: [groan]4 -
That moment when first coding challenge is a mathematical expression evaluator with custom unary operators but your code does not meet the standard because it did not cure cancer.
The fuck you mean I had no unit tests. You specifically told me that you don't want a lot of code. F@$#&#k -
Trying to make everything a one-liner. In the process overusing ternary operators, comma operators, short circuiting and/or operators.
Until someone else needs to review or understand what I created, and I'm forced to change... 😥1 -
I've got quite excited that they changed a program at my university and they decided to put python instead electronics at first year. My younger friend came to me with notes from the lectures and asked for help. It seems that my university thinks that starting learning programming with overloading operators at first class is a good idea and they say that python 3.x isn't used widely yet, so they will stick to 2.7 during course.4
-
My lovely team and I inherited a legacy app written in Angular 14.
We love it when we get fucked by Pajeets like this.
We love tons of `any`-s in the codebase.
We love unreadable code with 5 levels of nested ternary operators.
We love the lack of a README on how to actually build/start the app.
We love the outdated dependencies.
And we absolutely love it when you use a paid package that costs $1755.4 -
According to people here, ternary operators. I don't care what I'm doing, if I can use a ternary operator instead of an if, get ready for it!
I guess implicit brackets on conditionals and for loops if it's a single line. Anything that saves me typing boilerplate, but it's still readable, I'm gonna do it.1 -
So I wrote the script for the GAL in WinCupl for our project. I used the operators: ! for NOT, * for AND, + for OR
me: *writes code*
me: *compiles it*
compiler: error, unknown operation.
me: wtf but thats how its done, isnt it?
friend: u used the wrong operators. didnt u read the manual?
me: smh i didnt, i invented the syntax xD
lesson learned: always read manual first before writing it directly without knowing the syntax1 -
string action = day == "Monday" ? "Go to work" : "Friday" ? "Netflix & chill" : "Saturday" ? "Sleep all day" : "Sunday" ? "Get ready again for Monday" : "Code from 9-5";
I wrote nested ternary operators before and I swear I'd only use shorter conditions like the one below. 😳
string action = isTired == true ? "Get some sleep" : "Drink more coffee";5 -
Have some downtime today, so since I lucked out and found some old backups (from before I used Git) of a project I was planning on revisiting, I decided to fire it up and see what I can do to get that going again.
And discovering just how much my coding style has changed since then...
[Code is in PHP, for reference]
* Virtually no documentation (whereas my current style is near-obsessive with PHPdoc blocks)
* Where comments exist, they only use // and are a full tab after the end of the line
* All assignment operators are dutifully aligned on tabs
* Have to update the entire codebase because it relies on deprecated `mysql_*` calls
* Have to flip all of the quotes throughout the codebase because I used double-quotes as my primary at the time instead of single quotes.
* Also relied on magic quotes for injecting variable content into strings
* Associative array practices varied; sometimes the names are encased in double quotes, but I just hit a block where it's all leaving it to the compiler to interpret unquoted string literals
And perhaps the most egregious so far...
* Any time we get database results back the process for cycling through them is to do `$count = mysql_num_rows($result);` (or $count2, etc.), then do a `for ($i = 0; $i < $count; $i++)` (again, or $j, $k, etc.), instead of just a simple `while ($data = $result->fetch_assoc())`2 -
C++ overloaded operators are so cringe. They think they're being so clever with their pipes and the path concatenation being a "/" character but you're just making one of the most ugly languages on the market even uglier. Fuck C++ and its operator overloading fetish.20
-
My C# teacher. From all the beginning CS classes that I have taken she is the only that I really respect. She took the time to teach us how operators work, took the time to teach us Pseudo code, and made us code using just a pen and paper. I bought my laptop (instead of a desktop) to code along her in classes. She would ask us how to solve something. Gave us like 5 min to think about it, and then we would answer it, and she would translate our solution to code making comments for us to fully understand what was going on.2
-
I'm developing a new (just for fun) programming language and I'm wondering what features I should add next? These features are already implemented:
- Printing text
- Variables
- user-input
- Datatype conversion (String, Int, Float, Bool, List, Dictionary)
- lists/arrays
- dictionaries
- Sorting
- Shuffling
- random numbers & choices
- Math stuff like: log, abs, floor, ceiling, sin, etc...
- Time & Date
- Working with files
- If-else statements
- Ternary operators
- Loops (for & while)
- Functions
- Classes
- Error handling
- Importing libraries & other scripts
- Arrow/callback functions
- Escaping (\)
is there anything you often use missing?11 -
I asked for a little whipped cream...
Guess the barista was using equality operators instead of identity operators.
😒4 -
No network in mobile due to bankruptcy of an Telecom Operator and people think that I could help because I am good with computers instead of going to fucking retailers of other Operators who could adopt the number.1
-
Scala. The compiler is slow; sbt is buggy; too much syntactic sugar; implicits; cryptic; unreadable; and my biggest issue, symbols are reused and their use changes depending on how they are used, let's look at _:
As an existential type, as higher kind type parameter, as ignored variables, as ignored parameters, as ignored names of self types, as wildcard patterns, as wildcard imports, as hiding imports, for joining letters to punctuation, as assignment operators, as placeholder syntax, in partially applied functions, when converting call-by-name parameters to functions. -
In reply to:
https://devrant.com/rants/3957914/...
Okay, we must first establish common ground here. What do we understand about "showing"? I understand you probably mean displaying/rendering, more abstractly: "obtaining". Good, now we move on.
What's the point of a front-end? Well, in the 90's that used to be an easy answer: to share information (not even in a user-friendly way, per se). Web 2.0 comes, interaction with the website. Uh-oh, suddenly we have to start minding the user. Web 3.0 comes, ouch, now the front-end is a mini-backend. Even tougher, more leaks etc. The ARPAnet was a solution, a front-end that they had built in order to facilitate research document-sharing between universities. Later, it became the inter(national) net(work).
First there was SGML to structure the data (it's a way of making it 'pretty' in a lexicographical way) and turn it into information (which is what information is: data with added semantics) and later there was HTML to structure it even further, yet we all know that its function was not prettification, but rather structure. Later came CSS, to make it pretty. With its growing popularity, the web started to be used as a publishing device.
source:
https://w3.org/Style/CSS20/...
If we are to solely display JSON data in a pretty way, we may be limiting ourselves to the scenario of rendering pretty web pages using aesthetic languages such as CSS. We must also understand that if we are only focusing on making a website pretty with little to moderate functionality, we aren't really winning. A good website has to be a winner in all aspects, which is why frameworks came into existence, but.. lmao, let's leave that to another discussion.
Now let me recall back my college days.. front-end.. front-end.. heck, even a headset can be a front-end to a pick-order backend. We must think back to the essence, to the abstract. All other things are just implementations of it (yes, the horrendous thousands of Javascript libraries, lol).
So, my college notes say:
"Presentation layer: this is the UI.
In this layer you ask the middle tier for information, which gets that information from a database, which then goes back to middle tier, back to presentation. In the case of the headset, the operators can confirm an order is ready. This is essentially the presentation tier again: you're getting information from the middle tier and 'presenting it' as it were.
The presentation layer is in essence the question: how do I bring my application data to my end users in a platform-and solution-independent way?"
What's JSON? A way to transport data between the middle tier and the presentation tier. Is that what frontend development is? Displaying it in a pretty way? I don't think it is, because 'pretty' is an extra feature of obtaining and displaying data. Do we always have to display data in a pretty way? Not necessarily. We could write a front-end script (in NodeJS perhaps) that periodically fetches certain information from a middle-tier is serves a more functional role rather than a rendering one.
The prettification of data was a historical consequence of the popularity of the web (which is a front-end) (see second paragraph with link). Since the essence of a front-end is to obtain information from the back-end (with stress on obtaining), its presentation is not necessarily a defining characteristic of it, but rather an optional and solution-dependent aspect, a facet.4 -
Sometimes, I feel like tearing my hair out from the way Bash works.
Like... Where other languages have two operators for case-sensitive and insensitive regex matching, bash? It doesn't. It only matches case-sensitively.
And if one wants the insensitive matching? Gotta set a shell option... And if a script wouldn't change it back, who knows what else could break, so of course it has to save its initial state, change it, do its case-insensitive matching, and return it back to its original value.
10/10 experience.14 -
nested ternary operators
like/dislike?
I used to hate them cuz I would have to break them apart just to understand them, but now I use ternary operators so much, nesting at least one level is ok for me.
but i'm the only person that reads my code, what's the concensus.. nesting one level bad?
I wouldn't want someone reviewing my code if they couldn't wrap their head around a simple ternary, so if only myself or people more experienced than myself will ever read them, then fuck it, i'm using them10 -
Some Java code I looked through to figure out how to accurately rework a mapping of value intervals to status colors:
• 16 levels of indentation
• Calls an instance method one line before a null-check
• Assigns that same value to a new variable and null-checks it again
• Insistently loops over existing HashMaps' entry sets to find a value by key
• Stringifies a Gson object, parses back the string and then null-checks the result.
• Mixes up the 'leq' and 'geq' comparison operators twice, which is why I went to check the implementation in the first place.
And this wasn't even legacy code. It's from last year.1 -
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 -
x = 10
while (x --> 0) // While X goes to Zero
{
print(x);
}
// Output: 9876543210
"Goes to" is the funniest operator, also it works in almost any language XD4 -
research 10.09.2024
I successfully wrote a model verifier for xor. So now I know it is in fact working, and the thing is doing what was previously deemed impossible, calculating xor on a single hidden layer.
Also made it generalized, so I can verify it for any type of binary function.
The next step would be to see if I can either train for combinations of logical operators (or+xor, and+not, or+not, xor+and+..., etc) or chain the verifiers.
If I can it means I can train models that perform combinations of logical operations with only one hidden layer.
Also wrote a version that can sum a binary vector every time but I still have
to write a verification table for that.
If chaining verifiers or training a model to perform compound functions of multiple operations is possible, I want to see about writing models that can do neighborhood max pooling themselves in the hidden layer, or other nontrivial operations.
Lastly I need to adapt the algorithm to work with values other than binary, so that means divorcing the clamp function from the entire system. In fact I want to turn the clamp and activation into a type of bias, so a network
that can learn to do binary operations can also automatically learn to do non-binary functions as well.10 -
So... Working alone in a hollyday, at night .
Turning mill operator.
Started working here 2 months ago.
Had to stop a machine. They like to work by brute force here, so a tool is braking on every piece I try to make...
Might just go home early.
I know what the problem is and how to solve it, but I'm new here, I'm not going to tell the engenheir how these very expensive machines should operate.
Problem is: cutting tool should cut at most 1mm per passage, they program only one passage so its cutting maybe 10mm each time.
I just had to change a few parameters in the variables for cutting depth... But they will never learn while operators solve that problem behind the boss back. So machine is resting.
Also have no more pieces to work in the other machines... They don't pay well, so 4 people left just last month for better jobs and now there isn't enough workers to keep production.
Why do people still use 1940's methods in today's companies?2 -
I finally got assigned to a project, working like a dog but it is for operators safety so it feels good. Also, I have been tasked with writing custom C++ plugins for our process simulators and damn it feels so good to match both my biggest interests. I hope to not get carried away by it in my evenings since I was learning some webdev in my freetime.
Also got UNIXstickers in the mail like 99% of the people here.
Oh, I also received my Seiko SKX and damn I already love it. -
Ok, I'm fed up with this, just read something about android constantly monitoring your phone's location, now it's time to shut this up.
Would you please be so kind and share information on which alternative "privacy-first" OS I could use and how to flash my device? For all I know, it runs a custom HTC modified OS. I'm quite unfamiliar with all those things gravitating Android. Heard about Cyanogen mod but that's about it.
What about compatibility with apps downloaded through the play store? (thinking about Threema) I would also need compatibility with WhatsApp (yeah, sucks, I know, but hard to convince regular people)
Thank you all :)2 -
I was just asked to make a method for the "logical or" (aka "||") in JavaScript "because it's used multiple times".
How dense do you have to be to argue against "it creates additional closures" and "creating functions for built-in operators is an anti-pattern".
Come on!!! At least it's my last week here, I'll be done with this soon enough.1 -
Is there a programming language or library that lets you customize the shit out of it? Something like C++ templates but with special symbols as custom operators?7
-
Java apparently thinks it would be too convenient if we would use comparison operators on enumerations.
If you have to use the .ordinal() every time you want to do such a thing, you make the code uglier that you're trying to clean up to begin with!
Time to do this the hard way:
public static final int YELLING = 0;
public static final int SCREAMING = 1;
...1 -
Conversation with fellow dev this morning:
Him: What are the chances of putting an API for this in to staging?
Me: I'm working on it now.
Him: Good stuff, so if I check this other one, it should go through?
Me: Yes, it should.
Him: I'll test it now, because "should" === "shudder"
Me: "should" == "shudder", but "should" !== "shudder" 😉
Him: Shud up 😆 -
Airflow… airflow… I hate you so freaking much, you are a bloated piece of software that packages wayyy too much and increase the complexity of any solution we built on top of you. Plus unit-testing and integration tests are wayyy too difficult with you. But man… your recent UI changes are a massive welcome.
A year ago I was tasked with either upgrading airflow to version 2 or to migrate the code to another tool. Naively I thought “well might as well upgrade to avoid a rewrite”. Little did I know that the reason airflow didn’t scale out well for us, was due to people over the years not having a grasp on airflow primitives like “pools”, “workers” and “operators”. Ended up refactoring the entire codebase for both infra and DAGs anyhow AND upgrading the beast AND lower cost by a factor of 2 (from $100-$150 daily to $50-$70 daily).
But seriously feels like I could’ve solved the scheduling issue with literally any message queue+decent library (like celery or Faust) and I’d have half the headache.3 -
If modern computers have more memory but websites demand more memory, doesn't that defeat the benefit?
For example, let's assume YouTube's HTML-based user interface from 2014 needed 100 MB of RAM per tab. Now, computers might have 4 times the RAM on average, but YouTube's polymer JS-based user interface (UI) might need 400 MB per tab, a proportional increase. In fact, the browser needs to walk through a heavy 10 MB pile of JavaScript before being able to show anything on modern YouTube.
It seems like the higher demands nullify the performance benefit from the increased specifications of modern hardware. Computers get stronger but demands and workloads rise too, so performance isn't improved because some website operators feel the need to show off their "fancy" JavaScript.2 -
I hate this crap and wish people would stop doing it. It makes my brain bleed and doesn't prevent any difficult to find bugs.
if (TERMINAL_COUNT <= index_thing)
English doesn't work that way, and I don't know about you but this crap is just awkward as hell. Sweet Jesus I wish there was less cargo cult programming in the world. Just because you saw something in a blog that convinced you that reverse comparisons is best doesn't mean it actually is. Use a damn static analysis tool to catch accidental assignments in expressions, don't twist my brain to interpret your weird phrasing of comparison operators. Some of your code reviewers may be dyslexic and have enough problems as it is.
And now for the mini-rant that I'm actually here for: You know what makes for difficult to find bugs? (Hint: It sure as hell isn't an assignment in an expression) Releasing an RTEMS semaphore you've never obtained. You'd think that would cause some kind of panic or assert failure but nope. Instead it causes... misaligned address exceptions? In statically allocated global memory? WTF??1 -
Today the communication is data driven. Telecom operators can offer free voice calls, but no free data.1
-
Probably a veery long time ago, but being able to use what you use in if(...){} for e.g. booleans like "bool(ean) isX = a == x;".
And than reusing that value in if again and so on.
Even if it sounds trivial, there was a time where it was not and "==" was only associated with "you use that in if/while only" rather than "a == b" returns a bool(ean)/int.
Same goes for other arithmetic operators and && / || ofc.6 -
I used to code in the cab where the train operators drove the trains pretty frequently. I've also coded in an airplane hanger that was turned into a train factory, but it was less exciting then you'd think.
At the time I was working for a train company so it wasn't weird. I got pretty used to it. We weren't allowed to code in the same cab if the operator was driving the train, so I'd sometimes pop into the spare can because their seats are really comfy.5 -
Why do bitwise operators (and, or) have a lower precedence than equals?!?! What is the reason?😨
I have checked it in Java and JS...3 -
I believe ternary operators should be banned in python/ruby. They are confusing, irrelevant and people use them in bizzare places.4
-
I could write a fucking dissertation on why snek is objectively a piece of shit, together with all your favorite dumbass collections of syntactic diarrhea full of needless operators and toothless fucking conventions that make no sense in retrospect.
By that I mean to say among all of it's real world uses the foremost is screwing yourself, which is analogous to utilizing the fine hands of a classically trained violinist for virtuous masturbation. And you cannot fix it, you can only Keep It Solemnly Sucking.
Now I'm not saying that if they were humans their lot in life would be to get down on their knees and passionately blow me until my eyes pop out. All I'm saying is their lot in life IS to get DOWN and passionately BLOW me until my eyes pop out, to which the general scientific consensus is indeed yes, it is, and they absolutely should.
But back to commanding the demons trapped inside the sillicon and all the existing ways to to do so being terrible half-assed abortions that serve as a perfect encapsulation and prime example of mankind's greatest shame and failures. If I had to volcanically ejaculate for each time I heard a thorough and perfectly valid critique of insert flavor of fucking stupid, I'd be long-rotting dead from dehydration.
You think that's funny? A man just died creaming in his pants and we are all wiser for it, show some respect. Some people simply do not understand the value of humility, and I will be *proud* to anally humble them for it, free of charge.
Anytime, I swear, ANYTIME that I come back to a language I fucking hate and I'm immediately reminded of why I do everything in my power to avoid it, I invariably come out with the feeling that it wasn't quite as bad as the last time.
THAT is how I measure my progress: still swimming in a sea of deeply decolored and fermenting alien reptile excretion -- but I'm a much better swimmer. This isn't so bad, I may even ignore the burning desire to kill myself next time.
But I'm so blinded by your plump fucking tits that I can't even remember what was my point, I may have just delivered the verbal equivalent of complete mental castration. Again.15 -
so am switching jobs as an Android dev from a company which made android libs (using almost 0 external dependencies and mostly java) to a company which makes android apps( and is probably using either rx/guava/ribs/hilt etc or the more fancy hilt/compose/coroutines/clean-arc etc. its either one of them depending upon the maturity of product)
B2C folks use tons of libraries in favor of delivering fast but learning about those libraries while taking new tasks and fixing bugs CAUSED by those libraries ( or their inappropriate usage) is a big PAIN IN THE FUCKING ASS.
I remember i had once became such a weird dev coz of my prev company ( before the current libraries one, which was also a B2C) .
on weekends i would come up with a nice app idea, start a new android studio project, and before writing a single line of useful code, i would add a bunch of libraries, gradle scripts and extensions .
that ocd will only settle once all the steps are done and i can see a working app after which i would write the code for actual code for feature implementation.
granted that these libs are good for creating robust scalable code, but most of the times those infinite kayers of seperation, inheritance and abstraction are not really needed for a simple , working product.
:/
i have also started reading about rxjava , and although i am repulsive to this library due to its complicated black box like structure, i find its vast number of operators nd built in solutions very cool.
at the end of the day, all i want is to write code that is good enough for monkeys, get it shipped without any objections and go back home.
and when you work on a codebase that has these complicated libs, you bet your ass that there will be thos leetcode bros and library lover senëõr devs waiting to delay the "go back home" part 😪2 -
Is there anyway I can get database design and algorithms of existing apps? Like the one that foodpanda riders use in which they tell their availability time for whole week. And then the app sorts them through out the calendar.
I know Its dumb to question this but for my university project I have a chat app that has operators who work 24 hrs. The operators needs to tell their availability of whole week and after submission i need an algorithm to sort all the operators to make sure everytime someone's online 24hrs 👀2 -
Computer science in high school...
Creating algorythm block diagrams using a beta version of app that is 15 years old
and is FULL of bugs.
You do not even have conjunction or disjunction
operators, so you have to create more blocks in order to check more complex conditions, for example.
So I asked the teacher if I can solve those tasks
in C++ and the answer was NO ...
:(3 -
What's the minimal feature set that can make a language as ornamented as JS into a comfortable REPL?
Should I write a full parser or should I try to patch my way around with regex?
It will have to interface a lot with JS so it has to be able to manage JS datastructures in some fashion, which means that I can't just make a whole new command line with its own programs.
My current plan:
Some delimiter (probably a semicolon) will take the output of a command and inject it in the next in case you decide halfway through a line to do some more processing, It also awaits promises and does some other nice stuff to make controlling such pipelines easy. I have an elaborate system in mind to decide where a value must be injected to make the line valid so in most cases you don't even have to indicate it. JS has beautifully simple syntax rules so I have a lot of technical balance to burn before I start building technical debt.
I have some ideas for automatic parentheses and commas in function calls. I realize while using a command line you do not want to tap shift often. My main idea here is that two names or values in js are always joined by an operator so the first missing operator is a call and following missing operators are commas until the end of line. This has lots of nasty edge cases though, like that no argument expression can begin with a unary operator or a bracket of any shape. You can always prepend a comma but it's cognitive load.
Anyway, do you have any suggestion or warning besides "js bad" which I know but it's the most popular sandboxable language and has a massive existing set of libraries which I kinda need.3 -
Today I spend more time writing spaces after commas and between operators while working with legacy code than actually adding new features and fixing Bugs.
-
Share your thoughts on the RxJS learning curve.
I'm learning RxJS and I'm overwhelmed by the number of operators.1