News for hackers. Stuff that matters.

RadiantSecurity

Re:How to Succeed as a Poor Programmer on Monday September 30, 2019 @12:01AM (#21111686)
There are plenty of environments where deviating from spec (even when fixing an apparently trivial bug) would not be ok without assessing the situation for potential unintended behaviors.

High-risk systems where a software bug could result in loss of life - aviation, submarine tech, defense, medical etc. Edit: This is for throwing exceptions on undefined behavior.

For unlimited threads I imagine scenarios exist particularly when scalable computing is so popular. Large high traffic web stores such as Amazon/Ebay, financial institutions, etc. Either way, the problem shouldn't be solved by an individual developer on a project making things up as they go - its a problem that probably needs to be defined at a framework layer, and discussed within the team of developers and requirements definers.

Re:How to Succeed as a Poor Programmer on Sunday September 29, 2019 @10:55PM (#21111401)
> Poor programmers do things like allowing an incoming request to spin up unlimited concurrent threads. Poor programmers erroneously throw exceptions on any operational deviation - even it if can be handled without error.

All of these examples make sense in the context of your business, but in some environments these might be best practice ;)

Re:Linux Terminal Goods on Thursday September 19, 2019 @09:52AM (#21016144)
I had issues with urxvt and ended up moving to Kitty (https://github.com/kovidgoyal/kitty). I'm not impressed with its' autoupdate feature, but it can be disabled. Apart from that a few visual bugs which are probably to do with nvidia the terminal is great. The best feature? Emojis render flawlessly.

I had a proof of concept, but hackernews doesn't support emojis :'(

Re:Linux Terminal Goods on Thursday September 19, 2019 @09:50AM (#21016118)
Thats cool! I'm not sure where it comes from, but I get similar behavior in zsh with 'cd ....' - similar doesn't happen in bash though.

I mapped 'cd' to 'c' in my bashrc, but while doing it I also mapped 'c' to execute 'ls' as the latter was basically muscle memory whenever I was using cd. The .bashrc function looks like this:

c() { builtin cd "$@" && ls; }

Re:Linux Terminal Goods on Thursday September 19, 2019 @06:33AM (#21014967)
I spend loads of time in a shell. One day I'll push my full dotfiles publicly, but until then here's a few snippets I've found super handy. I'd advise against using them verbatim but there's a few things in there that took some time to figure out. Beware they can be somewhat buggy / break things though.

Highlights include:

- Bind C-c/C-v to Copy/Paste, bind C-g to sigterm (Note: Breaks docker interactive unless you mount bashrc into /etc/bashrc or similar!)

- Autorun tmux on SSH session

- Syntax/colour highlighting in zsh interactive, I think there's some diff/less/man magic in there too!

- Log all shell activity to .shell_logs (Be _super_ careful with this one, breaking it could prevent you opening an interactive shell

- Useful grep defaults, particularly relevant when using .shell_logs

Bashrc: https://gist.github.com/YoloClin/f4c82a6e693000a2da20e8029a4...

Zshrc: https://gist.github.com/YoloClin/ffd82f441d292ccc5f25c62a80c...

One thing I've lost love for is Powerline9k - Right-aligned data breaks copy/paste functionality, and patching fonts to get UI-arrows is fiddly for little functional value. If I ever need to fiddle with that stuff again, I'll configure a regular theme to do similar and go without the UI-arrow breaks.

I was considering hiding history-relevant log data (such as current system time) to behind a carriage return, something like PS1="$(date)\r$PS1".

I'm interested in hearing others' cool, non-standard hacks!