HNHacker News
TopNewBestAskShowJobs

Vohlenzer

40 karma · joined June 1, 2016

v0x56ohlenzer.at.hn

Hello HN!

submissionscomments
Vohlenzer··on Lisp moving Forth moving Lisp
Interestingly, Let Over Lambda eschews hygienic macros because they limit the power (and danger) inherent in macro design.
Vohlenzer··on Lisp moving Forth moving Lisp
One of the cleanest examples in the book is the CL-PPCRE library for regular expressions.

Without macros, regular expressions are strings at compile time and then at runtime objects are created based on the strings to evaluate them.

With macros, regular expressions are expanded at compile time into Common Lisp code that implements the evaluation.

There's a similar idea with an ORM library.

Without macros, the object-relational mapping is defined at compile time and any dynamic SQL is generated at run time.

With macros, the object-relational mapping is used at compile time to expand the query macros into Common Lisp code that includes the actual SQL.

Then also remember that the compiler is available at runtime in a lisp, so the distinction only matters when comparing it to non-lisps.

Vohlenzer··on Lisp moving Forth moving Lisp
I finished Let Over Lambda recently. I'm not an experienced lisp programmer but it's strangely readable if you allow yourself to not understand every little detail of the Common Lisp code. For example I hadn't read On Lisp. I had read The Little Schemer.

It's a wonderful tour of advanced macro concepts. With several of the macros presented I found myself saying "well that's just x language feature in y" but that's missing the point. The point is that Common Lisp allows you to implement your own language features, with macros of course!

This chapter is a wonderful climax to the whole book. Lisp moving Forth moving Lisp reminded me of the intertwined nature of DNA, RNA and proteins in Biology.

There's great humour throughout the book, I especially enjoyed the little sideways jabs at Scheme programmers!

Vohlenzer··on In Praise of Observational Evidence
https://en.wikipedia.org/wiki/Randomized_controlled_trial

I noticed that as well. My eyes feverishly scanning the previous paragraph for the definition.

Vohlenzer··on I'm reluctant to verify my identity or age for any online services
Splink is a notable endeavor in this regard from the MoJ.

https://github.com/moj-analytical-services/splink.

Vohlenzer··on Mounting Git commits as folders with NFS
I find it helpful to keep a few worktrees around for common tasks.

This saves me from throwing away my working copy when I switch to a different task;

  /source/repos/AcmeCorp            2fddd74f9a [bug/CurrentWork]
  /source/repos/AcmeCorp-hotfix     27175cf6c5 [hotfix/2023-11-27.1]
  /source/repos/AcmeCorp-master     016ca20b75 [master]
  /source/repos/AcmeCorp-reference  454be5348d [feature/RecentReviewedWork]
  /source/repos/AcmeCorp-release    95027177d7 [release9.12.0]
Vohlenzer··on Htmx in a Nutshell
Do you have any suggestions for or reference implementations of server code that works well with htmx?
Vohlenzer··on Any tools can generate datatype from string?
https://duckdb.org/docs/data/csv
Vohlenzer··on Ask HN: Who is hiring? (September 2022)
Age Partnership | Leeds, UK | Full Time | REMOTE

Hiring for;

- Remote Full Stack .NET Software Developer; https://careers.agepartnership.co.uk/vacancies/vacancy?vacan...

- Junior opportunities also available for the above role.

Age Partnership is the UK's number 1 equity release advisor; http://www.agepartnership.co.uk.

As the Software Development team (ca. 10 members) at Age Partnership we build .NET applications and services for our colleagues in roles such as Financial Advisors, Administrators and Customer Solutions Agents in the Financial Services sector.

https://careers.agepartnership.co.uk/vacancies/

Apply through the above portal or email adam dot morgan at age partnership dot com for more information. At the moment we can only accept candidates with right to work in the UK.

Vohlenzer··on Ask HN: Who is hiring? (August 2022)
Age Partnership | Leeds, UK | Full Time | REMOTE

Hiring for;

- Remote Full Stack .NET Software Developer; https://careers.agepartnership.co.uk/vacancies/vacancy?vacan...

- Junior opportunities also available for the above role.

Age Partnership is the UK's number 1 equity release advisor; http://www.agepartnership.co.uk.

As the Software Development team (ca. 10 members) at Age Partnership we build .NET applications and services for our colleagues in roles such as Financial Advisors, Administrators and Customer Solutions Agents in the Financial Services sector.

https://careers.agepartnership.co.uk/vacancies/

Apply through the above portal or email adam dot morgan at age partnership dot com for more information.

Vohlenzer··on GnuCash
I too got bored of having to go through every little transaction and categorising them according to my budget. I had already simplified my expenses budget down to three categories; essentials, luxuries and goals.

My solution was to open a dedicated current account and or credit card for each category. This makes assigning a category to transactions simple because I know which budget category each account is designated to.

This also helps with day-to-day budgeting because I have setup scheduled transactions to top-up my essentials and luxuries bank accounts with the correct amount of funds from my savings. A side effect is the stark reminder that using the credit cards eats away my goals budget because I've already spent my allocated funds for essentials or luxuries.

One downside here is losing the credit card protection on some purchases. The work around is to transfer funds back to savings when making these purchases. Another is that it's difficult to adopt immediately because opening several accounts may affect credit rating or rouse suspicion from financial institutions.