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 - "search console"
-
I had to open the desktop app to write this because I could never write a rant this long on the app.
This will be a well-informed rebuttal to the "arrays start at 1 in Lua" complaint. If you have ever said or thought that, I guarantee you will learn a lot from this rant and probably enjoy it quite a bit as well.
Just a tiny bit of background information on me: I have a very intimate understanding of Lua and its c API. I have used this language for years and love it dearly.
[START RANT]
"arrays start at 1 in Lua" is factually incorrect because Lua does not have arrays. From their documentation, section 11.1 ("Arrays"), "We implement arrays in Lua simply by indexing tables with integers."
From chapter 2 of the Lua docs, we know there are only 8 types of data in Lua: nil, boolean, number, string, userdata, function, thread, and table
The only unfamiliar thing here might be userdata. "A userdatum offers a raw memory area with no predefined operations in Lua" (section 26.1). Essentially, it's for the API to interact with Lua scripts. The point is, this isn't a fancy term for array.
The misinformation comes from the table type. Let's first explore, at a low level, what an array is. An array, in programming, is a collection of data items all in a line in memory (The OS may not actually put them in a line, but they act as if they are). In most syntaxes, you access an array element similar to:
array[index]
Let's look at c, so we have some solid reference. "array" would be the name of the array, but what it really does is keep track of the starting location in memory of the array. Memory in computers acts like a number. In a very basic sense, the first sector of your RAM is memory location (referred to as an address) 0. "array" would be, for example, address 543745. This is where your data starts. Arrays can only be made up of one type, this is so that each element in that array is EXACTLY the same size. So, this is how indexing an array works. If you know where your array starts, and you know how large each element is, you can find the 6th element by starting at the start of they array and adding 6 times the size of the data in that array.
Tables are incredibly different. The elements of a table are NOT in a line in memory; they're all over the place depending on when you created them (and a lot of other things). Therefore, an array-style index is useless, because you cannot apply the above formula. In the case of a table, you need to perform a lookup: search through all of the elements in the table to find the right one. In Lua, you can do:
a = {1, 5, 9};
a["hello_world"] = "whatever";
a is a table with the length of 4 (the 4th element is "hello_world" with value "whatever"), but a[4] is nil because even though there are 4 items in the table, it looks for something "named" 4, not the 4th element of the table.
This is the difference between indexing and lookups. But you may say,
"Algo! If I do this:
a = {"first", "second", "third"};
print(a[1]);
...then "first" appears in my console!"
Yes, that's correct, in terms of computer science. Lua, because it is a nice language, makes keys in tables optional by automatically giving them an integer value key. This starts at 1. Why? Lets look at that formula for arrays again:
Given array "arr", size of data type "sz", and index "i", find the desired element ("el"):
el = arr + (sz * i)
This NEEDS to start at 0 and not 1 because otherwise, "sz" would always be added to the start address of the array and the first element would ALWAYS be skipped. But in tables, this is not the case, because tables do not have a defined data type size, and this formula is never used. This is why actual arrays are incredibly performant no matter the size, and the larger a table gets, the slower it is.
That felt good to get off my chest. Yes, Lua could start the auto-key at 0, but that might confuse people into thinking tables are arrays... well, I guess there's no avoiding that either way.13 -
Not a rant about anything in particular. Just a summary of some feelings stored in the hateful part of my heart.
Developing for Android: Add this third-party library to your Gradle build. Use (this) built-in Android class to make the thing work.
*Clicks link
Deprecated since API version SUCKMYDICK-7. Use (this) instead
*Clicks link
Deprecated since API version LICKMYBALLS-32. Use...
Developing for Windows: Please use (this) API call. It was literally already available before Bill Gates was born. Carbon dating has placed this item to older than the universe itself and it is likely the entry point for the big bang. It is also still the best way to accomplish (task).
Developing for Linux: "Hmm, I wonder how to use this"
> > > Some shitty mailing list in small blue monospace font tells you to reference a man page that is three versions behind but the only version available.
What? Those three sentences didn't explain it enough? Well, maybe you aren't cut out for this type of thing.
JavaScript: you know how it is.
SQL: You expect a decent-quality answer from stack overflow but you always get an outdated and hacky response and it's using syntax from Microsoft SQL. You need MySQL.
C#: A surprising number of Microsoft forum results ranking high on Google. You click on one in hopes that it will be of any sort of quality. You quickly close the tab and wonder why you ever even had hope.
Literally any REST API: Is it "query" or "q"? "UserID" or "user_id"? Oh, fuck, where's the docs again?
You thought you escaped JavaScript, but it was a trick!: Some bullshit library you downloaded to make your other library work redefined one of the global variables in the project you inherited. Now you get 347 "<x> is not a function" errors in your console. Good luck, asshole.
FontAwesome/ Material fonts/ Any icon font pack: You search "Close" for a close button icon. No results. You search "Simplified railroad crossing sign without the railroad". You get a close icon.
I think that's all of my pent up rage. Each of them were too small for an individual rant so I had to do this essay.2 -
Trying to debug some webpage JavaScript with Edge.
Console window doesn't log anything before you open it.
You cannot copy-paste more than a single line from it.
You cannot search in it.
Fuck. Just FUCK.8 -
I have a Windows machine sitting behind the TV, hooked to two controllers, set up as basically a console for the big TV. It doesn't get a lot of use, and mostly just churns out folding@home work units lately. It's connected by ethernet via a wired connection, and it has a local static IP for the sake of simplicity.
In January, Windows Update started throwing a nonspecific error and failing. After a couple weeks I decided to look up the error, and all the recommendations I found online said to make sure several critical services were running. I did, but it appeared to make no difference.
Yesterday, I finally engaged MS support. Priyank remoted into my machine and attempted all the steps I had already tried. I just let him go, so he could get through his checklist and get to the resolution steps. Well, his checklist began and ended with those steps, and he started rather insistently telling me that I had to reinstall, and that he had to do it for me. I told him no thank you, "I know how to reinstall windows, and I'll do it when I'm ready."
In his investigation though, I did notice that he opened MS Edge and tried to load Bing to search for something. But Edge had no connection. No pages would load. I didn't take any special notice of it at the time though, because of the argument I was having with him about reinstalling. And it was no great loss to me that Edge wasn't working, because that was literally the first time it'd ever been launched on that computer.
We got off the phone and I gave him top marks in the CS survey that was sent, as it appeared there was nothing he could do. It wasn't until a couple hours later that I remembered the connectivity problem. I went back and checked again. Edge couldn't load anything. Firefox, the ping command, Steam, Vivaldi, parsec and RDP all worked fine. The Windows Store couldn't connect either. That was when it occurred to me that its was likely that Windows Update was just unable to reach the internet.
As I have no problem whatsoever with MS services being unable to call home, I began trying to set up an on-demand proxy for use when I want to update, and I noticed that when I fill out the proxy details in Internet Options, or in Windows 10's more windows10-ish UI for a system proxy, the "save" button didn't respond to clicks. So I looked that problem up, and saw that it depends on a service called WinHttpAutoProxySvc, which I found itself depends on something called IP Helper, which led me to the root cause of all my issues: IP Helper now depends on the DHCP Client service, which I have explicitly disabled on non-wifi Windows installs since the '90s.
Just to see, I re-enabled DHCP Client, and boom! Everything came back on. Edge, the MS Store, and Windows Update all worked. So I updated, went through a couple reboots-- because that's the name of the game with windows update --and had a fully updated machine.
It occurred to me then that this is probably how MS sends all its spy data too, and since the things I actually use work just fine, I disabled DHCP Client again. I figure that's easier than navigating an intentionally annoying menu tree of privacy options that changes and resets with every major update.
But holy shit, microsoft! How can you hinge the entire system's OS connectivity on something that not everybody uses?6 -
// Snippet
if(isUsingEdgeOrIE(window.navigator.userAgent)){
window.location.assign("https://google.com/chrome/browser/");
}
*sigh*
People laugh at it when you say Internet Explorer is a Pain in the *ss to develop for, because they think it's just a cliché or some sort and think it's not that bad.. but no .. really.. F*ck IE.. :D It f*cked me over so many times..
"Oh Hey, I don't recognize this basic html attribute value you are using, so I'm not going to report an error in the console or so, ima let you search, sweat, get angry, .. Oh Hey, you're not using the right doctype? Let me crash your entire javascript functionality, .. Oh Hey, this CSS selector? I never heard of it.. "8 -
I’m LOLing at the audacity of one of our vendors.
We contract with a vendor to build and maintain a website. Our network security team noticed there was a security breach of the vendor’s website. Our team saw that malicious users gained access to our Google Search console by completing a challenge that was issued to the vendor’s site.
At first, the vendor tried to convince us that their site wasn’t comprised and it was the Google search Console that was compromised. Nah dude. Our Search Console got compromised via the website you maintain for us. Luckily our network team was able to remove the malicious users from our search console.
That vendor site accepts credit card payments and displays the user’s contact info like address, email, and phone. The vendor uses keys that are tied to our payment gateway. So now my employer is demanding a full incident report from the vendor because their dropping the ball could have compromised our users’ data and we might be responsible for PCI issues.
And the vendor tried to shit on us even more. The vendor also generates vanity urls for our users. My employer decided to temporarily redirect users to our main site (non vendor) because users already received those links and in order to not lose revenue. The vendor’s solution is to build a service that will redirect their vanity urls to our main site. And they wanted to charge us $5000 usd for this. We already pay them $1000 a month already.
WTAF we are not stupid. Our network service team said we could make the argument that they do this without extra charge because it falls in the scope of our contract with them. Our network team also said that we could terminate the contract because the security breach means they didn’t render the service they were contracted to do. Guess it’s time for us to get our lawyer’s take on this.
So now it looks like my stakeholders want me to rebuild all of this in house. I already have a lot on my plate, but I’m going to be open to their requests because we are still in the debrief phase.2 -
So there is the webapp that the national post is using in Hungary. When you want to search a street in the given city you have to wait until the whole fucking list is populated and the street names are filtered afterwards. (I've got it he only wanted one request per street). But if that won't be enough the drop down menu is offset in some resolutions and the console is full of errors.
I can live with that even with the duplicate street name, but how dare you to publish an app with a search function that is unable to work with the special characters of the specific language? It's not even hard to make it work. You just a lazy ass dumbfuck who copy pasted something from stack overflow and didn't make the effort of testing it.
I mean I would probably jump off of a brifge if I would make such a huge mistake.1 -
TLDR; I was editing the wrong file, let's go to bed.
We have this huge system that receives data from an API endpoint, does a whole bunch of stuff, going through three other servers, and then via some calculation based on the data received from the UI, and data received from the endpoint, it finally sends the calculated fields to the UI via websocket.
Poor me sitting for over 4 hours debugging and changing values in the logic file trying to understand why one of the fields ends up being null.
Of course every change needs a reboot to all the 4 servers involved, and a hard refresh of the UI.
I even tried to search for the word null in that file, but to no avail.
After scattering hundreds of console logs, and pulling my hair out, I found out that I am editing the wrong file.
I guess it's time for some sleep.1 -
This is by far the most creative way so look for a job. It happens, when you install core-js. It prints out a job-search at the console.3
-
So I go into Google Search Console to try to determine why its saying pages are not compliant with mobile and whatnot.
3 hours later I come out realizing that what Google REALLY wants is for everyone to build every web page as static HTML with no script tags and never a call to an external website. Just dump all that javascript and css and HTML into one BIG FRIGGIN FILE so our crawler feels satisfied that it's loading everything all in one request.
No CMSes allowed unless GOOGLE built it.
Let's just all revert to HTML 1.0 and be done with it.1 -
I like how software is smart so I have to do things twice instead of once.
Automatically putting quotes works only if you put quotes and then paste inside it, the problem is I usually paste then put first quote and then need to remove second quote and put it on back and remove second quote from back.
Video start from where you left automatically fires and shows closing credits because you obviously want to see them.
Evaluate variable removes old evaluation because why you want old one when you have new.
Collapsing imports or functions in ide so you need to expand them all the time because who needs to look at functions when we have ai
AI models suggesting and adding meaningless annotations and code suggestions to distract me.
Randomly running some console command because I entered keyboard shortcut I don’t know even exists.
Literally every web browser address bar becomes advertising network instead of showing me history results.
Shadowing browsing history when you click back and forward button.
Search results are now buy results.
Suggesting me useless crap to watch because I watched one video in that topic.
Showing me 10 minutes videos as a solution to my problem where I want to find exact line of text to copy paste it. If I’m lucky I need to write text from video into my computer.
Stack overflow infinite loop of answered in #some-different-question
I think it’s about time for me to slowly retire from programming and software as a whole or switch to notepad because I don’t want to use this crap anymore.
Looks like software is now meant for entertainment and distraction instead of doing actual work where you need precise data and information.
Luckily if everything goes good I can retire soon and throw everything away for a while.3 -
Our Joomla-based site just got a redesign. The developer who did it did something wrong. Articles no longer are attached to their parent categories and are now all referenced at the root level in URLs.
I pulled up the 404 log and now see that some website or bot or whatever is hitting up each category for each article, which screws with our SEO 404 report in Google Search Console.
Which means I have to find a way to programmatically redirect every article within every category "up" a level to the root where each article is now found.
And I have no way of knowing which article belongs to which category anymore. Even if I did, a test shows that articles attached to categories still want to come up at the root level, not in their categories.
Joomla is G.A.R.B.A.G.E.3 -
My team still use console.log for debuging instead of breakpoints, I don't really care about it when the code in development, but I really hate it when it goes to production.
I search in the project and found total 231 of console.log with allow console rules above it, I mean why don't you just delete it after the code is working, it's not that hard rather than to delete all console before goes to prod.6 -
!rant, but funny
tl;dr I made something that was to protect me in case the customer doesn't pay, wanted to check if it's still there, messed up a little :D
>do an Android app project for almost 6 months
>issues with payment for it
> =.=
>firebase
>"Add new application"
>Remote Config
>add single integer variable
>back to app code
>if (integerFromFirebase != 0) navigateTo(new Fragment())
>mwahahahaha
>but they ended up paying me in the end
>huh...
>see another post on how to secure yourself if customer doesn't want to pay
>well, consider yours as more sophisticated
>hmm... wonder if they removed it
>firebaseconsole.exe
>change "enableJavaScript" (needed a legit name, so it can't be easily backtracked) to 1
>publish changes
>app still works fine
>mhhh... they removed it? really?
>can't fking believe it
>apkpure.com
>search for the app
>download apk
>unzip
>decompile dex file
>find the fragment
>can't find the code that navigates to blank fragment, but the config fetch is still there
>wtf
>look at the app
>restart it
>SHIT ITS NOT WORKING NOW XDDDDD
>changed the variable back to 0
>found out that the lambda in which I navigate to the blank fragment is in other .java file. New thing learned :v
>idk if I'm in trouble but I highly doubt it (console shows max 10 active users atm)
Was fun tho :v3 -
So I've been a developer at my current job for about 12 years. I am the most senior level developer at my job. Let me state that I am a backend developer although I did frontend development off and on as well for the first 5 years of my career. However I have done no major frontend development for around 7 years now.
Effectively our frontend developer of 6/7 years just left.
We had an existing project in the queue and my boss expected me to do frontend development for this project which I did just to help out, but I am not getting any extra pay for this and I absolutely hate doing it. The only thing I was paid for was I overtime for completing the project quicker. With that being said I feel like I should be paid substantially more since I am doing double work and since they are not paying for a frontend developer. I'm literally doing her job and doing a better job than she did mistake wise doing her job.
Additionally many things have changed over the past 6/7 years and they have it in their minds since I did it in the past it should be the same now which isn't the case. So there are things in my project queue right now for future projects that they think I know how to do and I don't. It isn't that I couldn't eventually figure it out. It is just that I have zero desire to learn it .I just absolutely hate styling websites.
I'm ok with doing minor frontend things for projects but not entire websites
I literally develop the backend off all the sites we build setup Google tag manger tags/triggers, Google analytics, search console, Google looker studio, dns, site updates, manage all out Linux servers, do seo for content and sites. I can't handle something else on my plate. I'm currently having to rewrite a ton of code as well due to upgrades for our sites.
How do I respectfully tell my boss I refuse to do frontend work going forward or pay me substantially more on another project and that he needs to hire someone else without damaging our relationship?
I like my boss and my coworkers as people a lot outside of work, but I feel like I'm being taken advantage of financially and I'm honestly tired of it. As a developer for 12 years I'm honestly ready to just go elsewhere. -
!rant, more of an incredulous/cruelly amused "you had ONE job..."
so: biggest IT/PC/electronics store in my (and neighboring) country. their webpage, of course with the function to buy online, because of course.
the big green "Buy" button does nothing. doesn't work. doesn't react. I keep clicking it multiple times, shorter, longer, etc, because maybe their JS scripts are just shit so they slow.
nope.
okay. open devtools, JS console.
hover over the button: "Error: isMobile is not a function".
click the button: "Error: isMobile is not a function"
WAT.
search for isMobile in the script.
173 occurences.
fuck this.
console: isMobile = function(){return false;}
because I'm not on my phone.
click the "Buy" button.
works flawlessly.
...HOW?
THE WHOLE PAGE IS AN ESHOP YOU COMIC RELIEF INCOMPETENTS! =D
173 uses of non-existing function that blocks business-critical feature, THE ONLY CORE FEATURE FOR WHICH YOUR SITE EVEN EXISTS, and NOBODY, not the dev who fucked it up, NOT EVEN QA, noticed it??? =D =D
if I was the boss of the devs, or even boss of the whole company...
git blame
...and then i'd go the whole chain from the dev who caused the bug, through all of the QA people who "tested" that version before deploy, and I would personally, on the spot, fire each and every single one of them.
mainly because of who knows how much money this stupid not even a proper bug lost them.
but secondarily, because clearly none of those people give a single shit (n)or have an idea how to do their jobs.
=D =D
yeah but I was a good guy, filed a bug report in the "Complaints" section of their Contact form.
it goes to some call-center-like peon, so it starts with a sentence "forward this to your site's dev people outright to file as a bug, thank you".
but... HOW.... =D
HOW can you let something like this through? =D
the bottleneck of your whole user interaction, which forms first of the three steps OF THE MAIN AND MOST IMPORTANT FUNCTION of your whole business... =D
...I...
...does not compute =D
...BUT THEY USING ANGULAR, SO THEY ALL MODERN AND HIGH-TECH AND EVERYTHING'S FINE!!! =D =D1 -
Google's "Mobile Friendly Test Tool" is shit.
It does its automated test's during it's index and points out that there are various issues with the page and IT IS NOT mobile friendly.
So I go and test the page in the Mobile test tool to see what other error's it's reporting and it comes back and says "This page IS mobile friendly".
Like WTF Google, make up your fucking goddamn mind and stop pissing me about.rant google can go fuck itself google is a bitch search console fuck google overlord mobile development google1 -
Customer: your app is not returning all the objects in my bucket
Support: check console log 500 server error, ssh into box check logs exhausted memory limit.
Sudo vim /etc/php.ini search memory limit
Update to a high number restart Apache sit back and think fuck did I set it to high will it blow up my server.
Only time will tell!!! Sorted out the issue until the next user with millions of objects in their buckets -
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 -
It's not an exactly habit, it's a error that I sometimes do. Type 'funtion' when I defining a function. Then the console logs an error and I cannot identify what and where is the error in the code. After search 1/2 hour, I realize, and then I feel a pathetic dev :'v1
-
I love linux because i dont have to forced to do frickin update like windows did.
Because i have an experience after update linux mint i cant even start the main GUI program. After boot only show blank console. It seem linux update broke the compatibility between my graphics card.
At least now i dont have to update because thats an option. The output of update is not different than windows.there is a chance you broke your OS.
But the struggle is when i need to install new app in linux. Sometimes need more than hour to find out why it doesnt work from the first time.
Any help here?
So this start from the office. In the office i usually use low spec laptop that work slowly. Then i found this IDE called rapidclipse. Its very promising with GUI builder and can build cross platform mobile app using only java built on top vaadin framework.
When i use it on low spec laptop hackintosh at office it work well although it take more time than other kind of eclipse and i dont need to install any kind of app again, just download-install-create new project-run on tomcat-work well.
Then i go to home to try this new tool , IMO my low spec PC still have more power to run something than old hackintosh. Because usually i use android studio with no problem. In the old hackintosh it went too long to build gradle only.
Then i install rapidclipse, then run desktop shortcut. Then it said i need to install correct java to use correct JavaFX.
After search on SO they said i must install jdk from oracle.
Ok so i got openjdk in my linux.wtf what is the different idk but dont have time to find out.
I install jdk from oracle.
Than finally can open the rapidclipse.
Wow , this gonna be fun.
Then create new project. Just a new project.
So im waiting. I see the progress at 10%. But still no increment on that.
I switch to other app for several minutes.
Then when switched back th app still at 10% and now is at no responding state. So i force close.
After that open rapidclipse again.
The previous new project can be opened. Yay, i think.
But so many error there. Omg.
So i create new project again.
But, but, i just repeated the first error then close again then try it again for several time. But still same output.
After an hour, i give up.
But still, why , just why it work like this. No error or whatsoever.
Back later i have a problem like this on different app.
Idkwhy.1 -
how can there be any usability issue in google search console that lighthouse did not warn about before?3
-
I don't know much about how search engines works and all that stuffs. I started a Blogspot and tried the Google Console to index my web on Google. But it sucks. I get redirect errors. "Crawled- but not indexed.", "Discovered not crawled". I don't know shit. And every video is just a crap on YouTube. I tried several methods and sometimes I feel like giving up.6
-
I’d like to add the FAQ schema to a page. However, when I test it google search console I get an error telling me that there is a missing field “mainentity”. Is it something I’m doing wrong? I am using SEO Yoast but after enabling it, it is showing above error in testing.
The page I need help with: [https://makeupdealsandcoupons.com/w...]1