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 - "indices"
-
I wanted to print the second and third page of some document, so in the relevant field of the printer dialog I enter "1, 2" and I walk off to the printer.
My first thought when I saw the printer had printed the wrong pages was
"F*ing buggy software"
Second thought:
"Oh... right"
Third thought:
"Right, in the real world, one-based indices are the rule rather than the exception. "
Fourth thought:
"Dumb real world"3 -
I think Matlab was only invented to fuck with people. Yeah, let's start indices with 1. Oh, and set copy and paste on Ctrl+W and and Alt+Y.
You didn't save your code? Too bad, the network went down and I lost the license.3 -
R is the worst language.
* Indices start at 1, so you have to fix all your calculations by either +1 oder -1. It sucks
* Vectors and Lists are both neither vectors nor lists
* Data frames dont have a proper api. Simple operations like add or remove are a pain.
* The naming „conventions“ suck. Why on earth would add dots in your identifiers? You never know if its an object, a value, a function.
* The namespace is cluttered. If you import two libraries that deal with the same problem domain, it is likely that they define functions with clashing names that will overwrite each other defined on import.5 -
Is it just my random madness...
Or do you sometimes picture yourself in a fictional comic / movie / whateva...
Had this feeling today.
Burned a database down, grilled 2 terabyte of data, deleted ~ 500 elasticsearch indices.
Then I chopped an haproxy loadbalancer into 6 seperate machines, because noone likes to read ~ 2.5 to 3 k of lines.
And I guess now I'm doing some backups of elasticsearch before the second round of flamethrower madness starts.
It's somehow very satisfying to just destroy everything.3 -
You know your codebase is fucked beyond restoration when a one-dimensional array is indexed using two indices and this formula.
FUCK.8 -
Going for an interview with them asking me to open console on their laptop and type a 1 liner in JavaScript that will make an array with indices being numeric values 1-20. Their machine doesnt want to work and never wanted to log in... So i do the following:
1.Pull out my phone
2.Open Thermux
3.Ask for wifi password
4.Install node on my phone and write the below attached code
Needless to say. I actually feel good about myself, i got the job and a good offer and the network password...6 -
I spent hours trying to support \n, \r and \r\n in my algorithms to convert between utf16 line/col and utf8 absolute indices to comply with the LSP, before realizing that
- Orchid itself doesn't support \r
- There is no established user base
so I'm in the best position to reject all files that contain \r and offer to convert them instead.10 -
FUCK ME IN MY INDICES.
FUCK THE GPUS IN THEIR INDICES.
I mean... I understand (roughly) why the meshes are sent to gpu in this form, but at the same time...
...there's a reason why first thing I did when I was coding my procedural geometry generation library, was abstracting away all of that stuff...
...sadly, as many useful things, when I was looking for that lib on the start of this contract, I couldn't find it. and I was like "doesn't matter, this is a simple thing, using the library would be just a lazy overkill anyway".
well, fuck.
two hours of playing around with two fucking triangles, trying to figure out which indexes are pointing to the correct vertices in a list containing FOUR outline paths.
(lower inner, upper inner, lower outer, upper outer, exacly in this order).
i mean, yeah, it's actually pretty straightforward stuff... for someone not as dumb as me =D
you just have two offsets, one that jumps you to start of the upper path, another that jumps you to the start of the outer path, then it's just
0 + upOffset to get the vertex extruded upwards from the zeroth of the inner path, or
0 + outOffset to get the zeroth from the outer outline, or
0 + outOffset + upOffset, to get the one extruded from zeroth outer vertex...
and so on.
simple stuff, then you just replace the zero with loop control var, put them in the right order, and voilá! walls!
except... whatever, why am I describing in such detail, not necessary, you're not my rubber duck =D
in short, figuring out which fuckin vertex is which, when the list contains ...well, any number of points, and you need to plug the gap between last and first points of the paths, where you need to wrap around the list...
...has proven to be surprisingly hard for me.
funny how much I love doing these things with meshes, despite how bad I am at doing them, which makes me hate doing them despite loving it =D2 -
The datepicker saga
Part one
So I begin work on a page where user add their details, project is late, taking ages on this page
Nearly done, just need a component to allow users to put in some date of births. Look for react components.
Avoiding that one because fuck Bootstrap.
Ah-ha, that looks good, let's give it a go.
CSS doesn't exist, oh need copy it over from npm dist. Great it applied but...
... WTF it's tiny. Thought it was a problem with my zoom. Nope found the issue in github.com and it's something to do with using REM rather than EM or something, okay someone provided a solution, rather I saw a couple of solutions, after some hacking around I got it working and pasted it in the right location and yes, it's a reasonable size now.
Only it's a bit crap because it only allows scrolling 1 month at a time. No good. Hunting through the docs reveals several options to add year and month drop downs and allow them to be scrolled. Still a bit shit as it only shows certain years, figure I'd set the start date position somewhere at the average.
Wait. The up button on the scroll doesn't even show, it's just a blank 5px button. Mouse scroll doesn't work
Fucking...
... Bailing on that.
Part 2
Okay sod it I'll just make my own three drop down select boxes, day, month and year. Easy.
At this point I take full responsibility and cannot blame any third party. And kids, take this as a lesson to plan out your code fully and make no assumptions on the simplicity of the problem.
For some reason (of which I regretted much) I decided to abstract things so much I made an array of three objects for each drop down. Containing the information to pretty much abstract away the field it was dealing with. This sort of meta programming really screwed with my head, I have lines like the following:
[...].map(optionGroup =>
optionGroup.options[
parseInt(
newState[optionGroup.momentId]
, 10)
]
)...
But I was in too deep and had to weave my way through this kind of abstract process like an intrepid explorer chopping through a rain forest with a butter knife.
So I am using React and Redux, decided it was overkill to use Redux to control each field. Only trouble is of course when the user clicks one of the fields, it doesn't make sense in redux to have one of the three fields selected. And I wanted to show the field title as the first option. So I went against good practice and used state to keep track of the fields before they are handed off to the parent/redux. What a nightmare that was.
Possibly the most challenging part was matching my indices with moment.js to get the UI working right, it was such a meta mess when it just shouldn't have taken so stupidly long.
But, I begin to see the light at the end of this tunnel, it's slowly coming together. And when it all clicks into place I sit back and actually quite enjoy my abysmal attempt at clean and easy to read code.
Part 3
Ran the generated timestamp through a converter and I get the day before, oh yeah that's great
Seems like it's dependant on the timezone??!
Nope. Deploying. Bye. I no longer care if daylight savings makes you a day younger.1 -
The plural of schema is schemata, and the plural of index is indices.
Words with irregular plurals are interesting, stop trying to force them to be like normal words.17 -
Ok who is the Cordova dev that thought it would be funny to make the indices from the confirmation box start at 1 and not mention it in the docs?!
-
I'm sure this has been discovered before but I just realized that a lexer defined as a set of functions which tail-call each other with the leftover text to switch states can record the location of tokens from the back of the string, thereby eliminating a parameter from pretty much every function. The world is full of wonder.2
-
When someone truncates several tables and removes their column indices in DEV so my quick two line change testing goes from taking 30 minutes to 3 days while I restore all 200 million rows and re-index all the columns. 🙄
-
!rant
I just found out that if you have a list of lists in C#, you can use a LINQ statement and specify indices inside the lambda instead of nested ForEaches.
This code is giving me the vapors7 -
"Because the compiled terminfo entries do not contain metadata identifying the indices within the tables to which each capability is assigned, they are not necessarily compatible between implementations"
Come ooonnnnn wtf even is this -
I have not used a lot of technology, but among the worst experiences was working with OR mapper. I don't think OR mappers are bad by themselves, but all the tutorials and entry level documentation drag the unknowing user slowly into a world of hurt. It looks super easy and super cool, but in fact if you don't know _exactly_ what's happening in the background you're about to deal with slow performance, terrible SQL statements, missing indices, etc. It makes shooting yourself in the foot a Starbucks-like experience, everywhere, all the time, and fast.
It's one of those promises that do not deliver the easy way despite most people advertising it like this. Except when you plan to write a book'n'author application with only 5 books and 3 authors. Yeah... -
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 -
I had a discussion - no, it was more a lobotomy - with one of our "experts"
I was kinda confused, as he had several grafana tabs open and an query editor...
He explained to me that he debugs and optimizes his query based on the grafana data....
Elasticsearch cluster with several hundred, different indices, > 20 TB data
I explained to him the scrape interval of 5secs, that he cannot distinguish his query from other queries, that there is far too much of an interference... Let alone that a 5 sec scrape interval is a very loooong time.....
Nope. It makes perfect sense to him and he'll continue to work like this. -
I spent two hours to come up with an algorithm to detect a win and also one to derive the winning indices on any tic tac toe board as long as the size is provided
but i have spent more than twice that same amount of time trying to style component with the shiny toys provided my material ui.
I really just wanted to write less code, but now I have a headache
with my code looking like the death, thanks to the over engineered components provided by material ui
there has to be a way to manage medium to large react codebase
I've googled but everything I see is beginner level stuff, any tips will be appreciated at this moment5 -
!rant , a question (on the end, after explanation) :
https://youtube.com/watch/...
this is a result of (according to my time tracking) 10 hours and 50 minutes of coding.
captures mouse cursor into list of points, uses those to triangulate a flat polygon (manually doing all the mesh math of ordering them correctly, earclip triangulating, and indices generating), as well as to create inner and outer outline (no official algorithm, my own which I came up with on the spot) of a certain thickness.
(the outline drawing is just for debug yet, now I'm going to extrude them upwards to form walls)
soooo... I've been always curious about how effective/fast/efficient of a programmer I am, but it's usually hard to measure/compare, so I thought I'd try this way: how long do you think implementing something like this would take YOU?
thanks :)5 -
When is it a good idea to use linked lists?
In my pet project, I want to have a list of items with an index. The index of an item should be updateable, and the index of the other items should adjust.
A linked list would make it very easy to adjust the order since you just need to update the "next" node of 2 items, but I think this would make getting the index of items more troublesome.
What is the preferred way to do something like this, am I just overthinking it, and would updating all the indices of the items not be such a big job?
The project uses React and mongo (express-mongoose) btw, if that's important.4