[ANN] New blog post on Perfumed Nightmare

224 views
Skip to first unread message

Daniel Szmulewicz

unread,
Apr 28, 2024, 3:22:36 AMApr 28
to Clojure
Greetings fellow Clojurians,

I am excited to announce the publication of my latest in-depth blog post on the topic of HTTP and web application development. Since I am currently looking for work, I had the opportunity to dedicate my mornings - when I’m at peak mental clarity - to creating this content over the course of a week.

We start with a minimalist web server that soon enough honors the semantics of HTTP/1.1 GET requests. Then, we write a Ring adapter for our server, decoupling the nitty-gritty from application logic.

This whirlwind tour sheds light on the design of web frameworks that emerged in all language communities (Servlets, WSGI or Rack), reflecting the need to standardize around a portable interface abstractinThe anatomy of a HTTP server g HTTP.

At the same time, I went to great length documenting the experience of living and breathing at the REPL. Throughout the post, I explain each decision point and experimentation that ultimately led me to the final design. I know beginners often struggle with that and I hope this can help them in their journey to REPL-oriented development.

For advanced users, feel free to skip the introductory sections and jump to the final code. I welcome contributions from the community that keep the spirit of the exercise: no external dependencies, single namespace, brevity and simplicity of code.

You will find the The Anatomy of a HTTP server on my blog dedicated to Lisp programming.

As always, feedback is most welcome! Thank you!

Daniel Szmulewicz

unread,
Apr 28, 2024, 5:28:27 AMApr 28
to Clojure
Apologies for the jumbled paragraph which should read: 

This whirlwind tour sheds light on the design of web frameworks that emerged in all language communities (Servlets, WSGI or Rack), reflecting the need to standardize around a portable interface abstracting HTTP.

Gary Johnson

unread,
May 1, 2024, 11:19:06 AMMay 1
to clo...@googlegroups.com
Daniel Szmulewicz <daniel.s...@gmail.com> writes:

> Greetings fellow Clojurians,
>
> I am excited to announce the publication of my latest in-depth blog
> post on the topic of HTTP and web application development. Since I am
> currently looking for work, I had the opportunity to dedicate my
> mornings - when I’m at peak mental clarity - to creating this content
> over the course of a week.

Hi Daniel,

Thanks for sharing your post on building a dependency-free, minimal
HTTP server. In the same vein, I thought you (and perhaps some others
on this mailing list) might be interested in seeing my
dependency-free, minimal Gemini server, Space-Age. I built it several
years ago when the Gemini protocol was just firming up, and I've had
great fun in using it to run both my personal site and the software
team wiki at my workplace.

Since it is also written in Clojure without any dependencies on third
party libraries, its socket management code looks quite a lot like
yours but also includes features for encryption and authentication
over SSL/TLS with X.509 certificates. Here's the link if anyone is
interested:

https://gitlab.com/lambdatronic/space-age

The smallnet/smolnet is a real breath of fresh air after being
inundated by the every increasing corporatization of the web over the
last few decades. And from a learning perspective, working with much
simpler, alternative communication protocols greatly increases
accessibility for both users and developers and may even encourage you
to whip up your own Gemini server or client as a weekend project.

Have fun and happy hacking!
Gary

--
GPG Key ID: 7BC158ED
Use `gpg --search-keys lambda...@gmail.com' to find me
Protect yourself from surveillance: https://emailselfdefense.fsf.org
=======================================================================
() ascii ribbon campaign - against html e-mail
/\ www.asciiribbon.org - against proprietary attachments

Why is HTML email a security nightmare? See https://useplaintext.email/

Please avoid sending me MS-Office attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html

Daniel Slutsky

unread,
Jun 13, 2024, 7:29:24 PMJun 13
to Clojure
Inspired by this thread, the Scicloj visual-tools group will host a meetup with Gary and Daniel on Sunday.
Reply all
Reply to author
Forward
0 new messages