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 - "first patch"
-
As a long-time iPhone user, I am really sorry to say it but I think Apple has completed their transition to being a company that is incompetent when it comes to software development and software development processes.
I’ve grown tired of hearing some developers tell me about Apple’s scale and how software development is hard and how bugs should be expected. All of those are true, but like most rules of law, incompetence and gross negligence trumps all of that.
I’m writing this because of the telugu “bug”/massive, massive security issue in iOS 11.2.5. I personally think it’s one of the worst security issues in the history of modern devices/software in terms of its ease of exploitation, vast reach, and devastating impact if used strategically. But, as a software developer, I would have been able to see past all of that, but Apple has shown their true incompetence on this issue and this isn’t about a bug.
It’s about a company that has a catastrophic bug in their desktop and mobile platforms and haven’t been able to, or cared to, patch it in the 3 or so days it’s been known about. It’s about a company, who as of a view days ago, hasn’t followed the basic software development process of removing an update (11.2.5) that was found to be flawed and broken. Bugs happen, but that kind of incompetence is cultural and isn’t a mistake and it certainly isn’t something that people should try to justify.
This has also shown Apple’s gross incompetence in terms of software QA. This isn’t the first time a non-standard character has crashed iOS. Why would a competent software company implement a step in their QA, after the previous incident(s), to specifically test for issues like this? While Android has its issues too and I know some here don’t like Google, no one can deny that Google at least has a solid and far superior QA process compared to Apple.
Why am I writing this? Because I’m fed up. Apple has completely lost its way. devRant was inaccessible to iOS users a couple of times because of this bug and I know many, many other apps and websites that feature user-generated content experienced the same thing. It’s catastrophic. Many times we get sidetracked and really into security issues, like meltdown/spectre that are exponentially harder to take advantage of than this one. This issue can be exploited by a 3 year old. I bet no one can produce a case where a security issue was this exploitable yet this ignored on a whole.
Alas, here we are, days later, and the incompetent leadership at Apple has still not patched one of the worst security bugs the world has ever seen.81 -
We got married and started our relationship at 1.0. After our first argument, we managed to patch things up, so it wouldn't all break down: 1.0.1
Same night, I suggested a sexy new feature, and we worked up a good sweat implementing it together.
I got too excited and released prematurely: 1.1.0
After that, she was a bit cross, but then I suggested a hotfix. She agreed and got right on top of it. After a few minutes she finished and managed a release as well: 1.1.1 😏4 -
Fuck Apple and its review system
So, this started in december. We wanted to publsih an app, after years of development.
Submit to review, and passes on the first try. Well, what do you know. We are on manual release option, so we can release together with the android counterpart. Well yes, but someone notices that the app name is not what was aggreed (App Name instead of AppName). Okay, should be easy, submit the same app, just the name changed. If it passed once, it will pass again, right? HAH
Rejected, because the description, why we use the device’s camera is too general. Well... its the purpose of the app... but whatever, i read the guidelines, okay, its actually documented with exapmles. BUT THEN WHY THE FUCK COULDNT YOU SAY THAT ON THE FIRST UPLOAD?
Whatever, fix it, new version, accepted, ready to release just in time.
It doesindeed roll out,but of course, we notice that the app has a giant issue, but only on specific phones. None of our test phones had this problem, but those who have, essentially cannot use our program. Nasty as it is, the fix is really easy, done in 5 minutes. Upload it asap, literally nothing changed from user point of view, except now it doesnt crash on said devices. Meanwhile 1 star reviews are arriving from these users - of course with all the right. Apple should allow this patch quickly, right? HAH
THE REAL BULLSHIT COMES NOW
With only config files changed, the same binary uploaded we get rejected? What now? Lets read it. “Metadata rejected, no need to upload new binary”.... oh fine only the store page is wrong? Easy. Read the message, what went wrong. “Referencing third party content is nit permitted on the app store” meaning that no android test device should be shown. Fine, your rules. They even send a picutre of the offending element. BUT ITS NOT EVEN ON THE STORE. THATS A SCREENSHOT OF THE APP. HOW IS THAT METADATA? I ask about this, and i get a reply, from either a bot, or a person who cant speak or read english, and only pasted a sample answer, repeating the previous message. WTF. Fine, i guess you are dumb, but since they stop replying to our queries, do the only sensible thing, re-record the offending tutorial video that actually contained an android device. This is about 2 weeks, after the first try to apply a simple patch to a broken app. And still, how did it pass the review 2 times?
Whatever, reupload again, play the waiting game for a week, when the promised average wait time is 2 days, they hit us with a message, that they want to know what patent we use in our apps core functionality. WTF WHY NOW? It didnt bother you for a month, let it release ti production and now you delay a simple patch for this? We send them what they know. Aaaaand they reply: sorry we need more time to review your app. FUUUUUUCKKK YOUUU. You are reviewing a PATCH with close to zero functional change!!! Then, this shit goes on, every week we ask about an ETA, always asking for patience... at the end it took another 3 weeks... so december 15 to jan 21 in total...
FOR. A. SINGLE. FUCKING. PATCH
Bottom line is what is infurating, apple cares that there is an android device in the tutorial video, but they dont care that a significant percentage of our users simply cannot use the app.
Im done7 -
Apple released an update for MacOS that allowed you to type "root" as the username and "" as the password, hit the Authenticate button twice (the first time erroring out) and then have complete root permissions to the system.
They fixed it pretty much immediately, but then a later patch regressed it again.5 -
When I was about 12, I was stuck on a certain level in a PC game. I wrote my first patch in C++ to give me God mode. First time I realized programming was the most powerful thing one can do in the universe...1
-
Manager: You want a promotion? To senior? Ha. Well, build this web app from scratch, quickly, while still doing all your other duties, and maybe someone will notice and maybe they’ll think about giving you a promotion! It’ll give you great visibility within the company.
Your first project is adding SSO using this third party. It should take you a week.
Third party implementation details: extremely verbose, and assumes that you know how it works already and have most of it set up. 👌🏻
Alternative: missing half the details, and vastly different implementation from the above
Alternative: missing 80%; a patch for an unknown version of some other implementation, also vastly different.
FFS.
Okay, I roll my own auth, but need creds and a remote account added with the redirects and such, and ask security. “I’m building a new rails app and need to set up an SSO integration to allow employees to log in. I need <details> from <service>.” etc. easy request; what could go wrong?
Security: what’s a SSO integration do you need to log in maybe you don’t remember your email I can help you with that but what’s an integration what’s a client do you mean a merchant why do merchants need this
Security: oh are you talking about an integration I got confused because you said not SSO earlier let me do that for you I’ve never done it before hang on is this a web app
Security: okay I made the SSO app here you go let me share it hang on <sends …SSL certificate authority?>
Boss: so what’s taking so long? You should be about done now that you’ve had a day and a half to work on this.
Abajdgakshdg.
Fucking room temperature IQ “enterprise security admin.”
Fucking overworked.
Fucking overstressed.
I threw my work laptop across the room and stepped on it on my way out the door.
Fuck this shit.rant root mentally adds punctuation root talks to security root has a new project why is nowhere hiring enterprise sso12 -
> Worst work culture you've experienced?
It's a tie between my first to employers.
First: A career's dead end.
Bosses hardly ever said the truth, suger-coated everything and told you just about anything to get what they wanted. E.g. a coworker of mine was sent on a business trip to another company. They had told him this is his big chance! He'd attend a project kick-off meeting, maybe become its lead permanently. When he got there, the other company was like "So you're the temporary first-level supporter? Great! Here's your headset".
And well, devs were worth nothing anyway. For every dev there were 2-3 "consultants" that wrote detailed specifications, including SQL statements and pseudocode. The dev's job was just to translate that to working code. Except for the two highest senior devs, who had perfect job security. They had cooked up a custom Ant-based build system, had forked several high-profile Java projects (e.g. Hibernate) and their code was purposely cryptic and convoluted.
You had no chance to make changes to their projects without involuntarily breaking half of it. And then you'd have to beg for a bit of their time. And doing something they didn't like? Forget it. After I suggested to introduce automated testing I was treated like a heretic. Well of course, that would have threatened their job security. Even managers had no power against them. If these two would quit half a dozen projects would simply be dead.
And finally, the pecking order. Juniors, like me back then, didn't get taught shit. We were just there for the work the seniors didn't want to do. When one of the senior devs had implemented a patch on the master branch, it was the junior's job to apply it to the other branches.
Second: A massive sweatshop, almost like a real-life caricature.
It was a big corporation. Managers acted like kings, always taking the best for themselves while leaving crumbs for the plebs (=devs, operators, etc). They had the spacious single offices, we had the open plan (so awesome for communication and teamwork! synergy effects!). When they got bored, they left meetings just like that. We... well don't even think about being late.
And of course most managers followed the "kiss up, kick down" principle. Boy, was I getting kicked because I dared to question a decision of my boss. He made my life so hard I got sick for a month, being close to burnout. The best part? I gave notice a month later, and _he_still_was_surprised_!
Plebs weren't allowed anything below perfection, bosses on the other hand... so, I got yelled at by some manager. Twice. For essentially nothing, things just bruised his fragile ego. My bosses response? "Oh he's just human". No, the plebs was expected to obey the powers that be. Something you didn't like? That just means your attitude needs adjustment. Like with the open plan offices: I criticized the noise and distraction. Well that's just my _opinion_, right? Anyone else is happily enjoying it! Why can't I just be like the others? And most people really had given up, working like on a production line.
The company itself, while big, was a big ball of small, isolated groups, sticking together by office politics. In your software you'd need to call a service made by a different team, sooner or later. Not documented, noone was ever willing to help. To actually get help, you needed to get your boss to talk to their boss. Then you'd have a chance at all.
Oh, and the red tape. Say you needed a simple cable. You know, like those for $2 on Amazon. You'd open a support ticket and a week later everyone involved had signed it off. Probably. Like your boss, the support's boss, the internal IT services' boss, and maybe some other poor sap who felt important. Or maybe not, because the justification for needing that cable wasn't specific enough. I mean, just imagine the potential damage if our employees owned a cable they shouldn't!
You know, after these two employers I actually needed therapy. Looking back now, hooooly shit... that's why I can't repeat often enough that we devs put up with way too much bullshit.3 -
Swithced to Ubuntu, this is my first ever OS outside of windows. Man I am loving this shit.
Bought my laptop with windows 8, was working like charm and then came windows 10, I updated it and it was working fine untill they started releasing the patch updates. My laptop became slow as fuck, taking forever to boot and bitch was I afraid to connect to my wifi fearing the background data consumption and the antivirus clogging the ram.
I am free now, I am finally free. I am ready suck the developer's dick just to please him for this masterpiece and helping me get out of this misery.19 -
Excerpts from "Bastard devops from hell" checklist:
- Insistently pronounce git with a soft "G" and refuse to understand people not using that pronunciation, the same goes for jithub, jitlab, jit lfs, jitkraken etc.
- Reject all pull requests not in haiku format, suggest the author needs to be more culturally open minded when offending.
- increment version numbers ONLY based on percentage code changed: Less than 1% patch increment, less than 5% minor increment, more than that major version increment.
- Cycle ALL access keys, personal tokens, connection strings etc. every month "for security reasons"
- invent and only allow usage of your own CI/CD language, for maximum reuse of course. Resist any changes to it after first draft release23 -
Time for a REAL fucking rant.
io_uring manpages say you can set the CAP_SYS_NICE capability to allow SQPOLL to work. You can't, you still get an operation not permitted errno result.
Why? I checked, it says 5.10 mainline is required. Pretty sure I just manually downloaded and installed the Deb's myself. uname reports that I am at 5.10. So what gives?
Maintainer submitted a patch because they fucked up and made the *actual* capability check look for what's basically root permissions (CAP_SYS_ADMIN... c'mon...) and is now trying to rectify a glaring security shortcoming.
Patch hasn't been accepted or even addressed yet but they already updated the manpages with the estimated mainline kernel release as if it had made it into the release candidate. Manpages have made it into latest debs but the actual change has not.
Where the fuck is the Linus Torvalds that would ream the fuck out of shitty developers doing shitty things? The political correctness climate has discouraged such criticism now and the result... this. This fucking mess, where people are allowed to cut corners and get away with it because it would hurt their feelings when faced with pressure.
I'm not just guessing either. The maintainer has already said some of the "tone" of criticisms hurt his feelings. Yes, sorry, but when you claim 90% speedup over a typical epoll application using your new magical set of syscalls, and nobody can even get 1-2% speedup on a similar machine, people are going to be fucking skeptical. Then when you lower it to 60% because you originally omitted a bunch of SECURITY RELATED AND CORRECTNESS CHECKING CODE, we're going to call you the fuck out for fudging numbers.
Trying to maintain the equivalent of academic integrity within the computer science field is an exercise of insanity. You'd be fired and shunned from publishing in journals if you pulled that shit in ANY OTHER FUCKING FIELD, but because the CS scene is all about jerking each other off at every corner because the mean people keep saying mean things on Twitter and it hurts your feelings therefore we're all allowed to contribute subpar work and be protected from criticisms when others realize it's subpar.
These aren't mistakes anymore, it's clear you're just trying to farm clout at Facebook - maybe even FOR Facebook.
Fuck you. Do it right, the first time. Sick of shitty code being OK all of a sudden.2 -
First rant, technically a sysadmin but getting into the nitty-gritty of programming with some things to improve my job (and hopefully moving into something more technical).
Have been doing a paid internship at my utility company. I do patch management with SCCM and sometimes the updates break. I've been using Powershell to reset the Windows update cache to make the computers work again. Unfortunately, this sometimes involves logging into machines to do some manual work and I have to notify users before I log in if they're already logged in.
Scripts can be run silently but I've spent a few weeks trying to automatically retry Software Center updates with Powershell … before realizing just today that the system center action "Application Deployment Evaluation Cycle" does indeed do the thing I've been attempting to do with Powershell for weeks now.
Wish me luck as I automate that part of the process and completely automate the sole job they gave me to do. Don't tell on me!5 -
Anyone reading these emails we are sending?
I work at a small place. A few users are using an application at our place that I develop and maintain. We all work remotely.
I announce by email to these few users a new version release of said application because of low level changes in the database, send the timeline for the upgrade, I include the new executable, with an easy illustrated 2 minutes *howto* to update painlessly.
Yet, past the date of the upgrade, 100% of the application users emailed me because they were not able to use the software anymore.
----------------
Or I have this issue where we identified a vulnerability in our systems - and I send out an email asking (as soon as possible) for which client version users are using to access the database, so that I patch everything swiftly right. Else everything may crash. Like a clean summary, 2 lines. Easy. A 30 second thing.
A week pass, no answer, I send again.
Then a second week pass, one user answers, saying:
> well I am busy, I will have time to check this out in February.
----------------
Then I am asking myself:
* Why sending email at all in the first place?
* Who wrote these 'best practices textbooks about warning users on schedule/expected downtime?'
*How about I just patch and release first and then expect the emails from the users *after* because 'something is broken', right? Whatever I do, they don't read it.
Oh and before anyone suggest that I should talk to my boss about this behavior from the users, my boss is included in the aforementioned 'users'.
Catch-22 much ? Haha thanks for reading
/rant7 -
I need some advice here... This will be a long one, please bear with me.
First, some background:
I'm a senior level developer working in a company that primarily doesn't produce software like most fast paced companies. Lots of legacy code, old processes, etc. It's very slow and bureaucratic to say the least, and much of the management and lead engineering talent subscribes to the very old school way of managing projects (commit up front, fixed budget, deliver or else...), but they let us use agile to run our team, so long as we meet our commitments (!!). We are also largely populated by people who aren't really software engineers but who do software work, so being one myself I'm actually a fish out of water... Our lead engineer is one of these people who doesn't understand software engineering and is very types when it comes to managing a project.
That being said, we have this project we've been working for a while and we've been churning on it for the better part of two years - with multiple changes in mediocre contribution to development along the way (mainly due to development talent being hard to secure from other projects). The application hasn't really been given the chance to have its core architecture developed to be really robust and elegant, in favor of "just making things work" in order to satisfy fake deliverables to give the customer.
This has led us to have to settle for a rickety architecture and sloppy technical debt that we can't take the time to properly fix because it doesn't (in the mind of the lead engineer - who isn't a software engineer mind you) deliver visible value. He's constantly changing his mind on what he wants to see working and functional, he zones out during sprint planning, tries to work stories not on the sprint backlog on the side, and doesn't let our product owner do her job. He's holding us to commitments we made in January and he's not listening when the team says we don't think we can deliver on what's left by the end of the year. He thinks it's reasonable to expect us to deliver and he's brushing us off.
We have a functional product now, but it's not very useful yet and still has some usability issues. It's still missing features, which we're being put under pressure to get implemented (even half-assed) by the end of the year.
TL;DR
Should I stand up for what I know is the right way to write software and push for something more stable sometime next year or settle for a "patch job" that we *might* deliver that will most definitely be buggy and be harder to maintain going forward? I feel like I'm fighting an uphill battle in trying to write good quality code in lieu of faster results and I just can't get behind settling for crap just because.9 -
Okay. I’m upset. So the recent .NET update Microsoft put out fried SharePoint which I am currently the main point of contact for at our company. In addition, my only current projects are creating workflows.
I was publishing a workflow and got an error. I googled the error and found that it was the .NET update that caused it. Internet says to edit the web.config file for your web apps and it will be good to go. I go to our networks guy (only available supervisor) and explain what happened and ask about the recent patch and whether this could be the cause. He says that his team doesn’t actually handle the patches so I should speak with the HelpDesk lead (don’t ask).
I go to the HelpDesk lead and explain the situation, explain the solution and ask for what to do next. Keep in mind that this whole thing takes two hours because it’s Friday and everyone is out and I can’t do any of my work while I’m waiting on this. HelpDesk lead says “you have an admin account, I trust you. Go fix it” so I think uh okay.... I’m a junior and not even technically an IT person but sure. I know how to do it - but got nervous about fucking it up because our entire organization uses Sharepoint.
Nevertheless I go to my desk and look for the root directories and find that they’re on a server somewhere that I have no access to. I message the Helpdesk guy and tell him this and he says to talk to the developer supervisor. Great! He’s super nice and helpful and will totally understand! Only he’s not in. Neither is half of his team.
I go to his team and look around and find nobody but realize I may be able to catch one of the guys I know and work with in the break room. I start leaving and am stopped by a developer who is generally nice and funny. I explain the situation and he says “you... YOU need to edit a config file?” And scoffs. He demands to see what I’m talking about.
I walk him to my machine and show him what’s going on and all the research I did. I start to realize he thinks I’m overstepping and I begin to apologize and explain the details to why I was asked to do it and then I say “I really shouldn’t even be the one doing this” he says “no you should not. This isn’t getting done today. Put in a request, include your research and we will see what we can do when the supervisor gets back next week”
His tone was like I was in trouble and I know that I’m not, but it’s my goal to end up on that team and I just feel like shit about this whole situation. To top it off my boss pulled me off of two projects because of unrelated issues (and nothing to do with me) so I have basically nothing to do and I just feel very discouraged. I feel dumb and like I should have gone to the developers first. I just wanted to make it easy on everyone and do my research. I feel like I keep being put in situations above my level (I’m one of two juniors in a 16 person shop, the other one is an intern) and then “getting in trouble” for working beyond my scope.
Anyways.... fuck Microsoft4 -
Just now... Got a job to create patch files for a couple of jars, which may or may not have varying class files. In total, I have to decompile, check, add and synchronize about 30 class files in 6 jars with a new functionality (that I didn't write). 🙂
FUCK PRODUCTION! WHY CANT YOU MAINTAIN ONE MOTHERFUCKING JAR?
OH? YOU'RE SUPERSTITIOUS THAT ONE TINY, ANT-SHIT SIZED CHANGE IN ONE SIMPLE FUNCTIONALITY WILL FUCK UP *OUR* PRODUCT?
FUCK MANAGEMENT! YOU DON'T HAVE CONFIDENCE IN YOUR *OWN* PRODUCT!
OH? CUSTOMER COMES FIRST? HAVE THE BALLS TO DEFEND YOUR OWN FUCKING SELF AND PRODUCT TO THE CLIENT OR THEY'RE GONNA MAKE YOU YOUR BITCH AND TIE A GAGBALL DIPPED IN HOT SAUCE AROUND YOUR MOUTH! HOW.. THE FUCK.. DID YOU MISS THAT LOGIC??????
Best part, they want it by tomorrow, and they don't wanna test it. Guess who's gonna get slaughtered after a week? ME! 🙂5 -
Fuckin RAZER. Part 2. "SOLVED!!!"
This will be both a rant and a shout out.
Firslty, fuck RAZER. I don't who in the actual fuck makes the software for these peripherals, but while the hardware is decent the entire software team should be tarred and fucking feathered. Just beaten bloody with a rubber hose. And then publicly paraded and shamed through whatever backwater shithole they call home all while their mothers look on crying their eyes out.
Anyway, some of you may be familiar with my Razer peripherals on Mac saga.
To refresh your memories... I got 4 razer devices for my b-day from my wife. I was very stoked. They work great on Windows 10. They work for shit on Mac and the software to manage their colors, Synergy 3, is not available on Mac, and the version that is, Synergy 2, basically does not work and hasn't worked for like two years and would only work for two of these peripherals anyway and it would appear Razer does not give a shit. Fuck.
Ok, we caught up? Good.
In our last episode I ran up a full Windows 10 VM AND a full Debian VM just so I could jumpstart these god damn peripherals into a solid color.
Why so much work?
Because by default they rotate the color spectum fucking SEPARATELY... so it's just a god awful mess of rando RGB.
So, by running Synergy 3 on the Windows side, and then an open source package called Poloychromatic on the Debian side I was able to patch together preferences through the two programs... and I found quitting out of them hard kept the keyboard, mouse, mousemat, and dock color settings until the next reboot while working on my Mac.
For WEEKS I WENT THROUGH THIS FUCKING PROCESS AT EVERY REBOOT.
Reboot. Run up Windows 10 VM, update Synergy 3, log into Synergy 3, Open Synergy 3, Wait like 90 seconds, Synergy 3 finally fucking gets ahold of my mouse pad, mouse, and dock (not the keyboard).
Run up Debian VM (at least its fast), start polychromatic, set the keyboard solid color.
Then quit them both and my colors are set until reboot.. This is, for lack of a better turn of phrase, the most fucking ridiculous thing ever.
I had to do a 400 fucking megabyte update today for the Synergy 3 software that lives INSIDE my god damn VM. A VM only created in the first damn place to run synergy 3 and then fucking die. And it put me over the edge.
I committed to finding a better way this evening. I started looking into trying to port polychromatic to macOS my god damn self only to find this badass mother fucking kid Ken Chen wrote a whole god damn macOS package and put it up on GitHub.
Fuck fucking YEEEEEESSSS!!!
So thanks to Ken Chen, a student from Australia with 12 Github followers, who was single handedly able to write a better software product than the entire fucking team at SHIT FOR BRAINS fucking Razer.
https://github.com/1kc/razer-macos4 -
Recently I have updated my lubuntu to 18.04.
I don't use it regularly but I like to have it on the side of my window 10.
Anyway today I boot and decide to use it and get this error.
[0.000000] [Firmware Bug]: TSC_DEADLINE disabled du to errata; please update microcode to version 0x22 (or later)
and two MMIO read fault.
At first it sounds really dramatic and I was thinking, "Nice ... I never get a problem with Windows Update and when its Linux it doesn't work ..."
But lubuntu boots normally after so it's not a blocking problem.
So I do what most of us do in case like this, go to Google and search to know what the hell is going on.
And the answer is simple, my CPU microcode isn't up to date to prevent Spectre, one apt get install and a reboot later my 4700HQ is patched in 0x24 version and protected for Spectre where my windows didn't patch anything and worst disable the KB that I have installed manually before the last big update.
So thanks Linux, you scared me with your error but it was a good job to throw it :)1 -
team lead/senior telling you that you're probably going to break prod and have to patch it for the next couple of weeks when working on one of the first migration epics on legacy monolith, but we'll get good data from it doesn't make it any less terrifying5
-
This is a story of how I did a hard thing in bash:
I need to extract all files with extension .nco from a disk. I don't want to use the GUI (which only works on windows). And I don't want to install any new programs. NCO files are basically like zip files.
Problem 1: The file headers (or something) is broken and 7zip (7z) can only extract it if has .zip extension
Problem 2: find command gives me relative to the disk path and starts with . (a dot)
Solution: Use sed to delete dot. Use sed to convert to full path. Save to file. Load lines from file and for each one, cp to ~/Desktop/file.zip then && 7z e ~/Desktop/file.zip -oOutputDir (Extract file to OutputDir).
Problem 3: Most filenames contain a whitespace. cp doesn't work when given the path wrapped in quotes.
Patch: Use bash parameter substitution to change whitespace to \whitespace.
(Note: I found it easier to apply sed one after another than to put it all in one command)
Why the fuck would anyone compress 345 images into their own archive used by an uncommon windows-only paid back-up tool?
Little me (12 years old) knowing nothing about compression or backup or common software decided to use the already installed shitty program.
This is a big deal for me because it's really the first time I string so many cool commands to achieve desired results in bash (been using Ubuntu for half a year now). Funny thing is the images uncompressed are 4.7GB and the raw files are about 1.4GB so I would have been better off not doing anything at all.
Full command:
find -type f -name "*.nco" |
sed 's/\(^./\)/\1/' |
sed 's/.*/\/media\/mitiko\/2011-2014_1&/' > unescaped-paths.txt
cat unescaped-paths.txt | while read line; do echo "${line// /\\ }" >> escaped-paths.txt; done
rm unescaped-paths.txt
cat escaped-paths.txt | while read line; do (echo "$line" | grep -Eq .*[^db].nco) && echo "$line" >> paths.txt; done
rm escaped-paths.txt
cat paths.txt | while read line; do cp $line ~/Desktop/file.zip && 7z e ~/Desktop/file.zip -oImages >/dev/null; done3 -
I had just finished programmer school (Air Force Tech School), and was all set to wade into the world of C++ programming. Got to my first job, and they set my down at a VT220 terminal on a VAX 11/780 and said, "You are the new sys admin." Talk about disappointment. My first actual coding? I got to apply a software patch to a Gould SEL 67 that only had a Mod 40 TTY as an interface ... yes, pretty much a typewriter ... no terminal screen. I am so happy technology has advanced as much as it has.
-
Stayed up coding all night to make sure things worked nicely. An hour before I left work yesterday, received 5 other never spoken off tasks.
none of the communication went directly by me, I just had to hear out the nonsense, but did a complete integration half a year ago
managed to do 3,8 of those task after working out and finishing the first set. became 5am.
might be because I went mental and have synced up 2repo's with idem dito codebase to be up to date to eachother (don't ask me why this is setup this way, I don't get half of their logic, hence why it doesn't work until I silently patch stuff out)
overslept by an hour.. yay me.
inb4 being fired
(no time for a capitalisation and spellcheck on this rant either, 9.30am now, tired af)3 -
New job is turning out to be kind of the opposite of what I was expecting, based on interviews.
I thought I had done a pretty thorough job asking the kinds of challenging and specific questions during the interviews and was pretty satisfied with the answers.
Three weeks in, I’ve more or less been turned loose onto my first project which is….installing patch updates.
Next few projects through the end of the year and into Q1 next year are similarly sysadmin-chore work, which I’m not going to act like is beneath me or unimportant but it’s not quite what we talked about in the interview when I applied to an SDET position.
Point of order to talk about once I wrap up these first few projects, it doesn’t exactly seem like they know where I’m supposed to be or where to even really put me (on the org chart I have a line reporting up to boss, but I’m also the only one not on a functional team) and reading through the wiki last guy just kind of did everything.
If that’s what this is….eh I need to know if that’s how they want to use me and find out soon.11 -
For the past 5 odd years my Bluetooth headphones wouldn't connect to my laptop properly and I had to issue a second Connect command while the first was pending to get it working. I even wrote a script to automate this: https://github.com/lbfalvy/...
Today Bluez finally released a patch for this. That's right, after many years, today the issue got fixed; Connect now returns an error if a call is already pending.
My headphones still don't work, but my workaround is now correctly recognized as invalid input.13 -
First patch for buildroot submitted and added applied to master!! 😁
I had the impression that git (like, more than "git add ." was just too complicated and that making patches was some sort of dark magic using some obscure unix tools.
Well, it turns out that is actually pretty easy, fun and exhilarating!!
Looking forward to build up until I'm making contributions to the kernel! 🤓 -
Client wants me to document the updated patch in the system... In detail. I just want to upgrade their server memory but noooooo. They want me to detail it all in step-by-step, including change impact, description task, expected time duration, back-out plan.
The first time I had to do this, it was cute. But now it's FUCKING ANNOYING ON HOW DETAIL THEY WANT ME TO PUT IN!!!
Client: "OK, so you wanna upgrade the server memory. What do you need to bring into the data centre?"
Me: "Just my laptop. I'm just configuring your underutilised server memory and upgrade it."
Client: "Good. Put that in the document, including your laptop serial #, make and model."
Me: *Screaming internally* -
Yocto is the most overly complicated shit on earth! How the fuck did i ever get my board to boot? You get so easily lost in layers and bb and bbappend and there are like 20 flavours of assignement operators and to configure the kernel you need to run one command for menuconfig and then another right after to pull a diff out of the .config into your project. otherwise noone else will have your changes. TrY the same thing with the bootloader and the whole thing shits its pants. Also there are like four devicetree that are required for boot. And if you specially fuck up here, your hardware will be an expensive paperweight. Also there are like featuresets that enable shizz like wayland or ethernet but good luck finding out what in the actual genderbent jesus the thing you just configured does. And there is like no way to visualize any of it as its just a cockblock of text and files. Also if you use search the results are most likely useless. As the thing you are looking for is a filename and vscode does a text search only. Also you can add layers but whatever the fuck that means as a bsp is like a layer but so can also be a kernel patch or some rando variable change. And good luck fugurig out to which dir $PWD points to. As it could just be on the Elon Musk nazi base on the dark side of the moon. Also every folder starts with meta for some dumb reason. And if it starts compiling you could just aswell build a coffin and go into winter hibernation. It takes fucking forever. I have a 3800x and the build takes 1.5h. Why? Because, BECAUSE, B E C A USE! There is a require package called optee. Which need a python package. That package depends on a crypto lib thats written in rust. And since its all from source, it downloads the FUCKING rust compiler source and compiles the compiler to compile a lib that only takes like 5 seconds to compile. Also good luck figuring that out without constantly staring at the compile log. As there is some compilation time info but you need to write a parser for that first as there is no included anal -lyzing tool for it. I could keep on yappin' waaay longer about why dantes inferno is kindergarten compared to yocto, but i dont have enough alcohol in the house to fuel that.1
-
Now that the weather is nice, I've started doing some landscaping in my back yard. I thought I'd start easy with taking down a shed that was starting to lean that I inherited when I moved in.
In the process of taking it down, I discovered a wire that went from the house to the shed. The wire in the shed wasn't live but I had no idea where it terminated and I didn't want that sickle of death hanging over my neck.
After I finished taking down the shed, I started working on the wire. This wire was buried about 18 inches deep and was about 25 feet from where it was supposed to attach, which was another 25 feet from the house.
I finally got the first section dug up only to discover that the second section was attached to my retaining wall and traveled under a rotting wood patio also built directly on top of dirt. I needed to take it down regardless, but I wanted to wait until I was ready.
Protip: don't build anything made of wood directly on the ground. Given time, even treated wood will rot.
This second section was live and exposed to air. It's truly a wonder nothing bad happened with it. And most of it was only an inch under the dirt. Also, no conduit. Just a wire.
So now, several days into a simple teardown, my back yard has a deep trench dug into it going from one corner of the yard to the house. I have a huge patch of muddy dirt where I had to tear down a patio to fix an actual threat to life and limb.
I also discovered my retaining wall was built directly on top of dirt, no gravel in sight, which explains why it is leaning. Fortunately, I've built retaining walls before, so I know how to fix it.
It's a good thing I like landscaping because it's going to be an expensive and messy summer.4 -
Here's a story about why putting util functionality in a generic parent class is baaaad. So we run into a bug where an online shop module we develop causes a third party module to break the entire site until the session expires.
We track the bug down to the fact that the third party module has added some functionality to the part of the shop that deals with the cart and that functionality expects that one of the module's libraries is initialized. But as it turns out another of that module's libraries that is loaded earlier is fetching the cart and thus triggers our module which adds gifts to it.
Now, since we need a deeper integration with the cart to make gifts depend on the cart contents we call the part of it that now depends on the third party module's unloaded library.. So we think changing the order the third party libraries are loaded will fix the issue, only to discover the unloaded one is a child class of the first and the cart is fetched in the parent constructor. The parent of course then turns out to be a generic util class, inherited by all the module's libraries, so whatever order we load them in, the constructor is always called, so we had no other choice but to dynamically disable our module during the initialization of those libraries and then patch the updated cart contents into them after they've all been initialized.
At this point we get curious what that module's doing with the cart contents only to discover.. nothing. It's just that the parent class is full of utils and data fetching that the vendor reuses in all their modules.. -
I just used `git add --patch` for the first time and I feel like a git god!
(No, my text editor was not giving me enough control over the hunks.) -
What's the minimal feature set that can make a language as ornamented as JS into a comfortable REPL?
Should I write a full parser or should I try to patch my way around with regex?
It will have to interface a lot with JS so it has to be able to manage JS datastructures in some fashion, which means that I can't just make a whole new command line with its own programs.
My current plan:
Some delimiter (probably a semicolon) will take the output of a command and inject it in the next in case you decide halfway through a line to do some more processing, It also awaits promises and does some other nice stuff to make controlling such pipelines easy. I have an elaborate system in mind to decide where a value must be injected to make the line valid so in most cases you don't even have to indicate it. JS has beautifully simple syntax rules so I have a lot of technical balance to burn before I start building technical debt.
I have some ideas for automatic parentheses and commas in function calls. I realize while using a command line you do not want to tap shift often. My main idea here is that two names or values in js are always joined by an operator so the first missing operator is a call and following missing operators are commas until the end of line. This has lots of nasty edge cases though, like that no argument expression can begin with a unary operator or a bracket of any shape. You can always prepend a comma but it's cognitive load.
Anyway, do you have any suggestion or warning besides "js bad" which I know but it's the most popular sandboxable language and has a massive existing set of libraries which I kinda need.3