GDB for C / compiled languages XDEBUG for PHP etc
The actual act of stepping through your code and looking at the values, datatypes and their transitions massively increases your productivity if something is tricky!
281–290 of 416 posts
GDB for C / compiled languages XDEBUG for PHP etc
The actual act of stepping through your code and looking at the values, datatypes and their transitions massively increases your productivity if something is tricky!
Honestly I still find a lot of engineers don't know git properly. Like they know enough to commit and push but that's about it. It really helps to understand everything git has to offer.
The three most important basic git operations to know (in my opinion) git checkout -b git log git rebase -i
git pull
git clone
git status
git commit -a
git push
git diff
I mean, the ones you mentioned are pretty useful, but if you don't have a repo in the first place, even git-log isn't going to be very useful; and if you're branching and rebasing, you probably have to commit first.(I actually prefer Magit, to the point where I sometimes run Emacs just for Magit when I'm using a different IDE.)
Earlier quoted context omitted.
>Most popular folder on Windows is "My documents" Not really... not since XP, anyway. Unless you have a space in your username (which is a terrible idea for many other reasons), your "Documents" path is C:\Users\JohnSmith\Documents. "Program Files" is pretty much the only important path which is likely to have spaces, and your makefiles (hopefully!) don't need to touch that.
On Windows, it's not up to me to decide where users will keep my stuff, and where it will work. Users decide. For a software to work fine on Windows, it must support spaces in files and paths. Also Unicode in files and paths. VBScript does, GNU Make doesn't. > which is a terrible idea for many other reasons If you use make to setup stuff, it's very possible you'll need to access "c:\Users\All Users" which does contai…
DOCUME~1 Documents
or
ALLUSE~1 All Users [C:\ProgramData]
Earlier quoted context omitted.
The three most important basic git operations to know (in my opinion) git checkout -b git log git rebase -i
I know you're probably just trolling but I'll take the bait — I'd put all of these six before any of those three: git pull git clone git status git commit -a git push git diff I mean, the ones you mentioned are pretty useful, but if you don't have a repo in the first place, even git-log isn't going to be very useful; and if you're branching and rebasing, you probably have to commit first. (I actually prefer Magit, to…
The comment I replied to says:
> Like they know enough to commit and push but that's about it.
In that vein, I was suggesting what I consider to be the most basic git commands outside of the "clone, commit, push" workflow.
Earlier quoted context omitted.
I think the parent's using Excel essentially to do repeated template expansion: e.g. for a given set of member variable names ([a, b, c...]), give me the assignment statements I'd need to use those in a constructor. Which I could do pretty trivially in Excel... but could also do trivially in about two lines of Python: vars = ["a", "b", "c"] statements = ["this.{0} = x.{0}".format(var) for var in vars] print(statement…
Those can often be done in a decent text editor with regexp-like search and replace.
Earlier quoted context omitted.
> the single-biggest booster for me as a practitioner. Can you instantiate this claim with an example? I'm somewhat knowledgable in both math and computer science theory but have yet to feel as though my math background has helped me in practical CS.
About 3-4 years ago I was working on an open source cloud platform for a company deploying a public cloud. There was a particular error that sometimes happened in our production environment where a rebooted VM would come up but couldn't connect to the network. We tracked it down to a race between two services in the data plane. It turns out the VM controller wouldn't wait for the network controller to unplug a virtua…
So to me it seems that you could have gone straight to the lightweight coordination mechanism without the TLA+ model. And anyway, if there was a problem with the mutex, you could test that theory by doing additional logging or an experiment around the mutex functionality.
https://www.tecmint.com/strace-commands-for-troubleshooting-...
At the job I'm at, I've picked up three tools either for the first time, or in a very new way: 1. Makefiles. See @aequitas' comment for more. 2. Terraform. Seriously, just using this tool taught me [a lot of] devops. It's fantastic! 3. Docker (as a tool!) I'm going to go into the third one a bit - I feel like Docker is mostly thought of as useful for deploying things to the 'net (kubernetes, ECS, etc), but I think it…
I'm also occasionally using Docker t generate build artifacts (so +1 for that) - how do you pull the built blob out of the image? I've used `docker exec` plus `docker cp`, but it feels a little clunky.
Makefiles. I always dismissed them as a C compiler thing. Something that could never be useful for Python programming. But nowadays every project I create has a Makefile to bind together all task involved on that project. From bootstrapping the dev environment, running checks/test, starting a devserver, building releases and container images. Makefiles are just such a nice place to put scripts for these common tasks…
Did you know there is a protocol called CMIS [1] which you can use to query content from these systems? It's similar to a subset of SQL.
[1] https://en.wikipedia.org/wiki/Content_Management_Interoperab...