Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "tags"
Manager: Messages not visible! bug ticket!!!!
Dev: oh fuck, there's an issue with our chat system, not good! _inspects ticket_ oh, it's just a display issue that actually is according to the previous spec, yawn...
Dev: please describe the bug better next time, I though we had a major outage, this is simply a small design issue...
I think I'm quitting soon guys. I literally do not get paid enough to deal with these incompetent idiots each day.
Management: forget your shitty salary, take one for the team, you get 3% of the shares in the company!!!!
Dev: what fucking shares, you haven't even converted to a corporation yet, THERE ARE NO SHARES
Oh yeah and they called me at 6:30 PM today: "so i guess you are winding down for the day"
fuck outta here i haven't been working since 5 you fucks
jesus i swear some people need to screw their fucking head on straight, so far gone into the hUsTlE CuLtUrE they don't even know what reality is anymore7
Oh, nice. Now Windows 11 doesn't just fuck up AMD CPUs with lack of performance, but also SSDs. NTFS at its finest, but see the tags.23
Weirdest co-worker... We'll not to be judgy, but I think our industry is sort of home of the weirdos, but.. there's a few over-the-top weirdees we've had at work.
First one that comes to mind was a guy that walked liked Mr. Burns, hands behind the back & chest out. He microwaved the same thing every single day for breakfast - crackers, sausage and cheese. 😖This guy would get to his tasks very slowly, wouldn't talk to anyone on our team, and would go missing from his desk a lot, sometimes for extended periods (2+ hours). He really struggled to catch on to easy tasks. He quit after a few months, thank god.
Another weirdo we had was a girl who just couldn't dress to save her soul. She would wear these ugly ass sneakers that had neon colors reminiscent of bowling shoes (neon orange and green) and would wear turtlenecks and floor length skirts that all the colors just clashed. Her outfits were uglier than your great grandma's. Myself, her and 2 other girls dressed up as the Dr. Seuss things for Halloween, but did h1, h2, etc. tags instead and she put like rope from curtains in her hair with like 10 little pony tails. Just like wtf. She would play her gameboy at lunch and not talk to anyone much. She was really bad at our job, a lot of clients complained. She would literally read a book, braid her bangs or nap at her desk. Needless to say, she was fired.6
* Go to sleep at reasonable times
* Watch some of those anime I never quite finished
* Read more books
* Become more proficient with rust
* Replace go with rust at work
* Setup a weeb media center I can remotely
* Finally make a personal webpage/blog without overthinking things, to actually get it done
* Find or make a storage solution for all the memes I sto- I mean collected, where I can add tags to find them more quickly. Would love to have them have the tagging be done automatically with machine learning, but I don't think we're quite there yet.2
To anyone asking for tips and tricks to start programming or become good at it, here is your ultimate golden advice: learn how to google and stop asking stupid questions like this before doing a quick research.
1. You will most likely to learn better if you do your own research before asking for help. Even if you can't solve problem, you will be better and better at googling over time.
2. It is instant source of information. No need to wait for response (except response from server of course).
3. It takes only YOUR time.
4. Much more possible solutions/answers to your problems/questions.
5. Your quality of life will be improved over time. Not only your dev life but your daily life too.11
Most successful? Well, this one kinda is...
So I just started working at the company and my manager has a project for me. There are almost no requirements except:
- I want a wireless device that I can put in a box
- I want to be able to know where that device is with enough accuracy to be able to determine in which box the device was put in if multiple boxes were standing together
So, I had to make a real time localization system. RTLS.
A solo project.
Ok, first a lot of experiments. What will the localization technique be? Which radio are we going to use?
How will the communication be structured?
After about two months I had tested a lot, but hadn't found THE solution. So I convinced my manager to try out UWB radio with Time Difference Of Arrival as localization technique. This couldn't be thrown together quickly because it needed more setup.
Two months later I had a working proof of concept. It had a lot of problems because we needed to distribute a clock signal because the radio listeners needed to be sub-nanosecond synchronous to achieve the accuracy my manager wanted. That clock signal wasn't great we later found out.
The results were good enough to continue to work on a prototype.
This time all wired communication would be over ethernet and we'd use PTP to synchronize the time.
There was a lot of trouble with getting the radio chip to work on the prototype, ethernet was tricky and the PTP turned out to be not accurate enough. A lot of dev work went into getting everything right.
A year and 5 hardware revisions later I had something that worked pretty well!
All time synchronization was done hybridly on the anchors and server where the best path to the time master was dynamically found.
Everything was synchronized to the subnanosecond. In my bedroom where I had my test setup I achieved an accuracy of about 30cm in 3d. This was awesome!
It was time to order the actual prototype and start testing it for real in one of the factory halls.
The order was made for 40 anchors and an appointment was made for the installation in the hall.
Suddenly my manager is fired.
Ehh... That sucks. Well, let's just continue.
The hardware arrives and I prepare everything. Everything is ready and I'm pretty nervous. I've put all my expertise in this project. This is gonna make my career at this company.
Two weeks before the installation was to take place, not even a month after my manager was fired, I hear that my project was shelved.
"We're not prioritizing this project right now" they said.
It would've been so great! And they took it away.
Including my salary and hardware dev cost, this project so far has cost them over €120k and they just shelved it.
I was put on other projects and they did try to find me something that suited me.
But I felt so betrayed and the projects we're not to my liking, so after another 2-3 months I quit and went to my current job.
It would've so nice and they ruined it.
Everything was made with Rust. Tags, anchors, RTLS server, web server & web frontend.
So yeah, sorry for the rambling.5
Fun stuff from the few most recent pages in Dwarf Fortress bug tracker:
Human civilization's soldier is an Alligator Recruit.
Dead suspects confess to crimes
Crash due to zero-size weasel
Pets and other animals from retired fortresses appear as selectable 'workers' in request screen, die of old age on arrival
Some animal people have extra fingers
People dying twice?
Most confusingly, one necromancer shows as having died from old age twice, despite this not being possible.
My Nature Hating Adventurer Who Lacks Altruism And Is Very Cruel Isn't Happy After Butchering Animals
bat man males don't have geldables
Reanimated severed werebeast necromancer hand has a full body
Dwarf likes "cacao wood wood"
Dwarves turn hostile againt the player and defend their prison from raid sent to free them
Visitors giving birth during visit leave their baby behind
a water buffalo got stuck inside a rough tetrahedrite wall
Animals which retract into body parts forget to come out
Herbalist stuck on stepladder, starving to death.
Artifact has an image of nothing
Cave Dragons are sometimes intelligent, and sometimes join human civilizations
A goblin knocked over a workshop and now my dwarves are killing each other
Ambusher elves are being spotted, but the giant monsters they're riding on aren't.
runs with food from table to table. Can't eat
Intelligent Undead Sent on Mission Return as Ghosts
Horrified merchants immediately destroy their wagons, pack their goods and leave the depot
Dwarf king abdictates to become commoner necromancer apprentice
Internal body parts with certain tags can still wear clothing & armor, without being otherwise accessible
Necromancer marries zombie
Single dad dwarf with buggy dead wife leaves kid behind when he takes over holding
Large quantities of adamantine coins causes trade depot to burst into flame3
Font Awesome. Stop changing the format. 10 changes/page refreshes and I still don't have the fucking icon. what is it? fa fas or fa-solid or fucking what now?... make your fucking mind up!
What is it with companies that get super popular through crowd funding and then just end up annoying?
Your tagging system sucks too. Finding relevant icons could be much better with underlying tags.1
Back from the dead with more vaguely-obscure technical bullshit
Working on a chatbot for my BS-CS. Almost done with college, so the assignment is to make a bot that recommends you a CS career. Cool.
I get through making a joint personality and skill-interest quiz that gives you number grades on different spectra. So far, so good. But this project has to be done entirely in pandorabots' online editor. So no scripting. Zero scripting. 100% markup language. That means to even do math, you need to copy a standard library off GitHub.
I mean, that's fine and all, but the syntax is just atrocious, because everything in AIML is input->response. If you ask the bot "what is 5+5?" you must have it go:
- recognize pattern WHAT IS * + *
-> redirect -> XADD * XS *
-> do math -> recurse result
uncomfy. Plus, variables can only be accessed through <get> and <set> tags. But mangeable.
So here's where the story becomes a rant.
In the standard docs, there's all these math functions, and they work. There's also logic.
And then there's this fucker
XIF [ * ] XS [ * ]
Which has no documentation and just doesn't work. No idea what the brackets mean. Tried putting in TRUE, tried putting in true math statements (5 XEQ 5), tried putting in recursion tags to trick it, tried everything. It just ignores it.
There is not a single comment, stackOverflow post, or youtube video that even acknowledges the existence of this thing.
So unless I want to convert the entire logic of my program into nested SWITCH statements with the <condition> tag, I'm just fucked.
The icing on the cake is, I go to tech support on Pandorabots to ask for help with this. What do they have except a chatbot to cheerfully tell me that no humans are around to help me right now?
gonna have to build an entire fuckin turing machine in markup tags to calculate whether x = 3
Installed Ubuntu 18.04 on my system. It feels so good to be back after a year and half approx. It feels refreshing using 18.04, let's see how much time can it hold me. Maybe I'll go on arch after this, last 2 times have been disastrous, but they say 3rd time's the charm. I never found who the fuck "they" is represented everywhere in these type of lines.
"Please move the logo left. The text goes a bit under."
Do you guys think people realize how unclear they are, and are just too fucking lazy to write the full spec? Or are they just so fucking stupid they don't realize I literally have no fucking clue what to do exactly with comments like these?
I guess Hanlon's razor applies here, but some days I just don't know...
Happy Friday! ☠️3
There is that meme "I've no idea what I'm doing" and there's the meme "it's fine *in a fire*". Currently I feel like a combination of those two. I'm in unexplored waters and nobody knows what's going on anyway, so I just make sure my part is technically correct according to specifications and when everything comes together I'm ready to respond to the expected disaster..
I tried to spread awareness of the coming disaster but nobody listens so I'll just wait and see what happens..1
Me: aah finally the best in the morning MY COFFEE
Also me a half hour later: Uhm fuck my coffee is cold.1
I might be new to webdev , but wtf is wrong with imports in js ?
html seems to get the only decent way of dealing with js: all the files mentioned in subsequent <script> tags can access the functions of previous file
but when it comes to those generated html content(aka react projects) and servers, nobody seems to come to an agreement : react guys uses import while server people uses require. and both of these can't be used in the same file : import works in mjs files (or usual files too if type is defined as module) while require works in cjs file (or usual js files if type is NOT defined as module)
so i kind of like imports for its elegance and resembelence to java imports. and i might have got into some errors in unrelated areas , so my package.json has type=module . i want to use some cjs package (jsonwebtoken) and that shit for the love of god won't work with import, so i gotta use it with cjs file and then the whole project can't use that crappy cjs file.
WTAF ? has web world not got matured enough to not have this shitty import export situation?should i write caveman code and convert everything to require(..) ?
The Zen Of Ripping Off Airtable:
(patterned after The Zen Of Python. For all those shamelessly copying airtables basic functionality)
*Columns can be *reordered* for visual priority and ease of use.
* Rows are purely presentational, and mostly for grouping and formatting.
* Data cells are objects in their own right, so they can control their own rendering, and formatting.
* Columns (as objects) are where linkages and other column specific data are stored.
* Rows (as objects) are where row specific data (full-row formatting) are stored.
* Rows are views or references *into* columns which hold references to the actual data cells
* Tables are meant for managing and structuring *small* amounts of data (less than 10k rows) per table.
* Just as you might do "=A1:A5" to reference a cell range in google or excel, you might do "opt(table1:columnN)" in a column header to create a 'type' for the cells in that column.
* An enumeration is a table with a single column, useful for doing the equivalent of airtables options and tags. You will never be able to decide if it should be stored on a specific column, on a specific table for ease of reuse, or separately where it and its brothers will visually clutter your list of tables. Take a shot if you are here.
* Typing or linking a column should be accomplishable first through a command-driven type language, held in column headers and cells as text.
* Take a shot if you somehow ended up creating any of the following: an FSM, a custom regex parser, a new programming language.
* A good structuring system gives us options or tags (multiple select), selections (single select), and many other datatypes and should be first, programmatically available through a simple command-driven language like how commands are done in datacells in excel or google sheets.
* Columns are a means to organize data cells, and set constraints and formatting on an entire range.
* Row height, can be overridden by the settings of a cell. If a cell overrides the row and column render/graphics settings, then it must be drawn last--drawing over the default grid.
* The header of a column is itself a datacell.
* Columns have no order among themselves. Order is purely presentational, and stored on the table itself.
* The last statement is because this allows us to pluck individual columns out of tables for specialized views.
*Very* fast scrolling on large datasets, with row and cell height variability is complicated. Thinking about it makes me want to drink. You should drink too before you embark on implementing it.
* Wherever possible, don't use a database.
If you're thinking about using a database, see the previous koan.
* If you use a database, expect to pick and choose among column-oriented stores, and json, while factoring for platform support, api support, whether you want your front-end users to be forced to install and setup a full database,
and if not, what file-based .so or .dll database engine is out there that also supports video, audio, images, and custom types.
* For each time you ignore one of these nuggets of wisdom, take a shot, question your sanity, quit halfway, and then write another koan about what you learned.
* If you do not have liquor on hand, for each time you would take a shot, spank yourself on the ass. For those who think this is a reward, for each time you would spank yourself on the ass, instead *don't* spank yourself on the ass.
* Take a sip if you *definitely* wildly misused terms from OOP, MVP, and spreadsheets.5
Sharing a first look at a prototype Web Components library I am working on for "fun"
TL;DR left side is pivot (grouped) table, right side is declarative code for it (Everything except the custom formatting is done declaratively, but has the option to be imperative as well).
TL;DR (Too long, did read):
I'm challenging myself to be creative with the cool new things that browsers offer us. Lani so far has a focus on extreme extensibility, abstraction from dependencies, and optional declarative style.
It's also going to be a micro CSS framework, but that's taking the back-seat.
I wanted to highlight my design here with this table, and the code that is written to produce this result.
First, you can see that the <lani-table> element is reading template, data, and layout information from its child elements. Besides the custom highlighting code (Yellow background in the "Tags" column, and green gradient in the "Score" column), everything can be done without opening even a single script tag.
The <lani-data-source> element is rather special. It's an abstraction of any data source, and you, as a developer can add custom data sources and hook up the handlers to your whim (the element itself uses the "type" attribute to choose a handler. In this case, the handler is "download" which simply sends a fetch request to the server once and downloads the result to memory).
Templates are stored in an html file, not string literals (Which I think really fucks the code) and loaded async, then cached into an object (so that the network tab doesn't get crowded, even if we can count on the HTTP cache). This also has the benefit of allowing me to parse the HTML templates once and then caching the parsed result in memory, so templates are never re-parsed from string no matter how many custom elements are created.
Everything is "compiled" into a single, minified .js file that you include on your page.
I know it's nothing extraordinary, but for something that doesn't need to be compiled, transpiled, packaged, shipped, and kissed goodnight, I think it's a really nice design and I hope to continue work on it and improve it over time1
I’m so sorry if this is the place for questions. I’m terrified of stack overflow and have been searching for a week for a solution and can’t find one. This is for React.js people.
I was tasked to create a webpage with react. The limitation is, they did not wanna adopt the node.js dependency. I said ok, I’ll figure it out. You can inject react, material UI, and babel with script tags in HTML, then put ur lil components in it. I did that and it works beautifully.
However, now I have to write tests for this. I think it’s actually impossible without a way to render React, so I have to use the browser, or node, right? I convinced my boss to allow me to use a node.js container just for testing, which I thought would make my life easier.
I don’t know how to render this thing with node. It’s just an HTML file that pulls react via script tags, and idk how to serve html with node. Additionally, none of the React testing libraries seem to support testing a system that wasn’t designed to be served with node, at least not easily. My gut tells me that the complication with how things are imported contributes at least a little to this (dependencies pulled via script tags in the HTML file and made available to react through global const variables).
I could be wrong about any of this — im fairly new. But how tf do I go about testing these react components? For reference, if you go to Reacts docs, there’s a section called “add react to a page in one minute” that’s pretty much what I did.20
Follow up rant: https://devrant.com/rants/4943574/...
(Funny link btw.)
I tell him "Fine, upload it to the GitLab repo I created a week ago and you never used it." on Friday.
Today, the day *before the presentation*: "Here, have the GitHub repo, ask for permission and you're all set up.".
He's getting the boot.3
Thats top notch design.
All actions happening on the page go to one endpoint. Removing old trusted computers, changing the password, changing 2FA, you name it.
Now if you want to remove all old trusted devices, you cannot remove all at once, there is no button for it. So you click one after the other. And then it stops working. Ok, then do the normal password rotation. Hmm, button has a loading spinner and then nothing happens.
Looking into the browser console:
- All requests go to /myaccount/security/graphql
- All requests get a 429 Too many requests
- Even if you just click a panel, it tracks the action to the graphql endpoint. Or at least tries to because even that gets shot down with a 429
Pretty dumb, eh? Must be some small shitty website. It's not. It's fucking paypal.1
i feel like a fucking failure, I am so tired of programming, i dont even like it anymore, and all my coworkers are programmer gods. I feel like a burden. Part of it might be imposter syndrome but for the most part its true.10
Random guy : " hey want to hear a billion dollars business software idea?"
Look at the tags below👇
(I'm trying to looks more scam as much as possible, what do I missed)15
I wish there were some stats on this site.
What are the most used tags?
How many tags have only been used once?
How many tags contain emojis?
What's the average username length?
What's the average rants per day count?
And so on.1
Is there a site for design/ui/ux inspiration and ideas, like an index for ways to do things, cards, tags, selectors, etc?5
Is there a way to search/filter all collabs on devRant based on tags like say programming languages ?4
The culture in engineering org is to address each other as 'brother' and seniors as 'sir'.
Bhai is the local term for brother.
This is how an average Slack message reads:
"We will make the changes.
CC: @John Doe bhai, @Marcus Fila bhai, @David Elliot sir"
And even though these people are part of the conversation, everyone tags everyone else in each response.
Slack culture is a mess.4