I've been messing around with my workflow and trying different code
editors. I know IntelliJ kinda has a bad rap and often feels slow
compared the everything else out there, but it has 2 features that I
think are under appreciated.
-
Language Injection. You can sort of do this in VSCode, but you have to add an
html
tag to your string. IntelliJ just automatically
figures it out, highlights it properly, and even Emmet works. Magic.
-
Running tests with the click of a button in the gutter. In IntelliJ, it's very convenient, and I don't think I even had
to set anything up to make it work. It just configured itself like
magic. I haven't found running individual tests (let alone debugging
them) a pleasant experience in any other editor.
I'm currently trying out Vim full-time, but IntelliJ has a lot going
for it. Most editors have way too much going on, especially IntelliJ.
That's what I like about Vim, I can keep it light and add just what I
need.
But I'm always looking at others and seeing what fits me best. I own
and like
Nova, but it still feels immature and doesn't have a thriving extensions
ecosystem.
Fleet
looks interesting, but have to wait to actually try it. VSCode has
good extensions and is pretty fast. But I just don't like how it looks
🤷🏻‍♂️. Xcode is necessary when working on iOS or macOS apps, but it works
well for what it does, and I've been quite impressed with the Xcode 14
betas.
So TL;DR, IntelliJ is kinda slow and doesn't look great, but has great
features. Seems to be that the faster something is, the more fiddly it
is. For the most part, IntelliJ just works out of the box.
Over the years, I think I've tried pretty much every note taking app
there is. I've tried using Apple Notes, Evernote, GoodNotes,
Notability, Bear, Drafts, Agenda, OneNote, Notion, Nebo, Craft,
Obsidian, and many others. They all have one thing in common—they
don't stick with me. Putting notes into an app felt like throwing them
away. The other day, it hit me why.
The past month or so, I've switched back to taking notes on paper. The
other day, I needed to find a note again. I didn't know exactly what I
was looking for, but I knew where I had written it. So I
quickly flipped through my papers and found it. That's when I realized
what the disconnect between me and digital notes is—space.
I don't know the proper terminology, but my brain works in a very
spacial way. I'm not good at memorizing facts and figures, but I'm
pretty good at remembering where I read those facts and figures. When
I was a kid, my family would play this game where they would start
reading a Calvin & Hobbes comic and see how long it take
me to know what the rest of the strip was. I usually knew which one
they were reading before they finished the first panel. I could do
this because I could visualize where the comic was on the page, and
then remember the drawings, and then the dialog.
When I write notes by hand, rather than remembering what I wrote, my
brain seems to store x, y, z coordinates of the information instead.
And this is what breaks for me when using note taking apps. Apps
change size, causing information to reflow and change position. And, a
big one for me, apps do not have physical depth. A book or notebook
has depth to it. When I write something down in a notebook, that note
is not going to move on me. I can remember it's position relative to other things pretty well.
Just use search you say. Yeah. I probably should. But most of the
time, I just don't know the specifics of what I'm looking for, or my
notes are too inconsistent to make search that useful. I just kinda
have a hard time searching for specific things. I'm much better at
searching by browsing, if that makes any sense. Hard for me to
explain, but feels like my brain works more in vague concepts than
concrete ones, which makes it hard to know what to search for. But,
those vague concepts are connected to those x, y, z coordinates, and
that's how I find things. Like I don't know that I'm looking for a
note about "ice cream" but am looking for "food that
tastes good." Clear as mud?
Anyway, I get more value from having my notes in physical books than
having them on my computer's filesystem. For the most part, I'm giving
up on note taking apps. I'm done with trying to dump everything into
them, linking, backlinking, organizing, and all that. I think these
apps still have their place, and now that I think I know what's going
on and how my brain works, I'm excited to explore more how these apps
can fit into my life. But for the foreseeable future, most of my notes
are going into my notebooks.
I really enjoyed
this post from Dave Rupert.
I like what Dave said:
Demos improve meetings. I’ve found “Demo First” meetings are
life-giving because they start with something tangible, as opposed
to discussing some hypothetical future scenario until time runs out
and you have to schedule more meetings. Start meetings by showing
progress. Better yet, a demo doesn’t always need to be a call or a
meeting; thirty second screencasts are as good as gold.
When I'm working with our designer, I love to make quick little screen
recordings and send them their way to make sure I'm on the right
track. It's a good way to get out of the "hypothetical"
realm.
But, not all my tasks work so closely with our designer. I need to be
better at demoing what I'm working on as I go instead of putting my
head down for a week or 2 and throwing it over to QA, hoping it's
okay. Demos are great. They always spark conversation and ideas.
SwiftUI added a pretty cool new property to Color
to
easily create subtle gradients.
Rectangle().fill(.blue.gradient)
Now, all colors, even custom colors, come with a standard gradient.
The problem is that the gradients all go top to bottom. I submitted
feedback to allow changing the direction, but, turns out, there's
already a way! You can use new ShapeStyle
functions to
create gradients using a color's standard gradient. For example:
Text("Hello, World!")
.foregroundStyle(.linearGradient(Color.orange.gradient, startPoint: .leading, endPoint: .trailing))
Rectangle()
.fill(.radialGradient(Color.cyan.gradient, center: .center, startRadius: 0, endRadius: 500))
I like the new standard gradients. They even work with custom colors,
like
Color(red: 91/255, green: 140/255, blue: 90/255).gradient
. And I'm glad you can derive new gradients from them with
ShapeStyle
—adds a lot more possibilities.