Tar doesn't use any sort of index like zip does, so to extract the specified file the server side would need to parse through possibly the entire file just to see if the requested file is there, and then start streaming it. Requests for files that aren't in the tar archive would be prohibitively expensive.
There are definitely ways to do it without those problems, though. They just wouldn't be quite as simple as the approach done for supporting zip.
I haven't used hg enough to have an opinion on it, despite several attempts... Problem is I learn bottom up, and I just haven't been able to "think in mercurial" the way I can "think in git".
I find it interesting that what git calls a commit is actually a revision (or checkpoint, snapshot, point-in-time) and what mercurial calls a revision is actually a commit (or patch, delta, changeset).
I think a lot of people think in terms of patches/changesets and I suspect (still haven't gotten far enough to confirm) hg is a toolbox for managing them in a similar way to how git is a toolbox for manipulating its snapshot based DAG.
If you're using rebase there's the `--committer-date-is-author-date` and `--ignore-date` flags. One uses the author date for both and the other uses the commit date for both.
Without using either flag rebase should update the commit date and preserve the author date.
If by rebase you meant GitHub's rebase merge option I think you're out of luck :-/
Thank you for humoring me. I had to sleep on it, but I can see it now. Seems like it would require a really bad design or more likely bad actors (remotes leaving dead sockets open), but it would definitely be possible.
The same scenarios would lead to resource exhaustion if the thread pool wasn't bounded.
Are those really the only options? I'm trying to wrap my head around how using a fixed size thread pool for I/O automatically implies deadlocks but I just can't. Unless the threads block on completion until their results are consumed instead of just notifying and then taking the next task..
I can definitely imagine blocking happening while waiting for a worker to be available, though. Did you mean simply blocking instead of deadlock?
I really wanted something like this when embedding serial numbers and keys in ROMs. At the time I was mostly working in C and PHP, so I was imagining something closer to a template language, but something like this would have given me a good intermediate step where I could have used PHP to render this text format and then ran that to produce the necessary bits on disk.
More like encouraging the creators of IKEA furniture assembly instructions to read lots of other instructions so that they can get better at writing instructions.
An analogy for improving one's ability to assemble IKEA furniture, using this pattern, would be to watch others assemble all types of furniture in order to improve your own abilities. Wouldn't it?
One of the benefits listed in the manifesto (and often touted elsewhere) is that you are not limited to a specific region when hiring.
Unfortunately, what this means for candidates is they may have to compete with a LOT more people.
Another challenge you're likely facing is that a lot of companies are only willing to hire senior developers to work remotely because hesitant upper management thinks they will be more trustworthy (completely ignoring the level of trust inherent in having someone write code for them when they themselves can't even verify it).
That negativity aside, here's some advice: As much as there is some backlash around the idea of a GitHub profile being mandatory, one VERY practical use of an open source portfolio of some kind is that almost all open source project work is done remotely using the very same skills required for successful remote employment. This applies even more so to non-programming contributions, in my opinion, which means you don't even need to contribute code to demonstrate these skills.
I've been full-time remote for just shy of 5 years and timezones is definitely an issue. Up to 4 hour difference is sustainable indefinitely, 8 hours can be with the right people (doing split days is great for this), but beyond 8 hours and the amount of effort required for synchronous communication (video calls) causes it to not happen and the team loses cohesion.
You need the synchronous communication to have non-work conversations, and you need those non-work conversations to develop and maintain the relationships required (trust, rapport, etc.) for remote work.
> if your organization ever becomes big enough to warrant a physical office
...then you probably don't have enough buy-in to be a fully remote company and that is far harder to work around than timezones.
I asked someone when I saw them doing similar things. They adopted the style after reading Google's style guide for shell scripts. Not sure if that's where this author got it from, but it's one possible source.
There are definitely ways to do it without those problems, though. They just wouldn't be quite as simple as the approach done for supporting zip.