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 - "substring"
-
Holy fuck, this is starting to work!
Problem: I am highly anti google/facebook/few others and I'd rather null route those DNS requests.
The problem is that the pihole only can blacklist domains or wildcard domains but not words. So if Google would come up with a new name for some of their domains, I'd be fucked because I can't filter out the word Google through the pihole.
Today I fucking found the solution (still a work in progress but a PoC is nearly working):
Compiled a program which can monitor DNS queries/requests and logs them to a file.
Have a php (yes I write most of my cli tools in php) script tailing the log file and gathering the requested domains from it.
Then I can see if the domain contains the substring which I don't like (google as word for example) and echo it to the end of my hosts file with 0.0.0.0 in front of it if that's the case.
Holy fuck this seems to be working! 😍24 -
While working on my one of the first project in java i ended up using deprecated Calendar API for the date. Since deadline was near i thought it would be a good idea to use the JCalendar API for as date picker (which is a third party API).BAD IDEA. It was the night before the submission round about 11pm when i realized that there is no way to convert JCal object into Calendar and it turned out it is not working as expected you have to subtract a particular number from the year to get date right.
To convert JCal into Calendar i used the toString function to get the date in string sliced it using substring into year,month,day then had to assign date to Calendar object via constructor.
Had to write 70 lines of code just to convert JCal into Calendar...
And then there were other complications related to this problem. Had tu pull an all nighter just to solve date related problems
LESSONS LEARNED :
NEVER USE A DEPRECATED API
NEVER USE THIRD PARTY APIs WITHOUT RESEARCH7 -
Mother fucking SQL, fuck mathematicians, fuck every thing!
So let's supose we'd only need the first char of a string. Every, and I mean fucking every (php, java, javascript, ruby, python, haskell) fucking language, uses something like `substring(input, 0, 1)` as it knows the input is nothing more than a fucking array of chars, otherwise known as motherfucking String. Logically the offset for the first char is 0.
Enter SQL, there you need to put `SUBSTRING(input, 1, 1)` because fuck every one! Fucking math guys who developed relational algebra on which (most) databases are based on (I love you for it, but come on you fuckers!), Decided that the first character should be at position 1...
Fuckers6 -
Spent an hour and a half renaming a method everywhere in a project from `feature_name` to `feature_name!`. There are a lot of constants, symbols, and other methods that use "feature_name" as a prefix (plus comments and spec descriptions), so was a little more difficult than normal.
Should have taken like 5 minutes with a proper IDE refactor tool. but noo, it was too difficult for RubyMine. wah wah wah. Stupid thing. Not even the search tool was useful -- it's limited to 100 results, and there were around 250 for that substring.
I ended up having to run specs repeatedly to find all the remaining instances, which took freaking forever. blahhh20 -
"/path/to/my/file.swift:143:34: error: cannot convert return expression of type 'String.SubSequence' (aka 'Substring') to return type 'String'"
Ah yes, I love it when Substring isn't String5 -
for FUCK's SAKE! Microsoft, STOP OVERRIDING CTRL+F IN YOUR WEB-TOOLS.
I know you can override it
I know you know how to make a fancy search module for your websites/tools (Teams, GH, etc.)
I know you think you're soooo hipp and cool by doing so
But for crying out loud, quit being an asshole and stop overriding ctrl+f.
If I want to search for a substring in a page, that means I want to search for a substring IN A FUCKING PAGE, not in just a section of a page you choose.
Fucking asshole!!
https://github.com/morrownr/8814au/...
right, try searching for a commit message "support kernel"
fucking plonkers6 -
Arguing with a guy in a PR that substring(0,1) (first index inclusive, last exclusive) is equal to charAt(0), whereas he seems to think it's charAt(1).
My patience is wearing thin, but I now feel the need to check I'm not the moron here - someone please confirm if I'm the idiot here or not?20 -
I fix antique code for a living and regularly come across code like this, and this is actually the good stuff!
Worst usecase for a goto statement? What do you think?
int sDDIO::recvCount(int bitNumber){
if (bitNumber < 0 || bitNumber > 15) return 0; //ValidatebitNumber which has to be 0-15
//Send count request
if (!(send(String::Format(L"#{0:X2}{1}\r", id, bitNumber)) && flushTx())){
bad: //Return 0 if something went wrong
return 0;
}
String^ s = recv(L"\r"); //Receive request data
if (s->Length != 9) goto bad; //Validate lenght
s = s->Substring(3, 5); //Take only relevant bits
int value; //Try to parse value and send to bad if fails
bool result = Int32::TryParse(s, value);
if (!result) goto bad;
int count = value - _lastCount[bitNumber]; //Maximumpossible count on Moxa is 65535.
if (count < 0) count += 65536; //If the limit reached, the counter resets to 0
_lastCount[bitNumber] = value; //This avoids loosing count if the 1st request was
//made at 65530 and the 2nd request was made at 5
return count;
}4 -
seeing questions like "finding the Longest Substring Without Repeating Characters" and being unable to find answer for hours make me question myself as a developer and wanna leave the tech world entirely.
And i am the dev who reduced an app size from 64mb to 27mb and rewrote the entire payment stack for a 10million user base company :|
DSA and competitive programming is seriously a bullshit. The world runs on fancy buttons and screens, and grabbing user's attention should be the ultimate goal to get profits. nobody should be learning this aweful stuff anymore. We are storing the open source and stack overflow content below the oceans and glaciars for a fucking reason!, so that our future gen could use those stupid knowlege without recreating the wheel
Why do we have this inferiority complex component in our life? do foot doctors also feel low for not able to understand heart or the working of eyeballs? they all are doctors to us, and all are equally appreciated by peons, HRs, receptionists the owner and even his freaking colleague doctors and seniors!!
But here we will be judged by a stupid "coding interview" for the role of a dev . the interviewer will be laughing at me for not solving a trivial problem with strings, as if I am seeing those bloody strings for the first time. I will be like some peasent to him, asking for more wages while portraying myself as some unqualified filth
FUCK this SHIT22 -
In the logic that both Java and JavaScript are widely used languages, if we create a new language with "Java" as a substring, it will be used eventually.
Our next programming language can be:
* Javarus
* Javath
* JavaLang13 -
I'm staring at the setter portion of a legacy VB property I came across.
This is crazy... right?
Set(value As String)
_firstName = value.Substring(0, value.Length)
End Set4 -
I’m not a web programmer; I’m an application and SQL developer. So when I’m tasked with scrapping a web site for an ETL feed, I thought it would just be a ton of substring and Post/Get calls.
Nope! There is this garbage called JBOSS.A4J where the page isn’t a page but a bunch of files that are merged together and then it isn’t “real” but like a bunch of Photoshop layers that “look” like a page. JavaScript functions based on key press and things like Select/Option that looks like an element but Selenium/PhantomJS (C#) can’t find it. Or my Google-Fu isn’t working. -
Please stop, stop now...
(BTW, assignment statement was on one line, I added breaks just so I could fit it into a screenshot)
If the text is too blurry:
int index;
string fileNameWithoutExt;
additionalData.MailImportConfigCode = (fileNameWithoutExt = schema.Remove(schema.LastIndexOf('.'))).Substring((index = fileNameWithoutExt.LastIndexOf('.') + 1), fileNameWithoutExt.Length - index);
}2 -
DynamoDbMapper ISSUE
There were multiple pojos which maps with one of our DynamoDb table with slightly different schema (leveraging nosql).
For one of the pojos, while populating one of the attributes, it was always throwing some weird exception and no one had any idea about it.
An intern was assigned to fix it in case some new pair of eyes can observe something weird about the pojo.
Later, I realized that the way DynamoDbMapper behaves inside a pojo is very particular and hidden.
A method was declared as public instead of private in the pojo, and DynamoDbMapper while mapping the pojo to the table with reflection, it said that this attribute (a substring of the method name) cannot be converted.
Finally, it was just a single word change from PUBLIC TO PRIVATE. -
People in this discussion will refer to my classmates doing their project we were allowed to choose like 3 months ago and back then I already told them they won't ever manage to make it work in time.
People: "yo could you help real fast"
Me: "aaah not again but okay why not"
People: "here's the code"
Me: "the fuck is this? What is it supposed to do?"
People: "ummm it should doooo eeeerrr... Like this and .... Yeah we don't know. The output should look like that but it doesn't"
Me: "the fuck did you even try to do. That'll never work. And I told you the same thing like 3 months ago when you just chose the project. Just go and use some random math lib you find"
People: "kkkk"
Their code seriously made no sense at all. Parsing substring within like 5 nested loops and like 20vars called "s1" and "theString" and what not. -
So...buffered query kept crashing even though I have a row limit of 10001 on my abstract datatables class. I didn't realize it was buffered because I grab the results in a for loop as a fetch. Well, I tracked it down to being the size of the email content that I'm selecting (and then using strip_tags and substring in PHP before returning to the front-end). So it's totally a catch-22 at this point because if I select let's say...substring 500 characters and most of that is line breaks and other html junk, I may only get a couple characters of normal text (or none at all) after stripping tags and doing a final substring to get the 50 characters of text I want to display. I said screw it and took the email content out of the table all together. You have to view it to see the content now. I should probably be storing a text-only version of the email, but argh..that's a lot of extra data.
-
Is the search function useless?
I tried it in the official devRant app because I consider adding it to JoyRant.
But it never finds anything relevant for me.
Even if I give it an exact substring of a comment, it doesn’t find it.
It also doesn’t find users (which would be useful)
Does it only work for the text in a rant?
Do you find it useful?6 -
I detest using `indexOf` to check if a string contains a substring so much I could write a rant about it.
Or is there a better way? One google search later: ES6 supports `string.prototype.includes`[1]
So moral of the story: Before ranting and using something, bother to look if it is still a problem. They might have fixed it.
[1] https://developer.mozilla.org/en/...4 -
substr, substring and any variants
Confusing af. Added 5-sec of Dev time every time I use them because I have to look up just to make sure.
Why can't they be the same? If they're the same, why are they different?2 -
This will never clash:
static createGuid() {
function s4() {
return Math.floor((1 + Math.random()) * 0x10000)
.toString(16)
.substring(1);
}
return s4() + s4() + s4() + s4(); // Example => 'e014026082e6237b'
} -
I have come to the conclusion that I'm dumb as fuck.
I have been stuck on this trivial problem for 1 HOUR AND 46 MINUTES...
https://leetcode.com/problems/...
maybe, hopefully, just because i'm trying to do it in a "clever" way, maybe if i just did it the dumbest, most inefficient way i can think of, it would take me "only" like 15 minutes, but at this point i'm not so sure... :(37 -
Yet another unusual take for the Orchid STL: Unicode codepoints aren't a part of the string library.
For the purposes of a high level language, the unit of text is a grapheme. Strings can be converted between Unicode and binary blobs. In a binary, indices address bytes. In text, indices address graphemes. For example, searching a string for a substring that consists of a single letter implies the added constraint that the letter must not have accents or other modifiers.
For storage and transfer optimization it's possible to discover the byte length of a string without converting it to binary2 -
So TIL chat-gpt can’t COUNT!! Since my eyes suck I asked it to return the last 24 chars of a string just as a quick sanity check and it gives me back a substring of only five. Went back to correct and it returns a substring of 7 😫😫😫😫!!!!
I gave up 🤬. It always fails basic calculations for some fucked reason5 -
some time ago on production I fund string join implementation using substring. No idea why it was implemented at all since this is in language standard library
-
update : we are at hr round baby!!!
part 1 : https://devrant.com/rants/5528056/...
part 2 (in comments) : https://devrant.com/rants/5550145/...
the tech market is crazy mann! it's one of the top indie fintech companies in our country and has a great valuation.
i totally felt that they i am crashing the interviews , and am seriously not trying to be humble. before the dsa round , i was trying to mug up how insertion sort works 🥲
--------
now my dilemma is should i switch if i get the offer. in a summary:
current company:
- small valuation but profitable (haven't picked funding for last 3 years , so poast valuation is some double digit million $, but can easily be a unicorn company)
- very major b2b player in my country. almost all unicorns (including this fintech company) and some major MNCs are their client and they have recently acquired a few other companies of us and eu too, making them- a decent global player
- meh work : i love being a cutting edge performer in android but here we make sdks that need to support even legacy banking apps. so tech stack is a lot of verbose java and daily routine includes making very minor changes to actual code and more towards adding tests , maintaining wrapper sdks in react/cordova/unity etc, checking client side code etc.
- awesome work life balance : since work is shit and i am fast enough, i am usually working only 2-4 hours a day. i joined gym, got into shape , and have already vsited 5 places in last 6 months, and i am a guy who didn't used to have time even on sundays. here, we get mote paid leaves than what i would usually need.
- learning opportunities: not exactly from the company codebase, but they provide unlimited access to various course learning platforms like linkedin learning, udemy and others, so i joined some web dev baches and i now know decent frontend too. plus those hybrid sdks also give a light context to new things
new company :
- positives : multi billion valuation, one of the top players in fintech , have been mostly profitable ( except a few quarters)
- positive : b2c so its (hopefully) going to put me back into racing shoes with kotlin, jetpack and latest libraries.
- more $$$ for your boy :)
- negetive : they seem to be on hiring spree and am afraid to junp ship after seeing the recent coinbase layoffs. fintech is scary these days
- negetive : if they are hiring people like me, then then they are probably hiring people worse than me 😂. although thats not my concern what my main concer is how they interviewed. they have hired a 3rd party company that takes interviews of people FOR THEM! i find that extremely impolite, like they don't even wanna spare their devs to hire people they are gonna work with. i find this a toxic, robotic culture and if these are the people in there then i would have a terrible time finding some buddy engineer or some helpful senior.
- negetive : most probably a bad wlb : i worked for an year for a fast paced b2c edtech startup. no matter how old these are , b2c are always shipping new stuff and are therefore hectic. i don't like the boredom here but i would miss the free time to workout :(
so ... any thoughts about it?4