HNHacker News
TopNewBestAskShowJobs

cjvirtucio

74 karma · joined September 27, 2016

submissionscomments
cjvirtucio··on jq 1.7
my favorite tool; makes writing a bash fun for me.
cjvirtucio··on Pure Bash Bible (2018)
you could also just write as if you're writing go:

function main {

  if ! failing_cmd; then
    log "this fails!"
    return 1
  fi

  log "this won't log"
}

main

I only mention this because there are folks who don't like set -e.

cjvirtucio··on I Am Leaving
reddit and youtube were my last remaining social platforms. quit reddit because of the API changes. might be quitting youtube, as well, because of the ads. and then there'll be nothing left for me to spend time on except code and family.
cjvirtucio··on Comprehensive Rust: course used by the Android team at Google
most fun I've had with a programming language in years
cjvirtucio··on Ask HN: Programs that saved you 100 hours? (2022 edition)
good ole find, grep, sed, and jq.
cjvirtucio··on Vim After 15 Years (2017)
the main thing that allows me to be productive with "only" vim is, funnily enough, things outside vim: bash knowledge. search, for instance, I can usually do in flexible ways with a pipeline of commands.
cjvirtucio··on Google is shutting down Stadia
I wouldn't mind this, honestly. a game can be solid even on an old engine. just look at how long the Monster Hunter series had been on their old engine before overhauling with World.
cjvirtucio··on Advanced Bash-Scripting Guide (2014)
it's so much easier to glue tools together with it. I'd end up writing more code if I had used python's subprocess package or ruby's IO package. as long as I don't need a complex data structure of some sort.
cjvirtucio··on You can read my blog posts using curl
huh. TIL, that's pretty cool. guess I know what I'm doing next weekend..
cjvirtucio··on You can read my blog posts using curl
would've liked something like this on hugo
cjvirtucio··on Lessons learned from the recent job hunt
>Knowing that I had two offers, and that I had gone through a very long process with them and having received an offer, I knew that I was a candidate they'd like to hire. This is the perfect time to get that extra worth, as you hold a lot of the chips, especially with two offers.

This has always been really hard for me to do, particularly if I actually am happy with the offer. It could be imposter syndrome, where I often feel like I don't "deserve" it.

cjvirtucio··on .NET Myths Dispelled
I've worked with .NET in the past few years and I've been pretty happy with it. The syntactic sugar is great, and it seems like we get interesting new features every release. My favorite from .NET 6.0 has to be the integration of dotnet-format as a subcommand. I regularly use vim so being able to format code without opening an IDE has been really helpful.
cjvirtucio··on Ask HN: Let's build Checkstyle for Bash?
Ansible has a linter. We do use it on our playbooks (locally and in CI). There's also a framework for testing and linting ansible plugins (ansible-test IIRC), though that's been a little painful for us to setup.

That said, we do have a lot of helper scripts that we use in our day-to-day (local development). They're not "large bash scripts", but they're small enough that we don't really need a proper programming language. Some degree of code quality with style guides and shellcheck does help.

cjvirtucio··on When I do TDD and when I don’t
I find tests more helpful when the implementation is stable. It's a little tedious to re-write test cases as unknowns come up.
cjvirtucio··on Bash patterns I use weekly
and on the off-chance that `stuff` must be a space-separated string for w/e reason:

  IFS=' ' read -ra routes <<<"${stuff}"
  for route in "${routes[@]}"; do
    curl localhost:8080/"$route"
  done
cjvirtucio··on Useful sed scripts and patterns
I'm annoyed at how sed has --regexp-extended, while grep has `--extended-regexp`. I'm sure there's a reason for it, but it always makes me stop and think which command has which flag.
cjvirtucio··on WSL2 can now mount Linux ext4 disks directly
Some companies only support OSX or Windows workstations, in which case WSL helps (for the latter scenario).
cjvirtucio··on Why don't tech companies pay their engineers to stay?
This approach reminds me of the DevOps practice of breaking down information silos: make everyone learn a little bit of everything so that no one becomes a risk.
cjvirtucio··on If someone’s having to read your docs, it’s not “simple”
It's gotten to a point where if I run into an issue, my first instinct is to go to the source code instead of the docs.
cjvirtucio··on Programming is hard
There's a tangible benefit to programming, e.g. I just automated this process and now it runs daily and I don't have to worry about it anymore for the 99% case.

I can't get that with a rubik's cube.

cjvirtucio··on CUPID – the back story
pylint irritates me a bit for this. I already created an abstraction, and I'm using the abstraction in a few places, but pylint doesn't like that and says it's duplicate code.
cjvirtucio··on Write libraries instead of services, where possible
unipdf for golang is another example.
cjvirtucio··on Ask HN: Do you think Agile/Scrum is beneficial for software delivery?
I agree with this.. I've personally been more effective in an async communication type of approach. Communication over email, slack messages, ticket comments.. just leave a comment on my ticket, give me time to ponder on it, then I'll respond. If there's anything mission critical that really requires everyone to sit down in a room together, then we can schedule a meeting.

I accept that not everyone's like me, though.

cjvirtucio··on We are building a CLI first PaaS without a web frontend
I typically write bash wrappers in situations like that. You could also write in a real programming language that shells out to the CLI tool if it gets too complicated.. even better if there's a library that does away with the need of shelling out.
cjvirtucio··on Ask HN: What did you do to improve your company?
Fully automated a process that I had zero domain knowledge on.
cjvirtucio··on The Case Against OOP Is Wildly Overstated
I have difficulty maintaining a stance in the OOP vs. FP debate. Like, all I see in my day-to-day is OOP, so I know what good, production-ready OOP looks like, but I've never an equivalent for FP. Would be nice to see a before/after article, i.e. an OOP app refactored into FP, talking about why the latter is better.
cjvirtucio··on 'Street Fighter II' Wasn’t Just a Game, It Was a Portal
She could literally execute the piledriver with a flick of a finger!
cjvirtucio··on How many of you know that the team is working on something that no-one wants?
What happens when one is working on something that is neither of the two things in your last sentence?
cjvirtucio··on Programming Inside a Container
Agreed.. there's ways to have a "pristine" environment on the host machine, anyway. Our team uses ansible.
cjvirtucio··on When will Google shut down Stadia?
Inbox was good.

And then they killed it for no reason.

Page 1 of 2Next →