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 - "boot"
-
Me: GET /sleep
Baby: 307 Temporary Redirect
Baby: 204 No Content
Me: 200 OK
Me: GET /sleep
Baby: 307 Temporary Redirect
Baby: 413 Payload Too Large
Me: 102 Processing
Me: 200 OK
Me: GET /sleep
Baby: 307 Temporary Redirect
Baby: 444 Connection Closed Without Response
Me: 200 OK
Me: GET /sleep
Baby: 307 Temporary Redirect
Baby: 444 Connection Closed Without Response
Me: 429 Too Many Requests
Me: GET /sleep
Baby: 307 Temporary Redirect
Me: 101 Switching Protocols
Me: 408 Request Timeout
GF: 102 Processing
Me: GET /sleep
Sleep: 404 Not Found
Me: 406 Not Acceptable
(Morning)
Me: 501 Not Implemented19 -
preface: I'm fucking exhausted and angry.
Why does everyone assume I know how to do frontend?
Why am I always the design girl?
Why?
You hire me to do backend. STOP GIVING ME FRONTEND DESIGN CRAP. I HATE IT.
AND STOP GODDAMN YELLING AT ME FOR NOT MAKING SOMETHING RESPONSIVE.
I DON'T KNOW HOW.
yes i can learn, but I CAN'T FUCKING PICK UP A SKILL LIKE THAT IN A DAY. Also, I fucking hate it.
STICK IT UP YOUR (min-width: 1400px) ASS.
But seriously, I've spent 13 hours today figuring out completely new things (webpack, susy, express.js, cloudinary, responsive best practices, more webpack) because the boss is in panic-mode (his preferred state) and wants this project released last monday.
guess what? it isn't done.
because i still don't know how to do everything. and ofc there's nobody to ask because there never fucking is.
Seriously, boss-man. hire a fucking designer, and stop being an illiterate sales goon while you're at it. ffs.54 -
Root's shortest and best rant ever:
I tendered my resignation today!
I feel so happy and free ^_^rant snip snip! resignation freedom is a wonderful thing three weeks before christmas not my problem root you little shit40 -
Almost all fellow programmers I've met have either wanted to be my boyfriend, thought I was a fake geek girl, or were too shy/intimidated to talk to me. (or a combination.)
devRant is the only place I've actually met friendly developers.31 -
Does anyone else have this?
When you flash something onto your android phones and the boot process afterwards takes very long and you start to get veeeeeery nervous 😅28 -
If you're going to ask for my help
... and then do the opposite of everything i say
... and then complain when things don't work
... and continue to ignore everything i say
HOW ABOUT YOU JUST FUCK OFFundefined fucking hell fucking fuck fuck try listening for a change and see how that works for you? maybe just once?8 -
Fucking intern.
While I was working next to her a couple weeks back, she spent half her time on social media, playing Candy Crush, or talking with her friend. She also left early almost every day.
I had given her a project to do (object crud + ui), and helped her through it. She made pretty abysmal progress in a week. I ended up finishing it for her by rewriting basically all of her code (every single line except some function names, lone `end` or `}` statements, a few var declarations, blank lines, plus a couple of comments she copied over from my code).
This week I gave her a super easy project to do. It amounts to copying four files (which I listed), rename a few things to be Y instead of X, and insert two lines of code (which I provided) to hook it up. Everything after that just works. It should have taken her ... okay, maybe a few hours because she's slow and new to the language. but it would have taken me five to ten minutes, plus five minutes of testing.
She has spent THREE FUCKING DAYS ON THIS AND SHE'S STILL NOT DONE. SHE'S BLOODY USELESS!
She has kept not pulling changes and complaining that things are broken. Despite me telling her every time I push changes that affect her work (on. my. branch. ergh!)
She keeps not reading or not understanding even the simplest of things. I feel like MojoJojo every time I talk to her because of how often I repeat myself and say the same things again and again.
Now she's extremely confused about migrations. She keeps trying to revert a drop_table migration that she just wrote so she can re-create the table differently. Instead of, you know, just reverting back to her migration that creates the table. it's one migration further.
Migrations are bloody simple. they're one-step changes to the database, run in order. if you want to make a change to something you did a few steps back, you roll back those migrations, edit your shit, and run them again. so bloody difficult!
`rails db:rollback && rails db:rollback`
Edit file
`rails db:migrate`
So. hard.
I explained this to her very simply, gave her the commands to copy/paste, ... and she still can't figure it out. She's fucking useless.
It took me ten minutes to walk her though it on a screen share. TEN FREAKING MINUTES.
She hasn't finished a damned fucking thing in three weeks. She's also taking interview calls while working on this, so I know she totally doesn't care.
... Just.
Fucking hell.
USELESS FUCKING PEOPLE!40 -
I'm tired of working for small companies.
I'm always either the sole developer, or the only dev for a specific stack, and therefore don't have anyone to ask for help. If I can't figure something out, it just doesn't get done.
It also means I don't have anyone to bounce ideas off, do code reviews with, or even friggin' have someone who understands what I do.
It sucks.
It would be nice to have someone I could actually ask for help! As it stands, I tear my hair out in frustration until I'm desperate enough to beg for help on discord or SO. whereupon, of course, I get ignored, as per usu. asdjfklasdjf
It really sucks.
It also means that I'm often surrounded entirely by sales people and managers... you know, those super-talkative people? who basically get paid just to talk? and are absolutely computer illiterate? Yeah. Think someone who says "I need my deliverables by end-of-week," "customer success representative," "turnkey solution," etc. completely seriously. (ew).
They're the people who constantly wonder why I can't push `n` features in `n/4` days, and ofc can't understand anything I say in response because of the aforementioned illiteracy. They're also the people who, almost every week, ask how long `y` is going to take, and then yell "But I need it by Friday! I just sold 50 clients on it!" (And they do this, of course, without ever asking for timelines)
It really fucking sucks.
Though I suppose larger companies would still have these problems.
but at least I could ask for help once in awhile. that would be nice.40 -
FINALLY
GODDAMNED
FIXED
I'VE SPENT OVER A GODDAMN WEEK SWIMMING THROUGH DEMON EXCREMENT WITH A MAGNIFYING GLASS TRYING TO FIND THE SOURCE OF THIS SHIT.
I FINALLY FOUND IT. IN A FUCKING. CONDITIONAL. OVERLOAD. OF A MODEL GETTER.
THAT ABSOLUTE NONSENSE RETURNS EITHER THE REQUESTED COLUMN FROM THE DATABASE, OR AN ENTIRELY FUCKING DIFFERENT COLUMN, ALL DEPENDING ON THE VALUE OF A THIRD FUCKING COLUMN.
HKJSDFASKFJ
TO MAKE MATTERS WORSE.
THE VALUE IT RETURNS. IS COMPLETELY WRONG. FOR ALMOST. EVERY. FUCKING. CASE.
BECAUSE THAT FIRST COLUMN? IT NEVER GETS UPDATED. EVER.
AND THIS DEALS WITH ACCOUNTING AND REAL GODDAMN MONEY.
AARRGHHHHH
WHAT THE HELL WERE YOU THINKING?!28 -
!dev
Bought a house. 😊rant listen to simon and it has an office! simon says the desert sucks it’ll be mine and it’ll be clean yeah yeah bought a mortgage whatever47 -
toxic workplace; leaving
I haven't wanted to write this rant. I haven't even wanted to talk to anyone (save my gf, ofc). I've just been silently fuming.
I wrote a much longer rant going into far too much detail, but none of that is relevant, so I deleted it and wrote this shorter (believe it or not) version instead. And then added in more details because details.
------
On Tuesday, as every Tuesday, I had a conference call with the rest of the company. For various, mostly stupid reasons, the boss yelled at and insulted me for twenty minutes straight in front of everyone, telling me how i'm disorganized, forgetful, how can't manage my time, can't manage myself let alone others, how I don't have my priorities straight, etc. He told the sales team to get off the call, and then proceeded to yell and chew at me for another twenty minutes in front of the frontend contractor about basically the same things. The call was 53 minutes, and he spent 40 minutes of it telling me how terrible I've been. No exaggeration, no spin. The issues? I didn't respond to an email (it got lost in my ever-filling inbox), and I didn't push a very minor update last week (untested and straight to prod, ofc). (Side note: he's yelled at me for ~15 minutes before for being horribly disorganized and unable to keep up on Trello -- because I had a single card in the wrong column. One card, out of 60+ over two boards. Never mind that most have time estimates, project tags, details, linked to cards on his boards, columns for project/qa/released, labels for deferred, released to / rejected from qa, finished, in production, are ordered by priority, .... Yep. I'm totes disorganized.)
Anyway, I spent most of conference call writing "Go fuck yourself," "Choke on a cat and die asshole," "Shit code, low pay, and broken promises. what a prize position," etc. or flipping him off under the camera on our conference-turn-video-call (switched due to connection issues, because ofc video is more stable than audio-only in his mind).
I'm just.
so, so done.
I did nothing the rest of the day on Tuesday, and basically just played games on Wednesday. I did one small ticket -- a cert replacement since that was to expire the next day -- but the rest was just playing CrossCode. (fun game, fyi; totally recommend.)
Today? It's 3:30pm and I can't be bothered to do anything. I have an "urgent" project to finish by Monday, literally "to give [random third party sales guy] a small win". Total actual wording. I was to drop all other tasks (even the expiring cert lol) and give this guy his small win. fucking whatever. But the project deals with decent code -- it's a minor extension to the first project I did for the company (see my much earlier rants), back when I was actually applying myself and learning something (everything) new, enjoying myself, and architecting+writing my own code. So I might actually do the project, but It's been two days and I haven't even opened single file yet.
But yeah. This place is total and complete shit. Dealing with the asshole reminds me of dealing with my parents while growing up, and that's a subject I don't want to broach -- far too many toxic memories.
So, I'm quitting as soon as I find something new.
and with luck, this will be before assface hires my replacement-to-be, and who will hopefully quit as soon as s/he sees the abysmal codebase. With even more luck, the asshole king himself will get to watch his company die due to horrible mismanagement. (though ofc he'll never attribute it to himself. whatever.)
I just never want to see or think about him again.
(nor this fetid landfill of a codebase. bleh.)
With luck, this will be one of my last rants about this toxic waste dump and its king of the pile.
Fourty fucking minutes, what the fuck.34 -
HR: "We want to hire you, but we shouldn't until after we finish this migration and set up an onboarding process. That should take about two weeks; is this okay?"
Me: "Yes, of course."
... two and a half weeks later ...
Me: "Hey, it's been awhile since our last chat. How's the migration and onboarding process going?" etc.
HR:
------
Ugh.
This is the same company that had me sitting by the phone waiting for an interview an entire day, and let me know their schedule got booked for the day three minutes before they went home. gg.
I should tell them to get bent.27 -
This post is in memory of all the devRanters fallen in battle against management stress and impossible deadlines.
Let their memories remain, and their loss never be forgotten.7 -
> Find new remote job that pays six figures.
> Only person in the house with income.
> Still not left alone to fucking work.
AFAJDLDHAFAHDKSLAKAGACAJFNSKDUEBXJCAWVWCSNXIXYEVXKCUDGRB/^&@FU+#9$/
JUST LET ME FUCKING WORK!25 -
!rant
I built a decently large project at work, and everything works perfectly. It's beautiful, it's fast, it's light, it's organized and clean, and deploying is a breeze. I'm very proud of it.
The biggest reason, though, is that it uses exclusively technology I had never touched before:
• React
• Redux
• ES6/Babel
• Webpack
• Express.js
• Material Design
• Apple lappy (I'm a linux girl)
I was completely new to all of these, including my dev machine. Every single aspect of the project was outside my skillet.
But it went from my first experimental `import React from 'react'` to production-ready in three weeks. I'm really proud 😊14 -
!dev
!!personal
!!abuse
I'm a victim of rather severe child abuse, both physical and mental. I've cut my mother out of my life on several occasions, and disowned her husband on father's day a few years ago. Whenever they're in my life they make things slowly but significantly worse.
They'd been using my previous hard times to push their way into my life again, and are now trying to buy their way in -- this time not into my life, but into my 2yo son's life.
I've done everything I could to keep his existence from them. I hid pregnancy from them, dropped any mew mannerisms and cute vocabulary when speaking to them, never let them see toys or hear sounds if I needed to call them, hid the carseat, etc. I did a perfect job. Out of necessity I've been hiding my life from them since I was 13, and I've never done better than this.
But they knew his name, sex, and age. This means they went digging, and a bloody lot. There is literally no public info relating him to me, and nobody that knows us would tell them, either -- they all know and understand.
For years I've refused to tell these people where I lived, too. We've been here for over five years, and three years ago they just randomly showed up at our door. I never gave them an address, and the house isn't in my name. I never had any privacy when I lived with them, either -- literally not even in the bathroom -- but now we have our own house and they still randomly intrude? asldhflakshdf
But. This Christmas Eve, we got two large boxes (fruit flats) stacked full of presents from them. A third for me, a third for my girlfriend, and a third for my 2yo. Name tags and all.
Why can't they just leave us alone? On Christmas of all holidays? Why do they have to ruin everything? Why can't they just go away?
I've made things abundantly clear, and they just. won't. stop. I feel so angry and exasperated and helpless and trapped. I went from listening to "die in a fire" to crying helplessly on the stairs. All I want is to be left alone and not harassed and blackmailed and manipulated and guilted and given expired food as "gifts."
and before you ever even think to defend them, please re-read my first three sentences.
Just.
Merry fucking Christmas.rant merry fucking christmas all i want is to be left alone child abuse i'm just done. personal why is that so much to ask?44 -
My 4yo monster just randomly told me:
"Mommy! One plus two plus three plus four plus five equals fifteen!"
I'm so proud.
And really surprised 🤔
I've been teaching him basic math (adding and subtracting numbers 0-20), but haven't gone beyond two operations / three numbers.11 -
Root interviews for a job
So I've been interviewing for fun lately (and for practice), and it's been going mostly well. This one company in particular looks interesting, and they seem to really like me. This morning was interview #4 with them; tomorrow morning is #5.
The previous interviews were pretty enjoyable, especially the last one where I interviewed with one of the senior devs who gave me his "grumpy old man rails quiz." He actually asked some questions I wasn't able to answer! (Mostly dealing with Rails' internals.) Also when showing me the codebase, there were a few things I hadn't seen before, so it's exciting that I'll actually be able to learn something if I sign on. We ended up talking for almost an hour past our allotted time, and we got along famously. He said he was very surprised I did so well on his quiz because most people don't. Everyone else I interviewed with so far has liked me and gave positive reviews, too.
I don't know if I want the job, but that's beyond the scope of this rant anyway. The real reason for this comes next.
My interview today was with the VP of engineering. It was more of a monologue, as he wanted to give me perspective to see if I actually wanted to work there, but it was still very much a monologue. He's an old white guy who seems to loves to drone, and he never seemed very happy when I responded, so I let him drone and drone. Good information though.
But he's very set in his ways in some regards, and two of them were pretty insulting. We never really talked about technicals, and he just assumed that since I wasn't old and graying that I was a junior dev. He said, and I'll quote: "We run a lean but senior team, so we typically only hire senior devs here. But the dev team is all old white men. There's no diversity in talent, age, sex, race, religion, etc, and I'm looking to change that." He made several more allusions to my more junior level, too. He made a lot of assumptions (like how I'm not comfortable with structure because I've been the only dev so often) and got annoyed when I countered them.
I realize he has no idea of my skill level -- even though he should if he was listening to his team -- but to just assume that I'm not talented because I'm young, and bloody hire me just because I'm female? I don't want to be your diversity hire, old man. 🤬
So I'm feeling angry.
I might still take the job because the it offers considerable benefits over where I'm working (despite being quite happy here), but it will absolutely be despite him.rant i don't want to leave my job sexism but i want to leave the desert and the two are married ageism am i really going to tag this ageism? guess so 🙁 diversity hire interview33 -
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.49 -
FUCKING LEAVE ME THE FUCK ALONE!
I NEED TO FUCKING WORK!
NO I DON'T CARE ABOUT POLITICS.
NO I DON'T CARE ABOUT YOUR RANDOM FUCKING DREAMS.
NO I DON'T CARE ABOUT COINS OR THE PRICE OF GOLD.
NO I DON'T CARE ABOUT SOME EXPENSIVE PLANE OR BOAT OR CAR YOURE NEVER GOING TO BUY.
NO I DON'T CARE ABOUT CHINA.
NO I DON'T CARE ABOUT YOUR DRAMA.
I DON'T CARE ABOUT ANY OF THE ARBITRARY FUCKING BULLSHIT YOU BLABBER ABOUT.
STOP. WASTING. MY. TIME.
I'M THE ONLY ONE PAYING THE BILLS
SHUT THE FUCK UP AND LET ME DO IT!29 -
A recruiter called me today. I had to barracade myself in the laundry room to hear him, and still needed to ask him to repeat himself 7-8 times. he spoke at what must have been 15% volume with a super thick Indian accent. He also couldn't pronounce a full third of the terms.
Here's how it went.
recruiter: you full-stack dev? what experience?
me: yes, about 8 years, maybe 10.
recruiter: you know C#?
me: no.
recruiter: you know java? tomcat? spring?
me: no, I don't know Java.
recruiter: you know react? angular? apache? node?xml? json? html?
me: yes. yes, angular 1. yes, yes, ...
recruiter: ok, i email you java job posting
me: I don't know java.
recruiter: ok, i email you.
Recruiter used "email java job posting." It wasn't very effective.
Recruiter moves quickly! Recruiter used "did you get my email? email" immediately after. It was super effective! @Root becomes angered!
Recruiter calls.
Recruiter calls.
@Root becomes enraged!
Recruiter calls.
recruiter: what [???] [?] [???] [??] java [???] [??] [???] okay
recruiter: You know C#?
me: No, I still don't know C#.
recruiter: ok thank you for time. 😡 *click*
What just happened?
I really don't understand their species.39 -
I'm beginning to get burned out on coding in general due to work-related stresses.
Is anyone hiring remotely?
Please?
Will code in Ruby/Node/React for food ☹28 -
At my previous job, the person in charge of the Phabricator server didn't have a backup system in place. I yelled at him until he implemented one.
He had the server perform backups to the same drive. I yelled at him again, to no avail.
Well, after awhile the hard drive started failing, and it would only boot intermittently. After a lot of effort, he was able to salvage part of the backup data, but no more, meaning we lost a lot of bug reports and feedback, and developer tickets. We were able recover all of the older lost tickets from a previous server, so overall the loss was pretty small.
But I think he learned his lesson.
He definitely learned to listen.6 -
I am bloody sick of being on my own.
I was the sole dev at the last few jobs I've held, with the exception of API Guy -- who didn't really help much, and who got fired / quit six months after I started. Every other job I've either been the only dev, or the only web dev. (Exception:My boss at my previous job was a Rails dev, but he has zero time to code, and was significantly less experiened so he could only rarely help anyway.)
But now I'm in a company with a bunch of other devs, and they're all ostensibly senior devs, so you'd think I should be able to ask questions, right? And get answers? that actually help? like "Hey, you built this; how does it work?" No bloody way.
So far every time I've asked someone for help, they've been incompetent. I asked about what a few flags did, and got an answer that basically said "you just gotta know. oh, and the labels aren't up to date, so don't trust what they say." I asked the head of the "product team" about a ticket that he wrote, and he changed what it meant four times within two days. I asked about another, and he said "oh, that isn't reproduceable." Thanks. I asked about mailers, and got two very different, very incompete walkthroughs from the more senior devs (9+ years on this codebase) that didn't help. I asked two people about how users and roles work, and still have no idea what kind of user (there are like twelve?) is what, what roles even exist, or how to check for permissions. `@current_user` is a thing, but idfk what it holds since that can change considerably, and there's an impersonation feature that changes how it works, too. I ask the product guy again about where to link something, and he has no idea. I ask said product guy about what this feature needs to do, and he doesn't know. I ask what the legal team needs, and i get nothing. I ask the designer where the goddamn CSS lives, and he doesn't know; he apparently just puts it wherever he feels like, even if it's a completely unrelated stylesheet. As long as it works, right?
I ask very simple and straighforward questions, and it takes them forever to get back to me saying what amounts to "idk, ask someone else."
This feels like the same crap all over again, except now there are a bunch of devs I can ask that give me basically the same answers as the sales people always did. Always "idk" or a confusing mess of an 'answer' that skips most/all of the important bits. At least these people don't [usually] contradict themselves.
So, @Root is all alone, again.
And currounded by incompetence.
Again.
For fuck's sake.
Can't I catch a break?20 -
Working with different nationalities is interesting, and sometimes kind of bewildering. And tiring.
I've been working with an Indian dev for a little while, and while she's a decent dev, interactions with her sometimes leave me a little puzzled. She glazes over serious topics, totally over-sensationalizes unimportant oddities, has yet to say the word "no," and she refers to the senior devs as (quote) "the legends." Also, when asked a question by her boss, like "Are you familiar with this?" Instead of a simple yes/no answer, she shows off a little. Fair, I do this sometimes too, but it's a regular thing with her. Also, like most Indians I've known and/or worked with, she has a very strict class-and-caste view of the world. It honestly makes me a little uncomfortable with how she views people, like certain people belong in certain boxes, how some boxes (and therefore their contents) are inherently better than others, and how it's difficult or simply impossible to move between boxes. My obviously westerner view of things is that you can pick where you want to be and what you want to do, and all it takes to get there is acquiring the proper skills and putting in the required effort. I see no boxes at all, just a sprawling web of trades/specialities. And those legends she talks about? They're good devs with more knowledge than me, but only one, maybe two of them are better devs. I see them as coworkers and leads, not legends. Legends would be the likes of Ada Lovelace, Dennis Ritchie, Yukihuro Matsumoto, and Satoshi Nakamoto. (Among others, obv.). To call a lead dev a legend is just strange to me, unless they're actually deserving, but we don't work with anyone like Wozniak or Carmack.
Since I'm apparently ranting about her a little, let me continue. She's also extremely difficult to understand. Not because of her words or her accent, but I can't ever figure out what she's trying to get across. The words fit together and make valid sentences, but the sentences don't often make sense with one another, and all put together... I'm just totally lost. To be a math nerd, like the two conversations are skew lines: very similar, but can never intersect. What's more, if I say I don't understand and ask for clarification, she refuses and says she doesn't want to confuse me further, and to just do what I think is best. It's incredibly frustrating.
Specifically, we're trying to split up functionality on a ticket -- she's part of a different dev team (accounting), and really should own the accounting portion since she will be responsible for it, but there's no clear boundary in the codebase. Trying to discuss this has been... difficult.
Anyway.
Sometimes other cultures' world views are just puzzling, or even kind of alien. This Irish/Chinese guy stayed at my parents' house for a week. He had red hair, and his facial features were about 3/4 Chinese. He looked strange and really interesting. I can't really explain it, but interacting with him felt like talking to basically any other guy I've known, except sometimes his mannerisms and behavior were just shockingly strange and unexpected, and he occasionally made so little sense to me that I was really taken aback.
This Chinese manager I had valued appearances and percieved honors more than anything else. He cared about punctuality and attire more than productivity. Instead of giving raises for good work or promotions, he would give fancy new titles and maybe allow you to move your desk somewhere with a better view of your coworkers. Not somewhere nicer; somewhere more prominent. How he made connections between concepts was also very strange, like the Chinese/Irish guy earlier. The site templating system was a "bridge?" Idk? He also talked luck with his investors (who were also Chinese), and they would often take the investment money to the casino to see if luck was in the company's favor. Not even kidding.
Also! the Iranian people I've known. They've shown very little emotion, except occasionally anger. If I tried to appease them, they would spurn and insult me, but if I met their anger, they would immediately return to being calm, and always seemed to respect me more afterward. Again, it's a little puzzling. By contrast, meeting an American's anger often makes them dislike you, and exceeding it tends to begin a rivalry.
It's neat seeing how people of different nationalities have different perspectives and world views and think so very differently. but it can also be a little tiring always having to translate and to switch behavior styles, sometimes even between sentences.
It's also frustrating when we simply cannot communicate despite having a language in common.random difficult communication too tired for anger or frustration nationalities tiring diversity root observes people25 -
My worst dev sin is not throwing people under the bus, even when they deserve it.
Literally or metaphorically? I'll leave that up to the imagination.
------
I believe my second-worst sin is my tendency towards perfectionism. It's hard to finish projects quickly if everything has to be nearly perfect. I still make deadlines, but this is due to overworking, thus leading to burnout.
I could relax more if only I sacrificed my principles...5 -
!rant
!!git
Who here uses `master` for development?
My boss (api guy) tried to convince me that was normal practice. I gently told him that it sounded crazy and very very bad.
Here's the dev path I'm enforcing on my repos:
(feature branches) -> dev -> qa* -> master -> production*
*: the build server auto-pulls from these branches, and pushes any passing builds to staging/production.
Everyone works on their own feature branches, and when they're happy with their work, they merge it into `dev`. `dev`, therefore, is for feature integration testing. After everything is working well on `dev`, it gets merged into `qa` for the testers to fawn over and beat with sticks. Anything that passes QA gets merged into `master`, where it sits until we're ready to release it. When that time comes (it's usually right away, but not always), `master` gets merged into `production`.
This way, `master` is always stable and contains the newest code, so it's perfect for forking/etc. Is this standard practice, or should I be doing something different?
Also, api guy encourages something he calls "running a racetrack" -- each dev has their own branch (their initials) and they push to that throughout the day. everyone else pulls from it regularly and pushes to their own branch. When anyone's happy with their code, they push from their (updated) branch to `qa` (I insisted on `dev` instead.)
Supposedly this drastically reduces the number of merge conflicts when pushing to an upstream branch due to having a more recent ancestor node?
I don't quite follow that, but it seems to me that merging/pushing throughout the day would just make them happen sooner? idk.
What are your thoughts?30 -
this.title = "gg Microsoft"
this.metadata = {
rant: true,
long: true,
super_long: true,
has_summary: true
}
// Also:
let microsoft = "dead" // please?
tl;dr: Windows' MAX_PATH is the devil, and it basically does not allow you to copy files with paths that exceed this length. No matter what. Even with official fixes and workarounds.
Long story:
So, I haven't had actual gainful employ in quite awhile. I've been earning just enough to get behind on bills and go without all but basic groceries. Because of this, our electronics have been ... in need of upgrading for quite awhile. In particular, we've needed new drives. (We've been down a server for two years now because its drive died!)
Anyway, I originally bought my external drive just for backup, but due to the above, I eventually began using it for everyday things. including Steam. over USB. Terrible, right? So, I decided to mount it as an internal drive to lower the read/write times. Finding SATA cables was difficult, the motherboard's SATA plugs are in a terrible spot, and my tiny case (and 2yo) made everything soo much worse. It was a miserable experience, but I finally got it installed.
However! It turns out the Seagate external drives use some custom drive header, or custom driver to access the drive, so Windows couldn't read the bare drive. ffs. So, I took it out again (joy) and put it back in the enclosure, and began copying the files off.
The drive I'm copying it to is smaller, so I enabled compression to allow storing a bit more of the data, and excluded a couple of directories so I could copy those elsewhere. I (barely) managed to fit everything with some pretty tight shuffling.
but. that external drive is connected via USB, remember? and for some reason, even over USB3, I was only getting ~20mb/s transfer rate, so the process took 20some hours! In the interim, I worked on some projects, watched netflix, etc., then locked my computer, and went to bed. (I also made sure to turn my monitors and keyboard light off so it wouldn't be enticing to my 2yo.) Cue dramatic music ~
Come morning, I go to check on the progress... and find that the computer is off! What the hell! I turn it on and check the logs... and found that it lost power around 9:16am. aslkjdfhaslkjashdasfjhasd. My 2yo had apparently been playing with the power strip and its enticing glowing red on/off switch. So. It didn't finish copying.
aslkjdfhaslkjashdasfjhasd x2
Anyway, finding the missing files was easy, but what about any that didn't finish? Filesizes don't match, so writing a script to check doesn't work. and using a visual utility like windirstat won't work either because of the excluded folders. Friggin' hell.
Also -- and rather the point of this rant:
It turns out that some of the files (70 in total, as I eventually found out) have paths exceeding Windows' MAX_PATH length (260 chars). So I couldn't copy those.
After some research, I learned that there's a Microsoft hotfix that patches this specific issue! for my specific version! woo! It's like. totally perfect. So, I installed that, restarted as per its wishes... tried again (via both drag and `copy`)... and Lo! It did not work.
After installing the hotfix. to fix this specific issue. on my specific os. the issue remained. gg Microsoft?
Further research.
I then learned (well, learned more about) the unicode path prefix `\\?\`, which bypasses Windows kernel's path parsing, and passes the path directly to ntfslib, thereby indirectly allowing ~32k path lengths. I tried this with the native `copy` command; no luck. I tried this with `robocopy` and cygwin's `cp`; they likewise failed. I tried it with cygwin's `rsync`, but it sees `\\?\` as denoting a remote path, and therefore fails.
However, `dir \\?\C:\` works just fine?
So, apparently, Microsoft's own workaround for long pathnames doesn't work with its own utilities. unless the paths are shorter than MAX_PATH? gg Microsoft.
At this point, I was sorely tempted to write my own copy utility that calls the internal Windows APIs that support unicode paths. but as I lack a C compiler, and haven't coded in C in like 15 years, I figured I'd try a few last desperate ideas first.
For the hell of it, I tried making an archive of the offending files with winRAR. Unsurprisingly, it failed to access the files.
... and for completeness's sake -- mostly to say I tried it -- I did the same with 7zip. I took one of the offending files and made a 7z archive of it in the destination folder -- and, much to my surprise, it worked perfectly! I could even extract the file! Hell, I could even work with paths >340 characters!
So... I'm going through all of the 70 missing files and copying them. with 7zip. because it's the only bloody thing that works. ffs
Third-party utilities work better than Microsoft's official fixes. gg.
...
On a related note, I totally feel like that person from http://xkcd.com/763 right now ;;21 -
I hope everyone at Microsoft working on Windows 10 dies a horrible death and gets eaten by dogs. FUCK YOU windows!
I have a dual boot machine, logged into windows after a while(months) . Fucker 5 hours to update. Now that it's updated, I did the task I had to do and shifted back to Linux. Now all my other drives, which I didn't so much as touch with windows are fucking read only for some reason!
2 fucking hours spent on trying to find the problem, now I realize thag that after the fuckmaster's update, They reset all my settings and the dicklickin Fast Startup was on again!
FUCK YOU AND YOUR SHITTY WINDOWS TEAM MICROSOFT! CAN'T EVEN PERSIST USER SETTINGS DURING AN UPDATE THEN HAVE THE BALLS TO TELL ME "ALL YOUR FILES ARE EXACTLY WHERE YOU LEFT THEM".
Dear head engineer at windows team, or product manager, or whoever the fuck is in charge of this shit, JUMP UP YOUR OWN ASS AND DIE WITH A DILDO IN YOUR MOUTH YOU DIPSHIT!19 -
My condolences, Europe.
Frandom big government is bad m'kay? eurexit yet? press f to pay respects f idiots eu article 11 article 1336 -
!dev
!!rant
!!rooting while drunk
I got drunk last night and painted my nails. I bought a really pretty shade of purple that should match one of my favorite shirts, and it's my last day at the office today (EVER; lease is up), so dressing up is a great idea, right? I'll feel better and more confident and it'll make everyone miss me.
Except. I was drunk.
And for some reason thought painting them in the dark was a great idea.
Oh, they look horrible!
and apparently I don't own any nail polish remover, so.
Today's going to be the best day ever!
😄😅😢☹23 -
Finally got a 200 response back from the server! Woo!
I've spent two days trying to get this to work (see my earlier rant). but yay! finally working!
So I log the response body just to revel in its lovely glow.... only to notice an error message saying "INVALID_INPUT".
WHAT THE CRAP.
200 FOR AN ERROR RESPONSE?
COME ON.5 -
So many interruptions!
So many distractions!
I just want to fucking finish this refactor. I dont' care about meetings, texts, bloody office game tournaments, lunchtime, gossip, or people trying to be friendly. Just let me fucking work!
If you see me rocking out with my headphones on and working furiously, seriously, just don't fucking interrupt. I'll bite.17 -
Living in a tiny house and having a remote-only job (and no lappy) means I get the wonderful, lovely privilege of working in my bedroom... with my 18mo (who will not leave me alone), and my girlfriend (who won't fucking leave). It's positively great!
Blasting music is often not enough to drown out the sound, and certainly does nothing for getting hit with toys or screamed at to get picked up, so I get basically nothing done during the day. And that's presupposing I'm not begged to run errands/go to lunch with her, both of which take precious hours. (She won't take the baby out alone, so she's always here unless we find a babysitter)
At least it's quiet after 9pm, so I stay up coding for as long as I can. But 18mo's wake up super early, and the girlfriend prefers to stay in the room until I'm up... so even with earplugs I don't get enough sleep. A monster a day and a bottle of Tito's vodka a month is all that keeps me sane.
Why can't I just be fucking left alone to fucking work? I'm our only goddamn source of income.
It's no wonder we're fucking broke.
And to make matters worse, I'm being downsized... and considering the above, I doubt I'll be able to land a new job. 😡15 -
This bitch at work is afraid of hard work and is currently spending more energy fighting the work than just doing it.
She wants to keep a legacy setting that's on the wrong scope -- per merchant, not per payment -- in addition to the setting I've added on the correct scope. She's bringing in management two levels up all because "I've already moved on from this" and "it will require me to write code quite a bit" (first paraphrased for clarity, second is an exact quote)
Bitch, your way is dirty as fuck and is going to break things. Roll up your sleeves and do your damn job!13 -
Bossman freaks out over every little thing (ironically unless it's important).
Bossman also just set our papertrail 500 filter to forward him a copy of every "critical alert."
Fuck me.
He has zero technical knowledge and zero reading comprehension. He literally forwarded one and said "This has one lots of info in it. explain it to me." (It was a log usage notification. in plain English. It had maybe three numbers in it.)
There's lots of useless "500"s in the list we don't care about. API Guy used the finer as a debugging alert system, and peppered his logs with "500 internal hey look at this." In fact, none of the 500s were even interesting; all but one was spam.
All day I've been tending to freakouts and accusations of me not doing anything. Ugh.8 -
The strangest place I've ever coded... I woudn't say it was the strangest, but definitely the least expected?
The hospital's recovery room after my second child.
I was working at/in Hell at the time (see previous rants concerning API Guy and the asshole salesman CEO). Said salesman douchebag ceo bossman had no recollection of me being expecting, going to the hospital, or even why I was there (and if he did, he wouldn't have cared at all). He still insisted I work on his shit features because they were so important for his ever-so-important client and their new signups that they were going to do anyway. I loathe him so fucking much.
Anyway, the feature in question was pretty tiny: during the new client onboarding process, if the client came from a specific affiliate link, the frontpage should change to reflect that affiliate's branding -- different background, a custom header, etc. It was pretty easy to do, though I made certain he didn't know that. During an hour while everyone else was asleep (and while I wasn't passing out from exhaustion), I pulled out my macbook air and built his stupid feature next to my hours-hold newborn.
Did I get any appreciation for that? Sure! He showed appreciation by not yelling at me for a few days. But only because he thought the feature was difficult and that I got it done quickly, not because anything else was difficult. Asshole.
Yes, I told him several times before and several times more afterward. I don't know what goes though his head or how it even works, but it didn't seem like a big deal to him, and he kept forgetting, or maybe he just pretended to listen like he always did. Fucking asshole apparently never heard of maternity leave. I could rant and swear and curse and fume and rage about him for years 🤬 I can't believe I was so excited when I netted that job.
But anyway, building the feature was actually kind of relaxing. I organized and wrote the entire project myself, so working with it was a pleasure, and it was an easy change that I could abstract nicely and cleanly. I totally didn't mind doing it, and actually kind of enjoyed it. I just hated who I was doing it for, and that he didn't fucking care. Used and abused? absolutely. I hope he dies in the most painful, gruesome way possible. Spaghettification might not even be awful enough7 -
My coworker requested I add a bunch of tracking to our product.
I've previously tried explaining to him (and honestly the rest of the company) about privacy issues stemming from tracking, such as by their beloved Venmo. Venmo tracks absolutely fking everything you give it access to, from location data to your entire facebook, twitter, foursquare, etc. feeds, and sells ALL of it to third parties. It's scary. but! this guy simply does not understand, and/or does not care, and marches right on into all the surveillance, loudly singing the song of convenience to all who'll listen. (Nobody else in the company cared, either. :/)
ugh.
Anyway, I'm conflicted.
I have to install some tracking, but I can probably come up with an excuse to cut most of it out and gimp their surveillance. It'll still be useful to us, but it'll limit the amount of data the tracking company can sell to third parties.
but they'll push this guy pretty hard on it, and he's as technically-inclined as a smudged glass of warm, stale beer. "Better for your conversion!" they'll say. "How much tracking do you want?" he'll reply. "@ashkin, why can't you do this right now? What else do you need to make this happen?" he'll firmly inquire. and so I'll be forced to make it happen...
ergh13 -
Let me preface this by saying I'm not a designer.
While I can make individual bits of a site look good, and I'm actually pretty skilled with CSS/Sass, overall design completely escapes me. I can't come up with good designs, nor do I really understand *why* good designs are good. It's just not something I can do, which feels really weird to say. but it's true.
So, when I made the Surfboard site (that's the project's internal name), I hacked everything together and focused on the functionality, and later did a branding and responsive pass. I managed to make the site look quite nice, and made it scale well across sizes/devices despite being completely new to responsiveness. (I'm proud, okay? deal.)
After lots of me asking (in response to people loudly complaining that the UI doesn't have X feature, scale properly on Y device, and doesn't look as good as Z site), the company finally reached out to its UI contractor who does their design work. After a week or two, he sent a few mockups.
The mockups consisted of my existing design with a darker background, much better buttons, several different header bars (a different color) with different logo/text placements, and several restyled steppers. He also removed a couple of drop shadows and made some very minor styling changes (bold text, some copy edits). Oh, he also changed the branding colors. Nothing else changed. It's basically the same exact site but a few things look a little better. and the branding is different.
My intermediary with the designer asked for "any feedback before finalizing the designs" -- which I thought odd because he sent mocks for two out of the ten pages (nine plus a 404 page). (Nevermind most of the mocks showed controls from the wrong page...).
So, I typed up a full page of feedback. Much of it was asking for specifics such as responsive sizing on the new header layout, how the new button layout would work for different button counts, asking for the multitude of missing pages/components, asking why the new colors don't match the rest of our branding, etc. I also added a personal nitpick about flat-looking controls because I fucking hate them. Everything I wrote was very friendly and professional.
... His response was full of gems. Let me share a few.
1. "Everything about the current onboarding site looks like a complete after-thought." (After submitting a design basically identical to mine! gg!)
2. "Yes [the colors match our current branding]." (No. They don't. I checked. The dark grey is different, the medium grey is different, the silver is different, the light blue is different. He even changed the goddamn color of the goddamn LOGO for fuck's sake! How the fuck is that "matching"?!)
3. "Appreciate the feedback [re: overlapping colored boxes, aka 'flat'], design is certainly subjective. However, this is the direction we are going." (yet it differs from the rest of our already-redesigned sites you're basing this off. and it's ugly as shit. gg again :/)
4. "Just looked at the 404 page. It looks pretty bad, and reflects very poorly on the [brand name] brand. Definitely will make a change here!" (Hey! I love that thing. It's a tilted, dotted outline of a missing [brand product] entirely drawn with CSS. It has a light gray "???" underlay and some 404 text inside. Everyone I showed it to, coworkers and otherwise, loved it. "Looks pretty bad". fuck you.)
I know I shouldn't judge someone so quickly, but what the fuck. This guy reminds me of one of those pompous artists/actors who's better than everyone and who can never be wrong, even while they're contradicting themselves.
just.
asfjasfk;ajsg;klsadfhas;kldfjsdl.undefined surfboard another rant about the same project long rant pompous designer apples and asteroids design9 -
Actual rant time. And oh boy, is it pissy.
If you've read my posts, you've caught glimpses of this struggle. And it's come to quite a head.
First off, let it be known that WINDOWS Boot Manager ate GRUB, not the other way around. Windows was the instigator here. And when I reinstalled GRUB, Windows threw a tantrum and won't boot anymore. I went through every obvious fix, everything tech support would ever think of, before I called them. I just got this laptop this week, so it must be in warranty, right? Wrong. The reseller only accepts it unopened, and the manufacturer only covers hardware issues. I found this after screaming past a pretty idiotic 'customer representative' ("Thank you for answering basic questions. Thank you for your patience. Thank you for repeating obvious information I didn't catch the first three times you said it. Thank you for letting me follow my script." For real. Are you tech support, or emotional support? You sound like a middle school counselor.) to an xkcd-shibboleth type 'advanced support'. All of this only to be told, "No, you can't fix it yourself, because we won't give you the license key YOU already bought with the computer." And we already know there's no way Microsoft is going to swoop in and save the day. It's their product that's so faulty in the first place. (Debian is perfectly fine.)
So I found a hidden partition with a single file called 'Image' and I'm currently researching how to reverse-engineer WIM and SWM files to basically replicate Dell's manufacturing process because they won't take it back even to do a simple factory reset and send it right back.
What the fuck, Dell.
As for you, Microsoft, you're going to make it so difficult to use your shit product that I have to choose between an arduous, dangerous, and likely illegal process to reclaim what I ALREADY BOUGHT, or just _not use_ a license key? (Which, there's no penalty for that.) Why am I going so far out of my way to legitimize myself to you, when you're probably selling backdoors and private data of mine anyway? Why do I owe you anything?
Oh, right. Because I couldn't get Fallout 3 to run in Wine. Because the game industry follows money, not common sense. Because you marketed upon idiocy and cheapness and won a global share.
Fuck you. Fuck everything. Gah.
VS Code is pretty good, though.20 -
This company!
Ugh.
Two days ago we had an hour and a half meeting on which projects to focus on, with the result being all seven are top priority. Because of course.
Last night I told my boss why an api he has me hitting always returns 401s; even gave him the line# responsible for the response (in his code). After an hour and sixteen minutes of him debugging, he finally admitted I might be right. zzz. This morning, he tells me it's on my end, and to ask someone else for their project's API code. The problem is that the server is not accepting the new application's key, since that key is not in the allowed list. That other project works just fine. Guess why? Their key has been whitelisted for months. But it's totally my code. Yeah. Bloody brilliant. 🔅
Anyway, today we're discussing "Winning with Accountability," a 100 page book that boils down to "do what you say you'll do, by when you said you'd do it, and take responsibility if you don't." But a huge part that the boss is stressing is: provide the exact date, time, and timezone of when things will be completed by. I mean That's fine for sales calls and reports and such trivial busywork. But dev projects? Not so much.
And that's been my past three days!
Friggin joy.6 -
Root rents an office.
Among very few other things, the company I'm renting an office from (Regus) provides wifi, but it isn't even bloody secured. There's a captive portal with a lovely (not.) privacy policy saying they're free to monitor your traffic, but they didn't even bother using WEP, which ofc means everyone else out to the fucking parking lot four floors down can monitor my traffic, too.
Good thing I don't work for a company that handles sensitive data! /s But at least I don't have access to it, or any creds that matter.
So, I've been running my phone's connection through a tor vpn and sharing that with my lappy. It works, provides a little bit of security, but it's slow as crap. GET YOUR SHIT TOGETHER, REGUS.
AND WHILE YOU'RE AT IT, CLEAN THE SHIT OUT OF THE FUCKING BATHROOM FFS.
Ugh. $12/day to work in a freaking wind tunnel (thanks, a/c; you're loud as fuck and barely work), hear other people's phone conversations through two freaking walls, pee in a bathroom that perpetually smells like diarrhea, and allow anyone and everyone within a 50+ meter radius to listen to everything my computer says.
Oh, they also 'forgot' to furnish my office, like they promised. Three freaking times. At least I have a table and chair. 🙄
Desk? What desk?
Fucking hell.20 -
Argh!
I just realized that I committed and ran a migration with a typo in a column name.
We now have a :last_polll_capture_at column. 😭
Time for a commit of shame...13 -
Root encounters HR at her new job.
So, I left my job a few weeks ago. I was pretty sad about it, so I didn't want to write anything about it. It was a great place to work, with great managers, decent coworkers, and interesting work. I also had free reign over how I built things, what to improve, etc. Within about four months, I authored over half of the total commits on their backend repo, added a testing suite with 90% coverage, significantly improved the security (more accurately: added security), etc. but I got a job offer that allowed me to work remotely, and make well over six figures (usd). I couldn't turn it down, even though I wanted to. So, I left. I'm still genuinely sad about that. I had emotions and everything. 🙁 I stayed on long enough to finish the last of the features for their new product launch, and make sure everything was stable. I'm welcome back whenever, though they don't want to have remote employees, and I want to move, so. that's probably not going to happen. sigh.
Anyway, I started my new job this week. Rented an office (read: professional closet) and everything! It's been veritable mountains of HR paperwork so far. That's all I've done besides some accounts setup. I've seriously only worked on and completed one ticket so far in two and a half days, and I still have six documents/contracts to sign! (and benefits; that'll probably take my weekend.)
But getting an I9 thing notarized? Apparently I only have three days before I'm legally unemployable by them or something, idk. HR made it sound ridiculously dire and important, and reminded me like five or more times. I figured it was just some notary service; that takes like 10 minutes, right? So I put it off until my second day so I didn't have to disappear in the middle of my first day. Anyway, I called a bunch of notary services on day 2, and apparently only like 5% of them both do notary services this time of year and aren't booked full. And of those, probably another 5% will notarize I9 documents.. No idea why it's rare, but whatever, I'm not a notary.
The HR lady assured me that I didn't need any special documents; I should just go there, present my IDs, and the notary will provide or draft documents for everything else. Totally doesn't sound right, but fine; I'm not a notary nor will I ever work in HR, so I'm not very knowledgeable about this. So, against my better judgement I decided to just go anyway. I called around and finally found a place that wasn't closed, busy, or refusing, and drove over there. Waited. Waited. Waited. Notary lady was super slow in every single action. (I should mention that it's now 10am, and I have a meeting with the Senior VP of Engineering [a stern, stubborn old goat who enjoys making people feel inadequate] at 12:30pm.) The notary lady looks like she's an npc updating in slow motion (maybe at 0.25x speed?) and can't seem to understand what I need. Eventually, she tells me exactly what I had assumed: if there's no document, she can't notarize said document, and she doesn't have an I9 for the company I'm trying to work for. (like, duh.) So I thank her for proving the flow of time is variable, which she ignores in slow motion, and drive back home. It's now about 11.
I message the same HR lady, and the useless wench gawks in surprise and says she's never heard of that ridiculous request before. It took prodding to get her to respond every time, but after some (very slow) back and forth, she says she wants to call the notary personally and ask what they need. I waited around for another response that never came, and eventually just drove to the notary place again to have them notarize the required ID documents. That plus my chat history with HR should be enough to show that I bloody well tried, and HR just shit the bed instead. I finally got them notarized at like 12:10, and totally broke the speed limit the entire way to the office, found the last remaining parking spot, and made it to my office just in time for the meeting. seriously, less than two minutes to spare. Meeting was interesting (mostly about security), but totally made me facepalm, shout "Seriously!? What the hell are you thinking!?" and make slapping motions at some of the people talking. I will probably rant about that next.
But anyway, I'm willing to bet that the useless wench won't get back to me before the notary closes, if at all, and will somehow try to blame it completely on me if I bring it up again. Passive aggressive bitch. She's probably thinking: "If I don't help her with these mandatory legal processes, it'll be her fault she didn't get them done in time. I mean, they're so easy! She's just doing it wrong." I fucking hate HR.13 -
!!privacy
!!political
I had a discussion with a coworker earlier.
I owed him for lunch the other day, and he suggested I pay him back either with cash (which I didn't have), Venmo, or just by him lunch the next time (which I ended up doing).
I asked about Venmo, and he said it was like paypal, but always free. that sounded a bit off -- because how are they in business if it's always free? -- so I looked it up, and paid special attention to their privacy policy.
The short of it: they make money by selling your information. That's worth far more than charging users a small fee when sending $5 every few weeks. Sort of what I expected when I heard "always free," but what surprised me is just how much they collect. (In retrospect, I really shouldn't have been surprised at all...)
Here's an incomplete list:
* full name, physical address, email, DoB, SSN (or other government IDs, depending on country)
* Complete contact list (phone numbers, names, photos)
* Browser/device fingerprint
* (optional) Your entire Facebook feed and history
* (optional) all of your Facebook friends' contact info
* Your Twitter feed
* Your FourSquare activity
(The above four ostensibly for "fraud prevention")
* GPS data
* Usage info about the actual service
* Other users' usage info (e.g. mentioning you)
* Financial info (the only thing not shared with third parties)
Like, scary?
And, of course, they share all of this with their parent company, PayPal. (The privacy policy does not specify what PayPal does with it, nor does it provide any links that might describe it, e.g. PayPal's "info-shared-by-third-parties" privacy policy)
So I won't be using Venmo. ever.
I mentioned all of this to my coworker, and he just doesn't understand. at all. He even asks "So what are they going do with that, send me ads? like they already do?"
I told him why I think it's scary. Everything from them freely selling all of your info, to someone being able to look through your entire online life's history, to being able to masquerade around as you, to even reproducing your voice (e.g. voice clips collected by google assistant), to grouping people by political affiliations.
He didn't have much to say about any of them, and actually thought the voice thing was really cool. (All I could think of was would happen if the "news" had that ability....) All of his other responses were "that doesn't bother me at all" and/or "using all of these services is so convenient."
but what really got me was his reaction to the last one.
I said, "If you're part of the NRA, for example, you'd be grouped with Republicans. If they sell all of this information, which they do, and they don't really care who buys it or what they do with it... someone could look through the data and very very easily target those political groups."
His response? "I don't have to worry about that. I'm a Democrat, and have always voted Democrat. I'll tell anyone that."
Like.
That's basically saying every non-democrat is someone you should be wary of and keep an eye on. That's saying Democrats are the norm and everyone else is deviant and/or wrong.
and I couldn't say anything after this because... no matter what I said, it would start a political conflict, and would likely end with me being fired (since the owner is also a democrat, and they're very buddy-buddy). "What if they target democrats?" -> "They already do!" or "What if democrats use it against others?" -> "They deserve it for being violent and racist, but we never would" (except, you know, that IRS/tea-party incident for example...)
But like, this is coming from someone who firmly believes conservatives are responsible for all of the violence and looting and rioting and mass shootings in the country. ... even when every single instance has been by committed by democrats. every. single. one.
Just...
jfl;askjfasflkj.
He doesn't understand the need for privacy, and his world view is just... he actually thinks everyone with different beliefs is wrong and dangerous.
I don't even know how to deal with people like this. and with how prevalent this mindset is... coupled with the aforementioned privacy concerns... it's honestly *terrifying.*68 -
Banks be like
You don't have much money?
Here, let me keep taking some of that from you until you get more, k?
Oh, that was more than you had?
Now you owe me even more, nerd.
What, you can't pay that either?
Better ask me for a loan so you can pay off your debt to me. Loser.
What? You still can't pay?
I'm gonna take your everything!rant overdraft fees banks imposing debt on a whim basically stealing your lunch money service fees banks are not friends and this is why i love crypto gg31 -
My day.
6 am: 2yo woke up
8:30 am: start work (from home)
11 am: go get breakfast/lunch
11:30 am: work call. while driving. Learn nothing new.
12:00 noon: infuriatingly slow errand
12:30 pm: work call. Learn nothing new.
1 pm: finally get to eat. It's cold. And terrible.
6 pm: 2yo finally goes to sleep (missed nap)
9:20 pm: 2yo wakes up screaming.
9:30 pm: find 3 or 4 tablespoons of leftover tuna in the fridge. No bread.
10:45 pm: I finally finish my work (super-urgent friday-morning release of a next-Wednesday-morning deadline... Yeah idfk.)
11:29 pm: 2yo stops yelling and screaming and goes back to sleep
11:39 pm: finish writing this while in bed.
11:40 pm: Sleep?10 -
!!pointless story
Bug report comes in from a coworker. "Cloudinary uploads aren't working. I can't sign up new customers."
"I'll look into it" I say.
I go to one of our sites, and lo! No Cloudinary image loads. Well that can't be good.
I check out mobile app -- our only customer-facing platform. None of the images load! Multiple "Oops!" snackbars from 500 errors on every screen / after every action.
"None of our Cloudinary images load, even in the mobile app," I report.
Nobody seems to notice, but they're probably busy.
I go to log into the Cloudinary site, and realize I don't have the credentials.
"What are the Cloudinary credentials, @ceo?" I ask.
I'm met with more silence. I use this opportunity to look through the logs, try different URLs/transforms directly. Oddly, everything seems fine except on our site.
I check Slack again, and see nothing's changed, so I set about trying to guess the credentials.
Let's see... the ceo is basically illiterate when it come to tech, so it's probably not his email. It's a startup, and custom emails for things cost money, and haven't been a thing here forever, so it's probably oen of the CTO's email aliases. he likes dots and full names so that narrows it down. Now for the password.... his are always crappy (so they're "easy to remember") and usually have the abbreviated company name in them. He also likes adding numbers, generally two-digit numbers, and has a thing for 7s and 9s. Mix in some caps, spaces, order...
Took me a few minutes, but I managed to figured it out.
"Nevermind, I guessed them." I reported.
After getting into Cloudinary, I couldn't find anything amiss. Everything looked great. No outage warnings, metrics looked fine, images all loaded. Ex-cto didn't revoke payment or cancel the account.
I checked our app; everything started loading -- albeit slowly.
I checked the aforementioned site; after a few minutes, everything loaded there, too.
Not sure what else to do, and with everything appearing to work, I said "Fixed!" and closed the issue.
About 20 minutes later, the original person said "thanks" -- never did hear anything from the ceo. I've heard him chatting away in the other room the entire time.
Regardless, good thing for crappy passwords, eh?21 -
So my ethernet randomly stopped working on Arch.
At first I thought it had to do with a conflict between it and my tethered phone, so I tried removing all my connections. Still wasn't working.
Next I tried to test the driver itself and make sure it loaded on boot. It loaded, but was disconnected.
Next I decided "fuck it, I know I was just using the internet on Windows, but I'll check the ethernet cable is still plugged in anyway". It was, and it was returning the right MAC address, but still no connection.
So I try debugging the driver further. Everything seemed fine, except it would time out trying to establish a dhcp connection.
Finally I figured, maybe Microsoft tried to troll me and lock out the ethernet waking on boot. So I restart my computer, load into windows and check my ethernet driver, it seems fine. I go to disable the shutdown of the card on OS shutdown. Turns out this driver no longer has that capability.
Wait a minute!? Windows is also having connection issues!?
I look to my left.
Fuck my life...
My router was off... I must of kicked the powerboard under my desk..........2 -
> Root struggles with her ticket
> Boss struggles too
> Also: random thoughts about this job
I've been sick lately, and it's the kind of sick where I'm exhausted all day, every day (infuriatingly, except at night). While tired, I can't think, so I can't really work, but I'm during my probationary period at work, so I've still been doing my best -- which, honestly, is pretty shit right now.
My current project involves legal agreements, and changing agent authorization methods (written, telephone recording, or letting the user click a link). Each of these, and depending on the type of transaction, requires a different legal agreement. And the logic and structure surrounding these is intricate and confusing to follow. I've been struggling through this and the project's ever-expanding scope for weeks, and specifically the agreements logic for the past few days. I've felt embarrassed and guilty for making so little progress, and that (and a bunch of other things) are making me depressed.
Today, I finally gave up and asked my boss for help. We had an hour and a half call where we worked through it together (at 6pm...). Despite having written quite a bit of the code and tests, he was often saying things like "How is this not working? This doesn't make any sense." So I don't feel quite so bad now.
I knew the code was complex and sprawling and unintuitive, but seeing one of its authors struggling too was really cathartic.
On an unrelated note, I asked the most senior dev (a Macintosh Lisa dev) why everything was using strings instead of symbols (in Rails) since symbols are much faster. That got him looking into the benchmarks, and he found that symbols are about twice as fast (for his minimal test, anyway), and he suggested we switch to those. His word is gold; mine is ignorable. kind of annoying. but anyway, he further went into optimizing the lookup of a giant array of strings, and discovered bsearch. (it's a divide-and-conquer lookup). and here I am wondering why they didn't implement it that way to begin with. 🙄
I don't think I'm learning much here, except how to work with a "mature" codebase. To take a page from @Rutee07, I think "mature" here means the same as in porn: not something you ever want ot see or think about.
I mean, I'm learning other things, too, like how to delegate methods from one model to another, but I have yet to see why you would want to. Every use of it I've explored thus far has just complicated things, like delegating methods on a child of a 1:n relation to the parent. Which child? How does that work? No bloody clue! but it does, somehow, after I copy/pasted a bunch of esoteric legacy bs and fussed with it enough.
I feel like once I get a good grasp of the various payment wrappers, verification/anti-fraud integration, and per-business fraud rules I'll have learned most of what they can offer. Specifically those because I had written a baby version of them at a previous job (Hell), and was trying to architect exactly what this company already has built.
I like a few things about this company. I like my boss. I like the remote work. I like the code reviews. I like the pay. I like the office and some socializing twice a year.
But I don't like the codebase. at all. and I don't have any friends here. My boss is friendly, but he's not a friend. I feel like my last boss (both bosses) were, or could have been if I was more social. But here? I feel alone. I'm assigned work, and my boss is friendly when talking about work, but that's all he's there for. Out of the two female devs I work with, one basically just ignores me, and the other only ever talks about work in ways I can barely understand, and she's a little pushy, and just... really irritating. The "senior" devs (in quotes because they're honestly not amazing) just don't have time, which i understand. but at the same time... i don't have *anyone* to talk to. It really sucks.
I'm not happy here.
I miss my last job.
But the reason I left that one is because this job allows me to move and work remotely. I got a counter-offer from them exactly matching my current job, sans the code reviews. but we haven't moved yet. and if I leave and go back there without having moved, it'll look like i just abandoned them. and that's the last thing I want them to think.
So, I'm stuck here for awhile.
not that it's a bad thing, but i'm feeling overwhelmed and stressed. and it's just not a good fit. but maybe I'll actually start learning things. and I suppose that's also why I took the job.
So, ever onward, I guess.
It would just be nice if I could take some of the happy along with me.8 -
!rant
!!success
Finally, my project is done!
(and apart from UI/UX polish and some rewording by marketing, everything is finished! Wooo!)
Now for the fun part of the project... 😭5 -
Oh dear, another Tuesday!
That means I'll probably get chewed out for something in front of the entire company. What for, you ask? The boss is inventive, so it could be anything.
Instead, I'm calling in sick and taking the day off. 😊14 -
!dev
New year's resolutions:
1) Rid and keep my life free of toxic people. This includes parents.
2) Find a well-paying job that isn't also toxic.
3) Take care of myself for a change!
4) Stop putting up with things I don't have to.
5) Actually enjoy things I enjoy.
6) Finally buy a harp. I've wanted one since I was 3 ffs.
7) Finish de-googling my life.undefined i am a girl you twits! toxic? snip. snip. resolutions parents always said a harp was too girly10 -
I'm getting increasingly convinced the world is a simulation and its curators have simply stopped caring.25
-
!dev
It's raining. I love it.
It's foggy. I love it.
But I live in a desert and nobody here seems to know how to handle the rain, let alone the fog. (It isn't hard, people!) Last night during my ~30 min drive home from work, five separate accidents/collisions happened just a little ways behind me because it was raining. Now it's foggy, too.
I have to go to work.
I'm scared.12 -
tl;dr Either I'm being incredibly touchy, or half of everyone I've interacted with is being a total jerk to me today.
I also feel like I'd be overreacting if I responded in a bitchy way, so =/ I must be nice despite everyone's behavior.
I don't want to people today.
I want to sleep.10 -
I wrote a database migration to add a column to a table and populated that column upon record creation.
But the code is so freaking convoluted that it took me four days of clawing my eyes out to manage this.
BUT IT'S FINALLY DONE.
FREAKING YAY.
Why so long, you ask? Just how convoluted could this possibly be? Follow my lead ~
There's an API to create a gift. (Possibly more; I have no bloody clue.)
I needed the mobile dev contractor to tell me which APIs he uses because there are lots of unused ones, and no reasoning to their naming, nor comments telling me what they do.
This API takes the supplied gift params, cherry-picks a few bits of useful data out (by passing both hashes by reference to several methods), replaces a couple of them with lookups / class instances (more pass-by-reference nonsense). After all of this, it logs the resulting (and very different) mess, and happily declares it the original supplied params. Utterly useless for basically everything, and so very wrong.
It then uses this data to call GiftSale#create, which returns an instance of GiftSale (that's actually a Gift; more on that soon).
GiftSale inherits from Gift, and redefines three of its methods.
GiftSale#create performs a lot of validations / data massaging, some by reference, some not. It uses `super` to call Gift#create which actually maps to the constructor Gift#initialize.
Gift#initialize calls Gift#pre_init (passing the data by reference again), which does nothing and returns null. But remember: GiftSale inherits from Gift, meaning GiftSale#pre_init supersedes Gift#pre_init, so that one is called instead. GiftSale#pre_init returns a Stripe charge object upon success, or a Gift (and a log entry containing '500 Internal') upon failure. But this is irrelevant because the return value is never actually used. Pass by reference, remember? I didn't.
We're now back at Gift#initialize, Rails finally creates a Gift object using the args modified [mostly] in-place by all of the above.
Another step back and we're at GiftSale#create again. This method returns either the shiny new Gift object or an error string (???), and the API logic branches on its type. For further confusion: not all of the method's returns are explicit, and those implicit return values are nested three levels deep. (In Ruby, a method will return the last executed line's return value automatically, allowing e.g. `def add(a,b); a+b; end`)
So, to summarize: GiftSale#create jumps back and forth between Gift five times before finally creating a Gift instance, and each jump further modifies the supplied params in-place.
Also. There are no rescue/catch blocks, meaning any issue with any of the above results in a 500. (A real 500, not a fake 500 like last time. A real 500, with tragic consequences.)
If you're having trouble following the above... yep! That's why it took FOUR FREAKING DAYS! I had no tests, no documentation, no already-built way of testing the API, and no idea what data to send it. especially considering it requires data from Stripe. It also requires an active session token + user data, and I likewise had no login API tests, documentation, logging, no idea how to create a user ... fucking hell, it's a mess.)
Also, and quite confusingly:
There's a class for GiftSale, but there's no table for it.
Gift and GiftSale are completely interchangeable except for their #create methods.
So, why does GiftSale exist?
I have no bloody idea.
All it seems to do is make everything far more complicated than it needs to be.
Anyway. My total commit?
Six lines.
IN FOUR FUCKING DAYS!
AHSKJGHALSKHGLKAHDSGJKASGH.7 -
I installed a firmware update on my router, and discovered it both adds telemetry and breaks the navigation in firefox. 🤦♀️
It also started complaining that my password isn't secure (despite its length) because it doesn't contain a symbol.
Good freaking job.10 -
Rant rant = new Rant
rant.isRant = false // !!!
I woke up this morning after not thinking about my code for a day, and realized i had a flaw in my validation design. I fixed it before opening my eyes.
It's kind of amazing how not thinking about a problem can help solve it. Even if you don't know it's there!6 -
A long time ago on a project far far away, I didn't realize there was a src folder, and made my changes in the build folder instead... And to makes matters worse, I asked a co-worker -- an ex-Googler -- for help with the issue I was working on.
Rarely have I been more embarrassed.1 -
I extracted a tangled action to its own api, and wrote a test for it.
The test failed.
I added debugging, more debugging, all the debugging. It still fails. But I can at least see why it fails!
It turns out the api finds and updates the wrong user. It finds and updates the wrong user EVEN WHEN THERE ARE NO OTHER USERS.
WHAT THE SALAMI.
Also, the user lookup it uses is extremely roundabout and takes several seconds with ~2 million users. Normally I'd fix the lookup, but it has been in production for several years, and I'm terrified it will break something if I fix it.
Blargherhagrid.7 -
!!rant
When I worked at a previous job, they only gave out decent titles (and salaries) to upper management. Everyone else... well... I was the Domain/Sysadmin, responsible for the domain and both DCs, upgrading the physical network (plus recabling it: the MDF was a *disaster*), as well as all backups, migrations, printers, servers, and workstations/lappys in the building, plus pushing software, antivirus, updates, security policies, etc. I had complete access to everything, and ofc was responsible for everything. Nothing on my network caused anyone (else) any trouble except one particular printer I wasn't able to replace. Also, nothing new appeared on my network without me noticing and tracking it down.
But my official title? "IT Assistant".
I made $11/hr.
Worth it? Take a flying leap into an overflowing outhouse during the height of a Vegas summer if you even begin to think so.
I eventually managed to switch to a developer position, and (after several attempts) got a ~$5/hr raise. The girl they replaced me with in IT with some ditz who had never installed an OS before, didn't know what the BIOS was, and couldn't figure out why a monitor... plugged into itself... wasn't working. Things went downhill from there.10 -
This codebase reminds me of a large, rotting, barely-alive dromedary. Parts of it function quite well, but large swaths of it are necrotic, foul-smelling, and even rotted away. Were it healthy, it would still exude a terrible stench, and its temperament would easily match: If you managed to get near enough, it would spit and try to bite you.
Swaths of code are commented out -- entire classes simply don't exist anymore, and the ghosts of several-year-old methods still linger. Despite this, large and deprecated (yet uncommented) sections of the application depend on those undefined classes/methods. Navigating the codebase is akin to walking through a minefield: if you reference the wrong method on the wrong object... fatal exception. And being very new to this project, I have no idea what's live and what isn't.
The naming scheme doesn't help, either: it's impossible to know what's still functional without asking because nothing's marked. Instead, I've been working backwards from multiple points to try to find code paths between objects/events. I'm rarely successful.
Not only can I not tell what's live code and what's interactive death, the code itself is messy and awful. Don't get me wrong: it's solid. There's virtually no way to break it. But trying to understand it ... I feel like I'm looking at a huge, sprawling MC Escher landscape through a microscope. (No exaggeration: a magnifying glass would show a larger view that included paradoxes / dubious structures, and these are not readily apparent to me.)
It's also rife with bad practices. Terrible naming choices consisting of arbitrarily-placed acronyms, bad word choices, and simply inconsistent naming (hash vs hsh vs hs vs h). The indentation is a mix of spaces and tabs. There's magic numbers galore, and variable re-use -- not just local scope, but public methods on objects as well. I've also seen countless assignments within conditionals, and these are apparently intentional! The reasoning: to ensure the code only runs with non-falsey values. While that would indeed work, an early return/next is much clearer, and reduces indentation. It's just. reading through this makes me cringe or literally throw my hands up in frustration and exasperation.
Honestly though, I know why the code is so terrible, and I understand:
The architect/sole dev was new to coding -- I have 5-7 times his current experience -- and the project scope expanded significantly and extremely quickly, and also broke all of its foundation rules. Non-developers also dictated architecture, creating further mess. It's the stuff of nightmares. Looking at what he was able to accomplish, though, I'm impressed. Horrified at the details, but impressed with the whole.
This project is the epitome of "I wrote it quickly and just made it work."
Fortunately, he and I both agree that a rewrite is in order. but at 76k lines (without styling or configuration), it's quite the undertaking.
------
Amusing: after running the codebase through `wc`, it apparently sums to half the word count of "War and Peace"15 -
I just changed a bunch of comments, log entries, and removed some blank lines from one of my controllers. Zero functional code changes. Everything worked before; now it runs only half the code, breaks, and throws strange errors.
Fucking hell.
Screw today.6 -
For an ostensibly security-focused financial company, these people really don't know what they're doing. Everything I've seen thus far is so hacked-together that I feel like i'm looking at code written by high schoolers.
Seriously, some of API Guy's code is better than this.
And they even make a point to remind me of ultra basics like `.to_a`, `.map`, or "a good command to keep on hand is `rake db:migrate`" -- like seriously? Those are in bloody "Intro to Rails" tutorials (and it's `rails db:migrate` as of Rails 5). For an ostensibly all-senior team, these devs are awfully junior.5 -
I'm the sole developer at work.
Literally the entire company, save myself, is sales people. (We have one remote mobile contractor as well, but he only does mobile; I'm responsible for everything else.)
I inherited a gigantic pile of nightmare from the previous "senior-level intern" solitary dev/CTO, and I'm still trying to figure out the bulk of it, meaning everything takes longer.
Anyway, we have a meeting roughly once a week, and during each of these -- and several times throughout each week -- the salespeople say things like "We should address this" or "This should be our top focus" or "We really need ___ so I can sell more merchants" or "___ doesn't work right; we should fix it." All of these "we"'s and "our"'s, of course, mean me.
So, today, I decided I'd make a list of everything I have to do, and their general size. Assuming large projects will take one month, medium projects will take one week, and small projects will take one day... I have four months, two weeks, and four days of work ahead of me. (yet I know one of those large projects will take at least two months...)
Make it stop ;;15 -
Background: I'm not drunk yet, BUT I'M WORKING ON IT.
okay.
I just finished a second sprint on my React app. The first was to build a merchant onboarding flow. The second was to do substantial cleanup as I learned more about react/redux, and to create a "supply order" flow -- basically purchasing marketing materials and services. I finished that in a week, and I'm pretty proud. api-guy wanted it done in a day. i laughed. he probably could have, but it would have been a copy of the code in a new repo with some lines changed.
ANYWAY. it's all done and It's super pretty and works amazingly well. It has both the onboarding flow and the ordering flow, with a nice pop-out sidebar for navigation, namespaced actions, etc. Everything is pretty clean. I even added a cart to the ordering (despite everyone telling me not to) because wtf, what if someone wants to order TWO items? dumbasses. So I made that. it's sexy.
Anyway, it's all done and shiny and fancy and wonderful and I'd *love* to share screenshots if only it didn't give away where I worked. :<
... but the point of the rant!
After the first sprint, I made a copy of the repo so I could rework it and add more functionality without touching the original. (Hey! That's what a branch is for, right? Why didn't I branch it up?
well, read on)
I knew we were going to have multiple separate flows for this app: onboard, ordering, merchant tools, admin tools, support, etc. So, I wrote its server portion (the webpack builder + http server) so it would serve the same app at whatever url the user hit, and set a cookie containing that host+url. This allows the app to serve different content (basically showing/hiding content) based on the URL and future login roles. If someone hits /order, it would hide everything but the order flow. If they're a merchant, it would show all the merchant views plus ordering, etc.
tl;dr This way I can use the same codebase for multiple sites, drastically simplifying development, branding, and what have you. This new app could obv also be a drop-in replacement for the original onboarding project because of the above.
HOWEVER. this apparently isn't good enough for api-guy. He's terrified that adding/updating future components will affect all the existing content somehow.
so.
now we have three repos for basically the same codebase. 1) onboard aka "surfboard", 2) ordering, 3) merchant tools, aka "ferrari" (the "future" app).
Except.
1) "surfboard" is a very old version of the code. 3) "ferrari" is also old, since 2) "ordering" has newer content in it now.
... and somehow this is better?
fuck if i can figure out how.
His reasoning is "well, you won't be touching surfboard or ordering for 6 months, so now you don't have to worry about it." Sure, except, you know, it'll be a pain in the ass in 6 months now when I have a crapton of code and branding to redo. ffs.
Oh. We also have three Heroku pipelines for these three repos. for the same codebase.
and now you know why i'm drinking.undefined idiocy fucking hell fuck this noise api guy i'm just gonna replace everything later this codebase is as dry as the friggin ocean7 -
I have a problem.
My phone has "Rant" and [Comment] burned into the screen, along with the Facebook and share buttons. It's faint, but it's absolutely there.13 -
I'm editing the sidebar on one of our websites, and shuffling some entries. It involves moving some entries in/out of a dropdown and contextual sidebars, in/out of submenus, etc. It sounds a little tedious but overall pretty trivial, right?
This is day three.
I learned React+Redux from scratch (and rebuilt the latter for fun) in twice that long.
In my defense, I've been working on other tasks (see: Alerts), but mostly because I'd rather gouge my freaking eyes out than continue on this one.
Everything that could be wrong about this is. Everything that could be over-engineered is. Everything that could be written worse... can't, actually; it's awful.
Major grievances:
1) The sidebars (yes, there are several) are spread across a ridiculous number of folders. I stopped counting at 20.
2) Instead of icon fonts, this uses multiple images for entry states.
3) The image filenames don't match the menu entry names. at all. ("sb_gifts.png" -> orders); active filenames are e.g. "sb_giftsactive.png"
4) The actions don't match the menu entry names.
5) Menu state is handled within the root application controller, and doesn't use bools, but strings. (and these state flags never seem to get reset anywhere...)
6) These strings are used to construct the image filenames within the sidebar views/partials.
7) Sometimes access restrictions (employee, manager, etc.) are around the individual menu entries, sometimes they're around a partial include, meaning it's extremely difficult to determine which menu entries/sections/subsections are permission-locked without digging through everything.
8) Within different conditionals there are duplicate blocks markup, with duplicate includes, that end up render different partials/markup due to different state.
9) There are parent tags outside of includes, such as `<ul>#{render 'horrific-eye-stabbing'}</ul>`
10) The markup differs per location: sometimes it's a huge blob of non-semantic filthiness, sometimes it's a simple div+span. Example filth: section->p->a->(img,span) ... per menu entry.
11) In some places, the markup is broken, e.g. `<li><u>...</li></u>`
12) In other places, markup is used for layout adjustments, such as an single nested within several divs adorned with lots of styles/classes.
13) Per-device layouts are handled, not within separate views, but by conditionally enabling/disabling swaths of markup, e.g. (if is_cordova_session?).
14) `is_cordova_session` in particular is stored within a cookie that does not expire, and within your user session. disabling it is annoying and very non-obvious. It can get set whether or not you're using cordova.
15) There are virtually no stylesheets; almost everything is inline (but of course not actually everything), which makes for fun layout debugging.
16) Some of the markup (with inline styling, no less) is generated within a goddamn controller.
17) The markup does use css classes, but it's predominately not for actual styling: they're used to pick out elements within unit tests. An example class name: "hide-for-medium-down"; and no, I can't figure out what it means, even when looking at the tests that use it. There are no styles attached to that particular class.
18) The tests have not been updated for three years, and that last update was an rspec version bump.
19) Mixed tabs and spaces, with mixed indentation level (given spaces, it's sometimes 2, 4, 4, 5, or 6, and sometimes one of those levels consistently, plus an extra space thereafter.)
20) Intentional assignment within conditionals (`if var=possibly_nil_return_value()`)
21) hardcoded (and occasionally incorrect) values/urls.
... and last but not least:
22) Adding a new "menu sections unit" (I still haven't determined what the crap that means) requires changing two constants and writing a goddamn database migration.
I'm not even including minor annoyances like non-enclosed ternaries, poor naming conventions, commented out code, highly inefficient code, a 512-character regex (at least it's even, right?), etc.
just.
what the _fuck_
Who knew a sidebar could be so utterly convoluted?6 -
preface: swearing.
because anger.
So. I'm trying to use Material Design with Material UI. The components and UI look *great*.
It's from google, though, which really pisses me off. but I like what I can do with the UI.
HOWEVER.
I really want a grid system for responsiveness. because obviously. besides, i really hate doing all the responsive shit myself. it sucks and i hate it.
Material Design does not include a grid system. okay, it includes a grid component, but it's not for site layout. it's for making a grid of images. or something.
What it does include is a lot of very lengthy documentation on what you should do, complete with fancy graphics saying "THIS IS HOW YOU MUST DO IT OR YOU'RE DOING IT ALL WRONG" -- but they don't actually support it! you must do it all yourself.
Why oh why would they tell you how you must do things if they don't provide the tools to make it possible? fucking google.
You might decide it's a grand idea to interject at this moment and say: "there are plenty of tools out there that allow you to do this!" And sure, you'd be right. however -- and i think this might just barely might be worth mentioning -- THEY REALLY FUCKING SUCK. Hey, let's look at some of the classes! So clear and semantic! This one was nice and simple: "xs4" -- but wtf does that mean? okay, it apparently means 4 columns as they'd appear on an extra-small layout. How does that work on a large layout? Who knows. Now, how about "c12"? okay, maybe 12 columns? but how does that display on a phone with a layout small enough to only have 4 columns? i don't know! they don't know! nobody knows!
oh oh oh oh. and my particular favorite: "mdc-layout-grid__cell mdc-layout-grid__cell--align-bottom" WHAT. THE. FUCK. I'm not writing a goddamn novel! and that one claims to be from google itself. either they've gone insane or someone's totally lying. either way, fuck them.
SO. TERRIBLENESS ASIDE.
Instead of using Material Design v0.fuckoff that lacks any semblance of a grid layout, I figure I'll try v1.0 alpha that actually has one supported natively. It's new and supports everything I need. There's no way this can't be a good idea.
The problem is, while it's out and basically usable, none of the React component libraries fucking work with it. Redux-Form doesn't work with it either because it doesn't understand nested compound controls, and hacking it to work at least triples the boilerplate. So, instead, I have to use some other person's "hey, it's shitty but it works for me" alpha version of someone else's project that works as a wrapper on top of Redux-Form that makes all of this work. yeah, you totally followed that. Kind of like a second-cousin-twice-removed sort of project adding in the necessary features and support all the way down. and ofc it doesn't quite work. because why would things ever be easy?
like seriously, come on.
What i'm trying to do isn't even that bloody hard.
Do I really have to use bootstrap instead?
fuck that.
then again, fuck this significantly more.
UGH.18 -
A couple of weeks ago, I asked the "brand manager" if he knew how to reset printers to their defaults before reconfiguring them, knowing full well that he did not. He assured me that he did. I smiled and let him leave.
He called me yesterday, frantic, because he didn't know how to reconfigure a printer that already had a password. After reminding him of the above, I told him how to put the printer in diagnostic mode and how to navigate the menus. Literally: "Turn the printer off, then hold down the feed paper button while turning the printer on. It will print out a bunch of diagnostics, and a menu at the bottom. Just follow the instructions at the bottom to use the menu"
Apparently following simple instructions is well outside of his abilities. After he spent five minutes fighting with it and complaining, I called him and walked him through powering the printer on while holding down the feed paper button. Terribly difficult.
The next step amounts to "hold down the feed paper button for more than 1 second." He spent ten minutes (ten!) on this unimaginably challenging step, and, frustrated at his inability to outsmart a simple button, he gave up completely.
He literally couldn't follow the instructions on the printout. I've attached a picture to show how ridiculous this is, and it saddens me terribly to report that I'm quite serious. he was literally unable to figure this out.
HE SPENT TEN MINUTES TRYING TO PUSH A BUTTON FOR >1 SECOND! TEN MINUTES!
That's what was too difficult for him! A button! With written instructions!
I can't even.
But the kicker?
Now he and the bossman want me to drive half an hour so I can push a button for ~1.2 seconds because they're utterly incapable.
I'm soo done.
So. done.7 -
I received a shiny new pair of Bose QC 35 II's for christmas -- bluetooth headphones with active noise cancelling.
They're similar to the $500 pair my previous boss lent me at work. Lower quality, but much newer, and rechargeable! and bluetooth! Yay!
I paired them with my debian machine, and... it failed. No explanation given. I tried everything I could htink of, but nothing changed. Well, okay; bluetooth came out within the last decade or so, meaning it takes some extra effort in Debian. truth. So I did some reading on bluetooth connection issues, changed some configs, learned how to use the bluetooth cli, and used that to pair and connect them. Worked like a charm.
But! No audio.
Damn.
Cue more research (on pulseaudio this time) and more configs. Did some fiddling, etc. No progress. Also discovered `pavucontrol`, a gui-only (😕) utility which lets you select audio output devices, among other things. It doesn't list the headset. Nor does `pactl list`, but that does list the correct bluetooth modules. It also lists Lennart Poettering's name many many times, for all the good that does. Bragging about building something as needlessly complicated and crappy and buggy as pulseaudio? I will never understand that egotistical doucheballoon.
Anyway.
I paired the headset with my phone in about six seconds. I'm now controlling my phone's music via spotify on my computer. yay. Doesn't work for games or movies, but I can always just plug them in.
But woo!
Noise canceling!
Yay, silence! At last!
and music! How I've missed you!
❤💜🖤
(systemd and pulseaudio can still die in a fire.)27 -
Last Friday company-wide call consisted of the sales CEO bossman, the remote contractor dev, and myself. The only topic of discussion was CTO-bashing (bossman's favorite). Neither person had much of anything to say about their week, and they didn't want to hear my rather-lengthy summary either (I did a lot). All they wanted to do was bash the CTO (API Guy).
The CEO asked how many hours I had worked, and seemed annoyed when I said less than 40. Well screw you. Monday was Christmas, and Sunday was Encroaching Estranged Asshole Day. (Earlier rant)
I've been spending most of my time trying to learn the steaming mountain of rancid hippo shit that API Guy squeezed out, since he's leaving forever in 10 days. Sure, CEO bossman says he'll still be around to answer questions, but even with him right next to me in the office he's less than useful. After he's gone and finally feeling free of this farce? It'll be worth fuck-all.
So bossman is mad at me for both not working enough over Christmas, and not pumping out features at a frantic pace despite multiple explanations of why this is a bad idea. And he didn't care about what work I actually did do.
My every interaction with him makes me angry. Whenever I -- or anyone else -- does something he doesn't approve of, seemingly no matter the reasoning, he makes it out to be a failure on their part, and like he can't trust them as much now.
Well I'm sorry we're trying to make sure our websocket works perfectly before putting it in the hands of our customers who rely on it for cash processing.
I'm sorry I'm trying to recall printers that aren't configured properly, which also prevent customers from using our goddamn service they're paying for.
I'm sorry I'm trying to learn how everything works while I still have someone to talk to and ask questions of.
I'm sorry I'm preparing for the day I have to take over and have you breathing down my neck. Once API Guy's gone I'll be responsible for everything, and you'll be yelling at me and having a @Root bashing session instead if I don't know how to fix everything right away.
But no. All you care about is that I talk to you about what's going in so you can micromanage development despite having zero fucking understanding of goddamn anything. All you ever fucking want is the next shiny feature you can push to make more sales / keep your current contacts happy. Doesn't fking matter if it makes development awful later; that's tomorrow's problem. And yet you have the gall to bash API Guy over and over and over again for the codebase being a mess? Sure he's a terrible programmer, but been putting up with this exact same shit for five years. No wonder it's a mountain of rancid hippo shit. That's as much your fault as his, asshole.
I'm so sorry you "have serious concerns" about me. I don't want to put up with your shit either.
Fuck off and die.22 -
Root has a deadline
I've been working on this CCPA ticket for awhile. Admittedly too long, but I'm new to the codebase and it's fucking sprawling. There has also been a lot of back-and-forth on the ticket.
Anyway, I've had a few blockers, such as how mailers work, the legal copy, where to put a admin-facing link to the dashboard, how to build the jira integration (and its creds), etc.
Quite awhile ago I asked Mr. Product, "Where should I put the ccpa dashboard link?" To which he responds: "I'll get you the answer today!" Awesome. Except he didn't. That day came and went without a peep. So, the next day I ask again: "Where should I put the ccpa dashboard link?" To which he responds: "I'll get you the answer today!" And that day comes and goes, too. I ask again, and you guessed it: "I'll get you the answer today." Repeat ad nauseam.
I also asked about the Jira integration and credentials. I got about the same treatment as above, but with a tiwst: they tell me to talk to / continue to bug Mr. H instead. Except Mr. H had been on PTO for weeks. Every time I ask, they keep referring me to him. A little over two weeks later (yesterday), I finally got a response from him. Yay! I was preoccupied with finishing the dashboard (which wasn't in the original ticket for some reason) so I didn't get a chance to look into it yet. After asking his boss three times, Mr. Product also finally (!!!) gave me a response on the link placement today, too! Though not directly: he discussed it with said boss in a group chat that I'm a part of, but never tagged me or told me directly. So, now I know where to put it (I think), but I have no idea how that area of the site is built (it's dynamic based on domain, login, and roles), so adding it will still be difficult.
The best part:
Today during standup, some lady I've only rarely seen before attends the meeting, doesn't say anything until the very end, and then announces that everything must be code-complete by tomorrow for release, and then promptly signs off.
For fuck's sake. I've had blockers on this for weeks, and now I need to finish it by fucking tonight?
I still don't know how to build the mailers (because translations and formats), nor how to actually send emails using them. I don't know how to modify the footer (dynamic, complex), how to add the admin-facing link (dynamic, complex), nor how build a Jira integration (haven't even looked yet). I just got unblocked on two of these fucking today. and it needs to be done and code reviewed by tomorrow?
No bloody way.
Maybe I should go back to my previous job. 😡rant root has a deadline traded my days for a pocketful of mumbles blockers deadlines nobody cares the boxer19 -
It's kind of neat knowing people who are famous for things I don't care about, and having their numbers / talking semi-regularly. They're a special person to so many others, but to me they're just some random person that's mildly annoying.
Like API Guy.
Freaking API Guy.
He's a millionaire musician who's adored by literally millions of people, but none of them know he writes absolutely terrible APIs, zero tests, rushes to the shiniest new things, and happily agrees to everything (often without listening) only to deny it later. Absolutely infuriating.
Or knowing one of Netscape founders as that strange and really terrible trumpet player with the great tequila. He did give me his copy of The C Programming Language (the bible) though. He was cool. Super weird, but cool.
It's just a strange feeling. I don't care, and yet others inexplicably think I should. I don't understand it. They're just people? idk.14 -
The bossman asked if our signup service sends an automated email after we successfully process someone's payment or when we promote them to full customer.
That sounds like a simple query, yeah?
Well.
Here's some background:
We have four applications; one in React, three in Rails. I'll replace their names to retain some anonymity.
1) "IceSkate" is the React app, and it's a glorified signup form. (I wrote this one.)
2) "Bogan" is the main application, and is API-only; its frontend has been long since deprecated by the following two:
3) "Bum" is a fork of "Bogan" that has long since diverged. It now contains admin-only tools.
4) "Kulkuri" is also a fork of "Bogan" that has long since diverged. It now contains tools specifically for customers, which they can access.
All but IceSkate (obv) share a database.
Here's how signups happen:
Signups come in from IceSkate, which hits a backend API on Bogan. Bogan writes the data to the database, charges the card immediately, and leaves the signup for moderation.
And here's how promotion from signup to customer happens:
Bum has a view allowing admins to validate, modify, and "promote" a signup to a full customer. Upon successful promotion, Bum calls "ServerWrap", a module which calls actions on the other applications; in this case: Bogan.
Bogan routes execution through three separate models before calling "ServerWrap" again, this time calling KulKuri.
Finally, KulKuri actually creates the customer!
After KulKuri finishes creating the customer, execution resumes on Bogan, which then returns, causing execution to resume on Bum. Bum then runs through several other models, references the newly-created customer object (as all three share a database), and ... updates the customer with its current data, and then updates the signup object. After all of this, it finally shows the admin the "new customer" view.
It took me 25 minutes to follow the chain of calls, and I still don't know quite what's going on. I have no idea if any of it sends an email or not -- I didn't see any signs of this, but I very easily could have overlooked something.
So, to answer bossman's question... I asked the accounting people if they send the email manually. If they don't, it's automatic, which means I missed something and get to burrow through that mess all over again!
I really hope I missed something; otherwise I need to figure out how and where (and when!) to send the email...
just...
errrrgghh9 -
Big "company summit" this week where everyone flies in and we discuss the future of the company (sadly not over drinks). I might be getting promoted with stock and pay increase, and allowed to hire another dev.
Yet, here I am, updating and sending out my resume, and hoping for something, anything.
A 30% raise wouldn't be enough to deal with all of this madness.15 -
Lost half a work day because of an ISP outage. (Testing mailers doesn't work without a connection)
Turns out it was a loose cable on our modem that happened to coincide with the ISP outage elsewhere.
Ugh.1 -
I've been working on updates to a react app for a few hours today. Everything's been peachy except this shit job, this inane change demand list, my headache, my lack of quiet places to work, ... okay, so basically everything is terrible. But I've done lots of builds, and made lots of progress.
Then suddenly: my build script failed. 30 seconds after a successful build, with no (tooling) changes in between.
Reason? Incorrect version of Sass.
How? Fucking npm.
Isn't package-lock.json supposed to prevent this crap?
FAKDLKAUSUK.13 -
Fucking URLs, people.
They're not hard.
If you're going to give me a bug report, TELL ME THE GODDAMN URL.
If, after yelling at you several times for not providing the url, you instead just fucking GUESS at the url, YOU'RE A GODDAMN BLITHERING IDIOT AND YOU'RE WASTING MY GODDAMN TIME.
ALT+D, CTRL+C or CMD+L, CMD+C
SO HARD. ASDFASDJGHLKASDHFLJKSGDFSKDFrant the bozo didn't even recognize a 404 page bug reports without urls screenshots without context urls bug reports blithering idiots6 -
I'm looking for a new job.
If anyone is hiring remotely or knows of somewhere that is, could you please let me know? 😊
(I'll be looking locally as well.)
Stack:
• Ruby+Rails
• Node
• Postgres/etc.
• React
• Angular 1.x
• Sass/Less
• MaterialUI, Susy
Timezone: GMT-733 -
Freaking tech support.
Freaking sparkhire.
Their 'one-way interview' bs only supports flash. Flash. in production. in 2019. Flash died years ago, and its support ends next year. What the crap?
Anyway, I finally decided I should do the interview since they already have all of my information anyway. Thanks, "privacy-conscious" third party. Totally appreciate it.
I spent half an hour and couldn't get flash working on their site (but all other sites were fine), so I contacted their support. I gave them all the relevant specs (inc. ofc browser), the steps to reproduce, and all of my attempts at fixing the issue.
To their credit, I recieved a response within a few minutes. To their discredit: their response was: "What browser are you using?" This question was followed by my report (including, ofc, my browser and all the other overlooked details), immediately followed by a "debugging info" section appended by their support service that also included my browser, os, and other specs.
Learn to fucking read.
Their suggestion? Use google chrome. Barring that: record your 20-30 minute video by holding your phone in front of your face the entire time. I am so not kidding.
They also asked what page i was having difficulty on. You guessed it: the page url was also included within that "debugging info" section.
It wasn't a form letter, either. I'd understand if it was all automated, but it was a real person who was really typing up the emails, and really didn't bother reading a damned thing.
I did end up getting flash working, but their "tech support" (script-reader) was entirely useless.17 -
(Written March 13th at 2am.)
This morning (yesterday), my computer decided not to boot again: it halts on "cannot find firmware rtl-whatever" every time. (it has booted just fine several times since removing the firmware.) I've had quite the ordeal today trying to fix it, and every freaking step along the way has thrown errors and/or required workarounds and a lot of research.
Let's make a list of everything that went wrong!
1) Live CD: 2yo had been playing with it, and lost it. Not easy to find, and super smudgy.
2) Unencrypt volume: Dolphin reports errors when decrypting the volume. Research reveals the Live CD doesn't incude the cryptsetup packages. First attempts at installing them mysteriously fail.
3) Break for Lunch: automatic powersaving features turned off the displays, and also killed my session.
4) Live CD redux: 25min phonecall from work! yay, more things added to my six-month backlog.
5) Mount encrypted volume: Dolphin doesn't know how, and neither do I. Research ensues. Missing LVM2 package; lvmetad connection failure ad nauseam; had to look up commands to unlock, clone, open, and mount encrypted Luks volume, and how to perform these actions on Debian instead of Ubuntu/Kali. This group of steps took four hours.
6) Chroot into mounted volume group: No DNS! Research reveals how to share the host's resolv with the chroot.
7) `# apt install firmware-realtek`: /boot/initrd.img does not exist. Cannot update.
8) Find and mount /boot, then reinstall firmware: Apt cannot write to its log (minor), listed three install warnings, and initially refused to write to /boot/initrd.img-[...]
9) Reboot!: Volume group not found. Cannot process volume group. Dropping to a shell! oh no..
(Not listed: much research, many repeated attempts with various changes.)
At this point it's been 9 hours. I'm exhausted and frustrated and running out of ideas, so I ask @perfectasshole for help.
He walks me through some debugging steps (most of which i've already done), and we both get frustrated because everything looks correct but isn't working.
10) Thirteenth coming of the Live CD: `update-initramfs -u` within chroot throws warnings about /etc/crypttab and fsck, but everything looks fine with both. Still won't boot. Editing grub config manually to use the new volume group name likewise produces no boots. Nothing is making sense.
11) Rename volume group: doubles -'s for whatever reason; Rebooting gives the same dreaded "dropping to a shell" result.
A huge thank-you to @perfectasshole for spending three hours fighting with this issue with me! I finally fixed it about half an hour after he went to bed.
After renaming the volume group to what it was originally, one of the three recovery modes managed to actually boot and load the volume. From there I was able to run `update-initramfs -u` from the system proper (which completed without issue) and was able to boot normally thereafter.
I've run updates and rebooted twice now.
After twelve+ hours... yay, I have my Debian back!
oof.rant nightmare luks i'm friends with grub and chroot now realtek realshit at least my computer works again :< initrd boot failure9 -
!!office drama
I haven't been around much in recent weeks. Due to family illness, christmas shopping, dealing with estranged parents, and brooding over the foregoing, I haven't had a lot of time or energy left to myself.
tl;dr: The CTO ("API Guy") is ostensibly getting fired, and I might be taking over his job. I don't know if I should accept, try to stave this off, or simply flee.
------
Anyone who has been following my recent rants knows that API Guy is my boss, and he often writes terrible code. It's solid and unbreakable, but reading it is a *nightmare.* One of our applications is half the length of Leo Tolstoy's War and Peace, and it's difficult to tell what code is live and what amounts to ancient, still-active landmines. This is one application; we have several, most of which I've never even looked at.
Ostensibly the code is so terrible because the company grew extremely quickly, and API Guy needed to cram in lots of unexpected / planned-against features. From what I can see, that seems about right, but I haven't checked timeframes [because that's a lot of work!].
Here's a brief rundown of the situation.
- API Guy co-founded the company with the CEO.
- CEO and API Guy have been friends for a long time.
- CEO belives the company will fail with API Guy as head of tech.
- They could just be testing me; I have zero way of knowing. API Guy seems totally oblivious, and CEO seems sincere, so this feels pretty doubtful.
- CEO likes pushing people around. CEO believes he can push me around. API Guy doesn't budge. (I probably won't, either, except to change task priorities.)
- API Guy's code is huge and awful, but functional.
- API Guy is trying to clean up the mess; CEO doesn't understand (maybe doesn't care).
- Literally nobody else knows how the code works.
- Apart from API Guy and myself, the entire company is extroverted sales people.
- None of these sales people particularly like me.
- Sales people sell and sell and sell without asking development if they can pull enough magic features out of their hat to meet the arbitrary saleslines. (because the answer is usually no)
- If I accept, I would be the sole developer (at first) and responsible for someone else's mountain of nightmarish code, and still responsible for layering on new features at the same pace as he. Pay raise likely, but not guaranteed.
- My getting the position is contingent upon the CEO and the investors, meaning it's by no means guaranteed.
- If I don't accept, likely API Guy will be replaced with someone else of unknown ability, who doesn't know the code, and whom I must answer to regardless. Potentially OK, potentially a monumental disaster.
Honestly, it feels like I'm going to be screwed no matter what course I choose.
Perhaps accepting is slightly better?
The best would be to assume the position of CTO and keep API Guy around -- but that would feel like an insult to him. I doubt he'd be okay with it. But maybe. Who knows? I doubt the CEO would seriously consider that anyway.
I feel like a lamb between a dim, angry rhino, and an oblivious one.23 -
tl;dr @Root refactors some spaghetti.
I'm refactoring an api that creates a support message. It's a post route.
When seeing a magic hardcoded message string, this route instead updates the user object, and does not create a support message.
It also returns different results if the user is muted (fine) or if saving the message succeeds or fails (fine).
But if the user is creating a duplicate message, it doesn't save the message (fine) and... redirects to listing their messages instead? Wat?
Also, when refactoring this (migrating to a new message backend), I discovered that not all routes return a response. If the message is a non-duplicate, from a non-muted player, from a non-redacted client, the route doesn't respond at all!
So, I'm having fun cleaning this up. I actually am. Except I'll need to support all of the legacy clients for the next lifetime or two. I mean, really. There are still people with Android v2 devices who are using this thing. not even kidding.9 -
Root gets ignored.
I've been working on this monster ticket for a week and a half now (five days plus other tickets). It involves removing all foreign keys from mass assignment (create, update, save, ...), which breaks 1780 specs.
For those of you who don't know, this is part of how rails works. If you create a Page object, you specify the book_id of its parent Book so they're linked. (If you don't, they're orphans.) Example: `Page.create(text: params[:text], book_id: params[:book_id], ...)` or more simply: `Page.create(params)`
Obviously removing the ability to do this is problematic. The "solution" is to create the object without the book_id, save it, then set the book_id and save it again. Two roundtrips. bad.
I came up with a solution early last week that, while it doesn't resolve the security warnings, it does fix the actual security issue: whitelisting what params users are allowed to send, and validating them. (StrongParams + validation). I had a 1:1 with my boss today about this ticket, and I told him about that solution. He sort of hand-waved it away and said it wouldn't work because <lots of unrelated things>. huh.
He worked through a failed spec to see what the ticket was about, and eventually (20 minutes later) ran into the same issues Idid, and said "there's no way around this" (meaning what security wants won't actually help).
I remembered that Ruby has a `taint` state tracking, and realized I could use that to write a super elegant drop-in solution: some Rack middleware or a StrongParams monkeypatch to mark all foreign keys from user-input as tainted (so devs can validate and un-taint them), and also monkeypatch ACtiveRecord's create/save/update/etc. to raise an exception when seeing tainted data. I brought this up, and he searched for it. we discovered someone had already build this (not surprising), but also that Ruby2.7 deprecates the `taint` mechanism literally "because nobody uses it." joy. Boss also somehow thought I came up with it because I saw the other person's implementation, despite us searching for it because I brought it up? 🤨
Foregoing that, we looked up more possibilities, and he saw the whitelist+validation pattern quite a few more times, which he quickly dimissed as bad, and eventually decided that we "need to noodle on it for awhile" and come up with something else.
Shortly (seriously 3-5 minutes) after the call, he said that the StrongParams (whitelist) plus validation makes the most sense and is the approach we should use.
ffs.
I came up with that last week and he said no.
I brought it up multiple times during our call and he said it was bad or simply talked over me. He saw lots of examples in the wild and said it was bad. I came up with a better, more elegant solution, and he credited someone else. then he decided after the call that the StrongParams idea he came up with (?!) was better.
jfc i'm getting pissy again.9 -
When I'm tired, I can't do a damned thing. If it takes effort or concentration, I'm useless. Games are just frustrating. If it's something enjoyable, I simply can't care enough to enjoy it. If I read a book, I can't focus on the words, and won't remember anything I read. If its mindless like watching Netflix, I won't remember the next day, or rather I'll remember just enough to ruin it for myself.
So why not sleep?
Because I've been feeling like this every day, all day long for months. No, that vile liquid called coffee doesn't help. If I rest my eyes and stop thinking for a few minutes, I wake up a little and can function normally for a minute or two before passing out again. I'm not depressed, or at least I don't think I am. I feel like my brain died or got replaced with a lizard's.
And this sucks because I'm still during the probation period at work, and learning the sprawling and intricate codebase is actually challenging. And they're giving me large tickets because I was a dummy and impressed them too much.
Idk what's wrong with me, but I hope it stops soon.
I miss being able to think and plan and do anything besides just struggle to stay awake. 😞16 -
Get assigned ticket.
Finish the most of the feature. Finish most of the specs.
Push.
Second dev wants to own accounting half of the ticket.
Rip out half my changes, rewrite specs.
Push.
Code review asks for minor changes.
Finish them.
Push.
Product creep creeps the scope.
Finish the feature again.
Push.
Product creep creep-creeps the scope.
Finish the feature again.
Push.
New release happens.
Merge in master; fix conflicts. Run specs; random unrelated specs fail, some fail intermittently. Rabbit holes of complicated, unexplored, obviously-flawed code.
Fuck that. Push.7 -
I worked for over 13 hours yesterday on super-urgent projects. I got so much done it's insane.
Projects:
1) the printer auto-configuration script.
2) changing Stripe from test mode to live mode in production
3) website responsiveness
I finished two within five minutes and pushed to both QA and Production. actually urgent, actually necessary. Easy change.
The printer auto-configure script was honestly fun to write, if very involved. However, the APIs I needed to call to fetch data, create a printer client, etc... none of them were tested, and they were _all_ broken in at least two ways. The CTO (api guy in my previous rant) was slow at fixing them, so getting the APIs working took literally four hours. One of them (test print) still doesn't work.
Responsiveness... this was my first time making a website responsive. Ever. Also, one of the pages I needed to style was very complicated (nested fixed-aspect-ratio + flexbox); I ended up duplicating the markup and hacking the styling together just to make it work. The code is horrible. But! "Friday's the day! it's going live and we're pushing traffic to it!" So, I invested a lot of time and energy into making it ready and as pretty as I could, and finally got it working. That page alone took me two hours.
The site and the printer script (and obv the Stripe change as well) absolutely needed to be done by this morning. Super important.
well.
1) Auto-configure script. Ostensibly we would have an intern come in and configure the printers. However, we have no printers that need configuring, so she did marketing instead. :/ Also, the docs Epson sent us only work for the T88V printer (we have exactly one, which we happened to set up and connect to). They do not work for the T88VI printers, which is what we ordered. and all we'll ever be ordering. So. :/ I'll need to rewrite a large chunk of my code to make this work. Joy :/
2) Stripe Live mode. Nobody even seemed to notice that we were collecting info in Test mode, or that I fixed it. so. um. :/
3) Responsiveness.
Well. That deadline is actually next Wednesday. The marketing won't even start until then, and I haven't even been given the final changes yet (like come on). Also! I asked for a QA review last night before I'd push it to production. One person glanced at it. Nobody else cared. Nobody else cared enough to look in the morning, either, so it's still on QA. Super-important deadline indeed. :/
Honestly?
I feel like Alice (from Dilbert) after she worked frantically on urgent projects that ended up just being cancelled. (That one where Wally smells that lovely buttery-popcorn scent of unnecessary work.)
I worked 13 hours yesterday.
for nothing.
fucking. hell.undefined fuck off we urgently don't need this yet! unnecessary work unsung heroine i'm starting to feel like dark terra.7 -
!code
I literally cannot get this computer to boot from ANYTHING other than its hard drive.
I want to boot from a usb flash drive, but the bios doesn't support that. it supports standard and 120mb floppies, ZIP drives, usb floppies, usb cd drives, etc. but not a generic USB drive. You'd think the bios developers would have heard of them back in 2012, but they also refer to Windows as "window os", so who knows.
I changed the boot order multiple times to include everything that might possibly include a usb flash drive, and then just tried all of the other options as well. No luck. Everything just booted straight to Windows.
Okay, that's not exactly unexpected, so I found a boot manager that allows booting to usb drives, and burned that to a cd. I made sure the boot order included "CDDRIVE" first (and "USB-CD" second just to be sure), and tried again. The bios refused to boot from the cd because it's in a cd/dvd drive, and cd drives are VASTLY different beasts than dvd drives, apparently. Like, it didn't even ask the drive to spin up! It just booted straight into Windows.
After a few more reboots (and quite a few middle fingers), my dvd drive magically appeared in the list of allowed boot devices. Why did it just show up now? No clue :/ I'm just happy it's there.
So, I pick that, save and exit, and wait for my shiny new boot manager to pop up. The cursor flashes a bit, moves around, and flashes some more. Then Windows starts loading.
what the crap? why?
So this time I disable booting from the hard drive altogether. In fact, I disable everything except the dvd drive, because screw this, and save/restart for the twelfth time.
Windows greets me.
Again.
What the hell?
At this point I'm tempted to unplug the friggin' drive. If Windows still greets me after that, I'm just going to check myself into an asylum and call it a life.
But seriously.
Either the boot manager in question is triple-faulting and the bios is transparently failing-over to the previous boot config (Windows), or said boot manager is just like "yolo!" and picks Windows anyway.
If a different boot manager doesn't work, I'm totally out of ideas.
Edit: disabling HD boot entirely and removing the boot manager cd also results in Windows loading. It's like the bios is completely ignoring my settings. :/16 -
!drunk (yet)
It's whiskey and code tonight!
(Whiskey because I couldn't get to my rum. annoyed face.)
Why? Because rum is so much better. duh.
More seriously: My boss has thrown me every single one his current tasks and is refusing to answer simple questions about them, such as "oh, so you already know about this bug; what's the cause?" or "how do i test this once i've fixed it?" or "where the fuck are you?"
and I'm also getting lots of bugs from other people. They're all basically categorized "urgent, please fix immediately" but should instead be categorized "super-boring and not-at-all-important, and should get fixed on the off chance you happen to remember it next year". That's the best category of bug.
I just gave up on fixing a Rails pluralize bug which fits into the aforementioned category quite nicely. It's returning "2x round of golves" -- which is hilarious and I might leave it in just for the amusement. But now it's back to fighting with ActionCable! Everything has been getting in the way of me finishing that. I'm about to start biting.
Speaking of ActionCable, it turns out my code wasn't wrong after all (have I said that yet?). Since the official documentation and examples suck, I've been digging through the (generated) javascript source and working my way backwards to learn how to use it. I cleaned up my code a little, but it was still correct. The reason nothing is working correctly is that API Guy gave me broken code. ...Again! Go figure. So I'll be rewriting that today. or tomorrow. (Whiskey, remember?)
I also have some lovely netcode to debug and fix. So totally not looking forward to that. The responses are less bloody reliable than my boss's code ffs. *grumble grumble*8 -
"Mature codebase"
"Our entire team are senior devs"
"Almost everyone that worked on the project is still here and available, so nothing's lost! We can ask whatever we need to."
You would think this would mean the code was clean and easy to read, and you could ask the person who wrote it for help. But. no. It's kinda the opposite.
Here's an example:
I'm trying to write a mailer, and I have no freaking clue how to get it working. I talked with two of the more senior devs, and both assured me it was very straightforward, and then walked me through the quite complicated mailer structure and got lost. The first pretended not to, but glazed over a few holes in his tour, and said I could figure the rest out. The second one ended up admitting that he's totally unfamiliar with it -- his last commit on a mailer was from about 8 years ago -- and doesn't know how to get it working anymore.
So, I'm on my own.
I wrote a super basic mailer for debugging (no idea if/how it actually sends a mail, but I think I can construct one?). But whenever I call the mailer, it gets run twice? Somehow? Apparently I need to start a bunch of daemons to get that part of the system to work. Which is cool because they don't work fresh out of the repo. Got some further help, and now my ostensibly working code throws errors for an undefined var that i'm not even using, and to make it easier: without a backtrace. joy! There's so much inheritence and extending and including going on that it's going to take me hours to track this down. ugh.
I'm keeping my paystub in front of me for some desparately needed motivation.13 -
I spent an hour arguing with the CTO, pushing for having all our new products' data in the database (wow) with an API I could hit to fetch said data (wow) prior to displaying it on our order page.
He never actually agreed with me, but he finally acquiesced and wrote the migrations, API, and entered my (rather contrived) placeholder data. (I've been waiting on the boss for details and copy for three days.)
Anyway, it's now live on QA. but. I don't know where QA is for this app, and it's been long enough that i'm kind of afraid to ask.
Does that sound strange?
well.
We have seven (nine?) live applications (three of which share a database), and none of their repos match their URLs, nor even their Heroku app names. (In some of these Heroku names, "db" is short for the app's namesake, while in the rest it's short for "database").
So, I honestly have no idea where "dbappdev" points to, and I don't have access to the DNS records to check. -.-
What's more: I opened "dbappdev" on Heroku and tested out his new API -- lo and behold! it returns nada. Not a single byte. (Given his history I expected a 500, so this is an improvement, I think. Still totally useless, however.)
And furthermore: he didn't push the code to github, so I cannot test (or fix) it locally.
just. UGH.
every day with this guy, i swear.16 -
FUCKING WAITING FOR PEOPLE FUCKED ME OVER AGAIN. WHO WOULD HAVE FUCKING GUESSED?!rant lesson repeats until lesson learned lesson: leave slow people behind root doesn't get insurance now14
-
Preface: i'm pretty... definitely wasted. rum is amazing.
anyway, I spent today fighting with ActionCable. but as per usu, here's the rant's backstory:
I spent two or three days fighting with ActionCable a few weeks ago. idr how long because I had a 102*f fever at the time, but I managed to write a chat client frontend in React that hooked up to API Guy's copypasta backend. (He literally just copy/pasted it from a chat app tutorial. gg). My code wasn't great, but it did most of what it needed to do. It set up a websocket, had listeners for the various events, connected to the ActionCable server and channel, and wrote out updates to the DOM as they came in. It worked pretty well.
Back to the present!
I spent today trying to get the rest to work, which basically amounted to just fetching historical messages from the server. Turns out that's actually really hard to do, especially when THE FKING OFFICIAL DOCUMENTATION'S EXAMPLES ARE WRONG! Seriously, that crap has scoping and (coffeescript) syntax errors; it doesn't even run. but I didn't know that until the end, because seriously, who posts broken code on official docs? ugh! I spent five hours torturing my code in an effort to get it to work (plus however many more back when I had a fever), only to discover that the examples themselves are broken. No wonder I never got it working!
So, I rooted around for more tutorials or blogs or anything else with functional sample code. Basically every example out there is the same goddamn chat app tutorial with their own commentary. Remember that copy/paste? yeah, that's the one. Still pissed off about that. Also: that tutorial doesn't fetch history, or do anything other than the most basic functionality that I had already written. Totally useless to me.
After quite a bit of searching, the only semi-decent resource I was able to find was a blog from 2015 that's entirely written in Japanese. No, I can't read more than a handful of words, but I've been using it as a reference because its code is seriously more helpful than what's on official Rails docs. -_-
Still never got it to work, though. but after those five futile hours of fighting with the same crap, I sort of gave up and did something else.
zzz.
Anyway.
The moral of the story is that if you publish broken code examples beacuse you didn't even fking bother to test them first, some extremely pissed off and vindictive and fashionable developer will totally waterboard the hell out of you for the cumulative total of her wasted development time because screw you and your goddamn laziness.8 -
Man, this guy is fking useless.
I'm learning something new and ask him for help; he both mishears and confuses topics, so his explanations only ever make things worse. 😧6 -
There's a hole in the world like a great black pit
and the scum of the world inhabit it
and its morals aren't worth what a pig can spit
and it's filled with people who are filled with shit
and it goes by the name of EU...
At the top of the hole sit a privileged few
making mockery of the vermin in the lower zoo
turning beauty to filth and greed...
by passing shit like article 11, 13, and 17.
for the corruption of men is as wondrous as Perurant article 13 license: poetic probably illegal in the eu now joke/meme musicals are the best eu article 11 lyrics article 17 sweeny todd5 -
I just got stood up by a hiring manager.
This person emailed me directly and said (paraphrased) "I found your resume on StackOverflow and you look perfect for a lead software engineer position at [semi-big-name company]. [...] If you're interested, book some time on my calendar for a call."
So I did, and got a confirmation back. Exciting!
I called into the hangout conference at the specified time, and... well, so far it's been twenty-three minutes of listening to some faux-melodic chimes and Google's faux-soothing voice saying "You have joined the call but you are the only one here!"
ugh.
the search continues.rant stood up again if you look to your left you will see root's job safari adventures easy way to tell i shouldn't work there chris the blithering idiot6 -
Legacy code.
Honestly though, this is some of the better legacy code I've worked with at this company. It's a nifty alert system wherein you can trigger sending messages to subscribers of that alert via whatever means (phone/email) they've entered.
I'll save you the technical analysis of its internals, but suffice to say it's actually pretty nice, with good separation of concerns, internal logic hidden away, dead-simple public interface, etc. documentation is kinda crap, but it exists (!), so that's a nice change.
but.
For some unknown and bloody bizarre reason, the thing breaks when a user wants both sms AND email notifications. Either by themselves work totally fine, but both together? nonono. Email alerts give ArgumentErrors, so something internal isn't correct, and SMS alerts complain about uninitialized Twilio::Error constants.
but.
they both work fine otherwise?
also, the two notification preferences aren't stored on the same object anywhere. if a user wants both, the user creates two AlertContact objects with different info, and when performed, the Alert basically iterates over these and does its thing for each, so there is no knowledge shared between them. totally should work the same regardless.
idfgi.
ALSO.
AND THIS PART REALLY PISSES ME OFF.
WHEN THERE'S AN ERROR, THIS THING DOESN'T LOG IT. IT STRINGIFIES THE ERROR OBJECT (basically just extracting the message) AND INSERTS THAT INTO THE DATABASE INSTEAD. WHAT THE CRAP.
So, I don't get a stack trace, line number, or anything. just the basic error message. instead of my alert text. because of course that makes sense and totally helps debugging.
aklsjfak;sldfj.
legacy code.5 -
The company got a new office just in time for the "company summit".
I checked out the address on Google maps. It's a cinderblock building with the number spraypainted on the side, a battered cyclone fence in front, a cyclone gate off to the right side (apparently falling off) leading to a random battered shed, and immediately on the left is a dental office with bars on the windows. Also, the fence has spikes on top.
I'm terrified.rant i don't want to go i'm actually a little scared everything else and this too i'm going to finish my feature and quit what the hell scary11 -
I realized this week that my CPU is almost 12 years old!
It's an AMD FX-8150 8core @3.6 (recently overclocked to 4ghz). It's still a good chip for my needs, but eep. I had no idea I bought it that long ago.
I really want to replace it, but that would require a new mobo, too. which I suppose wouldn't be a bad thing...
------
Unpopular onion:
AMD was comparable to (and occasionally better than) Intel before, but now? Ever since they bought ATI, they've just spiraled: virtually everything they've produced has lagged behind.
However: the Ryzen seems to break this trend, so maybe there's hope yet?undefined ryzen anachronism much? cpu intel seriously though: gtx970ssc + amd8150? 8150 unpopular onion he's a dorky one outmoded tech amd11 -
Running a huge migration on our production db.
Takes 45+15 minutes (migration+tests) on my lappy. So. I'm going to be bored and slightly worried for the next hour.
Hopefully the production servers will be faster.7 -
So, I'm using a new MacBook Air (running Sierra), and while I'm still getting used to it (especially the different Sublime hotkeys), overall it really is quite wonderful. I particularly love the magic touchpad and ease of scrolling/swiping between desktops.
However, I ran into an issue this morning that gave me pause: apparent file caching.
My webpack setup auto-compiles my project when files change, and I noticed something was causing errors -- not really surprising since I was in the middle of fixing the project last night. However, the error it displayed wasn't something I was expecting, and referenced a line I was positive I had removed several hours before calling it a night. Whatever, I was probably mistaken, so I went to remove it.
... It wasn't there.
I double checked that I was looking at the right file. Yep, src/styles/header.scss -- that's the correct file. Figuring webpack was acting up, I killed and restarted it.
Same error.
So whatever, maybe Sublime cached it. Rather unexpected, but possible, and I am on a mac now... so maybe. So, I closed the file and reopened it. The line wasn't there. I did this twice more. It STILL wasn't there. Maybe I'm going crazy...? I checked the file with cat. The line was there. I checked with vim. The line was still there.
OKAY. I've seen a lot of people with beef with Sublime, and I often defended it. but maybe they're actually right. maybe Sublime really isn't the way to go. :( So, I killed and reopened Sublime, and I checked the file again.
The line STILL ISN'T THERE.
Maybe I'm going crazy? I double, triple, quadruple checked the path. all correct.
Alright; let's try again and make sure I do it properly. I closed everything I had open in sublime (two projects), and quit. I reopened Sublime, navigated to the correct path, and reopened the file...
The offending line STILL wasn't there.
I'm angry at this point and just mash the keyboard. I save the resulting garbage, and cat the file again. No visible changes.
KAJSFLK STUPID PIECE OF <redacted>
okay, whatever. Reboots fix everything, right? So I reboot, and keep the option to re-open everything again ticked.
The terminal comes back up, along with half(?) my browsers, but Sublime doesn't. grrrrrrr.
so I cat the damn thing.
GUESS WHAT.
THE GARBAGE IS THERE.
Sublime was doing its job. BUT EVERYTHING ELSE FAILED.
(Oh Sublime, why did I ever question you? 💚)
... but seriously, what the fuck could have caused that? Was the OS caching the file for some programs, but not others? Now I'm questioning the macbook...23 -
Material-UI.
I'm exhausted, so I'll keep this short.
I changed a TextField to a TimePicker, and noticed my className prop didn't apply anymore.
I thought it was my mui/redux-form wrapper for that component since I had just written it, but that was basically a straight copy/paste from the other wrappers, and both receives and passes the prop just fine.
After a lot of fighting, I finally found a workaround: if I add a `data-work-you-piece-of-garbage` prop alongside it, only then will the className show up on the rendered element. Why? I have no freaking clue. I tested it three times and got the same results. I looked through the MUI source and it still doesn't make any sense.
Fucking whatever, only three hours wasted.13 -
I finally got Redux-Form’s `initialValues` to work! Wooooo~!
/giphy confetti cheering
It turns out I haven’t actually been doing anything wrong for the past week. I mean, I've been working on other things during that week, too, but I've been trying to solve this the entire time.
The cause? ReduxForm made a breaking change awhile ago (v5; we’re using v7) that prevents the `initialValues` prop from working if you decorate your form component in the wrong order. Many examples online are incorrect because of this.
Basically, the decorators `reduxForm` and `connect` do not commute:
Incorrect:
`reduxForm(...)( connect(..., {...})(form) )`
vs Correct:
`connect(..., {...})( reduxForm(...)(form) )`
But what really pisses me off is that the fucking documentation specifically fucking states that you may decorate your component IN ANY [FUCKING] ORDER.
/giphy that is [fucking] false
So, I've been following example after [fucking] example that either list these in the wrong order, or I just don't notice the different order because it doesn't matter. AND because of that NONE OF THE [...] EXAMPLES WORK.
ARGH.
I've been pacing around the office trying to figure this out for days. I've rewritten my code three times to try to solve this. I've written two workarounds for it only to rip them out and try again because they both broke some other part of the UX. (e.g. causing false validation errors after rerender)
just. hafhsldkjhgjkhagklwhsdjfkahslf. 😡
/giphy angry hades
You know how I discovered this?
I found it in a github ticket. One solitary, untagged ticket from October of last year. Not a single goddamn post anywhere else mentioned this. And the [...] documentation specifically [...] states the [...] opposite!
Bloody [...] hell.
but it finally works.
as;kgjhaekl;gahgjkdflssdafh.
I could scream.6 -
When there is no automatic way of checking if you software update came through correctly and no personal is in the building so you have to boot 421 PCs.7
-
Crappy day, entirely related to cars and trucks and other wheeled implements of doom and annoyance.
My car died this morning.
It has been slowly dying for weeks in a very unusual way (something electrical; we're not sure what), but today it finally gave up and just wouldn't start anymore.
We replaced the crap battery (it had been a crap freebie from my parents), which fixed the not-starting issue for now, but it still has lots of other problems. Fluid leaks, disintegrating paint, some lights suddenly or randomly not working, super long clutch distance, sporadic grinding sounds, shifter randomly not engaging, pieces literally falling off, bits of the interior breaking (like the driver's side door handle), the wiper sprayers bloody missing the windshield, etc., etc., etc. My poor, poor car. It was super cheap, and I've had it for a long time, so I'm not surprised, but. I love my car, so it makes me really sad. ☹
Anyway, we finally got the car starting again, and I drove to work about four hours late. I had worked super late the previous night (11:45pm), and had let my boss know already, so whatever.
As for the trip, I work ~40 minutes away, and with the poor quality of drivers here there's usually something dumb happening. Today... well. Today was one of the bad days.
Someone was in the fast lane doing 50mph. The usual speed of traffic is 80mph. They got annoyed whenever someone passed them. Minor, but worth including.
Later on, people slowed way down and gawked at... a port-a-potty. Seriously, a port-a-potty. It was on the shoulder where there had been some construction, so it's not surprising or anything. People seriously dropped from 80mph down to 20mph just to stare at this thing, and it wasn't even occupied or anything. It was just a port-a-potty! There was nothing else around! What could possibly be so interesting?!
There was also a random Penske (moving) truck doing 35mph on the freeway holding up traffic like 10 minutes later; no idea why. Traffic usually does ~70mph there. No blinkers or anything, it was just being slow and causing everyone to go around in a pretty traffic-heavy area.
The truck in front of me for ~40% of the trip kept waiting way too long to stop, and would then slam on the breaks. I almost hit him twice because of this, and I couldn't see around him, either. It was some giant pickup staying just in the wrong spot. I ended up driving partially in the shoulder so I could gauge when to stop by the car in front of him. He slammed on the breaks like twelve more times before he finally left. Jerk.
The same thing happened again like 85% of the way to work, but this time it was a different pickup, and there was a semi was behind me, which obviously couldn't stop very quickly. Fortunately for both of us, there was a gap in traffic to my right, so I slipped out of the way before getting squished. ><
Bloody hell.
Today has not been fun.
Nobody flipping me off or was doing their damnedest to prevent me from changing lanes today, though, so I suppose it could have been worse. Also I didn't die, so there's that.3 -
!dev
!!vodka!
!batch files. because they're stupid.
Preface: I may be drunk. If not, I'll keep trying ~
Update: no, i'm already kinda wasted.
I told @AlexDeLarge that I would try Reyka today and let him know how it is. So, let's have at it!
At the recommendation of a friend, I tried Deep Eddy (vodka) a few weeks ago. It's extremely smooth and very good. Totally recommend. I can drink it straight, or with a tiny bit of water.
The same friend also recommended Reyka, which I bought earlier today (among quite a few other things, because alcohol). Here's what I discovered:
With Reyka, I was expecting something extremely smooth and almost tasteless, but tasteless it is not. Reyka tastes halfway between vodka and a good gin, like Bombay Sapphire. It actually has a *lot* of flavor, but the vodka itself is actually pretty high quality. I haven't found anything to mix with it yet, and I don't really like it straight. I might try lemon or lemonade next.
If I was to recommend vodkas, it would be either Tito's, or Deep Eddy. (Reyka is kind of strange, so I don't know if I can recommend it yet.)
Tito's is smooth and tasty -- absolutely not a gross vodka flavor, but ... nice. All alcohols have different effects and make me feel different. Grey Goose makes me tired, Tito's makes me happy.
Deep Eddy is incredibly smooth, and has almost no taste at all. It's wonderful.
UPdte: I took awhilfe to wrte this and... I'm getting a little tooo drunkt o conitinue so i thnkg oin going to nd this rannt here. ssorry! ^^7 -
!rant
... ahem.
I CAN TYPE IN THE BOX
AND IT SHOWS UP
AND IT STAYS THERE
WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO!!6 -
So I'm back from vacation! It's my first day back, and I'm feeling refreshed and chipper, and motivated to get a bunch of things done quickly so I can slack off a bit later. It's a great plan.
First up: I need to finish up tiny thing from my previous ticket -- I had overlooked it in the description before. (I couldn't test this feature [push notifications] locally so I left it to QA to test while I was gone.)
It amounted to changing how we pull a due date out of the DB; some merchants use X, a couple use Y. Instead of hardcoding them, it would use a setting that admins can update on the fly.
Several methods deep, the current due date gets pulled indirectly from another class, so it's non-trivial to update; I start working through it.
But wait, if we're displaying a due date that differs from the date we're actually using internally, that's legit bad. So I investigate if I need to update the internals, too.
After awhile, I start to make lunch. I ask my boss if it's display-only (best case) and... no response. More investigating.
I start to make a late lunch. A wild sickness appears! Rush to bathroom; lose two turns.
I come back and get distracted by more investigating. I start to make an early dinner... and end up making dinner for my monster instead.
Boss responds, tells me it's just for display (yay!) and that we should use <macro resource feature> instead.
I talk to Mr. Product about which macros I should add; he doesn't respond.
I go back to making lunch-turn-dinner for myself; monster comes back and he's still hungry (as he never asks for more), so I make him dinner.
I check Slack again; Mr. Product still hasn't responded. I go back to making dinner.
Most of the way through cooking, I get a notification! Product says he's talking it through with my boss, who will update me on it. Okay fine. I finish making dinner and go eat.
No response from boss; I start looking through my next ticket.
No response from boss. I ping him and ask for an update, and he says "What are you talking about?" Apparently product never talked to bossmang =/ I ask him about the resources, and he says there's no need to create any more as the one I need already exists! Yay!
So my feature went from a large, complex refactor all the way down to a -1+2 diff. That's freaking amazing, and it only took the entire day!
I run the related specs, which take forever, then commit and push.
Push rejected; pull first! Fair, I have been gone for two weeks. I pull, and git complains about my .gitignore and some local changes. fine, whatever. Except I forgot I had my .gitignore ignored (skipped worktree). Finally figure that out, clean up my tree, and merge.
Time to run the specs again! Gems are out of date. Okay, I go run `bundle install` and ... Ruby is no longer installed? Turns out one of the changes was an upgrade to Ruby 2.5.8.
Alright, I run `rvm use ruby-2.5.8` and.... rvm: command not found. What. I inspect the errors from before and... ah! Someone's brain fell out and they installed rbenv instead of the expected rvm on my mac. Fine, time to figure it out. `rbenv which ruby`; error. `rbenv install --list`; skyscraper-long list that contains bloody everything EXCEPT 2.5.8! Literally 2.5 through 2.5.7 and then 2.6.0-dev. asjdfklasdjf
Then I remember before I left people on Slack made a big deal about upgrading Ruby, so I go looking. Dummy me forgot about the search feature for a painful ten minutes. :( Search found the upgrade instructions right away, ofc. I follow them, and... each step takes freaking forever. Meanwhile my children are having a yelling duet in the immediate background, punctuated with screams and banging toys on furniture.
Eventually (seriously like twenty-five minutes later) I make it through the list. I cd into my project directory and... I get an error message and I'm not in the project directory? what. Oh, it's a zsh thing. k, I work around that, and try to run my specs. Fail.
I need to update my gems; k. `bundle install` and... twenty minutes later... all done.
I go to run my specs and... RubyMine reports I'm using 2.5.4 instead of 2.5.8? That can't be right. `ruby --version` reports 2.5.8; `rbenv version` reports 2.5.8? Fuck it, I've fought with this long enough. Restarting fixes everything, right? So I restart. when my mac comes back to life, I try again; same issue. After fighting for another ten minutes, I find a version toggle in RubyMine's settings, and update it to 2.5.8. It indexes for five minutes. ugh.
Also! After the restart, this company-installed surveillance "security" runs and lags my computer to hell. Highest spec MacBook Pro and it takes 2-5 seconds just to switch between desktops!
I run specs again. Hey look! Missing dependency: no execjs. I can't run the specs.
Fuck. This. I'll just push and let the CI run specs for me.
I just don't care anymore. It's now 8pm and I've spent the past 11 hours on a -1+2 diff!
What a great first day back! Everything is just the way I left it.rant just like always eep; 1 character left! first day back from vacation miscommunication is the norm endless problems ruby6 -
My project at work (an electron/angular desktop app) has an exceedingly rare bug that causes it to crash-to-desktop while loading. Nothing about the bug makes sense, and there's no way to catch or detect it until the next run, and it happens 100% of the time for affected users.
There have been six confirmed cases so far (out of 500k+ users), and nothing linking them together. None of the fixes discovered by those users have worked for other affected users.
The worst part?
I was the first of those cases. I inadvertently fixed it for myself and haven't been able to reproduce it since.
I'm stumped!19 -
Blehh
I just cannot stop falling asleep today.
Fortunately I finished all of my important work last week, so all I have left is trivialities. But I would still prefer being awake and chipper!7 -
I'm investigating PRs for a super legacy codebase. Someone else already approved the PRs -- somebody who has never even run the code or had the project set up before.
The codebase hasn't been touched in two years, and it hasn't been updated in four. It's using CoffeeScript, Node v0, Electron v0.30, and Angular 1.x. I obviously don't have a dev environment anymore, either, and my previous dev env was on Windows, so I'll have to translate my custom build utilities from batch to bash (or much more likely: node).
To make matters worse: the PRs break both the initial project setup and the project itself (NPM can no longer find some installed packages, among other problems). And. someone already merged them into master. So: fuck.
I'm going to yell at the author and tell him to fix his shit. Why? Because when I check out my last commit prior to his PRs, everything works perfectly. Surprise!
I was so done with this project two and a half years ago. I'm still so done with it. I just don't want to maintain this anymore, or honestly even look at it. I would happily rebuild the project from scratch, but updating it from the days of IE8? No way.9 -
> pic related
This is what I've been putting up with on my personal machine for months.
tl;dr: Suggestions for a wlan card/adapter for Debian9? My current RealTek wnic is barely functional, and my replacement (a TPLink... something) is completely incompatible.
I don't need anything super fancy, though I would ofc love support for AC/AD if at all possible.
I don't care (too much) about price, since I'm only going to buy one and very likely won't replace it for years.
------
I'm running Debian9 and have a have a RealTek card. Even when it's not arbitrarily dropping packets like in the screenie, it randomly caches them for up to 90 seconds and dumps them hilariously out of order. I can't play games like that. I can barely even browse devRant. Steam goes offline about once every 30 seconds, and therefore spams all of my friends with online/offline notifications. Streaming "works" on good days. Git works fine, however, so most days I don't notice the connection issues.
And yes, I'm using a community-patched driver (rtl8188ce) that's supposed to fix some of RealTek's more major screwups and increase the transmit power by ~20x. The driver helps, but only a little.
I've done some reasearch on wlan linux support, but haven't found anything very reassuring. Mostly just forum posts saying things like "Intel cards usually work fine!" I don't want to gamble. I just want to buy a card that will work and be done with it. :(
Suggestions? Insight?12 -
Pressing every key on your keyboard because you don't remember how to open the boot option menu
You know we all do that.7 -
Worst black friday specials ever.
I'm really not a fan of the "holiday" anyway, but I found basically nothing I wanted. 🙄
Also: I'm trying to find a nice RGB keyboard with green cherries. Any suggestions on where to look? I've found one site that makes custom keyboards (wasd), but theirs aren't RGB. ☹ I want purple/pink backlighting damnit!14 -
FUCKING GODDAMN TIZONIA RANDOMLY RESETTING MY FUCKING VOLUME TO MAX ADSFJAIETWANKNGBAIWOUFJHSLDÅKG3
-
Poorly written docs.
I've been fighting with the Epson T88VI printer webconfig api for five hours now.
The official TM-T88VI WebConfig API User's Manual tells me how to configure their printer via the API... but it does so without complete examples. Most of it is there, but the actual format of the API call is missing.
It's basically: call `API_URL` with GET to get the printer's config data (works). Call it with PUT to set the data! ... except no matter what I try, I get either a 401:Unauthorized (despite correct credentials), 403:Forbidden (again...), or an "Invalid Parameter" response.
I have no idea how to do this.
I've tried literally every combination of params, nesting, json formatting, etc. I can think of. Nothing bloody works!
All it would have taken to save me so many hours of trouble is a single complete example. Ten minutes' effort on their part. tops.
asjdf;ahgwjklfjasdg;kh.5 -
When your specs simply won't run new code no matter what you do, non-conditioned (and unmodified) calls don't get called, and 2+2 somehow equals Q, you know it's time to give up and restart the simulation by going to bed.
Except it's early afternoon and the project deadline is tonight. 😔
Back to debugging reality.11 -
I'm the only developer in my company. I am a "junior dev" who started working like 6 months ago. Safe to say I am not well experienced and have a lot to learn in this journey. Due to this pandemic, my bosses who have been flaunting their wealth have started making losses and now needs to find another way to get money. Mind you, the company I work with is a marketing firm.
So what the bosses thought of doing was creating a delivery service due to the current situation. It is not their field but since they still need to show people they are the rich people, they need money either way. Since I'm the only developer in the company I've to make this application. I've to make an Android and iOS app with a back-end and an admin portal all in 1 month. My pay is shit and by shit I mean less than even 700 USD. I've not done a project like this before so there would be a learning curve as well. And there is no one to guide me either.
They think just because they have hired one developer anything development related is settled and I will do everything no matter how big or complicated or how shitty my salary is.
The feature list is a whole system, like it is so complicated that someone could really make their own company just to work on that application. It's HUGE.
I'm thinking of saying no I can't do this shit. But just wanted to see what some more experienced devs say about this. I've attached the features list in the rant.49 -
After eating nothing but fresh food/ingredients for the past year, I ordered a carne asada burrito from Cafe Rio. I remember liking them, and it tastes just like I remember, but I'm amazed at how little flavor it has by comparison. It's maybe a third as flavorful as my salads? A quarter? ☹
Eating well really spoils you.5 -
My superpower:
The ability to work on huge, complex projects/features without ever getting burned out.
In lieu of that, foregoing the need to sleep! -
Please fix this @dfox :<
When opening devRant after having my phone locked for awhile, the app freezes for 30-180 sec. It usually recovers, but not always. It's painful 🙁18 -
My phone is finally giving up.
It's broken beyond repair, and the screen is starting to fail completely. I managed to fix it enough to pull my data off, and post this.
It's been my reliable companion for years, and we've gone through a lot together. You will be missed, Glassy. 🙁13 -
This feature I'm building requires crossing over to a second application for some actions (fair, this reduces repetition), but the method used for it is kind of ridiculous.
To keep with the existing patterns, I followed suit, and added two PATCH and a DELETE routes, wrappers, and calls. (Typical CRUD + de/reactivate).
But. This freaking halfassed HTTP model doesn't support anything but POST and PUT! wtf. (Also, the various IDs, naming schemes, and required json data/formats differ across view, controller, and endpoints. but whatever?)
Two and a half hours later, and the feature is done and works wonderfully. Four times the functionality of the previous incarnation, and the code is only about 25% longer! haha.
Ahh, I'm complimenting myself again. (but somebody has to, right? 😅)
but really, when i want to get something done i'm actually surprised at how quickly it all comes together. Even when I need to patch API Guy's madness.
(and this time I actually found someone else's code in the mess! It was actually worse!)
I suppose taking a day off yesterday did me some good.rant double entendres are the best rest after rest root compliments herself expanding someone else's crud1 -
Debian 9.3's gpg issue is driving me crazy! I can't install anything outside of the default apt repos no matter what I try.
No matter what, apt always does the exact same thing. It adds the repo; then finds, imports, and processes the key; and finally fails with "gpg: no valid OpenPGP data found."
I've spent hours looking this up and trying to fix it.
Just. ARGH!
☹12 -
1) Schedule an hour for the meeting.
2) Tell attendees that any excess time will be for SSBB throwdowns. Fastest meeting ever.
Oh, you asked about being productive?
Making both Adam from frontend and Karen from HR cry at the same time is productive enough for me. 😊4 -
Cool, so it looks like updating my nVidia drivers somehow killed LUKS on my machine? or whatever happens immediately after decrypting the volume group; honestly can’t tell.
To the uninitiated, this means my machine no longer boots. Like, at all.
Looks like I’m spending tomorrow reverting. 😕11 -
Me and my friend in class:
My friend: my computer won't boot can you do something ?
Me: *looks at the screen*
*see he is in the bios*
*press CTRL+ALT+DEL*
*computer reboots into windows*
My friend: :02 -
My weekend full of exhaustion and sleep is drawing to a close. Time to start a week full of exhaustion and struggling to stay awake at work.10
-
My rants have been too long lately. Have some distilled ire instead.
Fuck computer gremlins.
Fuck non-deterministic BS.
Fuck shit working the third fucking time I try it with no changes in between.
Fuck MojoJojoing
Fuck ExecJS laoding only half the time
Fuck RubyMine for fucking up seven times a fucking day.
And fuck this dev environment!
I just want to fucking work!
adfjlkasdly16 -
This freaking laptop.
The WiFi randomly stops working -- and by that, I mean the hardware is no longer detectable, let alone functional. It simply disappears on boot, even from dmesg.
The same happens with audio and bluetooth: on some boots they simply do not exist.
The power usage is also ridiculous: the battery dies in about two hours, and it gets soo hot. Toasty wrists unless I use my tiny bluetooth keyboard ☹ So I need to fiddle with powertop a bit more.
nVidia drivers are also a bloody pain, and having two graphics cards this is even more difficult to set up. I still haven't managed. (nvidia-driver, bumblebee, optimus, official driver messes, manual xorg configs, ...). So I have a beautiful 4k built-in display running at 4-18 fps, and a non-functional 4k external. That's fine for now, but >.>; frustrating.
In better news! I just managed to get the sound to work by backporting the new 4.19 kernel (yay!) -- I have never been so happy to hear an ad. but fixing the sound killed my bluetooth. (The `bluetooth` utility reports the adapter is present, but nothing else can seem to see it 🙄) So now I'm going to have burning hot wrists all day and want to cry because terrible sweaty awfulness.
Just. It's frustrating.
It's fast, though.
and ever so pretty.28 -
Rails console:
> `ModelOne.joins("ModelTwo")`
# => ActiveRecord::StatementInvalid (Mysql2::Error: Unknown table 'database_name.model_ones')
MariaDB:
> `select count(*) from database_name.model_ones`
# => 13274641
It's right there, ffs4 -
!rant
!!devRant
Is it just my device, or are images not loading?
I've seen maybe ten image posts today, and only the Firefox one would load.4 -
tl;dr:
The Debian 10 live disc and installer say: Heavens me, just look at the time! I’m late for my <segmentation fault
—————
tl:
The Debian 10 live cd and its new “calamares” installer are both complete crap. I’ve never had any issues with installing Debian prior to this, save with getting WiFi to work (as expected). But this version? Ugh. Here are the things I’ve run into:
Unknown root password; easy enough to get around as there is no user password; still annoying after the 10th time.
Also, the login screen doesn’t work off-disc because it won’t accept a blank password, so don’t idle or you’ll get locked out.
The lock screen is overzealous and hard-locks the computer after awhile; not even the magic kernel keys work!
The live disc doesn’t have many standard utilities, or a graphical partition editor. Thankfully I’m comfortable with fdisk.
The graphical installer (calamares) randomly segfaults, even from innocuous things like clicking [change partition] when you don’t have a partition selected. Derp.
It also randomly segfaults while writing partitions to disk — usually on the second partition.
It strangely seems less likely to segfault if the partitions are already there, even if it needs to “reformat” (recreate) them.
It also defaults to using MBR instead of GPT for the partition table, despite the tooltip telling you that MBR is deprecated and limited, and that GPT is recommended for new systems. You cannot change this without doing the partitions manually.
If you do the partitions manually and it can’t figure out where to install things, it just crashes. This is great because you can’t tell it where to install things, and specifying mount points like /boot, /, and /home don’t seem to be enough.
It also tries installing 32bit grub instead of 64bit, causing the grub installer to fail.
If you tell it to install grub on /boot, it complains when that partition isn’t encrypted — fair — but if you tell it to encrypt /boot like it wants you to, it then tries installing grub on the encrypted partition it just created, apparently without decrypting it, so that obviously fails — specific error: cannot read file system.
On the rare chance that everything else goes correctly, the install process can still segfault.
The log does include entries for errors, but doesn’t include an error message. Literally: “ERROR: Installation failed:” and the log ends. Helpful!
If the installer doesn’t segfault and the install process manages to complete, the resulting install might not even boot, even when installed without any drive encryption. Why? My guess is it never bothered to install Grub, or put it in the wrong place, or didn’t mark it as bootable, or who knows what.
Even when using the live disc that includes non-free firmware (including Ath9k) it still cannot detect my wlan card (that uses Ath9k).
I’ve attempted to install thirty plus times now, and only managed to get a working install once — where I neglected to include the Ath9k firmware.
I’m now trying the cli-only installer option instead of the live session; it seems to behave at least. I’m just terrified that the resulting install will be just as unstable as the live session.
All of this to copy the contents of my encrypted disks over so I can use them on a different system. =/
I haven’t decided which I’m going with next, but likely Arch, Void, or Gentoo. I’d go with Qubes if I had more time to experiment.
But in all seriousness, the Debian devs need some serious help. I would be embarrassed if I released this quality of hot garbage.
(This same system ran both Debian 8 and 9 flawlessly for years)15 -
Office laptop takes one hour to boot. Reason why we can' t upgrade is to save money..what about my time...you pricks...8
-
Energy star ⭐ logo always remind me an old computer (boot logo) back in 90s and of course the games doom and duke nukem 3D ... The first things I saw and played on a computer .
You guys, what do you remember every time you see the logo ?12 -
I'm planning on writing an open source (and much improved) version of my logger, but I'm stuck on picking a name :<
So, anyone have naming suggestions for a tagged and branching/nesting logging library? (ES6)
(I don't think "deforestation" is a good choice. sounds kinda bad.)22 -
!rant
I need to pick a CSS framework for a[n eventually very large] React/React-native project at work. Any suggestions?
While I'm very good with CSS, nobody else is,
and eventually everyone is going to be touching the project, so it needs to be pretty easy to use.
I'm thinking of picking Bulma, or one of the newer, lighter frameworks, but I just don't know. (I'm also getting a lot of pressure to pick Bootstrap3 so we can... copy tables from unrelated sites? I guess? idgi)
Anyway, I have until Wednesday to completely convert over (it'll take me a day), and I still don't know what to pick yet.
Suggestions/advice welcome!23 -
Downloaded Manjaro ISO to have a look and check hardware compatibility.
Rebooted and selected USB stick to start.
Piece of shit didn't boot.
Booted back into Mint.
Opened USB stick in Nemo - empty.
Ooops. I had forgotten to write the ISO to the USB stick.
Did that, worked wonders, Manjaro booted successfully.6 -
This is a followup to my earlier RealTek networking rant.
After reviewing and researching all of the wlan adapter suggestions on that rant, as well as a few more, I settled on an Alfa AWUS036ACH usb3 wireless-ac adapter. Every Alfa I've ever owned has been amazing, so I happily bought it.
It arrived today, and I excitedly threw my existing RealTek garbage across the room, hooked up my fancy new toy, and... nothing.
Fearing it was doa, I ran `lsusb` to see if it was even showing up... and it was! but identifying itself as a RealTek device...?
All of my research showed it uses the Atheros9k chipset. It's advertised and praised as using the "famous Atheros AR9271 chipset" and the Ath9k drivers. Except this particular unit appears to use the RTL8821AU chipset, therefore requiring RealTek drivers. askfja;sldf.
I unhappily fetched the garbage from the dirty laundry where it landed, installed it, and began my research anew.
I found, among all of the wonderful promises of Ath9k bliss, a thread on the Kali forums corroborating the RealTek driver nonsense, and it explained how to get the RTL8821 drivers working with it. which is pretty much the very last thing I want to do.
If you've read any of my networking rants, well, they've all been about how totally awful RealTek linux drivers are, and that's pretty much common knowledge anyway. So I'm like extremely pissed off.
ARGH WHY IS NETWORKING WITH LINUX ALWAYS SO FREAKING DIFFICULT? haslkfjasgdskg6 -
Giant, month-and-a-half-long-ticket.
After learning six or so complicated areas of the system and updating them all to work with the new changes, make them all play nicely, etc. I finally got everything working. 95% spec coverage, though no ui tests because I haven't gotten selenium working. whatever, everything's done and works.
Second dev bases her ticket off of mine and continues working. Work elsewhere continues and there's an official release, so we both merge in master. I run tests, everything passes, and go back to working on other tickets.
She finishes her ticket.
We do end-to-end testing, and everything works perfectly. Time for a demo!
She merges in master again, and pushes her branch to two staging servers. (idk why two.)
Demo starts.
We connect to the staging servers, and... none of the UI changes exist; they aren't running the correct code!
So she runs it locally for a demo instead. Two features in my ticket no longer work. She throws me under the bus. She throws me under the bus again by criticising a rake task I scrapped because she wanted to do it. Then again because I didn't update my branch to master and push it before the demo, despite having no reason to. and despite the demo being of her branch.
Then she continues to show off and brag about how she's like the "legend" (senior dev) she envies. QAbuys it.
I'm having an emotion, and it's called anger.rant unfounded superiority complex people suck anger what the hell did you do to my project? i miss working alone9 -
Wanted to play a new game this WE.
It's quite demanding so decide to boot into Windows, because NVIDIA driver support.
Haven't booted Windows 10 in a month so I start early in the morning to do the updates.
After about 3 hours all Windows and steam updates were installed and I finally start the game.
I play for a couple of hours until suddenly - blue screen
I rebooted and was faced with another blue screen right after the Windows logo. Didn't even reach the login screen.
So here I am with a Windows install that is stuck in a boot - blue screen - boot - system repair - blue screen loop and a shitty gaming WE.
Thanks Microsoft!12 -
So I duel boot because I need Ubuntu for some things and Windows for others. (I run some robot sims that don't play well with VM)
This pops up, grub vanishes, and can only boot to windows.
Good news is I have all the important stuff backed up to git.
Guess I know what I'm doing this weekend.1 -
Sometimes, I really fucking hate Windows.
Having trialled Linux for a week on a spare HDD, I wanted to move to a proper dual boot with Windows on my SSD, and I decided I may as well downgrade to Windows 7 at the same time (10 had started to really annoy me).
Booting into the initial USB yielded an unresponsive mouse and keyboard. Hmm, not a great start. Turns out the Windows install USB doesn't like the rear USB ports or the wireless mouse. Strange but plugged in a spare USB mouse into the front and could install Windows.
This install was very unhappy about not having SP1 - to the point where I couldn't even install the network drivers so I could download SP1. Fine, I just downloaded an ISO with SP1 on my Mac.
Then I discovered that you can only really make a Windows USB with Windows. But I've just removed both my Windows and Linux partitions so I can reinstall them ...
After hours of searching and trying to create a bootable USB on my Mac, I finally give up and install a trial of Parallels. So I ended up using the same ISO to install a VM of Windows on my Mac, so I can create a bootable USB, so I can install Windows on my desktop. Well done Microsoft ...
And then I needed to install various drivers for the install to be even remotely useable.
To top it all off: Linux just worked. The keyboard and wireless mouse worked when installing. I didn't need to do any additional set up to be able to use it all. It can even use all 3 monitors, rather than just the 2 that Windows recognises for some bizarre reason.
Thanks to Windows being special, I've lost a day of productivity 😡16 -
random question/minirant:
I need something to do on my phone besides devRant and chess and repeatedly checking my email. Suggestions? I'm getting really sick of chess, and there's only so much content on devRant. And email? Nothing interesting for days (and weeks prior) despite waiting on so. many. people. to get back to me.
Bleh.
Random research is a given. And no, mobile games and social media are pointless.20 -
11.1/11.4 GB of RAM is being eaten open on boot, even though I just rebooted. Almost half of my swap is in use too. WTF! Windows is no help in explaining it either...SO ANNOYING!16
-
I really want to test out a fully functional Ubuntu Touch phone but I don't have access to one.... Really wish my Android could dual boot it so I could try it out.4
-
Fucking shit i just had a 3 days chat with google's cloud engineer about an issue i had in a project. eventually the issue occured due to an update they made on some projects involving IAM changes that required some changes from my part in my security toles. Like wtf haven't you heard of data fixes when you roll out such changes?! I just had my production env down for 72hours for their fuckup.
At least send an email regarding it so we could set it up in time1 -
I want a KVM switch for sata cables. That way I could switch between ssd’s without having the other visible.
Win10 could no longer randomly rewrite the boot loader(s) or wipe my Linux drive.
I’m not a fan of win10, and don’t currently have it installed, but might cave for a few rare games that I can’t get working via proton.29 -
First day at work, my PC starts updating, reboots and suddenly, the boot partition is corrupt.
Nice way to start in Dev.3 -
Secure boot -_-. I can't install Linux from live USB boot. And I can't switch off this secure boot...11
-
Just got ParrotSec as dual boot.
Still have a lot of problems, but the look and feel is awesome. Hope I can fix the problems soon.5 -
So, I'm the only developer in a marketing firm. I was asked to develop the company website. The deadline was within a month. A full on CMS. When I was interviewed I told them that I'm more fluent in back-end development rather than UI design etc. So the company's designer started designing the website. Incomplete designs were given to me one week before the due date. I'm a fresh grad so I'm relatively new. So I used a website builder knowing that I can't code the whole CMS within a week. I asked them which they gave approval to knowing it was $16 a month.
I started making it using webflow. 2 pages in, I asked them to pay for the subscription because webflow allows 2-3 pages for the free version. When the time to pay came, they were like, "wow, $16? That's a lot every month for just a website". Keep in mind, it's not that they don't have the money. Just cheap. This was like 5 days before the deadline and they said it's too expensive and asked me to code everything by myself. And gave an extension for a few months.
I said okay and started development. I said we would still need to spend on a cloud instance for deployment which would be like $6 monthly. My manager asked me is there a way to not pay monthly and pay like $100 and get one for lifetime. I facepalmed so hard. I tried explaining to him cloud-server costs are either monthly/yearly or pay-per-use basis. He told me maybe because I'm new I don't know and go to do some research on it. I researched and the only solution was to buy a server which costs $100++ monthly. I sent him the costs in a document which he did not even bother to read.
That was back in November last year. Fast forward to February. I've coded the website thrice. The design keeps changing every week. The design is still not complete. And they are saying I'm not eligible for a promotion because the website is still not done. It pisses me the fuck off. It's not my fault it's not done. The designers haven't done the design, the manager can't decide on shit. I'm just here because it's my first job out of uni and I thought it might be a good experience, but honestly right now the way they are treating me it pisses me off.5 -
Terminator's broadcast feature is nice.
However, it's fragile as crap, and oftentimes sends duplicate characters, or adds garbage.
Quite awhile ago I posted a PSA on how to fix it (by killing ibus) but now it's broken for me again. And due to just how it broke, I've given up on fixing it. Instead of broadcasting one or two duplicate characters like before, it now hangs for many seconds because it's broadcasting THREE BLOODY MEGABYTES WORTH OF DUPLICATES with every keystroke.
Like, seriously?
How do you fail that hard?2 -
Tried to dual boot Arch with Windows yesterday.
Everything was going smoothly. Shrunk the C: partition, ran the installer, installed the OS fine. But it was still booting straight to Windows.
So I edited the BCD to point to Grub instead of Wilndows. Then the plan was to boot into Arch, find Windows, and add it to Grub, problem solved.
Wrong. I had forgotten to disable secure boot. Arch and Grub were booting in BIOS mode, but Windows was UEFI. Grub couldn't boot or even see Windows.
So now I was stuck with just Arch. So I flashed a Windows drive, booted from that, automatic startup repair failed. Opened up the command prompt, tried to rebuild the BCD from there. Surely I can just rebuild it and forget about trying to dual boot right? I just want to get back to being able to use my PC.
Wrong again. Didn't find Windows. Had to get rid of the BCD file before I could rebuild it, but couldn't find it. Found out that I could use diskpart to mount the system partition and assign it a drive letter, renamed the BCD, rebuilt it, and finally was able to reboot into Windows.
Learn from my arrogance. First time Linux users should not attempt to install Arch, let alone do it alongside Windows on the same disk.6 -
Help, please :D
My girlfriend came to visit me and now her laptop is bricked (boot loop). She has the WIP of fall creators.16 -
You just realize the sheer amount of dependencies spring boot has, when maven tries to resolve them while sitting in a train with bad wifi1
-
My workplace has been forcing me to work everyday for almost a month now. I've been working at least 8-10 hours from Saturday to Thursday, and 2-3 hours on Friday as well. I'm so exhausted. I can't sleep properly. All I do is work. I have no time left to do things that I want to enjoy. I tried coding today but I'm too exhausted to do it. I was literally at 0 productivity today. I hate seeing my computer now. I don't know how to overcome this especially during the current lockdown situation. The work I do is not valued or appreciated and it's mentally breaking me honestly. I don't know what I want anymore. For sure another job but I need at least a temporary fix till the lockdown is over.
For those who know me or read through my profile, yup it's the same company. The reason I haven't left them even after all this is because this is a really tough time for me financially and I have no other sources of income and right now at my place there are no job opportunities. So the only option is to continue with the existing work place.7 -
I upgraded a PC with an SSD and had to reinstall twice because windows thought it would be a good Idea just to use the boot partition of the old drive instead of creating a new one on the SSD.
I first noticed that something was weird because I could only delete the system and not the boot partition on the old drive using diskpart. I restarted the machine thinking it would help only for the bios to tell me there was no os on the ssd. I tried booting from the old hdd and sure enough, I landed on the desktop of the ssd install.
To resolve that I had to unplug the other drive, reinstall windows and only then I could boot normally.
60mins of my life wasted as I had just finished installing all the software...7 -
Fought with the Windows Disk Manager for way too long this morning trying to shrink a partition with plenty of space so that I could setup a native dual boot...
Screw that tool, I resized the partition to nothing by formatting it.6 -
My Win10 bootloader ate grub so whenever I attempted to boot Debian, it would skip to Windows. So I reinstalled grub. Now Windows won't boot and the partition is locked in hybrid mode. :/20
-
Tldr: fucked up windows boot sector somehow, saved 4 months worth of bachelor thesis code, never hold back git push for so long!
Holy jesus, I just saved my ass and 4 months of hard work...
I recently cloned one of my SSDs to a bigger one and formatted the smaller one, once I saw it went fine. I then (maybe?) sinned by attaching an internal hdd to the system while powered on and detached, thinking "oh well, I might have just done smth stupid". Restart the system: Windows boot error. FUCK! Only option was to start a recovery usb. Some googling and I figured I had to repair the boot section. Try the boot repair in the provided cmd. Access denied! Shit! Why? Google again and find a fix. Some weird volume renaming and other weird commands. Commands don't work. What is it now? Boot files are not found. What do I do now? At this point I thought about a clean install of Windows. Then I remembered that I hadn't pushed my code changes to GitHub for roughly 4 months. My bachelor thesis code. I started panicking. I couldn't even find the files with the cmd. I panicked even more. I looked again at the tutorials, carefully. Tried out some commands and variations for the partition volumes, since there wasn't much I could do wrong. Suddenly the commands succeeded, but not all of them? I almost lost hope as I seemed to progress not as much as I hoped for. I thought, what the hell, let's restart and see anyway. Worst case I'll have to remember all my code😅🤦.
Who would have thought that exactly this time it would boot up normally?
First thing I immediately did: GIT PUSH --ALL ! Never ever hold back code for so long!
Thanks for reading till the end! 👌😅9 -
Just discovered a band named Master Boot Record. All of their albums are execution files. It's kind of metal meets chip tunes actually pretty good, if you're into that kind of thing.
-
I'm in the middle of installing a dual-boot arch along side win 10 in uefi mode and i'm pretty sure something will fuck up 😬😬2
-
it kills when people say dual boot Linux with Windows. I know how painful it is. as people who like to install Linux just pray why doesn't Linux supports it all. because all they want to do is use Linux full time. 😑😖😭8
-
It could be a very normal sunday, but then my sisters Mac don't want to boot 😒
I had to replace the hdd3 -
It's not been my day. I have a laptop with dual boot set up, and wanted to get a bigger Ubuntu partition, next to my Windows 10 one. I kicked Ubuntu off without keeping in mind that yhe grub boot loader comes from there. Now I am being presented with "system bootorder not found" on boot, and whether I can choose an operating system at all seems a matter of chance. I tried to reinstall Ubuntu from a USB drive already, with temporary success - it worked until I rebooted into Windows and then back to Ubuntu again. Now it's back to square one. Does anyone have a tip how to permanently fix this?7
-
I decided to tweak my two years old-mild overclocking on my main/home pc, to get more juice out of it.
Started with small steps running benchmarks each time I upped the clock.
Didnt crash me once up until it crashed while windows was booting after restart.
I thought to myself, that's normal, now I just have to lower it a bit until I find the sweet spot.
After windows finished crash dumping, restarted, lowered clock from bios, and headed to boot windows.
Windows recovery came up to scan my installation, pretty normal after a bsod.
I was waiting for it to finish, thinking that ofc there is no error you silly windows, until the recovery said that it could not recognize the error.
Proceeding to boot normal windows via the correspndent button in the recovery, the recovery itself came up again scanning for errors. I waited again only for the same outcome, and restarted my pc.
Yeap the recovery again scanning for errors.
How the hell did my boot became corrupted after just a crash. I've been fighting since yesterday for hours to fix this shitty situation but to no avail. I really dont want to clean install...
I couldnt even sleep well last night thinking that I have to fix this after work today...
Fuck my life, fuck windows3 -
What did it tell me to???
Well, I was switching keyboards and started my desktop before i connected the new one. In my mind I was mocking the Mac. Now if I had a Mac it would not let me boot, stupid thing! Luckily I'm running Linux.
Butt wait! Never got that far! AMERICAN MEGANITWITS, if you ask me!8 -
Fuck, fucking cock sucking stupid ass prick of a little black box, why, why the fuck do you not fucking boot any more, all you have to do is fucking boot but no, that's to much for you to fucking do!
Ah well, good thing it's only a Rpi!
It had a good life, now to wipe the card and start again! Irant no longer accepts keyboard input always on corrupt boot eject and reimage this old girl. rpi fuck it1 -
So I have a dual boot Windows 10 / Ubuntu 16.04.
This evening, I finally decided to update Ubuntu to 17.10.
Note to self, never try to install Ubuntu from the live usb when trying the "demo", prefer to install on boot, because this fucker encountered an error, forced me to reboot then decided to occupy the whole disk and wipe Windows out.
I'm sure that Ubuntu 17.10 was made by DevRant, that's totally something you guys could do 😂5 -
Been thinking of doing this for years. But I think I'm finally gonna try it.
I want to dual boot my PC. Probably gonna go with Arch Linux + Plasma KDE.4 -
Friend (Computer Science student) - Dual boot my Windows 10 with Ubuntu
Me - I will, but chances are something bad may happen. Mostly it does not. I advise you to backup everything first.
Friend - But I don't even have an external hard drive.
Me - So what do you want me to do?
Friend - Forget it. I'll figure how to do my work in Windows
Me - But how else are you going to learn?
Friend - Ain't nobody got time for that!2 -
Was trying to dual boot Linux on a friend's laptop..
Messed up the partition system and now Windows crashes and no Grub on boot 😅😐
Gonna have to try to fix it tomorrow..
I've always had problems dual booting Manjaro for some reason4 -
Once I participated in a vacation kayak tour. Some other kid was sure that it was not possible to dual-boot as each OS installed would take up 100% CPU load for a brief moment when turning the machine on. This turned into a serious argument spanning the entire vacation. The fact that I had a working windows/GNUlinux install on a friend‘s PC did not convince him.
Me being an insecure pre-teen made sure to send him video evidence when I got back home (never received a reply ofc).
Looking back, I‘m not sure whether he was dumb or I just got trolled really well.2 -
Why do windows users keep installing those bloated anti viruses and firewalls that just slow the hack of their system when windows essentials is enough with near to no impact
Those are the same people that got their system full with malware4 -
Lovely... About a week ago I moved my manjaro installation from bios to UEFI.
I ran a system update last night... and, well, my boot broke, cause mkinitcpio failed to build my initramfs. I was up till twelve cause now my system wouldn't mount a fat32 partition, so till I had my esp mounted and finaly fixed, it was 12. (And I wanted to go to sleep early that night)1 -
So I didn't boot up my Windows 10 from more that a month now (dual boot).
I wonder how many eternities it will take to update when I shut it down to switch back to Linux. :/
#scary1 -
Looking to do another linux dual boot on my laptop, any recommendations to try out?
Trying to move away from Ubuntu but still would prefer something debian based and would play nicely with a touch screen!11 -
Which Linux should I use for a dual boot for my PC? It shouldn't be too hard tobuse cause I'm an absolite Linux beginner.22
-
I think we should have a decent web app for devrant. And... make it open source so we all could give a hand 🖐️8
-
The bug I never fixed isn't a bug in code I wrote, but rather an OS problem I've given up on fixing.
I dual-boot Windows and Linux on my desktop PC. Every time Windows updates, it switches from grub to the Windows bootloader, making it impossible to boot into Linux. I've fixed it three times (each time requiring a different fix, from disabling fast startup to reinstalling Grub from a live USB), then gave up. My desktop PC is now a Windows machine. I'm upgrading some parts soon (including replacing my boot drive with an NVMe SSD) so I decided when I do that, I'm just going to reinstall Linux on the new drive and see how long I can last without installing Windows at all.5 -
Finally managed to flash Linux on my 250GB SSD with Linux! (After breaking it several times...)
Now I have a question to people that have a Linux/Windows Dual-boot:
What do you use Linux for, and what do you use windows for?
Really unsure how I should use the disk... Had an 16GB USB for school until now. (Lost it tho)
I plan to use it for school as well but I'm kinda afraid of losing it. (Was expensive)
Therefore I tend to just use it at home.26 -
Ended up with 16.04 and 18.04 ubuntu in dual boot. (see last rant).
Fixed graphics issues on 18.04. The fix envolved setting stuff in grub. Ok.
Now we apparently need 16.04 again and can kich the 18.04.
np. Let me just boot my 16.04
oh look who has graphics issues now!
It boiled down to the grub settings. so Depending on if I need 18.04 or 16.04 I need to fiddle with grub. great.
And now we don't neet 18.04 at all. So I tried to do something not in the last minute once, and it backfired completly. Wasted 5h on this shit this week. Fk this.2 -
So while talking always nice about Linux (today as well on devrant), my laptop wouldn't boot. I realised the battery was drained out as i had put it to sleep.
Now when i switch it on the light just blinked and nothing happened. After sometime when the battery was a bit charged and i had tried to hard reset the laptop, still wouldn't boot.
An hour later it was stuck at the bios screen asking me what I'd like to do- boot normally or repair. Anything I clicked it'll reboot and get back to that screen.
I realised after sometime that it was the RAM that was being the pain. So got a bootable usb to check the RAM. Post that it booted without new installation. Phew... -
An application to customise boot loader screen (GRUB) for Linux Users https://github.com/AseedUsmani/...
Clone the repository.
Run the app using `sudo ./GReza`.
Please star the repo, both mine and the one I forked from :p -
After a horrible 11 months in probation I quit from my shitty job and got a new job with better benefits, better pay, better working hours and better co-workers (we'll see if that lasts).
However this new job turns out, I'm glad I got out of the toxicity of my old job and finally have some hope that things might work out after all.7 -
Why is there a - 1 plus option? Just listened to a podcast by stackoverflow where they explained how they removed the down vote option on comments out of the idea that you cant be wrong on what you think..
Just throwing an idea6 -
Windows 7 or Windows 8.1? Which one do I fresh install on my laptop?
Don't suggest Linux cuz I already have an Ubuntu Dual boot.
Don't suggest Windows 10 cuz I'll find you and murder you.
You may suggest Windows 8 so that I may judge you.16 -
I want to create an Dual Boot on my PC with Windows which should be for gaming and stuff and Ubuntu which should be for Development.
But I can't decide which Desktop I will take but, I have Marked two as very nice: Mint and KDE Plasma.
All these Decisions 😫7 -
Spring boot does very much automagically.... but to find every possible configuration is hard....
I found out that it has an automatic config for Scheme Server... but how the fuck to configure it 😑
And do I still need avro made domain objects 🤔 it's hard to fight through all these documentations and versions of spring. 😖 -
Yesterday I took the evening to set up a backup server on my home NAS, so I could finally backup my dualboot laptop. Today I came home from work, boot up the laptop to configure the clients.... This happen, fucking black screen and doesn't even boot! Fuck fuck fuuuuuuck!!!4
-
Holy shit. Its been like 3 hours to get this motherfucking PC boot from the pen.
Cant get the boot device menu, and Ive tried all the F keys and changed the boot drive.
The mainboard is an asus p5ql pro in case someone knows how to help.
I just want to install w10 on my ssd... fuuuuuuuck.1 -
Meetings are the way of parasites to keep shining without doing shit. Why do they gave to drag me into their bullshit meeting?!$&2
-
I am thinking about setting up a dual boot (Windows 10 & Mac Os Sierra) on my windows pc for video editing.
I have a Gtx 1070 and an i7 7820HK... I am going to install both OSs on a PciE Ssd.
Not going to overclock it ofc.
Has anyone done that with similar hardware?15 -
So this morning, I was having problems with Explorer.exe. So I did a sfc /scannow to fix it.
After booting, my PC would not boot. I thought I did something to break it. I kept turning it off and on. I was scared that I broke my computer again.
I plugged out my keyboard. It booted.
Then I realized--it was my stupid broken keyboard being weird again.
WHy -
Installing a third OS in my PC (Manjaro, alongside Win10 and OSX Mojave). I do not remember how I configured dual boot for Win10 and OSX and now I have no clue of what I'm doing. Nothing will boot and I'm having to boot OSX through clover installed on my USB stick. Good thing I'm on quarantine and have a lot of time to play with this. Oh wait not really since I have some college work to do and I need Linux for that. Yay.8
-
The last Windows 10 update (10 days ago) has fucked up my dual boot with Elementary OS (Linux distro). I tried many things to retrieve it but with no success !
So I reinstalled it ! So now I would like to know how to prevent this shit happened again. Is there a way to do that ? Maybe a /boot partition or it's unnecessary ?8 -
I should do school work.. But instead.. I'm attempting to install Arch on my other laptop :D first issue.. Can't even boot 💿
Gonna be fun5 -
think all of this impulsive OS booting is burning out my old laptop,
RemixOS - partially boots then gets stuck on a black screen
Android-x86 - won't boot past a black screen either
Windows 7 - i infected that shit so quickly lmao
Windows 10 - i'm not disgracing my old laptop with that
Xubuntu - boots, but my tablet configurator dosen't start properly wrapped in wine (Shenzen HUION only has Win and Mac drivers), and i am an artist
Gamedrift - haven't tried
ReactOS - Last time i checked, it won't boot but i should try again
any other suggestions?
super low specs on that old laptop7 -
Had to re boot my pc yesterday.. There are a lot of small customizations you do over time that are really helpfull. Its being frustrating setting up again..5
-
okay I feel dumb for this question but for my next internship I need Linux on a laptop.
I have two options.
1, Current laptop with windows dual boot or vm
2, shitty laptop just to Linux.
help me out guys :-/10 -
!Rant
What a wonderful morning. Muffin gets real angry if I don't go for a early walk with him. And tbh I like it too, when I get back I can grab my cup coffee and start coding.
What's your boot routine?5 -
I'm just testing out some code for Spring Boot with Spring web. Whilst inspecting Spring's HttpStatus enum I suddenly realized there are a lot more HTTP status codes than I had estimated. I knew there were many, but woah that's a lot.
Check it:
https://en.wikipedia.org/wiki/...
On a side note, it really helps to debug work stuff at home. More concentration, more time and such.
Fun fun.4 -
I might have just fucked my linux installation. Deleted the windows partition, resized the linux over the free space, can no longer boot into ubuntu.
This might have been a stupid idea - I don't know.
Can someone educate me as to why this happened and also how should I've done it?3 -
So one of my aunt who is a school teacher had her Windows 10 + Ubuntu 16 dual boot laptop updated with Ubuntu 18 by the school principal. The school principal having no clue what she was doing, ended up messing up the boot manager. I hear she simply deleted the Ubuntu 16 system files to make space and proceeded to install Ubuntu 18. The school principal took no responsibility of the catastrophe because it worked fine with other laptop.
The school has no IT department or anything of that sort either.
Guess who had to help there? Me. However, I have no clue about that area, anyhow, I managed to show a way to bootup Ubuntu 18 which is what they use at school. Windows won't boot anymore.
About a month later, now I hear the drive where Ubuntu 18 is installed is full and it is causing some issues. There is no delete option on right to make space.
May God help them. 🤷🏻♂️7 -
What are you doing today?
Oh just rererereinstalling windows. Not even a little upset. Not like I'm in the middle of a *swearword* boot camp. Not like I'm supposed to be coding a conservative 8-10 hours a day. Nbd. This is my favorite way to spend time.1 -
Wasted 8 hours today trying to convince Windows to boot.
Yesterday I deleted two unused partitions. Today no OS booted up. Guess what, diskpart (think parted for Windows) reindexes GPT partitions on any modification. So when I deleted partition #1, my EFI System Partition, previously #2, became #1. But UEFI was still trying to boot from partition #2.
Linux booted after recreating UEFI boot entry. 1 minute job, no tools required. Windows, though... Bootrec /rebuildbcd failed, bcdedit failed, recreating ESP from scratch failed spectacularly. Finally I made a clean install just to get proper ESP and restored OS from backup.
Dammit, Windows. Why do you have to make things that hard.5 -
I am currently fixing the EFI partition from my laptop's SSD on my gf's computer on a livebooted image of some random Linux. Anyone know if its possible that no bootloader can boot if there isnt any room on the EFI part? Oh yeah, and only a single mouse out of 3 works for some reason, and no keyboard... so I am using the onscreen keyboard -_-'4
-
Really sucks to be cleaning the whole house so that i can get a proper room to study and have my computer. After 7 hours of cleaning and moving i have my computer setted with everything. I try to boot it. It doesnt boot.2
-
Playing ME:A, game froze, alt-tab out to try and close it, can see my mouse moving around but the screen the game is playing on is staying black. Whatever, shit happens, I'll just hard power off and reboot.
Powered down, push the power button, SSD isn't booting, being sent to BIOS. "Oh no."
SSD isn't listed in available boot options. "Shit." Checked the cables and what not, nothing, pretty sure it died on me. Go to Fry's to get a new 960 EVO m.2, sold out, go to the other one 30mins away that says it has one in stock, it doesn't either. 😧
Guess I'm ordering one online, Amazon says 1-3 weeks even with Prime, Samsung website says 1-3 days but no rush delivery.
Guess I'm computer-less for a while. (Unless I find something else before end of day)5 -
Has anyone managed to install a Linux Distro over the Boot camp partition on a newer MacBook pro with touch bar? My old 2012 MBP had a tri-boot on it because it had Mint, Win10 and macOS living together in almost harmony. Now I have a 2017 MBP and I can't even get it to live boot from a USB (a type-C one at that! Because of the Nexus 5X I have lots of type-C accessories).3
-
fuck unit testing for spring boot appsrant testing sucks autoconfiguration sucks fuck autoconfiguration unittests id for this class must be set manually spring boot testing failed to load application context i hate it fuck h2 db asserttrue(mentalboom)4
-
Does anyone have dual boot Linux/ Windows and also have problems with the slow-ass periodic updates Windows shoves down your throat, needs to do multiple restarts for, but gets stuck at the grub bootloader?
It's really annoying the next time you need your PC quickly you're forced to standby for 2 hours.10 -
I just started HDD Regenerator service in my one of dell laptop 💻. Because my laptop not starting after boot. Now I got such error as below image. And I don’t know how much time it will take. 🧐🧐.
Any suggestions you have for me???🤨🤨10 -
PhoenixOS (Android) in Windows
--booting from usb
1. Success
Boots well, with secure boot off, and legacy boot on
http://metroize.com/usb-boot-linux-...
2. Crash
google play store and other google services keeps crashes, but other apps doesn't
when ignoring error popups, the app doesn't actually crash
3. storage
the memory is only allocated to the system, which means no user file storage
have to find a way to fix that3