HN user

oxalorg

183 karma

Clojure (JVM), ClojureScript, Python, Emacs and VIM (not OR).

Trying my best to end needless suffering; love discussing ethical philosophy.

Looking for an opportunity to help earth, humans, and animals at an exponential return.

https://github.com/oxalorg/

https://oxal.org

https://www.youtube.com/c/oxalorg

Posts2
Comments39
View on HN

This sounds very close to my dream IDE, I've always wanted to build a smalltalk + emacs like editor/ide in Clojure but never got around to it.

I wanted to try Easel but there were no instructions how. This is how I got it running:

  git clone git@github.com:phronmophobic/easel.git
  clj -X:deps prep
  clj
  # now in repl
  => ((requiring-resolve 'com.phronemophobic.easel/run))

At work we've started switching to codeberg (which uses forgejo) and honestly it's a breath of fresh air compared to GitHub. It's blazing fast compared to GitHub and has feature parity with our needs.

Roc Camera 9 months ago

I have clicked about ~20,000 photographs on a Sony camera in the last year and a half. And I have published exactly 0 of those photos on social media.

Whenever I meet my friends and family, I show them the pictures myself and the story behind them.

I love the thrill of street photography and it gives me immense pleasure to capture candid moments of humans. It's a great creative outlet for me and helps me think about life and philosophy through my pictures.

Maybe one day I will care enough about publishing these pictures, maybe one day I will care about AI. But right now, I don't. This is the closest I've been to my "kid"-like self, just enjoying something for the heck for it.

Why Self-Host? 10 months ago

I left my Hetzner VPS open to password logins for over 3 years, no security updates, no firewalls, no kernel updates, no apt upgrades; only fail2ban and I survived: https://oxal.org/blog/my-vps-security-mess/

Don't be me, but have some solace in the fact that even if you royally mess up things won't be as bad as you think.

I self host a lot of things on a VPS and have recently started self hosting on a raspberry pi 5, it's extremely liberating!

Seeing lots of emacs praise on HN since the last 2 days.

In this blog post I walk through the process of how I go about extending emacs (specifically a 3rd party plugin) and tailoring it to my specific problems.

I'm definitely not an emacs pro, but I've written a few packages in emacs and have a cursory idea of it's vast powers! Happy to answer any question.

For anyone interested, my emacs config is at: https://github.com/oxalorg/.emacs.d

Signal Secure Backups 11 months ago

Creating signal backups for iPhone users is _really_ hard. The only way to do it is to get a backup from the Signal Desktop app, which is also non-trivial because in recent versions of the desktop the decrypt key is also encrypted and store in keychain.

I had to install sqlcipher, find my encrypted key stored locally, find the decrypt key in apple's keychain, decrypt it using Signal's format, etc. This took a lot of trial and error, and reading a lot of existing source (special thanks to https://github.com/bepaald/get_signal_desktop_key_mac but unfortunately it did not work OOTB for me)

Exactly this. My entire website is handcrafted, and not once but over the last decade almost ~10 times.

It's fun and I almost end up revamping something every year.

Everything handcrafted:

- the matrix js code on home page. https://oxal.org click on the matrix for a surprise!

- it's built using my own Static Site Generator: https://github.com/oxalorg/genox

- my website uses a css theme, again handcrafted: https://github.com/oxalorg/sakura/

- if you go to https://oxal.org/blog/ you will see a small cyborg following you (started with a base image generated by chatgpt and then edited and added animations manually in Piskel sprite editor)

- it's deployed on a VPS manually, just run `make` (I've experimented with serving it via a handwritten C http server, but I haven't finished this toy project yet)

- i have several shell scripts which uploads things to my websites in private locations (think gists, quick share videos, screenshots etc.).

- the favicon is also pixel art, made when I was still in college! https://oxal.org/favicon-32x32.png

- I even tried designing my own funky font but gave up and used a Naruto inspired font

- and as a bonus, try to `view-page-source` on the home page

I see my website and feel extremely proud of my journey as a software engineer, and I cherish this simple thing oh so dearly!

Curious to learn more about your switch from Emacs to VSCode?

I'm a super confused soul, and currently I use all of them:

- Emacs (for clojure / lisps / big projects).

- NeoVim (for when I want to work in the shell, smaller scripts/playground, ssh).

- VScode (js / ts / frontend / figma / etc).

I've made both my vim and emacs keybindings / features almost identical, so there is limited context switching there.

I feel very slow in VSCode, I don't even have one of my most common task optimised in VSCode yet: grepping something and quickly moving to that buffer.

Quick fix if you are seeing this:

  ssh-keygen -R github.com
  curl -L https://api.github.com/meta | jq -r '.ssh_keys | .[]' | sed -e 's/^/github.com /' >> ~/.ssh/known_hosts
-or- if you don't have `jq` / `curl` then use this: (please verify the authenticity of this key by yourself)
  ssh-keygen -R github.com
  echo "github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=" >> ~/.ssh/known_hosts
-or-

Copy them from here directly: https://docs.github.com/en/authentication/keeping-your-accou...

1. re: the first part, many people want something plug and play. and even if they were plug and play, the problem is that the user experience (on windows at least) with online drives generally sucks.

windows for sure doesn't hide latency well (CIFS is bad, SIMBA etc. are worse), and most apps are written as if the disk was local, and assume, for example, accessing a file only takes a few ms. if the server is 80ms away, and you do 2 "wow" accesses per second (e.g. the open file common dialog listing a directory and poking files for various attributes or icons) serially, suddenly your UI locks up for _seconds_ (joel spolsky summarizes this well in his article on leaky abstractions.) ditto saving any file; how can you stay updated on the ever growing wow library? sure for some random memes of a few hundred k it's fine, but doing work on large repertoire of Owen Wilson "WOW"s on an online drive feels like walking around with cinder blocks tied to your feet. anyway, the point of that rant was that WOW API uses an _online_ hosted version which resolves within 20ms, much faster than using the mouse to find files in an online mounted drive, which is an important difference :)

2. true, if you're both not at your computer and on another computer without net access, this won't replace a usb drive :) but the case i'm worried about is being, for example, on a server you own, and the wow api will let you get the most recent version of your wows at the time, and will work on any scripts and crons you write (without you having to physically copy anything or really do anything to your server rack.)

3. there are some unannounced viral parts i didn't get to show in there :) it'll be a freemium model. up to x gb free, tiered plans above that.

This is quite nice! Shameless plug for my version of this (sakura.css [1]) which is

- much smaller (3.9kb / 1.9kb gzipped)

- looks more in-line with the default browser styles (demo [2])

- but does not use css variables yet, instead different themes are provided as different css files. My reasoning for this is that if you're using this you probably don't want to mess around with css too much :)

[1] https://github.com/oxalorg/sakura

[2] https://oxal.org/projects/sakura/demo/

Pico CSS Framework 5 years ago

I agree. That is why I actually just decided to use different css files for different themes in sakura.css (it comes in at 3.8k / ~1.8k gzipped)

This also means that they can easily be used by others as well [1]. Have gotten some folks contribute their own themes over the years.

I also had friends who didn't want to understand CSS, and adding in media queries, variables, and dark mode support would only just confuse them even more.

[1] https://github.com/oxalorg/sakura/tree/master/css

Sublime Clojure 5 years ago

These were some refreshing ideas to solve UX problems in the clojure REPL driven development flow (especially the REPL panel which I always keep hidden).

I've been frustrated a bit with the general UX of using emacs, clojure, and REPL since a while now. I keep tweaking my emacs config to improve it one bit at a time, hopefully one day I'll be happy :)

In windows I usually use enter to enter a folder and backspace to back out.

It’s not exactly up/down semantic as backspace will go back to the place you entered from (eg. search) rather than the logical parent directory. But this still makes much more sense to me than MacOS.

The alt tabbing and window switch/minimize/group behaviour in MacOS is quite confusing too!

Thank you I needed to read this, very well put and wonderful advice!

Regarding your first point: I am still not sure if I'm cut out for startups / the hustle. But I've made some of these mistakes and I'm glad I did. Because that seems to be the only way I have gained some insight into what kind of a person I am.

Now I'm on the lookout for opportunities and people who compliment my strengths / weaknesses.

Thank you for using sakura.css, really appreciate it and glad you enjoyed using it! ^_^

On the other hand, I really enjoy working with tailwind. Having html and css "together" works really well with my mental model, and I can iterate very fast with it.

Though setting up tailwind is a bit of a pain, and I still use sakura + good old css everywhere I possibly can.

Author of Sakura.css [0] here linked in the article. Thanks for the link ^_^, new.css looks super great!

A bit more on "WHY" you'd want to use a classless theme:

* Quick prototyping, especially when working on backend sites and can't yet be bothered to fidget with css/html.

* Building a quick (but pretty) site/blog for your best friend or aunt!

* Works amazingly with markdown generated HTML content. So it's a perfect match when rendering markdown but don't want to customise the rendering process to include specific classes.

* Using it as a placeholder: I almost always start a project with sakura.css, just drop the link tag and you’re done. Start working on features instantly.Once I’ve built the flows/components a bit I replace it with something like tailwind! There is no friction to this workflow as sakura and sisters are all classless anyways, so you can replace it easily.

[0] https://github.com/oxalorg/sakura

I've been a happy user of WSL2 since 2 months, and I absolutely love it. After switching to it, I completely stopped using Mac Mini and Linux.

It has made my life so easier. All the Linux stuff + development work gets done inside Windows Terminal + WSL2 + NeoVim, and I still get to keep Windows for Gaming, Designing, Office work, other random programs etc.

Hey, captain nemo! The major feature which we're looking for is Github Pages for private repos, coupled with Github actions.

We have multiple client sites (completely static) we're hosting on $5 Droplets (+GST+Backups).

We plan to deploy more such sites and keeping them on Gh-pages (auto build using GH-Actions) would reduce a lot of headaches for us.

Right now we've had all private repos scattered over everyones individual accounts and managing this has been a pain. So it would be nice if there is a single place to keep it all (thanks to free private repos for teams, we'll be migrating all of it to one place soon enough).

With 3 team members, $12/month for all the extra goodies seems reasonable.

We initially used BitBucket but switched to GitHub as we prefer it's UI/UX/Familiarity + a single place to manage both work/open source issues/prs etc is definitely easier.

Oh and gotta need that repo/contributor insight to compete with team mates :P