Hacker Newsnew | past | comments | ask | show | jobs | submit | jugjug's commentslogin

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.


I'm intrigued. Could you provide some pointers on where to start at https://clojuredesign.club?


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).


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


not mentioned here yet: small bet approach, popularized by Daniel Vassalo https://twitter.com/dvassallo


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


OP here. I draw them on a tablet. For more, see https://marcel.is/drawings-first-steps/


Thank you, that's amazing, I would love to get to this level!


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/


+1 on Obsidian I quite like the categorization on your site. Do you have a background in tech or are you coming from a different industry?


Love Obsidian as well, for about 1y now. I have a tech background, but typescript and aws serverless were new to me, so I decided to learn-in-public. Regarding categorization (and design), I was inspired by Julia's web: https://jvns.ca/


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/


Adding to this, there is a specific kind of meditation you could try called metta (aka loving-kindness) where you focus on cultivating benevolence towards yourself and all things. During a session you follow a similar sequence: first focus on cultivating loving-kindness towards yourself (since this is the base from where empathy grows) then you gradually extend it to people you love out to people who you have difficulty with. If mindfulness is an exercise to train your mind to observe itself, metta trains your mind to observe other minds.

Also second Rosenberg's book. It can come across as condescending if applied too heavily but it's a great analysis on language during conflict.


I would add that this can be extremely challenging (and possibly triggering) for people who had traumatic childhoods. In those cases it is best to start with loving compassion towards a beloved pet, for example — something simpler, that is not so emotionally charged.

Either way the metta instruction I’ve encountered has often failed because it failed to emphasize the sensation of emotion. It’s not lying there thinking about how much you love something. It’s thinking of the thing or person you love and trying to locate the specific sensation in your body, and then grow it.

Many people mistake ritual dissociation for meditation, which can be really really harmful.


Can confirm. Was very empathetic towards others.

Repeated tragedies, pain and abuse can make you lose most or even all empathy. Even as an adult.

I have some back now, but nothing like I used to be.

Someone at work was very sad the other day, and I actually felt a little bad for them. First time in several years I felt anything at all. Hopefully get more back.


I bet you will. Try to be kind to yourself as it happens. My experience is that it can be very painful — like when your leg falls asleep and then you suddenly get circulation back, but for emotions — but worth it.


Yes, learning NVC can really help in hearing where the other person is coming from. It's also useful for expressing yourself in a way that's least likely to trigger the other person. All of this takes practice, of course.

I've taught it to over 3000 Google employees as a 20% project over the past 7 years. I've also developed a team of volunteer facilitators who help people practice in weekly workshops. We're happy to talk about the program and answer questions on Clubhouse (currently Sunday afternoons at 1pm PT):

https://www.joinclubhouse.com/club/Compassion-in-Tech


Non violent communication seems so weird at first, and people think I never criticize... In the beginning. After a while, most of the people I work with openly recognize that they don't want to go back to the level of aggressiveness which is the norm in communication.


Big fan of nonviolent communication. It's a great framework for telling folks that you feel wronged by their behavior.


Be mindful of how far you go with this. If they have empathy they will feel bad. Some people absolutely will take advantage of this to control them.


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/


That's a great idea, thanks. Do you know how to get it to show the preview window with the script value? Sometimes I need to explore which script task I need based on what it does


You could do something like this (not super thoroughly tested):

  npmrf () {
    local script
    script=$(jq -r '.scripts | to_entries[] | "\(.key) => \(.value)"' < package.json | sort | fzf | cut -d' ' -f1) && npm run "$script"
  }

It uses jq's to_entries to pull out the script/command key pairs and then just cuts out the script name after you choose the command (assumes the command name doesn't have spaces).


Yeah, that would be nice. I don't know though from the top of my head.


OP here. Yeah, I should have made it clearer, thanks.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: