Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "install"
That moment when installing arch...need wifi drivers to access internet and need internet to install wifi drivers 😢9
So yesterday one of the "senior" python developers woke me up at 1 am (we work in different time zones, and he knows how many hours I'm ahead) asking why isn't his code working. The error message was:
[ERROR] Runtime.ImportModuleError: Unable to import module 'app': xxx is not installed, run `pip install xxx` Traceback (most recent call last)
I am at lose of words and patience. Not only idiots who can't google simple stuff are seniors, additionaly we went from "DevOps is a culture" straight to "hey I'm developer in my silo, if it doesn't work on my machine it's DevOps problem, plz fix".14
What an absolute fucking disaster of a day. Strap in, folks; it's time for a bumpy ride!
I got a whole hour of work done today. The first hour of my morning because I went to work a bit early. Then people started complaining about Jenkins jobs failing on that one Jenkins server our team has been wanting to decom for two years but management won't let us force people to move to new servers. It's a single server with over four thousand projects, some of which run massive data processing jobs that last DAYS. The server was originally set up by people who have since quit, of course, and left it behind for my team to adopt with zero documentation.
Anyway, the 500GB disk is 100% full. The memory (all 64GB of it) is fully consumed by stuck jobs. We can't track down large old files to delete because du chokes on the workspace folder with thousands of subfolders with no Ram to spare. We decide to basically take a hacksaw to it, deleting the workspace for every job not currently in progress. This of course fucked up some really poorly-designed pipelines that relied on workspaces persisting between jobs, so we had to deal with complaints about that as well.
So we get the Jenkins server up and running again just in time for AWS to have a major incident affecting EC2 instance provisioning in our primary region. People keep bugging me to fix it, I keep telling them that it's Amazon's problem to solve, they wait a few minutes and ask me to fix it again. Emails flying back and forth until that was done.
Lunch time already. But the fun isn't over yet!
I get back to my desk to find out that new hires or people who got new Mac laptops recently can't even install our toolchain, because management has started handing out M1 Macs without telling us and all our tools are compiled solely for x86_64. That took some troubleshooting to even figure out what the problem was because the only error people got from homebrew was that the formula was empty when it clearly wasn't.
After figuring out that problem (but not fully solving it yet), one team starts complaining to us about a Github problem because we manage the github org. Except it's not a github problem and I already knew this because they are a Problem Team that uses some technical authoring software with Git integration but they only have even the barest understanding of what Git actually does. Turns out it's a Git problem. An update for Git was pushed out recently that patches a big bad vulnerability and the way it was patched causes problems because they're using Git wrong (multiple users accessing the same local repo on a samba share). It's a huge vulnerability so my entire conversation with them went sort of like:
"We have to."
"Fine, here's a workaround, this will allow arbitrary code execution by anyone with physical or virtual access to this computer that you have sitting in an unlocked office somewhere."
"How do I run a Git command I don't use Git."
So that dealt with, I start taking a look at our toolchain, trying to figure out if I can easily just cross-compile it to arm64 for the M1 macbooks or if it will be a more involved fix. And I find all kinds of horrendous shit left behind by the people who wrote the tools that, naturally, they left for us to adopt when they quit over a year ago. I'm talking entire functions in a tool used by hundreds of people that were put in as a joke, poorly documented functions I am still trying to puzzle out, and exactly zero comments in the code and abbreviated function names like "gars", "snh", and "jgajawwawstai".
While I'm looking into that, the person from our team who is responsible for incident communication finally gets the AWS EC2 provisioning issue reported to IT Operations, who sent out an alert to affected users that should have gone out hours earlier.
Meanwhile, according to the health dashboard in AWS, the issue had already been resolved three hours before the communication went out and the ticket remains open at this moment, as far as I know.5
A glass of cognac, a blotter of LSD, go to the spa for a massage, turn on some Sibelius, Mahler or Tchaikovsky, and play Factorio all night.
Sometimes I also just work on my forever unfinished SciFi novel.
Or I install FL studio to realize 30 minutes later that I'm about as musically gifted as a pile of bricks.
Recently I was fed up with work and made a nice new bed for my daughter out of cherry & oak wood. Carpentry is a nice distraction from coding.4
God damn fucking Windows bullshit.
Why is the fuck does Microsoft HATE its users?
Latest updates, and no fuck Windows 11, completely BREAKS all of my WSL environments.
Home directories are gone, or the environments are corrupt and won't even run.
99% of the issues these dense shit-fucks cause are because they RaNdOmLy reboot for their dumbass updates instead of scheduling them with the end user. During these rebots, do you thing they wait for everything to shut down?
They just shut that shit down like they fucking own it. Editors? Gone. Browsers? Gone. WSL Consoles? Gone. Docker containers? Gone. IEdge? Hey, we have great news, we made IE your default browser again! BTW, your upgrade to Windows 11 is free until we force you to upgrade!
I'm so fed up with it.....so fucking tired of it...
The only reason why I even use WSL these days is to ssh into my Linux devices or run some quick dev tests in containers. Why not use PuTTY for SSH? Because it fucking SUCKS that's why.
I'm feeling so many emotions right now over bullshit that shouldn't even be happening. I'm literally at the point that I'm just going to install Linux on this device and just create a Windows VM on one of my hosts so I can still do "work" things that involve leadership.18
The newest addition to our lab - Pikachu!
We managed to overcome the weirdest pinout configuration ever on the MCU and power up the Nvidia Jetson.
Next week I'm going to make a clean install of the Jetson because there is some funky garbage there, and then I'll try to drive the little beast :)18
For the love of god, I spent 2,5 hours debugging why Minecraft from the windows store doesn't work...
The game just shows a red message telling you it didn't work.
I checked the logs, nothing just warnings
I re-installed the game, nothing, same error
Updated java and all parts of the store, nothing....
Obviously I had to install Something called the "xbox identity Provider"... You know... On a PC... For a distinctly PC game to work... Installed by the store... And the provider is also on the store... But it doesn't auto-install with the game
Ever since you migrated to the Microsoft Auth the login experience is awful (I ranted about that already)
How about you do the bare fucking Minimum of an User experience and Install the fucking dependencies when I re-installed something your fucking store??!!!
The fucking bare minimum that every package manager ever created fucking has as a basic requirement?! Are you kidding me?
Rename your fucking services so they make sense and please don't waste everyone's time by having both shitty logs and no dep management for your own apps... Fucks sake16
I need a new 'main' language to do all my projects in as java is kind of grinding away at my psyche.
Golang I liked quite a lot when I used it for my job a year ago, I'll give that a try..
Golang installed and up and working fine.
Oh, I know lets see if there are GLFW bindings for golang. And sure there are lets go!
Oh I need gcc and mingwex + mingw32 which I will acquire through cygwin.
hmm.. mingwex + mingw32 not found and my drive is almost full. I'll reinstall on my D:\ drive before continuing troubleshooting.
> Delete C:\Cygwin Access denied.
> cmd rmdir c:\test /s /q Access denied.
> Change permissions Access denied.
No problem I just don't own this object!
> Change to be the 'object owner' Success!
> Change permissions Success!
> Delete C:\Cygwin Access denied.
> cmd rmdir c:\test /s /q Access denied.
> takeown /F C:\Cygwin /A /R /D Y Success!
> cmd rmdir c:\test /s /q Access denied.
At this point it would be more efficient to manually open up my ssd, and using a fridge magnet change every single bit to be exactly what I want it to be.
Or install linux.7
"Dad, our fence is down again"
"Sorry sir, we cant install your new furniture until Spectrum turns on your wifi"
"Warning: you have violated twitter's safety rules - we will be unscrewing your bed frame now"
When will they learn5
I bricked my Manjaro install by interrupting a kernel update like a fucking doofus.
After two hours of painstaking troubleshooting using a live image I finally resolved the issue. And man is that a good feeling. Solving complex problems (at least to me) on Linux is just such an amazing feeling ♥️15
Years ago I used to work a guvmant site. They had really strict security rules for internet and how you spent your time. Makes sense considering what that site did. I was a support engineer for some of their process control equipment.
I was approached by an operator supervisor to install dvd player software on a business machine (non process related). Basically just a general purpose PC with no function other than time cards and general office use. I was fine with the request, but the reason was for watching movies during a holiday period by the operators. Not for anything official. So I made some noise about my dislike of this request feigning moral superiority. But the supervisor swore up and down it was for "training" dvds.
So I wrote a simple windows script. The script basically popped up a window that said:
"Security has detected unauthorized media inserted into this machine. Please state the reason for this infraction." It provided a dialog to enter a justification. After you entered the justification it said: "Security has been contacted and your user logged. You will be contacted shortly."
This script was then attached to the supervisors Start folder so it ran when he, and only he logged in. We made sure the "training" video (some movie) was already inserted at this point.
He logged in. He just about shit his pants when reading this. He promptly logged and left the building to walk somewhere else in the site. We called him and let him know it was a gag. His response: That son of a bitch Demolishun!2
I recently learnt that even chrome and Firefox use Webkit instead of their own engines in the iPad, because Apple requires so. So you can not use any alternative browser. You can not install oder versions of Safari as well. You can not open any browser-console or whatever. What the serious fuck.
I've hated Apple for my life but now I have even reasons!5
I should just quit. I am not paid enough to deal with this pissing contest.
Need to add instructions (on readme) for installing pnmp, or if possible, have the top-level npm i install it (lol).
Also, it looks like we are no longer using lerna? If that's right, let's remove the dependency; its dependencies give some security audit messages at install.
it's good enough for now. Added a new ticket to resolve package manager confusions. (Migrate to pnpm workspaces)
I will probably be responsible for automating deployment of this (I deployed the webapp on cloudflare pages and there is no work that needs to be done. "automating deployment" literally means replacing npm with pnpm). I disagree that it's good enough for now.
Imagine all readmes on github document how to install yarn/pnpm.
If you think an OOP static site developer can't handle modern JS framework, you are probably right.2
Hi everyone, long time no see.
Today I want to tell you a story about Linux, and its acceptance on the desktop.
Long ago I found myself a girlfriend, a wonderful woman who is an engineer too but who couldn't be further from CS. For those in the know, she absolutely despises architects. She doesn't know the size units of computers, i.e. the multiples of the byte. Breaks cables on the regular, and so on. For all intents and purposes, she's a user. She has written some code for a college project before, but she is by no means a developer.
She has seen me using Linux quite passionately for the last year or so, and a few weeks ago she got so fed up with how Windows refused to work on both her computers (on one of them literally failing to run exe's, go figure), that she allowed me to reinstall both systems, with one of them being dualbooted Windows 10 + Linux.
The computer that runs Linux is not one she uses very often, but for gaming (The Sims) it's her platform to go. On it I installed Debian KDE, for the following reasons:
- It had to be stable as I didn't want another box to maintain.
- It had to be pretty OOTB, as first impressions are crucial.
- It had to be easy to use, given her skill level.
- It had to have a GUI abstraction to apt, the KDE team built Discover which looks gorgeous.
She had the following things to say about Linux, when she went to download The Sims from a torrent (I installed qBittorrent for her iirc).
"Linux is better, there's no need to download anything"
"Still figuring things out, but I'm liking it"
"I'm scared of using Windows again, it's so laggy"
"Linux works fine, I'm becoming a Linux user"
Which you can imagine, it filled me with pride. We've done it boys. We've built a superior system that even regular users can use, if the system is set up to be user-friendly.
There are a few gripes I still have, and pitfalls I want to address. There's still too many options, users can drown in the sheer amount of distro's to choose from. For us that's extremely important but they need to have a guide there. However, don't do remote administration for them! That's even worse than Microsoft's tracking! Whenever you install Linux on someone else's computer, don't be all about efficiency, they are coming from Windows and just want it to be easy to use. I use Mate myself, but it is not the thing I would recommend to others. In other words, put your own preferences aside in favor of objective usability. You're trying to sell people on a product, not to impose your own point of view. Dualboot with Windows is fine, gaming still sucks on Linux for the most part. Lots of people don't have their games on Steam. CAD software and such is still nonexistent (OpenSCAD is very interesting but don't tell me it's user-friendly). People are familiar with Windows. If you were to be swimming for the first time in the deep water, would you go without aids? I don't think so.
So, Linux can be shown and be actually usable by regular people. Just pitch it in the right way.8
My grandpa is using his computer for video editing and creating photo books. His setup was:
- A 100GB SSD for C
- A 1TB HD for D
He never had more than 6GB free on his C Drive because somehow Windows and his programs filled it all with some utter bullshit which couldn't be removed or whatever.
So I promised him to install Linux for his Emails and Surfing and create a Windows 10 VM for him to use his programs.
The Linux installation from downloading a iso over creating a bootable drive to actually installing it was faster than finding the fucking Windows 10 Iso.
Which was about the same time as installing fucking windows because this bullshit prints out one fucking line at a time and then waits for you to read it for 15 motherfucking seconds before printing the next line.
And don't get me started on the fucking telemetry.18
For the Project Management exam, my university requires us to install a program on our PERSONAL laptops that is meant to take over the control over the entire system during the exam, monitor any “suspicious activities”. The software is closed-source (it’s called Schoolyear Exams), does god-knows-what in the background, takes the control over the entire system and can be summoned through any Chromium web browser.
Don’t get me wrong, I get that you want to make sure nobody is cheating - but at this point, I’d rather write it with pen and paper. Or just provide us with computers for the time of exam.
I decided to whip out my old laptop instead, installed a Windows 10 on a separate SSD, and installed that software on it.
Also it’s very amusing that this software is also mandatory for the Linux exam… But the program can’t run on Linux (it’s Windows and Mac only and doesn’t even support M1 chips).
There are indie devs which still builds games for the NES or the first GameBoy... and then we have Apple which goes to extra lenghts to ensure which nobody can develop, publish or install new apps on devices which are too old for the newer iOS versions.4
I FUCKING HATE IT WHEN I HAVE TO BUILD SOMETHING FROM SOURCE!!!!
So I wanted to install a package with pip. Shouldn't be that difficult, right? RIGHT? Lmao
Things I encountered on this adventure in no particular order:
- multiple undocumented dependencies, only explained on stackoverflow or some github issues
- inconsistent and outdated documentation spread over multiple pages on multiple websites
- Python version can't be too old or too new
- other external software version incompatibilities
- Build process that takes several minutes just to fail, then try again and fail with exactly the same outcome after a few minutes
- fucking SVN is needed?!?!?!
- VS Code is needed for completely manual build ????
- cmd/powershell incompatibilites
- required reboots
At some point I just gave up... Now I don't even remember what I crap I installed that I don't need anymore.
Please for the love of god provide prebuild packages or at least a very SIMPLE build process -_-9
Just wasted 2 hours of my life looking through my colleagues code because he decided to build it at the last moment, install it at customer, and then take the day off.
If he had just started the project he would have seen it crash.
I hate people who don't test their own shit2
My friend is learning PHP and I told him to install xampp but that fucker went nuts and installed MySQL too which didn't allow the xampp's SQL and ended in conflict.
Oh man that's so funny when non programmers don't do what we say.2
Linux tip: if you're setting up a new computer w/ a fresh install of Linux or you got some new device you'd like to make Linux friends with, don't start by searching for drivers. Start with upgrading your kernel to the newest Mainline version you can. It's very likely it will bring your devices' support with it.
Damn I didn't think I'll like my P1 gen4 THIS much. Even better with a flavour of LMint!14
Imagine you work in a mechanic’s shop. You just got trained today on a new part install, including all the task-specific tools it takes to install it.
Some are standard tools, like a screwdriver, that most people know how to use. Others are complicated, single-purpose tools that only work to install this one part.
It takes you a couple of hours compared to other techs who learned quicker than you and can do it in 20 minutes. You go to bed that night thinking “I’ve got this. I’ll remember how this works tomorrow and I’ll be twice as fast tomorrow as I was today.”
The next morning, you wake up retaining a working, useful memory of only about 5% on how to use the specialized tools and installation of the part.
You retrain that day as a review, but your install time still suffers in comparison. You again feel confident by the end of the day that you understand and go to bed thinking you’ll at least get within 10-20 minutes of the faster techs in your install.
The next morning, you wake up retaining a working, useful memory of only 10% on how to use the specialized tools.
Repeat until you reach 100% mastery and match the other techs in speed and efficiency.
Oops! Scratch that! We are no longer using those tools or that part. We’re switching to this other thing that somehow everyone already knows or understands quickly. Start over.
This has been my entire development career. I’m so tired.2
University, first Java practical lesson.
I'm sitting near this guy, clearly hyped up because he managed to install his first linux distro earlier.
After 5 minutes he asks me how to do the task the Professor assigned that morning.
I'm playing dumbass in my head, thinking stuff like "oh big boy installed ubuntu but can't declare a fucking Rectangle class in java lol" (what a dickhead).
I helped him, and then proposed to go out for a quick smoke.
Turns out we're very similar, hyped as hell with linux (like I was at the time), with same CS interests. Still texting sometimes.
Well fuck you Epic Games and Deep Silver!
I was really interested in getting Metro Exodus, but I'm not gonna install that shitty Epic Store!
I remember I was a child trying to tinker around the only computer that we had. No one knew how to install the Windows OS from scratch with the drivers and everything else (they were installed on floppy disks) so when no one was around I managed to do it everything. I remember such joy, felt like a hacker 😂
Now I'm a web developer and I feel like a moron each time I'm sitting on a defect I can't solve so I'd say these were good times 😜1
Worst collab was in bootcamp. Group projects always suck because there’s always someone not pulling their weight. In my case it felt like everyone was terrible. My only regret was not putting a specific person on my “don’t want to collab” list when groups were being assigned. That probably would have saved me from so much stress.
One person in my group didn’t know how to start up the project…two weeks into us working on it. She even had the privilege of having an outside mentor. Mentor didn’t know how to work the project either—but let’s be real, that’s not the mentor’s responsibility. She forgot she needed to run npm install. We were six months into this bootcamp and she forgot one of the simplest commands.
Another person was just a follower and couldn’t think for himself. He was so faithful to another teammate’s choices and direction that I wondered if they were screwing each other. Other teammate could be absolutely (and destructively) wrong and he would defend her as “well she’s taking initiative and showing leadership.” It wasn’t leadership, it was bullying. They weren’t dating/screwing, but I did suspect he liked to be controlled/dominated by “strong”women.
The “strong” woman teammate is someone I suspect of being the spawn of Satan. You were only useful to her if you agreed with her or could help her. If you gave her any sort of pushback, she’d turn on you. I think she wanted me to be both her parent and her scapegoat for the sketchy things she wanted to do. She pulled a lot of bullshit and tried to blame everything on me. Seriously, she would invest a lot of time in stupid things like getting me to agree to use bitmoji for team pics; I just wanted to check with the bootcamp first because they might have an unwritten rule about using your real face for presentations so guests know who you are. I had to get the bootcamp staff to support me because she was out of control. She tried to say that I was sabotaging the group from day one. The staff explained to her how her story of me “sabotaging” the group doesn’t add up. She backed down a little but she’d still try to screw me over through the remainder of the project.
There was one dude who was alright. He was the keep your head down type. Spawn of Satan would be on his ass about being late to class and he’d just stare at her stoically. He was a husband and a dad so he was choosing how to expend his energy. I don’t like people being late either, but show some compassion and don’t snap at people.
If I saw these people again, I would not even pretend to be friends with most of them. Spawn of Satan especially: I’d take out my crucifix and send her back to hell.8
My biggest problem with Visual Studio Code is that every fucking piece of shit dev thinks it's their duty to introduce it to me. STOP. Just stop this shit, alright? Wanna use vscode? Fine, just don't tell me it's the best tool and I MUST use it instead of the tools I'm used to. I'm tired of this bullshit.
Every new project, every new team. Starting from js/java/.net monke and ending with PMs, I must hear this bullshit about god blessed IDE that I must use, because "why you need intellij/webstorm/rider? just install vscode and some plugins. we all use it in our project and it's ok".
FUCK YOU! Refactoring is not just renaming variables and extracting blocks of code into functions. If you want terminal integrated into your text editor with highlighting and LSP support, so be it. I want an IDE with rich refactoring tools, code analysis and good completion, database viewing/modeling support, good build tools support, good UI for git and git-diff, good test and code coverage support. I don't want your semi-IDE, bloated with hundreds of bugged third-party plugins, which I must spend a week on to configure and merry with each other before using.
JUST STOP this crap and let people use the tools they are proficient/comfortable/productive with.18
The entire day wasted having to install a new OS to install a new Xcode to export an app, only to find the xcode was installed under a different user (who has long since gone from the company) to then have to look up what to do, to then just sit...........and....................wait.............for Xcode to download again.
And I know when I try to export my app (which had zero problems being exported to Android) I'm going to hit an entire day tomorrow of bug fixing for ios sh...stuff16
Not necessarily a DEV rant, but a rant nonetheless.
This day sucks.
So first, my bus got late 25 minutes, because entire city decided that it will take a car - because it was raining horizontally. At some point I was doing 1 km in 10 minutes. Then my train got delayed by 5 minutes. So l had to do a little bit of cardio and ran to the next bus from station to school.
When I finally made it - surprisingly 5 minutes before the start of the exam, it turned out that I wasn't even on the list of participants. Which was surprising to both me and teachers, because I was clearly registered on the portal. Well, they hand added me in and let me in.
Then I open my laptop, I start it up
I try to start the exam. But it said that I don't even have the examination program - even tho I did install it yesterday.
So I had to quickly download it and reinstall it. Then I could finally write the Project Management exam.
Thankfully the exam went fine, I feel confident about the results, but it’s like everything tried to make sure I am not gonna make it.3
Waiting for Apple to deprecate their iOS Safari and finally let people install real alternative browsers on their iPhones. Suckfari does not support aspect-ratio either, coincidentally spend hours to find that, now struggling with 100vh and -webkit-fill-available.
Microsoft at least left the choice to install something else besides Internet Explorer before they finally pulled the plug and provided Chromium Edge. Safari isn't the new Internet Explorer, it's worse.6
...another (probably about fourth) completely futile attempt at making MASM compiling pipeline work...
...what the fuck... seriously, i've spent together about two weeks of time trying to make a fucking default hello world compile... ml64 problems, then rc.exe problems, apparently i was missing some dumb CommonService.dll which not only doesn't exist anywhere on my computer, but it doesn't even seem to exist at all in this fucking dimension. After several hours I had the bright idea of "fuck MS rc, let's just grab any other random resource compiler that I can find, and see if that one works".
Funnily enough, it does. Except Visual MASM can't run it from it's build process because it fucks up the commandline call, so I need to run it manually, and then when I run the build from V-MASM, the rc call still fails, but then it checks for the resulting .res file and finds it, so it happily continues with success...
...and now fuckin... what even is it? *goes to check*
oh yeah, now linker is shitting itself:
LINK : fatal error LNK1104: cannot open file 'user32.lib'
And I'm just completely defeated, just searching system-wide for the lib intending to copy it into the linker folder because fuck this fucking bullshit, I've had enough of drowning in MS BuildTools versions and installations and uninstallations and fixes and modifys and repairs and all that FUCKING BULLSHIT.
HOW. THE. FUCK. is this in any way usable for anyone. I suspect nobody ever actually tried to build an assembler project in the last 30 years, so nobody noticed it DOESN'T. FUCKING. WORK.
THIS is why I hate anything that's not a proper IDE where I install ONE thing, and do everything in that ONE IDE and let IT figure out all this linuxy-soft-coupled bullshit of twentyfuckingthousand fucking useless commandline apps threwn around the whole fucking system where I'm fucking supposed to know where the fuck what is and which version and GO FUCK YOURSELF.
GIMME. FUCKIN. ONE: IDE. WHICH. WILL. INSTALL. ALL. THAT. IT. NEEDS. TO. BE. FUCKING. ABLE. TO. FUCKING. WORK. AND. COMPILE. SHIT!!!
Oh man, it's so funny when people try to install npm via cmd and they can't understand, what fuck all errors they are getting.2
Every day my faith in humanity grows lesser and lesser, and my fear on how to live in this world grows more and more.
So glance is an Indian company that has partnerships with brands like Xiaomi and Realme in the manner that their app can show wallpapers (and ads) to users without even opening the lock screen. being a privacy-focused person, I got irritated with it when I bought a new $300 phone and saw it on my first unlock. but in my expensive device, I had an option to turn it off in settings.
however, I then bought a cheap $100 phone for my dad and it didn't had those options; in fact, it had a stupid game center app that would install more crap on his device and hang his low end device even more.
The world is going crazy right now.
earlier there were a few rich people who would never get exposed and if they do, they would be publically shamed and would indirectly play a great role in uniting people against them and their malpractices (checkout : https://amazon.com/Generation-X-Sea...), therby evolving the human community as whole
however, every 3rd person on the block nd every next is now earning a decent amount , either by hook or crook and most will agree that malice is the way of getting the things you want and getting stuff done.
- Be it the cop next door who is taking bribes for getting to work.
- Be it the devs next door doing moonlighting for multiple companies.
- Be it the government (and the people working with them), running targeted social media campaigns and buying puppet press to gain support and incite communal hatred.
- Be it the stock/crypto traders, trying to run hype trains and insider infos to gain off foolish first timers
- Be it the vicious entrepreneurs, trying to splash those targeted ads on the face of us and coming up with newer ways to monetize every step we take on internet via xyz-as-a-service
Manipulation and trickery is now the main skill required to live in the world. lion eats the deer and fox eats the rabbit, but we are the first evolved "apex" predators that wants to eat our own kind to benefit.
Being born in India, the land of so called "culture" and "most evolved heritage" and that too in jain-hindu family, I have been fed with a lot of stuff deemed "Good" and "Righteous" .
But i don't feel like they are relavent in the modern vicious world :The values of being a vegetarian and not harming animals, kindness and hardwork, righteous person caring for the minority/equal rights, concern person voicing for privacy, helpfulness, spritual prayers, etc all feel useless when i can simply create an anonymous account, chant "death to minorities", incite violence , kiss some superior's ass and get all my work done from someone more feeble via my goons.
If the land of a million gods can also be the land of most communal violence, rapes , sexual abuses , crimes and fraud, with even the modern startups and the so called millenal generation accepting and adhering to this vicious ethics , then what's the point in being a so called "good person" ?
the whole pond is dirty and is being dumped with even more dirt, every good fish is eventually gonna turn vile.6
So I made an update to my React Native app. I changed UI of a couple of screen, added a few animations here and there, refactored how my graphQL resolvers work in the backend(no breaking changes), changed how data gets loaded into the database etc.
It worked in dev so I figured hey let's deploy it. Today is(was because it's now 3am but more on that later) a national holiday so no one goes to work so no one will use my app so I have an entire day to deploy.
I started at 15:00(because i woke up at 13:00 lol). I tested the update once again in dev and proceeded to deploy it to prod. I merged backend to master, built docker images, did migrations on the db, restarted docker-compose with new images. And now for the app. I run ./gradlew assembleRelease and it starts complaining that react-native-gesture-handler is not installed. Ugh, rm -rf node_modules && yarn install. It worked. But now gradlew crashes and logs don't tell me anything. Google tells me to change a bunch of gradle settings but none of them work. Fast forward 5h, it's around 20:00 and I isolated the issue to, again, react-native-gesture-handler. They updated from 2.2.4 to 2.3.0 which didn't fucking compile. 2 more hours passed (now 22:00) and I got v2.3.1 working which fixed the problem in 2.3.0 but made my app crash on startup. YOUR FUCKING LIBRARY GETS 250K WEEKLY DOWNLOADS AND YOU DONT EVEN BOTHER CHECKING IF IT COMPILES IN PROD ON ANDROID?! WHAT THE FUCK software-mansion?
After I solved that, my app didn't crash. Now it threw an error "Type errors: Network Request Failed" every time I fetch my legacy REST API(older parts use rest and newer use graphql. I'll refactor that in the next update). I'll spare you the debugging hell i went through but another 5h passed. Its 3am. My config had misspelled url to prod but good for dev... I hate myself and even more so react-native-gesture-handler.3
God I fucking hate macs.
I got a mac at work. I tried to install ubuntu, with rather questionable results (unfortunately, I expected that) - so I tried to get mac work for me the way I like a system to work. I needed to download slack, simple enough, right? Ha, you wish. It's gotta be done through Apple store, so I went to create an Apple ID inside the Apple Store form. And, well, it just errored out on the submission. Great start. I went then to the settings and created an account there, great success, went back to Apple Store. Unfortunately being logged in at the system level doesn't mean you are logged in to the store. So, I went to log in to the store, simple enough, right? No, nothing's simple with Apple. After logging in I got a message that the Apple ID has not yet been used with Apple Store and that I need to review the account's setting. So, I click the "review" button and... I'm presented with a log in form. Yep, a perfect log in loop. I can't log in because I can't review the account but I can't review the account because I can't log in. Fun :)
You can't just go to the web admin panel for your account to review it for Apple Store, that would too be too easy. After a bit of searching I've found an answer on StackOverflow. You need to log in to iTunes. Through a fucking MUSIC APP. To install a free application from the store you need to log in to a music app. Yes, we're all mad here.
Then, after finding out that to be able to use side buttons on my mouse I need an app that I need to manually restart every time I restart the machine and that I need to have an app to fucking transfer files from an android I need another fucking app, because reading a storage of a linux-based system would be too standards compliant - something in me broke. I found out that installing windows on a mac is officially supported.
Supported doesn't mean that it's easy. I tried to install it trying different solutions from SO, but each time I would get an error that Windows couldn't modify the boot partition. Turns out that even wiping the drive and reinstalling OSX doesn't remove residual files on a boot partition and Windows installer is not allowed to modify them. It took me hunting into some shady looking site to actually find this answer. I have no fucking idea how long it all took me, but, finally, great success, Windows, WSL, side buttons working, I can even install slack from an installer. I just wish I could have those hours of my life back.19
brew install node
keeps going for more than 5 minutes, installing idk dependencies or doing idk wtf
I wanted to install Antergos but the iso fucked both of my usb... Now i can't manage the partitions , i can't reformat and the usb doesn't show up in the explorer33
I'm trying to install my SSH Server and nothing works. I think i've seen every SSH Stackoverflow site and i'm still too dumb :C27
Client has decided to buy another server because the old one is too slow
Manager: how long will it take to move our apps to the new server
Me: maybe 3-4 hours
15 hours later
Manager: why isn't it finished yet?
Me: because I have to install a lot of missing things on the new server, and I have to google a lot to find them
Me (thinking): because your 15-years old apps suck big time4
The Zen Of Ripping Off Airtable:
(patterned after The Zen Of Python. For all those shamelessly copying airtables basic functionality)
*Columns can be *reordered* for visual priority and ease of use.
* Rows are purely presentational, and mostly for grouping and formatting.
* Data cells are objects in their own right, so they can control their own rendering, and formatting.
* Columns (as objects) are where linkages and other column specific data are stored.
* Rows (as objects) are where row specific data (full-row formatting) are stored.
* Rows are views or references *into* columns which hold references to the actual data cells
* Tables are meant for managing and structuring *small* amounts of data (less than 10k rows) per table.
* Just as you might do "=A1:A5" to reference a cell range in google or excel, you might do "opt(table1:columnN)" in a column header to create a 'type' for the cells in that column.
* An enumeration is a table with a single column, useful for doing the equivalent of airtables options and tags. You will never be able to decide if it should be stored on a specific column, on a specific table for ease of reuse, or separately where it and its brothers will visually clutter your list of tables. Take a shot if you are here.
* Typing or linking a column should be accomplishable first through a command-driven type language, held in column headers and cells as text.
* Take a shot if you somehow ended up creating any of the following: an FSM, a custom regex parser, a new programming language.
* A good structuring system gives us options or tags (multiple select), selections (single select), and many other datatypes and should be first, programmatically available through a simple command-driven language like how commands are done in datacells in excel or google sheets.
* Columns are a means to organize data cells, and set constraints and formatting on an entire range.
* Row height, can be overridden by the settings of a cell. If a cell overrides the row and column render/graphics settings, then it must be drawn last--drawing over the default grid.
* The header of a column is itself a datacell.
* Columns have no order among themselves. Order is purely presentational, and stored on the table itself.
* The last statement is because this allows us to pluck individual columns out of tables for specialized views.
*Very* fast scrolling on large datasets, with row and cell height variability is complicated. Thinking about it makes me want to drink. You should drink too before you embark on implementing it.
* Wherever possible, don't use a database.
If you're thinking about using a database, see the previous koan.
* If you use a database, expect to pick and choose among column-oriented stores, and json, while factoring for platform support, api support, whether you want your front-end users to be forced to install and setup a full database,
and if not, what file-based .so or .dll database engine is out there that also supports video, audio, images, and custom types.
* For each time you ignore one of these nuggets of wisdom, take a shot, question your sanity, quit halfway, and then write another koan about what you learned.
* If you do not have liquor on hand, for each time you would take a shot, spank yourself on the ass. For those who think this is a reward, for each time you would spank yourself on the ass, instead *don't* spank yourself on the ass.
* Take a sip if you *definitely* wildly misused terms from OOP, MVP, and spreadsheets.5
Follow-up on https://devrant.com/rants/5001553/...
How the fuck are Jupyter notebooks so popular in research? Like some dude had an idea to take perfectly good markdown and python code, add a whole lot of transitional properties to make version control impossible, encode it as JSON on the assumption that a human could somehow look at it and make sense of countless escaped characters and base64 encoded data, create dedicated software people need to install in order to read what used to be simple plain text, and think "This. This is what 99% of data researchers will use from now on." And somehow, overwhelming majority of researchers agreed that this extremely inefficient data format is the best there is and they should develop all their tools around it.12
I was in a company (if you can call it that) for 3 months but I didn't exactly have a good selection process and I was even afraid to get paid for the first month. They made me install Hubstaff (or new slavery), I was in a project that mixed too many technologies, we were not clear who was making the decisions and finally they fired me this week, you don't know how happy I am.2
I had to install the app and register a user and fill in a bunch of crap... So I can rant about how the webpage for devrant required you to do said things to rant.15
I want a tool called "bogo-npm" which creates a VM and then installs random versions of npm and dependencies in a cycle until the build is successful. It'll probably be the biggest optimization that dogshit ecosystem has ever seen.
I'd just let it run over night and save myself the urges to strangle every single fucking developer who added dozens of dependencies to a stupid near-static website.
And the creator of the abomination called `npm uninstall` which for some fucking reason does the same as `npm install` and then obviously fails because that's the reason I wanted to remove that package in the first place.
We need more heroes like that leftpad dude.3
Nothing like a fucking kernel corruption after Ubuntu update and restart.
It's so great
My two hard drives now are encrypted and to unlock them the kernel should be intact.
The amount of time it'll take to reconfigure my machine to work is insane.
Also, I had commits in products I'm working that weren't on remote. So fuck me.
Now I have to do a fresh install and hope that I can read my second drive.17
"I use arch btw"
Now I can say it too.
(On the mac, using the terminal)
arch -arch x86_64 gem install5
Remember the old Battlefields like 1942 I think it was, the demo version, how easy it was to just jump in and play against AI bots.
2042 I hear has AI bots..
So far I can't easily figure out how to play solo against them..
Lets ignore the near hour it took to, no wait, 2 hours it took to download and install the latest patch, and then like treacle work our way into the game, and actually start playing..
Can you imagine of video arcades was like that, queue for 2 hours before you do anything enjoyable !
So, its got AI bots right ?
So.. how do I start a game with just AI bots ?
Of course, if I had ordered it in physical form, it would have come with a manual right..7
When it comes to using XCode, I can’t be the only one who thinks it’s a stupidly large file. Took a whole day to download, I know having a WiFi speed of 20Mb/s isn’t great but on a brand new iMac with nothing else installed you’d except it to download and install pretty quickly.
Also what is it with the Mac and things not wanting to be full screen??4
aaagh someone please kill appium and smack my senior dev. dude has been given task about test automation and he's an android dev and don't know why tf can't he use espresso and ui automator.
scaling? yeah buzz off man, you are an android eng for fucks sake, don't worry about ios for now!!! appium is going to need customisation for ios/web counterparts so please, for the love of god, don't make me write one trillion lines of java , xml and a 100 more unnecessary files for making a stupid dismiss notification action 😭😭😭
He's a great engineer. the sheer amount of work he has done in the task is worth a salute. but am just 2 years in the industry and can't stand writing same line twice. And not only does he create those biiiig repetitive xml device list files, but also supports them!
another stupid thing about appium, it follows a project architecture and not a library/framework architecture. this means that unlike junit tests which are written alongside the actual code, they are written in an completely seperate , independent project with its own gradle files and dependencies.
aaagghhh, kill me!! junit test would literally go all read and screaming when a class name is slightly changed. but for appium, it gives no shit about whatever is going with the code. its just going to install the apk, look for the view id, if found it will press it, if not, it will fail the test. no automatic compile time errors !!
and since it is *so much* independent of the underlying projects it wants to test (android/ios/web) , its still stupid in principle!! because no 2 devs ever makes some app in android and ios thinking "oh yes, we should call both the notification view id as notif_view" BECAUSE THE CONCEPT OF VIEW DOES NOT EXIST IN IOS!/WEB! THEY ARE GONNA CALL IT BASED ON WHATEVER THEIR CONCEPT IS!!
i so much feel like joining some public sector service based mnc where i am one of those 1000 yo devs who got nothing better to do than write automation tests in selenium and appium3
- yo bro do you have some time ?
- quick cause I'm taking a dump
- I think I have been hacked, got black screen kernel panick, linux freeze seldomly I have to reboot, no internet connexion
- save your stuff and reinstall linux
- I don't have enough stockage to backup
- Then buy one and save, probably either OS is fcked up or you have some hdd problems
Time that it will take: ~30min to reinstall whole shit
Peace duration: ~2years
Later on the same day
- I can't log into windows
- Did you change the password ?
- Yes but it does not work anymore
* looking at shit
* logs successfully. Reason: interface changed after automatic update.
* wait some more so fucking windows fucking starts
* Desktop is ugly as fck.
* Some stupid settings messed up (like high contrast set, black theme or so)
aunt (the same)
- I can't log into my (other) laptop either
* wait more more more
Guess what: automatic updaaaates. Freezes 100%cpu
* Being a very experienced user: wait before reboot because this suckass os will probably fail to boot otherwise
* Blackscreen with a percentage: Installing updates...
* Blackscreen with a percentage: Installing updates continuing...
* finally boot (feels like a miracle windows succeeds lol)
* still slow
aunt now sleeps
* look at running process and install programs
* sees shits like camera recognition (vendor installed), candycrush
* occasionnaly get adds
time lost: 2h
peace duration: ~3month
FFS I am a dev, not a fucking trash lover
It is already pain to fix someone os, but windows is the cream of cream
It brings no ease of use for novice user
It is so insanely slow
It has stupid settings set up by default!!!!!!!! Who FFS wants candycrush and ads
The maj are so fcking hazardous. It is 2022 pretty much the same as 15y back then. Updates take fucking eternity. And needs reboot. and are not even finished!!!
I swear I am gonna stretch my ass and install linux and any fckin other toolsuite needed so they can use Micro$$ word, which is the only fucking usecase they need windows for in the first case anyway
I SO wish this OS would die
I mean, even more than safari8
Well I started learning REACT FUCKING JS because of our team requirements. I'm a Vue developer and well it's a little more complicated for me because react is way harder.
Today I started a simple project to practice react. First thing I realized was that in react project we cannot edit Webpack config by just adding a config file in project root.
In vue we could just add few lines of codes in vue.config.js and then we were good to go!
but in REACT FUCKING JS we must install another library named Carco, which is not COMPATIBLE with latest react version!!!!!
FFS WHAT THE FUCK IS THIS FRAMEWORK20
website no longer lets me use it on mobile
ok, fuck you, I’ll install the mobile app
app is shod city
Lol, installing an Abp package literally breaks startup, you don't even have to use the package, just install it and the shit breaks.
God I hate this bloated piece of shit framework, can't wait to move this codebase to Go.
Does anyone know if it's possible to install a VM (Linux or Windows) on a Linux Server without GUI and then connect to the aforementioned VM via Remote Desktop? If yes, has anyone done it before?4
Microsoft Windows can burn.
I have this feature where I configure a remote API via some endpoints and the API pushes data back to some webhooks in my API.
Yesterday I set everything up for the final test; fired up my own API with some test data, added some configuration and started trace logging to ensure that everything works as expected when the remote site tries to send me data.
I was ready to collect ! Enter this morning: Windows have forcibly rebooted to install an update and shut everything down.
inb4 install Linux; No, I can not. Windows is company policy and I am required to use shit that is only designed for Windows.6
In most businesses, self-proclaimed full-stack teams are usually more back-end leaning as historically the need to use JS more extensively has imposed itself on back-end-only teams (that used to handle some basic HTML/CSS/JS/bootstrap on the side). This is something I witnessed over the years in 4 projects.
Back-end developers looking for a good JS framework will inevitably land on the triad of Vue, React and Angular, elegant solutions for SPA's. These frameworks are way more permissive than traditional back-end MVC frameworks (Dotnet core, Symfony, Spring boot), meaning it is easy to get something that looks like it's working even when it is not "right" (=idiomatic, unit-testable, maintainable).
They then use components as if they were simple HTML elements injecting the initial state via attributes (props), skip event handling and immediately add state store libraries (Vuex, Redux). They aren't aware that updating a single prop in an object with 1000 keys passed as prop will be nefarious for rendering performance. They also read something about SSR and immediately add Next.js or Nuxt.js, a custom Node express.js proxy and npm install a ton of "ecosystem" modules like webpack loaders that will become abandonware in a year.
After 6 months you get: 3 basic forms with a few fields, regressions, 2MB of JS, missing basic a11y, unmaintainable translation files & business logic scattered across components, an "outdated" stack that logs 20 deprecation notices on npm install, a component library that is hard to unit-test, validate and update, completely vendor-& version locked in and hundreds of thousands of wasted dollars.
I empathize with the back-end devs: JS frameworks should not brand themselves as "simple" or "one-size-fits-all" solutions. They should not treat their audience as if it were fully aware and able to use concepts of composition, immutability, and custom "hooks" paired with the quirks of JS, and especially WHEN they are a good fit.
I spent the whole damn day trying to setup grpc-web, but this protocol is documented so damn poorly!
You manage to set grpc up for one language and it’s all cool, then you stupidly think that you are free to reuse the compiler you used for the nodejs version for your frontend part but nope! Our web module is now deprecated, please use this module instead!
“Ah yes just clone the repo and check out (…) and you can also check this link whic is in no way highlighted in the middle of a wall of text (…)”
*checking the other page*
Ah yes you need to install a package available only on your unix machine (great! Screw the devs in my team who use windows I guess, they’ll be happy to hear this!) and don’t forget to clone this repo to build your own plugin! And by that I ofc mean to compile it on your own!
- compiler error
After digging for an hour you find a requirement in an obscure issue opened and closed cause “ah yes we have a dependency not stated anywhere” *close issue and never add it to the project*
Fine, fine I can survive this bs
- another compiler error, no solution found after 2 hours
Honestly? Why the fuck do I need to compile this stuff? Just give me a damn npm package I can use? Goddamn it’s just transpiling, you don’t need access to my OS! (Aside for fs to save the files, and which btw is accessible via nodejs)
Now, I COULD download the latest realease as a precompiled, but… honestly?
I give up, I’ll do some shitty rest apis cause the customer’s not paying me enough for even THINKING to go trough this shit again when they’ll ask an iOS app. Or having colleagues asking me to help them understand how to do it.
Side note: also add typescript support to the web-code-generation ffs! Why does node have it and web don’t?5
I created a 100GB partition and when i install OS on it pc boots straight to windows
how can i solve this17
Is there a portable DB format like sqlite but stores data like Mongo.
Each record contains key value pairs.
I guess I could install Mongo again... But kinda want to play with the data first. Pulls from a web api
I guess other alternative is to just save the json responses to disk in separate folders and files for now...
And abstract the DB layer behind an interface6
I'm sure many of you have old laptops and PCs lying around at home. Don't throw them away, and don't just leave them out there. Put them to use.
Install a Linux distro on them and they'll be as good as new https://linuxstans.com/best-linux-d...7
So few days ago I've installed Mojave from clean setup (Hackintohsh) and works smooth as butter, and today I woke up in the morning and sat down to work, my pc was running on windows so I restarted it, there was some updates to be installed but what a heal will install them later, so the pc started booting in Mojave, usually takes few seconds but this time it got stuck on the loading screen, so rebooted again and this time added -v boot parameter to clover to see whats going on, got some errors about IGPU (had to use intel's gpu.. thanks Nvidia .!.), did few googling some suggested using -disablegfxfirmware but that didn't work, so rebooted again.. hoping I would get more info, guess what? windows 10 was in hibernation (possibly because there were updates to be installed on boot) and that somehow prevented mojave from using the ssd i guess? not sure exactly, so In the end I got very lucky cause if I didn't read the message I would have reinstalled the mojave and loose a day at work... politely f*** you windows updates!
wtf is JAMF? a quick look on internet and i can see that its a worst tracking software i guess. remote code execution, network tracking, app usage , system logging, keystroke tracking(maybe), this shit does everything you don't want. I guess this is the end of my devrant, pornhub, leetcode, freelancing, travel booking and everything that i would do on an office laptop while considering it as my own.
"Best remote work culture" my ass. if they can't trust their devs then why even bother letting them work from home? deport them to fucking Guantanamo bay, no?
This is a shitty situation . What do i do now? Install a vpn? will that work? please share names of some good and affordable vpns
i will have to check on this JAMF shit to see if i am able to keep my personal life away from its prying eyes. if not i guess i will have to buy a new device.
what do you people do? are you able to switch context b/w the 2 of your devices easily?I am shit at multi tasking7
I had been assigned a task to create a cross-platform desktop application that keeps track of the expiry of a certain product and notify in real-time.
So, my journey to create such an application starts today and the list below describes the first few hours.
5. Google/Are electron.js applications platform independent
6. Google/Dart for desktop applications
7. Google/Is dart cross-platform
8. Google/Best desktop application framework
9. Google/Python for desktop app development
10. Freecodecamp/How to build your first desktop application in python
12. Google/Which is the best technology to build cross-platform desktop application
13. Google/Cross-platform desktop app development for windows mac and linux
14. Udemy / cross platform desktop app development for windows mac and linux
15. Youtube/ electron desktop app, demo
16. Youtube/ electron.js is obsolete
18. Youtube/ neutralinojs tutorial
19. Google/Neutralinojs or electronjs
21. Google/Math.js/JS Bin
22. Google/Cannot find package “math.js”
23. StackOverFlow/How do I resolve “cannot find module” error using Node.js
24. Google/ is it better to install npm packages locally
25. Quora/ why should you stop installing NPM packages globally
26. Google/ what is nvm
27. Google/nvm version check
28. Stackoverflow/node version management on windows
29. Github/coreybutler/nvm-windows: a nvm for windows. Ironically written in Go
30. Google/how to uninstall a npm package
31. Npm docs/uninstalling packages and dependencies
33. Youtube/how to install electronjs
34. Youtube/electronjs in 100s(fireship.io)
35. Roryok.com/electronjs memory usage compared to other cross-platform frameworks
36. Google/is electronjs memory hungry
37. Youtube/sql in one hour
38. Youtube/learn sql in 60 mins
39. Geeksforgeeks/connect mysql with node app
40. Stackoverflow/How to return to previous directory using cmd
41. Stackoverflow/how to require using const
42. Geeksforgeeks/difference between require and es6 import and export
TO BE CONTINUED...1
Angular cli was installed globally with some "more up-to-date" version and locally for a project with a slightly older version. On a local machine. No problem.
The same thing on a VM: nope, module not found error. node trying to run a node_modules install script from within windows directory, in which nothing node-related exists ... ??
Hello everyone I have taken a Thinkpad recently and it has ubuntu on it when I was going through it there was multiple accounts and I deleted them and came to a single account during this process I am facing a crash on my lappy when ever I set it out for sometime without using it or letting myself some rest as I know Ubuntu is an open source and I don’t want to install other OS or Windows on it. Can I fix this error crash in ubuntu.9
So I love what Apple is doing with the new Macs, great hardware, streamlined optimization, blistering performance.....great stuff.
But here's the thing. I think I'm gonna get a ThinkPad and just install fedora on it. It's far cheaper and outside of only going up to 16GB of ram it meets all my needs.
But between you and I a big factor in why I'm finding it hard to go Mac is the system settings. Like why is it like that? Why when I click something a separate window opens.....odd.6
I have been using Linux for a while and I get update notification about 3 times per week. I find it annoying. As soon as I plan to get some work done, I get a large notification popup saying "Hey, it's time to install le updates". I find it distracting; especially so because I use my laptop about 3 times per week; so basically EVERY TIME when I'm about to use it, it says "HEY you know what? Time for UPDATES".
Updates on Windows are annoying too; but at least they do not appear as often. I find this unacceptable and I do not know how anyone could think that distracting people from work so often is "ok". This is bad.11
I don't know if my Ubuntu system is on high or anything, but I realized that if you remove a package, you also lose your ability to install it again.
For example, when I remove a package called `dmd`, and search it, it just shows the package `dmd` without any description, with the tag `residual-config`. And if I try to install it, it will split an error back to me, says that the package `dmd` doesn't have any release candidate. And if I `purge` it, it will magically vanish when I search it, and install it will just say `No apt package "dmd"`.5
Really minor gripe, but how comes that on a new install of Regolith ping is not installed but mtr is?
I think it's not limited to Regolith... But that's weird, isn't it?