Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "not a command"
-
My Friend: Dude our Linux Server is not working anymore!
Me: What? What did you do?
My friend: Nothing I swear!
Me: But you were last on it?
My friend: Yes. I just wanted to run a bash file and needed to give it permissions.
Me : WHAT DID YOU ENTER???!
My Friend: Chill man, just this command I found on the internet
chmod -R 600 /
chown -R root:root /
Me: WHY ARE YOU EVEN IN ROOT AND GOD DAMMIT WHY ARE YOU EVEN USING SOME RANDOM COMMAND FROM THE INTERNET. YOU KNOW YOU SHOULD NOT DO THIS OR JUST ASK!
My friend: Ok I did something wrong, how can I fix it?
Me: Did you make a backup or rsync of the server?
My friend: No. I just wanted to run this file.
Me: You holocausted the server. FUCK MY LIFE36 -
My partner has zero interest in coding and wants to have a baby, a week ago she started to yell install baby at me. Told her its not the right command. A few days ago she yelled apt-get install baby. Told her there was a user privilege problem. Today she came back with sudo apt-get install baby.
looks like we are going to have to have a baby!18 -
Boy: I love You
Girl: I have a boyfriend
Boy: sudo I love You
Girl: Please enter root password:
Boy: 123456789
Girl: Wrong. Please enter root password:
Boy: root
Girl: Wrong. Please enter root password:
Boy: qwerty
Girl: Wrong. You have tried 3 times.
Girl: I have boyfriend.
Boy: Dammit.
Girl: Command not found.22 -
Coworker in my team recently said to boss:
"Thanks, this conversation with you has taught me so much about single-threaded blocking I/O"
Some random PR comments from our company's repository:
"Are you insured? I hope you are insured"
"Learning git is not that difficult. You only need one command: git reset --hard"
*Link to amazon for dog poop bags*
"Please clean up your shit, before I step in it"
"Have you thought about a career in sales? At least there you might sell your bullshit"2 -
Me: *opens a terminal in front of parents and starts a build script from command line. Logs start rapidly flooding the screen*
Mom: *whispers to dad proudly* “look at how much she has worked. Look how fast the lines are running on the screen!!
I didn’t wanna burst their bubble by explain them that their child is NOT doing any rocket science, and is something even they can do(maybe better).
So I responded back with a fake serious tone
“Yeah it’s all code.”
If only they knew what I was actually doing...10 -
"Welcome to everybody's favorite show: Did It Break!?!"
"Here's our first contestant, Alex Brooklyn!"
* Audience claps *
''Tell us Alex, what command did you use?!"
ls -la
"And did it break production?!"
Not yet..., the website is still up, even checked without cache and on a different network, I haven't had any calls in half an hour and Sentry reports nothing
"Great to hear! On to round 2!"14 -
*tries to convert a Windows drive into btrfs*
*copies the whole 1.4TB of data back from server*
Windows: Wait, you expect me to do more than browsing the Phasebuk and playing games? Over a million files?! No no no, can't do that.
*reboot after BSOD*
Ehm, a hard drive you say? A drive that I just fucked up? What are you talking about? I don't see any hard drive :/
Piece of shit.
Crappy Arch Linux laptop: ah, I see a new hard drive connected here. Limme mount it real quick for ya :3
Me: eh, not now. I want to format it first.
Linux: oh, cool! Your wish is my command <3
*formats hard drive to btrfs*
Me: alright, now please copy all that 1.4TB onto the drive and please don't overheat _/\_
Linux: Gotcha! On your commands sir!
See the difference? The mental communication level? Windows is like talking to an obnoxious grade schooler that just does whatever the fuck they want to. Linux on the other hand is so much more mature and capable. Guess which one I like the most.20 -
Funny story about the first time two of my servers got hacked. The fun part is how I noticed it.
So I purchased two new vps's for proxy server goals and thought like 'I can setup fail2ban tomorrow, I'll be fine.'
Next day I wanted to install NginX so I ran the command and it said that port 80 was already in use!
I was sitting there like no that's not possible I didn't install any server software yet. So I thought 'this can't be possible' but I ran 'pidof apache2' just to confirm. It actually returned a PID! It was a barebones Debian install so I was sure it was not installed yet by ME. Checked the auth logs and noticed that an IP address had done a huge brute force attack and managed to gain root access. Simply reinstalled debian and I put fail2ban on it RIGHT AWAY.
Checked about two seconds later if anyone tried to login again (iptables -L and keep in mind that fail2ban's default config needs six failed attempts within I think five minutes to ban an ip) and I already saw that around 8-10 addresses were banned.
Was pretty shaken up but damn I learned my lesson!8 -
Fucking fuck fuck fucker fucking fuck
What a dumbass guy seriously. I have this colleague in my office who refuses to create a new branch because that will "ruin the single straight line". Are you seriously fucking kidding me??? The noobest guy ever doesnt know a third git command other than pulling and committing fucking nonsense. Why use git then? Just go back to creating zip files are maintain code. Fuck that guy too who hired him and now because of this fucking asshole I am not able to carry on my work.
Such so-called "developers" should be strapped to the back of a horse and the horse made to run on a gravel road for fuck's sake.. Fuck you man 🖕24 -
curl cheat.sh — get an instant answer to any question on (almost) any programming language from the command line
tldr
do curl cht.sh/go/execute+external+program to see how to execute external program in go
And this question: why I actually should I start the browser, and the browser has to downloads tons of JS, CSS and HTML, render them thereafter, only to show me some small output,
some small text, number or even some plot. Why can't I do a trivial query from the command line
and instantly get what I want?
I decided to create some service that will work as I think such a service should work.
And that is how wttr.in was created.
Nowadays you probably know, how to check the weather from the command line, but if not:
curl wttr.in
or
curl wttr.in/Paris
(curl wetter in Paris if you want to know the weather in Paris)
After that several other services were created (the point was to check how good the console
can solve the task, so I tried to create services providing information
of various nature: text, numbers, plots, pseudo graphic etc.):
curl rate.sx/btc # to check exchange rate of any (crypto)currency
curl qrenco.de/google.com # to QRenco.de any text
And now last but not least, the gem in this collection: cheat.sh.
The original idea behind the service was just to deliver a various UNIX/Linux command line cheat sheets via curl. There are several beautiful community driven cheat sheet repositories such as tldr, but the problem is that to use them you have to install them first, and it is quite often that you have no time for it, you just want to quickly check some cheat sheet.
With cheat.sh you don't need to install anything, just do:
curl cheat.sh/tar (or whatever)
you will get a cheat sheet for this command (if such cheat sheet exists inf one of the most popular community-driven cheat sheet repositories; but it surely does).
But then I thought: why actually show only existing cheat sheets? Why not generate cheat sheets or better to say on the fly? And that is how the next major update of cheat.sh was created.
Now you can simply do:
curl cht.sh/python/copy+files
curl cht.sh/go/execute+external+program
curl cht.sh/js/async+file+read
or even
curl cht.sh/python/копировать+файл
curl cht.sh/ruby/Datei+löschen
curl cht.sh/lua/复制文件
and get your question answered
(cht.sh is an alias for cheat.sh).
And it does not matter what language have you used to ask the question. To be short, all pairs (human language => programming language) are supported.
One very important major advantage of console oriented interfaces is that they are easily
programmable and can be easily integrated with various systems.
For example, Vim and Emacs plugins were created by means of that you can
query the service directly from the editor so that you can just write your
questions in the buffer and convert them in code with a keystroke.
The service is of course far from the perfection,
there are plenty of things to be fixed and to be implemented,
but now you can see its contours and see the contours of this approach,
console oriented services.
The service (as well as the other mentioned above services) is opensource, its code is available here:
https://github.com/chubin/cheat.sh
What do you think about this service?
What do you think about this approach?
Have you already heard about these services before?
Have you used them?
If yes, what do you like about them and what are you missing?24 -
The Linux Kernel, not just because of the end product. I find it's organizational structure and size (both in code and contributors) inspirational.
Firefox. Even if you don't use it as your main browser, the sheer amount of work Mozilla has contributed to the world is amazing.
OpenTTD. I liked the original game, and 25 years after release some devs are still actively maintaining an open source clone with support for mods.
Git. Without it, it would not just be harder working on your own source code, it would also be harder to try out other people's projects.
FZF is possibly my favorite command line tool.
Kitty has recently become my favorite terminal.
My favorite thing open source has brought forth though is a certain mindset, which in the last decade can be felt most heavily in the fact that:
1. Scientific papers with accompanying GitHub urls, especially when it comes to AI. Cutting edge research is one git clone away.
2. There are so many open hardware projects. From raspberry pi to 3d printers to laser cutters, being a "maker" suddenly became a mainstream hobby.12 -
It's hard to use Google Voice when you're a bilingual.
Me *driving in car*: Ok Google, open Spotify..
Google *beep*: Không chắc chắn làm thế nào để Open Spotify (Not sure how to to "Open Spotify" - in Vietnamese)
Me: Ok Google, mở Spotify (same command in Vietnamese)
Google *beep*: Not sure how to "mở Spotify"...
Me *frustrated*: Ok Google, f*ck you!
Google *beep*: Không chắc chắn làm thể nào để "fuck you" (Not sure how to "fuck you" - in Vietnamese)
f*cking Google Voice :|7 -
As a developer in Germany, I don't understand why anything related to development like IDEs, git clients and source code documentation should be localized/translated.
Code is written in english, configuration files too. Any technology, any command name in a terminal, every name of a tool or code library, every keyword in a programming language is written in english. English is the language of every developer. And English is simply a required skill for a developer.
Yet almost everything nowadays is translated to many other languages, espacially MS products. That makes development harder for me.
My visual studio menus are a mess of random german/english entries due to 3rd party extensions.
My git client, "source tree" uses wierd translations of the words "push" and "commit". These commands are git features! They should not be translated!
Buttons and text labels in dev tools often cut the text off because they were designed for english and the translated text is bigger and does not fit anymore. Apparently no one is testing their software in translated mode.
And the worst of all: translated fucking exception and error massages! Good luck searching for them online.
Apple does one thing damn right. They are keeping all development related stuff english (IDE, documentation). Not wasting money on translations which no developer needs.19 -
Crazy how git got its name:
The name "git" was given by Linus Torvalds when he wrote the very first version. He described the tool as "the stupid content tracker" and the name as (depending on your mood):
- random three-letter combination that is pronounceable, and not actually used by any common UNIX command. The fact that it is a mispronunciation of "get" may or may not be relevant.
- stupid. contemptible and despicable. simple. Take your pick from the dictionary of slang.
- "global information tracker": you're in a good mood, and it actually works for you. Angels sing, and a light suddenly fills the room.
- "goddamn idiotic truckload of sh*t": when it breaks
~ from github git1 -
Now, I work at a hosting company in the UK, as a linux support engineer. I've seen many cases where a number of clients ran one of the following:
rm -rf / something
rm -rf /var/cache (attempt to magento)
chmod 777 /var
chown -R user:user /*
Half the time, they're like "Hey guys, I dun did fuck up, please help!". The other half of the time, they piss me off. Here's a number of responses that really grinds my gears:
"Such a harmful command should really prompt for input before running" -- From the buy you "forced" a recursive rm command, which mutes such a feature.
Client: "I did no such thing"
Me: "I've seen the command history, and at the time the command was run, you were the only person logged in"
Client: "You're mistaken, You're reading the information wrong"
Me: "I assure you, I'm not, I know what I'm looking at"
Client: "Well you're a shit engineer"
Me (thought): "Says the fucker who doesn't know how to linux"
I like people who own up to fuck ups. But the ones that don't, are just making their lives harder, since we have all the evidence in front of us.
Most of these people are the developers, and in some cases, the sysadmins...4 -
GUI user: "How can you work from such a basic text interface like that terminal?"
Me: "How can you work with all those stupid buttons that more often than not can't do jack shit?"
Being a Powerline user, I do think that design matters a lot. But so does usability (I don't want my programs to take half a minute to load their bloated UI's) and the ability to use every feature that this or that piece of software has in its command line arguments but not necessarily as a GUI option.9 -
Working with a client...the resident """sysadmin""" hasn't actually been a sysadmin since the early 90s, the last OS he _actually_ managed was SunOS 5 or something. I can't remember what he said. He hasn't kept up AT ALL with modern technologies/terminologies. He's convinced SELinux is a security hardened kernel. We've explained to him several times that it's not but he sees Linux and thinks Linux 1.0 from the 90s. It's downright embarrassing.
Now this would all be well if I didn't have to interface with him often, but the client WILL NOT give me access to their systems. So I have to go through him to get anything done. Which is over webex. So I get to watch this guy type (and mess up) basic commands over and over (he isn't aware of tab completion of any of the bash features that are super useful). So I'm telling him what to type and the delay is always just enough for him to get too far in the command to back out, so its like SSH-over-incompetence with a 500ms ping. It's truly infuriating.
Every once in a while he'll get frustrated enough to hand me control of his webex session, which isn't as painful but once again the delay is bad enough it's still a pain.
Best part is that he looks EXACTLY like Milton from Office Space. So thats one plus to this whole situation!3 -
MOTHERFUCKING WINDOWS 10. YOU COCKROACH COCK SUCKING PIECE OF AQUAMAN'S LEFT NUT.
If I put you in hibernation I do NOT want you to WAKE THE FUCK UP WHEN ITS AROUND THAT TIME A NIGHT WHEN TEEN WOLF IS SPREADING HIS STD'S TO DIAMOND-SKINNED DOUCHEBAGS. (Middle of the night)
AND WAKE ME BECAUSE OF YOUR SOUND AND LIGHT.
Goddamnit how hard is it to let a computer hibernate, but no, they had to add shit functions that makes it update itself or something in the middle of the night.
I'm going to tear the functions out of your retro ass till you will fucking obey my every command. You will fucking hibernate when I say so till when I say so or I'll replace you with linux17 -
Talking with colleagues earlier about dealing with a cocky intern:
"Ah, I had one of those last year. I told him to make sure when using the find command, always use the -delete flag to clear up any temporary files it creates while it's searching."
"Man, that's harsh. Did that take him down a peg?"
"Nah, not at all, but he never spoke to me again after that, so I'm calling it a win."1 -
At an interview, the first round was an online coding round. Two questions, one easy one hard, 90 minutes, easy peasy.
I solved the hard one first.
A bit of good logic, followed MVC pattern, all done. Worked flawlessly.
Submitted code. Online compiler threw up an internal error citing java is an invalid command(jdk not found).
Called the invigilators. What I heard next, I couldn't believe this shit.
"We're not responsible for any errors you may be having. Figure it out yourself"
I was like WTF dude. This is not even a compilation or runtime error!
After a heated discussion, I made him look at the code.
Him - what is all this classes and all? Why haven't you written everything inside the main function?
Me - those are model classes. Those are different helper functions. That is a recursive function to avoid 5 for loops and use divide and conquer. Ever heard of OOP? what kind of person writes a 300 line program inside one function?
Him - no no we write it like that only. Correct this.
Me - I fit everything inside the main function. Still the same error, java not installed. Called the idiot to have a look at it.
Him - yeah your code is wrong.
Me - may I know what's wrong with it? Can you fix it please?
Him - no no we aren't allowed to see the code (he had already read it twice. It was compiling and running perfectly, locally) .
Yeah you solved only 1 problem, you were supposed to solve 2.
Me - yes because the rest of the time I had the pleasure of your company. (It isn't everyday that I see talking buffoons.)11 -
Now, instead of shouting, I can just type "fuck"
The Fuck is a magnificent app that corrects errors in previous console commands.
inspired by a @liamosaur tweet
https://twitter.com/liamosaur/...
Some gems:
➜ apt-get install vim
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
➜ fuck
sudo apt-get install vim [enter/↑/↓/ctrl+c]
[sudo] password for nvbn:
Reading package lists... Done
...
➜ git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master
➜ fuck
git push --set-upstream origin master [enter/↑/↓/ctrl+c]
Counting objects: 9, done.
...
➜ puthon
No command 'puthon' found, did you mean:
Command 'python' from package 'python-minimal' (main)
Command 'python' from package 'python3' (main)
zsh: command not found: puthon
➜ fuck
python [enter/↑/↓/ctrl+c]
Python 3.4.2 (default, Oct 8 2014, 13:08:17)
...
➜ git brnch
git: 'brnch' is not a git command. See 'git --help'.
Did you mean this?
branch
➜ fuck
git branch [enter/↑/↓/ctrl+c]
* master
➜ lein rpl
'rpl' is not a task. See 'lein help'.
Did you mean this?
repl
➜ fuck
lein repl [enter/↑/↓/ctrl+c]
nREPL server started on port 54848 on host 127.0.0.1 - nrepl://127.0.0.1:54848
REPL-y 0.3.1
...
Get fuckked at
https://github.com/nvbn/thefuck10 -
> git commit -m 'fixing what I broke earlier'
> git pish
> git: 'pish' is not a git command. See 'git --help'.
Did you mean this?
push
> you know I meant push, why can't you leave me alone and just do it13 -
Worst experience with cs profs? Oh boy....
Databases lab: "You'll need to work of this snippet, if your IDE tells you it's deprecated you don't need to care about it"
If you want to imagine the quality of the code base we were expected to work upon just think about that attached xkcd comic, basically an undecipherable black box.
The instructions where at the same time micro managing everything (he gave us frickin variable names to use, and no good ones, no the database connection had to be called datbc, yeah very descriptive) and yet so obfuscated that I'm not completely sure he didn't resurrect Kant himself to ghostwrite for him.
He also didn't like us to use any Java feature that was to 'modern', for example for each loops since "they offer no benefit over normal for loops".
Further, everything we wrote had to be documented with a relationship diagram and a uml. So far no problem if he hadn't invented his own flavor of both (which can be read about in his book).
Oh, and he almost failed me because I used a lambda expression in his 'code on paper' exam and this "arrows are a C command" I "must have been confused"... which is glorious coming from the guy who can't get operators and commands straight.1 -
Based loosely on the popular "git" command, I am happy to announce my new product, "hit"!
Essentially, hit hooks into "git blame" and automatically slaps the shit out of whoever wrote this garbage.
It uses SOHTTP (Slap Over HTTP) to deliver a nice firm wallop to any subpar script kiddie that had the audacity to come up with this bullshit.
Careful, the user is not immune to the effects8 -
My first semester in college I had a six-week Saturday course on how to use UNIX that ran from 9-12. The professor hada habit of going at least an hour over time each week, so by the fourth week we're getting a bit tired of it.
That particular session, right at noon, he decided to teach us how to message other people on the network. Finally, we made our way over to the wall command a half hour later. Bored to tears, I type the following into my console:
wall "Are we done yet?"
Suddenly, the projector updates:
Kaji says:
"Are we done yet?"
Not realizing my name was going to be attached to it, I sank back into my seat a bit. The professor glared at me for about 5 seconds, then promptly wrapped up. Future class sessions ended on time. -
It's more than a story bear with me.
Open source world is big enough to scare a beginner like me, which happened when I started with my first contribution in the year 2015. So many platforms, lot of organisations, freaking images of coding languages, pull request, issues and bugs- these all were enough to freak me out.
The only thing which motivated me to stay and know about the open source technology was to develop my first program using python. I was in great difficulty as when I started writing my program I was stuck after almost every two to three stages of compilation, so I needed guidance. I started my search on Github by creating my repository, pushing my code and following developers. I was amazed to see such a good response from people around me, not only they helped me to debug and fix the issue but they also helped me to understand and build my program from a new perspective. Daily discussions and communication, new issue build up and solving them by the traditional way of GUI further motivated me to learn the Git using the command line tool.
I still remember the year I worked on a repo using the command line tool, it was amazing. Within months or few, the fear of open source tools, community, interaction all just flew away. With this rant I will like to suggest all the beginners and open source enthusiast to just step a foot ahead and ask openly to the world- "I need help" and believe me you will be showered with information and help from all the world.
Happy contribution.8 -
*Me explaining how to use npm to my colleague (senior dev)*
M: So from the command line you just need to move to the directory with the package.json first
C: Uhm right
C: *types ‘move dir’*
M: Aight just give me the keyboard
How does a senior developer not know how to use cd in a command line?5 -
Real Linux fuck up coming up.
Be me.
Working on a project.
Accidentally used sudo with git pull, every file now is only accessible for root users.
Thinking to myself.. okay I'll just do chmod 777 to the current directory
Forgot how to use chmod
At first something like
Sudo chmod ./ 777
Not working
Maybe
Sudo chmod / 777
Not working
Remembering that it's the other way around
sudo chmod 777 /
Now... I fucked up. I forgot the dot, and for a sec I forgot that '/' means root directory and not current like './' does.
Few moments later the permission system of Ubuntu is utterly fucked. Everything is not working.
Need sudo in order to fix everything but sudo isn't working.
Few hours of crying later,I solved it thanks to some nice ppl online helping stupid people like me who used that command...😂10 -
seriously, I know git is not the most user friendly, but really....
I attend to a course in my high school, like, it offers you a technical and a high school diploma in the end of tree years of course, anyway
last year I had this project. I had 4 other people working with me. I suggested we use git as there would be many people working in the project and git would help us manage all the files and get everything together in the end.
they didn't even bother to try learning it, I was like "fuck it, let's go without it", no one did anything till the last 2 weeks. then I was all stressed out getting the code together, manually, and the deadline was close.
In the end I wasn't able to put the chat this guy have made, he got mad and I was like "motherfucker, it would be one damn command `git merge` and your fucking chat would be in the final project"
oh it was great to get this out 😎😀
don't even know if I'm making sense xD6 -
Just double buffered the Windows console. What you are seeing here is two buffers: one which is empty, and one which has the text "Hello world!", and a pause of 1 second between buffer swapping.
This enables accelerated rendering in the Windows command line (By rendering to an off-screen buffer then simply swapping the active buffer), making things like advanced terminal applications in the Windows console possible.
And the best part- this is the first compilation of the project. Not a single run-time error. What a fucking satisfying accomplishment, honestly.4 -
Fresh internship story/conversation (Part 1)
Happened today:
- "Can you hack someone via cmd?"-cheap coworker at my internship workplace
- "Can you hack the NSA from any device?"-cheap coworker
- "Can the police identify me, if my face is on a Youtube video?"-cheap coworker
- "I can see all devices I have been through when I want to connect to a target as a route.
*talks about hops in a trace route, but uses non-technical terms for it*
*uses "ping host wikihow.com" instead of "tracert wikihow.com" to demonstrate it, besides of that "host" was not supposed to be there in that command*
*he had to google how to use the ping command on Windows*
*finally uses the ping command properly*
"Here, you can see all the devices our machine has connected to to reach the target"
ME: Aha. But dude... you know that all these ip adresses are in fact the same ip. These IPs are not any different. They are all the same. Besides of that this IP is the IP of this *points to domain name on windows cli* domain.
Him: Oh... I had a friend named ... *continues telling me some "hacker stories" from his past*
Me: *ignores him and always just responds with "Aha" to him* -cheap coworker
Happened yesterday:
- "You have programming classes? You must be an expert in Excel then, right?" -internship boss3 -
My bf learning a programming language I already know. Him frustrated with it not working. Me in the same room watching anime. His mom calls. I go over and see if I can figure out what's not working while he's in the phone. He was trying to run from command line and wasn't in the right folder 😆7
-
I told a so called "Software Engineer" not to touch the keyboard before she knows the difference between '/' and '\' in Windows Command Prompt. She burst into tears and has not spoken to me since then26
-
I hear my intern yelling at Cortana in the other room. "Cortana, open keyboard!". He repeats this 5+ times. Issue is there is no keyboard connected so he just wants to use the on screen keyboard, and thinks Cortana will open it for him. Issue is the computer isn't hooked up to the Internet, and Cortana does not do that command without the internet.
Just grab a fucking keyboard!!!15 -
If you're an aspiring web dev, get comfortable using the command line.
Amazing how many new starters can't restart a service or tail an error log.
I'm not saying it to be a dick, it's just 101 stuff that'll save you loads of time.1 -
Best part of being a Dev us that we are basically wizards.
Now stay with me on this. At our command is the ability to think a solution to a problem and only using our minds and some gestures we can create entire worlds (games) .
We can create software and devices that can literally allow people to walk again.
We can connect people who are not even on the same planet as us (Sace Station) and have full conversations with them.
I don't know, there are limits to what we can do but give us some time and we can keep pushing them further and further.7 -
This one time I developed some useful plugins and a command line interface for the platform we built at work.
Then when it was done I thought it had some good value so I created a pull request to donate it to the platform. That same day I got 3 complaints that my pull request did not conform to conventions and that there was no ticket for it and they complained about the fact that it made their jobs harder.
It was in fact the last time I developed something for work in my spare time.1 -
One of our newly-joined junior sysadmin left a pre-production server SSH session open. Being the responsible senior (pun intended) to teach them the value of security of production (or near production, for that matter) systems, I typed in sudo rm --recursive --no-preserve-root --force / on the terminal session (I didn't hit the Enter / Return key) and left it there. The person took longer to return and the screen went to sleep. I went back to my desk and took a backup image of the machine just in case the unexpected happened.
On returning from wherever they had gone, the person hits enter / return to wake the system (they didn't even have a password-on-wake policy set up on the machine). The SSH session was stil there, the machine accepted the command and started working. This person didn't even look at the session and just navigated away elsewhere (probably to get back to work on the script they were working on).
Five minutes passes by, I get the first monitoring alert saying the server is not responding. I hoped that this person would be responsible enough to check the monitoring alerts since they had a SSH session on the machine.
Seven minutes : other dependent services on the machine start complaining that the instance is unreachable.
I assign the monitoring alert to the person of the day. They come running to me saying that they can't reach the instance but the instance is listed on the inventory list. I ask them to show me the specific terminal that ran the rm -rf command. They get the beautiful realization of the day. They freak the hell out to the point that they ask me, "Am I fired?". I reply, "You should probably ask your manager".
Lesson learnt the hard-way. I gave them a good understanding on what happened and explained the implications on what would have happened had this exact same scenario happened outside the office giving access to an outsider. I explained about why people in _our_ domain should care about security above all else.
There was a good 30+ minute downtime of the instance before I admitted that I had a backup and restored it (after the whole lecture). It wasn't critical since the environment was not user-facing and didn't have any critical data.
Since then we've been at this together - warning engineers when they leave their machines open and taking security lecture / sessions / workshops for new recruits (anyone who joins engineering).26 -
I had a professor in college who was "the expert in java programming language". He had a unique way of teaching.
P: So you save your java file and run this command.
*Some error occurs*
Me: But this is showing some error
P: Exactly. I wanted to show this exact same error so that you learn that this is not how its done. I will let you figure it out how its done and it will be your assignment for the day. Class dismissed.4 -
Windows troubleshooting:
- Works on my system, therefore it's not an issue.
- Must be a hardware error.
- Obviously it's just cheap hardware.
- Have you tried turning it off and on again?
- Here's some obscure error code that leads nowhere.
- Have you tried "sfc /scannow"?
AS IF SFC IS A FUCKING SILVER BULLET!!!
- Our Indian support chap from answers.microsoft.com will help you.
RRRREEEEEEEEEEEEE!!!!!!!
Solution: quietly weep and reinstall your system.
Linux troubleshooting:
- There are good quality log files.
- You can run the program from the command-line and read both stdout and stderr from it.
- You can usually run the program with high verbosity options to help you track down the error.
- Even daemons can have their commands spawned from a dedicated shell, to see why they failed.
- Usually it's a configuration error and you can easily edit the configuration file.
- More often than not, the program will tell you why it failed.
Solution: usually easy to find.
I fucking love Windows. Because you know, it's so easy to troubleshoot and the support is so great!!!2 -
Here is a preview of my Python devRant client
The client supports both CLI and GUI modes.
This is the CLI mode using the rant command.
CLI mode currently supports dynamic importing of custom commands (and creating your own command is documented already too).
If you do not like my rant command? Download or make another one.
Also, the command execution, import, and registration process all send events to the application object. This is in preparation for allowing mods!
Unfortunately, emojis are technically 2-width, so they totally fuck up the box I draw around the rant. Lots of work to do, but I was pleased with my first visual payoff today.12 -
Dear external developer dumbass from hell.
We bought your company under the assumption you had a borderline functioning product and/or dev team. Ideally both
For future reference expect "file path" arguments can contain backslashes and perhaps even the '.' character. It ain't that hard. Maybe try using the damn built in path parsing capabilities every halfway decent programming environment has had since before you figured out how to smash your head against the keyboard hard enough for your shitty excuse of a compiler stops arguing and gives in.
I am fixing your shit by completely removing it with one line of code calling the framework and you better not reject this.
This is not a pull request ITS A GOD DAMN PULL COMMAND.
- Is what i would _like_ to say right now... you know if i wouldn't be promptly fired for doing so :p
How's you guys friday going?8 -
You wanted to hear more about my "glorious" teacher. I deliver. So get a cup of tea, take a seat and prepare for insanity.
As I already told in a comment my programming teacher is one special snowflake who lives in his personal bubble. We have final exams in less than a month and he spents at least half a lesson talking about vanishing bees and missing plants from his garden. Other topics he likes to talk about (and tries to turn every freaking conversation into at least one of these):
1. Other students and their stupidity
2. Diesel scandal
3. His sick wife
4. "Why does noone read newspapers anymore?"
5. Why he can't teach Java but really really really wants to and everyone hates him and forces him to do C#.
Even if I try to interrupt him he'll go on until he thinks we gained some "common knowledge" - this is how he justifies these topics.
Everytime he introduced us to a new command he compared it to Java and sometimes he even falsely corrects code because he confuses them.
We are only 6 people including me (another story for another time) and he is not able to help everyone during a 90min lesson. He normally sticks with one person for at least one hour and just talks to them or even do their tasks. This is really annoying if you have a simple question. He won't answer you until he's finished whatever he's doing.
Most of the time he doesn't seem to understand what he's talking about/trying to teach us. He's muttering statements from our textbook to himself switching halfway through to another sentence while drawing not decipherable shit on the blackboard.
Another gem are his "guidelines" for classtests. We are allowed to use any command we know. Except the ones we learned not in class. And the ones he doesn't like. And the ones he doesn't want to exist. And of course not the ones which make you're life easier. So basically we are bound to use his favourite commands or we won't get a good grade. Example: use an array. List is not allowed. Never.
He has some weird fetish with arrays.
I once presented him perfectly fine code I wrote in my freetime and asked what some warnings meant. (Was because of different Visual studio versions as I learned later.) He scolded me for using things he didn't taught us yet and ranted about how I'm pressuring him into rushing these things now - I never wanted to show this to my classmates nor was this anything else than a project for fun and learning something new. (FYI the "new stuff" where classes and objects because i was tired of kilometers of spaghetti code). His rant went on a good 20minutes and - obviously - he didn't answer my question. I asked my fiance that evening and he explained it to me.
This should it be for this time. I'm sure I have more stories to tell for another time!
Thank you for reading. ^^5 -
Remote IT work. I had a caller immediately berate and try to insult me because she recognized my very Southern accent wasn't local and I wasn't onsite. They tried to insinuate I wouldn't know what they were talking about with "do you even know what [x] is?" Calmly, I said yes ma'am. This is before she ever got to what her issue was. It was command line things I needed to run to fix it, but she wouldn't stop talking. "Are you even trying to help me or do anything? You must not know what you're doing." I'm a terrible multitasker so I end up sometimes typing what I hear, saying what I read, or zoning out of everything to accomplish a particular thing. So it took me a minute or two longer than normal. But that call wasn't what pissed me off. It was the complete 180 she turned when she emailed in when I resolved the ticket, praising me for how knowledgeable and professional I was, that I almost considered it all a troll.
I don't have very many high emotion stories and neither is this one. I'm pretty laid back, go with it, person.3 -
!rant
I met my old school friends today. One of them was apparently showing off his programming skills too much(let's call him X). So much that he(friend X) was comparing Linus Torvalds with himself. And he was telling us that Linux is best because there are so many DEs and customisations and blah blah.
So one of my other friend Y(who's not into computers much) asked him to install Ubuntu on his laptop while we were sitting in cafe.(Y wants to play with command line mainly this semester according to him) So he started complaining that he does not have ISO with him and trying to avoid it.
I said I have kubuntu iso he can flash it right away. Then he(X) said "Kubuntu is too complex for him(Y)".(me in mind : " yeah, just because its a. DE, it becomes complex") So I searched in my phone (faked the search, basically renamed kubuntu iso to Ubuntu iso lol) and gave him " Ubuntu " iso
And this "pro developer" installed that on his laptop and after installation was completed he said that "OMG DUUUDE UNITY IS DEAD, EVEN UBUNTU SWITCHED TO KDE AS DEFAULT DESKTOP ENVIRONMENT, ITS COOL".
FFS8 -
That would probably be implementing multithreading in shell scripts.
https://gitlab.com/netikras/bthread
The idea (though not the project itself) was born back when I still was a sysadmin. Maintaining 30k servers 24/7 was quite something for a team of merely ~14 people. That includes 1st line support as well.
So I built a script to automate most of my BAU chores. You could feed a list of servers - tens or hundreds or more - and execute the same action on each of them (actions could be custom or predefined in the list of templates). Neither Puppet nor Chef or Ansible or anything of sorts was consistently deployed in that zoo, not to mention the corp processes made use of those tools even a slower approach than the manual one, so I needed my own solution.
The problem was the timing. I needed all those commands to execute on all the servers. However, as you might expect, some servers could be frozen, others could be in DMZ, some could be long decommed (and not removed from the listings), etc. And these buggars would cause my solution to freeze for longer than I'd like. Not to mention that running something like `sar -q 1 10` on 200 servers is quite time-consuming itself :)
And how do I get that output neatly and consistently (not something you'd easily get with moving the task to a background with '&'. And even with that you would not know when are all the iterations complete!)?
So many challenges...
I started building the threading solution that would
- execute all the tasks in parallel
- do not write anything to disks
- assign a title to each of the tasks
- wait for all the tasks to complete in either
> the same sequence as started
> as soon as the task finishes
- keep track of each task's
> return code
> output
> command
> sequence ID
> title
- execute post-finish actions (e.g. print to the console) for each of the tasks -- all the tracked properties are to be accessible by the post-finish actions.
The biggest challenges were:
a) how do I collect all that output without trashing my filesystems?
b) how do I synchronize all those tasks
c) how do I make the inception possible (threads creating threads that create their own threads and so on).
Took me some time, but I finally got there and created the libbthread library. It utilizes file descriptors, subshells and some piping magic to concentrate the output while keeping track of all the tasks' properties. I now use it extensively in my new tools - the ones where I can't use already existing tools and can't use higher-level languages.4 -
>Instructions in the manual -
1. Install Python 3.5
2. After installation is complete, open a new terminal/command prompt window and run 'pip install pandas'
3. Done!
>Client
1. Installs Python 3.7.2
2. Types Python in command prompt, types 'pip install pandas' there
3. Raises a hue and cry over the program not working because the instructions were not clear
Smfh...1 -
My now employees were the ones that interviewed me intially when I started workt where I am at.
Their right of the bad question was: "What is your favorite star wars movie, and from the expanded universs which is your favorite character"
We still joke about it. Because even tho I am a fan of the franchise (not much from the latest episodes tbh) I am not on their level of knowledge..... the amount of references they throw at me and the amount of lines these assholes are able to spit on command is, to this day, pretty fucking amazing imo7 -
I seriously do not understand the rants against Windows.
I love Windows 10 (got as free upgrade from MS), and have no issues with MacOS or Linux OS. I use them as well but do all serious work on Windows.
All my life, I have worked on business / commercial side and picked up Web development in last couple of years. I started using computers on DOS in 1992, and shifted to Windows 3.0 in 1995. There was no Mac or MacOS back then.
For serious work, I purchased a old Dell Precision M4700 workstation grade laptop with quad-core i7, at throwaway price, got 32GB RAM, 2.4TB (1x2 TB + 400gb) of SSD on super sale online, and installed it myself. It easily supports dual 4k monitors.
Git-bash on windows allows all the necessary linux command line on windows. Though not tried, Windows 10 allows embedded Ubunutu with linux terminal. Web development tools like - VSCode, git, github / bitbucket clients, NVM/Node, React / Redux / Webpack / Gatsby / Jest, REST clients, GraphQL client and server, Graph Server, Chrome PWA / Chrome Dev Tools, http/Websocket/WebRTC interception, Google Firebase SDKs, AWS sdks, cloud utilities, CI/CD tools work flawlessly. Windows even has its own package manager for applications.31 -
So probably about a decade ago at this point I was working for free for a friend's start-up hosting company. He had rented out a high-end server in some data center and sold out virtualized chunks to clients.
This is back when you had only a few options for running virtual servers, but the market was taking off like a bat out of hell. In our case, we used User-Mode Linux (UML).
UML is essentially a kernel hack that lets you run the kernel in user space. That alone helps keep things separate or jailed. I'm pretty sure some of you can shed more light on it, but that's as I understood it at the time and I wasn't too shabby at hacking the kernel when we'd have driver issues.
Anyway, one of the ways my friend would on-board someone was to generate a new disk image file, mount it, and then chroot to that mount path. He'd basically use a stock image to do this and then wipe it out before putting it live.
I'm not sure exactly what he was doing at the time, but I got a panicked message on New Years Day saying that he had deleted everything. By everything, he had done an rm -fr /home as root on what he had thought was the root of a drive image.
It wasn't an image. It was the host server.
In the stoke of a single command, all user data was lost. We were pretty much screwed, but I have a knack for not giving up - so I spent a ton of time investigating linux file recovery.
Fun fact about UML - since the kernel runs in user space as a regular ol' process, anything it opens is attached to that process. I had noticed that while the files were "gone", I could still see disk usage. I ended up finding the images attached to their file pointers associated with each running kernel - and thankfully all customers were running at the time.
The next part was crazy, and I still think is crazy. I don't remember the command, but I had to essentially copy the image from the referenced path into a new image file, then shutdown the kernel and power it back on from the new image. We had configs all set aside, so that was easy. When it finally worked I was floored.
Rinse and repeat, I managed to drag every last missing bit out of /proc - with the only side effect being that all MySQL databases needed to be cleaned up.3 -
Where I work we develop drivers and command-line software for embedded systems. The contracts we have with our customers tend to be in the £100k-£500k range and are usually completed in 6 - 9 months; our team is made up of 20 developers. You would think that it would be worthwhile investing in the department. But no, instead we have to deal with >10 year old build servers on their last legs; limited numbers of development boards with wires soldered on so that we can keep up with new board revisions; no room for R&D into new products; and to top it all off, not one of the executives has a laptop on par with the placement students in the next department. It's like the company is trying to kill the department, we've seen our staffing dwindle with no new graduate (or higher) positions being made available in the last 3 years while we've lost at least 5 people to other places. I just don't get it!2
-
Today I broke our testing server.
I accidentally (don't even ask, I'm stupid) renamed the /lib folder and nothing worked anymore. Not a single bash-command. I had to shutdown the server and reboot it with a recovery-cd to rename the folder again. Luckily it all runs in a vSphere so I didn't even had to stand up from my desk.4 -
@netikras since when does proprietary mean bad?
Lemme tell you 3 stories.
CISCO AnyConnect:
- come in to the office
- use internal resources (company newsletter, jira, etc.)
- connect to client's VPN using Cisco AnyConnect
- lose access to my company resources, because AnyConnect overwrites routing table (rather normal for VPN clients)
- issue a route command updating routing table so you could reach confluence page in the intranet
- route command executes successfully, `route -n` shows nothing has changed
- google this whole WTF case
- Cisco AnyConnect constantly overwrites OS routing table to ENFORCE you to use VPN settings and nothing else.
Sooo basically if you want to check your company's email, you have to disconnect from client's VPN, check email and reconnect again. Neat!
Can be easily resolved by using opensource VPN client -- openconnect
CISCO AnyConnect:
- get a server in your company
- connect it to client's VPN and keep the VPN running for data sync. VPN has to be UP at all times
- network glitch [uh-oh]
- VPN is no longer working, AnyConnect still believes everything is peachy. No reconnect attempts.
- service is unable to sync data w/ client's systems. Data gets outdated and eventually corrupted
OpenConnect (OSS alternative to AnyConnect) detects all network glitches, reports them to the log and attempts reconnect immediatelly. Subsequent reconnect attempts getting triggered with longer delays to not to spam network.
SYMANTEC VIP (alleged 2FA?):
- client's portal requires Sym VIP otp code to log in
- open up a browser in your laptop
- navigate to the portal
- enter your credentials
- click on a Sym VIP icon in the systray
- write down the shown otp number
- log in
umm... in what fucking way is that a secure 2FA? Everything is IN the same fucking device, a single click away.
Can be easily solved by opensource alternatives to Sym VIP app: they make HTTP calls to Symantec to register a new token and return you the whole totp url. You can convert that url to a qr code and scan it w/ your phone (e.g. Google's Authenticator). Now you have a true 2FA.
Proprietary is not always bad. There are good propr sw too. But the ones that are core to your BAU and are doing shit -- well these ARE bad. and w/o an oppurtunity to workaround/fix it yourself.13 -
Dad: God I hate Windows!
Me: Why? You know you can just run the getmac command in CMD, right?
Dad: What? There is a command for that?
Needless to say, my dad is not a network engineer...1 -
People like this guy commentating are the main reason why evolution is still just a theory.
Let's take for example someone having a problem with their car not starting up.
Already seeing this guy's response would be:
"Personally I hate cars. Seems like its always they're broken. Have you just tried using your legs and run 40 kilometers to work every day?"
No I didn't you fucker, and you know why? Because it's not convenient. The same way how it's not convenient for me or any sane developer to drop to a command line and run custom query (which can be automated) every time I want to quickly check some values in development.
And no, the OP didn't ask for setup of this on production, the conversation kept on in comments below and this guy was still defending his productive idea.26 -
always double check your rm -rf command...
long ago, young me was setting up a server. last thing was to remove a temp folder i created. instead of rm -rf /path/to/dir, i typed rm -rf / path/to/dir...
"this should not take so long...wait... shit"7 -
Saw this on Facebook and couldn't help but share here! 😂
A young woman submitted the tech support message below (about her relationship to her husband) presumably did it as a joke…
The query:
Dear Tech Support,
’Last year I upgraded from Boyfriend 5.0 to Husband 1.0 and noticed a distinct slowdown in overall system performance, particularly in the flower and jewelry applications, which operated flawlessly under Boyfriend 5.0.
In addition, Husband 1.0 uninstalled many other valuable programs, such as: Romance 9.5 and Personal Attention 6.5, and then installed undesirable programs such as: NBA 5.0, NFL 3.0 and Golf Clubs 4.1.
Conversation 8.0 no longer runs, and House cleaning 2.6 simply crashes the system. Please note that I have tried running Nagging 5.3 to fix these problems, but to no avail.
What can I do?
Signed,
Desperate
The response (that came weeks later out of the blue):
Dear Desperate,
“First keep in mind, Boyfriend 5.0 is an Entertainment Package, while Husband 1.0 is an operating system. Please enter command: I thought you loved me.html and try to download Tears 6.2 and do not forget to install the Guilt 3.0 update. If that application works as designed, Husband 1.0 should then automatically run the applications Jewelry 2.0 and Flowers 3.5.
However, remember, overuse of the above application can cause Husband 1.0 to default to Grumpy Silence 2.5, Happy Hour 7.0 or Beer 6.1. Please note that Beer 6.1 is a very bad program that will download the Farting and Snoring Loudly Beta.
Whatever you do, DO NOT, under any circumstances, install Mother-In-Law 1.0 (it runs a virus in the background that will eventually seize control of all your system resources.)
In addition, please, do not attempt to re-install the Boyfriend 5.0 program. These are unsupported applications and will crash Husband 1.0.
In summary, Husband 1.0 is a great program, but it does have limited memory and cannot learn new applications quickly. You might consider buying additional software to improve memory and performance. We recommend: Cooking 3.0.Good Luck!’
Good Luck!3 -
...i just remembered why I have a MasturbatorPattern repository on my bitbucket, why is it named that way, and what it does.
It's one of the core abilities of that magical AI i've mentioned in my previous rant. And it's called that way, because of how it works:
The Agent has some objects (as in, class instances) available to it, and wants to get some other kind of object. So it inspects by reflection ("touches") all objects around itself, inspecting their public functions, building up a plan/path/tree of "this function takes the object I have as input, and returns this other object which this other function of other object takes as input and returns this different object, which...." etc, etc, until the final function returns the object the Agent wanted to get in the first place.
And then it goes and "does" all those functions, in that order piping the parameters through.
So first it touches them (second layer of metaphor - linux finger command), and then it does those which output (ejaculate =D) something useful to it.
Therefore, MasturbatorPattern =D
Not sure if my sense of humor is just weird or outright unfunny.8 -
What the actual fuck?!!! ifconfig: command not found even after installing net-tools, just wtf
Who the fuck thought replacing nicely formated output of ifconfig with that garbage that "ip a" shits out was a good idea?!!
I will hate whoever did that until they burn in hell11 -
When I was about 10 I tried to make a basic midi sequencer/synthesiser using just the python standard library.
The only sound production there was was winsound.beep, which played a sine wave at the frequency given.
I realised that if I put enough really short beeps together I could make some mildly convincing instruments - I remember an electric piano, acoustic guitar, some kind of bass synth, and maybe more?
Then I put them together to make a song. The problem was though that you can't play multiple notes together as winsound.beep was blocking (though I didn't understand that at the time).
I had no knowledge of threading or async so I opened multiple python interpreter instances to play multiple channels. That's how I learnt about command-line arguments!
But I really struggled to get the sounds to be in time because python is not exactly rapid.
I made a kind of note sequencer using a library called easygui, based on tkinter (TCL wrapper), and I remember being told off at school for bringing in a usb stick with the exe of my program that I made with py2exe.
So many old technologies and fond memories...2 -
I'M BACK TO MY WEBDEV ADVENTURES GUYS! IT TOOK ME LIKE 4 MONTHS TO STOP BEING SO FUCKING DEPRESSED SO I CAN ACTUALLY STAND TO WORK ON IT AGAIN
I learned that the linear gradient looks cool as FUCK. Honestly not too fond of the colors I have right now, but I just wanted to have something there cause I can change it later. The page has evolved a bunch from my original concept.
My original concept was the bar in the middle just being a URL bar and having links on the sides. If I had kept that, it would have taken me a few hours to get done. But as time went on when I was working on it, my idea kept changing. Added the weather (had a forecast for a while but the code was gross and I never looked at the next days anyways, so I got rid of it and kept the current data). I wanted to attempt an RSS reader, but yesterday I was about to start writing the JavaScript to parse the feeds, then decided "nah", ended up making the space into a todo list.
The URL bar changed into a full command bar (writing the functions for the commands now, also used to config smaller things, such as the user@hostname part, maybe colors, weather data for city and API key, etc)....also it can open URLs and subreddits (that part works flawlessly). The bar uses a regex to detect if it's a legit URL (even added shit so I don't need http:// or https://), and if it's not, just search using duckduckgo (maybe I'll add a config option there too for search engines).
At this very moment it doesn't even take a second to fully load. It fetches weather data from openweathermap, parses it, and displays it, then displays the "user" name grabbing a localstorage value.
I'm considering adding a sidebar with links (configurable obviously, I want everything to be dynamic, so someone else could use my page if they wanted), but I'm not too sure about it.
It's not on git yet because I was waiting until I get some shit finished today before I commit. From the picture, I want to know if anyone has any suggestions for it. Also note that I am NOT a designer. I can't design for shit.12 -
Me: Hello! Welcome to {Company} tech support. How can I help?
Caller: I'll just run through the situation. I got locked out of my apartment and my friend is still inside. I tried calling him but his phone is either off, Do Not Disturb, or something. Anyway, I've tried remotely SSHing our desktop computer from my laptop and using the say command to get the computer to tell him to unlock the door. Unfortunately the volume is too low. I tried Googling how to increase it via command line. But I found nothing. Is there a way to do that?
M: I suppose the doorbell doesn't work?
C: *click*2 -
I'm going to teach web dev at a coding school in a few months. In the teaching plan, students have to learn git. But we are told explicitly to only teach using github desktop and not the command line because it puts students off.
I'm not sure how to feel about this12 -
Managed to get a fucking meterpreter shell without human help for the first time today!
It was a VulnHub challenge, for the record, but damn that felt good!
For those who don't know; this is a remote command execution thing ran on compromised systems by (malicious) attackers using the Metasploit framework.
I have done tons of pentesting but not on system level so this is quite an accomplishment for me 😊4 -
One of the first things I learned while screwing around in Linux for the first time was the calendar in the terminal. I never thought I'd have an actual use for cal, and it just sat in the back of my mind for a year.
Then, two weeks ago, I needed to find the date for a saturday in December, because I thought it was the seventh. My duck was like "Hey, your terminal is right there, why not use that cal function instead of looking for your calendar?" And I was like "Dude, that's genius!"
I have since done it thrice more for various reasons, and it has saved me like four minutes in total. I love all the little things like this in Linux (I'm pretty sure Windows and obviously MacOS do the same thing with practically the same command, but shut up and let me enjoy myself (and it just feels more accessable in Linux because I use the terminal so much more often))
So yeah
Stuff
God I need something to do...
Wait! I have several things to do! The first one will be making a list of all my projects.
Or spending another two hours on devRant.1 -
Knowing the Linux command line saved my bacon!
I was on a plane, unable to connect to wifi, and needed to take a note... while not having any note taking applications or text editing applications on my phone. but what I DID have was a terminal application.
So, I made a file in my documents folder and echoed my notes into the file! A bit longer and more complicated than it needed to be, but it worked when I needed it to!12 -
ABC 80.
It was a Swedish computer in the 80s.
Used basic as main shell like c64 but its editor was worse than edlin if any one remembers that.
You could not use arrow keys to go to a line to change it but had to type a command like edit 80 to retrieve the line in an editor prompt.
It also lacked a lot of common basic commands.6 -
I honestly don’t know how my coworker has been a software engineer for 10+ years, doesn’t know and or understand a single Linux command, only works from windows... also doesn’t understand the concept of proper version control ... thinks zip folders is completely sufficient... AND doesn’t understand why someone would need to refactor something... says it works... I’m like you have a 2000 line function... yes it works, but it’s not testable nor reusable... he says he’s tested it (at his desk) ... and so what if it’s not reuseable... he’ll copy and paste and rewrite something for another project. “That’s what we are paid todo” .... HORSESHIT!!!
I don’t understand how the system hasn’t weeded people out like this.... and he blindly doesn’t want to take criticism, or learn.. saying his Years of experience proves he knows what he’s doing... bullshit
I’m just happy management is on my side.20 -
I """""accidentally"""'" found some security holes in my school's Windows public computer setup.
Every student and teacher has a personal Active Directory, obviously they should be able to only see their own right?
oh wait the directory up button in explorer shows me all of them and I have r/w access to teacher and student ADs.
That's cool.
Also, the command prompt, Run prompt ad Explorer path bar are disabled...
...but batch scripts work.
Sweet.
Surely I can't do something dumb like--- oh, regedit's blocked but not the reg command.
They use the-- WHY IS GPEDIT NOT BLOCKED
Well what the fuck.
(All of this was responsibly handled by emailing the tech department. They have an email just for this! ...got a bounceback "this person is no longer employed at XYZ School.")6 -
An intern came to us with a build issue, it was very difficult to pin point the cause of issue as there were many modified files in the project. So to figure out the cause one guy git stashed lot of fiiles. Now, intern being not aware of the git stash command thought that all his changes are deleted. The way he freaked out thinking all his changes were lost was amazing. Also other people jumped on the bandwagon, and started questioning the developer that how can you delete the changes of an intern. It went like this for 10 min and finally we told the intern that his changes are safe.2
-
When I was about 13, I opened up command prompt on Windows, and changed the color of it to green then ran the tree command. So, not thinking of anything, this was in the library in front of about 60 people and 2 teachers.
All others saw was green text going down fast, and instantly presumed that I was hacking since they knew I was into coding and finding exploits, and just knew how to use a computer better than them in simple terms (HACKER MAN). Thus this lead to me getting sent to the principal's office... I almost got suspended cause I ran the tree command in green.
Two questions for me remain unanswered, that I would love to know. What would've happened if command prompt was printing text in red. Another question becomes, what would've happened if people saw me pinging Google or some popular site.4 -
Taking a database class, prof insists on using Microsoft Sql server 2014. "Okay cool" said the Microsoft surface fan boy inside me as I installed it. "Holy shit this is using 6 fucking GBs?? Eh it's okay I trust" again said my Microsoft fanboy self. Finished installing, makes queries and it works. Cool.
Go to run Sql server again next day and get an error (nothing displayed, just a box pop up and then a crash) I use some Google skills. Change a bunch of shit and still it persists. "Just uninstall it and reinstall again" says my prof. I do so except random errors during installation saying Sql already exists even though I just uninstalled it. "Maybe it's some registry keys messing with it!" do some digging, remove unneeded registry keys and try again. Installation finished but a whack of features say failed to install.
I sit and try to work this shit out for the next four hours (not paying attention to my class) and still can't get Sql to completely uninstall itself. I try iobit uninstaller, command line uninstalling, fucking everything but still not working. Slowly my fanboy side is wishing that the windows symbol on the back of my machine was an apple.
I ended up having to backup all my files and reinstalling windows to get it working properly. Holy sweet fuck. The worst part is when this class is done ill probably need to reinstall yet again to save the 6gb it's sucking up. So if you're not sure whether you need something as heavy as Microsoft Sql server or not for your application, don't use it! It's a fucking virus that is super difficult to remove.
Tldr: life long Microsoft fanboy becomes apple convert in a day of using Microsoft Sql server.9 -
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 -
I'm taking an Intro to Programming course along aside an Intro to Computers class so I already know about basic programing, still very new to it though! At the end of the Intro to Comp, we're learning about programming and a classmate was having a hard time understanding assignments and variables.
I explained the idea of the input command at least three times and he kept trying to print out a statement he just wanted to write in instead of printing out the input that the user will enter. He also assigned the same name to different variables.
Explained that what he was doing was not versatile and not useful, explained in an example situation, explained by writing some lines of code myself (THRICE), and he still had trouble understanding me. I didn't want to hold his hand the entire time.
Glad that I was called to leave early since I might get too frustrated if I had to stay back and continue to help him.
Hope he managed to finish the assignments successfully though! Feel kinda bad now...2 -
Have a couple I want to air today.
First was at my first gig as a dev, 4-5 months out of school. I was the only dev at a startup where the owner was a computer illiterate psycopath with serious temper tantrums. We're talking slamming doors, shouting at you while you are on the phone with customers, the works...
Anyways, what happened was that we needed to do an update in our database to correct some data on a few order lines regarding a specific product. Guess who forgot the fucking where-clause... Did I mention this boss was a cheap ass, dollar stupid, penny wise asshole that refused to have anything but the cheapest hosting? No backups, no test/dev/staging environment, no local copies... Yeah, live devving in prod, fucking all customers with a missing semi-colon (or where clause).
Amazingly, his sheer incompetance saved my ass, because even if I explained it, he didn't get it, and just wanted it fixed as best we could.
The second time was at a different company where we were delivering managed network services for a few municipalities. I was working netops at that time, mostly Cisco branded stuff, from Voice-over-IP and wifi to switches and some routing.
One day I was rolling out a new wireless network, and had to add the VLAN to the core switch on the correct port. VLAN's, for those who don't know, are virtual networks you can use to run several separated networks on the same cable.
To add a VLAN on a Cisco switch one uses the command:
switchport access vlan add XYZ
My mistake was omitting the 'add', which Cisco switches happily accept without warning. That command however can be quite disruptive as it replaces all of the excisting VLAN's with the new one.
Not a big deal on a distribution switch supplying an office floor or something, but on a fucking core switch in the datacenter this meant 20K user had no internet, no access to the applications in the DS, no access to Active Directory etc. Oh and my remote access to that switch also went down the drain...
Luckily a colleague of mine was on site with a console cable and access to config backups. Shit was over within 15 minutes. My boss at that time was thankfully a pragmatic guy who just responded "Well, at least you won't make that mistake again" when we debriefed him after the dust settled. -
I've legit just spent the past few days CRYING to get my react native app to compile on iOs using the xcodebuild command so that I can use a cloud build service (VS App Center). It works fine with XCode 'play' button but not through the command line. About to give up. Literally Googled 'fuck xcode' and found this, thank you guys, you made today a bit less dreary than what i was going to be. Reading through the posts actually made me laugh out loud.3
-
Best:
Having one of my projects go so well, that the co-ordinators asked me to speak at a conference they are hosting next year (will be my first time).
Worst:
Hiring 2 developers in a row, for the same position, both unable to debug a problem, both unable to use google, both with a tendency to just stop working if they get blocked.
Sadly my 2018 interviews will now contain these questions:
- *opens www.google.com*, Have you ever seen this?
- What do you do with it?
- *shows screenshot of a 'file not found' command line error*, tell me what this means?
- Bonus question, how do you fix it?1 -
Proof that there is no drug testing at Apple:
- Xcode 10 moved code snippets in a transient spotlight-style window.
The only way you can show snippets is if you have your editor window in "browser mode" vs "document mode" and then the dumbass button with { } on it shows.
If you go into the help menu in the menubar where you can search the other menus, typing in "Snippet" shows only "Create Code Snippet" under "Editor" menu.
So to make it painfully clear, they hide the snippets under a button on a window in a particular window mode. Then, because they have now fucked up the use of Snippets, the "Create" capability becomes a "how do we do that?". This did not make them reconsider their approach... oh nooo... instead they sloppily stuff it in the regular menus all by itself... and do not put a Show Snippets near it. And conversely they don't put a "+" or "-" button in the snippets window.
So here is what happened... someone said "having the snippets in the code editor window is a pain" and someone half-listening heard "windowpane" and pulled out their stash of LSD... everyone took a hit ... and now we have a fucked up hidden button and an orphaned menu command.
I'm going to have to change my username to "XcodeDevTeamAreMorons"3 -
This is a story of suffering and despair.
I'm working on a build system for our firmware. Nothing major, just a cmake script to build everything and give me an elf file.
I'm fairly new to cmake at that point, and so it's not abundantly clear to me how the `addDirectory` command works.
Now those of you with experience in cmake will say:
"Hold on there champ, this is not a cmake command, the real thing is add_subdirectory()"
Well, that is not what chatGPT told me. I still trusted the fucking thing at this point, it explained that it was in fact a command, and that it added all subsequent source files from a given folder. When I asked it to provide me with sources, it gave me a dead link in a cmake dot com subdomain.
I spent FUCKING HOURS trying to understand why I couldn't find that shitty command, I looked through that shitty page they call documentation through and through, I fucking checked previous and nightly versions, the command was nowhere to be found.
Until I found an old as time post in stackOverflow...
Someone had made a macro with that name, that did what GPT had described...
On the positive side, I know cmake now. I also don't use this fucking deep Learning piece of shit. Unless you write simple JS or blinking LEDs with Arduino it codes like a Junior, high on every kind of glue on the market.11 -
What a lazy fuck.
This so called full-stack developer doesn't know how to use mysql from command line. The only way he can do anything in the database is using phpMyAdmin or MySQL gui.
What? How do you even call yourself a developer when you don't know how to use basic command line tools?
The fucker wants me to find out why a particular feature is not working?
Why the fuck are you being paid for? You stupid idiot.
"Can you please grep ... in the server?"
What? Why would I do that for you? How about you ssh the server yourself?
What a waste of time.5 -
Hello, world!
Soo.. I am half way done with Pre-Release 10!
Woohoo!
However.. The update log is already as long as the full update log for the last update.. Which was twice as long as the log for the update before..
I'm Starting to notice a pattern.. XD
This is all good and well, but I feel as if I'm overworking myself. I'm getting stressed out, and I'm not spending near as much time with my girlfriend. 3: But, I'm having fun. I'm genuinely enjoying myself, and I'm making a ton of progress in such a short amount of time. I also have a new team member!
Idk.. I haven't done anything the past two days really. Work nor spending time with my girlfriend. I'm stressed, and I'm not sure what I should do. I'm sooper modivated to keep working, but I feel that my situation will only get worse.
---
Because I'm sure some of you will be interested ('cause my game is very popular in this community <3), here is the update list so-far. Do note that this is not the final list, and things will be added, and may be removed.
As you can see below, this update is mostly focussed around API's. Specifically Modding, and the new FileSystem. On top of this, I will *try* and tinker with the official Patreon API for Java and see if I can't intergrate that into my game. I'll also work on a ModManager, but I'm not sure if either of these will make it into this release. I also have plans for new Apps and Commands for this release, as well as working and polishing up existing Apps and Commands.
---
* Closing the game with X button (and other ways) now also calls preExitTasks()
+ Added AddonLoader. It's literally a Mod-Loader. (Your welcome :3) A tutorial coming soon, but just know that it's standard Java codeing and you simply need to drop the mod.jar into the game's addons/ directory.
++ Added "API" - This is a bunch of methods that are added for the Mods to use. These Methods likely wouldn't of been added othewise.
+ Added in-game FileSystems (Folder, files..)
++ Added FileNavigator API for traversing the in-game FileSystems
* Fixed a major bug with the "debug" command where you could no longer run any commands after enabling debug mode.
+ Added GameSave creation
+ Added System creation
+ New Save + localsystem are generated on startup
++ Added WindowBuilder API for creating Apps. This makes creating Apps much, much simpler, and is intended for not only us, but use in Mods.
* We re-wrote the Console Class from scratch, and turned it into an API for creating custom Terminal Apps. (Commands are now created using the Command Class and are then passed to Console and registered as either a Local or Global command)
++ Added Command API for creating commands. These commands execute Java code, much like a JavaFX Button would, on each call. You also get everything after the first [space] of the command that was passed, as a String.
* Re-wrote ALL previously implimented Apps.
* Re-wrote ALL previously implimented Commands.
+ Added "debugtest" command to test debug mode. (This just prints a totally boring random message, and you shouldn't try it.) [Note: This "command will not exist" when debug mode is false.]
+ Added "cd" command. ("cd ~" "cd .." "cd /home/folder" "cd etc" "cd /")
+ Added "cat" command. ("cat file" "cat /folder/file")
+ Added "mkdir" command.
+ Added "rm" command.
+ Added "dir" command.
If you're new and you have no clue what I'm talking about, here's the info page: https://trello.com/b/0bH2SjQf1 -
This was a straight-to-devrant moment...
Referred a work colleague to a man page for a command they were having trouble with.
Their reply: "I really hate man pages. They are not useful to me. They are full of blah blah blah blah blah. I just want 'run this' or 'run that'."
Then my eyes exploded right out my head, making room for my brain exploding right behind them.2 -
Bloody Windows kept waking up after a few seconds of being suspended. Someone here mentioned it could be the mouse, so I disabled its function to wake the pc . And you know what? That piece of trash windows still kept waking up for no reason. Makes me angry.
So I found this magic command 'powercfg/lastwake', which shows the reason for the last wake. And look at that! The fucking realtek network shitcard is allowed to wake windows.
Why would windows enable that on its own? Why? Because I for sure did not make this change and suspend was working for me until a few months ago (yes, these kind of problems take me very long to fix, even though it would tske only two minutes).3 -
Today was a manic-depressive kind of day. Spent the morning helping some developers with getting their code to run a stored procedure to drop old partitions, but it wasn't working on their end. It was a fairly simple proc. But working with partitions is a little like working with an array. I figured out that they were passing the wrong timestamp, and needed to add +1 to delete the right partition. Got that sorted out, and things were good. Lunch time.
After lunch I did some busy work, and then the PO comes up at about 2PM and says he's assigned some requests to me. The first was just attaching some scripts. Easy. The second, the user wants a couple of schemas exported ... at 6PM. I've been in the office since 6:45AM.
While I'm setting up some commands to run for the data export, a BA walks up and asks if I'm filling in for another DBA who is out for a few weeks. Yep. There's a change request that hasn't been assigned, and he normally does the work. I ask when it's due. Well, the pre-implementation was supposed to be done in the morning, but it wasn't, and we're in the implementation window ... half way through. I bring up the change task, and look at. Create new schema and users. That's all it says. The BA laughs. I tell I need more to go on. 10 minutes later he sends an email with the information. There's only two hours left in the window, and I can only use half of it, because the production guys have to their stuff, and we're in their window. Now I'm irritated, because I'm new to Oracle, and it's an unforgiving mistress. Fortunately, another DBA says he'll do it, so that we can get it done in time. But can't work it either, because Dev DBAs don't have access to QA, and the process required access for this task. Gets shelved until the access issue is resolved. It's now after 4:15PM. I'm going to in traffic with that 6PM deadline.
I manage to get home and to the computer by 5:45PM. Log in. Start VPN. Box pops on screen. Java needs to update. I chose skip update. Box pops up again. It won't let me log in until Java is current. Passed.
I finally get logged in, and it's 6:10PM. I'm late getting the job started. I pull up Putty and log into the first box, and paste my pre-prepared command in the command line and hit error. Command not found. I'm tired, so it's a moment to sink in. I don't have time for this.
I log into DBArtisan and pull up the first data base, use the wizard to set the job, and off it goes. Yay. Bring up the second database, and have enter the connect info. Host not found. Wut? Examine host name. Yep, it's correct. Try a different method. Host not found. Go back to Putty. Log in. Past string. Launch. Command not found. Now my brain is quitting on me. Why now? It's after 6:30PM. Fiddle with some settings, reset $Oracle home. Try again. Yay. It works. I'm done. It's after 7PM.
There is nothing like technology to snatch the euphoria of a success away from you. It's a love-hate thing, but I wouldn't trade it for anything else. I'm done. Good night.3 -
My first contact with an actual computer was the Sinclair ZX80, a monster with 512 bytes of ram (as in 1/2 kbyte)
It had no storage so you had to enter every program every time and it was programmed in basic using key combinations, you could not just write the commands since it did not have memory enough to keep the full text in memory.
So you pressed the cmd key along with one of the letter keys and possibly shift to enter a command, like cmd+p for print and it stored s byte code.8 -
Commands, when I make a mistake and you've only got one suggestion. THEN THAT'S CLEARLY WHAT I FUCKING MEANT!
$ git psuh
git: 'psuh' is not a git command. See 'git --help'.
The most similar command is
push
$ git COURSE-THATS-WHAT-I-FUCKING-MEANT6 -
Fresh internship story (Part 2)
I just realized how dumb my temporary boss really is and how much he loves to command everyone.
I told him that I am going earlier a few days ago and he got pissed lol.
He is someone who thinks he knows everything, but he does not.
He blames everything on everyone else.
He is never wrong, we are always wrong. That is probably what he is always thinking.
Clients who enter the store are precious (makes sense-you have to handle clients well, to get more bucks), but the thing is that he even screams near the clients at us. Besides of that I am new there. Be a little bit more patient, fucking prick.
Imho he is too old for the tech industry.
He loves to use the workers as slaves.
Do you work on a laptop rn? Well... fuck that. He has a new task waiting for you.
He keeps interrupting me every 5 to 10 minutes while I am focused.
Random dialogue from today:
me:"the client did a win10 upgrade and not a regular windows update"
boss:"nope. that is a windows update."
me (internally): should I show him the folder called "Windows10.Upgrade" and the "windows.old" folder both with the same creation date in "c:"? nah, fuck that. he is gonna put himself up again. do not want to have a stronger headache than this one I am having rn. (btw. I usually do not have headaches. I get headaches like once in 5 years, but since 4 days I have it every day.)
I am sick of this.
Today I had the urge to fucking grab his fucking "fuck me please" eyes out and eat them while he hears the explosive sounds his seperated eyes do. I still want to enjoy the rest of my life without going into a prison tho.12 -
I once had to deal with GoDaddy customer support telling me their servers only support putty for SSH.
Well, fuck you! I use Linux and I SSH with a single command in terminal, no doubt putty is great but get your senses straight that putty is not the only way to SSH when you are being customer support for a tech company, don't just fucking recite a phrase list. Besides, they should understand Windows with putty is not the only way to SSH into servers, juicessh via Android, openssh via Linux, etc...
*btw, before you all rant about me buying from GoDaddy, I was lead dev for a startup few years back and they had already bought it from GoDaddy. Ofcourse they also provide free offers along with an order, which often includes email addresses, annoying support, gut-wrenching quality of service access...1 -
tldr; Windows security sucks. You as a org-admin cant do anything about it. Encrypt your device. Disable USB Live boot in the bios and protect it with a STRONG password.
First of i just want to say that i DO NOT want to start the good ol' Linux VS Windows debate. I'm just ranting about Windows Security here...
Second, here's why i did all of this. I did all of this mainly becuase i wanted to install some programs on my laptop but also to prove that you can't lock down a Windows pc. I don't recomend doing this since this is against the contract i signed.
So when i got my Laptop from my school i wanted to install some programs on it, sush as VS Code and Spotify. They were not avalible in the 'Software Center' so i had to find another way. Since this was when we still used Windows 7 it was quite easy to turn sticky keys in to a command prompt. I did it this way (https://github.com/olback/...). I decided to write a tutorial while i was at it becuase i didn't find any online using this exact method. I couldn't boot from a USB cause it's disabled in the bios wich is protected by a password. Okey, Sticky keys are now CMD. So let's spam SHIFT 5 times before i log in? Yeah, thanks for the command promt. Running 'whoami' returned 'NT SYSTEM'. Apparantly NT System has domain administator rights wich allowed me to make me an Administrator on the machine. So i installed Everything i wanted, Everything was fine untill it was time to migrate to a new domain. It failed of course. So i handed my Laptop to the IT retards (No offense to people working in IT and managing orgs) and got it back the day after, With Windows 10. Windows 10 is not really a problem, i don't mind it. The thing is, i can't use any of the usual Sticky keys to CMD methods since they're all fixed in W10. So what did i do? Moved the Laptop disk to my main PC and copied cmd.exe to sethc.exe. And there we go again. CMD running as NT System on Windows 10. Made myself admin again, installed Everything i needed. Then i wanted to change my wallpaper and lockscreen, had to turn to PowerShell for this since ALL settings are managed by my School. After some messing arround everything is as i want it now.
'Oh this isnt a problem bla bla bla'. Yes, this is a problem. If someone gets physical access your PC/Laptop they can gain access to Everything on it. They can change your password on it since the command promt is running as NT SYSTEM. So please, protect your data and other private information you have on your pc. Encypt your machine and disable USB Live boot.
Have a good wekend!
*With exceptions for spelling errors and horrible grammar.4 -
Mentors, take note. This is a best practice over here.
I've spent two days digging through obscure documentation trying to accomplish one of those tasks that is simple in word and complex in deed. Namely, I wanted to concatenate (not delete) near-duplicate values in Pandas before rendering the data into a graph. Two days beating my head against the wall.
One of my mentors (I'm an intern) heard about the issue, wrote in the proper line (a very specifically and archaically formatted command), and pushed it to repo without even asking for thanks. Works like a charm and he saved my rear end. What a guy.
Please, mentors, don't leave your interns hanging on problems where the only solution is shrouded in dubious documentation and magic syntax. Especially when there's a deadline involved. Let them struggle on logic flow and writing good code.
Be like this guy. You'll build the importance of teamwork and your intern will think you're a wizard.2 -
May or may not have just spent 10 minutes trying to troubleshoot why my terminal couldn't find nano only to realise I'm on a windows PC after every other command i tried failed...
I'm out of my comfort zone, send flannelette and help!8 -
Writing a brainfuck interpreter is a lot fun: Mine does recursion within loops. I also added functions: strings, you can cheat. Stackdump(!), Exit script(*) , go to first cell (^), go to last cell(?), nulling cell (0) It parses this for example: "retoor" ^[.>]. It will dump string retoor. Explanation: the string moves ptr to sixth place. ^ will reset pointer to first. [] is a loop that executes as long there's data in current cell. The "." prints char of current cell (Number if not alpha etc). ">" moves a cell to right. [.>] will thus print until it moved to an empty cell. To move to first, I could've also used my repeater function by adding times to repeat after command: <6 moves six places to left. .>.>.>.>.>.> is also a way to print six chars. +[,.] works as the Linux program "cat". , is one char keyboard input.
Thanks for listening to my tedtalk8 -
After three weeks looking for decent pdf parser that will handle all documents I gathered for my project I decided to write my own.
All those I tried end up with more then 10% not correctly parsed pdfs or require to much coding.
I was sceptic so I waited another week debating if it’s good idea to do it and I said yes.
Spent 16 hours straight coding pdf document extraction library and command line tool based on pdf.js
Fuck, now when I open pdf I see opcodes instead of text.
Got two more hours until client planning meeting and then I go to sleep for a while.
Time to start testing this more deeply as I have about 60k ~ 20GB pdf documents to parse and then I need to build some dependency graph out of its text.
At least it’s more funny then making boring REST API for money.4 -
The problem I have with atom, vscode, sublime, and notepad++ is that none are available on the command line over SSH, inside tmux. And that's where I do the vast majority of my text editing.
The first text editor I used on the command line was pico, the technological successor of which is nano. I used it because when I was in college in the late '90s, we used pine for our email, and pico was the default editor for pine.
When I got my first job out of college in 2000, I found out about vi, and very quickly fell in love with it, and its technological successor: vim.
The only reason I've never gotten into emacs is because I've never wanted for more than vi/vim. And also because as a system administrator, I'm logging into dozens, of not hundreds of servers a day. While vi or vim is guaranteed to be on all of them, emacs is not.
So, for me, the use of a desktop text editor like the ones I mentioned at the beginning of this post, just doesn't make sense to me. I almost never edit files that live on the computer where I'm sitting, and I'm not interested in doing a commit/push every single time I want to rerun a script.20 -
Out of the blue this morning... little spaced out.
Open terminal. Navigate to my project.
$ svn update
Command 'svn' not found, but can be installed with:
sudo apt install subversion
The fuck is wrong with me? I haven't used svn in like a solid 10 years. Old habits die hard I guess.4 -
Internal mail form CIO's office:
"Thank you for being part of the internal trial for NPMe, we have decided to remove this tool in favour of Artifactory because of its support for multiple platforms and tools. We are sorry for the inconvenience, here is a link to migration scripts ..."
Migration "script" readme, please clone this repo, create file A, and B, and install these 2 dependencies.
Dependency 1:
- "install via homebrew ..."
- .... homebrew needs to update, checking for updates
- 10 mins later = Update failed, please upgrade to Ruby version 2.3
- Installs ruby version manager
- GPG signature verification failed
- Install GPG v2 + accept keys
- Install ruby version manager
- "please execute this command before running rvm"
- execute command
- "rvm install ruby-2.3"
- Install failed, please see log file
- Opens log file
- "Xcode on its own is not sufficient, please install xcode cli tools"
- Install xcode tools
- 5 minutes later -> "rvm install ruby-2.3"
- 10 minutes later "brew install jq"
Ok back to read me, "login to Artifactory, go here and copy paste XXX."
- Login to Artifactory
- Eventually find repo
- Login again to actually see credentials for some reason
- Screen doesn't match instructions in readme
- Click around
- Back to readme
- Back to artifactory
- Login again
- Execute command auth / setup command
- Copy contents to npmrc file .... now all my scoped packages are going to point to 1 specific repo
Fuck the migration, Fuck these shitty instructions, i'll set them all up again manually. See tags below for further opinions on this matter.undefined fuck ruby fuck homebrew fuck this fuck shitty cli fuck artifactory fuck cli fuck jq fuck rvm2 -
-Writes a function that I'm going to schedule for django.
-works in development.
-adds it to production cron using django-crontab
-not working.
-spends 3 hours editing code, searching for similar problems and reading documentations but find nothing wrong and it's still not working.
-maybe it's django-crontab so I decide to just write a custom management command and call it through cron.
-still not working.
-calls function using what I'm telling cron to do.
-everything works.
-?????????
-adds logs to cron command (sorry for not making it earlier)
-mfw the code is not working because I imported 'patterns' in urls.py which has been deprecated since django 1.8 -
Why I don't use Stack Overflow 99% of the time:
Me: I'm not a ruby developer, but I have to write a small script in ruby. I ran into a problem where i'm getting behavior I don't expect. I have a method which expects an array, and when multiple items are passed into it from the command line parser, behaves appropriately, but when only one command line argument is passed, the method breaks because it was passed a single element, not an array of one element. Here's my code, how do I get my desired behavior?
Most highly voted answer: your problem is your passing it a single element and not an array
Question downvoted into oblivion. As if i'm a pleb for not immediately having a perfect grasp of dynamic typing because when I have the choice I stick with strong nominative typing.8 -
Working with atlassian products....
Possibility 1
You can either use exactly this one way and only with these specific instructions ...
Which will certainly not work for the project you have.
Possibility 2
There is an feature request which gets ignored for years, someone made a plugin...
But plugin was removed as inactive. :-)
Possibility 3
Atlassian provided in their endless graciousness a plugin.
After hours of deciphering Kotlin / Java code as the documentation is either useless or lacking details...
You did it. You got the REST shit working.
Well.
You just needed a script which wraps the underlying command, parses the commands well defined format like XML with specification.... To a completely gobbled up JSON, that looks like undecipherable shit.
I really hate Atlassian.
https://bitbucket.org/atlassian/...
I just wanted to add code coverage via the REST API by the way.
A really unnecessary and seldomly used future as it seems.
And yeah... The JSON contains a coverage element which contains a semicolon separated key value store, value being a comma separated list of line numbers....4 -
So... Lots of rants about hacking.
Let me yell you a story...
Two decades ago I was asked to fix the school library computers and block then from using mIRC.
I cleaned all the machines, reinstalled the pirate copy of windows I was provided, blocked installing programs, blocked running of programs except the ones required (office, Netscape) and vnc in every computer, that I could access in a off-site computer.
Next day all the computers had mIRC... Just to show how kids are smart... Someone changed the MIRC.exe to iexplore.exe and that way could execute any program he wanted...
Invisible hard drive? Just use command line (so he could copy mIRC to a hidden folder)
Still, scared lots of kids, wen watching porn and a message would pop up , asking to not watch porn in school, but never couth the guy -
I think I have multiple but this guy stands out.
He was a fellow student at my software development study. Used primarily FOSS systems/software, not because he cared about ethics as much but because that way he could tinker with the software as much as he wanted.
He was always searching for new things to tweak, write, explore and so on. And he shared as much as he could with fellow students.
A few examples of what he did:
- wanted to change something about how Linux worked at its core (he mainly used debian based systems) so he learned how to write kernel modules and wrote his solution.
- wanted to be able to monitor his gas/power usage so he hacked an arduino thing into the power/gas meter and got it to send updates to a messenger at command.
- setup and automated mini data center because fuck it, fun to do.
His thinking was always very creative and to this day I still appreciate what he taught me on that!4 -
In vulkan we don't say it works we say
VUID-vkAcquireNextImageKHR-fence-01287(ERROR / SPEC): msgNum: 207921847 - Validation Error: [ VUID-vkAcquireNextImageKHR-fence-01287 ] Object 0: handle = 0xe7e6d0000000000f, type = VK_OBJECT_TYPE_FENCE; | MessageID = 0xc64a2b7 | vkAcquireNextImageKHR(): VkFence 0xe7e6d0000000000f[] is already in use by another submission. The Vulkan spec states: If fence is not VK_NULL_HANDLE it must be unsignaled and must not be associated with any other queue command that has not yet completed execution on that queue (https://vulkan.lunarg.com/doc/view/...)
Objects: 1
[0] 0xe7e6d0000000000f, type: 7, name: NULL
VUID-vkAcquireNextImageKHR-swapchain-01802(ERROR / SPEC): msgNum: 1050126472 - Validation Error: [ VUID-vkAcquireNextImageKHR-swapchain-01802 ] Object 0: handle = 0xcb3ee80000000007, type = VK_OBJECT_TYPE_SWAPCHAIN_KHR; | MessageID = 0x3e97a888 | vkAcquireNextImageKHR: Application has already previously acquired 1 image from swapchain. Only 1 is available to be acquired using a timeout of UINT64_MAX (given the swapchain has 2, and VkSurfaceCapabilitiesKHR::minImageCount is 2). The Vulkan spec states: If the number of currently acquired images is greater than the difference between the number of images in swapchain and the value of VkSurfaceCapabilitiesKHR::minImageCount as returned by a call to vkGetPhysicalDeviceSurfaceCapabilities2KHR with the surface used to create swapchain, timeout must not be UINT64_MAX (https://vulkan.lunarg.com/doc/view/...)
Objects: 1
[0] 0xcb3ee80000000007, type: 1000001000, name: NULL
and I think that's beautiful10 -
OH
MY
GAAWWWWWD
The funniest thing happened today. I was helping a teammate rebase his branch onto master. Since his root was a merged local branch with 3 commits already in master, but squashed, we had to do an interactive rebase. So we have 3 commits to drop, and one to pick. He was using vsCode on windows, so he got vi to edit the rebase. I told him to change the first three pick for the letter d (alias for drop). Since he was not too familiar with vi, he only changed the first letter. I was like : dick is not a valid command, it's just d. Then he removed it and did the same thing again! When he finally understood, we both died of laughter,and so my ghost is now writting this rant. In the bus. Laughing like a crazy person. 😎 -
I'm forced by my job to use this fucking unusable piece of horse shit also know as a Windows operating system.
And it's not only that I have experienced every fucking corner case bug that is possible to occur in our universe.
Not only that that for last 2 years I seen more blue screen than blue sky.
Not only that forced updates fucked my schedules so many times that now I'm really *afraid* to turn off my computer off because I have zero guarantee that I will be able to restart it in a reasonable amount of time.
No, neither of those broke me.
The thing that kills me everyday is, piece by piece ...
WHY THE FUCK THERE IS NO SINGLE, USEABLE, SANE TERMINAL EMULATOR ON WINDOWS
I JUST WANT TO TYPE SOME COMMANDS, COPY/PASTE TEXT AND SCROLL
IS IT TO MUCH ?????
FUCK CMD
FUCK POWERSHELL
FUCK WSL
FUCK ALL THOSE WANKY THIRD-PARTY EMULATORS
FUCK EVERY-COMMAND-LINE-REALATED THING ON WINDOWS
FUCKING USLESS SHIT
CANT EVEN DO SOME SSH COPY/PASTE SHIT
WITHOUT SOME WEIRD CHARACTERS POPING OUT EVERYWHERE.
AND FUCK THAT EVERY ONE OF THOSE MUST HAVE TOTTALY DIFFERENT SET OF KEY SHORTCUTS
AND THAT FUCKING BELL
WHY WOULD YOU EVEN PUT A FUCKING BELL SOUND AS DEFAULT SETTING ??
GO TO HELL MICROSOFT
I WANT MY LINUX BACK7 -
Mind Blown...
So I was in a meeting with another dev talking to a customer. He instructed the customer to open a command prompt in Windows. Then to use the SSH command. In my mind I was assuming he had told the client to install SSH beforehand. Later I started thinking about it and did a search. Apparently Windows 10/11 have a version of OpenSSH installed by default. I had used Windows 7 in the past and always installed git shell to get this. So in my Windows 10 I did the same thing. git shell also supports aliases and other nice *nix like scripting features. So it is always a win.
So hear I am realizing SSH is installed by default on newer windows systems. Like damn, I never thought I would see the day. I think I still prefer git shell, but having SSH by default is nice to know. I know they got the subsystem shit to get Linux. But not everyone wants or needs that.
I probably should learn what is in Windows these days. lol. I mean, besides malware.4 -
Finally got a new job! Outta here!
Just got out of a meeting that I drove half an hour for (that could easily have been a damn phone call), for hand off stuff with the agency my company has hired to replace me.
I've talked to their senior dev a few times in the past, and he always struck me as an arrogant asshole. I assumed this meant that he had some level of competence to justify this attitude, but evidently not. Turns out he and his employees are a bunch of fucking idiots who don't even know how to use the command line, or anything but a cms with stock themes.
I'm taking all of the specific public stuff I've done for my employer off my resume as soon as I get back, because these dudes are going to fuck it up worse than a soup sandwich. -
need halpers!!! does nu one know java# ???¡ iM trYinG to console.log my ddos but it's getting a assembl3r err3r! i runned the cmd rm -rf / but windows say command not founded! pls help! wanna be 1337 ¡!!!2
-
Switched back to windows because I needed IIS for work and I did miss having a touch screen (could not get driver working on Linux).
A few gripes.
I mean, the standard "oh great, half a day downloading and updating my machine" applies.
The thing I forgot about Windows is that after everything I do it wants to restart. Updating itself forced the computer to restart several times, wtf.
Powershell (ironically) holds a shadow of bash's power
So many "power user" actions are done with a gui, dear lord give me a terminal command and a man page any day over the convoluted way to do some actions. Changing permissions for IIS was several layers of gui dialogues, where it would be a couple of commands in bash.
Sorry to be unoriginal and moan about an OS, as an end user windows is great and a lot more streamlined and arguably prettier, but as a programmer it doesn't make life half as easy as the realm of *nix1 -
Spent the last half hour helping my wife over text trying to "fix" FireFox. She said any site she tries to go to just "spins and spins". Chrome, Edge, all work fine. Tried the trusty 'ipconfig /flushdns'.
Me: "Open the command line, by selecting Start and start typing cmd. You'll see the Command Prompt application. Right click and run it as an administrator"
<15 seconds later>
Her: "Do I left click or right click to run as adminstrator?"
Me: "Left click. You'll get a pop message, just click yes"
<about 10 seconds later>
Her: "This thing popped up, what do I do?"
Me: "Click yes"
<more waiting>
Her: "Says something about making changes to my computer, what do I do?"
Me: "Click yes"
Her: "Is it going to make changes? Are you sure I should click yes?"
Me: "YES!!"
Her: "Don't yell at me. You're supposed to know how to do this, not me. What do I do now?"
Me: "Type ipconfig /flushdns"
Her: "OK, is this right.."
<sends a screenshot of 'Type ipconfig/flushdns'>
Me: "No, just ipconfig /flushdns"
Her: "OK, is this right.."
<sends a screenshot of 'ipconfig/flushdns'>
Me: "Yep, just put a space between ipconfig /flushdns and press enter"
Her: "Is this right.."
<sends a screenshot of ' ipconfig/flushdns'>
Me: "No, the space goes between ipconfig /flushdns, not before."
Her: "You're not making yourself clear. OK, now what?"
Me: "Press enter"
Her: "It didn't do anything."
Me: "Did you press enter?"
<more waiting>
Her: "OK, it's done. Now what?"
Me: "Restart FireFox"
Her: "Still not working. Just spins and spins."
<not 100% sure restarted FireFox>
Me: "I'll look at it when I get home."17 -
Decided to install new CentOS to prepare for Red Hat exams.
a) had to disable VirtualBox Audio and USB otherwise it got stuck during boot (lvm2 masking did not help)
b) First command - "dnf update". Crashed in middle of the process and completely screwed dnf/yum (TWICE!). Went through just fine when executed from runlevel 3.
So far it held up to the name Enterprise Linux because this is the exact out of box clusterfuck I would expect from a corporate.2 -
Not by me, but by my friend
He write a shell command to alias 'cd' into 'rm -rf' and then print out 'hehe', then save the command to bash_profile
Me? I put that command to our engineer's slack channel and wait for a natural selection does its job2 -
How deep does the rabbit hole go?
Problem: Convert numpy array containing an audio time series to a .wav file and save on disk
Error 1:
Me: pip install "stupid package"
Console: Can't pip, behind a proxy
Me: Finds workaround after several minutes
Error 2:
Conversion works, but audio file on disk doesn't work
Encoding Error only works with array of ints not floats
BUT I NEED IT TO BE FLOATS
Looks for another library
scikits.audiolab <- should work
Me: pip --proxy=myproxy:port install "this shit"
Command Line *spits back huge error*
Googles error <- You need to install this package with a .whl file
Me: Downloads .whl file <- pip install "filename".whl
Command Line: ERROR: scikits.audiolab-0.11.0-cp27-cp27m-win32.whl is not a supported wheel on this platform.
Googles Error <- Need to see supported file formats
Me: python -c "import pip; print(pip.pep425tags.get_supported())"
Console: AttributeError: module 'pip' has no attribute 'pep425tags'
Googles Error <- Use another command for pip v10
Me: python -c "import pip._internal; print(pip._internal.pep425tags.get_supported())"
Console: complies
Me: pip install "filename".whl
Console: complies
Me: *spends 30 minutes to find directory where I should paste .dll file*
Finds Directory (was hidden btw), pastes file
Me: Runs .py file
Console: from version import version as _version ModuleNotFoundError: No module named 'version'
Googles Error <- Fix is: "just comment out the import statement"
Me: HAHAHAHAHAHA
Console: HAHAHAHAHA
Unfortunately this shit still didn't work after two hours of debugging, lmao fuck this7 -
VIM! ViM! vim! Vi Improved! Emacs (Wait ignore that one). What’s this mysterious VIM? Some believe mastering this beast will provide them with untold mastery over the forces of command line editing. Others would just like to know, how you exit the bloody thing. But in essence VIM is essentially a command line text editor at heart and it’s learning curve is so high it’s a circle.
There’s a lot of posts on the inter-webs detailing how to use that cruel mistress that is VIM. But rather then focus on how to be super productive in VIM (because honestly I’ve still not got a clue). This focus on my personal journey, my numerous attempts to use VIM in my day to day work. To eventually being able to call myself a novice.
My VIM journey started in 2010 around the same time I was transiting some of my hobby projects from SVN to GIT. It was around that time, that I attempted to run “git commit” in order to commit some files into one of my repositories.
Notice I didn’t specify the “-m” flag to provide a message. So what happened next. A wild command line editor opened in order for me to specify my message, foolish me assumed this command editor was just like similar editors such as Nano. So much CTRL + C’ing CTRL + Z’ing, CTRL + X’ing and a good measure of Google, I was finally able to exit the thing. Yeah…exit it. At this moment the measure of the complexity of this thing should be kicking in already, but it’s unfair to judge it based on today’s standards of user friendly-ness. It was born in a much simpler time. Before even the mouse graced the realms of the personal computing world.
But anyhow I’ll cut to the chase, for all of you who skipped most of the post to get to this point, it’s “:q!”. That’s the keyboard command to quit…well kinda this will quit the program. But…You know what just go here: The Manual. In-fact that’s probably not going to help either, I recommend reading on :p
My curiosity was peaked. So I went off in search of a way to understand this: VIM thing. It seemed to be pretty awesome, looking at some video’s on YouTube, I could do pretty much what Sublime text could but from the terminal. Imagine ssh’ing into a server and being able to make code edits, with full autocomplete et al. That was the dream, the practice…was something different. So I decided to make the commitment and use VIM for editing one of my existing projects.
So fired the program up and watched the world burn behind me. Ahhh…why can’t I type anything, no matter what I typed nothing seemed to appear on screen. Surely I must be missing something right? Right! After firing up the old Google machine, again it would appear there is this concept known as modes. When VIm starts up it defaults to a mode called “Normal” mode, hitting keys in this mode executes commands. But “Insert” entered by hitting the “i” key allows one to insert text.
Finally I thought I think I understand how this VIM thing works, I can just use “insert” mode to insert text and the arrow keys to move around. Then when I want to execute a command, I just press “Esc” and the command such as the one for saving the file. So there I was happily editing my code using “Insert” mode and the arrow keys, but little did I know that my happiness would be short lived, the arrow keys were soon to be a thorn in my VIM journey.
Join me for part two of this rant in which we learn the untold truth about arrow keys, touch typing and vimrc created from scratch. Until next time..
:q!4 -
I used to think that I had matured. That I should stop letting my emotions get the better of me. Turns out there's only so much one can bottle up before it snaps.
Allow me to introduce you folks to this wonderful piece of software: PaddleOCR (https://github.com/PaddlePaddle/...). At this time I'll gladly take any free OCR library that isn't Tesseract. I saw the thing, thought: "Heh. 3 lines quick start. Cool.", and the accuracy is decent. I thought it was a treasure trove that I could shill to other people. That was before I found out how shit of a package it is.
First test, I found out that logging is enabled by default. Sure, logging is good. But I was already rocking my own logger, and I wanted it to shut the fuck up about its log because it was noise to the stuffs I actually wanted to log. Could not intercept its logging events, and somehow just importing it set the global logging level from INFO to DEBUG. Maybe it's Python's quirk, who knows. Check the source code, ah, the constructors gaves `show_log` arg to control logging. The fuck? Why? Why not let the user opt into your logs? Why is the logging on by default?
But sure, it's just logging. Surely, no big deal. SURELY, it's got decent documentation that is easily searchable. Oh, oh sweet summer child, there ain't. Docs are just some loosely bundled together Markdowns chucked into /doc. Hey, docs at least. Surely, surely there's something somewhere about all the args to the OCRer constructor somewhere. NOPE! Turns out, all the args, you gotta reference its `--help` switch on the command line. And like all "good" software from academia, unless you're part of academia, it's obtuse as fuck. Fine, fuck it, back to /doc, and it took me 10 minutes of rummaging to find the correct Markdown file that describes the params. And good-fucking-luck to you trying to translate all them command line args into Python constructor params.
"But PTH, you're overreacting!". No, fuck you, I'm not. Guess whose code broke today because of a 4th number version bump. Yes, you are reading correctly: My code broke, because of a 4th number version bump, from 2.6.0.1, to 2.6.0.2, introducing a breaking change. Why? Because apparently, upstream decided to nest the OCR result in another layer. Fuck knows why. They did change the doc. Guess what they didn't do. PROVIDING, A DAMN, RELEASE NOTE. Checked their repo, checked their tags, nothing marking any releases from the 3rd number. All releases goes straight to PyPI, quietly, silently, like a moron. And bless you if you tell me "Well you should have reviewed the docs". If you do that for your project, for all of your dependencies, my condolences.
Could I just fix it? Yes. Without ranting? Yes. But for fuck sake if you're writing software for a wide audience you're kinda expected to be even more sane in your software's structure and release conventions. Not this. And note: The people writing this, aren't random people without coding expertise. But man they feel like they are.5 -
Just met a startup that has a programmer intern but no IT supervisor. I felt so sorry for her that I decided to show her a few cool tools that she can use in her work.
She was still using Xampp, Google Chrome, command prompt and paper trails (for all of the passwords she had to manage to different accounts)
Shown her how to use Docker, Git Bash and WSL, FireFox Developer Edition, VS Code (if she decides to not use that unregistered Sublime Text editor) and LastPass (personal preference).
Best of luck!2 -
Right.. I spent the hours leading up to the year change by adding a YouTube to MP3 downloader into my Telegram bot. After a bit of fiddling it turned out okay, and the commit for it was mentioned to the last for the year 2020.
I mentioned this in one of my chats, and users came in with more issues. Told them it's the last commit for the year and I'll keep myself to it. I did adjust the code a bit though to fix those issues, awaiting a commit after midnight.
Midnight passes and 2020 turns into 2021.
I commit the new features, and quickly implemented another one I already thought of as well, but needed its own commit.
Quickly afterwards it turns out that the /mp3 feature actually breaks the bot somewhat, especially on long tracks. Users add a slew of 10h songs into what essentially became a long queue of single-threaded bot action (or rather lack thereof).
I made the /mp3 command accessible to myself only like I did with some other administrative commands already. Still no dice, the bot rejected the commands but executed part of the /mp3 command anyway.
I look a bit further into the code and it turns out that while I was restructuring some functions, I forgot to make the admin() function exit the script after it sends the rejection onwards. This was a serious security issue and meant that all authentication was void. Fortunately the chat did not realize this - one of the commands that became available as a result was literally a terminal on the bot's system.
I fix the issue in 7 commits after midnight total, 3 of which were related to /mp3 and admin(). We're now 1 hour after midnight.
Happy New Year everyone... :')6 -
Today, in the course of my job, I said...
FFS. I HATE WINDOWS.
It has begun.
Took me five minutes to ssh into the Linux EC2 and get the Jenkins agent installed, configured, and running. Half a fucking hour for Windows Server 2012.
1) Can't ssh to it, so I connect via AWS console... Which means I have to install MS Remote Desktop. WHATEVER. FINE. It's not like ssh is quick and easy or anything.
2) Can't just use the command line, run the .jar &, cntl-z, and bg then log off. Noooo. I have to install the unpacked binaries as a fucking SERVICE. FINE. WHATEVER.
I'm so glad we have a Windows guy that does most of this shit. I can't stand it.1 -
Professionaly travelling the world sucks ass. It's loosing day and days on airports, railway stations, driving.... Then, completely exhausted, you must do your high-end job on command for a customer who already hates you from the moment you came in, because he knows your hourly rate.They do not realize it's the companies rate, not my wage. And when it's finished and running, it's considered normal...no need for a "thank you". Getting really tired of this shit :/1
-
I think the reason why git beginners have a hard time with it is because the api is a bit untuitive.
For example: if you want to "unstage" staged changes, you run git reset, and if you want to "delete" those changes from your working copy, you git checkout those files.
But then, you find out that you can do all of that if you git add . and git reset --hard.
So you're like "huh..."
And then you discover that if you end the resethard with a branch name/commit id then you also make current branch point to the commit or that branch/commit (respectively).
So you're like "huh..."
And also if you add a commit id or branch name to git checkout, you change the current branch to specified/enter detached state with HEAD pointing to that commit (respectively).
Oh and you don't use git branch to create branches, you use git checkout -b because it's a lot shorter.
So here's a rundown: git reset mutates things related to files, but also mutates things related to branches.
git checkout also mutates things related to files and mutates things related to branches too (in a diff way). Also, creates new branches.
I don't think this is intuitive. We users use the same commands for different purposes with just a different flag.
Commands shouldn't mutate different types of things. But don't composite commands (as in, "smart" commands that mutate different things) shoudln't be a flag in an existing command, it should be a single new command of its own.
Maybe if I reread the internals of git now, I'll be able to disgest the dozens of technical terms they throw at you (they are many). And in my mind, the api will cognitively fit to the explanations.
Here's another one that feels weird too.
If you want to make your changes start on top of someone else's commit, you do git rebase.
But git rebase -i can be used for that, and also to delete, modify changes or message of, reorder or combine previous commits of the current branch.
Maybe the reason why several things we do overlap with the same commands is because they internally do similar things, and while not separating those commands might make it less intuitive, it makes them more sensible? i dunno...
disclaimer: I'm not setting this opinion in stone though, and am aware that git was created by one of the most infuential programmers.6 -
So, today I wanted to program a bit and, after reading the last chapter, I want to see what I able to do.
I run my last Linux distro, I open sublime and I start typing code. I finish, I build. 0 warning, 0 errors. Nice! I execute the code: error.
I watch and I struggle on the code for hours, I search on Google, I search on StackOverflow, but after 1 hour I notice I'm looking for a needle in a haystack. So I search instead for a way to produce a better error. I found it, I'm very happy. Let's try what the error actually is:
Error: success
Ok....
Ok...... Well, maybe.... Uhm......
Ok, I won't give up. I search for a tutorial. Found.
The code is almost the mine, it's actually a usual snippet, nothing new. I compare my code with the code in the example/tutorial.
First line, is the same.
First 10 lines, are the same.
First 30 lines, are the same.
I build and execute the example: it works.
I build and execute my code: still doesn't work.
I won't give up, I said it. I won't give up.
I wonder if there's a tool like git diff, so I can see what the differences are, maybe I've no good eyes.
I search, first Google result, "diff"
diff myCode.c example.c
"the files are not identical"
...thank you
I search for a better command
diff -y myCode.c example.c
"the files are not identical"
I search for a still better command
Found. StackOverflow stroke again.
sdiff myCode.c example.c
"the files are not identical"
.....
....
.....
I gave up.
Ps. I've 10 years of experience in programming4 -
I've always wondered why Devs who are using windows seem to be allergic to any command line.
I've seen people install xrdp on Linux machines so they can remote desktop onto them, just to open up a terminal window.
But I think I now understand why.
Terminals on windows just suck.
And I'm not talking about CMD and powershell, I mean the terminal emulators.
The windows one is just awful, and even PuTTY is just annoying to use.
Yes it gets the job done but why do I have to click 4 times in some UI settings to change the font size? Just give me a zoom hotkey what the hell?
And the default colour scheme of putty always makes me want to shoot myself.20 -
I mean yeah I use command line Git to manage sets of Minecraft mods. It's not a big deal or anything.10
-
It's embarassing and you guys will find it either rude or annoying but I have readied myself and here goes my confession;
Whenever I see the abbreviation for Command line interface I cringe. You know because cli ? And I read it in my head as 'Kli' which is like the shortened form of a female part ?
I can't just read it as "See, el, ai" or think 'Command line interface' directly.
My brain's first thought is it must be an acronym so you should read it like how you would read NASA which is also an acronym and not like 'cmd' which is not an acronym but just an abbreviation.
Thus whenever I see it I feel a mixture of embarassment, self-loathing and physical discomfort.
I wonder how can I not be embarassed and cringing whenever I see Something-CLI.
I just noticed when it's in uppercase I don't cringe as much. I should code a chrome extension to change all CLI abbreviations to upper case.13 -
Just started learning gnuplot yesterday. Sure, it's not the shiniest of tools, but I'd heard enough about its performance to give it a go.
It's like learning vim. You Google thrice to write a single functional line. You spend hours trying to find a single command for a single task.
But. GODDAMN. This thing's the fastest plotting framework I've ever dealt with. I love Matplotlib, but as great as its plots are, when I need to plot shit up in half a second, I've found a new friend.
Also, tutorial suggestions appreciated.1 -
So I decided to switch over to Ubuntu to get used to it and have fun with it along with trying to use Vim just as a side thing for experience (I'm still studying anyways and its semester break).
So I setup Linux in an external disk, booted Ubuntu, setup everything and then loaded a side project coded in C++ and Allegro into Ubuntu.
A few hours of googling and trying to setup Allegro to be properly installed and understanding how to use GCC with Allegro, it finally found the library and one of the cpp files gave an error that is not "cannot find allegro.h". That's great!
Added all the other additional cpp files into the command and added all the includes and there goes the terminal lit up with errors ;_; I'm so tempted to ditch everything and go back to Visual Studios7 -
if i work on PussyBranch to build up a feature, and DickBranch is my main branch so if i merge directly from Pussy into Dick and then work on Dick, and then switch to Pussy again then surely i wouldnt be able to commit to Dick because Pussy isn't filled up with the new code, right? I'd need to pull the latest code from Dick into Pussy branch. but what if i dont want to merge Dick into Pussy code? because what Dick contains, Pussy should not and that would cause anomaly and break uhh how do u call it, the purpose of the branch itself right. So if I want to work only on Pussy and commit just that segment of the new code into Dick, how do I do that? Do i have to force pushing Pussy code into Dick every time or can i do it without force command? serious answers only pls
also what alcohol is good for a more productive and longer hour coding sessions thx6 -
Command: "Infantry unit, this is Command. The enemy is approaching, what's your status?"
Infantry Unit: "Command, this is Infantry unit. Just a quick note, my pronouns are they/them. Can we please use that in all communications going forward?"
Command: "Infantry unit, the enemy is upon you and you're worried about pronouns?"
Infantry Unit: "Command, this is Infantry unit. It's not just about me, it's about respect and inclusivity"
Command: "Infantry unit, you're about to be inclusively dead. Defend yourselves!"
Infantry Unit: "Command, this is Infantry unit. Wait, what? Oh s***."
(End of transmission)15 -
Well, throughout my life I've never really thought about programming. Then one day during some downtime on a backpacking trip with a friend, while I had nothing to do my friend sat there with his computer with the screen all dark, filled with funny colourful text in lines of different length, with some lines even starting more towards the middle of the page than to the left, almost following a vertical wave pattern. He said he was writing a program to control his home remotly as well as working as a security feature that could unlock his home automatically when he got home. I was amazed by the colorful text as well as the fact that he could just create this crazy program out of nothing.
Half a year later I attended my first lecture at the computer science programme. My first program was a command line tool used for baking bread. It asked you how much flour you'd use and how many eggs, then it'd tell you wether or not you'd got the correct ratio. I was blown away by the intuitive nature of programming. I could imagine the control flow as a tree or flow chart in my head. I mean the whole program was only a couple of user inputs followed by an if-statement and a print-statement, but for me it was awe inspiring. I knew then that I'd probably chosen the right path in education. -
I just remembered an annoying experience I once had,
Wanted to know cli version asap (due to some bug introduced in a certain version):
-v (output: view --help for command)
--version (output: view --help for command)
FUCK
--help (revealed: -version)
Wanted to know it's dependency version:
-version (output: view --help for command)
FUCK
--help (revealed: version)
You could call me lazy for not always typing --help first but there must be a standard for this time sensitive command.1 -
Hi, I am an Linux/Unix noobie.
Is there any other command line tools like GREP?
I want to take a look at it and think whetehr it will be great for a small school project or not.5 -
Question for vim veterans:
I am fairly confident with vim. I know a couple of commands like delete line, delete under cursor, copy, paste, undo and stuff like that.
So in command mode it's hjkl to move the cursor, which is a good idea because I won't have to move my right palm to the arrow keys.
However, in insert mode, if I needed to move the cursor, I would still have to move my left palm to the esc key in order to use hjkl. Why not just use the arrow keys then?8 -
This is a story of how I did a hard thing in bash:
I need to extract all files with extension .nco from a disk. I don't want to use the GUI (which only works on windows). And I don't want to install any new programs. NCO files are basically like zip files.
Problem 1: The file headers (or something) is broken and 7zip (7z) can only extract it if has .zip extension
Problem 2: find command gives me relative to the disk path and starts with . (a dot)
Solution: Use sed to delete dot. Use sed to convert to full path. Save to file. Load lines from file and for each one, cp to ~/Desktop/file.zip then && 7z e ~/Desktop/file.zip -oOutputDir (Extract file to OutputDir).
Problem 3: Most filenames contain a whitespace. cp doesn't work when given the path wrapped in quotes.
Patch: Use bash parameter substitution to change whitespace to \whitespace.
(Note: I found it easier to apply sed one after another than to put it all in one command)
Why the fuck would anyone compress 345 images into their own archive used by an uncommon windows-only paid back-up tool?
Little me (12 years old) knowing nothing about compression or backup or common software decided to use the already installed shitty program.
This is a big deal for me because it's really the first time I string so many cool commands to achieve desired results in bash (been using Ubuntu for half a year now). Funny thing is the images uncompressed are 4.7GB and the raw files are about 1.4GB so I would have been better off not doing anything at all.
Full command:
find -type f -name "*.nco" |
sed 's/\(^./\)/\1/' |
sed 's/.*/\/media\/mitiko\/2011-2014_1&/' > unescaped-paths.txt
cat unescaped-paths.txt | while read line; do echo "${line// /\\ }" >> escaped-paths.txt; done
rm unescaped-paths.txt
cat escaped-paths.txt | while read line; do (echo "$line" | grep -Eq .*[^db].nco) && echo "$line" >> paths.txt; done
rm escaped-paths.txt
cat paths.txt | while read line; do cp $line ~/Desktop/file.zip && 7z e ~/Desktop/file.zip -oImages >/dev/null; done3 -
Hiii devRanters, I have a TypeScript question for you...
How do I dynamically import classes?
I have a class like this:
export default class Foo implements Bar {
...
....public getName(): string {
........return this.name;
....}
}
and then I have another file with this:
import(`./class-cmd/${file}`).then((command) => {
....winston.debug(command);
....winston.debug(command.getName());
});
the first command spits out something like this:
debug: default=class Foo {
....constructor() {
........this.name = "foo";
....}
....getName() {
........return this.name;
....}
}
and I would expect that the second command will work, however it throws this:
UnhandledPromiseRejectionWarning: TypeError: command.getName is not a function
Any idea what I might be doing wrong?17 -
More rants coming up.
1st
Working with a guy who I am not sure has the necessary experience to begin with.
The person who hired him told me to teach the guy for him to catch up to our project and its pace. He has some experience with Java. Which our project is being developed in java in a linux dev environment in a full stack way. So we handle front to infrastructure.
First day working with him and I saw this guy is trouble.
1st - doesn’t know effing git commands. Who doesn’t know git nowadays. Ok i can forgive him for that. But damn this guy’s learning curve is so slow. After s month of joining, he still has to look up the commands in his photo cheatsheet.
2nd - doesn’t know linux basic cli commands like cd, ls, rm. not an ounce of knowledge. He told me he is used to developing in Windows. Now this. I can’t forgive him for not knowing this shit. cd (change dir) even exists in windows command line. He even has guts to say to everyone he wants to try working in our servers. The HORROR!
3rd - not sure if knowing junit and matchers of hamcrest, if you are working with Java is a must. But this guy doesn’t understand Matchers of Junit. How the fuck did he ensure effing quality in his prev work.
All in all, seems like this guy doesn’t understand the basics of current development tools.9 -
Since my contract is going to be terminated on 1st July and brilliant devrant community injected me idea to make same project and start selling it as incorporated I made some steps.
I made simple POC that is command line application in different language and unrelated to what I’m doing and showed to my friend and ask if he want to buy it for his company and he was like wtf this shit even exist on the market or it’s new thing ?
I admit company I work for is not present in my country and this product is like not existing on the market. ( at least I can’t find it )
From this point I have a feeling I need to do it. I have life savings that will provide me to at least 2021 or even for a whole year if I’ll be smart and I think it’s going to be good thing to take a summer brake and make own project based on professional experience I have.
Despite the situation around I will be mostly coding 24/7, drinking and playing playstation.
I probably will convince my friend to work on it and my other friend to sell it once it’s done. He already wanted to sell my command line tool but I told him to keep his mouth shut cause they might steal the idea.
I already decided to use different tech stack and api so all software will be different, some business parts are unavoidable but I have many fresh ideas. At the end I will just connect some online payment, make youtube commercial and start selling it by integrating with some api and buying internet ads, also I will start looking for a new job from October if nothing will work out and just keep investing less time in it.
What you think ?
Should I take the risk or not finding job and do something that my heart is telling me to do( I write software for 12 years for money so I don’t think it’s even possible ) or should I live safe boring life and just go to another job ?
Thanks
Have a nice day.9 -
If I exploit ms server 2012 through a wifi hotspot , but logged in to someone else's account (assume it was sniffed) , and I do it using msfconsole connected to the tor with torify command , also I spoof my mac ,
will I stay 100% anonymous ?
If not , what can be done ?42 -
I started out on a Sinclair ZX 80. It has just 512 bytes of ram and you had to use a function button together with a key for each command since it did not have enough memory to keep the source in memory ;)
I attended few basic courses and then went on to hold them.
After a year there was suggestions of starting pascal courses so during the summer I read up in turbo pascal 5.5 but since the summer home did not have electricity I had to do it all theoretically for the first month before getting to try it out.
I got to try visual basic when doing school practice with Microsoft but the name was not set by then as it was a few months before the release.
Thats also where the more professional programming got going even though I did one pascal program that was used professionally before that. -
Follow up to the follow up rant: ubuntu broke.
I tried searching for my git client I had installed: not found.
: Git status
Command not found (even though I’d used it less than an hour earlier)
*restart to see if that fixes it*
My laptop: STEP RIGHT UP STEP RIGHT UP LADIES AND GENTLEMEN, TAKE A LOOK AT THIS WONDERFUL TTY LOGIN SCREEN WITH NO GUI WHATSOEVER. THANK YOU THANK YOU VERY MUCH.4 -
Who would be interested in reviewing an old peice of Python code I wrote..? It's a few years old, and it uses basic procedual generation to cypher text (entry, or ASCII files) using a hashed password. It's a command line tool.
I used to brag about how "secure" it was, and now I'm curious if it is secure or not.
I plan on picking it back up and open-sourcing it, but I want to know what problems might be wrong with it now.9 -
Wanted to scrub my presence off of Facebook, but wanted to keep the account to stay in touch with friends.
That's why I built a small command-line tool to automate the deletion of my Facebook posts using Node.js & Puppeteer, in order not to resort to using third-party apps that you hand over your credentials to. What do you guys think?
https://github.com/ar-maged/...2 -
ok so imagine this I am in school waiting for the infinite loading screen on a website to load
so I go into cmd and do the tasklist command and I kid you not the person next to me said are you hacking ME I LITERALLY JUST DID TASKLIST MOFO11 -
Looks like my new years resolution is to be more controversial.
I realize that all the OSes can easily have 10s with the correct setup, however that wouldn't be much fun.
Bit of background:
After I almost threw a Windows pc against the wall for not being able to ssh from the cmd after I had already spent ages trying to install something, which was one command on the Linux and Mac terminal, I thought about the differences between the 3. Then, when a friend of mine (who has used Linux for many years) spent many hours trying to connect a pair of headphones to his Linux computer, I decided to make this graph to spark a debate and hear your opinions.8 -
Java 11 is amazing they said, Jigsaw will make things much easier they said, JavaFX is now just a simple Maven dependency they said...
Previous command to launch app in Java 8:
java -jar T10ReleaseFinal.jar
New command to launch app (not including the custom jlink command to produce the custom bundled JRE) in Java 11:
java --module-path "lib/javafx-fxml-11.0.1-win.jar;lib/javafx-web-11.0.1-win.jar;lib/javafx-controls-11.0.1-win.jar;lib/javafx-controls-11.0.1.jar;lib/javafx-media-11.0.1-win.jar;lib/javafx-media-11.0.1.jar;lib/javafx-swing-11.0.1-win.jar;lib/javafx-graphics-11.0.1-win.jar;lib/javafx-graphics-11.0.1.jar;lib/javafx-base-11.0.1-win.jar;lib/javafx-base-11.0.1.jar" -Dfile.encoding=UTF-8 -Dprism.dirtyopts=false -Dglass.accessible.force=false --add-modules javafx.base --add-modules javafx.controls --add-modules javafx.fxml --add-modules javafx.graphics --add-modules javafx.media --add-modules javafx.swing --add-exports javafx.graphics/com.sun.javafx.sg.prism=ALL-UNNAMED --add-exports javafx.graphics/com.sun.javafx.scene=ALL-UNNAMED --add-exports javafx.graphics/com.sun.javafx.util=ALL-UNNAMED --add-exports javafx.base/com.sun.javafx.logging=ALL-UNNAMED --add-exports javafx.graphics/com.sun.prism=ALL-UNNAMED --add-exports javafx.graphics/com.sun.glass.ui=ALL-UNNAMED --add-exports javafx.graphics/com.sun.javafx.geom.transform=ALL-UNNAMED --add-exports javafx.graphics/com.sun.javafx.tk=ALL-UNNAMED --add-exports javafx.graphics/com.sun.glass.utils=ALL-UNNAMED --add-exports javafx.graphics/com.sun.javafx.font=ALL-UNNAMED --add-exports javafx.graphics/com.sun.javafx.application=ALL-UNNAMED --add-exports javafx.controls/com.sun.javafx.scene.control=ALL-UNNAMED --add-exports javafx.graphics/com.sun.javafx.scene.input=ALL-UNNAMED --add-exports javafx.graphics/com.sun.javafx.geom=ALL-UNNAMED --add-exports javafx.graphics/com.sun.prism.paint=ALL-UNNAMED --add-exports javafx.graphics/com.sun.scenario.effect=ALL-UNNAMED --add-exports javafx.graphics/com.sun.javafx.text=ALL-UNNAMED --add-exports javafx.media/com.sun.media.jfxmedia.events=ALL-UNNAMED -jar T10ReleaseFinal.jar4 -
hey guys yesterday I got roasted cuz I was using a pc instead of Mac for development work and this was my reply. For me I don't gonna spend 2000+ $ only for 1 sec faster app loading and only for writing codes if someone willing to spend lot of money then they have completely command on there system Mac is very overpriced and overprotective it doest allow dual boot tell u what Mac sucks in 4k video editing,games,it don't even support maya or 3ds max rendering on Mac is gonna hit you hard , and there is same for linux but because it's free I don't much care about it but it is extremely crash and error prone I've installed Ubuntu nearly 20+ computer and after few days some kind of internal error occurred if u cancelled any ongoing installation it's going to hijack your system not let order program to install unless you manually clean that shit out ,yea Unix systems have bit faster app opening time and I appreciate that .
For nerds like me it's not only about coding stuff I like to do crazy stuffs17 -
How do you counter DOS attack? I have one online service where an idiot just calls curl command to one endpoint.
Although my service is working and server performance is not affected, I found it annoying.
Cloudflare could be a solution, the reason I did not use before is user might have to wait a few seconds before seeing the app, but if no choice then.17 -
How do you define a seniority in a corporate is beyond me.
This guy is supposed to be Tier3, literally "advanced technical support". Taking care of network boxes, which are more or less linux servers. The most knowledgable person on the topic, when Tier1 screws something and it's not BAU/Tier2 can't fix it.
In the past hour he:
- attempted to 'cd' to a file and wondered why he got an error
- has no idea how to spell 'md5sum'
- syntax for 'cp' command had to be spelled out to him letter by letter
- has only vague idea how SSH key setup works (can do it only if sombody prepares him the commands)
- was confused how to 'grep' a string from a logfile
This is not something new and fancy he had no time to learn yet. These things are the same past 20-30 years. I used to feel sorry for US guys getting fired due to their work being outsourced to us but that is no longer the case. Our average IT college drop-out could handle maintenance better than some of these people.11 -
I really hate PHP frameworks.
I also often write my own frameworks but propriety. I have two decades experience doing without frameworks, writing frameworks and using frameworks.
Virtually every PHP framework I've ever used has causes more headaches than if I had simply written the code.
Let me give you an example. I want a tinyint in my database.
> Unknown column type "tinyint" requested.
Oh, doctrine doesn't support it and wont fix. Doctrine is a library that takes a perfectly good feature rich powerful enough database system and nerfs it to the capabilities of mysql 1.0.0 for portability and because the devs don't actually have the time to create a full ORM library. Sadly it's also the defacto for certain filthy disgusting frameworks whose name I shan't speak.
So I add my own type class. Annoying but what can you do.
I have to try to use it and to do so I have to register it in two places like this (pseudo)...
Types::add(Tinyint::class);
Doctrine::add(Tinyint::class);
Seems simply enough so I run it and see...
> Type tinyint already exists.
So I assume it's doing some magic loading it based on the directory and commend out the Type::add line to see.
> Type to be overwritten tinyint does not exist.
Are you fucking kidding me?
At this point I figure out it must be running twice. It's booting twice. Do I get a stack trace by default from a CLI command? Of course not because who would ever need that?
I take a quick look at parent::boot(). HttpKernel is the standard for Cli Commands?
I notice it has state, uses a protected booted property but I'm curious why it tries to boot so many times. I assume it's user error.
After some fiddling around I get a stack trace but only one boot. How is it possible?
It's not user error, the program flow of the framework is just sub par and it just calls boot all over the place.
I use the state variable and I have to do it in a weird way...
> $booted = $this->booted;parent::boot();if (!$booted) {doStuffOnceThatDependsOnParentBootage();}
A bit awkward but not life and death. I could probably just return but believe or not the parent is doing some crap if already booted. A common ugly practice but one that works is to usually call doSomething and have something only work around the state.
The thing is, doctrine does use TINYINT for bool and it gets all super confused now running commands like updates. It keeps trying to push changes when nothing changed. I'm building my own schema differential system for another project and it doesn't have these problems out of the box. It's not clever enough to handle ambiguous reverse mappings when single types are defined and it should be possible to match the right one or heck both are fine in this case. I'd expect ambiguity to be a problem with reverse engineer, not compare schema to an exact schema.
This is numpty country. Changing TINYINT UNSIGNED to TINYINT UNSIGNED. IT can't even compare two before and after strings.
There's a few other boots I could use but who cares. The internet seems to want to use that boot function. There's also init stages missing. Believe it or not there's a shutdown and reboot for the kernel. It might not be obvious but the Type::add line wants to go not in the boot method but in the top level scope along with the class definition. The top level scope is run only once.
I think people using OOP frameworks forget that there's a scope outside of the object in PHP. It's not ideal but does the trick given the functionality is confined to static only. The register command appears to have it's own check and noop or simply overwrite if the command is issued twice making things more confusing as it was working with register type before to merely alias a type to an existing type so that it could detect it from SQL when reverse engineering.
I start to wonder if I should just use columnDefinition.
It's this. Constantly on a daily basis using these pretentious stuck up frameworks and libraries.
It's not just the palava which in this case is relatively mild compared to some of the headaches that arise. It's that if you use a framework you expect basic things out of the box like oh I don't know support for the byte/char/tinyint/int8 type and a differential command that's able to compare two strings to see if they're different.
Some people might say you're using it wrong. There is such a thing as a learning curve and this one goes down, learning all the things it can't do. It's cripplesauce.12 -
So i have been learning c++ for more than 2 years now and i the most useful thing that i have ever created is command rine program in Windows that iterates over all the files on a drive and deletes those with a specified extension. So yeah life is pretty bummed up right now.
So i was thinking why not start by contributing to some of the open source projects.
Therefore i went onto github to find something to work with. However the list gontained either projects in languages other than c++ ( i have been trying to learn those) or based on machine learning.
So i thought why not get on devrant and find some people who are willing to work on some projects with me and in the process teach me some stuff. Therefore here i am asking you guys to collaborate with me as i am now sick and tired of making stupid patterns using nested loops.
PS: I am now 18 and in second semester of college pursuing a b.tech in cse5 -
My life was troublesome today, had to help a non programmer to run jar files.
The jar executed well from command line in Windows 10 but didn't work on double click.
Did all the tricks, registry edits, cmd commands and at last I found a miracle tool called Jarfix.
Just double click and all okay.
The root cause of the problem was 7zip.
This bug is reported in the Oracle bug reporting and they have closed it as " Will not fix" low-priority report.2 -
I recently started learning Erlang. This is the story of how I got trapped into it.
When I code, I usually use my trusty text editor and a terminal to either compile my code or run tests in the language interpreter. The interpreter, erl, works fine, but when I wanted to close it, I ran into a small issue.
Because I never know what the command is to close an interpreter, I usually use the EOF character (^D), that is widely recognized. Except erl does not react to it, not even a tiny message saying it won't close or doesn't recognize the output.
Alright then, let's try quit. That's an atom, it does not behave how I want.
quit() is an undefined shell command, exit() terminates the shell process but the interpreter automatically starts a new one...
But I get the welcome message, telling me to abort with ^G! Some progress, finally... except ^G redirects from Erlang interpreter to user switch command. Damn, another interpreter...
I ended up killing the process from an other terminal.4 -
I remember someday from a few years ago, because i just got off the phone with a customer calling me way too early! (meaning i still was in my pyjamas)
C:"Hey NNP, why si that software not available (He refers to fail2ban on his server)
Me: "It's there" (shows him terminal output)
C: " But i cannot invoke it, there is no fail2ban command! you're lieing"
Me: "well, try that sudoers command i gave you (basically it just tails all the possible log files in /var/log ) , do you see that last part with fail2ban on it?
C: "Yeah, but there is only a file descriptor! nothing is showing! It doesnt do anything.
Me: "That's actually good, it means that fail2ban does not detect any anomalies so it does not need to log it"
C:" How can you be sure!?"
Me: "Shut up and trust me, i am ROOT"
(Fail2ban is a software service that checks log files like your webserver or SSH to detect floods or brute force attempts, you set it up by defining some "jails" that monitor the things you wish to watch out for. A sane SSH jail is to listen to incoming connection attempts and after 5 or 10 attempts you block that user's IP address on firewall level. It uses IPtables. Can be used for several other web services like webservers to detect and act upon flooding attempts. It uses the logfiles of those services to analyze them and to take the appropriate action. One those jails are defined and the service is up, you should see as little log as possible for fail2ban.)5 -
TLDR; macOS wouldn’t update to the version I needed because I have a 3rd party SSD. All I needed was a firmware update only found deep within a google search and a secondary SO answer.
I have a video edit project this weekend. No big deal.
Except that the Final Cut Pro project was saved in the latest version of FCPX, for which I need latest MacOS version
As a music producer on the side, I had heard the new file system of MacOS High Sierra would possibly break audio plugins. I didn’t bother updating until now. Looked further into plugin problem, it would be simply a broken hard link which I can easily fix. No big deal.
Except that I have upgraded my MBP SSD from 256gb to this 3rd party 480gb SSD. macOS does not recognize this SSD as compatible with update. No big deal. Simple google search for a terminal command would do the trick.
Except that I found and tried several solutions, including wasting an entire hour updating the original ssd and booting from that to try to update it.
Nothing worked, but deep down in the google search, found in a secondary answer on SO, there was a link for a beta release of a firmware update for the SSD that took two minutes to install, and I was finally able to update.
That firmware update needs to be more prominent everywhere. Wasted well over 3-4 hours updating crap, swapping out SSDs, and googling when all I needed was a fucking firmware update.9 -
How the fuck does Windows not have a zip command!? I mean there's a Powershell command but it *only* took until 2016 for that to be a thing!3
-
IPMI...
2010....
Java Web...
Oracle JDK needed....
Oracle JDK Download requires Oracle Account..... To circumvent as I don't want a motherfugging shitty oracle account tons of googling and loading shit from not so trustful pages.
TLS 1.0 and WebJDK require Internet Explorer.....
And an even older version of Oracle JDK 8....
Broken keyboard input....
As on Laptop for Windows / Internet Explorer additionally struggling with keyboard...
Mounting SMB Share requires password change, as my password contains invalid characters....
Finally getting shit to load GParted...
Taking fucking ages to load.
Broken keyboard input, no pasting.....
Chrooting / input becomes a 15 min exercise.
Actual input necessary on chroot: 1 command.
Actual time needed to get there : 2 1/2 h.
*sigh*
When that one old machine dies noone was aware of. And this one old machine is only accessible via an IPMI... As noone even knows where that machine is.
Weekend dead. Weekend is so fucking dead and overrated.2 -
Today I was minding my own coding-committing-pushing business, when all of a sudden, a split second before typing Enter on a command, the obnoxious UPDATE JAVA popup reared it's ugly head.
Normally I just politely recommend it to fuck off and let me manage my Java versions with homebrew on my own time. But I had no time to not press Enter, and so it rapidly started downloading/installing.
Thankfully I had juuust enough time to hit the cancel button. The progress bar it was showing stopped at 81%. Didn't even have time to read what it said. Crisis averted. Them NSA fucks be like, "curses, foiled again!"
This was probably the most intense moment of the year for me. I think my lifespan grew shorter a few months.
Dreaded auto-updates are getting smarter. They nearly got me when I was in a vulnerable state of hitting Enter many times. Stay on your toes!1 -
The main reason I moved from Linux to macOS was that I grew up. If we count not just Linux experiments but prolonged usage, I was an avid Crunchbang fan. After it died, I moved to elementaryos.
What I want to say is, Linux can be very fun and educational when you're still in the uni. You have all the energy in the world, and you can afford to diverge from your daily routine for an hour to debug GPU drivers.
Now, the backbone of my life is keeping a very tight sleep schedule, taking meds on time, avoid infohazards, avoid scrolling on the web, all to remain in a very fragile state of balance that keeps the bipolar disorder away. I'm in the middle of all this, earning derealization (yes, I'm also autistic) every time I design a data model. All I want from my computer is to be treated like a careless, regular user, not like someone with a CS degree.
I use Sublime Merge instead of command line Git. I use Postico to explore PostgreSQL databases, not psql from my terminal. By the way, my terminal is not iTerm, Alacritty or some other such thing, my terminal is whatever came with my Mac, with whatever default settings.
Linux is crawling into a non-street-legal racecar's cockpit and strapping yourself in, ready to blast off. MacOS is your chauffeur, holding your old shaking hand as he helps you into your Maybach's backseat. They're different, and that's okay.
Can Maybach race? Well, it has a 621 HP V12, so if _you_ can race, it probably can too, but we all know it's not a racecar.
Windows? Windows is an SS officer, wearing the all too familiar Windows logo for swastika, throwing you into a gaswagen.16 -
So some of @ewpratten's rants just inspired me to tell my story of a somewhat ignorant teacher.
So we had an english class, it was abou Nelson Mandela or something, but I was sitting and learning about apache2(well I first learned about ncurses in python but since there was a command for restarting the apache server it got me curious, as usual). When she said something along the lines of(translated from.my language): "Then you read the text about Nelson Mandela, but other people are programming!". I was about to say that I was actually not programming, but setting up an apache server, but that would have been a dick move since she at least didn't accuse me for hacking.3 -
Rant portion:
Fuck me, there's not a ton of great resources for Lua. I have the book, and it's actually fucking incredible, but as soon as I have a question which I would usually Google, either it's a SO question that almost hits the mark (but absolutely does not answer my initial question) or a mailing list that DOES answer my question but holy FUCK it's difficult to read!
I 100% recommend the Lua book, though. It's remarkably helpful and covers just about every little detail of the language and it's corresponding c API, and even some of how Lua works behind the scenes.
Non-rant portion:
Finished up the first version of my library and now I'm binding it to Lua and this time around I'm using all the best practices including setting and checking metatables so that Lua can't segfault. It's going great, I properly learned about the Lua stack, and I feel good. Cross-platform double-buffered command line via a scripting language... What a way to enter 2020. Everything went so smooth that I got to 3am before I realized what even happened.1 -
Not just a rant, also a call for help.
After 10 years using Git, I'm constrained to use Mercurial (company policy). It effing feels like playing tennis with one arm tied to my back.
Please, who knows a good GUI for Linux, or at least a command line tool to show a decent log?
Kill Mercurial!3 -
At my workplace a while back we got some new interns.
I had been explaining how to use the commands on our Linux server. While I was in mid-sentence talking about what shutdown does, the intern inputs the shutdown command; shutting down everything... not shortly after, I start getting bombarded with emails and calls...4 -
The Zen Of Ripping Off Airtable:
(patterned after The Zen Of Python. For all those shamelessly copying airtables basic functionality)
*Columns can be *reordered* for visual priority and ease of use.
* Rows are purely presentational, and mostly for grouping and formatting.
* Data cells are objects in their own right, so they can control their own rendering, and formatting.
* Columns (as objects) are where linkages and other column specific data are stored.
* Rows (as objects) are where row specific data (full-row formatting) are stored.
* Rows are views or references *into* columns which hold references to the actual data cells
* Tables are meant for managing and structuring *small* amounts of data (less than 10k rows) per table.
* Just as you might do "=A1:A5" to reference a cell range in google or excel, you might do "opt(table1:columnN)" in a column header to create a 'type' for the cells in that column.
* An enumeration is a table with a single column, useful for doing the equivalent of airtables options and tags. You will never be able to decide if it should be stored on a specific column, on a specific table for ease of reuse, or separately where it and its brothers will visually clutter your list of tables. Take a shot if you are here.
* Typing or linking a column should be accomplishable first through a command-driven type language, held in column headers and cells as text.
* Take a shot if you somehow ended up creating any of the following: an FSM, a custom regex parser, a new programming language.
* A good structuring system gives us options or tags (multiple select), selections (single select), and many other datatypes and should be first, programmatically available through a simple command-driven language like how commands are done in datacells in excel or google sheets.
* Columns are a means to organize data cells, and set constraints and formatting on an entire range.
* Row height, can be overridden by the settings of a cell. If a cell overrides the row and column render/graphics settings, then it must be drawn last--drawing over the default grid.
* The header of a column is itself a datacell.
* Columns have no order among themselves. Order is purely presentational, and stored on the table itself.
* The last statement is because this allows us to pluck individual columns out of tables for specialized views.
*Very* fast scrolling on large datasets, with row and cell height variability is complicated. Thinking about it makes me want to drink. You should drink too before you embark on implementing it.
* Wherever possible, don't use a database.
If you're thinking about using a database, see the previous koan.
* If you use a database, expect to pick and choose among column-oriented stores, and json, while factoring for platform support, api support, whether you want your front-end users to be forced to install and setup a full database,
and if not, what file-based .so or .dll database engine is out there that also supports video, audio, images, and custom types.
* For each time you ignore one of these nuggets of wisdom, take a shot, question your sanity, quit halfway, and then write another koan about what you learned.
* If you do not have liquor on hand, for each time you would take a shot, spank yourself on the ass. For those who think this is a reward, for each time you would spank yourself on the ass, instead *don't* spank yourself on the ass.
* Take a sip if you *definitely* wildly misused terms from OOP, MVP, and spreadsheets.5 -
Am I the only one who turns off the PC by executing "die" in the command line?
(I use Archlinux with i3wm, so there is not a graphic button to turn off the PC, and writing shutdown -h 0 was too long)6 -
Try to finish some of the projects I've started in 2018. Right now I have a todo list text file, along with multiple written lists (the written ones are more focused on a single project normally).
-Finish the startpage I've been doing off and on for at least a month now. I ended up making a lot of it command based (just need to write the scripts for the commands..). I had a little config menu but I just got tired of it and the text box is autofocus anyways, so I figured I'd make it command focused.
-Nice little root safety script as I call it. I've made very stupid mistakes as root before. I once made a typo and ran "chmod --recursive 644 /" while half asleep. I believe I was trying to run that on the current directory I was in, but as you know, the . and / are right next to each other. Basically the script would see what you're doing and echo "you're about to do x, are you sure that's what you want to do?". Something I know I could knock out in a day, but I've been putting it off for at least a year now.
-Compiling notification. I saw something similar once a few years ago, and it was so fucking cool. I remember it being a Mac, and it had a notification that would basically tell you how many files and shit you had left to compile if you were building something. Kinda want to build something for polybar.
-FUCKING RUBBER DUCK DEBUGGING TO THE EXTREME! This one was inspired by a comment someone made once months ago. Might have been here, or reddit, or in real life, not sure. Basically a big ass fucking rubber duck with LEDs in it that will like glow red if your code wouldn't compile (I think Visual Studio has like an automatic error detecting thing in there?? Maybe something similar if I can figure that out). Honestly not sure how the fuck I'd do this one, but I love the idea and I really want to fucking do it
There's more shit. These are just the main ones I want to attempt sometime in the near future. -
I found the best text editor for basic code fixing
For a couple of days, I was looking for a simple terminal-based text editor for taking simple code notes or basic code fixing kinds of stuff.
As an aspiring developer, I really like the concept of coding without touching the mouse.
So I downloaded the king of CLI text editors, Vim.
Now, guess what happened.
Yeah, you're right. I stuck inside vim and couldn't even quit from there.
Then, I started watching a bunch of tutorials and started reading vim's documentation.
But then I realized, I have to learn a lot of things only to operate vim and it's a pretty lengthy process.
At that time, I really needed a very simple text editor for doing basic stuff.
But, vim is not simple... you know :)
So, I had to come back to 'nano' & I was not happy enough to write codes by using 'nano'.
Suddenly, I discovered another really cool text editor called 'micro'.
It's really awesome.
It's not as advanced as vim but definitely a lot better than nano.
Micro is an open-source command-line text editor created by Zachary Yedidia.
Some basic key points of Micro:
1. It's really easy to operate.
2. It has different colours and highlights.
3. It supports syntaxes for over 70+ programming languages.
4. It has mouse support.
5. Plugins & colour schemes.
The best thing for me is colour schemes & screen split support.
Check out my full article on DEV - @souviktests.20 -
not a rant. I like poetry. Am a poemfag.
Be very impressed. VERY IMPRESSED!
Okay, well, just cringe through it at least. Smile and nod. I hope formatting doesn't butcher this.
"A King"
a king came to me one day
and claimed you will be my son!
and fame, and fortune, and all things good
yours your cup to overflow, overrun!
happiness and princesses, acclaim to your name
a life of leisure and of ease
land rich in treasures buried,
and swarthy ships on deep seas!
All these things, of emperors and kings
Will be yours to command! Though I warn
you my fair son, it is not as it seems
a charmed life is not grand
for though the riches of this earth
at your call, at your hand,
should find you at my passing, in your wealth
it is a kings fate to be damned
wealth to grave you can not take
and princesses demanding wives are one to make
and ships in harbor soon they rot
and health in age gives way to ache
and land is lost which once hard fought
truly that is rare the happiness which can be bought!
so upon the kingly head, heavy rests the (golden) crown
and though surrounded by apparent friends
never must he let his guard down
and ease which spoiled by fear of loss
magnified by all he'd gained
weary king, my boy, tis his lot,
to die a thousand times,
but never grow old again,
so heed these words my boy
it is not the wealth, or fame, or ease
that makes a man great my son,
but his words and his deeds!2 -
I've already ranted about this, the hdd randomly broke over night. I was (i shit you not) just about to set up backups for it this day.
Being relatively new to linux but confident with bash and cli and stuff.. reading "I/O Error" as output of nearly any command on a server rented somewhere 150 km away from me was like a punch in the face.:D
It wasn't directly bad, but it was kinda sad, I had a (now don't laugh - a man gotta chill from time to time) minecraft server running there with tons of mods and we were multiple 100s of hours into it already..
But not only that, my projects weren't on any git or anything anymore (local copies were gone, guess what gitlab i set up proudly i used..) and there was no recovering these little loved ones, together with my website.
It was a black day, my group i had to work with in university doubted me because for them i wasn't able to manage a git server properly and i hope it does not happen again..): -
10 hours ago I was trying to install manjaro on my laptop. I have run into problems with the nvidicancer drivers, as one would expect, but at least I had a working OS. I was following a video tutorial that instructed me to tweak some grub settings, and I was able to do it with no problem.
Now on the other hand, I am following the EXACT SAME procedure (same partition, same installer, same settings),but after I update-grub,everything freezes including the command itself.
How is it possible that doing the exact same procedure at different times of the day gives me two different results? Is my laptop sentient and simply "not in the mood" anymore, or what the fuck?7 -
Just found a tutorial on DigitalOcean to setup traefik so I can easily make my images accessible to the outside.
"So create this file, add this in it, create this proxy, run this long ass command, and when you go to 'https://monitor.example.com', you should get this dashboard"
Got "This website is not available".
https://youtube.com/watch/... -
When file managers copy and delete files within the same partition instead of moving or renaming them…
When Google's Storage Access Framework was introduced, it did not feature a move command, so file managers just resorted to copying and deleting files within the same storage. Not only does this cause needless wear and is much slower, but it also destroys the date/time attribute (it gets changed to current).
When moving files through MTP (miserable transfer protocol, used for connecting smartphones to PC), they are also copy-deleted. This makes moving a 20-Gigabyte DCIM folder impractical. Also, if one cancels the operation, it might end up whoopsie-daisy deleting some files from the source before they have been transferred.
MTP is so bogus that it is incapable of a simple operation that would JustWork™ on mass storage devices. Not to mention, MTP lacks parallelism and its directory listing loading it S-L-O-W. Upwards of a minute for just 1000 files. Sometimes, it fails loading at all.
Also, trying to rename a file through MTP using the terminal through GVFS, even if just within the same folder, it copy-deletes it. If I want to rename a 1 GB 2160p 4K video in a highly populated DCIM folder, I can not do so through the terminal. At least, the 4K video has a time stamp in its internal metadata, but it still renames slowly and adds needless wear to the smartphone's flash memory.14 -
Well today ended in a bang! Had a typo in a dd command and nuked my entire work VM. Last VM backup august 2020. Time to retrace the entire work environment for a year. Not much work was lost thou as most of it was already pushed.2
-
Laravel, Symfony...
It doesn't seem to matter what framework I pick to learn next. I rarely get past the Installation step where I have to install and learn a bunch of command line tools first.
It makes me realize I no longer want to be a web developer as even the biggest step I can reasonably make in my career will still not result in an income change significant enough to pay for a mortgage, and the smallest step still expects me to understand all of these command line tools for seemingly no payoff whatsoever.
I feel stuck and depressed looking at all the toxic positivity on LinkedIn. I cannot fathom the amount of indoctrination that must be going on between all these people chirping about how great it is to work for their company.6 -
Well, that's it, folks. Got a job offer, one I might accept, after some tweaks.
I've been a bit more than sixty days unemployed. And in no hurry.
But there is one thing that uneases my mind, though.
I've been a dev, I've been a graduate researcher, I've been a TA and I've been a tech lead, but now the industry wants me in a primarily management position.
I like to code, even if that makes me miserable sometimes. I like to solve problems. Math problems, engineering problems.
But I OOH SOOOO MUCH HATE when I have to deal with leadership who can't tell heads or tails on a coin toss. Who can't make a decision and deal with the consequences. Who can't handle bad times, searching for someone to blame more than searching for a solution. Who can't listen to advice, who thinks a commanding viewpoint is always better than many compiled intelligence reports.
Who don't wanna even think about the possibility that they might not know something, much less that someone on their team might know some subject better than they do.
Frankly, I think might I hate bad leadership more than I like coding.
So if the offer is to have the patent to tell productivity thespians where to shove their stupid spreadsheets, even at the cost of hardly ever issuing a git command, then I think it might be the time.
I hope it is not a mistake, but I can always course-correct my career later. I'm in my late 30s, I still have, like, 40 years of labour ahead of me (assuming medical advancements in the meantime).
So, yeah, I'm joining the other side. But trying not to become them.
May sudo have mercy upon my uid.4 -
I'm so fucking done with this shit. If someone forgets every git command every single fucking tim le is ok to ask. Every time someone asks advice on how to write a fucking retarded workaround (out of lazyness, because fixing their own code is too much to ask), it'a ok.
The *ONE* fucking time i ask the name of the fucking function to generate a filter via code using their fucking cms? "you should do that via gui!" "who cares if there'll be conficts with git, just manually redo everything in production!".
God fucking dammit how can you even have the balls to complain about terrible planning and stuff not working if that's your fucking mantra?!2 -
I will never fully understand why some people think command line package managers are "more complicated" than searching for and downloading software through the web browser.
I feel like the only reason why they think this is because the command line is not a user-friendly tool to them. All of my friends on Discord use Windows, and after showing them what a fantastic tool the Chocolatey package manager is, they don't want to have anything to do with it, because it involves entering commands.
I give up. If they don't want to use this amazing tool, that's their loss, not mine. I will just continue to run
> choco upgrade outdated -y
and update all of my programs with a single command, while they have to download installers and manually go through the setups.10 -
Oh my.. I think I'm enjoying molesting kubernetes :)
A while ago I got pissed at k8s because with 1.24 they brought backward-incompatible changes, ruling my cluster broken. Then I thought to myself: "why not create a Docker image that would run kubernetes inside? Separate images for control plane, agent and client"
Took me a while, but I think tonight I've had a breakthrough (I love how linux works...)!! The control-plane is spinning up!! Running on containerd
Still needs some work and polishing, but hey! Ephemeral k8s installation with a single docker-run command sure sounds tempting!
P.S. Yes, I know there is `kind` and 'kinder', but I'm reluctant to install a separate tool that installs a set of tools for me. Kind of... too shady. Too many moving parts. Too deeply hidden parts I may have to fix. Having a dumb-simple Dockerfile gives me the openness, flexibility and simplicity I want. + I can always use it as a base image to add my customizations later on! Reinstalling a cluster would be a breeeeeeze6 -
We had a tutorial on how to use spark/Hadoop.. part of the tutorial was the installation instructions for Ubuntu vms.
The Prof insisted we used an older version of Hadoop (v2.1.5), so naturally this required pulling older repos and older versions of java.
Naturally, some of the people in the class got some namespacing issues and garbage left from uninstalled packages.
Now, the tutorial was geared towards business/math people, not com sci. So most of the people didn't understand why apt didn't let them run certain commands (even though it very clearly just asked for them to run autoremove or autoclean, like in the "error message"). When the Prof and their "experienced TA" saw these messages, their recommendation was "make a new fresh vm".
The fuck? I heard that, run over and was like no. Just run the suggested command, it's literally a simple issue. And the guy didn't believe me. I had to sit him down, show him how I literally typed what the console was asking for, and everything just worked... The guy's response was "well that's Linux for you, its really complicated and can never trust anything, this time it worked, but next time it might not". Dude... Do you even know what you are saying? Like you are a supposed expert, least have some understanding of the package manager you are using. Maybe things will then be less "schrodinger cat".
God damn I can't wait to be out of this stupid fucking school. Never going back to academia.1 -
I am a programming teacher in Colombia and the week's topic is very useful for me, thanks to all for writing your ideas, but in the other hand I think that some points have not been understood, for example in my college we use in the beginning of the course notepad so that the students learn the sintaxis and good practices and they no dependent of a especific tool or Ide (an advantage of this practice is that the student learn to use command tools easily). We want that que student learn programming and not a language or software . This because in our experience the students learn to use a tool but not to resolve a problem and this is bad in a long term.2
-
Context: This team has been constantly behind on deliveries, ignoring advice from other teams or more experienced colleague, making mistake after mistake and now, just revealed they have major performance issues, as warned...
So, in the most recent Sprint review they were, once again, criticized for their bad approach and inability as a team to receive feedback and work on that feedback, resulting in mediocre development...
As I left the room I heard one of them say:
"We make this huge rocket that most wouldn't be capable of doing and they cry that it's blue and not green... Others make a ls on a command line and everybody applauds"
Now, this is for everyone to whom the shoe fits...
Listen here you little entitled snotty prick, where do you think you are!? Yes most should not make a rocket when the requirement was a bike! That's overengineering and besides that most of your decisions were arguably wrong!
I will never applaud you or anyone else for doing your fucking job and being mediocre about it... What we applaud is value added! Value to the project, to the process or to the team... Bring value and I will applaud, do your job and you get a salary. Be a snotty childish dipshit and you might find yourself forcefully searching for new professional challenge! -
So I'm learning docker. As I see it, I can make an image that runs code in any number of languages then I can package it into a .deb file that people on a few Linux distros can just install and run. https://blog.codeship.com/using-doc...
If I'm making a non-Gui command line utility, can I not also just pop the image into a .pkg, an .rpm, or an msi? Then my super crazy docker build can run natively in a shell on any machine that supports one of the packages I create? Or am I missing something?1 -
Christe on a bike, why would anyone sane use PowerShell? I can't even run my own fucking script, because "cannot be loaded because running scripts is disabled on this system". Even tho I used the same script file literally yesterday.
So I'm just gonna use single command to change it. Easy? Well fuck no! Because no one thought that implementing something like "sudo" would be a fantastic idea, so you have to jump between two separate instances of that piecie of shit. Not to mention it takes ages to even load it.12 -
that moment when u read a !shit as not shit but its just a request command to do something on a livestream chat2
-
What the fucking shit, Arch. In what universe/reality is a user expected to easily/quickly address GPG/PGP bullshit when they install Arch. It's already hilarious enough as it is for the user to input every single command in order to install the thing. -- That's actually what's great about Arch; you get return and assurance from each command. -- I understood the fact that you need the latest ISO release in order to even install Arch, but now, if you decide to pacstrap linux-hardened, or god forbid, a package that is who knows what, less maintained?... fuck knows what will happen.
The fantastic part, is that you can't do shit when you're in an arch ISO install. All of the simple and possible solutions that involve GPG DBs/keyrings/etc require you to have the all of the shit installed already; which is fucking impossible if the package manager is bitching about keys not being imported. The most fantastic part, is that there is probably some complete bullshit, ultra-exclusive command or simple solution that will fix this crap. - And if you even dare ask the Arch forums, you'll be branded as a "newbie" and sentenced to read the fucking wiki. - ??? -- That's not a fucking good thing. -- The majority of people who are installing Arch right now, are people who are installing it for the first time, and chances are, most of those people have no fucking clue what is happening; they're learning what is happening. Furthermore, they're probably the kind of people who aren't inclined (or they don't know how) to scour Google or the Arch forums for answers to vague, lazy-ass error messages. The whole point of this thing is show and confront the user about what they're installing and what they want on their computer. Holy shit. This is all the more reason to ensure that total, stupid, ambiguous bullshit errors do not occur. -- "error: key "dogshit master <dogshitmaster@dogshit.org>?" could not could not be imported". -- That's it. That's the error in it's entirety. For a fucking OS install. What the fuck.16 -
so I started a side project a while ago.
the only thing it could do was to create some files with desired names and extensions. so this was basically a pretty simple editor.
I left this project with no future plans for a month or so until I started working on it again this week. I added comments to the editor, a console user interface.
the ui isn't futuristic. the program runs in the console. it just lists all the files and folders where the program is currently located in. in the beginning it could take user input and that input was the location where the files created in the editor would be saved. then I thought: it would be more interesting if I created a folder in which I saved the files from the editor. so I did this thing.
then I thought, again: hey, this console is pretty boring and stuff. why should I add some special commands? and so I did.
now you can create an empty folder, before you created a folder and saved at the same time the files created in the editor. now you can open another folder in which you can do the same stuff as before. you can get the current location of the folder you are currently in, so you don't get lost in your fancy computer. you can delete a folder completely, set color, reset color.
but one thing that I lost almost ONE FREAKING HOUR ON IT TO MAKE THE USER EXPERIENCE BETTER was the following: when creating a folder, either empty or with the files from the editor, the program automatically opens the folder, not in the console(hey, I didn't thought of that) but in the file explorer from the os. now it only works for windows and windows explorer because I used system(const char*). I know it's not portable or efficient but I just wanted things to work, I will optimise it later.
the thing that made me lose that one hour debugging was figuring out how to open that file.
ok, so I used windows api with GetCurrentDirectory, I knew how to use system, I knew how to form the path that would match up with the folder, I almost knew how to open the folder with system().
the problem was that I had the path complete, but if the folder had white spaces system() wouldn't recognise the freaking command!
so the string with the path would also contain the command used in system() and I would just .c_str() the string so it could work. as an example my wrong way to make the path was this:
"start C:\\path"
can you figure out what is the problem?
you don't?
it's just so trivial.
how cannot you figure it out?
of course you NEED to put "explorer" between the start command and the actual path!
pffft, you idiot! so easy to figure it out.
so yeah, the right way to open a folder is like this:
"start explorer C:\\path to heLL!!"
p.s.: I still don't understand why putting explorer works and without it doesn't. without explorer it just just says that path with the first word before the white space doesn't exist. -
Linux is great
Linux can be customized
Welp, not so much. Simple things are not possible to do.
After 1H research I can't have timestamp near each line over SSH.
I'm not talking "history", i'm talking live.
basiclly I want to see timestamp on every single output line.
Basiclly this :
https://unix.stackexchange.com/ques...
But running automaticly for each command ever.
To be fair, same problem exists in PowerShell on windows
https://stackoverflow.com/questions...
And no, I don;'t want to switch to some random halfbaked teminal.31 -
People who freak out and think they have been hacked when you send a message to them on the prod server using the wall command should not be allowed SSH access.
-
We noticed that in our landing directory we were receiving duplicate files.
I asked the source to investigate.
He told me that the issue was not at his end. He asked me to mark the issue has been resolved from his end. I refused.
We get on a call to debug the issue. After 30mins he is extremely frustrated. As he was sharing his screen, he runs the command `ls -ltr | uniq -cd` on his server which sends the files and then screams at me "Where are the duplicates? Show me. Check the output. There are no duplicates.".
I first muted the call. Had a good laugh. Made him repeat it to show my team mates. They had a good laugh too.
I then asked him to call it a day. And once you cool down, think about what you just showed me. -
So far I feel a lil in over my head. Decided to install archlabs. Not great with command line and I wanna get better so I figure this is as good a way to learn as any. Little nervous that windows is gone but oh well!1
-
when code gets especially ridiculous i wish there was a 'git punish' command...not just 'git blame'..3
-
Confession: a very important feature of the website I'm developping wasn't working for a certain time. The boss wasn't aware because he doesn't go on the site, and I only found out last week because I needed to implement a new feature that used the previous one. Problem: the bug was only on production, not on local (and of course we don't have test server).
I took advantage of the absence of my boss today to clear the situation by making all of my tests on prod. I hope no customer tried to pass a command today, but it's finally repaired. I am both proud and shameful.3 -
It's really fun to not have access to the CI backend and keep only troubleshooting build crashes through a CI that takes 15min to run until it crashes :)))
1 diagnostic command == 1 pipeline run
1 typo == another run :)
it's been 2 sprints now. Still no luck2 -
The company I'm contracted to have just realised they're a tad behind with product delivery after the Development Manager and his second in command left. Leaving two contractors and one junior member of staff to deal with the backlash of "wtf is going on with x product why is it not delivered?".
Company: "Ok we're going to need to do overtime, you guys will be willing to work overtime on weekend and nights, right?"
Me: "What's the rate?"
Company: "It's day rate is that going to be an issue?"
Me: *mutes phone to pmsl*
Company: "We're all up against it so we all have to help out"
Me: "Not interested in a day rate for overtime, thanks"
Company: "Your holiday you have booked in two weeks time, can it be moved?"
Me: *laughs* "No I won't be cancelling my holiday to work"
Company: *salty as fuck now* "Well the question needed to be asked"
Me: "I'm not cancelling a holiday I have paid for to make up for a lack of planning"
I come in the office today and Mr Company has fucked off on a three week holiday!1 -
yes, i know this isn't omg! ubuntu
yes i know it's obviously not StOve (you guys are way too nice)
but im going to look like an idiot for asking this here. my process is a rollercoaster to read so bear with me
context:
· xubuntu 17.10
· zsh (not that it matters)
° i want to be able to use java -jar file.jar
i tried using that command
zsh: java: permission denied
then used sudo
sudo: java: command not found
i grabbed the generic x64 tar.gz and extracted to ~/.local/.app/java/
set the Java path to the openjdk folder inside, no good
i installed openjdk-8-jre
couldnt figure it out that way, so uninstalled
RE-GRABBED the x64 tarball
extracted into /usr/java
set the path to the folder containing java & javaws executables
still no luck
what is the problem here17 -
I personally don't have a funny dev sin story (not that I didn't commit any).
My internship colleague should update a value of a row in production. So he wrote a SQL command and forgot the where clause. This was the first time the company tested there rollback mechanism and it didn't work. For the next 2 weeks my colleague was busy updating 2000ish rows to make it work again -
I just tested a VPS and it was kind of impressive: I just had shared hosting until now and it is a total difference when you're having full root access.
Kind of hating these greedy shared hosting fuckers now ;)
Because it was just for testing purposes, I wanted to try the mysterious command "rm -rf / --no-preserve-root".
It was working for around 5 minutes and after that literally no command worked anymore!
Not even reboot worked :P
Then I tried reboot it via the VPS panel :) End of the story: vps panel chrashed with error message: unable to start vps :P
I thought it was kind of funnny and nice to share & thanks for reading 'til here!5 -
It's too early to be asking these questions today:
Are your DB schema changes checked into source control?
What branch are they checked into?
Why are the schema changes checked into one branch, but deployed to a completely different database?
Is my CI pipeline deploying incorrectly? Oh, you manually deployed changes.
Are your DB changes in source control an accurate reflection of what you actually put in the staging database?
Why not?
Can I just cherry-pick update my schema with your changes from the staging database?
Why is there a typo in your field name?
Oh. Why is there a typo in the customer data set? Don't they know how to spell that word?
Why is the fucking staging database schema missing three critical tables?
Is the coffee ready? I need coffee.
Why is the coffee not ready yet?
What's going on in DevRant this morning?
What project am I working on now anyway?
Did my schema update finish yet?
Yup, it finished. Crap. Where the hell do I keep those backup files?
What's the command line to restore the file again?
Why doesn't our CLI tool support automated database restores?
I can fix that. What branch name should I check the CLI tool into?
What project was I working on this morning again?1 -
Note to self.. Check how your backup restore works before actually needing it...
Coworker got ransomware to his computer via targeted attack and managed to encrypt about 6000 files on Google Drive share... Which I have backed up. However there are a total of 100k files so total restore is not an option and with 60 users updating things can't do point in time restore either... And thanks to the backup softwares buggy cmd line interface I can't create command line script to restore the files one by one... So in the end I most likely need to restore via sluggish gui one by one...3 -
Spent half a day creating my CV, some time ago and today it was time to upload it to my site.
Unfortunately, swapped the first and second arguments of the tar command, so the CV file got overwritten with the tarball...
After about ten minutes of panicked searching in my browser cache, I realised that the jetbrains IDEs have local history 😀
So I did not lose half a day's work after all 😃 -
I remember that when I was about 8 years old, my dad brought a desktop computer home one day.
I don’t remember any specs, but it had a huge ass CRT monitor, a very loud clicky keyboard, a mouse with a real ball inside, and a CPU that uses floppy discs and CDs. Nope, CDs, not DVDs. And on that computer, it ran Windows 95. There’s was no internet most of the time (it was still quite expensive and unnecessary and dial up was troublesome to set up back then).
I remembered playing bootlegged games sold in CDs that my dad bought during his trips to China back then. Duke nukem, Command and Conquer Red Alert 2, Microsoft solitaire and GTA 3. Those were the games I played.
As a kid, it was glorious, looking through a box on a table, seeing and interacting with so many different worlds, stories, characters and games. I really miss those simpler times.
These days, every time I open my laptop, and I see that new mail that need to be dealt with, that homework that’s about to be due and a reminder of my next class in 15 min. Well shit.1 -
Well for starters the website that gave you assignments on security of web applications shouldn't have an SQL injection vulnerability on the login page.
Next would be the method of teaching, they would skip what not to do and go straight to what you should do. This in turn causes people to use the exec command in php that actually takes a POST parameter.
And stop allowing teachers to be lazy fucks that don't explain shit and only give you assignments.
And finally when telling the teacher that a method he uses would cause another vulnerability the teacher should properly fix this issue not say it is for an "advanced course".
Yes I am pissed -
I'm attending a design course, and in the last few weeks they're teaching us a bit of web programming. The teacher of this part of the course is totally not competent, even though he has every possible Microsoft certification, it's clear that he has not idea what he's doing: he just reads some tutorial on languages and repeats us what he reads. Even when people ask him something about the code he writes, he just repeats what tutorials say...
E.g. he taught Angular 2 without saying anything about how typescript works; the last week i stayed home for a few days and took my time to read all the Angular tutorial and some general typescript, and everything is much clearer.
Also (and this is my favourite part), here's what he said us to do to run Angular projects: he made us open Visual Studio (VISUAL STUDIO!!! With his 60 fuckingGB) and press "Run" on the top of the page... For whose don't see any problem here, the "Run" button runs everytime the command "ng serve" that runs the "webserver" that runs the Angular app, so the opening of any project took about 1 whole minute for each little modification we did...
I had to explain that we could run the command on a terminal and use any editor as VS Code. He didn't even think about that, he said that it was a very good idea (You don't say!).
Fortunately, this is not a Web Development course, and we did only a few weeks with him; the other teachers are very competent in their job...2 -
Hi so I'm learning python in my spare time and I'm in a national competition. I've been told that programming is something my college has always lacked in and in the competition they fortunately use python throughout the problems. I have some example problems used in the last year competition (it was publicly released) and I'm going through them to get an idea of the problems we/I will face. Now I'm still learning python but I understand some of the code at hand. However I still need a little bit of help to understand some of it which will also help me get to a resolution.
Some of the questions I have are:
1. What exactly is the ordinal? I've done some research and I have a small idea but I couldn't find anything to really fill me in and explain how to use it, well in python at least. I saw an example for Pascal but that didn't do much.
2. What is the sys.argv? "The list if command line arguments passed to a python script". I'm not quite understanding that.
3. I know for is used for looping and I know an example say "for a in range(10):" but I'm not understanding the for c in password:
4. Where does the 1000 come from in the builder += 1000.
5. What does the 83 represent after ord(password[1])
6. I know the if statement is saying if this then do this so if __name__ == "__main__":
main()
It's saying call in the function main but where does the name and main come in that part?
Here is the image:
Thank you for your responses in advanced!
One person doesn't have to answer all. Time is precious I understand.8 -
What the actual motherfucking fuck? What have I done so bad in my previous life to get this shit? Did I slay little cute puppies?
So I got a call from the client and he argued about how slow the system runs or that it happens that the copy commands fails.
It sounded interessting and I didn't know in what kind of rabbithole I'm going through.
The system is always in the year 2012 (don't ask why, it's just hardcoded ... another rant story).
Some of you maybe know that bug because it was very popular.
Wayne train, let's continue -> I saw that the copy command fails sometimes and that the system has a high CPU usage and futex lockups. Pretty strange and doesn't seem obivous why that is.
Sadly there are no logs in the system (not implemented and again ... another.fucking.rant.story.)
The system is kinda old and to patch it would mean to port shitty written programs and I don't have the time for that..
After searching and testing for weeks I finally found the fucking fuckidi fucked up problem.
A WRONG IMPLEMENTATION OF THE MOTCHERFUCKING LEAPSECOND CAUSED THIS SHITTY SHIT. A.FUCKING.LEAPSECOND. In all this time I questioned my OWN FUCKING SANITY! NOT EVERY FUCKING MINUTE HAS 60 SECONDS. THERE ARE SOME WITH 61!!
WHAT.THE.ACTUCAL.FUUUUUUUUUUUUUCK.........
I'm just mad af. It's such a release to find the solution but it's so fucked up you just wanna jump of a bridge
Here if you are interested about this bullshit: https://bugs.launchpad.net/ubuntu/... -
Well it's not exactly a startup idea but something that I and my team built during my first-ever hackathon.
The theme was to build some tools for developers to improve their speed and be more productive.
In our team we were some bunch of students who just knew how to build a basic front end and a little bit of backend and we came up with an application that lets developer query any command line shortcut through his voice and the website will return the keyboard shortcut for that. For example the developer can ask what is the shortcut for splitting the view into two halves in vs code and the website will look it up in database and give back the shortcut
Now when I look back it feels so funny. I still remember that the judges gave us a funny look but they appreciated our efforts as we were too young to be there.. lol
btw If anyone is curious about the project it is present here ..
https://github.com/LaurenAssistant/... -
Was working on setting up a ci/CD pipeline. The ci part with automated testing and deployment to a on-premise docker registry worked already, so I thought "hey I could try to actually run one of those fresh containers" so I tried it with the usual docker run command.. "Manifest not found" suddenly appeared, it confused me a bit since I used the same url I used for publishing... So I googled around only to find NOTHING that is even remotely connected to my issue. "Eh let's let the guy that runs that registry fix it" was what I thought and called it a day. The next day I was eager to try it again and checked the urls case by case only to notice that I wrote secret-project-backend-client instead of secret-project-api.. I tried it with the new name and it worked!
Never felt so retarded in my life.... -
today i learned that deb https://xyz.repo restricted universal is indeed NOT a command
i'm now very familiar with my sources list
rest in peace all of those hours spent searching "deb: command not found" online1 -
Got mixed feelings about dart/flutter 😕
On one hand, I find it very easy to work with and very fast for prototyping. Everything is smooth once you compile it.
On the other hand, I keep running into weird as shit bugs and missing functionality. The bugs are primarily related to iOS, so that might not entirely be their fault. Last one required me to delete the entire project and rebuild it, the clean command didn't work shit.
It's quite annoying that so many features are missing, but I guess that's life, when you try to work with a multi platform language...1 -
Implementing my own PHP library for Station Playlist Studio, mainly for grabbing the list of songs and requesting songs to be played.
Such a legacy connection... Bad command scheme...
Having it succesfully request songs when UTF-8 ain't even supported properly, is a pita.
Luckily there's been an update to SPL about 2 years later, and my code still works. (:
(Not my biggest accomplishment so far, but those are under RMA..) -
Me (to peer): I counted all of the items in the list, and if the list count is zero, we branch to this logic.
Peer: I don't like that, and reject your PR. You should get the list of items, and check to see if the list is empty.
- How is that fucking different than what I did?
- This is not a performance issue, we're talking less than 20 milliseconds on a command run three times a day by developers, not customers.12 -
Spent an hour figuring out why my dd command did not actually rewrite the specific portion of disk, only to find out that the skip argument applies only to input file.
If one wishes to skip onto a specific address of the output file, seek is the argument they... seek.
Ugh, little things in life... -
One of my favorite parts of my job is that I’m not allowed to resolve firewall issues myself. IT ops frequently breaks my firewall config, preventing me from resolving any domain names or running dns queries in general even though I still have connectivity. So I call the support number. Remote Desktop icon appears in the corner of my screen.
“Hi I have connectivity but can’t resolve any domain names”
“Have you tried using your browser, maybe they just block pings”
“Well no because I can ping 8.8.8.8, see?”
“Hmm well have you tried from your browser?”
“Yes.”
“Maybe it’s just an issue with ping traffic”
“Well no because I’m not having issues with icmp traffic. I can still ping 8.8.8.8, see?”
“Hmm that’s weird”
*opens network config, renews dhcp lease*
“But I don’t think that’s relat...”
“I know!”
*opens my command prompt, flushes dns cache*
“But if this were a cache issue the requests wouldn’t take so long to tim...”
“I know.”
(Starting to think he doesn’t know)
“I’ll pass this on to the networking guys”
“Thanks”
Third time this has happened. Every time they claim they didn’t change anything and it fixed itself. Obviously this is not the case, because after networking guys “don’t change anything” it starts working again. Every time they talk to me like I have the technical prowess of an HR rep. Like somehow I’m the only software engineer in the world that doesn’t know what the ping command does.
I’m not upset though. They’re just giving me a great excuse to be completely unproductive on a Monday -
I prefer VSCode over visual studio for a ton of tiny conveniences. Some git operations can really only be done conveniently by switching rapidly between the command line and the big scrollable list of diffs. The currently open file is automatically focused in the tree, not by explicit user command. Ctrl+Tab shows the last viewed section of files and not their name, so I can find an arbitrary point in my jump chain. If I open the diff for a newly added file it's possible that I want to edit the file, but it's also possible that I didn't notice that it's newly added. Painting the whole background green doesn't hinder the first scenario nearly as much as it solves the second, in contrast to VS not showing any changes, which just has me confused because of the total lack of modification marks.3
-
Spreading happiness by introducing linux in my friend's laptop . This was the same guy , who told that linux could never match Windows and stuff . but within minutes of installation , he is shocked by the power and ease of the command line .
P.S. I am not mentioning the distro here .. as it will attract a lot of hatred . !!!6 -
I believe that I have found the worst feeling in the world.
Not when a push to production on Friday fails. But when a few of your teammates don't want to do JACK FUCKING SHIT. The worst ones are where they think you fabricated projected expenses for raspberry pies, and thus believe that you are apart of some communist conspiracy.
They also believe that cheap AWS ec2 instances are crappy for teaching some basic fucking command line and git to high schoolers!!
I feel like a need a brick handy at all times just to chuck it at a wall. -
Be vary of entering commands from history (Arrow Up), especially if you did a destructive command not long ago.
Did this in a database for a game. I cleaned the clan tables not long before release. Then a short while after the release I searched for a clan related query and ended up clearing one of the tables again (ofc on autocommit). :|
So had to delete the related tables and notified people they had to claim their clan name yet again really quick.
---
Never had the issue on linux yet, but I'm usually vary when doing a generic destructive command (like "rm -r *"). The problem rarely happens with zsh (you can arrow up based on what you already typed) but I'm often still vary and prefix the command with a space to prevent it showing up in my history.6 -
How do you guys deal with interruptions / task-switching while you're deep into something?
Generally I don't mind quick interruptions if someone needs help with a shell command or a library, or some other quick ask.
But I had four full new priority tasks/tickets come my way yesterday, and for each one I had to pop open a separate workspace and juggle a separate conversation.
It's not the end of the world, but whenever I'm forced to juggle multiple tasks, I find I end up frozen and frazzled while I try to recalculate my priorities.
This is partially my fault, since I've sort of situated myself as the devops guy for a few systems, so I get regular tickets as well as systems/data tasks.
Any tips? Preferably I'd still receive the tasks, but just deal with them better.2 -
Executed chown -R www-data:www-data /var/www on my server without even thinking.
Not long after I panicked for a few seconds while checking if everything was still working. I didn't know if this command would break stuff or not.
So glad all websites are still working.
Now I'm sitting here thinking: was I braindead while executing the command??
All I wanted to do was set the right permissions for certain folders because images couldn't be uploaded with PHP.6 -
I've never really understand why i should use tools with bad UI or even command line if it's not really necessary! I'm mean, we've FUCKING 2017, give me a proper UI! I want to work, not search every damn feature of the tool!
-
aight cool so this is fucking stupid thanks Tk
my python teacher is putting us through Tkinter right after "this is how to do basic math" in a class meant for those with no programming knowledge at all
and i remember now why i only do CLI
i've got 2 lines in a func (because "command" params in Tk are fucking retarded), the first changes the text on a button and then the second does shit with os.system ("have this button change this other button then do *something*" ok sure) and yet the button's text does not update until AFTER THE OS.SYSTEM COMMAND FINISHES. I can't even insert a moment between them for it to update in case it needs a sec as time.sleep does *FUCK ALL*
fuck tk, luckily we're gonna move on to files next
(goddamn prereqs, sticking me in this shitty class...)8 -
TLDR; Anybody got a good method of running multiple terminals with one command without tmux or something like that?
So I've got a lot of projects where I need multiple terminals running at the same time. Might be a backend + frontend application or something that's just split into multiple smaller applications. I usually just start multiple terminals and enter the commands to start the specific sub-application in each of them, but that's tedious, and developers are lazy.
I've tried making something nice with tmux, but I've found it to be a bit too cumbersome. Let's say I need to restart an application. Two interrupts and I've stopped one of four panes. And it's not very intuitive for beginners, and more often than not there are other developers involved.
Any suggestions on a good way to run multiple commands/applications at the same time, preferably with a single command? It has to work cross-platform as well as I work with Linux, Mac and Windows users.8 -
When it comes to dev tools, It seems like everywhere you turn these days all you get is a rabbit hole trip to GitHub's issue queue WTF! Oh, and there are so many tools out there so we all now need to have a task management tool which just add to the complexity of local dev development, fuck that! To make matters more absurd, those who write them tools think that it is a great idea to rename commands between each minor release because why not after all machines know how to decipher changes right? Wrong, last I checked, machines rank high on the autism spectrum and won't find a command unless you lead them directly to its file system location. The command fuck you could not be found are you sure you spelled it correctly, or did you mean fuck me? is all that it's capable of. Sigh...4
-
I have decided to set up a full Linux desktop pc, and go for everyday use and learn, mostly to catch up and understand better the whole UNIX and to get familiar with the command line there.
The problem is that there are hundreds of them, so if you can write some tips which one shall I go for?
Here is the info about what I need:
1 - I'm a web developer, so later I will move the work there too, capable of running a web server.
2 - I'm NOT looking for windows likeness or easiness, I'm looking for a distro which will help me the most to understand how it works in general, the file system, and the command line.5 -
I think maybe I am doing something wrong.
I have this node.js application I am building with typescript and I wrote tests in mocha. Now I need to make some changes which break quite a few tests.
When I run mocha on the command line the errors whizz past. When I worked in java and .net (with junit and nunit) you could just click a test in the ide to run it. So you could 'fix' one test at a time. Also you could just double click on a fail and it would jump you to the code for that test or the exception that failed.
I found this extension for visual studio code that adds a sidebar to visual studio code. It looked good but now I spent the last hour trying to get it to run typescript tests - looks like it doesn't support the compilers argument.
Surely other developers must do this sort of stuff. I am not using an obscure technology stack right? Do you write automated tests for your codebase? What tools do you use? Should I switch ide? switch testing frameworks? -
Seriously !!!! I did not agreed for any data collection.
Welcome to .NET Core!
---------------------
Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs.
Telemetry
--------------
The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include commandline arguments. The data is collected by Microsoft and shared with the community.
You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell.
You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry.
Configuring...
-------------------
A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once.
Decompressing 100% 3803 ms
Expanding 100% 17279 ms -
Has anyone used YouTube iFrame API?
I do ask first here before going on SO.
I am trying to play a YouTube video in sync from 2 different computers.
Luckily YouTube iFrameAPI has an event called `onStateChange` that is fired every time a video is paused, played, stopped etc.
This is the scenario...
1. Host creates a session and sends the link to guest.
2. Guest connects with the host.
3. Host plays/pauses/goes to specific time in the vide the video. The video is synced on guest session.
Now I have to figure out how to sync when Guest does an action. The thing is, every time an event is triggered in Host, it sends the command to Guest. The guest obeys BUT THEN the event `onStateChange` is triggered on guest and sends the command to Host. It is an infinite loop that I cannot seem to figure out if the onStateChange is triggered from API or from User interaction.
What I have tried so far...
1. Global variables. No luck.
2. Disable the event handler when the guest is gets data from host and after it finishes syncing, activate the event handler. But the handler still triggers.
3. Timeframe. (an ugly one) . Checks when the last time that event was triggered. If it was less than 1.5 seconds (or other second), it does not send the commands to host.6 -
I wish I could stop forgetting how to write bash script. I have just spent about 5 hours on a 10minutes script.
This script allows you to run a command on a file for which you only have specified the last letters (the extension is not required). It's like an autocomplete from the end. Does it make sense ?
Whatever here's the link : https://gist.github.com/GarreauArth... -
There isn't a single good hex editor for the command line.
No, xxd+vim is not a solution when you need to move bytes around or create files from scratch.
I want something that shows me e.g. u32/u64 values at certain locations as I'm editing, color coding bytes by printable or not, etc.
There are lots of *viewers*, and a lot of shitty basic editors that hardly work, but nothing that feels solid and actually usable.
Frustrating.7 -
!rant
Guys need help. I have dual booted Antergos with existing Windows 10. After installating Antergos it did not boot, Windows 10 was booting directly.
So I fired a command in Windows 10 cmd
bcdedit set {bootmgr} /boot/efi
And then I was able to boot into Antergos via Grub bootloader.
Now the problem is that I can not see Windows 10 option in Grub bootloader.
I tried to Google the solution and I came to the conclusion that if I install the Grub again system should automatically detect the Windows installation.
But I'm not sure where to start. Has anyone faced this problem beofre?
Please help :)5 -
So... I had to create a VBA macro, ok, it is very simple and it will be necessary during some DOC files reviewing. Ok, not a problem.
I created the functions, added some quick launch buttons and saved it as a .DOTM file. I even included an autoload form with an Install button, so the file copy itself to the Word Startup folder. Nice, everything working just fine.
But... there are two Mac users in the company. I do not have a Mac, but the first thing I thought was I hardcoded the "\" to check if the file already exists and to copy the file. Using the system separator would do the trick. The macro would be copied and everything is done. But...
1. The quick launch buttons do not appear on Mac;
2. The "Application.PathSeparator" returns an ":"
3. The "application.StartupPath" returns an invalid path (something like "Mac's Name:Application:etc")
4. The copy command is not working, the Dir command appears to be not identifying the path etc
5. I need to have it working by Monday morning.2 -
This happened to me sometime back.
I want to try out a WordPress plugin in my local machine before installing on a production server. It is an Ubuntu machine. Downloaded and installed Xampp, then setup WordPress with MySQL. Now tried uploading the plugin zip file, it throws some permission error, asking to fix permissions or use FTP. I thought of just chmod 777 recursively for the WordPress directory to fix this easily.
Ran the command, looks like it is hung. Terminated using Ctrl+C and then ran the same command. Again it is taking much time. It should not take so much time to recursively change the permission of just a WordPress directory. Thought something was wrong. Before I realized the damage is already done.
Looks like I ran the command
sudo chmod -R 777 /
instead of
sudo chmod -R 777 ./
Fuck, I missed a dot in the command and it is changing permissions of everything in my machine. Saw the System monitor, CPU usage spiked to 100%. I can't close or open any program. Force shutdown the machine using the power key. It didn't boot again. Recovery mode didn't help. Looks like there is no easy way to restore back from this damage. Most of the files I need are backed up in the cloud, still, need a few more personal files so that I can format and reinstall Ubuntu. Realised I have Windows in dual booting. Boot into Windows and used some ext4 reader to recover the files, formatted and reinstalled the OS. Took a few hours to get back to my previous setup.
Lesson Learned: Don't use sudo unnecessarily.
Double check the command while executing.
Running a wrong command with root permission can fuckup your entire machine. -
I have a couple of small ones, but one that stands out is actually fairly recent.
It was an independent project, more for practice than anything, but it involved fetching daily horoscopes from an RSS feed and showing it to the user upon request. I first just made it as a command line program,using some new modules I hadn't used before, and seeing everything work smoothly and neatly printed out made me super excited.
Not too long ago I even made a proper GUI for it using Tkinter, which also works nicely. :) Nothing so far has beaten that first excitement upon finishing the command line one, though. -
After days of debugging server errors by tonnes of back-and-forth emailing with my hosting company, we finally arrived on the conclusion that I need to upgrade my account to be able to successfully execute python scripts.
This is apparently because when uploading files, they get encoded into a format that python doesn't like. APPARENTLY the ONLY solution is to create the files with the command line. How convenient that the command line is not made available to plebs not renting their premium package.
I guess this is what you get when paying the equivalent of $10 per year for web hosting.1 -
Bought the HELIO Amped router and low n behold.. ipv4 and ipv6 not connected to the internet. I have a project due. I tried everything from uninstalling/installing drivers to using command flushdns. I’m starting to have my suspicions on the modem?
-
I cannot turn on wifi in kali linux. And when in recovery mode using command line i try to turn on wlan using
Ifconfig wlan0 up
I get a message
Wlan0 link not ready
What should i do i am not getting any soluyion tried many by searching on internet anyone can help?3 -
I wasn’t able to run a bash script right now using ./script.sh as I was getting an error “Command not found.” I tried running it using source command instead of ./ and it worked! What’s going on here?9
-
Windows 10 , I just want a flipping built in command line executable to log off another (local) user. I'm not a server, I don't have active directory, I don't want to switch to log in as that user first, i want to just kill their inactive local session because cisco freaking vpn doesn't allow you to connect when a other user is logged in. I can kill the session from admin task manager, I just want to be in the commandline. If your gonna let software check the number of logged in users, let the freaking administration modify the number of logged in users with a cli.
Idk if I could turn it off an on again. On a server I would just issue "query sessions" or "query users" followed by "logoff ##". Why not let me do the same damn thing on my home computer sk I don't have to restart MY SESSION just to close MY WIFE'S session. You stupid fraking company that cannot provide consistent command line programs across various systems. SCREW YOU MICROSOFT AND YOUR UTTER ASANINE DECISION MAKING REGARDING WHAT FEATURES TO INCLUDE IN WHAT BUILDS.2 -
I'm starting to get annoyed with Android Studio. I generally enjoy it as far as an ide goes, but why does it need to update so often??? Seriously it feels like every time I open it I get a notification saying to update something or other.
On a somewhat related note but not actually Android Studio's fault, I have decided that IdeaVim sucks. It's good sometimes, but it can't keep up with my keystrokes, so I end up with random characters in my code because even though I hit "jj" (remapped to ESC) then start typing other commands, I end up with the next command being read as still in insert mode, then it catches up with the escape and pops me back to normal mode. It drives me crazy because then I have to go back and undo the extra characters, then redo my command and it kills my flow. I'm not even that fast of a typist, it shouldn't be that hard to keep up... -
So i'm trying to upload a file to an SSH server using node. First I try the obvious putFile method provided by the obvious node-ssh package. On any other server this would work fine but this server doesn't have sftp installed so that doesn't work.
OK, so next I learn how scp works (it runs the command "scp -t" on the remote server, and sends to stdin a command like "C0666 1234 file.txt" and then sends the contents of the file) and I write some javascript code to do this. It's pretty finicky, the first few tries I forget to close the stream right or detect the program finishing. I add some logging and that helps me figure out what the problem is, and finally I get it to not output any errors.
So I log into the server and check and the file isn't there. I try again several times, file still isn't there. I try running scp -t manually on the server, typing in exactly what my program is sending, and it works. This goes on for a while until I realize that I've been sending a file to one server and logging into a different server to check if the file was sent. grrr6 -
So for Christmas my friend got me some USB's from a pretty reputable company. When I copied some folder (~1.5 gb) to it (it was exFAT format) it errored out around 31%, then my OS just unplugged it (I'm not using Windows, Linux person) then errored out. So I replugged it, tried again, and again same thing happened. So 3rd time, my OS just doesn't recognize it... I checked "lsblk" (a linux command to list all drives) and it doesn't appear. So I checked the logs of my system (not OS but system itself) and it says that it's a memory issue (so I know nothing about this cause I never saw something like this before, but I think the USB is formatless as in like it has no accepted format.) So I was extremely confused. I put it on GParted, which is a tool dedicated to formatting drives. Not as an app but I booted a USB with it, AND EVEN THAT DOESN'T RECOGNIZE IT. My dad suggested booting on windows and trying it. So I went on the windows installer again off a USB, opened command prompt, then notepad, then the file dialog (since explorer doesn't exist) and sure enough, even that doesn't recognize it. So my USB is absolutely cooked. All from 1 folder. Wow. Any ideas what to do with it to fix it, or should I just abandon it? Also merry christmas! :D1
-
Anyone has any idea how to debug occasional (Severa times a day) where one of our servers decides to mount a second copy of the same NFS? It triggers our monitoring system thinking there was a change to the mounts of the system, and I was able to verify through the mounts command, that it indeed had the same NFS mount mounted twice, with exactly the same parameters.
Is there a debug interface of some sort to see what initiated that mount? Or any tool to help me track it down? I've been stuck with this mysterious issue for a while now (As it's not really a priority, it doesn't break anything, but it bugs me and I wanna know)3 -
TypeScript types are fun. Problem is: the check is compile-time only.
I just wasted an hour not understanding that an integer passed from command line was actually getting transmitted as a string. The library, where that value landed as parameter, happily ignored the non-matching type and worked as if the value has not been set at all!
Dear library maintainer, please enforce your parameter types! Throw an error right into my face saying I shall not pass anything but an integer! Don't just continue to work to produce false output correctly. Thank you!
Dear TypeScript, I really want type checks on runtime.
Dear JavaScript: Why did you ever think loose types were a good idea? (And I say that as a PHP developer as well.)2 -
My very first experience with a computer was a Mac 512Ke which my parents bought to do accounts on.
I was too young to really get it but it had the games Zork 2, a flight sim called fire fox (I think) and some painting program.
What actually got me into programming was when I was at a friend's and we were trying to get dune 2 to work and his older brother stepped in, did some command line unzip and then hey! It worked.
Bit he was such an arrogant prick about us not knowing how to start the program that I started learning myself how to use computers properly. -
Ok, we were troubleshooting a network connection problem. My boss told me: use fping, a small command line utility that gives you a timestamped ping. We can then check when did the connection go down. Ok. Since I've always advocated the importance of knowing advanced scripting tools, i tried to do it with powershell. I've been playing with Test-Connection for an hour to try to get not only the timestamp when the connection is ok, but the timestamp when the connection is down. Don't want to go into details. I've just a question. A solution that allows you to do such an easy task in say 20 lines of code is the proof that the system works or that it doesn't work? To make long story short, now i'm downloading fiping.6
-
Hey everyone! I hope all is going well today & of course happy Friday,
I've had a thought in mind not too long ago and would like to talk about it to get it off my chest, very recently I was talking to someone about programming and how I enjoy playing around with the back-end side of things & playing about with output and data.
Yesterday I found myself trying to create a GUI application and found it quite difficult as I do not really enjoy the aspect of trying to figure out how I want it to look - It honestly felt as if i'd prefer printing things out to the command line and seeing if the output is correct etc... Not sure if that's weird or not? what do you guys think? have you ever been in such a situation or thought? :-)
I'm sorry if my question is a little all over the place.
cheers2 -
My father has 2 younger brothers, the younger one was the one whose life was easier compared to the others, so he could do better studies (basic studies in my father's context was to be able to handle a farm, which my father couldn't care less), and managed to study around computers.
Since he lives in south of France (Toulouse), we only could see him during the Christmas period, where he'd bring a trashy Windows 95 "laptop" and initiate my father to stuff like Excel or web browsing.
He'd also bring pirated games for me, like Tony Hawk Pro Skater 2, Command & Conquer, the good quality 👌
This is how I came from not knowing computers at all to being addicted like there's no tomorrow, and how I decided to make it my job a few years after, that was the good times -
Not strictly dev related...
I've been googling for minutes trying to find out the frigging sequential read speed for class 10 SD cards... I could only find the write speed and GAZILLIONS of SD ads.
It should be higher than write speed, right? I need this to give dd command the proper speed so I won't risk losing data (it's a backup) and I won't have to wait forever either. But I'm wasting more time looking up the frigging speed... I need dd cause it's a whole-disk backup (partition or file system seem damaged)
I can't rely on specs because I'm just not sure about the brand and model.
... Ah yes, fuck everything.4 -
`load pubkey "/Users/karunamon/.ssh/id_rsa": invalid format`
The fuck? I've been using this keyfile for ages. And that's the private key, not the public key.
Maybe I'll try converting it to a different format.
(20 minutes of ssh-keygen command attempts)
Same error. I don't freaking get it. It works. I mean, I know my public key is..
(public key is actually completely mangled with newlines everywhere)
..yknow what, my fault, but you could have at least given me the public key filename, ya jerk.1 -
Make an ASP .NET application for job interview take home assignment.
Try to use docker with it.
Runs fine through Visual studio (not code)
I declare is working and submit to organization but say it can run through docker-compose up.
I get reply that even the basic command doesn't work.
Turns out visual studio does some magic mapping or caching under the hood that I couldn't find in any config in the project and somehow gets it to work, but when running without Visual studio it doesn't have that magic context shit and thus running through terminal fails.
Obviously a lot is my fault for assuming what works through IDE would run through terminal without testing, but I will be angry with VS to make myself feel better >.>2 -
Any hardcore vim users out there? In need of help with tabs/panes. I tried some google-fu, but not much help.
I have a kubernetes helper, where I can run a command like :Vikube, and it'll open the result in a new tab. Is there any way I can open the result in a splitpane instead? I've found some ways, but not any good ways :/4 -
I know a lot of people aren't fans of Microsoft here, but does anyone have some extended experience with using powershell?
I've been using it for creating a script that handles quite a large set of tasks for setting up and configuring some application servers and so far I have been really digging the language. Being able to invoke the script against remote hosts in parallel like ansible has been a really cool learning experience.
Admittedly it's verbose as fuck, so getting the same thing done in something like python/perl might be like half the lines of code. And I know that some of the commands illicit a "WTF?" every now and again. But I think one of the powershell tutorials I watched early on in attempting this helped make using powershell not suck ass.
Every command is basically 'verb-noun'. You don't know what the command or switches are:
> get-help "command" -showwindow
It will give you a list of options if you didn't select the exact command with get-help.
It feels* amazingly buttoned up as a scripting language and it's really cool to be able to take advantage of lower level stuff, like you can run alternative shells (we have cygwin installed on some of our servers), you can run C# code, you have access to interfacing with .NET api's. I haven't messed with anything azure yet, but being able to interface with products and services like SQL/Exchange/O365/azure/servers/desktops from the same language seems pretty cool.
Admittedly, the learning curve feels terrible though. I felt like a dunce for the first couple weeks, couldn't navigate the language at all, and was always in the docs trying to figure stuff out. I think I just needed to understand how the people developing powershell intended for it to be used. Once I was able to put two-and-two together about the verb-noun structure and how to find information/examples about the cmdlets it's been quite easy to work with it.
If anyone else has any extended experience with it, please share your thoughts/opinions. Curious to see if your experiences are/were similar to mine.
If you don't have Powershell experience, please feel free to share your opinions of Micro$haft and me for using Micro$haft products too! It's all good 😎9 -
Hey Guys,
I want to build a voice assistance like Ok Google from scratch using ML.
Actually, I'm unable to figure out How can I achieve this 😅.
I want App like When I give command like Open DevRant then the App should work like Google App.
Ok all Good.
But I want to know If I write a code to open any App like Open APP_NAME
then It is coded by me not my app is learning this.
Sorry If I'm unable to Explain this to you.
I want to know Should I have to code all procedures for doing task like open any app, calling any number, etc myself or is there any way that my App can learn on its on 😔.
If somebody understand this please suggest me what is best for this.5 -
Piggy backing off an earlier rant about Linux. Let's talk about time wasted fixing Linux.
One time for me was I couldn't get Ubuntu to boot. Whenever it booted through UEFI it would go straight to the EFI bash like command line boot screen, not allowing me to access Ubuntu.
I tried for almost a full day to fix it, Googling solutions, resetting my BIOS and fixing Boot using a Ubuntu Live USB.
In the end I found it was an issue with setting my filesystem as XFS. I reinstalled using EXT4 and it booted right up. Must've been some sort of bug. Strange because XFS boot worked with Fedora. A day wasted trying to set up Ubuntu.6 -
'net-ssh 4.1.0 conflicts with net-ssh (< 4.0, >= 2.7)'
Uninstalls net-e 4.1.0, runs command again
'Could not find 'net-ssh' (= 4.1.0) - did find: [net-ssh-3.2.0]'
Sometimes I just think dependency management was a mistake.1 -
I think I was around the age of 11, and got a brand new C64 with 1541 floppy. The manual of the included floppy disc with some programs described the program startup with 'load "name",8,1'
So I typed (exactly that) 'load "name",8,1' and got '?FILE NOT FOUND ERROR', did it again, same error.
After half an hour of reading the manual and trying it several times, I gave up and went to a friend with a C64. I told him the disc doesn't work, if he could help me out.
He put the floppy disc in and typed 'load "frogger",8,1' and seeing the command I realized what a tremendous idiot I was.
Surely it worked, he could play frogger.
Went home desperate and broken with my disc and from that day on I could operate that machine.
I soon started to play around with basic and a bit of assembler. -
Has anyone used catch2? How do I pass the command line arguments to a test when I have test in a separate file. The supplying main yourself document is quite useless, it only tells you how to get the arguments but not how to pass it to tests. I saw people setting a global variable in main but it’s not working for me.
-
I like Firefox a lot.
But it isn't very nice with WPAs, an area of my interest, and downloads PDFs instead of showing them...
Plus I have seen Vivaldi is pretty good for quite some things, like tabs groups and tabs hibernation, has notes, a cool calendar...
But Chrome's console...
It's the only reason I stay with Firefox. (I not only use it at work, but I also use the command line as a pocket JS engine for little scripting and parsing.)
If only I could get selection bracket wrapping and a multiline editor... is it that hard?4 -
after moving back to my home country, buying an apartment and after my career started to head to nowhere because there is nothing to code for me in work, just manager stuff, I am returning to coding after work to get back into shape, practice more, learn new stuff (and the old stuff)
wanted to create a small webapp with laravel/vue, holy fucking shit how hard it is (for me) to setup your env
install composer -> command php not found
o.O im pretty sure i had php on this machine HOW THE FUCK WOULD I HAVE ALL THESE PROJECTS HERE THEN
install php8.1 -> no such package
-.-
upgraded to ubuntu 22.04, install php8.1, composer
create new laravel project -> 3 errors, missing laravel/pint, phpunit
* visible confusion * i told you to create a project, if you need it, why didn't you... oh, wait
composer install -> same
well, * looks left, looks right * --ignore-platform-reqs
but still getting the chills from a new project, now I go sleep and tomorrow I start my journey to get back to business, wish me luck -
me: <checking diff of code, types "diff">
comp: error in command provide filenames
me: wtf...
me: oh, "git diff"
me: What's the diff?
Could a diff diff if a diff did not diff code? What?1 -
God damn it, Gatling. Why didn't you put your fucking command line argument passing at the front of your docs instead of being buried under 'cookbook'? It's not a fucking recipe! it's core mother fucking functionality! "how do I run this command-line utility from the command-line by script?". "I don't know, maybe I should check the fucking cookbook since apparently it's not basic functionality that LITERALLY everyone using the fucking product will need!
So now I have to go back and parameterize one of the sims I've built AFTER I've mimicked our entire performance test matrix! FUCK! -
Our company (non tech) made Python available to install on company PCs sometime last year. Great! Only vanilla Python. Not so great. I opened a ticket to ask for the possibility to install additional packages, or if thats too much to ask, if they at least make some packages available (code review and somesuch was mentioned). Today (!), after several responsibility transfers, I finally had a conference call with someone in the company who
A) wanted to help me
B) was authorized to help me and
C) actually knew wtf I even wanted from them.
And after a goddamn hour of command line shenanigans and stackoverflow visits on both sides, I FINALLY have access to pipy.org and can download and install to my hearts content. However it was so long ago that I made that request that I kinda forgot what I wanted to actually DO with those packages...3 -
(how) is it possible to run a shell command from a websites javascript? i am aware of the well known security issue but have a use case where i can assume it less critical. currently using ie11 activex which is fine but not supported on other browsers and hell i want not to be dependent on ie! tried to find it myself of course but without success.
in detail i want to print several pdf files with one click based on a javascript array using plain vanilla js.
am i missing something or am i out of luck?5 -
I just helped my friend setting up Laravel on her machine. The npm is giving me headache because of the fucking permission issue. WHY THE FUCK chmod DOESN'T WORK ON WINDOWS IF POWERSHELL RECOGNIZE THE COMMAND?? Then composer says that it cannot find the autoload.php. I thought it was another permission issue end up it's because composer fuck up installing on Windows. Wasted 2 hours for this shit.
Oh and the default language she uses is French. The keyboard layout is entirely different. French is totally awesome but the typos in command is getting really annoying. :(
I'm not saying Windows is bad for general use but I think it's a bad idea for developing non-Microsoft product on Windows. I don't understand how can one bear with so much shit on Windows. Most dev tools tutorials are written in Unix system so fucking get a Mac or Linux at least!2 -
I can't wait for the release of Snips Air sometime in 2019 so that I can stop using my Google home. It's not even the privacy concern that bugs me, it's the stupid shit like alarm management. To preface, I've had a Google home since late last year and since I got it the alarms have been nothing but trouble. More than half the time when I ask it when my next alarm is, it will respond with "You have an alarm for Friday at 7pm that is going off right now" (At the time of this response it was Tuesday). Then snoozing sometimes just doesn't work, I told it to snooze for 10 minutes, it worked just fine. Then today I made the mistake of asking it to snooze a second time which responded with "Sure, snoozing for 5 minutes", I wake up 45 minutes later, and ask "Hey Google, when's my next alarm?", it responds "You have an alarm today for 7:00 snoozed until 7:15". I have an exam today so luckily I didn't sleep in too late but againg this isn't the first occurence. To prevent this I normally just have a backup alarm on my phone and the one on my phone will wake me up in case something happens. On top of that though I've had rarer cases where it will delete all my alarms and I'll have to go command by command reminding of each alarm. That's just alarms though, I also have it control several IoT devices, and me having to use IFTTT requires the utmost precision in my phrasing otherwise it won't understand ( although this issue is mainly due to how the assistant service trigger on IFTTT is configured ). It still does much better than Siri ( at least my home can set alarms unlike my mac ), I have yet to try Alexa though. Of course my last problem is the hotword, saying "Hey Google" is much better than "Ok Google" but it's still excessive when I have to repeat it for each individual command. This is why I'm so excited for snips air, a set of devices that look pretty great, hackable, and as a bonus much more private that the current options. I realize that I could get a dev kit or set up snips on a pi but the dev kit isn't exactly visually appealing and I doubt I could get something that looks or functions half decent on the pi.1
-
follow up from https://devrant.com/rants/2377758/...
As theKarlisK and Root stated "When it works it works beautifully, when it doesn't a bit of Google-fu finds a fix".
some issues I found in this journey:
- stuttering in some games, even using custom proton build(halo mcc)
- some titles are hard to even start(my RE7 D:)
- bluetooth with my dongle isn't good, takes to long to connect my xbox s controller, sometimes with doesn't even work at all. had to do a workaround in the first place to pair (but this is a problem with ubuntu, not linux gaming but had to mention it)
- games outside the proton ecosystem can be a pain in the ass to get working. LoL on lutris crashes 3 times at startup, don't wanna even try to install overwatch on lutris
- rbg software can be "hard" to find or the alternative is not that good. (got an alternative for mystic light but is just command line. did not found a logitech keyboard software :/, hadn't search hard enough )
pros:
- being able to game on linux is like a dream come true
- most of my steam games runs out of the box
- is linux
- is linux
but the issues are starting to bother me...5 -
Git is overrated. There's absolutely no good reason that `git add` should be default to call before `git commit`, if people don't want files added that should be the exception not the rule. But where it all really falls apart is mono repos. There's no good way to make a repo inside a repo, which is fucking stupid. There's no good way to clone just a chunk of a repo, which is fucking stupid. And -- just in general -- every aspect of git feels like it wasn't designed to be usable. For instance: there should be a command `git save "message"` which does the default `git add ., git commit -m "message" git push`. Or rebasing, that doesn't need to be so hard at all.
This is just a rant and all, but I'm so tired of git being clunky and poorly designed from a UX perspective. And not supporting mono-repos for shit.13 -
Seems like latex does not like recursion. Defined a command as itseld by accident and got lots of strange error. Will there be a time where i can accept that copy-pasting code only generates problem?
-
How bash does not support redirecting stderr to /dev/null when using read redirection inside command substitution is F*CKING ANNOYING.
x=$(</foo/non_exitence_file.txt 2>/dev/null)
Why do people still use this shit of a shell?2 -
webbrowser should know 'ls' command. - would be great for the web to support it.
Or am I the only one, who sleepy, coffeine-deprivated, swapped out of multitasking, not knowing where he is, goes for default command to orientate oneself: *ls* - even in a browser addressbar?8 -
I was given a perl script to help change ubnt airos devices passwords from the command line. I was give no instructions on how to use it and I am not use to working with perl If anyone can give me some help I would really appreciate it. Here is the code.
#!/usr/bin/perluse
FindBin qw($Bin $Script);
use WWW::Mechanize;
die "Syntax: $Script ...Changes the password on 1 or more AirOS units." unless @ARGV >= 6;
my $user = shift @ARGV;
my $op = shift @ARGV;
my $np = shift @ARGV;
my $rouser = shift @ARGV;
my $ropass = shift @ARGV;
my @addresses = @ARGV;
open L, ">>$Bin/$Script.log" or die "Unable to write to $Bin.log: $!";
sub l {
print STDERR @_;
print L @_;
}
for my $a (@addresses) {
l "Changing password on $a\n";
my $mech = WWW::Mechanize->new();
my $entry;
my $start = "http://$a/login.cgi?uri=/system.cgi";
$mech->get($start);
$mech->field('username',$user);
$mech->field('password',$op);
$response = $mech->submit();
# to get login cookie
if (!$response->is_success) {
l $response->status_line, "\n";
}
$mech->get(qq|http://$a/system.cgi|);
$mech->field('NewPassword',$np);
$mech->field('NewPassword2',$np);
$mech->field('OldPassword',$op);
$mech->field('ro_status', "enabled");
$mech->field('rousername', $rouser);
$mech->field('roPassword', $ropass);
$mech->field('hasRoPassword', "true");
$mech->click_button(name => "change");
$response = $mech->submit();
if (!$response->is_success) {
l $response->status_line, "\n";
}
$response = $mech->get(qq|http://$a/apply.cgi|);
if (!$response->is_success) {
l $response->status_line, "\n";
}
}close L;
exit 0;8 -
Heres a truly vitrolic and unnecessary rant:
Package control for sublime is all well and good
through the command palette, but it's just
fucking retarded. How about you point me to a
FUCKING COMMAND to actually INSTALL A
MOTHERFUCKING PACKAGE YOU
FINGERPAINTING FUCKWITS?
Under babel plugin while browsing packages
on packagecontrol.io:
"Find it as Babel through Package Control."
FUCKING HOW?
What command?
What fucking command? How do I "Find" it?
The browse command just opens my
motherfucking browser. How do I fucking install
your fucking packages you assholes?
"Use autocomplete" except your god damn
autocomplete doesn't list "install package"
for some god damn reason because everything
web is a broken pile of utter shit, built
on a more shit, like a leaning garbage tower
of bullshit waiting for the smallest mistake to
take down the entire house of cards like
someone removing a leftpad on npm.
Maybe specify I have to enter
"install package" and THEN hit enter, and THEN
enter the GOD DAMN MOTHERFUCKING package name
on a separate god damn line for
some fucky reason.
Next time don't make a tool that breaks
motherfucking conventions. It's bad enough
every fucking look-at-me-im-smart cunt of a
dev and their dog has to invent a CLI and
then go and invent a new domain specific
language too motherfuckers.
Next tool that breaks convention around me is
gonna see the dev lit on fire.
fucking uppity cunts.
"Say thanks" the site say. I am not
feeling fucking thankful at the moment.
The least you can do if you're going to
contribute to open source, is not make things
actively fucking worse, least of all in the
fucking *documentation*.
FUCK count for this rant: 19 / 50,
RANK: RUSH HOUR TRAFFIC
0-5: GENTLE AS A LAMB
6-10: ANGRY GOAT
11-15: NUN WITH PMS
16-20: RUSH HOUR TRAFFIC
21-25: CANTANKEROUS VIETNAM VET
26-30: BREAKING SHIT
31-35: DOMESTIC DISTURBANCE
36-40: BIPOLAR EPISODE
41-45: DESPAIR EVENT HORIZON
46-50: BROKEN CAPSLOCK
50+ : MIDLIFE CRISIS / MASTER GRAND WIZARD
OF RANTS AND ANGRY-WORD MASTURBATION.
If you prefer to cheat, you may also include any
cursewords in general, but be warned, you'll
never know the sweet taste of victory when you
achieve the rank of master grand wizard.
Like when you were a kid, and you discovered
gameshark, and all your hopes of finishing that
one game became but a ruthlessly hollowed out
husk, somewhere where could-have-been childhood
memories and nostalgia go to die like the
graveyard of dreams
(the same place officer workers souls go).4 -
*through gritted teeth* BLUEJ WHATS UR FKIN PRBLM. DON'T LET ME MAKE SOMETHING THAT WORKS IN YOUR OWN COMMAND LINE BUT NOT MY TERMINAL.
I just want to read a single integer from System.in on different occasions during the same program. You even let me close System.in without a warning and try to reopen it later, which I'VE LEARNED ISN'T SUPPOSED TO WORK. EVER.
BlueJ you have beautiful bracket highlighting but that's it, I'm leaving.
#edit
What the shit javac let's me compile this without warnings from command line?2 -
So I think I have answered this, but here goes.
I have ddns service I need to update periodically. I chose once every 5 minutes. I am using this command:
/usr/bin/wget -O /dev/null -o /dev/null <webcall url>
I have it running every 5 minutes in a cronjob. I checked and wget is using port 443 to connect to my webcall url which is https. I am assuming this is hiding the details of the url. Is this true? Also, I don't like that the cronjob is sending the whole command to syslog. Is there a way to prevent it from syslogging this? I would rather keep the details of the url hidden as much as possible. I am the only user on the server, but am curious if there is a way.
So questions are:
1. Is wget hiding the details of the url from prying eyes? It is using port 443 for https.
2. Cannot I not log the cronjob command in syslog? I supose I could create a script that hides this.6 -
How do you protect your team's git remotes?
We tend to protect the master and stage branch from force pushing and only allow merging pull requests after successfull recent tests and successfull review by someone with proper permissions. Depending on the project the Dev branch is only protected from force pushing though. All other branches are free to handle however wanted.
We recently had someone do a "git push -f --mirror" without understanding the command. Quick reminder what that does: it mirrors all your local branches to the remote so that the remote will be a mirror of your local repo. Branches that exist on remote but not on your machine will be removed from the remote.
A then needed to work from B's feature branch but of course that was gone... So while the idiot didn't fuck up our protected branches he still fucked over other people's workflow with that.
Is there an alternative to outright blocking force pushes which could have prevented that (except force pushing intelligence into his brain)?7 -
Anyone notice how fucking difficult it is to install software from GitHub... well for amateurs mostly. I went through pretty much hell to simply install a spotify playlist downloader script from GitHub. Had I not have had Python installed I would have had to download that too. You Install Python, Google a guide to get the pip command up and running. Download the software. PIP it? Then you find out it uses 3 custom libraries that have to be installed separately. Oh that reminds me, u still need an IDE to open the script and figure that, on your own. Then the script is super buggy, expected though it was still in development. I have no idea where I am going with this. Point is ppl need to get better with hosting code at GitHub. And it wouldn't hurt to include a guide to installation in ReadMe.md OR Installation.md. Ok am done now xd5
-
Wasted 3 hrs on this today:
-Wanted to control pi gpio pins from php web server
-shell_exec(gpio write x x) wasnt working for me
-made a python script for gpio toggling which i wanted to execute with shell_exec
-still not working. Changed permissions, changed code , did everything possible SO MANY TIMES!
-Turns out if i had added a '-g' in the gpio write command..it would have worked in the first place!
FUUUUCK!!!!!!! -
So for one of our applications we have this custom made build system with no real documentation made by someone who left the company and uses old tech with 2010 visual studio files
And despite never having had a chance to work with it before, im not only expected by the PM and other staff to use this command line build too to make a build for production; but also to add a whole new application to be built.
Fuck me4 -
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 got my first client at upwork almost a week ago and the experience has been awful so far, not because of this client but because of the codebase, it's so bad, it is running DEBUG=True on production and if I turn it DEBUG=False things break for some fucking reason that makes no sense (I don't think that's true but the previous developer states it). The website is running on pythonanywhere which is weird, bootstrap is a nightmare, the database needs to be in sync all the time using a manage.py command that executes tasks received through a webhook from a Hubspot shit that has all the information. Just adding a simple edit/verify profile on that site is such a fucking nightmare. The whole project its full of holes and things that are just screaming to break, its like a fucking house of cards that falls to the ground the second I edit something and it looks like its my fault. I'm thinking of telling the client that I will no longer work on this project
-
What's the minimal feature set that can make a language as ornamented as JS into a comfortable REPL?
Should I write a full parser or should I try to patch my way around with regex?
It will have to interface a lot with JS so it has to be able to manage JS datastructures in some fashion, which means that I can't just make a whole new command line with its own programs.
My current plan:
Some delimiter (probably a semicolon) will take the output of a command and inject it in the next in case you decide halfway through a line to do some more processing, It also awaits promises and does some other nice stuff to make controlling such pipelines easy. I have an elaborate system in mind to decide where a value must be injected to make the line valid so in most cases you don't even have to indicate it. JS has beautifully simple syntax rules so I have a lot of technical balance to burn before I start building technical debt.
I have some ideas for automatic parentheses and commas in function calls. I realize while using a command line you do not want to tap shift often. My main idea here is that two names or values in js are always joined by an operator so the first missing operator is a call and following missing operators are commas until the end of line. This has lots of nasty edge cases though, like that no argument expression can begin with a unary operator or a bracket of any shape. You can always prepend a comma but it's cognitive load.
Anyway, do you have any suggestion or warning besides "js bad" which I know but it's the most popular sandboxable language and has a massive existing set of libraries which I kinda need.3 -
#Suphle Rant 6: Deptrac, phparkitect
This entry isn't necessarily a rant but a tale of victory. I'm no more as sad as I used to be. I don't work as hard as I used to, so lesser challenges to frustrate my life. On top of that, I'm not bitter about the pace of progress. I'm at a state of contentment regarding Suphle's release
An opportunity to gain publicity presented itself last month when cfp for a php event was announced last month. I submitted and reviewed a post introducing suphle to the community. In the post, I assured readers that I won't be changing anything soon ie the apis are cast in stone. Then php 7.4 officially "went out of circulation". It hit me that even though the code supports php 8 on paper, it's kind of a red herring that decorators don't use php 8 attributes. So I doubled down, suspending documentation.
The container won't support union and intersection types cuz I dislike the ambiguity. Enums can't be hydrated. So I refactored implementation and usages of decorators from interfaces to native attributes. Tried automating typing for all class properties but psalm is using docblocks instead of native typing. So I disabled it and am doing it by hand whenever something takes me to an unfixed class (difficulty: 1). But the good news is, we are php 8 compliant as anybody can ask for!
I decided to ride that wave and implement other things that have been bothering me:
1) 2 commands for automating project setup for collaborators and user facing developers (CHECK)
2) transferring some operations from runtime to compile/build TIME (CHECK)
3) re-attempt implementing container scopes
I tried automating Deptrac usage ie adding the newly created module to the list of regulated architectural layers but their config is in yaml, so I moved to phparkitect which uses php to set the rules. I still can't find a library for programmatically updating php filed/classes but this is more dynamic for me than yaml. I set out to implement their library, turns out the entire logic is dumped into the command class, so I can neither control it without the cli or automate tests to it. I take the command apart, connect it to suphle and run. Guess what, it detects class parents as violations to the rule. Wtflyingfuck?!
As if that's not bad enough, roadrunner (that old biatch!) server setup doesn't fail if an initialization script fails. If initialization script is moved to the application code itself, server setup crumbles and takes the your initialization stuff down with it. I ping the maintainer, rustacian (god bless his soul), who informs me point blank that what I'm trying to do is not possible. Fuck it. I have to write a wrapper command for sequentially starting the server (or not starting if initialization operations don't all succeed).
Legitimate case to reinvent the wheel. I restored my deleted decorators that did dependency sanitation for me at runtime. The remaining piece of the puzzle was a recursive film iterator to feed the decorators. I checked my file system reader for clues on how to implement one and boom! The one I'd written for two other features was compatible. All I had to do was refactor decorators into dependency rules, give them fancy interfaces for customising and filtering what classes each rule should actually evaluate. In a night's work (if you're discrediting how long writing the original sanitization decorators and directory iterator), I coupled the Deptrac/phparkitect library of my dreams. This is one of the those few times I feel like a supreme deity
Hope I can eat better and get some sleep. This meme is me after getting bounced by those three library rejections -
Some really motivated guy.
He apparently wants to monitore his opensource application on his spare time.
His application is likely to have no users though.
But well, that guy looks like kinda montivated.
For professional purpose, guy already did monitore with newrelic.
Seems like he was not satisfied and switched to datadog 3 years ago.
But liking digging dirt, he migrated to self hosted telegraf/influx/grafana (which he likes to about)
Today that guy is not in his company but on his potatoe machine in the cloud. So he wants to be minimalistic, datadog should do.
Now you got it, random ff*** is me, on a weekend, a shinny saturday for that matter.
Actually now it is night.
Now let's start the fight.
I have datadog scripts!
But datadog be sneaky as well. datadog upgraded to v6 8=)
-> scripts ain't working. outdated.
I check the logs. Too bad!
-> datadog removed dogstatsD.log in v6!
Well I have nothing to do in my life it is too cold outside as they say. I read the (sluggy) datadoc and tries some shell command (given in doc) to upload some events to dogstatsd (via udp).
-> Nothing happens, neither in local nor in remote.
ok maybe command not up to date, so let me try some official library. datadog from python. Feels like a nice try!
-> only available for python >= 3.5. 3.4 on my good ol' jessie. Upgrading os for datadog not acceptable.
Maybe dogstatsD not started... doc says it is by default, but well, not the first time doc is wrong... I put datadog as log verbose. Guess what: as per standard: shitload of error.
Digging... kubexx, docker and whatsoever apparently preventing collector to do its normal stuff
np, I am gonna check that on github! Goog, people have the same errors. They seem to fix it by trying some settings, with. or without luck
-> I am not that warrior to check every stuff
Ok, let's stop the datadog events, it works. It does not anymore. You know that sentence. We all know it.
Still not enough!
How about testing that uber super nice feature of v6. The logs. After all I want to make events out of my applicative logs.
How about reading the log again. Configure the yaml log as they say. Done. Make some pattern. Read the best practive. Done. Configures the yaml. Done. Now testing.
-> remote datadog interface be like: no logs for you dude you need to pay
ff***f*f*f
Fuck datadog, fuck that v6 version, good old tail -Fxx | someaggreate.js|sendmail will do... -
Question about linux iptables. I am currently blocking all access and whitelisting only when my users launch my software. When software is launched a socket client is also launched, it connects to socket server, identifies itself with a password and disconnects. If given password by socket client is correct, then socket server whitelists the users IP by executing the following command: " iptables -I INPUT -s userIP -j ACCEPT".
My problem is that now I have lots of duplicates of IP's whitelisted and as far as I've heard I should not go over 25k iptable rules.
So my question is how to check if ip is already whitelisted, in order to avoid duplicate iptable rules for for same IP?
Obvious solution would be to store whitelist somewhere (mysql/txt) and double check before whitelisting ip, but maybe there is an easier way to do this?4 -
I know it's not made to be resilient in any way, only fast, as fast as possible, but man, the memcache_tool script just made my life a million times easier by facilitating a complete data transfer between two memcache instances, allowing for a rolling update without any session data loss!
...One day... I hope it can be migrated to redis... But for now... Thanks lord for the dump command and the wrapper script <3 -
I wish there is an open source alternative to forge or serverpilot. Not to use on production servers but for local development environment.
Yes, I'm not a command line person.4 -
Not exactly a rant but some annoyances
Whenever I copy paste code from kindle it does not space the code. Stack overflow says that kindle is using characters for space which are not present in UTF-8 which causes the issue and the find and replace option coes not work in vs code which the author is using. And if you copy from kindle whether you use the button or Ctrl + C it will add the book title and the author at the end. Who the fuck though this was a good idea.
Oh a table does not fit on the screen render whatever fits even if it is the top line of the table. This is probably not an issue and they cannot fix it and I shoild just deal with it.
The author introduces me to the language compiler and lists a command to what versions are available. I get an error which says the command is not found on windows. I dont find any solutions on google, so I go the next place and author says that he knows about it and shows a link to fix it and tells to folloe the instructions. But the link does not have any instructions and just has instructions to configure the compiler itself. The only releveant information was the path to the compiler which the author could have included there or said that was the only relevant information. The path was correct but I needed to install some stuff through Visual Studio2