Thursday, 24 July 2025

IntelliJ might be evil


  • Very good
    • Generally, it's very good - the refactoring etc - even if Kotlin's refactoring could usefully be beefed up with 'extract extension function' and 'move method to other class. 
  • Evil:
    • IntelliJ is rife with modal dialogues
    • They pop up tiled panels, but completely fail to flash them or otherwise draw the eye to them, so you can be trying to do something repeatedly and cursing at it, not noticing the quiet little panel in your peripheral vision because you're looking at something at the top of the frame.
    • The terminal emulator is tantalisingly function enough to use, but rubbish in so many gotchyas.
  • I always lose how to set the colour of the line numbers in the gutter.
    • It's something that's apparently only available once you save a customised Colour Scheme.
      • Or maybe not. Try without saving first. 
    • Preferences > Editor > Colour Scheme > General > Scheme: [Whatever...] (cog-menu) > Duplicate Theme
      • Under the non-default Colour Scheme > General > Code > Line number and Line number on caret line

Wednesday, 18 June 2025

Docker has evil

Here's something I chased around for an hour or so.

You get the minimal version: 

% cat Dockerfile
ARG THANG=zero
FROM alpine
ARG THING=one
RUN export THING=two && echo ${THING?} && echo ${THANG?}
% docker build --no-cache --progress=plain .

 

Account for the weirdnesses in the output. Here's a non-spoilery except:

------
 > [2/2] RUN export THING=two && echo one && echo ${THANG?}:
0.072 two
0.072 /bin/sh: THANG: parameter not set
------