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
![](/static/devrant/img/pipeless-devrant-banner-white.png)
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "directories"
-
Conversation today...
Guy: "Hey I need a real quick script to pull some values out of an XML document...is that possible?"
Me: "Uh...yeah that's pretty simple if that's all it has to do."
Guy: "Ok excellent I'll send you some files and documentation."
Me: "Ok so is this like a one time use thing or do you need to parse multiple of these?"
Guy: "Actually it needs to run all the time, on this specific PC, watch directories for any files that are added, then generate a XLSX files of the values, and also log information to a database. Etc"
Me: "Oh that adds quite a bit of complexity from what you originally said. It's going to take more time."
Guy: "But you said it was easy."
Well fuck you...12 -
So I maintain a open source PHP app that wraps youtube-dl, providing an UI for it basically. Some guy on a forum DMd me saying it's not working for him. I asked him what php version he used and if the file permissions are correct (the script makes and switches directories, so the permissions can't be root but need to be www-data).
He answers with PHP 7.2 (the newest that's rare) and says the file permissions are correct.
After 2 weeks the problem still persists and ofc I am doubting my code here. We finally get online together and I can use anydesk to work on his machine.
I discovered 2 things.
1) File permissions were just completely wrong.
2) PHP WASN'T EVEN INSTALLED
So what did I learn?
Never trust the user and I am glad that I work as a dev, not as a tech support.10 -
When so called developers "fixes" things by setting 777 on directories...
Please do not call yourself a dev26 -
I just hate npm dependencies.
If you want to write a small website with npm dependencies (some frontend deps like Bootstrap and some development deps like gulp or babel) you will have more npm dependencies in your project than own code. It is ridiculous, how some lazy developers just add dependencies to their projects, without evaluating their dependencies. The source code of one of my projects is around 4MB (without any dependencies). If you then run yarn as required, it grows to around 80MB (where 73MB are node_modules).
This is just terrible.
I rant about this, as I made the mistake to upload my node_modules directories when restoring a backup of my server. Worst idea one could ever have.9 -
sudo apt-get random-tool
Traceback (most recent call last):
Aborting because there's a fork in the spoon compartment on line 43 in main
Error this script only works on Python 2.7 and maybe 4.1 on line 59 in main
Missing symbols when trying to decipher Sumerian recipe for steamed vegetables on line 67 in main
Cannot open shared object: Your OS is a bully and is hiding my files on line 98 in main
Are you sure all directories matching ^(/)?([^/\0]+(/)?)+$ are in your $PATH on line 268 in main
Your computer is kind of vibrating in an annoying way on line 332 in main
Failing because I'm feeling insecure please hold me on line 587 in main
I'm feeling confused about my sentience when running TensorFlow models on line 682 in main
FUCK
HAS ANYONE EVER MANAGED TO JUST FUCKING INSTALL A PYTHON BASED APPLICATION WITHOUT DEBUGGING RANDOM COMPUTER STATE SHIT AND DEPENDENCIES FOR THREE HOURS?16 -
this.title = "gg Microsoft"
this.metadata = {
rant: true,
long: true,
super_long: true,
has_summary: true
}
// Also:
let microsoft = "dead" // please?
tl;dr: Windows' MAX_PATH is the devil, and it basically does not allow you to copy files with paths that exceed this length. No matter what. Even with official fixes and workarounds.
Long story:
So, I haven't had actual gainful employ in quite awhile. I've been earning just enough to get behind on bills and go without all but basic groceries. Because of this, our electronics have been ... in need of upgrading for quite awhile. In particular, we've needed new drives. (We've been down a server for two years now because its drive died!)
Anyway, I originally bought my external drive just for backup, but due to the above, I eventually began using it for everyday things. including Steam. over USB. Terrible, right? So, I decided to mount it as an internal drive to lower the read/write times. Finding SATA cables was difficult, the motherboard's SATA plugs are in a terrible spot, and my tiny case (and 2yo) made everything soo much worse. It was a miserable experience, but I finally got it installed.
However! It turns out the Seagate external drives use some custom drive header, or custom driver to access the drive, so Windows couldn't read the bare drive. ffs. So, I took it out again (joy) and put it back in the enclosure, and began copying the files off.
The drive I'm copying it to is smaller, so I enabled compression to allow storing a bit more of the data, and excluded a couple of directories so I could copy those elsewhere. I (barely) managed to fit everything with some pretty tight shuffling.
but. that external drive is connected via USB, remember? and for some reason, even over USB3, I was only getting ~20mb/s transfer rate, so the process took 20some hours! In the interim, I worked on some projects, watched netflix, etc., then locked my computer, and went to bed. (I also made sure to turn my monitors and keyboard light off so it wouldn't be enticing to my 2yo.) Cue dramatic music ~
Come morning, I go to check on the progress... and find that the computer is off! What the hell! I turn it on and check the logs... and found that it lost power around 9:16am. aslkjdfhaslkjashdasfjhasd. My 2yo had apparently been playing with the power strip and its enticing glowing red on/off switch. So. It didn't finish copying.
aslkjdfhaslkjashdasfjhasd x2
Anyway, finding the missing files was easy, but what about any that didn't finish? Filesizes don't match, so writing a script to check doesn't work. and using a visual utility like windirstat won't work either because of the excluded folders. Friggin' hell.
Also -- and rather the point of this rant:
It turns out that some of the files (70 in total, as I eventually found out) have paths exceeding Windows' MAX_PATH length (260 chars). So I couldn't copy those.
After some research, I learned that there's a Microsoft hotfix that patches this specific issue! for my specific version! woo! It's like. totally perfect. So, I installed that, restarted as per its wishes... tried again (via both drag and `copy`)... and Lo! It did not work.
After installing the hotfix. to fix this specific issue. on my specific os. the issue remained. gg Microsoft?
Further research.
I then learned (well, learned more about) the unicode path prefix `\\?\`, which bypasses Windows kernel's path parsing, and passes the path directly to ntfslib, thereby indirectly allowing ~32k path lengths. I tried this with the native `copy` command; no luck. I tried this with `robocopy` and cygwin's `cp`; they likewise failed. I tried it with cygwin's `rsync`, but it sees `\\?\` as denoting a remote path, and therefore fails.
However, `dir \\?\C:\` works just fine?
So, apparently, Microsoft's own workaround for long pathnames doesn't work with its own utilities. unless the paths are shorter than MAX_PATH? gg Microsoft.
At this point, I was sorely tempted to write my own copy utility that calls the internal Windows APIs that support unicode paths. but as I lack a C compiler, and haven't coded in C in like 15 years, I figured I'd try a few last desperate ideas first.
For the hell of it, I tried making an archive of the offending files with winRAR. Unsurprisingly, it failed to access the files.
... and for completeness's sake -- mostly to say I tried it -- I did the same with 7zip. I took one of the offending files and made a 7z archive of it in the destination folder -- and, much to my surprise, it worked perfectly! I could even extract the file! Hell, I could even work with paths >340 characters!
So... I'm going through all of the 70 missing files and copying them. with 7zip. because it's the only bloody thing that works. ffs
Third-party utilities work better than Microsoft's official fixes. gg.
...
On a related note, I totally feel like that person from http://xkcd.com/763 right now ;;21 -
A sidebar.
Literally just a sidebar.
And yes, this was in Hell.
Its code was spread across at least 40 files, and it used a bunch of freaking global variables to unfurl accordion sections, hide other sections/items, highlight the active item, etc. These were set (and unset!) in controller actions, so if you didn’t unset one, it remained open and highlighted until another action unset it.
Some of the global variable checks (and permissions checks) were done in the individual views, some outside of the `render` statements that include them. Some of them inherited variables from the parent, some from the controller, some from globals. Getting a view to work was trial and error. Oh, and some had their own inline css, some used css classes.
Subsections were separate views, so were some individual items, both sometimes rendered using shared templates, and all of the views and templates had the exact. same. filename. (They were located in different directories, and thus located automagically via implicit relative paths.) So, it was a virtually endless parade of`render partial => “sidebar”`. Which file does that point to? Good luck figuring it out!
Also, comments in several places said adding a new section required a database migration. I never did figure out why.
Anyway, I discovered this because I had an innocuous-sounding ticket to rearrange the sidebar, group some sections/items under different permissions, move some items to another menu, and nest some others differently.
It took me two bloody weeks, and this was when I was extremely productive every day.
Afterward, I was so disgusted by it that I took a day and removed every trace of the sidebar I could find, and rewrote it. I defined the sidebar in a hash, and wrote a simple recursive builder to generate the markup. It supported optional icons, n-level nesting, automatic highlighting of the current item and all parent nodes, compound and inherited permissions, wrapping of long names, hover and unfurl animations, etc. Took me a couple hundred lines of Ruby at the most, plus about the same of css.
Felt so good to remove that blight.5 -
You can't imagine how many lines of pure and utter horseshit, seemingly written in PHP, I had to dig through this whole weekend. (relating to my 2 previous rants)
How is it even possible to write code this unbelievably ugly?
Examples:
- includes within loops
- included files use variables from parent files
- start- and endtags separated to different files
- SQL queries generated by string concatenation, no safety measures at all (injection)
- repeating DB calls within loops
- multiple directories with the same code (~40 files), only different by ~8 lines, copied
- a mixture of <?php echo ... ?> and <?= ... ?>
- a LOT of array accesses and other stuff prefixed with "@" (suppress error messages)
- passwords in cleartext
- random non-RESTful page changes with a mixture of POST and GET
- GET parameters not URL-encoded
- ...
My boss told me it took this guy weeks and weeks of coding to write this tool (he's an "experienced dev", of course WITHOUT Git).
Guess what?
It took me only 20 hours and about 700 lines of code.
I must confess, since this task, I don't hate PHP anymore, I just simply hate this dev to death.
Addendum: It's Monday, 5:30am. Good night. 😉12 -
Hello, world!
Hey, it's me. It's been awhile. How have you been..? :3
For those of you who don't know/remember, I'm the lead developer of a Desktop and (to-be) Hacking Simulator Game. My project should still exist somewhere on here. I just thought I would hop on, and catch you guys up on my progress. ^~^
So far themes are a thing! You can add custom fonts, wallpapers(or just a desktop color) and set the color/opasity of everything in-game!
I have also implimented a modding API. It's under-documented, but it works very well! You can add apps, commands, or even redesign the entire interface using it. It executes modded functions on specific events, so you could really have it do anything.
As of yesterday, there is also a simulated FileSystem. You can navigate it using in-game terminal commands, and you can create and remove directories.
(in-game screenshots are also a thing, you can even set a timer - ps: this is a 100% mod! As are all apps and commands in the current unreleased version. PM me on Telegram @TheCyaniteproject to get a copy~)25 -
Old man's tale. It's true.
Like 12 years ago, I was working in a small town computer store.
One day, a really ugly woman came in and asked for data recovery since she could not boot up her PC anymore.
We recovered her data, and just to make sure it was all "working", we randomly checked a few directories for files.
We have found some photos of her.
Her and a bottle of Coke.
Let me put it this way: she loves coke bottles. A lot.
There are things that can't be unseen, and moments you still remember after 12 years. Like the moment she came in to get her stuff - and you need to pretend to be all business while you're almost pissing your pants.
Good days :)7 -
Ok, some @#$#!!@ at my company set the WordPress cache directory to "/" on a Linux server, some other plugin triggered the cache clear and the Apache user was the owner of almost all the WordPress directories of several MU installations, this all happened on a Friday afternoon.2
-
Apple, instead of inventing new file systems, stop fucking littering my directories with .DS_Store crap.1
-
Soooo my little encryption tool makes progress. <3
After a short break from development, we had our first successful loaded container yesterday!
This means:
- Protocoll is working
- We can create containers and store/copress files in it
- we're awesome
- I love it
- you are awesome, too!
(Loaded containers will be inaccessible for movement to different directories while our tool is open)49 -
I've been pleading for nearly 3 years with our IT department to allow the web team (me and one other guy) to access the SQL Server on location via VPN so we could query MSSQL tables directly (read-only mind you) rather than depend on them to give us a 100,000+ row CSV file every 24 hours in order to display pricing and inventory per store location on our website.
Their mindset has always been that this would be a security hole and we'd be jeopardizing the company. (Give me a break! There are about a dozen other ways our network could be compromised in comparison to this, but they're so deeply forged in M$ server and active directories that they don't even have a clue what any decent script kiddie with a port sniffer and *nix could do. I digress...)
So after three years of pleading with the old IT director, (I like the guy, but keep in mind that I had to teach him CTRL+C, CTRL+V when we first started building the initial CSV. I'm not making that up.) he retired and the new guy gave me the keys.
Worked for a week with my IT department to get Openswan (ipsec) tunnel set up between my Ubuntu web server and their SQL Server (Microsoft). After a few days of pulling my hair out along with our web hosting admins and our IT Dept staff, we got them talking.
After that, I was able to install a dreamfactory instance on my web server and now we have REST endpoints for all tables related to inventory, products, pricing, and availability!
Good things come to those who are patient. Now if I could get them to give us back Dropbox without having to socks5 proxy throug the web server, i'd be set. I'll rant about that next.
http://tapsla.sh/e0jvJck7 -
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?
HELL NO!
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.19 -
Had a late night thought and I made this handy tool. It Lets you transfer files and directories from your computer to your mobile device by scanning a QR code right from the terminal.
https://github.com/mirimmad/...2 -
So, I'm studying computer engineering in school, so a lot of people have decided I'm the tech one in the group and come to me with all there computer problems.
I'm constantly explaining basic things about their computers, how to exit vim, why using git is a lot easier then having 100 versions of files, how to change directories from the terminal. Simple things like that and while I normally don't mind, all these people are also in computer engineering and should really know all this stuff too.8 -
Back in school a class mate used a bat file to recursively create a directory an then enter it and repeat.
The directory also ended with ascii 255 which looks like a space and when placed at the end is invisible.
This was in msdos and there was no mouse or autocomplete, also no deleting of non empty directories.
The teacher finally gave up and admitted he could not solve it.
You had do make a new script first to traverse to the inner most dir, then recursively back trace removing directories.2 -
It is a sincere request to all the people who are asking for a backup of their files and documents, to please stop pestering us regarding the same.
We can't possibly collect your data, and even if there's a way, it would be nearly impossible for us to find your data from billions and billions of files and directories.
Citizens are requested to please understand our problems.
Have a nice day :)4 -
Many of you who have a Windows computer may be familiar with robocopy, xcopy, or move.
These functions? Programs? Whatever they may be, were interesting to me because they were the first things that got me really into batch scripting in the first place.
What was really interesting to me was how I could run multiples of these scripts at a time.
<storytime>
It was warm Spring day in the year of 2007, and my Science teacher at the time needed a way to get files from the school computer to the hard-drive faster. The amount of time that the computer was suggesting was 2 hours. Far too long for her. I told her I’d build her something that could work faster than that. And so started the program would take up more of my time than the AI I had created back in 2009.
</storytime>
This program would scan the entirety of the computer's file system, and create an xcopy batch file for each of these directories. After parsing these files, it would then run all the batch files at once. Multithreading as it were? Looking back on it, the throughput probably wasn't any better than the default copying program windows already had, but the amount of time that it took was less. Instead of 2 hours to finish the task it took 45 minutes. My thought for justifying this program was that; instead of giving one man to do paperwork split the paperwork among many men. So, while a large file is being copied, many smaller files could be copied during that time.
After that day I really couldn't keep my hands off this program. As my knowledge of programming increased, so did my likelihood of editing a piece of the code in this program.
The surmountable amount of updates that this program has gone through is amazing. At version 6.25 it now sits as a standalone batch file. It used to consist of 6 files and however many xcopy batch files that it created for the file migration, now it's just 1 file and dirt simple to run, (well front-end, anyways, the back-end is a masterpiece of weirdness, honestly) it automates adding all the necessary directories and files. Oh, and the name is Latin for Imitate, figured it's a reasonable name for a copying program.
I was 14, so my creativity lacked in the naming department >_<1 -
Here it is: get MythTV up and running.
In one corner, building from source, the granddaddy Debian!
In the other, prebuilt and ready to download, the meek but feisty Xubuntu!
Debian gets an early start, knowing that compiling on a single core VM won't break any records, and sends the compiler to work with a deft make command!
Xubuntu, relying on its user friendly nature, gets up and running quickly and starts the download. This is where the high-bandwidth internet really works in her favor!
Debian is still compiling as Xubuntu zooms past, and is ready to run!
MythTV backend setup leads her down a few dark alleys, such as asking where to put directories and then not making them, but she comes out fine!
Oh no! After choosing a country and language the frontend commit suicide with no error message! A huge blow to Xubuntu as this will take hours to diagnose!
Meanwhile, Debian sits in his corner, quietly chugging away on millions of lines of C++...
Xubuntu looks lost... And Debian is finished compiling! He's ready to install!
Who will win? Stay tuned to find out!4 -
*Me at class just trying to organize my directories and shit on the terminal*
My classmate: OMG you are a hacker! Can you pleas help me hack a Facebook account !!!
Fml....1 -
I just want to share my very first companion. Haha... This is btw my laptop way back 2011, used it to store highschool memories and silly stuff, if you know what I mean. This is the laptop that I first used the labrynth of directories such as A folder contains A to z Folder and again inside one of those contains A to z again lowered and upper. This is also my partner in coding C++ back in the days, I usually write code in paper and when back to school I used our lab's computer. Ohh and I also have my anime addiction started on this too! One time I discovered the side VGA and connected it to our big LCD screen but by the time I plugged it in, it produce explosive sounds, and my grandpa said that that lcd tv is only for 110v not for 220v. I learned the importance of voltages that day. I just went back and open it to backup my highschool memories and stuff to my external hdd. Ahhhhh memories.3
-
After using Linux every day for 3 years today I learned that listing directories requires the execute permission.
In a misdirected attempt to solve my problems I also learned the basic concepts of SELinux before realising that SELinux is disabled on the host and not present on the guest.11 -
How could I only name one favorite dev tool? There are a *lot* I could not live without anymore.
# httpie
I have to talk to external API a lot and curl is painful to use. HTTPie is super human friendly and helps bootstrapping or testing calls to unknown endpoints.
https://httpie.org/
# jq
grep|sed|awk for for json documents. So powerful, so handy. I have to google the specific syntax a lot, but when you have it working, it works like a charm.
https://stedolan.github.io/jq/
# ag-silversearcher
Finding strings in projects has never been easier. It's fast, it has meaningful defaults (no results from vendors and .git directories) and powerful options.
https://github.com/ggreer/...
# git
Lifesaver. Nough said.
And tweak your command line to show the current branch and git to have tab-completion.
# Jetbrains flavored IDE
No matter if the flavor is phpstorm, intellij, webstorm or pycharm, these IDE are really worth their money and have saved me so much time and keystrokes, it's totally awesome. It also has an amazing plugin ecosystem, I adore the symfony and vim-idea plugin.
# vim
Strong learning curve, it really pays off in the end and I still consider myself novice user.
# vimium
Chrome plugin to browse the web with vi keybindings.
https://github.com/philc/vimium
# bash completion
Enable it. Tab-increase your productivity.
# Docker / docker-compose
Even if you aren't pushing docker images to production, having a dockerfile re-creating the live server is such an ease to setup and bootstrapping the development process has been a joy in the process. Virtual machines are slow and take away lot of space. If you can, use alpine-based images as a starting point, reuse the offical one on dockerhub for common applications, and keep them simple.
# ...
I will post this now and then regret not naming all the tools I didn't mention. -
If you just git add . by instinct, you're already dead inside
Instead, consider checking out the diffs of your changes before staging them, and then stage the files or directories individually
Of course I'm saying this to complain about my colleagues who stage and commit things they shouldn't, it probably doesn't apply to small side projects, but staging individually is probably a good habit to have31 -
Navigating Directories with PowerShell, coursemates staring and thinking I'm a badass hacker. Their reaction when a directory not found generates five lines of bright red jargonized line in the console and I just nod slowly as if I'm understanding something deep 😂😂4
-
MTP is utter garbage and belongs to the technological hall of shame.
MTP (media transfer protocol, or, more accurately, MOST TERRIBLE PROTOCOL) sometimes spontaneously stops responding, causing Windows Explorer to show its green placebo progress bar inside the file path bar which never reaches the end, and sometimes to whiningly show "(not responding)" with that white layer of mist fading in. Sometimes lists files' dates as 1970-01-01 (which is the Unix epoch), sometimes shows former names of folders prior to being renamed, even after refreshing. I refer to them as "ghost folders". As well known, large directories load extremely slowly in MTP. A directory listing with one thousand files could take well over a minute to load. On mass storage and FTP? Three seconds at most. Sometimes, new files are not even listed until rebooting the smartphone!
Arguably, MTP "has" no bugs. It IS a bug. There is so much more wrong with it that it does not even fit into one post. Therefore it has to be expanded into the comments.
When moving files within an MTP device, MTP does not directly move the selected files, but creates a copy and then deletes the source file, causing both needless wear on the mobile device' flash memory and the loss of files' original date and time attribute. Sometimes, the simple act of renaming a file causes Windows Explorer to stop responding until unplugging the MTP device. It actually once unfreezed after more than half an hour where I did something else in the meantime, but come on, who likes to wait that long? Thankfully, this has not happened to me on Linux file managers such as Nemo yet.
When moving files out using MTP, Windows Explorer does not move and delete each selected file individually, but only deletes the whole selection after finishing the transfer. This means that if the process crashes, no space has been freed on the MTP device (usually a smartphone), and one will have to carefully sort out a mess of duplicates. Linux file managers thankfully delete the source files individually.
Also, for each file transferred from an MTP device onto a mass storage device, Windows has the strange behaviour of briefly creating a file on the target device with the size of the entire selection. It does not actually write that amount of data for each file, since it couldn't do so in this short time, but the current file is listed with that size in Windows Explorer. You can test this by refreshing the target directory shortly after starting a file transfer of multiple selected files originating from an MTP device. For example, when copying or moving out 01.MP4 to 10.MP4, while 01.MP4 is being written, it is listed with the file size of all 01.MP4 to 10.MP4 combined, on the target device, and the file actually exists with that size on the file system for a brief moment. The same happens with each file of the selection. This means that the target device needs almost twice the free space as the selection of files on the source MTP device to be able to accept the incoming files, since the last file, 10.MP4 in this example, temporarily has the total size of 01.MP4 to 10.MP4. This strange behaviour has been on Windows since at least Windows 7, presumably since Microsoft implemented MTP, and has still not been changed. Perhaps the goal is to reserve space on the target device? However, it reserves far too much space.
When transfering from MTP to a UDF file system, sometimes it fails to transfer ZIP files, and only copies the first few bytes. 208 or 74 bytes in my testing.
When transfering several thousand files, Windows Explorer also sometimes decides to quit and restart in midst of the transfer. Also, I sometimes move files out by loading a part of the directory listing in Windows Explorer and then hitting "Esc" because it would take too long to load the entire directory listing. It actually once assigned the wrong file names, which I noticed since file naming conflicts would occur where the source and target files with the same names would have different sizes and time stamps. Both files were intact, but the target file had the name of a different file. You'd think they would figure something like this out after two decades, but no. On Linux, the MTP directory listing is only shown after it is loaded in entirety. However, if the directory has too many files, it fails with an "libmtp: couldn't get object handles" error without listing anything.
Sometimes, a folder appears empty until refreshing one more time. Sometimes, copying a folder out causes a blank folder to be copied to the target. This is why on MTP, only a selection of files and never folders should be moved out, due to the risk of the folder being deleted without everything having been transferred completely.
(continued below)29 -
“Overhearing powers of the Fullstack dev”
We have an internal control panel (BEEP) to manage our dev Tomcat instances. The other day, with one of my muggle friend, I was trying to restart an instance. There’s a checkbox to clean the host tmp files and directories, ingeniously named as - Purge cache.
Innocent Me (to my muggle friend): bro would Purge cache delete the application log files?
__(Fullstack dev overhearing us)__
Muggle friend: Purge ca... (gets interrupted my the Fullstack dev)
Fullstack dev: so the thing is ... it’s like ... (gotta be consistent with the opening) what “npm purge” does is it deletes the files which are not being used.
Confused Muggle friend: bro it’s a BEEP option to clean the tmp dirs.
Fullstack dev: oh I thought you guys were talking about “npm purge”
Angry muggle friend: then WHY THE FUCK did you answer if you didn’t know [...] the fuck we were talking about.
Calm fullstack dev: FYI. Might help you someday.
Deeply-hurt Me: (what the fuck is “npm purge”). Hey man do you mean “npm prune”? Because they don’t have an npm purge. And what do you mean by “it deletes the files which are not being used”?
Confident Fullstack dev: NO
Me: (cries in npm)
More to come!3 -
So one of my clients got their wordpress site hacked and basically just redirects to scam links and well.. I looked at in the server file manager and their are like three directories with this wordpress site (not clones but the same?) one in the root, a version in a folder called old and another in temp.. with 3 separate wp databases.. DNS entries had malware redirects, the wp-content folder was writable to the public and contained a temp folder with tons of encoded malware and ip links to malicious sites.. there was encoded malware in index.php, has like 20+ plugins, oh and the theme uses a dynamic web builder so the code is basically unreadable in source and scattered.. and the redirects seem to happen randomly or at least on a new session or something. Oh.. and did I mention there are no backups? 😃2
-
So, I've been having to deal with server issues and other BS. All of these issues have caused all of my websites to be down. For the longest time, I couldn't get Nginx to find my websites' directories except for the default Nginx website, so I changed the default Nginx website to what you see in the image.
I tried to be funny, did I succeed? Even a little bit?8 -
Last Monday I bought an iPhone as a little music player, and just to see how iOS works or doesn't work.. which arguments against Apple are valid, which aren't etc. And at a price point of €60 for a secondhand SE I figured, why not. And needless to say I've jailbroken it shortly after.
Initially setting up the iPhone when coming from fairly unrestricted Android ended up being quite a chore. I just wanted to use this thing as a music player, so how would you do it..?
Well you first have to set up the phone, iCloud account and whatnot, yada yada... Asks for an email address and flat out rejects your email address if it's got "apple" in it, catch-all email servers be damned I guess. So I chose ishit at my domain instead, much better. Address information for billing.. just bullshit that, give it some nulls. Phone number.. well I guess I could just give it a secondary SIM card's number.
So now the phone has been set up, more or less. To get music on it was quite a maze solving experience in its own right. There's some stuff about it on the Debian and Arch Wikis but it's fairly outdated. From the iPhone itself you can install VLC and use its app directory, which I'll get back to later. Then from e.g. Safari, download any music file.. which it downloads to iCloud.. Think Different I guess. Go to your iCloud and pull it into the iPhone for real this time. Now you can share the file to your VLC app, at which point it initializes a database for that particular app.
The databases / app storage can be considered equivalent to the /data directories for applications in Android, minus /sdcard. There is little to no shared storage between apps, most stuff works through sharing from one app to another.
Now you can connect the iPhone to your computer and see a mount point for your pictures, and one for your documents. In that documents mount point, there are directories for each app, which you can just drag files into. For some reason the AFC protocol just hangs up when you try to delete files from your computer however... Think Different?
Anyway, the music has been put on it. Such features, what a nugget! It's less bad than I thought, but still pretty fucked up.
At that point I was fairly dejected and that didn't get better with an update from iOS 14.1 to iOS 14.3. Turns out that Apple in its nannying galore now turns down the volume to 50% every half an hour or so, "for hearing safety" and "EU regulations" that don't exist. Saying that I was fuming and wanting to smack this piece of shit into the wall would be an understatement. And even among the iSheep, I found very few people that thought this is fine. Though despite all that, there were still some. I have no idea what it would take to make those people finally reconsider.. maybe Tim Cook himself shoving an iPhone up their ass, or maybe they'd be honored that Tim Cook noticed them even then... But I digress.
And then, then it really started to take off because I finally ended up jailbreaking the thing. Many people think that it's only third-party apps, but that is far from true. It is equivalent to rooting, and you do get access to a Unix root account by doing it. The way you do it is usually a bootkit, which in a desktop's ring model would be a negative ring. The access level is extremely high.
So you can root it, great. What use is that in a locked down system where there's nothing available..? Aha, that's where the next thing comes in, 2 actually. Cydia has an OpenSSH server in it, and it just binds to port 22 and supports all of OpenSSH's known goodness. All of it, I'm using ed25519 keys and a CA to log into my phone! Fuck yea boi, what a nugget! This is better than Android even! And it doesn't end there.. there's a second thing it has up its sleeve. This thing has an apt package manager in it, which is easily equivalent to what Termux offers, at the system level! You can install not just common CLI applications, but even graphical apps from Cydia over the network!
Without a jailbreak, I would say that iOS is pretty fucking terrible and if you care about modding, you shouldn't use it. But jailbroken, fufu.. this thing trades many blows with Android in the modding scene. I've said it before, but what a nugget!8 -
Firefox and Chrome removing FTP support in 2021 was a terrible decision.
Web browsers were simply the more convenient FTP browsers, more than file managers, due to browsers' built-in multimedia capabilities like photo viewing and opening documents, distinct purple highlighting of already opened directories and files, browsing history, familiar mouse shortcuts like middle click for new tab, and no possibility of accidental writes due to a botched drag-and-drop operation or similar.
If I wanted to browse an FTP server in "read-only mode", web browsers used to be the preferred choice.12 -
Just cleaned up my legacy projects directory. Deleted all node_modules, bower_components, and distribution directories.
Deleted hundreds of thousands of files, freed up like two gigs 😑1 -
I was cleaning up my hard drive and deleted some old directories.
I was notified that my backup just started and wanted to look how far along it was.
However, instead of 'ls -l /mnt/DATA/Backup' my shitpile of muscle memory typed 'rm -rf /mnt/DATA/Backup'... That's when my harddrive suddenly had 750GB of free space and I decided that I probably need some sleep.
Before any of y'all wanna lecture me on off-site backups, funny thing: Today I implemented a new daily backup routine (praised be borg) and therefore deleted my somewhat chaotic Backups on my NAS "Because if shit hits the fan, I still have my local Backup"2 -
In 2 weeks FOSDEM will be held in Brussels. I'll be going with some friends. Are you coming as well? Perhaps we could do a little meetup at the event?
Poettering will be speaking at the event as well btw. Presenting.. systemd-homed, a new systemd component. I shit you not. The "outdated" home directories are to be replaced by a service. Home directories as a service, the next big thing?
Here's the link if you're interested:
Reinventing Home Directories https://fosdem.org/2020/schedule/... #FOSDEM8 -
Apache Tomcat vulnerability "GHOSTCAT" allows read conduct files and implant web shells. All versions in the last 13 years vulnerable.
According to Security Researcher of Chaitin Tech : Due to a flaw in the Tomcat AJP protocol (the channel for Tomcat to connect to the outside, pass them to the corresponding web application for processing and return the response result of the request), an attacker can read or include any files in the webapp directories of Tomcat.
For example, An attacker can read the web-app configuration files or source code. In addition, if the target web application has a file upload function, the attacker may execute malicious code on the target host by exploiting file inclusion through "GHOSTCAT" vulnerability.
Apache Tomcat has officially released versions 9.0.31, 8.5.51, and 7.0.100 to fix this vulnerability.5 -
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 -
sudo rm -rf *
Just started out on linux, learning the ins and outs. All I wanted to do was remove two directories. Thankfully it was a fresh install, didn't lose anything important.
A valuable lesson was learned that day. 😂2 -
Well, I really have nothing to rant about these days 😅
What I do have is a request for feedback on a project’s video, m working on the project and will release it open source once it works decently well, and most of all, when the code doesn’t look so atrociously bad 😅😅
It is basically a C/C++ package and project manager.
It can create, build, and run projects which u make, and add library flags and include directories automatically if that library exists in its package list.
It also contains package (=library) manager which can, as of now, install, uninstall, and fetch info of any package should it exist in the package list.
I will be adding package upgrading in the future, although package list updates can be performed.
Also, right now it can only build binary projects. I’ll soon be working to enable creation of library ( static/dynamic ) projects as well.
Finally, it allows for building of packages using CMake or configure, but uses a custom format to build projects.
Here is a video of building a project and installing libcurl on system:
https://asciinema.org/a/155030
Thanks a lot ☺️😊1 -
When some seniors backup any file with .<n> on production system. Like if 15y of dozens of different blah.exe.1 to blah.exe.27 are of any value but bloated directories...5
-
You know how a normal developer will start writing a program, and then take the big pieces and split/refactor it; move hard coded things into functions that take arguments, and cleaning up along the way?
Our manager makes a tons of empty files, and empty directories, with how he thinks he wants to build something, and checks them all in. Tons of .gitkeep files in empty directories, blank Jenkinsfile, Dockerfile that doesn't build.
When he makes wiki documentation, there are tons of subsections, all of which are links to pages with "TODO" in them.
Dear god stop it you asshat! Stop making tons of empty files and pages. Write the thing in one chunk and then split it as needed like someone who actually knows how to engineer software!1 -
MTP is complete garbage. I want mass storage back.
The media transfer protocol (MTP) occasionally discovers new creative ways of failure. Frequently, directory listings take minutes to load or fail to load at all, and it freezes up infinitely (until disconnected) when renaming an item, and I can not even do two things simultaneously.
While files are being moved, I can not browse pictures or watch videos from the smartphone.
Sometimes, files are listed with the date 1970-01-01 (Unix epoch) instead of their correct date. Sometimes, files do not appear at all, which makes it unsafe to move directories from the device.
MTP lacks random access. If I want to play a two-gigabyte 4K 2160p video and seek in the video, guess what: I need to copy it to my computer's local mass storage first because MTP lacks random access.
When transferring high numbers of files, MTP has to slooooowly enumerate (or "prepare" or "calculate the time of") them all, which might even take longer than mass storage would need for the entire process. This means MTP might start copying or moving the actual files when mass storage is already finished.
Today, the "preparing to move" process was especially slow: five minutes for around 150 files! How am I supposed to find out what caused this random malfunction?
MTP sometimes drives me insane. I want mass storage back, at least for the MicroSD memory card, which uses a widely supported file system.
Imagine a 2010 $100 Android phone is better at file transfer than a 2022 $1000 Android phone (or iPhone, for that matter).3 -
Been struggling with a performance issue for weeks, been writing a search engine (or sorts) for internal company use only. Discovered the locations that are being indexed contain a directory used for back up purposes that contain archives of everything inside it.
Wrote a means to exclude these directories, performance improves up to 1600% (top end, sadly, not across the board) feel freaking awesome.
Boss acts like I've just pull Atlantis off the floor with my teeth.
It was a two line change, I wish the really difficult tasks were treated this way and not with "oh it shouldn't take you long!"1 -
What are you doing crashing on me Windows?
All I was doing was running a flight simulation, compiling a build, and doing a regex search over 6 directories. Try to open one little document and it all goes to hell.
Surely you can handle that Windows?
Apparently not.2 -
So i moved house a while ago and noted down the root admin's username and password along with all the critical directories including root db location and slapped the sticker onto my personal cloud.
I Just haven't gotten around to set it back up again.
So there's that...4 -
Project configurations... why, for ffs, whenever i come to old project i need to deal with configurations, build systems, certificates, project settings. I want to write code not dedicate my life to Maven and making directories by hand for Android Flavors.
Aaaaaaaaaaaaaa! -
The coolest project I ever worked on wasn't programming per second, though it involved a bit of scripting. The company I worked for had an FTP over TLS backup solution and it was put together with glue and paperclips by a guy that hadn't the slightest idea what he was doing. In order to conform with the insurance, data had to be encrypted. I setup a raid-ed server with full disk encryption on the raid volume that fetched the key over the network at boot from another secure server. I wrote a series of scripts for provisioning users and so on. The backup connections was sftp using a ssh tunnel, the users were chrooted to their own home directories, and were unable to open shells. The system was 100x more robust and secure than the original. I set it up on short notice and received absolutely no recognition for saving the company's ass, but it was definitely a fun project.1
-
God, so tilted right now, after having to "urgently" (joke's on them, they will get charged the urgent rate) check why some deployments weren't working due to some npm dependencies not being found.
(Just from mentioning npm you surely think I'm gonna bash JS, but no!)
I'm tilted by TS devs that don't bother to learn the very basics of git pathspecs and just add "dist" to their .gitignore, not knowing that it's gonna exclude any file or directory named "dist" *ANYWHERE* in the project.
And when your poor CI pipeline tries to transfer the build artifacts (so, keeping the .gitignore excludes but manually including node_modules and dist), it excludes the dist dir in some packages and wrecks the deployment.
Please,, please, PLEASE.
if you want to:
A) Make your entry relative to the .gitignore...
Put a slash first.
B) make it only match directories and not files...
Put a slash last.4 -
took few days leave from my internship
as soon as I stepped in the train, i got a call from friend saying client's site is down
on checking, found that the aws instance crashed
couldn't even check the system with ssh
after detaching the volume and attaching it with another working instance we found that the system files and directories are missing
no backup was there
i wish i could give a cactus to amazon3 -
Why, in 2023, do we still have a path length limit in Windows?
I know it's not that trivial finding a good soution, but at least if I managed to get a .zip which I can't extract in that directory because of a few files with a too long file name, let me know in advance (and not during the extraction) and maybe (amazing idea) let me know how many steps I have to go back in the directories tree to make it work…12 -
So in the morning today, I played with some game engines and libraries, one of them is Orx.
When I `git clone` the repo and setup for it, the doc says that I can use `init.sh` to setup my Orx game project. Sweet!
When I run it, the program ask me for the path, I thought that it will allow me to create a game project at any path. So I entered `~/Projects/Games/my-orx-game`.
After that, it asked for some other stuff and I just skip though it.
Then, I went to `~/Projects/Games` and use `ls` to check my game project, but I don't see anything. I went back to where I installed Orx and realized that it creates a game project __in__ the directory that it was installed. Now, there's a directory called `~` inside the directory. I remove it using `rm -rf ~`, but Linux stopped me with `Premission denied`. Then for some stupid reason, I typed `sudo rm -rf ~` without thinking. After doing that line, my fish shell comes to it original prompt. And I realized I fucked up.
I restarted the computer, thought that I wiped the whole OS. Luckily, it just wiped the configuration files. The softwares works completely fine. My Project files and any content in those default directories (Like `Music` and `Downloads`) are also wiped. But I don't care about them at all. At least not right now.
Now I know that I need to be more careful when typing a command in the terminal.13 -
There's no provisioning script. Code repo's there, but no configuration files. Missing folders that break the app. No documentation on what to install, what directories to create, NO instructions. Nothing. Just an empty Ubuntu vagrantbox and a git repo. Took the entire morning and then some, just to replicate the dev environment. Fuck
-
So I was hacked, this guys encrypted all my files and asked me to pay BTC to decrypt it. They even changed my wallpaper and gave me put instructions on all my folder directories on how to pay and recover my files11
-
!rant
Something I needed without even knowing, but finally realized today:
alias ls='ls --group-directories-first'
(mac-fags will need to brew coreutils and alias to gls instead)
All credits to that random guy on superuser (stackexchange). Make directories great again! 😇 -
I've been running Xubuntu for a while now and decided to try out Ubuntu's latest release.
So I backup my home and workspace directories by compressing them into archives and deciding to move them to another partition.
Long story short, I wiped my partition and did a clean install only to realize a little later that I had moved the backups in only my mind and not on the laptop 😭😭
That is how I lost all my local projects (the ones I hadn't pushed)
Well fuck me😒 -
Me at my new job: Can I please install a version controlling system to keep my codes organized?
Boss: why do you need it? can't you just navigate the directories?
Me: I will go mad in 2 years!
....
Opens VS 2019 ... sees Local Git Repo system... mind blown!!! :O9 -
Why in the fuck are twilios typings so spread out and tucked away in a hundred folders? I have 8 separate imports to deeply nested directories (whose path includes fucking api version numbers) and at the end of each path are generic garbage interfaces. Autocomplete suggestions show handfuls of identical interfaces and types, and autosuggest for import paths is cut off because the paths are too long. To make it worse, they’re cut off at exactly the name of the directory for the actual resource I’m trying to get types for. It shouldn’t be this fucking hard, twilio.2
-
macOS' Finder says I have 24 files and directories in my home directory. 'ls -lah | wc -l' says I have 172. That's a lot to keep hidden from me. :)2
-
Anyone know private/encrypted p2p network drive app (best would be opensource) between devices in the internet, with multiple user support, invite only ?
It should work behind nat so need use some 3rd party hole punching server for handshakes.
Let’s say I got a movie I want to share with my friend but instead of him downloading it, I would stream it directly from my device and my friend would open it using ex vlc.
Same with other files, on computer can be mounted as network drive.
Or small app with drag drop or cli to add / remove shared directories.
Can be raspberry pi device.
Thinking more, it should work like vpn network but with tunnels between computers.
Can it be done using ipfs ?1 -
I have just slept for a minimum of 5 hours. It is 7:47 PM atm.
Why?
We have had a damn stressful day today.
We have had a programming test, but it really was rather an exam.
Normally, you get 30 minutes for a test and 45 minutes for an exam.
In this "test" we have had to explain what 'extends' does and name a few advantages of why one should use it.
Check.
Read 3 separate texts and write the program code on paper. It was about 1 super class and 1 sub class with a test class in Java.
Check.
Task 3: Create the UML diagram of the code from above. *internally: From above? He probably means my code since there is no other code there. *Checks time*. I have about 3 minutes left. Fuck my life.*
Draws the boxes. Put the class names in each of them. A private attribute for the super class.
Teacher: Last minute!
Draw the arrow starting starting from the sub class to the super class.
Put my name on each written paper. And mentally done for the day. Couldn't finish the last task. Task 3.
During this "test", I heard the frustrations of my classmates. Seemed like everyone was pretty much pissed.
After a short discussion with the teacher who also happens to be the physics professor of a university nearby.
[If you are reading this, I hope that something bad happens to you]
The next course was about computer systems. Remember my recent rant about DNS, dhcp, ftp, web server and samba on ubuntu?
We have had the task to do the screenshots of the consoles where you proof that you have dhcp activated on win7 machine etc. Seemed ok to me. I would have been done in 10 minutes, if I would be doing this relaxed. Now the teacher tells us to change the domain names to <surnameOfEachStudent>.edu.
I was like: That's fine.
Create a new user for the samba server. Read and write directories. Change the config.
Me: That should be easy.
Create new DNS entries in the configs.
Change the IPv6 address area to 192.168.x.100-200/24 only for the dhcp server.
Change the web server's default page. Write your own text into it.
You will have 1 hour and 30 minutes of time for it.
Dumbo -ANGRY-CLIENT-: Aye. Let us first start screenshotting the default page. Oh, it says that we should access it with the domain name. I don't have that much time. Let us be creative and fake it, legally.
Changes the title element so that it looks like it has been accessed via domain name. Deletes the url and writes the domain name without pressing Enter. Screenshot. Done. Ok, let us move to the next target.
Dhcp: Change lease time. Change IP address area. Subnet mask. Router. DNS. Broadcast. Optional domain name. Save.
Switches to win7.
ipconfig /release
ipconfig /renew
Holy shit it does not work!
After changing the configs on ubuntu for a legit 30 minutes: Maybe I should change the ip of the ubuntu virtual machine itself. *me asking my old self: why did not you do that in the first place, ass hole?!*
Same previous commands on win7 console. Does not work. Hmmm...
Where could be the problem?
Check the IP of the ubuntu server once again. Fml. Ubuntu did not save when I clicked on the save button the first time I have changed it. Click on save button 10 times to make sure it really is saved now lol.
Same old procedure on win7.
Alright. Dhcp works. Screenshot.
Checks time. 40 minutes left.
DNS:It is your turn. Checks bind9 configs. sudo nano db.reverse.edu.
sudo nano db.<mysurname>.edu.
Alright. All set. It should work now.
Ping win7 from ubuntu and vice versa. Works. Ping domain name on windows 7 vm. Does not work.
Oh, I forgot to restart the bind9 server on ubuntu.
sudo service bind stop
" " " start
Check DNS server IP on win7. It looks fine.
It still doesn't work. Fuck it. I have only 20 minutes left. Samba. Let us do this!
10 minutes in. No result. I don't remember why. I already forgot why I have done for it. It was a very stressful day.
Let us try DNS again.
Oh shit. I forgot the resolver!
sudo nano /etc/resolv.conf
The previous edits are gone. Dumb me. It says it in the comments. Why did not I care about it. Fuck it.6 minutes left. Open a yt video real quick. Changes the config file. Saves it. Restarts DNS and dhcp. Closes the terminal and opens a new one. The changes do not affect them until you reopen them. That's why.
Change to win7.
Ping works. How about nsloopup.
Does not work.
Teacher: 2 minutes left!
Fuck it.
Saves the word document with the images in it. Export as pdf. Tries to access the directories of the school samba server. Does not work. It was not my fault tho. Our school server is in general very slow. It feels like they are not maintained and left alone like this in the dust from the 90s.
Friend gets the permission to put his document on a USB and give the USB to the teacher.
Sneaky me: Hey xyz, can you give me your USB real quick?
Him: sure.
Gets bombed with "do you want to format the USB?" pop-ups 10 times. Fml. Skips in a fast way.
Transfers the pdf. Plug it out. Give it back.
After this we have had to give a presentation in politics. I am done.6 -
"Oh, you committed at a top level? That's alright I'm going to make you revert at file level, all 10 files in 4 directories. Oh and I may just keep one or two with your changes just for old times sake."
- my conversation with SVN -
"all these high schoolers can't see others' active directories... but they're all RWX on the Students group all students are in. Also the up button shows everyone's ADs from any student's, but no one will ever press that!"
-
It's 2022 and mobile web browsers still lack basic export options.
Without root access, the bookmarks, session, history, and possibly saved pages are locked in. There is no way to create an external backup or search them using external tools such as grep.
Sure, it is possible to manually copy and paste individual bookmarks and tabs into a text file. However, obviously, that takes lots of annoying repetitive effort.
Exporting is a basic feature. One might want to clean up the bookmarks or start a new session, but have a snapshot of the previous state so anything needed in future can be retrieved from there.
Without the ability to export these things, it becomes difficult to find web resources one might need in future. Due to the abundance of new incoming Internet posts and videos, the existing ones tend to drown in the search results and become very difficult to find after some time. Or they might be taken down and one might end up spending time searching for something that does not exist anymore. It's better to find out immediately it is no longer available than a futile search.
----
Some mobile web browsers such as Chrome (to Google's credit) thankfully store saved pages as MHTML files into the common Download folder, where they can be backed up and moved elsewhere using a file manager or an external computer. However, other browsers like Kiwi browser and Samsung Internet incorrectly store saved pages into their respective locked directories inside "/data/". Without root access, those files are locked in there and can only be accessed through that one web browser for the lifespan of that one device.
For tabs, there are some services like Firefox Sync. However, in order to create a text file of the opened tabs, one needs an external computer and needs to create an account on the service. For something that is technically possible in one second directly on the phone. The service can also have outages or be discontinued. This is the danger of vendor lock-in: if something is no longer supported, it can lead to data loss.
For Chrome, there is a "remote debugging" feature on the developer tools of the desktop edition that is supposedly able to get a list of the tabs ( https://android.stackexchange.com/q... ). However, I tried it and it did not work. No connection could be established. And it should not be necessary in first place.7 -
If you are going to maintain empty directories in your git repo then use the strategy of placing a file inside the directory called .gitkeep. Searching on this filename will lead you to a discussion of the same topic (hopefully, maybe not). Which includes a lengthy discussion on how the semantics of the file name is somehow more important than the answer of keeping the directory in the repo. My favorite part was someone claiming the file name .gitkeep was the standard way of maintaining a directory and others jumping on this person saying not it is NOT the standard way, and that in fact any filename would work. Misunderstanding that saying it was the standard probably only referred to placing a file and not choosing that exact name.
Basically it seemed to turn into an autists semantics fistfight in the comments.
https://stackoverflow.com/questions...
Someone is that discussion claimed .gitkeep would lead to confusion if it was a standard git filename. I then found this:
https://stackoverflow.com/questions...
Is it wrong to find so much humor in this?4 -
Fucking node.js module directories are so goddamn bloated !
Why are so many fucking files necessary ? WHY ?17 -
Today, I'm making a revolutionary change to our code base. I'm finally deprecating a script that lived in this goddamn repo for way too long. There's about 10 copies of the same script in 10 different directories. The script copies all the code into a "dev" folder and then runs "sed s/prod/dev/g" on all the files, and then overwites a bunch of it with some files suffixed with ".dev". Finally, after fighting the so-called architects, the devs and everyone else that seems to have gotten used to the pain this cursed dumpster fire script has caused us, my merge request is now open and ready to go to get rid of this insanity. Now we won't have to deal with as many "surprises" that happen every goddamn time we deploy to production, overwriting all our hard work by accident, and relieve some of my OCD of having the same script in 10 different places in the repository.4
-
2005 called. It wants its numbered file names back.
While I am mostly satisfied with "celluloid" as a worthy successor to xplayer, the first major disappointment I stumbled upon is `celluloid-shot0001.jpg`. Are we in 2005?
Just like xplayer, Celluloid, the new default media player of Linux Mint, should use proper, i.e. time-stamped names such as `celluloid-2023-04-10T00-47-42.jpg` or `celluloid-video_file_name-2023-04-10T00-47-42.jpg` for screenshots taken from videos, to eliminate the possibility of file name conflicts if files are moved into other directories, to make screenshots searchable by video file name, and to retain the date and time information if the files are moved to a device that does not support date and time stamp retention such as MTP (Media Transfer Protocol), and to allow for date range selection using wildcards in the terminal (e.g. `celluloid-2023-04*` for all screenshots from April 2023). Besides, PNG screenshots should be supported too, but that's out of scope here.
As a reference, the gnome and mate screenshot tools also pre-fill time stamps into the file name field.
Numbered file names were useful in an era when there was no VFAT and file names needed to have 8.3 file names that could impossibly fit a date and a time, and compact cameras used such names, but those times are long over. Just like the useless and annoying pull-to-refresh gesture on mobile apps and the Media Transfer Protocol, numbered file names belong to the technological graveyard.
If numbers are really desirable, at least `celluloid-shot0001.2023-04-10T00-47-42.jpg` should be used, to include both a number and a date. The command to get this date format is `date +"%Y-%m-%dT%H-%M-%S"`. For compatibility across operating systems, dashes instead of colons have to be used to separate hours and minutes and seconds.
Numbered file names are a thing of the past. Use time stamps.2 -
My final year taking a B.Sc. I'm writing up my Distributed Systems project, the day before handing it in. It's on top of Transis, and source code is "stored" in RCS (yes, I'm that old). The project is a reliable system administration tool, that performs the same action across a cluster with guaranteed semantics.
I'm very proud of the semantics, but cannot figure out why the subdirectory installation stuff works almost but not quite. Here's my sequence of actions:
1. Install across all machines.
2. Manually see it's broken.
3. "rm -rf *".
4. Repeat.
What in to discover is that the subdirectory installation always finishes off in a current directory 1 level higher than where it started. Oh, and the entire cluster sees my NFS home directory. Oh, and I'm running each cluster member in a deep subdirectory of my dev directory. Oh, and my RCS files live in a subdirectory of my dev directory.
All of a sudden, my 5 concurrent "rm -rf *"s were printing weird error messages about ENOENT and not being able to find some inodes. In a belated flash of brilliance, I figure out all the above, and also that I've just deleted my dev directory. 5 times, concurrently. And the RCS files.
That was the day a kindly sysadmin taught me than NetApps have these .snapshot directories. -
My work product: Or why I learned to get twitchy around Java...
I maintain a Java based test system, that tests a raster image processor. The client is a Java swing project that contains CORBA bindings to the internal API of the raster image processor. It also has custom written UI elements and duplicated functionality that became available in later versions of Java, but because some of the third party tools we use don't work with later versions of Java for some reason, it's not possible to upgrade Java to gain things as simple as recursive directory deletion, yes the version of Java we have to use does not support something as simple as that and custom code had to be written to support it.
Because of the requirement to build the API bindings along with the client the whole application must be built with the raster image processor build chain, which is a heavily customised jam build system. So an ant task calls out to execute a jam task and jam does about 90% of the heavy lifting.
In addition to the Java code there's code for interpreting PostScript files, as these can be used to alter the behaviour of the raster image processor during testing.
As if that weren't enough, there's a beanshell interface to allow users to script the test system, but none of the users know Java well enough to feel confident writing interpreted Java scripts (and that's too close to JavaScript for my comfort). I once tried swapping this out for the Rhino JavaScript interpreter and got all the verbal support in the world but no developer time to design an API that'd work for all the departments.
The server isn't much better though. It's a tomcat based application that was written by someone who had never built a tomcat application before, or any web application for that matter and uses raw SQL strings instead of an orm, it doesn't use MVC in any way, and insane amount of functionality is dumped into the jsp files.
It too interacts with a raster image processor to create difference masks of the output, running PostScript as needed. It spawns off multiple threads and can spend days processing hundreds of gigabytes of image output (depending on the size of the tests).
We're stuck on Tomcat seven because we can't upgrade beyond Java 6, which brings a whole manner of security issues, but that eager little Java updated will break the tool chain if it gets its way.
Between these two components we have the Java RMI server (sometimes) working to help generate image data on the client side before all images are pulled across a UNC network path onto the server that processes test jobs (in PDF format), by reading into the xref table of said PDF, finding the embedded image data (for our server consumed test files are just flate encoded TIFF files wrapped around just enough PDF to make them valid) and uses a tool to create a difference mask of two images.
This tool is very error prone, it can't difference images of different sizes, colour spaces, orientations or pixel depths, but it's the best we have.
The tool is installed in both the client and server if the client can generate images it'll query from the server which ones it needs to and if it can't the server will use the tool itself.
Our shells have custom profiles for linking to a whole manner of third party tools and libraries, including a link to visual studio 2005 (more indirectly related build dependencies), the whole profile has to ensure that absolutely no operating system pollution gets into the shell, most of our apps are installed in our home directories and we have to ensure our paths are correct for every single application we add.
And... Fucking and!
Most of the tools are stored as source bundles in a version control system... Not got or mercurial, not perforce or svn, not even CVS... They use a custom built version control system that is built on top of RCS, it keeps a central database of locked files (using soft and hard locks along with write protecting the files in the file system) to ensure users can't get merge conflicts by preventing other users from writing to the files at all.
Branching is heavy weight and can take the best part of a day to create a new branch and populate the history.
Gathering the tools alone to build the Dev environment to build my project takes the best part of a week.
What should be a joy come hardware refresh year becomes a curse ("Well fuck, now I loose a week spending it setting up the Dev environment on ANOTHER machine").
Needless to say, I enjoy NOT working with Java. A lot of this isn't Javas fault, but there's a lot of things that Java (specifically the Java 6 version we're stuck on) does not make easy.
This is why I prefer to build my web apps in python or node, hell, I'd even take Lua... Just... Compiling web pages into executable Java classes, why? I mean I understand the implementation of how this happens, but why did my predecessor have to choose this? Why?2 -
Making a folder organizer.. while debugging I accidently ruined all the files and directories on my computer.
Just in one single click, boom!
In the end it disorganized all my folders.3 -
My manager put "Architecture Diagram" onto my list of tasks. "Do you have a diagram"? came up in our last call.
No, I don't have a diagram like your useless block diagram that shows nothing of what we've done. Instead I have a ton of wiki pages, real documentation, READMEs in each git repo that are detailed and complete, unless you're repos of empty directories, `.keep` files, empty READMEs and blank "TODO" wiki pages!6 -
My hard drive made a short sort of grinding noise today and the machine didn't post but didn't turn off. Turned it off and on again. Everything is fine. Trying to develop and everything is just throwing the most random bs errors I'd ever seen.
Turns out somehow many, many, many directories became corrupted. Couldn't even run a check disk and half of windows broke.
Just thought I'd share that since I've never seen anything like it. -
I remember the day I used Linux to enforce size quotas on user directories oh what a day
I was surrounded by horrible monsters wearing manho suits that made them appear superficially human... though the sounds screeching forth from their many toothed mouths in whining jarring tones would suggest otherwise and I used this wonderful feature : you can call most of the file systems commands on files !
did a dd to create a disk image specified to the correct size made an fs inside and mounted it straight into the home directory adding entries to the fstab to auto mount and setting the io permissions
It was so wonderful and the little bastards refused to use the server !5 -
OMG. Talking about NTFS in this rant :
https://devrant.com/rants/4449565/...
Made me think. Does the lastest version of Terminal on Windows supports that ? Does last cmd ?
LOL !!! the BEST terminal Microsoft ever made... Does not suport alternate streams in this test. (may be it's other syntax, no iea).
But cmd still does. The old cmd I never used since this terminal app was released.
I find it super funny.9 -
!rant
In case anyone else finds this useful - Git 2.22 gets a --no-overlay flag, allowing you to switch directories between branches at will *without* having to clean up any newly created files in the process.
Long overdue IMHO. -
Navigating directories have never been easier with z, this post describes how to use it and how it works
https://monades.roperzh.com/weekly-... -
Stipid piece of shit nvidia cuda development kit installer.
"Yeah, you can extract and install the files wherever you want, but I'll delete BOTH directories if you do so"
Fucking 3 times I tried to install this shit untill i realized this. -
Frustrating feature/bug of SO is when you don't have enough rep to leave comments or have your vote truly counted, and the best answer is the bottom comment, and you have absolutely no way to thank the person! @Adiii no idea if you are on here but thanks so much for your simple and elegant nodejs solution to checking for and creating directories.
-
Okay new Rant
INSERT TRIGGER WARNING HERE
OSX still sucks I have been using the bloody darn thing for last 8 months still I found things that are obnoxiously trivial missing.
Latest incident I was trying to plug in my android phone(soft bricked) in recovery mode and I had to push a file with ADB (i save this mutherfuker for another day). So back to the original topic now I plug it in and but turns out it doesn't recognize my device now as a preliminary check I decide to check my USB cable and my DONGLE both seem to be working fine now I try rebooting back into recovery. Now after scrapping the internet for a few hours I find that this problem is caused because sometimes due to a recurrent bug in OSX the operating system sometimes fails to recognize the difference in between directories "Adam"(just an example) and "adam" which in turn can interfere with some of the flags used while checking if a device might be connected.
I mean this is fucked why the fuck can you not simply use your device as an external storage that would have made the process easier by a fucking lot.
I think the people at Apple are going the destroy a UNIX powerhouse just to make their OS more CUPCAKE friendly.
And all of this is in addition to the problems with AFS.
I just wish I had not bought mac for development5 -
I've been spending the last few days reorganizing css, js files, removing old code and rename directories. Yep its that kind of week at work...
-
Why, Google? WHY?
My wife was annoyed, that her android image gallery showed the images she has sent via telegram, but not the ones, that she had received.
Stupidity no. 1: telegram puts received pictures into Pictures/Telegram on the internal memory. It seems like the default gallery apps don't take nested image-containing directories. As Pictures only contained the default Sony dummy images I moved them away.
Stupidity no. 2: both the receiving and sending image directory of Telegram is named "Telegram" and guess what... Android does not like that. Only the first ist shown (sent images).
Stupidity no. 3: to work around that, I installed the emulated shell to make a symlink named "Telegram-Received". Aaaand that requires root access.
Goddammit Google! She just wants to see our couple selfies that I sent her in her gallery!6 -
Me: I want to make all our application directories a separate virtual disk for easy resizeability
Project lead: Why? We have lvm!
I might stab somebody, myself included.6 -
Embarcadero tracked my progress on a potential commercial project. To my employer, I know for a fact my employee email is not connected to my personal PC. How did they get that email?
I used the unlicensed pro version of 10.3 because I thought the community version would have the necessary components needed open the source and not break the project. I planned to use the software over the holidays to dissect the code to see what changes I can bring to the table before asking them to buy me the legit license. Embarcadero caught me. Even know my project directories. How did they do it I wonder?4 -
So I have been recruited to do some IT ish work for a local business. I have been offered a couple of hundred bucks to take a set list of programs off of about 40 pcs. All windows. Sounds like the perfect job for a script, not my specialty. So what might be the best method? Using a batch script to CD to the respective directories and just DEL the folders for the target programs?5
-
Went to scan a file with the built in Win 10 scanner. It came up and said the file was excluded from scan. So it gave me a link to the exclusion directories of the virus scanner. I looked and it had the entire C drive as the last exclusion. I did not do this. I have specific directories on exclusion, but not the entire drive.
I got rid of this exclusion and scanned the entire drive. I didn't get any virus or worm hits.
Is this a sign of an infection?
It would have had to be changed with something that asked for permission to make administrative changes like an install. I honestly don't know what I would have installed that I gave permission to do this lately.
Is there a way to accidentally right click somehow to add a directory to the exclusion list?3 -
Fully upgraded wordpress for my blog (just not interested writing my own ) with security patches and got hacked... all index files in first level directories replaced. Will find the time to make my own and migrate all posts because "wordpress is awesome"6
-
I'm so fed up with Codecademy. I payed for the pro, and I admit I haven't been able to consistently use it everyday as I would like. But every fucking time I would be on a lecture of some sort, I swear to fucking to christ it's the most buggy, uninformative piece of shit! And everytime you're in deep into subjects, the information is beyond unclear!
AND GOD FORBID YOU NEED A FUCKING HINT! they leave you to dry saying in the hint that "Look back at the previous sections" or "try to remember the steps you've learned"
No you stupid fucking bitch for a site. I clicked on the hint because I needed an answer as to what I'm doing wrong, and to something that can stir me in the right path. My god....I feel so stupid for giving PRO a chance. I thought maybe it would be nice to have some sort of professional site would be useful.
I swear this early afternoon I was spending fucking forever on the first few lectures of HTML trying to figure out what the actual fuck is wrong with the system fucking up not letting me change directories. And the community was no help whatsoever to the issues at hand.
Again, why the fuck is Codecademy so goddamn buggy!? Sure it may be a fun site to fuck around with to get your feet wet on the free version. But is it too much to ask for some good actual lessons that are being payed for!?
Idk anymore. I'm sticking to just YouTube and other free help. This is the last time I spend a fucking penny to any site that's supposed to teach something valuable.
I feel so upset because I feel like I wasted my money and time on something that I thought could've helped a lot.
If anyone was asking if PRO is worth it....definitely not! Please don't waste money with it! Don't make my mistakes, stick to YouTube and other free sources! The least I can do is warn people about spending money on this site. Trust me it's not worth it. It may not seem bad in the beginning, but once you go deeper it becomes clear the issues.
If anything stick to only free!!rant pro version codecademy frustration codecademy pro waste of time sadness codecademy rant waste of money!!! paid site2 -
Fuck VS! C# sucks! F# sucks!
I found no way to debug C # and F # without VS(At least the official did not give a plan)! And I can only use macOS now.
After downloading VS for mac, I found that it installed mono automatically! And there is not even a button to open the folder!
Why do you have to wrap a class outside the main function? And their pointers are not flexible at all! Also, unlike C, Go, and Rust, the compiled files are binary files. WTF does DotNet give me? debug directories and .dll files!
I originally planned to learn DotNet core for the convenience of using Azure.
But I found that, through Python, JavaScript, Ruby, C(LLVM-Clang), Go, C ++, Rust, Haskell, Azure can also be used, which gives me more sufficient reasons to give up C #, F #!14 -
Some mobile file managers kick me back to the beginning after selecting items for copying or moving.
When tapping on "copy" or "move" after selecting files/folders, some file managers like ES File Explorer (back when it was popular) conveniently remain in the current directory, whereas the stock Android file manager and many vendors' pre-installed file managers like that of Samsung kick me back to the initial directory. On phones with MicroSD, that's the storage selector, and on phones without, that's /storage/emulated/0/.
If I wanted to move files into a sub folder of the currently viewed directory, I have to navigate all the way back to that current directory, which is, needless to say, annoying.
Who thought it was a smart idea to kick the user back to the initial directory? But vendors' pre-installed file managers tend to be garbage anyway. Samsung's "My Files" file manager does not let me enter file names longer than 50 characters, does not let me change the extensions of files, does not support selecting files from search results or jumping to their parent directory, does obviously lack range selection, hides the status bar while opened (what's the point of that?!), its search feature is slow and sometimes crashes, and it can only search the entire device storage or memory card and not individual directories.
It's almost like Samsung deliberately tried to design a file manager as terrible as they possibly could.5 -
How to write programs on Android 10 that work with files/directories? Have used a number of JVM-based languages like Groovy, Clojure and Kotlin.
My last try was with Groovy. I ran it under Dcoder which has to be cloud-, based as it supports numerous languages. I gave it permission to access storage but got a file not found error from Java. Copied this excerpt for the file path.
import java.io.File
class Example {
static void main(String[] args) {
new File("/storage/emulated/0/read_file.grvy").eachLine {
line -> println "line : $line";
}
}
}
Do I need root? Do I need to change file permissions using Termux? Why can't I find a way to write simple software on a Motorola Super, 3 GB RAM and 8 cores? I hate using a phone for a computer but a seizure has me in a nursing home with only one usable hand.
Any help is greatly appreciated.5 -
So I've been using Duet on my iPad Pro for a couple years now (lets me use it as an external monitor via Lightning cable) and without issue. Shit, I've been quite happy with it. Then the other day, whilst hooked up to my work laptop, there was a power fluctuation that caused my laptop to stop sending power to connected devices. Which is fine - I have it plugged into a surge protector so these fluctuations shouldn't matter. After a few seconds the laptop resumed normal operation and my connected devices were up and running again.
But the iPad Pro, for some reason, went into an infinite boot loop sequence. It reboots, gets to the white Apple logo, then reboots again.
In the end, after putting the iPad into recovery mode and running Apple's update in iTunes (as they recommend), it proceeds to wipe all my data. Without warning. I lost more than a couple of years of notes, illustrations and photos. All in one fucking swoop.
To be clear, you get 2 options in iTunes when performing a device update:
1. UPDATE - will not mess with your data, will just update the OS (in this case iPadOS)
2. RESTORE - will delete everything, basically a factory reset
I clicked UPDATE. After the first attempt, it still kept bootlooping. So I did it again, I made sure I clicked UPDATE because I had not yet backed up my data. It then proceeds to do a RESTORE even though I clicked UPDATE.
Why, Apple? WHY.
After a solemn weekend lamenting my lost data, I've come a conclusion: fuck you Apple for designing very shitty software. I mean, why can't I access my device data over a cabled connection in the event I can't boot into the OS? If you need some form of authentication to keep out thieves, surely the mutltiple times you ask me to log in with my Apple ID on iTunes upon connecting the damn thing is more than sufficient?! You keep spouting that you have a secure boot chain and shit, surely it can verify a legitimate user using authenticated hardware without having to boot into the device OS?
And on the subject of backing up my data, you really only have 2 manual options here. Either (a) open iTunes, select your device, select the installed app, then selectively download the files onto my system; or (b) do a full device backup. Neither of those procedures is time-efficient nor straightforward. And if you want to do option b wirelessly, it can only be on iCloud. Which is bullshit. And you can't even access the files in the device backup - you can only get to them by restoring to your device. Even MORE bullshit.
Conversely, on my Android phone I can automate backups of individual apps, directories or files to my cloud provider of choice, or even to an external microSD card. I can schedule when the backups happen. I can access my files ANYTIME.
I got the iPad Pro because I wanted the best drawing experience, and Apple Pencil at the time was really the best you could get. But I see now it's not worth compromise of having shitty software. I mean, It's already 2021 but these dated piles of excrement that are iOS and iPadOS still act like it's 2011; they need to be seriously reviewed and re-engineered, because eventually they're going to end up as nothing but all UI fluff to hide these extremely glaring problems.2 -
So when installing an rpm there is a file collision check. When you add a file to an rpm package with cmake / cpack it unfortunately adds parent directories your file goes into, which will give you conflicts with other packages. But well you have that beautiful feature to exclude directories from being added:
CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
Now somehow it failed. Turned out it would not work if my path ended with a backslash. Brush my banana! Like "/etc/sysctl.d" is a different animal than "/etc/systclt.d/". - But at least that's nothing against the strangeness of the "mv" command in those respects. -
I've only recently started learning how to use the command line for more than changing directories. Is there an equivalent of MDN for shell scripting? Is there Idiot's Guide to Shell Scripting (also works for me)?
-
Who thought and wrote android studio thinking it was a good idea???
I need to use it because of flutter for like a week and I don't want this thing to create arbitrary directories in my home.
Then I can only use chrome for viewing my app because please don't give me any error on why the fucking emulator crashes.
It's my gpu? It's my memory? How do I know?
Now I'm using podman because I don't want to think about removing all of this crap when I'm finished.2 -
I still haven't manage to transition from Notepad++ to Sublime although the former is crap and I ranted about it already several months ago. I just can't seem to find the time it takes to configure Sublime to my likings. It seems like a great IDE, but it's hell to set up an FTP browser like the one in Notepad++. Of course I have googled (or rather binged) the problem, and tried suggested solutions but still no joy. How hard can it be to just set up an FTP connection to my web host and browse its directories/files in a sidepane? How do I achieve this, anyone have good advice to share?3
-
"If you think it would be cute to align all of the equals signs in your code, if you spend time configuring your window manager or editor, if put unicode check marks in your test runner, if you add unnecessary hierarchies in your code directories, if you are doing anything beyond just solving the problem - you don't understand how fucked the whole thing is. No one gives a fuck about the glib object model.
The only thing that matters in software is the experience of the user."
— Ryan Dahl (https://tinyclouds.org/rant.html)6 -
Starts new codebase
uses boilerplate with the intent to keep a clean structure.
after 2 weeks it already a complete bunch of spaghetti code and doing things like putting the same image in 4 different directories... boy i wonder why i could never hold down a job as employee...2 -
Working on a portfolio project - I ran some tests, everything is all good - 100% passing. Computer freezes - pop_os has been giving me shit lately, so I have to restart. Fine.
I get back into code, i re-run pytest - nothing works. Python apparently can't find my modules anymore. I try a few things, nothing. Why? Who the fuck knows - "oh you need this conftest file", "oh you need to remove __init__ from this directory or that one", "oh it's a pytest version iss---" no, no, no - listen here you little shit, it was working two seconds ago. Tell me why and how software I wrote with the most basic ass package structure - literally TWO directories suddenly has no fucking clue how to import the modules. hmm? Even from within the app directory, app.server now no longer recognizes imports from app.main or app.database.
ALL of this worked. It works in new directories without dedicated venvs - it works in new directories with my global python install - it works with any one of my conda envs - it works on other computers - WHY doesn't it work in THIS directory all of a sudden?? Ugh.
What's terrible is that relative imports will probably solve it within the app dir, but the tests dir won't accept them. Moreover, vs code autocompletion can find all the modules, but python itself cannot. Fucking infuriating shit like this is.1 -
Linux: sudo apt-get install IDE dev-libs etc
Windows: install wxMSW, extract compressed binaries, set environment variables, set preprocessor/project settings in VS2017, set search directories, etc.
Why is it so ANNOYING to set up a simple GUI development library for C++ on Windows? -
after some months i finally fiddled around with python again. trying to make an executable using 3.7 i finally decided to switch back to 3.6 since pyinstaller was said to be compatible. still nothing works. but instead default directories are messed up. damn.
-
Alright, fellow DevRanters, gather 'round for a tale of woe and frustration. 🙄
I was knee-deep in my code, chasing down a bug that had me stumped for hours. I thought I was on the verge of a breakthrough, but then it happened—the code disappeared! Poof! Vanished into the digital abyss without a trace. 😱
I mean, it's one thing to wrestle with bugs and errors, but it's a whole new level of insanity when your code decides to pull a disappearing act on you. I scoured my directories, I even questioned my own sanity. But nope, my code was just playing hide and seek.
So, here I am, feeling like a detective in a coding noir thriller. 🕵️♂️ The hunt for the vanishing code continues, but I'm not giving up. This bug won't escape me! 💪
Has anyone else had their code pull a vanishing act when you needed it the most? Share your tales of coding mystery and mayhem below! 🕵️♀️👇5 -
WHAT THE FUCK IS THE GOOGLE SDK FOR?
ya I get it you connect to it.
It doesnt give local directory to Google Directory, it doesnt run ssh commands nor python commands. WHAT THE FUCK IS IT FOR?
DO I MAKE A BUCKET NOT COMPUTE ENGINE?
DO I SHOOT MYSELF IN THE FOOT AND DELETE THE PROJECT DUE TO HAVING AN OVERFLOW OF PYTHON FILES IN WRONG DIRECTORIES?
LIKE FOR REAL -
!rant
Looking for help starting with DevOps.
Does anyone know of a site or forum where you can talk about general coding/scripting patterns rather than just asking specific questions?
Bear with me, this may be a bit longer than most posts here.
I'm a self-taught admin/tech working with one colleague (who's also mostly self taught) at a high school, managing both clients and servers.
We've been doing most things manually bit I'm looking into converting as much work as possible into more of a DevOps setup, with Powershell-scripts for multi step tasks.
I want to do this for a number of reasons. Having a script doing a number of steps would cut down on time spent on individual tasks and minimize the risk that a step is missed or, perhaps even worse, mistyped. Also it's important that I actually learn what I'm doing, why something works and why something fails.
As and example, I have a powershell-script which moves a student from one year to another (basically they have user names with a two-digit prefix based on the year they started and a suffix with two letters from their first names and four from their last names) if they need to repeat a grade.
It basically renames the account in the AD with the correct year-prefix, changes the samAccountName, renames Home and Profile-directories on disk and changes paths on the profile-tab in AD, moves the user into a new OU and security group etc.
It works as intended if the user account to be renamed exists and there's no name conflict with the new name. But I'd like for the script to validate that there's no problem with user names, source and target security groups and OUs etc. and eventually split the script up into smaller clearly defined functions for better readability.
However, I don't want someone to just write the script for me, I'd prefer to be able to discuss script flow and come to my own conclusions and solutions.1