HN user

jugjug

125 karma

building custom stuff for companies, now with clojure and eventstorming

https://www.marcel.is

Posts29
Comments47
View on HN
twitter.com 3y ago

One of my dilemmas is whether to challenge the given requirements or not

jugjug
1pts0
marcel.is 4y ago

More Control with Idempotency

jugjug
1pts0
marcel.is 4y ago

Tackling Confusion with Spreadsheet Tables

jugjug
1pts0
marcel.is 4y ago

Lessons-learned from a 6-month TypeScript/AWS Lambda project

jugjug
3pts0
mindingourway.com 5y ago

Half-assing it with everything you've got (2015)

jugjug
2pts0
marcel.is 5y ago

I'm Glad for Using 1Password

jugjug
4pts0
marcel.is 5y ago

Embarrassingly Simple Proof of Concepts

jugjug
1pts0
marcel.is 5y ago

Everyday Decision Making

jugjug
1pts0
marcel.is 5y ago

The curious case of if-not

jugjug
2pts2
marcel.is 5y ago

To Buy or to Build?

jugjug
1pts0
marcel.is 5y ago

Honest Function Inputs

jugjug
2pts0
marcel.is 5y ago

What slows us down when building software?

jugjug
2pts0
marcel.is 5y ago

We Think in Conceptual Metaphors

jugjug
2pts0
marcel.is 5y ago

Clean code: can we learn from altruism and evolution?

jugjug
1pts0
marcel.is 5y ago

Does your codebase feel easier to sustain each year?

jugjug
2pts1
marcel.is 5y ago

Exploring my writing: The subjects of sentences

jugjug
1pts0
marcel.is 5y ago

Hedging in Writing

jugjug
2pts0
marcel.is 5y ago

Writing Without Hedging

jugjug
2pts0
marcel.is 5y ago

Managing dotfiles with a bare Git repo

jugjug
2pts0
marcel.is 5y ago

Adding domain knowledge to code comments

jugjug
1pts0
www.marcel.is 5y ago

Drawings for technical explanations: my first steps

jugjug
2pts0
www.marcel.is 7y ago

Tips on building a data analytics warehouse

jugjug
1pts0
www.marcel.is 7y ago

Taking Things Personally

jugjug
1pts0
www.marcel.is 7y ago

On Software Tooling

jugjug
113pts35
www.marcel.is 7y ago

Which task do you resent the most today?

jugjug
1pts0
news.ycombinator.com 8y ago

Ask HN: Service for proof-reading software-engineering texts

jugjug
1pts0
news.ycombinator.com 9y ago

Ask HN: Which SaaS for simple plain-text newsletters?

jugjug
3pts0
blog.baremetrics.com 9y ago

Getting out of the startup rat race

jugjug
5pts2
www.wired.com 9y ago

Tesla Is Snatching Apple’s Stars to Make Itself the New Apple

jugjug
3pts0

I've been thinking about this, but I don't really know. The podcast is a lot of Clojure, which by itself might be an interesting language to learn. Some people report that learning Clojure was different than other languages, eg Uncle Bob, Gene Kim (see "Love Letter to Clojure") or I think even Paul Graham.

Maybe the Effectively Isolated Serie might be interesting (ep 021-027). Oh, and Cooking Up Composition, about composing functions (ep 093-098).

Lately, I have been struck by pragmatism of approaches discussed in https://clojuredesign.club/

For example, one can start separating pure functions from side-effects, aiming for aggressively minimal side-effecting functions. Applying this approach to calling REST APIs, one would first create a full request (including the http method, body, headers, etc) in a pure function, and only then send that request to the wire. With such a split, one can easily unit-test the request construction (it's a pure fn), and also explore the request.

It was mind-bending to me when I first heard it. The podcast is full of such approaches and it seems that Chris and Nate, the hosts, have quite some battle scars to source from.

Reminds on Rich Hickey ranting about touch screens in cars [1] in Design in Practice:

We do not have feature X" is never a valid problem statement. If you need proof of this you only need to look at a modern car which has a touch screen where no one said, "I need to slide my finger on some random piece of glass to a precise point to set my blower in my car while I am driving." No one has ever said that, right? But somebody did say, "We need touch screens because young people will never buy our cars." This is what happens when you are not talking about the problem.

[1] https://youtu.be/c5QF2HjHLSE?si=M6apr6fG_YaIDOpj&t=1826

I worked shortly for an airline, breathing carosine weekly, and so then switched back to EV charge-points and solar. I am not sure if it makes real impact, but I feel subjectively better and find more satisfaction on every day basis.

I started as a full-time employee, now I work remotely as a freelancer/contractor.

I am pretty glad for the switch. The type of work I do (data engineering, tech leadership) is quite similar to the airline business; but in the clean-tech side.

For finding a job, maybe remote job listing sites might help [1], or then clean-tech related job sites.

[1] https://twitter.com/insharamin/status/1554160501550358528

PostgREST 9.0 5 years ago

As far as I know, AppSync doesnt provide GraphQL resolver on top of an RDS out of the box, one needs to write these resolvers by hand.

Or am I missing something?

For technical things where I'm a newbie, I'm trying to learn-in-public [1]. I write a TIL usually at the end of the day, it typically goes quickly.

In those cases where the matter is private (maybe 1/4 of all), I attempt to document it in company's knowledge base or at least share it in the company chat.

All other things go to my personal Obsidian.

[1] https://marcel.is/tils/

I use two complementing strategies:

- Developing empathy towards myself first, that is, being able to observe feelings that arise within me and then being able to accept these feelings as they are. I have found this to be very relieving. A technique that helped me was meditation; training the mind like a muscle to be able to observe & recognize feelings.

- Turning this outwards to others, the works of Marshall Rosenberg on the NonViolent Communiction (NVC) [1] had a profound impact on my perception of feelings of others. I'm trying to follow the essence of the book, rather than copying the phrases outlined there. I'm seeing more and more that NVC can be applied to business as well as personal relationships [2]

Applying these to your example, it might be interesting to explore what do you _feel_ when the other person just wants you to listen. What is it that you _need_ out of the relationship and what is it that the _other_ side needs [3]?

[1] https://www.goodreads.com/book/show/71730.Nonviolent_Communi...

[2] https://marcel.is/contractor-didnt-deliver/

[3] https://marcel.is/conflict-resolution/

I love fzf as well. I use it with the npm package manager to select the script to run (we have an app with 20+ scripts):

    npmrf () {
        local script
        script=$(cat package.json | jq -r '.scripts | keys[] ' | sort | fzf)  && npm run $script
    }
Another usecase is tracking hours with Clockify. I was frustrated opening up the web everytime, so I wrote a script using fzf, httpie and jq. Love it now. [1]

[1] https://marcel.is/tracking-hours/

To add to suggestions of others, the SQL Antipatterns was also an insigtful read about basic pitfalls of db design.

I have also found first chapters from Designing Data Intensive Applications helpful to get context around sql/nosql dbs.

This, exactly. Perhaps counterintuitively, having less time enables me to do more.

Also, I stopped doing optimizations & just try to deliver the basics. I realized a lot of time was eaten by optimizations, while other, more important things, were not even done.

I focus at least one third of my learning time on things that dont change, such as principles behind Hickey’s Simple Made Easy, Hamming’s You & Your Research, Brooks’ Mythical Man Month, functional programming, and technical things like SQL, shell.

New tech is a often a container around those, making it easy to grasp it.

Also, new tech also dont have such community & ecosystem around it as older tech, so I keep it on the radar, but dont use in production immediately. Focusing on boring technology, with a spark of novelty where needed.

This. Less flying, less buying, less meet, less consumerism, more local & seasonal food. No need to go full 100%: it would be enough if critical mass reaches a good-enough level.

I develop a system to monitor energy production of solar panels. Before I helped build a system to manage large number of EV charge points. There is some web frontend, but most of the work is in the IoT communication, scaling, and insights into many kinds of malfunctions.

Yes, but I optimize death-bed regret at this point, when I am alive. Let's say I regret how I behaved to a certain person in the past. When I wholeheartedly apologize and truly regret it, I see the death-bed regret be lower for all days afterwards.

It's like via-negativa for hapinnes [1]: being more happy by removing things that makes me unhappy.

[1] Nassim Taleb - Antifragile

Death-bed regret.

I keep finding surprising consequences of such utility function: balancing daily energy, resting, active work towards higher purpose, enjoying time with friends, calling my parents, helping others, resolving relationship conflicts structurally, long-term investing and financial stability, more courage in general.

A huge fan of Tactical 5.11 Rush72 [1] here. My favorite features:

- large in volume (55L), yet I can board a plane with it

- side pockets can be easily opened even if the main compartment is fully packed

- easily accessible and large front admin panel

- waist straps can be folded and hidden inside the bag

- the zip around the main compartment goes around all three sides, which allows very easy access for packing, unpacking or activities like having a picnic

- space between admin panel and the main compartment allows for extra external storage. for example, today I was carrying a small carpet bought in IKEA in there.

- wide straps which feel comfortable also with heavier loads

- looks ok also in a city, especially darker versions

- plenty of internal pockets everywhere

- dedicated back pocket for a laptop.

The only downside is that I'm not sure if a 15" laptop would fit into the back pocket. I'm using a 13" laptop and it fits. However, the backpack is so feature-rich that it's ok for me to put the potential 15" laptop to the main compartment - there's a half-pocket that can be used for that purpose.

All in all, this is by far the best backpack I have ever used.

[1] https://www.511tactical.com/rush-72-backpack.html