- mbork_plJarJarScript.
- I did my share of coding on a Commodore 64 (have you seen that keyboard?) with a cassette tape as the only external storage, no debugger (just a very poor BASIC variant) and (of course) a mono CRT tv set as a monitor. No internet, of course, just a few books/magazines.
Kids these days... ;-)
- Not to criticize you - I also use eglot and it's great - but let me mention that people have been doing pretty meaningful software development for several decades now, and LSPs are, I don't know, 5 years old?
There's a saying in my language, "the appetite grows while you eat"...
- > Or, I could use some actually well designed software and save myself some printer ink :-)
Or, you could use some well-designed and self-documenting software. Too bad there's not much of that besides Emacs - on the other hand, Emacs and occasionally a browser cover most of my computering needs...
- > How much do you pay annually out of pocket for health insurance premiums and other healthcare expenses?
Very rough estimation: $9000. I'm not sure how much my wife pays - this is paid by the employer and she usually doesn't bother to check. (This is mainly insurance, we seldom use public healthcare.)
- FWIW, I get on the order of $40/hour as a senior with almost 10 years experience, and it allows me not to worry too much about spending (with a wife earning about a third of my salary and two kids). I think I could easily earn at least 50% more if I wanted to work for some rich but soul-crushing corp, but for obvious reasons I don't do that. I guess US cost of living is just insane. (I live in central Europe.)
- How is that specific to FOSS?
- Staging is immensely useful in more than one case.
Case one: WiP on a branch, code is pretty stable, but I want to do some experiments which will likely be deleted. I stage everything and then make (unstaged) changes which I can then undo with two keystrokes.
Case two: I'm reviewing a complex PR, so I first merge it with --no-commit, then unstage everything and then stage chunks (or even individual lines) I have already reviewed.
Case three: I was coding in the state of flow and now I have a lot of changes I want to commit, but I want to separate them into several atomic commits. I stage the first batch of changes, commit, then stage another, commit, etc.
There are probably more, but these three alone are worth having the staging area.
- The Fibonacci sequence might have been more appropriate.
- 28 points
- If I'd go that route, why not include that (encrypted) file on the drives themselves?
> Avoid clouds, cloud accounts, any system you do not control as they can be hacked, go out of business, lose your data, etc...
Yes, that is obvious, but still a great point. I'd probably use my VPS for that (maybe even two of them for redundancy).
- Thanks, that's an interesting option! It requires trust in the bank (of course), but I'm not that paranoid. However, I have a feeling that it's a bit expensive - it can be cheap (say, ~$10 per month, which is not as cheap in my country as it is in the US, but still), but frankly, I'd prefer a homebrew solution.
- 2 points
- Allons-y!
- I would guess quit a few malware authors would also love such a feature.
- Not the GP, but here is my N=1 (N=3, actually, as you'll see).
I have a Master's in Economics. After 3 years of economics, I started a Master's program in maths (back then the Master's degree was the standard thing you achieved after 4.5–5 years of studying in my country, there was basically nothing in-between high school and that). 9 years later I got a PhD in mathematical analysis (so not really close to CS). But I've been programming as a hobby since late 80s (Commodore 64 Basic, Logo, then QBasic, of course quite a bit of Turbo Pascal, and a tiny bit of C, too). I also read a bit (but not very much) about things like algos, data structures etc. Of course, a strong background in analysis gives one a pretty solid grasp of things like O(n) vs O(n log n) vs O(n^2) vs O(2^n). 9 years ago I started programming as a side job, and 2 years later I quit the uni.
I lack a lot of foundations – I know very little about networks, for example. But even in our small team of 5, I don't /need/ to know that much – if I have a problem, I can ask a teammate next desk (who actually studied CS).
Of course, _nemo iudex in causa sua_, but I think doing some stuff on the C64 and then Turbo Pascal gave me pretty solid feeling for what is going on under the hood. (I believe it's very probable that coding in BASIC on an 8-bit computer was objectively "closer to the bare metal" than contemporary C with all the compiler optimizations.) I would probably be able to implement the (in)famous linked list with eyes closed, and avoiding N+1 database queries is a natural thing for me to do (having grown up with a 1 MHz processor I tend to be more frugal with cycles than my younger friends). Recently I was tasked with rewriting a part of our system to optimize it to consume less memory (which is not necessarily an obvious thing in Node.js).
Another teammate (call them A) who joined us maybe 2 years ago is a civil engineer who decided to switch careers. They are mainly self-taught (well, with a bit of older-brother-taught), but they are a very intelligent person with a lot of curiosity and willingness to learn. I used to work with someone else (call them B) who had formal CS education (and wasn't even fresh out of a university, it was their second programming job, I think), but lacked general life experience (they were 5-10 years younger than A), curiosity and deep understanding, and I preferred to work with A than with B hands down. For example, B was perfectly willing to accept rules of thumb as a universal truths "because I was told it was good practice", without even trying to understand why, while A liked to know _why_ it was a good practice.
So – as you yourself noticed – how you acquire knowledge is not _that_ important. IMHO the most important advantage of having a formal CS education is that your knowledge is more likely (but not guaranteed!) to be much more comprehensive. That advantage can be offset by curiosity, willing to learn, some healthy skepticism and age. And yes, I think that young age – as in, lack of general life experience – can be a disadvantage. B was willing to accept even stupid tasks at face value and just code his way through them (and then tear the code apart because it had some fundamental design problem). A, as a more mature person, instinctively (or maybe even consciously) saw when a task did not fit the business needs and sometimes was able to find another solution which was for example simpler/easier to code and at the same time satisfied the actual needs of the customer better.
- What??? Do I have to set something in Magit for that to work?
That would be one of the coolest news in weeks!
- This is exactly what Org mode's repeaters can do: https://orgmode.org/manual/Repeated-tasks.html .
- Which package?
- I was obviously joking, but it's nice to know that you treat this seriously.