- Joined
- Jan 22, 2018
Pop_OS is looking pretty good.
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
Python taught me to ensure if your text editor allows it to enable space and tab symbols.RRRRRRRRREEEEEEEEEEEEEEEEE
I just spent an hour and a half trying to figure out why my ftp server was no longer working after enabling SSL. The logs give you ZERO feedback on what's going on (none that I could find anyway, the only log offered pertained to user activities), only saying 'invalid parameter'. Turns out there was a FUCKING SPACE after one of the lines in the config file.
I don't understand how anyone could look at this and say "yep, that's pretty good UX".
yeah I think I'm gonna set up gvim rather than trying to roll with inline vi. I actually like Vim a lot, but vi in the terminal is stuff you subject Guantanamo Bay prisoners to.Python taught me to ensure if your text editor allows it to enable space and tab symbols.
fucking bullshit is what this stuff is.
It sounds like you and I are at roughly comparable levels of experience with Linux, though I'm more familiar with macOS than Windows.yeah I think I'm gonna set up gvim rather than trying to roll with inline vi. I actually like Vim a lot, but vi in the terminal is stuff you subject Guantanamo Bay prisoners to.
I'm using Arch, and I tried pretty much all of the popular desktop environments. I didn't like any of them for the same reasons you described, plus a feeling on some of them, like KDE, that I'd found myself on another Windows-like OS where I have no idea what's really going on behind the hood.The biggest problems with Ubuntu (and distros in general so far) I have so far are that
If distros could properly address these two things to a degree that normies could understand them, I think it could be a serious competitor to windows. As it stands though, the hardware issues exist and the skills it takes to solve them go far, far beyond what the average person can deal with.
- It's got pretty serious hardware compatibility issues depending on your desktop environment
- Once you get off the command line, the UX is WILDLY inconsistent, often requiring you to just know magic strings of text to make things work ('read the Man Pages' does not make for a good user experience).
This is one of the main reasons I chose to start with Arch. If I were using some other distribution, I think I'd just end up looking for help on the Arch Wiki.Rusty Crab said:So far my biggest problem with linux is that for half the issues I run into, the only search results I can get are answers from 2008 that have long ceased to be relevant. Date filters don't seem to do much. Is there a better place to look than just trying to consult search engines?
You would kind of have to try it and gvim back to back to understand why. The first and most obvious thing is that terminal vi has almost no feedback on what your cursor is doing. It's hard to know what mode you're in, much less what variant of what mode you're in (appending, inserting). Visual/block mode does not always appear how you think it will and I don't know why. Sometimes I can't see what characters I'm selecting and other times I can't even tell I'm selecting anything. There's other problems where the editor will sometimes just take wildly unexpected actions and I have not invested the time into finding out why because I just had to Get Shit Done™. That's where you just need to use gvim and vi back to back to see what I mean.It sounds like you and I are at roughly comparable levels of experience with Linux, though I'm more familiar with macOS than Windows.
Why did you decide to use vim? And what's so bad about using vi in the terminal? (I've been practicing with emacs)
I loved KDE but it was horribly unstable on the computer I installed it on. So much so that I couldn't even use USB sticks reliably without the OS shitting itself. Other people don't appear to have the issues I did so I don't know what is going on.I'm using Arch, and I tried pretty much all of the popular desktop environments. I didn't like any of them for the same reasons you described, plus a feeling on some of them, like KDE, that I'd found myself on another Windows-like OS where I have no idea what's really going on behind the hood.
If that's what makes a learning experience comfortable for you, go for it. It's great to start with fundamentals in an environment without clutter. However, I should warn that I am a professional programmer with many regrets. One of those regrets is sticking to those kinds of overly simple environments for too long where I could keep the whole system in my head. It just gave me a bad case of "not made here" syndrome and made me feel like I was being productive when I actually was not.it's simple enough for me to feel like I'm in control.
Interesting. I had already made a complete switch to Colemak, which made vim bindings worthless to me (instead of HJKL, my qwerty bindings would be HYNU).You would kind of have to try it and gvim back to back to understand why. The first and most obvious thing is that terminal vi has almost no feedback on what your cursor is doing. It's hard to know what mode you're in, much less what variant of what mode you're in (appending, inserting). Visual/block mode does not always appear how you think it will and I don't know why. Sometimes I can't see what characters I'm selecting and other times I can't even tell I'm selecting anything. There's other problems where the editor will sometimes just take wildly unexpected actions and I have not invested the time into finding out why because I just had to Get Shit Done™. That's where you just need to use gvim and vi back to back to see what I mean.
I use vim overall because I find the keybindings very ergonomic. Modifier keys are very uncomfortable for me, so manipulating text all on home row is a godsend. I should mention however that vim BINDINGS (available in most mainstream editors) are very productive, but vim itself as a program is ancient and a pain to work in. I don't recommend trying to code in vim (the editor), for instance.
If you're comfortable sharing, could you describe the sort of overly-simple environment you used?If that's what makes a learning experience comfortable for you, go for it. It's great to start with fundamentals in an environment without clutter. However, I should warn that I am a professional programmer with many regrets. One of those regrets is sticking to those kinds of overly simple environments for too long where I could keep the whole system in my head. It just gave me a bad case of "not made here" syndrome and made me feel like I was being productive when I actually was not.
What do you mean by "a more complete system?"Minimalist environments are great for learning, but I would warn that you should graduate to a more complete system in due time or else you risk falling behind your peers.
Interesting. I had already made a complete switch to Colemak, which made vim bindings worthless to me (instead of HJKL, my qwerty bindings would be HYNU).
Emacs feels only a little different from the terminal compared to the GUI version. Those differences make the GUI version nicer to use, but I could operate from the terminal just as easily. Was trying to wrap my head around why the GUI/terminal difference would be so stark with vim.
If you're comfortable sharing, could you describe the sort of overly-simple environment you used?
What do you mean by "a more complete system?"
If you want some culture shock, download visual studio 2019 on windows and get a trial subscription to Resharper (if you're using one of their supported languages). Dig into the documentation and tutorial videos. I think you're going to be blown away by just what those environments can do. Using Resharper roughly quadrupled my productivity within a few days.I've tried some popular IDEs -- mostly Xcode on macOs and Visual Studio Community on Windows (and a bit of Eclipse IDE on both systems). It's not clear to me what I'm missing out on by using the setup described above instead of, say, one of those IDEs. Could you expound a bit?
I'm not a professional developer, but I'd like to become one, and I'm open to trying other setups.
At least right now, it seems one could productively "stand on the shoulders of giants" by using an interpreted, high-level language like ruby. Is this a valid alternative? Or am I missing the point?I can't go into it in too much detail because [power level], but in general I stuck with environments that I understood from top to bottom (I used to visualize stuff down to what was happening on a cpu level when I coded), and tried not to use many external libraries unless they were sufficiently simple to keep their inner workings in my head. This had the result of me not using more complex tools like IDEs and frameworks that everyone else was using. The result was me putting in a titanic amount of work and at the end, having an inferior product. I understood said product from top to bottom and felt good about it, but nobody gives a shit about that.
My real wakeup call was working with a guy that was even worse in this manner than I was. He was an actual genius and despite that, he's now in his late 40s and has functionally accomplished nothing in life. He's broke as shit because despite having amazing intelligence, he refuses to "stand on the shoulders of giants" as it were and prefers to bang rocks together in the terminal. That was when I knew I had to make some serious life changes.
If you want some culture shock, download visual studio 2019 on windows and get a trial subscription to Resharper (if you're using one of their supported languages). Dig into the documentation and tutorial videos. I think you're going to be blown away by just what those environments can do. Using Resharper roughly quadrupled my productivity within a few days.
I will say that some benefits of these IDEs do not become apparent until you work on a larger code base. I work on a +2 million line project and I would never dream of trying to open that in a vim-like setup.
This is totally fair, and it's why I have no qualms with driving cars with automatic transmissions. I also have a reasonably well-formed idea of what the automatic transmission is doing for me.People say complex IDEs are a crutch. OF COURSE THEY ARE! You know what else is a crutch? Operating systems. Real programmers tap on the harddrive with a magnetized needle to write their code.
Here's what I've done keyboard-wise:I don't know anything about colemak so I can't speak on it. Binding preferences are whatever though. It's anything that's most ergonomic to you. I wouldn't spend too much time stressing over what binding style you use because it's unlikely to make a +/- 5% difference in typing output, no matter what the Church of Emacs/Cult of Vim zealots say about it. Just be mindful that whatever you're doing doesn't contribute to RSI and you'll be good. My RSI incidence went down dramatically when I switched away from "standard" arrow key cluster style editors.
Ruby on rails is fine. The guy I'm talking about mostly dealt with very low level languages. I didn't know what your language was until this point, so that does change things somewhat. I don't know about Ruby IDEs so I can't input much into that conversation.At least right now, it seems one could productively "stand on the shoulders of giants" by using an interpreted, high-level language like ruby. Is this a valid alternative? Or am I missing the point?
It's not really feasible to compare what you would get out of changing languages. It depends entirely on what you're writing. If you wanted to do a project in one of resharper's supported languages, I think that would be a nice exploration into what's possible with a flagship product like that, though. The main point is mostly to see what feature sets are possible and how they help. Once you know what features help you much, you can look for analogs to those in whatever IDEs feature the language of your choice.Let's say I've been practicing with C and Java using a "simple" setup. What would I get out of switching to writing programs in C or Java using Visual Studio 2019 with Resharper? How does that differ from what I would get out of switching to writing programs using ruby with an unchanged "simple" setup?
Indeed, though I should note that the price sharply drops after the first year to ~$70 per year. If you're not doing it professionally, you may not be able to justify the cost, but I would at least do a trial just to see what it's like. If you are doing it professionally, it pays for itself in a matter of days.I'll read up on this. My main concern is that at US$130/year for the cheapest package, it's very expensive (though it's obviously worth it if the productivity boost is sufficient).
Navigation is a big one. Resharper's method of "find anything anywhere" is phenomenal and it's tough to even communicate to someone else unless they use it firsthand. I can jump to any part of any file the 2 million line product in sub ~2 seconds just by vaguely remembering kinda what words were in the section I'm looking for. File locations and paths become entirely irrelevant to your workflow (it's still good to cleanup after yourself just for sanity's sake, though).Could you give me one or two examples of features that delivered the best productivity boost for you? Or scenarios where VS 2019 w/ Resharper was obviously superior to a "simple" solution? Like, what is it about an IDE that makes a million-line project more navigable?
The solid examples I can give in C-like languages are stuff like pointer safety and proper variable initialization. It runs automated checks and scenarios "in it's head" and catches subtle issues that would cause flaws that could take a human months to notice and catch. It does not automate everything and it does not automate proper code design, but it does take a lot of weight off your your brain. You can focus more on stuff you care about (like architecture) rather than spending hours double checking that every member of every class has an =0 somewhere in the constructor.available in C#, VB.NET, XAML, ASP.NET, JavaScript, TypeScript, CSS, HTML, and XML. ReSharper will let you know if your code can be improved and suggest automatic quick-fixes.
...
ReSharper applies over 2200 code inspections to your code at design time so you can instantly see whether your current file or even your whole solution contains any errors or problems.
Well, ruby with or without rails. I haven't spent much time on web development. I was thinking more about features like dynamic typing, use of objects instead of primitives, etc. Stuff you would also get with a language like Python. I should have picked Python because Visual Studio does appear to have robust Python support.Ruby on rails is fine. The guy I'm talking about mostly dealt with very low level languages. I didn't know what your language was until this point, so that does change things somewhat. I don't know about Ruby IDEs so I can't input much into that conversation.
That's fair advice. I'll look into it down the road when I feel I have a better understanding of fundamentals.It's not really feasible to compare what you would get out of changing languages. It depends entirely on what you're writing. If you wanted to do a project in one of resharper's supported languages, I think that would be a nice exploration into what's possible with a flagship product like that, though. The main point is mostly to see what feature sets are possible and how they help. Once you know what features help you much, you can look for analogs to those in whatever IDEs feature the language of your choice.
Sure, and you know, if you're a beginner, it's not something you have to sweat about right now. Feel free to experiment. Just be aware that when/if you move to more professional ambitions, it's wise to leave your comfort zone to see what's possible.Of course, my favorite arguments are those that confirm my preexisting biases, so I'd also love to hear from anyone who can tell me why it's better to stick with emacs + terminal. I'm still brand-new to this setup, so I need more time to think and experiment before I post more about what I do/don't like about it.
Even plain old Visual Studio has realtime checks for that stuff now, though it's still somewhat imperfect. For anyone just getting started, I'd recommend just spending some time with VS and learning its ins and outs. If you find yourself "outgrowing" it, then stuff like Resharper is out there.The solid examples I can give in C-like languages are stuff like pointer safety and proper variable initialization. It runs automated checks and scenarios "in it's head" and catches subtle issues
You could always try out a Jetbrains IDE for free and then compare it against your emacs workflow. Pycharm has a free community edition; you mentioned Ruby, you can always try RubyMine for 30 days for free; all the paid variants have 30 day trials.Well, ruby with or without rails. I haven't spent much time on web development. I was thinking more about features like dynamic typing, use of objects instead of primitives, etc. Stuff you would also get with a language like Python.
As in this CDE?Is it true that the CDE desktop environment has major security flaws? I'm currently using it right now and I'm worried.