Earlier quoted context omitted.
What does double quotes dollar do in the command?
$i is the variable i declared in the for loop. Quotes just wraps it, so that it's (somewhat) safe if the file has a space in the name
Ask HN: What overlooked class of tools should a self-taught programmer look into
321–330 of 416 posts
Re: Ask HN: What overlooked class of tools should a self-taught programmer look into
#322Re: Ask HN: What overlooked class of tools should a self-taught programmer look into
#323Honestly 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.
I also use magit (https://magit.vc/) - inside spacemacs (http://spacemacs.org/)
Re: Ask HN: What overlooked class of tools should a self-taught programmer look into
#324Your IDE, its refactoring tools, but especially its debugger. VSCode or PyCharm (assuming you are still a Python developer) could be a good place to start. I'm always surprised when I see professional developers coding in Sublime Text and debugging with print statements (or their equivalent). Usually you have better options than that, especially for statically-typed languages - but even for JS and Python.
Re: Ask HN: What overlooked class of tools should a self-taught programmer look into
#325Earlier quoted context omitted.
I don't know. Since git uses content-based addressing, you can't actually alter any commit, only create new ones. And orphaned commits don't get garbage collected for like 30 days even if you explicitly tell git to clean things up. So, the original stuff will still be there. It might just not be obvious how to access it. Part of the commit is the reference to zero or more parent commit object ids. So, if you find the…
Here is an example of how to create a problem. You rebase your private branch off of a shared master and pull in other people's commits. Someone else pushes out their rebased version using force. More commits are made on top of the other people's commits, including reversing some bad commits. You try to rebase off of the shared master. In your last rebase, you are trying to replay all of the commits in your history t…
Re: Ask HN: What overlooked class of tools should a self-taught programmer look into
#326Earlier quoted context omitted.
Let me second this. And in particular, I strongly encourage every developer to try starting a new project in a test-driven fashion (by which I mean that you advance the code by writing a bit of test and making it pass, and then doing that over and over.) There's a qualitative difference between working in a well-tested code base that's very hard to describe convincingly. A lot of my early development experience was i…
Unit tests can give you false positives (test failed but code is correct) and false negatives (test passed but code failed). And TDD seems to create so many tests that you get huge false positive rates. I recently jumped on a project and I made a couple of fairly small code changes (a couple of hours) which caused 100 tests to fail. I then spent the next two days going through and correcting all 100 tests none of whi…
Re: Ask HN: What overlooked class of tools should a self-taught programmer look into
#327Read the curriculum of an undergraduate computer science course and read up on the things you haven't heard of. Some courses will even have lecture notes available. E.g. these four pages are the university of Cambridge masters in computer science: https://www.cl.cam.ac.uk/teaching/1819/part1a-75.html https://www.cl.cam.ac.uk/teaching/1819/part1b-75.html https://www.cl.cam.ac.uk/teaching/1819/part2-75.html https://www…
FWIW, I've found many undergraduate computer science courses to lag behind on tooling, so take the recommendations they have with a grain of salt.
Re: Ask HN: What overlooked class of tools should a self-taught programmer look into
#328Makefiles. 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…
Re: Ask HN: What overlooked class of tools should a self-taught programmer look into
#329Re: Ask HN: What overlooked class of tools should a self-taught programmer look into
#330Earlier quoted context omitted.
Snakemake is a quite nice improvement on make for data munging stuff.
Wow I've never seen such bloated python project before. It has 10 dependancies with 2 additional optional dependancies and the introduction/tutorial is absurdly overspecific. The first example they use to describe the tool is: > Cufflinks is a tool to assemble transcripts, calculate abundance and conduct a differential expression analysis on RNA-Seq data. his example shows how to create a typical Cufflinks workflow w…