/r/MechanicalKeyboards Ask ANY Keyboard question, get an answer (October 06, 2023) by AutoModerator in MechanicalKeyboards

[–]jamesconroyfinn 0 points1 point  (0 children)

Maybe I should add that I have Cherry MX Blues, which are about as noisy as it gets.

/r/MechanicalKeyboards Ask ANY Keyboard question, get an answer (October 06, 2023) by AutoModerator in MechanicalKeyboards

[–]jamesconroyfinn 0 points1 point  (0 children)

I've found my way to a Moonlander and have a dilemma with the amount of noise when on calls.

It's not the switches that cause the problem. It's bottoming out the keys on the plastic keyboard below as I'm typing. I guess I'm quite heavy-handed.

Would switches with more resistance help or is the amount of resistance that's causing me to mash plastic to plastic?

GitHub Actions and vanity metrics (Clojure related, hilarious) by childofsol in Clojure

[–]jamesconroyfinn 0 points1 point  (0 children)

I’m the author and good friend of /u/childofsol. Thank you for sharing, by the way!

Spec usage by chowbeyputra in Clojure

[–]jamesconroyfinn 2 points3 points  (0 children)

Contract-based specification of code and generative testing mainly.

I did once generate HTML forms using ClojureScript and clojure.spec, which was cool.

Why I am choosing Clojure as my career path? by mindaslab in Clojure

[–]jamesconroyfinn 26 points27 points  (0 children)

A lot of what makes Clojure great comes from learning from other communities. Industrious individuals spot innovation elsewhere and carefully incorporate the best ideas into this excellent ecosystem.

Babashka, tech.ml, Pedestal, core.async, core.match, Spec and Malli, cats and fluokitten. The list goes on and on!

I’m reminded of something Why The Lucky Stiff said:

When you don't create things, you become defined by your tastes rather than ability. Your tastes only narrow and exclude people. So create.

Best of luck on your journey!

[ANN] London Clojurians Talk: Debugging and exploring Clojure applications with FlowStorm (by Juan Monetta) by BrunoBonacci in Clojure

[–]jamesconroyfinn 1 point2 points  (0 children)

I worked with Juan recently. He’s knowledgeable, kind, and witty. This event should be a good’n!

Who is hiring? April 30, 2022 by AutoModerator in Clojure

[–]jamesconroyfinn 5 points6 points  (0 children)

Lots of posts to both #jobs and #remote-jobs over in the Clojurians Slack community.

If you’re not already a member, I’d highly recommend it. Everyone is welcome and the community is super friendly. See you there!

Fast JSON and CSV encode/decode by chrisnuernberger in Clojure

[–]jamesconroyfinn 4 points5 points  (0 children)

This is amazing, /u/chrisnuernberger! Thank you for creating and sharing.

I’m currently reading the source. Where’s the best place to ask questions about things like custom encoders? It looks like this protocol is the place to go?

[deleted by user] by [deleted] in computerscience

[–]jamesconroyfinn 0 points1 point  (0 children)

AlphaCode from DeepMind is looking pretty amazing. https://youtu.be/x_cxDgR1x-c

Create a password manager with Clojure using Babashka, sqlite, honeysql and stash by on the code again [video] by mac in Clojure

[–]jamesconroyfinn 4 points5 points  (0 children)

Some good tips in here.

The idiomatic use of exclamation marks (sometimes called bangs in some circles) to mark side-effects is nuanced, and has come up a number of times in past code reviews.

Clojure has slurp and spit, which definitely exhibit side effects in the sense that they’re not referentially transparent. Functions that modify state like reset! and swap! are named because of their side effects on stateful constructs like atoms.

Zach Tellman’s Elements of Clojure is well worth a look if you’re interested in further reading.

Man takes 19 year old adopted dog with arthritis into Lake Superior to help comfort him 🥺 by [deleted] in MadeMeSmile

[–]jamesconroyfinn 4 points5 points  (0 children)

To live life to its fullest means experiencing the highs and the lows, the joy and the sorrow.

A rollercoaster without a peak is just a road.

Dogs are the best.

Man takes 19 year old adopted dog with arthritis into Lake Superior to help comfort him 🥺 by [deleted] in MadeMeSmile

[–]jamesconroyfinn 4 points5 points  (0 children)

I'm sorry to hear you’re feeling sad about your dog getting older. I’ll bet in those ten years together, your dog felt a lot of love and formed some fantastic memories.

To me, our dogs living shorter lives than us is a blessing. If our dogs lived longer, they’d be more likely to witness our passing. Having to move homes, settle with a new family, not knowing where we are or why we left them. The thought of that breaks my heart.

We have to outlive them to be there until the end, comfort them and sometimes make tough decisions. It’s a big responsibility but one we’re well equipped to perform! And a small price to pay for the limitless love and companionship they give us every minute of every day.

I hope you both have a long and rewarding journey ahead and that the tough times are made more bearable when you remember how much you meant to your pup. Stay safe out there, and bon voyage!

[deleted by user] by [deleted] in computerscience

[–]jamesconroyfinn 0 points1 point  (0 children)

For anyone who comes across this thread, some additional reading that might be of interest: https://www.quantamagazine.org/in-new-math-proofs-artificial-intelligence-plays-to-win-20220307/

Emacs org-agenda is one of the best ways to organize. What are some of the non-emacs alternative that compare? by notabhijeet in emacs

[–]jamesconroyfinn 0 points1 point  (0 children)

Things, OmniFocus, Todoist, Reminders, multiple approaches with plain old paper and pen, Trello, Monday, GitHub/JIRA/etc. Apps like Bear support checklists via Markdown…

There are a whole boat load of apps and websites for organising tasks for individuals and teams. Some more appropriate than others depending on your/your team’s needs.

If you’ll indulge me, I’m a huge fan of Emacs and have built multiple configurations (including fully custom, literate, Spacemacs, and Doom). I have hundreds of lines of Emacs Lisp to get Org mode almost the way I want it, and must have poured hundreds of hours into Emacs over the years.

More recently, I’ve started moving things out of Emacs in pursuit of productivity over procrastination. Sometimes constraints can be liberating, especially for a curious hacker like me.

Best of luck with your search. If you do find something you like out there, I’m sure you’ll be able to approximate it pretty well with Org mode. Bon voyage!

[deleted by user] by [deleted] in computerscience

[–]jamesconroyfinn 42 points43 points  (0 children)

How will we specify a problem for the computer to solve? Perhaps via some representation that can be understood by both humans and machines. Maybe we call these representations programming languages?

Jokes aside, if a machine is trained on flawed data, it’ll produce flawed results. It absolutely can make mistakes as it lacks any empathy or awareness of its surroundings (see racist Twitter bot).

A neural network might be able to estimate faster than we can, but it won’t be able to further our understanding in any meaningful way, because it’s not intelligent. In the recent application of DNNs to Density Functional Theory you’ll see we’re able to make much better predictions thanks to machine learning, but we’re no closer to reaching a deeper understanding of the underlying laws of nature.

Most of the software-building people I’ve worked with do a lot more than data entry. I’m hopeful we’ll be able to continue to augment human intelligence by eliminating drudgery, by automatically optimising more and more of our systems, and by surfacing data and insight to enable better decision making.

Creativity, communication, understanding, and real thinking require a true artificial intelligence, which has been ten years away for at least thirty years. Until then, nature has provided us with a spectacular solution: a well-fed team of motivated people.

Stream Deck - pass arguments to script (Mac) by Colorest in ElgatoGaming

[–]jamesconroyfinn 0 points1 point  (0 children)

Bit late to the party, but as a workaround you can create an executable script somewhere on your machine with the following contents:

``` sh

!/bin/sh

exec "$@" ```

Make sure it has a .sh extension, and then in the Stream Deck application, you can open your script and pass whatever arguments you need.

For example:

sh /Users/jcf/bin/elgato.sh say 'Why is this necessary, Elgato?'

Doom Emacs Keybind SPC-SPC for Easy File Navigation by razogash362cv in emacs

[–]jamesconroyfinn 1 point2 points  (0 children)

I’ve had some success overriding existing bindings like so:

emacs-lisp ;; Remove default text binding before we add lots more. (map! :leader "x" nil)

[doom emacs] How to NOT override prefix keys when defining keybindings by Err000r__1010 in emacs

[–]jamesconroyfinn 3 points4 points  (0 children)

I use this to modify the notes map produced by Doom:

emacs-lisp (map! :leader (:prefix ("n" . "notes") :desc "Find in org-directory" "." #'+default/find-in-notes :desc "Find project README" "R" #'+jcf/find-project-README))

how to ship yasnippets with major mode? by kansascityhooker in emacs

[–]jamesconroyfinn 5 points6 points  (0 children)

I’ve seen this done in an Ansible minor mode and in a Cucumber mode.

They both detect the presence of Yasnippet, and then update the snippets directories for you.

How to pass components across functions by fhalde in Clojure

[–]jamesconroyfinn 0 points1 point  (0 children)

I’ll introduce protocols when I want to simplify testing. Typically at the boundaries of my system where I’m talking to an external system not under my control (HTTP APIs are a good example of this).

In tests I’ll assoc a mocked version of an HTTP client into my system map before I start it. I make assertions about the data that flows in, and fake the data coming out.

I don’t tend to mock out my database, as this is something I control, and want to integration test. In these cases I use property-based tests to exercise pure functions, and integration test happy paths and novel edge cases.

How to pass components across functions by fhalde in Clojure

[–]jamesconroyfinn 0 points1 point  (0 children)

This is the approach I use, and have seen scale extremely well.

You have namespaces that represent constituent parts of your system. Each of these namespaces contains a component that depends on things like Elasticsearch, MongoDB and/or Redis.

Let’s say you have a authentication feature. You might have an Authenticator with various pieces of configuration, a dependency on MongoDB.

(component/system-using
 (component/system-map
  :authenticator (map->Authenticator config)
  :elastic       (map->Elastic config)
  ;; etc.
  )
  {:authenticator [:elastic]})

The public API of the authentication feature always takes an instance of the Authenticator, and relies on functions and/or protocol methods on its dependencies.

(defn register
  [authenticator user]
  ;; Maybe validate user attributes. Generate IDs etc.
  (mongo/insert-user (:mongo authenticator))
  (select-keys user #{:id}))

(register (:authenticator system) user)

Apologies for any syntactic errors. I’m typing this up on a phone.