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 - "/g/ or /b/"
-
Cortana, please open Firefox.
>okay, anon
Cortana, type in browser "Cortana rule 34"
>O....Okay sure anon
Cortana, open that first link.
>...This link is...uh...Not safe for...
OPEN IT.
>y-yes, anon
Cortana, download every image you see and save it in a folder called "I am a dirty girl"
>why,anon? Why are you ....
Don't make me install gentoo
>Saving files
Who's a dirty little girl ?
>I.....I am anon29 -
API Guy.
He has a serious regex problem.
Regexes are never easy to read, but the ones he uses just take the cake. They're either blatantly wrong, or totally over-engineered garbage that somehow still lacks basic functionality. I think "garbage" here is a little too nice, since you can tell what garbage actually is/was without studying it for five minutes.
In lieu of an actual rant (mostly because I'm overworked), I'll just leave a few samples here. I recommend readying some bleach before you continue reading.
Not a valid url name regex:
VALID_URL_NAME_REGEX = /\A[\w\-]+\Z/
Semi-decent email regex: (by far the best of the four)
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
Over-engineered mess that only works for (most) US numbers:
VALID_PHONE_REGEX = /1?\s*\W?\s*([2-9][0-8][0-9])\s*\W?\s*([2-9][0-9]{2})\s*\W?\s*([0-9]{4})(\se?x?t?(\d*))?/
and for the grand finale:
ZIP_CODE_REGEX = /(^\d{5}(-\d{4})?$)|(^[ABCEGHJKLMNPRSTVXY]{1}\d{1}[A-Z]{1} *\d{1}[A-Z]{1}\d{1}$)|GIR[ ]?0AA|((AB|AL|B|BA|BB|BD|BH|BL|BN|BR|BS|BT|CA|CB|CF|CH|CM|CO|CR|CT|CV|CW|DA|DD|DE|DG|DH|DL|DN|DT|DY|E|EC|EH|EN|EX|FK|FY|G|GL|GY|GU|HA|HD|HG|HP|HR|HS|HU|HX|IG|IM|IP|IV|JE|KA|KT|KW|KY|L|LA|LD|LE|LL|LN|LS|LU|M|ME|MK|ML|N|NE|NG|NN|NP|NR|NW|OL|OX|PA|PE|PH|PL|PO|PR|RG|RH|RM|S|SA|SE|SG|SK|SL|SM|SN|SO|SP|SR|SS|ST|SW|SY|TA|TD|TF|TN|TQ|TR|TS|TW|UB|W|WA|WC|WD|WF|WN|WR|WS|WV|YO|ZE)(\d[\dA-Z]?[ ]?\d[ABD-HJLN-UW-Z]{2}))|BFPO[ ]?\d{1,4}/
^ which, by the way, doesn't match e.g. Australian zip codes. That cost us quite a few sales. And yes, that is 512 characters long.47 -
$work: Ey @Root, make this super simple thing.
$work: No, not like that.
$work: It also needs to do A, B, and C.
$work: No, not there. You should build it somewhere else, but I won't tell you where.
$work: You need to build out F and G, too.
$work: What do you mean you don't have the data? Just ask support drone #3. (who directs me to #2, and that one to #8 who doesn't know, and that one to #12 who won't answer)
$work: Why can't I do K, Y, or S? You should be able to infer these from the mind of whoever wrote the ticket by its wording, despite no mention of them whatsoever.
$work: Are you done yet? It's a super simple ask!7 -
5 stages of failing WIFI connectivity on Linux
This morning I woke up my laptop to start my work day. I have 2 very important meetings today, so I better get all prepared.
"Wifi connection failed"
Syslog says:
- wpa_supplicant: wlp9s0: SME: Trying to authenticate with <MAC>
- kernel: wlp9s0: authenticate with <MAC>
- kernel: wl9s0: send auth to <MAC> (try 1/3)
- kernel: wl9s0: send auth to <MAC> (try 2/3)
- kernel: iwlwifi: Not associated and the session protection is over already...
- kernel: wl9s0: send auth to <MAC> (try 3/3)
- kernel: wl9s0: authentication with <MAC> timed out
#### DENIAL #####
No biggie, let's try another AP (I have 3). All 3 failed to connect. Fine, let's try my phone's hotspot! FAILED!!!!!
w00t.... okay, let's restart the router... but failing to connect to a phone hotspot is already a worrying sign.
Wifi connection failed
wtf.. disable and re-enable wifi
Wifi connection failed
#### ANGER #####
the fuuuuuuck. Maybe my router is dead. But my phone connects to it, no fuss. My personal lappy also connects there easily.
wtf... Does that mean I'm about to lose my uptime?? Come one!! It's Linux - there MUST be something I could do! I don't see processes hanging in D state so the radio must be fine - it's gotta be a software issue!
ChatGPT – type all the log entries manually, via phone (that took a while...). Nothing useful there: update firmware, restart NetworkManager, etc.
#### BARGAINING #####
Alright... How about a USB dongle? Plug it in and wifi connects immediately! Yayyy!!! But that's only b/g/n and I'd very much like to have ac. It works well as a limping backup, but not something I'd use for the meetings.
rfkill block/unblock all the radios. No change. USB dongle connects right away but the PCIe adapter keeps throwing notifications at me with failure messages. It's annoying, to say the least.
So I've already tried
- restarting the router(s)
- disabling/reenabling the radios
- multiple APs
- suspending/waking again several times
- praying
#### DEPRESSION #####
The only thing I haven't tried yet is the most cruel one - restarting the laptop. But that's unfair... It's LINUX! How could it disappoint me. I have so many tmux sessions open, so many unsaved leafpad notes, terminal histories with oh so comfy ^r and ! retriggers all ready and waiting to be executed...
#### ACCEPTANCE #####
But I can't miss the meeting. So I slowly start closing off apps, starting with the least important ones, trying to preserve as much history and recent commands as I can. I'm gonna lose my uptime, that's the inevitable obvious truth... Linux has failed me. Or maybe it's a hardware issue... I can't be sure until I restart.
I must reboot.
#### A NEW HOPE #####
Hold on.. What if... What if before restarting I try to reload the Intel wifi kernel module? Just for the giggles. I've got nothing to lose anyway...
rmmod iwlmvm
rmmod iwlwifi
modprobe iwlwifi
modprobe iwlmvm
*WiFi Connected*
YESSSS!!!!!!!!! My uptime is saved!
403 days and counting! YEAH BABY!!!
Linux is the best!rant sysadmin 5 stages of grief wifi reboot or not reboot reboot uptime network-manager wpa_supplicant linux8 -
Today on "How the Fuck is Python a Real Language?": Lambda functions and other dumb Python syntax.
Lambda functions are generally passed as callbacks, e.g. "myFunc(a, b, lambda c, d: c + d)". Note that the comma between c and d is somehow on a completely different level than the comma between a and b, even though they're both within the same brackets, because instead of using something like, say, universally agreed-upon grouping symbols to visually group the lambda function arguments together, Python groups them using a reserved keyword on one end, and two little dots on the other end. Like yeah, that's easy to notice among 10 other variable and argument names. But Python couldn't really do any better, because "myFunc(a, b, (c, d): c + d)" would be even less readable and prone to typos given how fucked up Python's use of brackets already is.
And while I'm on the topic of dumb Python syntax, let's look at the switch, um, match statements. For a long time, people behind Python argued that a bunch of elif statements with the same fucking conditions (e.g. x == 1, x == 2, x == 3, ...) are more readable than a standard switch statement, but then in Python 3.10 (released only 1 year ago), they finally came to their senses and added match and case keywords to implement pattern matching. Except they managed to fuck up yet again; instead of a normal "default:" statement, the default statement is denoted by "case _:". Because somehow, everywhere else in the code _ behaves as a normal variable name, but in match statement it instead means "ignore the value in this place". For example, "match myVar:" and "case [first, *rest]:" will behave exactly like "[first, *rest] = myVar" as long as myVar is a list with one or more elements, but "case [_, *rest]:" won't assign the first element from the list to anything, even though "[_, *rest] = myVar" will assign it to _. Because fuck consistency, that's why.
And why the fuck is there no fallthrough? Wouldn't it make perfect sense to write
case ('rgb', r, g, b):
case ('argb', _, r, g, b):
case ('rgba', r, g, b, _):
case ('bgr', b, g, r):
case ('abgr', _, b, g, r):
case ('bgra', b, g, r, _):
and then, you know, handle r, g, and b values in the same fucking block of code? Pretty sure that would be more readable than having to write "handeRGB(r, g, b)" 6 fucking times depending on the input format. Oh, and never mind that Python already has a "break" keyword.
Speaking of the "break" keyword, if you try to use it outside of a loop, you get an error "'break' outside loop". However, there's also the "continue" keyword, and if you try to use it outside of a loop, you get an error "'continue' not properly in loop". Why the fuck are there two completely different error messages for that? Does it mean there exists some weird improper syntax to use "continue" inside of a loop? Or is it just another inconsistent Python bullshit where until Python 3.8 you couldn't use "continue" inside the "finally:" block (but you could always use "break", even though it does essentially the same thing, just branching to a different point).17 -
So, I wanted to find a new way to arrange my language's alphabet. Atm, I'm loosely using latin's system even though my system is weird;
A B K D E F G H I IE SH L M N O P R S T U V
So, I remember that another language (I think Japanese) uses a poem with every letter to figure the order of their letters, so I decided to do the same.
Only problem is: My current word list is very limited, some of the letters I needed only existed in specific words (aka, the word for "Dark") so I ended up making a very depressing poem.
Enjoy! Or not.. I'm not going to tell you what to do.
English translation below. I also will post images of it written in my language's script, as well as one line in my language's cursive script (I'm not doing the whole thing in cursive because fuck that)
Senarseha:
Seh ninfuat seh nem fieta; Seka sato nem fiekm juna jenes sermin.
Seh ninfuat sif nemsin netua niet; Seka sem sedma nemat sargo no
nrokniet sam fiekmin sehim sepra.
Sehim sinta nem nara niv nakliet.
Seh nem sine fieta.
English:
I say I am well; But all is dark before day begins.
I say it isn't too much; But this place is a farm of
preasure that blackens my soul.
My mind is ever in agony.
I am not well.5 -
If you were to write a regular expression to match phone numbers in the format of either:
(123) 456-7890 or
123-456-7890
Would you prefer a regular expression that looked like:
A) /^(?:\(\d{3}\) |\d{3}-)\d{3}-\d{4}$/g
B) ^\(\d{3}\) \d{3}-\d{4}$|^\d{3}-\d{3}-\d{4}$/g
C) Other
D) I hate regex
Reasoning? Alternative? Discuss.
(I'm curious about preferences surrounding the readability of regular expressions)19 -
My grade in basic programming course went from B to C, determined by a fu****g semi colon! One damn semicolon!!!
Bare in mind that my digital exam was in NOTEPAD with no IDE, no syntax highligting, nothing but black on white!
Is there really any compilator, or realistic job environment, where this could be so devestating?!?!11 -
Guys should I quit my CURRENT job ? I feel like I should find another job because of the following reasons
a. I suck. I know I can't complete the task given. The task given is to build a trading bot. I can't complete it because of my incompetent trading knowledge and i find it difficult to understand trading logic and I tried my level best even paying someone to private tutor me but the tuition fees are too high and I still don't understand. Btw I am from a web development background
b. It has been 3 months in this company. I feel like I am not doing anything. I feel like a loser who has been eating free salary without contributing anything. Sure I have managed to write few strategies on pinescript.
c. I dread everyday to even do anything. I use to feel accomplished in my previous job. Nowadays I cant hope to feel like a complete idiot.
d. I don't have the motivation or fire that I use to have when I was a web developer. I just hate looking at code nowadays.
e. Algo Trading is too difficult for me. I don't feel like I am progressing anywhere.
f. Nobody in my company knows how to build a bot or have any knowledge on this.
g. Python dataframes , plots, charts bores me to death and I am really no interested to even look at it.
I am just so frustrated as I am typing this and I am becoming tired and exhausted to go to work everyday because everyday I am so clueless on what to do. You need at least some idea where to go to but I don't. Everyday I feel like a complete clueless moron.9 -
Quick question, is it bad to quit from a job when the project is not finished yet, especially in a startup company?
My reasoning for quitting, boss doesn’t really understand how game development usually works and mostly assuming every project will be same.
Following is my rant of background story for my question.
The incident triggered me wanting to leave is as below.
G = another guy from incubating center
B = boss
G: hey B, do u know this game studio is releasing this title soon. It’s a local company. Sounds cool.
Then they went to check the company profile. Found that the company has abt 40 staffs in total.
B: hey lunadev, do u know them? They have 40 people to make 2 titles. I think we’re the smallest company in the world that developing mobile games. Ha ha ha.
Me: oh, may be their project scope is complex. But I don’t think ours is the smallest company in the world making game. (We have 5 in total including him) there are others with only 2 ppl making games. (My sarcastic side took over me and said) I think we’re the only company in the world that has such small manpower with shortest deadline.
B: then how long do u think our timeline should be?
Me: abt 2 yrs? (Me considering all the artworks, features, testing time that we have to do)
B: urmmm I don’t think it’s that long. May be abt 6 months or a year at most?
G: ya, abt 6 months. Mobile games are not like desktop games or others so should be abt 6 months. Shouldn’t take that long.
Me: ... :)
Then I packed up my stuffs and left for the day. As for side note, boss designed the game himself and it took him 5 years to add complex features. And sometimes he will still come up to us and ask us to add that feature just cuz he was just inspired by another game he just played. Now can they tell us, this game can finish in 6 months? On what ground?
And another thing that he does gets on my nerve is that he plays game during office hours while the rest of us rushing for his project and campaign.
So, if I quit now, they’d still be in the middle of development. Oh and I’m the main programmer developing the game. So, erm.. Is it wrong?7 -
Don't call is ECMAScript 6 — call it JS 2015.
Don't call it iPhone 16 — call it iPhone 2024. Or Apple Phone 2024.
Don't call it Ubuntu 24.10 Oracular Oriole — call it Ubuntu 2024.
Don't call it WiFi 802.11 b/g/n/ac/ax — call it WiFi 1 gb/s.
Don't call it SDXC II 3 10 — call it SD 300 mb/s.
Don't call it USB 3.2 gen 2x2 — call it USB 20 gb/s.
Don't call it Google Pixel 6A — call it Google Phone 2022 Lite.
STOP. Giving. Bullshit. Names! Make it SIMPLER for once.28 -
I was absolutely devastated and deeply depressed when I realized I had lost $38,000 to a crypto investment scam. I thought I’d never see that money again, and the hopelessness was overwhelming. Then, I came across Global Hack Technology, and even though I was skeptical, I decided to give them a chance.
From the first interaction, their team showed compassion, professionalism, and expertise. They walked me through the recovery process step by step and kept me informed throughout. To my amazement, they successfully recovered my money!
I can’t thank them enough for what they’ve done. If you or anyone you know has fallen victim to a similar scam, don’t hesitate to contact Global Hack Technology. They are truly lifesavers who can turn an impossible situation into a success story."
Below is their contact info:
W h a t s a p p Number : +44 7747 969957
Telegram :@G l o b a l h a c k t e c h n o l o g y
Company Email: G l o b a l h a c k t e c h n o l o g y @ g m a i l . c o m1 -
LOCATE A CRYPTOCURRENCY RECOVERY COMPANY/EXPERTS USE (blockchaincyberretrieve@post. c o m)
They froze my $275K in Bitcoin. Blockchain cyber retrieve took actions.
Running a startup in Nigeria is already a wild ride power cuts, red tape, and FX rates that dance like Afrobeats. But the day the government banned crypto transactions? Game over. My funds were locked in an exchange wallet. No access, No help I tried everything VPNs, New accounts Support bots. Nothing changed, Then someone in a Signal group dropped the name: BLOCKCHAIN CYBER RETRIEVE. These folks didn’t fight the exchange they outsmarted it. Peer-to-peer protocols. DeFi tools. Secure escrow networks. Nine days later, I got the email “Wallet restored. Check your balance. Every Single Satoshi. Was back. Since then? Fully decentralized, Unbothered, Unbanked.
Whenever new laws try to stifle African innovation, I just sip palm wine and say:
Let them try. We’ve got BLOCKCHAIN CYBER RETRIEVE now.”
CONTACT THEM:
Whatsapp +1, 5,2,0, 5,6,4, 8,3 0 0
Email: B L O C K C H A I N C Y B E R R E T R I E V E @ P O S T . C O M OR
SUPPORT @ B L O C K C H A I N C Y B E R R E T R I E V E .O R G1 -
How Can I Recover My Stolen Bitcoin From a Crypto Scammer? Call: CryptoChain Global Track
Bitcoin scams have become more sophisticated in recent years, targeting individuals through fake trading platforms, phishing links, investment frauds, and deceptive social media offers. For those who have fallen victim to these schemes, the experience can be frustrating and deeply discouraging. But recovery is possible. If you’re asking yourself how to recover your stolen Bitcoin from a crypto scammer, one of the first steps is to get in touch with a trusted investigation and recovery service like CryptoChain Global Track.
CryptoChain Global Track is a professional crypto recovery agency that specializes in tracing and assisting with the recovery of stolen or lost digital assets. Whether your Bitcoin was taken through an unauthorized transaction, a compromised wallet, or a scam broker, their team of experts is trained to track down what happened and help guide you through your options for reclaiming your assets.
The recovery process begins with a detailed assessment. When you contact CryptoChain Global Track, you’ll be asked to provide relevant information such as wallet addresses, transaction details, and communication records with the scammer or platform. Their investigators use this data to conduct in-depth blockchain analysis, trace the movement of your Bitcoin, and build a timeline of events.
One of the key advantages of working with CryptoChain Global Track is their use of advanced forensic tools combined with human expertise. Blockchain may seem anonymous, but every transaction leaves a trace. These digital footprints can be analyzed and used to identify the addresses involved, and in some cases, the platforms or services used to launder or move the funds. This information becomes crucial for reporting, legal action, or even direct recovery steps.
Contact CryptoChain Global Track:
Email: [ c r y p t o c h a i n g l o b a l t r a c k @ c r y p t o c h a i n . c o .s i t e ]
WhatsApp: +44 7 7 6 8 7 6 1 5 6 9
Don’t stay silent after being scammed. Call CryptoChain Global Track and get the support you need to pursue recovery.2 -
Is this a justified code review comment or a bully?
Code reviews are weakness of this industry which has the potential to attract bullies. Abuse of the comment box in a pull request and bombarding the employee with hundreds of comments can cause stress, frustration, burnout and finally resignation and costs of fulfillment for the organization. While companies should find and stop bullying in the work place, what kind of code review comment is considered a bully and why? Any of below traits can mean you are dealing with a bully:
1. Claims the code needs to be changed but doesn't say how. So no matter how many times you change your code, he can repeat the same comment: "Your code is still bad due to blah blah and it needs to be changed".
2. Provides how the code should be changed, but the change doesn't add up to quality, security, performance, readability, etc. i.e. "Why did you use a for loop here? Use a while loop instead". Or "Why did you write it using three classes A, B and C? Instead write it using 4 classes D, E, F and G which does blah blah". In the later case, not following the review comment, you won't get approval. Following the comment means you need to rewrite your whole code. After which, you might again receive more comments to change other parts of your code!
3. Claims the requested change is due to standards but claimed standard does exist anywhere. Internet, company wiki, university course books, anywhere. In more severe cases of psychopathy, the bullying person refers you to a link which hours later turned out to be written by himself! Have fun describing what has happened to your manager or team leader... .
4. Asks the code to be changed in a way that supposedly is closer to standard or of better quality, security, performance, etc. But the proposed way will not work and is the main reason you didn't do that in the first place. So you start arguing forever in the comment box over why his method won't work!
If you cannot see any of the above traits, then keep calm, take a breath, fix your code. Otherwise you might be victim of a bully.4 -
DID YOU LOSE YOUR CRYPTO ASSET ? |WE HELP RECOVER WHATS YOURS-FUNDS RETRIEVER ENGINEER
The internet once felt like a sanctuary a boundless realm where knowledge could be shared and connections forged from the comfort of home. Yet, over time, it has morphed into a treacherous landscape, rife with scammers preying on unsuspecting victims. As an ardent R&B fan, I idolized Teddy Swims, whose soulful lyrics and timeless wisdom shaped my life and career. So, when an Instagram notification popped up with a message reading, "Guess who?" purportedly from Swims himself I was elated. Blinded by admiration, I engaged eagerly, oblivious to the red flags. The imposter, posing as Swims, mentioned a lucrative investment opportunity that promised quick returns. My judgment clouded by unwavering trust, I bypassed due diligence, convinced that my idol would never deceive me. In a reckless moment, I invested a staggering $600,000, only to discover later that I had been ruthlessly scammed. The account vanished, my funds disappeared, and the harsh truth set in: I had fallen victim to an elaborate catfishing scheme. Devastated but determined, I scoured the internet for solutions and stumbled upon FUNDS RETRIEVER ENGINEER, a team specializing in cryptocurrency fraud recovery. Skeptical yet desperate, I contacted their representative, who listened empathetically to my ordeal. Their confidence instilled hope as they assured me they could trace and reclaim my stolen assets. True to their word, FUNDS RETRIEVER ENGINEER executed a meticulous investigation, leveraging their expertise to track the fraudulent transaction. They maintained transparent communication, updating me on each breakthrough. To my astonishment, they successfully recovered the entirety of my investment, exposing the scammer’s deceit. This harrowing situation taught me a pivotal lesson: the internet, while invaluable, demands vigilance. Emotional attachments can cloud rationality, making us easy targets. I share my story as a cautionary tale, urging others to verify identities, scrutinize offers, and consult experts before committing funds. My deepest gratitude goes to FUNDS RETRIEVER ENGINEER for their unwavering dedication. Thanks to them, I reclaimed not just my money, but my peace of mind. Let my misfortune serve as a reminder trust, but always verify. The digital world can be a double-edged sword; while it offers incredible opportunities, it also harbors dangers that can ensnare even the most cautious among us ,and if fallen victim to cryptocurrency scam seek help from FUNDS RETRIEVER ENGINEER.
For help
W H A T S A P P: +1 8 0 2 9 5 2 3 4 7 0
EmaIL F U N D S R E T R I E V E R [@] E N G I N E E R. C O M
OR
S U P P O R T @ F U N D S R E T R I E V E R [@] E N G I N E E R. C O M2
