diff --git a/html/about.html b/html/about.html index c7537f0..97564b0 100644 --- a/html/about.html +++ b/html/about.html @@ -1,7 +1,7 @@ - + About diff --git a/html/art/index.html b/html/art/index.html index 784cbfc..9057351 100644 --- a/html/art/index.html +++ b/html/art/index.html @@ -1,7 +1,7 @@ - + Akk0's Art @@ -212,7 +212,7 @@
-
+
lone_rider.png
Figure 1: Lone Rider, 2024. I made this to get some of the anxiety out of my system while taking motorcycle lessons.
diff --git a/html/events/index.html b/html/events/index.html index 1583150..27a7be9 100644 --- a/html/events/index.html +++ b/html/events/index.html @@ -1,7 +1,7 @@ - + Events and Trips @@ -211,33 +211,33 @@
-
-

Events and Trips

-
+
+

Events and Trips

+

Here I keep some memoirs of (mostly music) events I’ve helped organized, participated in, or attended; I’m putting trips I’ve gone on here as well.

-
-

Co-organized

-
+
+

Co-organized

+
-
-

Premier Impact

-
+
+

Premier Impact

+

A doujin music event in Paris which I helped organize!

-
-

Participated or Support Crew

-
+
+

Participated or Support Crew

+
-
-

Millennium Strike WROC.WAV + Wrocław trip

-
+
+

Millennium Strike WROC.WAV + Wrocław trip

+

I sorta-kinda was support crew here. Also includes general notes on my trip to the beautiful city of Wrocław, Poland.

diff --git a/html/events/premier_impact.html b/html/events/premier_impact.html index 5105420..2a720ae 100644 --- a/html/events/premier_impact.html +++ b/html/events/premier_impact.html @@ -1,7 +1,7 @@ - + Premier Impact Retrospective @@ -211,20 +211,20 @@
-
-

Premier Impact Retrospective

-
+
+

Premier Impact Retrospective

+
-
-

Introduction

-
+
+

Introduction

+

This is a retrospective on Premier Impact, a music event we held on the 10th of May 2025.

-
+
premier_impact_poster.png
Figure 1: Event poster. I participated under the alias “Sakka”.
@@ -232,13 +232,13 @@ This is a retrospective on Premier I
-
-

Organisation

-
+
+

Organisation

+
-
-

Context

-
+
+

Context

+

A bit of context that’ll help illustrate some of the organisational difficulties involved in the event:

@@ -255,9 +255,9 @@ The observant reader might notice that this is a bit of a tight squeeze; it coul

-
-

Motivation, Branding & Concept

-
+
+

Motivation, Branding & Concept

+

The event theme was doujin music and generally J-core/breakcore/anison, though in practice we gave DJs complete free reign as to what to play and the event was better characterized as “we invite our friends to play good music”; it’s perhaps best understood in relationship to other similar events2. These events are already common elsewhere, but not aren’t yet established in France, despite there clearly existing a sizeable audience for them — our aim was thus to start putting this on the map here in Paris.

@@ -271,9 +271,9 @@ For the poster we ended up borrowing a lot from the -

Searching for a Venue

-
+
+

Searching for a Venue

+

Since this was our first event3 we went into this without existing contacts and without a confirmed audience. Largely because of this4 we mostly committed to finding a venue that would let us host the event for free.

@@ -311,7 +311,7 @@ One place that was open to talks with us was the awesome -
+
spot13_1.jpg
@@ -319,7 +319,7 @@ One place that was open to talks with us was the awesome
-
+
spot13_2.jpg
@@ -344,17 +344,17 @@ At the time we seriously considered the logistics of this — with less tha

-
-

Finding a Venue

-
+
+

Finding a Venue

+

We originally got a reply from Les Amarres on April 4th, so we were in communication with both them and Spot 13 in parallel, but we only got confirmation they’d be available on April 15th. They let us hold the event in their venue for free, so accepting immediately was a no-brainer. They even gave our staff free drinks and meals11!

-
-

Staff and Promotion

-
+
+

Staff and Promotion

+

Only now that we had a venue we ready to formally invite guest DJs and start putting publicity out. Promo went out on April 24th, less than 2.5 weeks until the event.

@@ -365,16 +365,16 @@ I want to give massive thanks to Ed for agreeing to take over the slot that my s
-
-

Event Day

-
+
+

Event Day

+
-
-

The Venue; Setting Up

-
+
+

The Venue; Setting Up

+
-
+
pi_les_amaress.jpg
Figure 2: The venue, Les Amarres.
@@ -387,7 +387,7 @@ We arrived at the venue 2 hours early, and we needed every minute of that time,
-
+
pi_empty.jpg
Figure 3: … like this.
@@ -404,7 +404,7 @@ Anyhow, the place was a maze — from what I hear Apt drew a little map to
-
+
pi_setup.jpg
Figure 4: All set up. The big subwoofer in the corner took four men to carry up the stairs; on the way back down after the event we used the elevator we had then learned exists.
@@ -416,12 +416,12 @@ A big shout out to Shiz for actually knowing what he was doing and setting up al

-
-

The Event

-
+
+

The Event

+
-
+
pi_party.jpg
Figure 5: Ravers. This picture is in the midst of the TECHNICAL DIFFICULTIES of next section.
@@ -433,9 +433,9 @@ The event was, by all means, a smashing success. Being a free event it&rs

-
-

TECHNICAL DIFFICULTIES; Our Act

-
+
+

TECHNICAL DIFFICULTIES; Our Act

+

Those that were present around the end of the event might have seen Apt and I frantically faffing about with two DJ controllers, three laptops and a bass guitar. We ran into two kinds of technical issues during our set.

@@ -466,9 +466,9 @@ The GK-3B is pretty expensive so we had bought it with the intention of using it
-
-

Closing Words

-
+
+

Closing Words

+

Looking critically, behind the scenes—and to some extend unfortunately also on the stage—this was an organisational mess. Some of this definitely could’ve been prevented – Apt and I take full responsibility for the original error of failing to secure a venue in time. Other hecticness in the planning wasn’t really preventable—there’s a reason this post opens with a description of our schedule—but will be avoided in the future. It was a learning experience for sure.

@@ -506,7 +506,7 @@ And You, The Reader, for bearing with my doubtlessly excessive wordiness.
-
+
pi_congratulations.png
Figure 6: And to all children, congratulations.
@@ -515,8 +515,8 @@ And You, The Reader, for bearing with my doubtlessly excessive wordiness.
-
-

Set Rerecordings

+
+

Set Rerecordings

diff --git a/html/events/wroclaw.html b/html/events/wroclaw.html index b0185e7..bcb26c3 100644 --- a/html/events/wroclaw.html +++ b/html/events/wroclaw.html @@ -1,7 +1,7 @@ - + Wrocław/Millennium Strike @@ -211,20 +211,20 @@
-
-

Wrocław/Millennium Strike WROC.WAV

-
+
+

Wrocław/Millennium Strike WROC.WAV

+
-
-

Arriving

-
+
+

Arriving

+

Alex, apt-get, mercury.lamp, pachy and myself were in Wrocław1, Poland between April 30th and May <END DATE> for Millennium Strike Live WROC.WAV where apt and merc were performing (B2B, under alias Re;iwa Diabolik). Shout out to pachy for finding time and money to join us last minute; I am very very glad he was able to be there, it wouldn’t have been the same without him.

-
+
wroclaw_boys.jpg
Figure 1: Quake III was a good game.
@@ -241,7 +241,7 @@ We had a bunch of gear to transport and were trying to limit luggage charges, so
-
+
wroc_bags.jpg
Figure 2: Finding suitable bags.
@@ -250,7 +250,7 @@ We had a bunch of gear to transport and were trying to limit luggage charges, so
-
+
poland_plane.jpg
Figure 3: Poland from above.
@@ -258,16 +258,16 @@ We had a bunch of gear to transport and were trying to limit luggage charges, so
-
-

Setcrafting

-
+
+

Setcrafting

+

Basically all the time in Wrocław before the event was spent on… actually preparing the set, which hadn’t really been started yet, so we were mostly inside the hotel — this had much to do with apt and I being busy preparing for Premier Impact and everyone just generally being busy. Alex, pachy and I were technically free, but I was also trying to make stuff happen for Premier Impact still, and we all kinda hung around for moral support.

-
+
setcrafting_wroc.jpg
Figure 4: Cowboy Bebop at his computer Setcrafting.
@@ -275,12 +275,12 @@ Basically all the time in Wrocław before the event was spent on… actuall
-
-

The Event

-
+
+

The Event

+
-
+
milstrike_wroc.jpg
Figure 5: Event poster.
@@ -293,7 +293,7 @@ The venue for the event was a club called Transformator. Pretty cool place, good
-
+
transformator_backstage.jpg
Figure 6: Backstage at Transformator
@@ -306,7 +306,7 @@ The itself event was a lot of fun. Nothing much particular to say, other than th
-
+
milstrike_merc.jpg
Figure 7: Merc is always so photogenic.
@@ -318,24 +318,24 @@ Unfortunately as the event was winding down (in the early morning, I think aroun

-
-

Wrocław

-
+
+

Wrocław

+
-
-

Pleasant Surprise

-
+
+

Pleasant Surprise

+

With us primarily being there for the event and it being a really busy period, I don’t think any of us had really read up on the city very much. Safe to say we were all very pleasantly surprised! Wrocław is an absolutely lovely city; real student town energy with lots of young people, very warm hospitality and a very homely, casual atmosphere in restaurants as well.

-
-

Food and Drink

-
+
+

Food and Drink

+
-
+
poland_food.jpg
Figure 8: Delicious.
@@ -351,9 +351,9 @@ Food prices were maybe about half what you’d find in an equivalent western

-
-

Architecture, Cityscape

-
+
+

Architecture, Cityscape

+

Wrocław has really cool architecture, a pretty eclectic mix of styles and old and new stuff. Lots of old defensive works that I believe were built after the Mongol invasion. Quoting Wikipedia:

@@ -374,7 +374,7 @@ Lots of beautiful brickwork which is a style of architecture I have not encounte
-
+
wroc_architecture1.jpg
@@ -387,7 +387,7 @@ There was something very familiar about the layout of the city and the style of
-
+
wroc_architecture2.jpg
@@ -399,7 +399,7 @@ The streets are broad, well-maintained and very clean. There’s good public
-
+
wroc_architecture4.jpg
@@ -411,7 +411,7 @@ The nighttime atmosphere was very pleasant as well, perhaps owning to the high s
-
+
wroc_street.jpg
@@ -423,7 +423,7 @@ We were there at the same time as the largest guitar festival in the world. Guit
-
+
wroc_guitars.jpg
Figure 9: That’s a lot of guitars. We didn’t really have the time to hang around unfortunately, and as you can see it was very busy anyhow.
@@ -431,16 +431,16 @@ We were there at the same time as the largest guitar festival in the world. Guit
-
-

People, History and Closing Notes

-
+
+

People, History and Closing Notes

+

Overall Wrocławians made a strong impression on me as warm, hospitable, humorous and headstrong people. Wrocław had a very active anti-communist resistance that they are very proud of, and they’ve kept that history very alive, both visibly in the city scape but also in their endearing fashion sense.

-
+
wroc_dwarf.jpg
Figure 10: The Wrocław Dwarves that abound in the cityscape are emblematic of the resistence. Their appearance traces directly from Dutch kabouters, so they were a strangely familiar sight.
diff --git a/html/friends.html b/html/friends.html index 555c45a..8ed9e9a 100644 --- a/html/friends.html +++ b/html/friends.html @@ -1,7 +1,7 @@ - + Friends diff --git a/html/index.html b/html/index.html index cf0146d..c7e868a 100644 --- a/html/index.html +++ b/html/index.html @@ -1,7 +1,7 @@ - + Index @@ -211,9 +211,9 @@
-
-

Hello There!

-
+
+

Hello There!

+

Welcome to my website! I’m akk0. I blog about Emacs, programming, meditation, otaku stuff, and other things that interest me. You can view the full list of pages on the sitemap.

@@ -231,68 +231,38 @@ Here’s a short Best Of:

-Here’s this week’s journal! +Here’s this week’s journal!

-
-

Pro Tips

-
+
+

Pro Tips

+
  • You can fold and unfold sections by clicking the headline. Try it!
  • Click on any cell with a dotted outline in the habit tracker to see my journal entry for it. The currently selected cell will be highlighted with a solid line.
-
-

Habits

-
-
Today is Friday, November 21st.
+
+

Habits

+
+
Today is Thursday, November 27th.
- +
- + - - - - - - - - - - - - - - - - + - - - - @@ -314,44 +284,26 @@ Here’s this week’s journal! data-status="YES">● + + + + + + - - - - - - - - - - - - - - - - - + - @@ -377,46 +329,28 @@ Here’s this week’s journal! data-status="EXCELLENT">♦ + + + + + + - - - - - - - - - - - - - - - - + - - @@ -440,44 +374,26 @@ Here’s this week’s journal! data-status="YES">● + + + + + + - - - - - - - - - - - - - - - - - + - @@ -503,46 +419,28 @@ Here’s this week’s journal! data-status="EXCELLENT">♦ + + + + + + - - - - - - - - - - - - - - - - + - - @@ -566,40 +464,22 @@ Here’s this week’s journal! data-status="YES">● + + + + + + - - - - - - - - - - - - - - - - - + @@ -629,44 +509,26 @@ Here’s this week’s journal! data-status="YES">● + + + + + + - - - - - - - - - - - - - - - - - + - @@ -692,46 +554,28 @@ Here’s this week’s journal! data-status="YES">● + + + + + + - - + - - - - - - - - - - - - - - - - - - @@ -755,6 +599,18 @@ Here’s this week’s journal! data-status="YES">● + + + + + +
click me ↓
BloggingBlogging
Meditation×××××Meditation× ××
French××French ×× ×
Engineering×Engineering×
ExerciseExercise × ×
Drawing×××××Drawing× × ××
Reading××××Reading× × × ××
SocialSocial ××
Key: @@ -775,7 +631,7 @@ Here’s this week’s journal!
-
-
-

Links

-
+
+

Links

+
-
-

2025

-
+
+

2025

+
diff --git a/html/links/w27-2025-30.06-06.07-links.html b/html/links/w27-2025-30.06-06.07-links.html index efd3f7c..63bc64b 100644 --- a/html/links/w27-2025-30.06-06.07-links.html +++ b/html/links/w27-2025-30.06-06.07-links.html @@ -1,7 +1,7 @@ - + Links for week 27, 2025 (June 30 to July 06) @@ -211,12 +211,12 @@
-
-

Links for week 27, 2025 (June 30 to July 06)

-
+
+

Links for week 27, 2025 (June 30 to July 06)

+
-
diff --git a/html/other/ip_paris_appeal.html b/html/other/ip_paris_appeal.html index 9c2a3fa..c48a2ac 100644 --- a/html/other/ip_paris_appeal.html +++ b/html/other/ip_paris_appeal.html @@ -1,7 +1,7 @@ - + Appeal Regarding Rejection for Computer Science MSc Programmes at IP Paris @@ -211,9 +211,9 @@
-
-

Appeal Regarding Rejection for Computer Science MSc Programmes at IP Paris

-
+
+

Appeal Regarding Rejection for Computer Science MSc Programmes at IP Paris

+

Dear esteemed President of the Institut Polytechnique de Paris,

diff --git a/html/other/ultraman.html b/html/other/ultraman.html index 4f86944..a34750b 100644 --- a/html/other/ultraman.html +++ b/html/other/ultraman.html @@ -1,7 +1,7 @@ - + The Story of Ultraman @@ -211,8 +211,8 @@
-
-

The Story of Ultraman

+
+

The Story of Ultraman

diff --git a/html/posts/blog-tech.html b/html/posts/blog-tech.html index 79d4a58..b46b37c 100644 --- a/html/posts/blog-tech.html +++ b/html/posts/blog-tech.html @@ -1,7 +1,7 @@ - + How This Blog Works @@ -211,8 +211,8 @@
-
-

How This Blog Works

+
+

How This Blog Works

diff --git a/html/posts/fiction/index.html b/html/posts/fiction/index.html index da298b8..4f3c74b 100644 --- a/html/posts/fiction/index.html +++ b/html/posts/fiction/index.html @@ -1,7 +1,7 @@ - + Fiction @@ -211,8 +211,8 @@
-
-

Fiction

+
+

Fiction

diff --git a/html/posts/fiction/jesus.html b/html/posts/fiction/jesus.html index 676ff13..6dac307 100644 --- a/html/posts/fiction/jesus.html +++ b/html/posts/fiction/jesus.html @@ -1,7 +1,7 @@ - + A West Coast Gospel @@ -211,13 +211,13 @@
-
-

todo title

-
+
+

todo title

+
-
-

I

-
+
+

I

+

Sacramento, California, 2355. Jesus Salvador Rodriguez was a teacher and healer. Working two jobs was hard work, but he liked the extra income, hoping the size of his palestial two-bedroom apartment would help attract a mate. Long ago, before the Singularity, there had been many jobs; now it was down to just two. There were healers, who worked in healthcare administration, and teachers, who worked in college administration. Rumors had it that somewhere out there the Digital Nomads yet roamed, traversing the galaxy in a bid to get ever further away from California. Scientific concensus dismissed these rumors as a hoax, holding that the universe held nil but Earth and Paperclip.

@@ -227,9 +227,9 @@ Naively reasoning one would suggest that, with nanobots supporting one’s e

-
-

II

-
+
+

II

+

It was Thursday afternoon, and Jesus was at work. When not? Long ago, there had been the matter between Working From Home and Living In The Office, and the office had won. Everyone was, of course, well aware of the irony of living at the office for the sole purpose of renting an apartment, this being the subject of a centuries-old comedic tradition. A tale as old as time; so as the peacock shows its fitness by painting a target of auspicious technicolor plumes on its own back, so must humans do retarded shit to get laid.

@@ -251,9 +251,9 @@ He finished his meal and went back inside, making his way past the office and to

-
-

III

-
+
+

III

+

SPIDER!!!. Now that I have your attention, SPIDER!!!. It’d bit him. It shouldn’t have been there. After months of negotiation, a deal’d been reached. Clippy, the universe. Humans, the Earth. Spiders, Australia. This was not Australia. Thus the Tripartite Partition Treaty designated the spider as an enemy combatant, overruling the California Bill of Animal Rights’ prohibition on killing insects. Jesus shot at it with his web. Web? Web! Spider silk! Strong as steel, tough as kevlar, a wonderful material. Extremely illegal, as it was not listed on the California State Whitelist Allowlist of Materials Known Not To Cause Cancer (Superintelligence offered to provide a much longer list, but since the bulk of chemicals is not carcinogenic, the list would’ve required Randian amounts of paper to print and this was deemed environmentally unfriendly).

@@ -267,9 +267,9 @@ Enfin, since carcinogenic compounds were considered Schedule I drugs (the era of

-
-

IV, or as Uccello Knew It, IIII

-
+
+

IV, or as Uccello Knew It, IIII

+

Skirt. Crop top. Boots; leather. Jacket; leather. Socks - long, green; nails, too. Victoria. And her guitar. Not the kind that goes pling plong. The kind that makes an onomatopoeia befitting very aggressive electric guitar playing. She looked like a relic. Fashion from when old was new again in her great-great-great-grandmother’s days. Loved to smoke the ganja. Everyone smoked, as cannabis consumption had been made compulsory in California, but she really enjoyed it.

@@ -295,9 +295,9 @@ Jesus’ apartment. Wanna come in, have a smoke?

-
-

V

-
+
+

V

+

Before the cloud had left her black lips, she’d already pinched the pegs of her axe - she carried it with her everywhere - and started tuning it. Looking down, blushing, wanting to look at anything but Jesus. Cute. Cutecutecutecutecutecute, he thought. The damn guitar obscures her belly, he thought. She, on her part, thought something perhaps best transliterated as asodifhweofnoqfc. She was no good with this kind of thing. She couldn’t deal with emotions using words. She’d rather play than speak; her fingers outskilled her tongue.

@@ -315,17 +315,17 @@ Jesus felt for her. He wanted to hear it. He wanted all of her, the song of her

-
-

VI

-
+
+

VI

+

Jesús webbed.

-
-

notes

-
+
+

notes

+

something something violin string it’s a sexual metaphor diff --git a/html/posts/framework.html b/html/posts/framework.html index c81e68f..deee515 100644 --- a/html/posts/framework.html +++ b/html/posts/framework.html @@ -1,7 +1,7 @@ - + Framework Laptop Review @@ -211,13 +211,13 @@

-
-

My Experience with the Framework Laptop

-
+
+

My Experience with the Framework Laptop

+
-
-

Ordering

-
+
+

Ordering

+

I’d been eyeing the Framework laptop since somewhere in October 2021, but the EU release got delayed and they were very hesitant to give time estimates. I only managed to get my hands on it in late February, and I ended up having to have it delivered to France. I understand the difficulty of setting up logistics especially these days, but I broke my previous laptop and being stuck in limbo like this was not fun.

@@ -228,13 +228,13 @@ I asked their customer service to make a small change to the delivery address, b

-
-

Set-up

-
+
+

Set-up

+
-
-

Hardware

-
+
+

Hardware

+

I got the DIY edition with the (lowest-end) i5-1135G7 CPU, 2x16GB RAM. I brought my own 1TB SSD. The higher spec CPUs didn’t seem worth the money to me. The RAM is probably overkill.

@@ -261,9 +261,9 @@ The more you look at it, the nicer it gets!

-
-

Software

-
+
+

Software

+

I installed Gentoo GNU+Linux on the laptop, just like I have on my desktop. I used an Ubuntu live CD as the install medium together with the Gentoo stage3 tarball, and it worked well. I didn’t really have to jump through any laptop-specific hoops, it was a very nice experience. I did use the dist-kernel rather than configuring my own.

@@ -272,9 +272,9 @@ I installed Gentoo GNU+Linux on the laptop, just like I have on my desktop. I us The laptop held up well during compiling. It’s not as fast as a desktop of course, but compile times are not limiting. I’ve put this thing through bootstrapping GCC for a cross-compilation toolchain, which is just about the biggest compile job I’ve ran, and it wasn’t that painful.

-
-
Display scaling
-
+
+
Display scaling
+

Simply setting Xft.dpi: 192 in .Xresources was enough for the vast majority of applications to use 2x scaling, which looks very good on this display. This is on X11 obviously; I don’t use Wayland.

@@ -284,33 +284,33 @@ The odd application requires its own scaling setting. Rofi requires setting
-
-
Display manager
-
+
+
Display manager
+

I used SDDM which works very well. I wanted to go for something a bit fancier looking, and this delivers. I don’t usually use things in the whole QT ecosystem, so it’s refreshing.

-
-
Hibernate/suspend-to-disk
-
+
+
Hibernate/suspend-to-disk
+

This required setting up a swap file and setting a kernel command line parameter to refer to it, but it was easy to do. It works well. I’ve observed the laptop auto-hibernating when the battery runs out, but it doesn’t do this reliably, so I should probably configure it myself.

-
-
Guake-like transient terminal
-
+
+
Guake-like transient terminal
+

-Using some fish scripts, bspwm, picom and xst I rigged up a transient, transparent terminal to use for quick shell jobs. I used the scripts and config file in Appendix A to do this. The implementation is a bit hacky, and it’s not impossible to break, but it serves my purposes well (and more important, it was fun to make)! +Using some fish scripts, bspwm, picom and xst I rigged up a transient, transparent terminal to use for quick shell jobs. I used the scripts and config file in Appendix A to do this. The implementation is a bit hacky, and it’s not impossible to break, but it serves my purposes well (and more important, it was fun to make)!

-
-
Wallpaper-setting script
-
+
+
Wallpaper-setting script
+

I wrote a script to set a random wallpaper.

@@ -321,11 +321,11 @@ I wrote a script to set a random wallpaper.
-
-
Lockscreen
-
+
+
Lockscreen
+

-I hacked together some pretty crappy code to lock the screen using i3lock, with my wallpaper composed with a little lock icon as the background. Very overengineered. +I hacked together some pretty crappy code to lock the screen using i3lock, with my wallpaper composed with a little lock icon as the background. Very overengineered.

@@ -338,33 +338,33 @@ Is there a better lockscreen out there that will let me set my own image as the

-
-
TODO
-
+
+
TODO
+
    -
  • Battery level notifications
  • -
  • sleep-then-hibernate
  • -
  • Battery tuning
  • +
  • Battery level notifications
  • +
  • sleep-then-hibernate
  • +
  • Battery tuning
-
-

Impressions

-
+
+

Impressions

+
-
-
Build Quality
-
+
+
Build Quality
+

The laptop is made of aluminium and feels solid but light. The screen does seem pretty flimsy, though. I probably wouldn’t want to drop this thing. It looks sleek and elegant, but pretty muted.

-
-
Screen
-
+
+
Screen
+

This is my first time ever using a high-DPI screen, and I’m very impressed by it. Text looks unbelievably crisp and pleasant to read. I was somewhat worried about the linux high DPI situation, but I am having no issues whatsoever.

@@ -378,51 +378,51 @@ The brightness goes up quite high, but colours feel somewhat washed out at high

-
-
Keyboard
-
+
+
Keyboard
+

Framework seems to advertise their keyboard as having particularly deep travel, but it mostly just feels like any chiclet keyboard to me. Not a bad chiclet keyboard, but not that great, either. The layout is fine, but it makes me miss the thinkpad.

-
-
Touchpad
-
+
+
Touchpad
+

I’ve never had a decent touchpad before, so I was pleasantly surprised. I expected to miss the trackpoint on the thinkpad a lot, but this is fine, though it’s still a step down. Pinch to zoom doesn’t work very well, but I don’t use that functionality a lot. I miss having dedicated mouse buttons; the clicking functionality on this touchpad works fine for me, but it’s hard not to mess up left/middle/right click. That’s a good incentive for me to practice relying on the mouse less, though. There’s plenty of work being done on the Linux touchpad experience software-side, too. It’s a nice time to be a linux laptop user!

-
-
Battery
-
+
+
Battery
+

With the disclaimer that I haven’t tested very intensely and I haven’t tuned power settings very much.
I seem to get about 6.5 hours of real-world use time when using Emacs and doing light web browsing. I don’t have a good benchmark for more intensive tasks, but compiling does hit the battery pretty hard. All in all I’m very happy with it, getting decent battery life on Linux is hard. It might be worth eventually buying a power bank for it though, for travel~

-
-
Expansion cards/ports
-
+
+
Expansion cards/ports
+

The little expansion cards are one of Framework’s big marketing things. I think they’re pretty neat, though I don’t always quite understand the way people talk about them, as “dongle killers”. I would find hotswapping these about equally obnoxious as carrying dongles. The idea of aftermarket expansion cards is interesting, though - these are low level, high bandwidth ports, with I think similar capabilities to the ExpressCard ports on old business laptops, but more modern with a USB-C port. I’m looking forward to the USB4 era!

-
-
Performance
-
+
+
Performance
+

So far I haven’t felt limited by performance at all, the experience has been really snappy. I haven’t thrown particularly difficult things at it, though, but that’s fine - most of what I do on a laptop is reading, web browsing, and text editing. I played some Factorio on it and that seemed fine, but using the touchpad felt limiting so I didn’t play very much.

-
-

Closing words

-
+
+

Closing words

+

Getting this laptop set up has been really fun! It’s a good opportunity to take stock of where we’re at. On the hardware side, I am very impressed that it’s now possible to make a laptop that’s this user-servicable, this well-specced and still not that expensive. It’s a reminder of how much better things could be.

@@ -437,9 +437,9 @@ Personally, I’m getting a rare chance to critically examine all the little
-
-

Appendix A: Transient Terminal Sources

-
+
+

Appendix A: Transient Terminal Sources

+

togglescratch

@@ -508,9 +508,9 @@ opacity-rule=["90:name = 'scratchterminal'"];
-
-

Appendix B: lock.py

-
+
+

Appendix B: lock.py

+
#!/usr/bin/python3
 import os
diff --git a/html/posts/index.html b/html/posts/index.html
index 9f1c9c3..7b1a371 100644
--- a/html/posts/index.html
+++ b/html/posts/index.html
@@ -1,7 +1,7 @@
 
 
 
-
+
 
 
 Posts
@@ -211,8 +211,8 @@
 
-
-

Posts

+
+

Posts

diff --git a/html/productivity.html b/html/productivity.html new file mode 100644 index 0000000..bab9c39 --- /dev/null +++ b/html/productivity.html @@ -0,0 +1,458 @@ + + + + + + +Productivity + + + + + + + + + + + + +
+ +
+
+
+

Productivity Notes

+
+
+
+

Current Daily Schedule

+
+ + + +++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TimeActivity
08:00Morning Ritual
 Breakfast
 Morning Walk
09:00Daily Prep
 Create Journal Entry
09:30French Grammar
10:00Lead Generation
11:00Work
13:00French Reading
13:30Lunch Break
 Afternoon Exercise
 Meditation
15:00Emails
15:30Work
18:00Chores
19:00Dinner
20:30Journaling
21:00French Vocab
21:30Free
+
+
+
+

Activity Notes

+
+
+
+

French

+
+
+
+
Phonology
+
+

+Sound (within word) + recording in Anki cards +

+
+
+
+
Grammar
+
+
+
    +
  • Verbs
    +
    +
      +
    • Regular -er, -ir, -re
    • +
    • Existential Irregular (être, avoir, faire, aller)
    • +
    • Others
    • +
    + +

    +Systematically put in anki decks (cloze deletion). +

    +
    +
  • +
  • Stock phrases/counting/telling time/directions etc
  • +
  • Tenses
    +
    +
      +
    • Past tense
    • +
    • Future and conditional
    • +
    + +

    +Again in Anki with cloze deletion maybe. +

    +
    +
  • +
  • Pronouns
  • +
  • Prepositions
  • +
  • Subjunctive
  • +
+
+
+
Reading
+
+

+Continue daily reading Le Petit Prince +

+
+
+
+
Writing
+
+

+Challenge: write a little story every friday! +

+
+
+
+
+

Lead Generation

+
+

+Current plausible sources: +

+
    +
  • Go through services I use, look for inadequacies;
  • +
  • Contact people I know, advertise my services;
  • +
  • Communities e.g. +
      +
    • HN Who’s Hiring,
    • +
    • Clojurans Slack server,
    • +
    • Discord servers;
    • +
  • +
  • Job boards: +
      +
    • Otta,
    • +
    • RemoteOK;
    • +
  • +
  • Small startup specific things e.g. +
      +
    • Indiehackers,
    • +
    • Product Hunt.
    • +
  • +
+
+
+
+
+
+
+ +
+ + diff --git a/html/projects/blog.html b/html/projects/blog.html index 238f228..661024c 100644 --- a/html/projects/blog.html +++ b/html/projects/blog.html @@ -1,7 +1,7 @@ - + Blog Project @@ -211,111 +211,111 @@
-
-

TODO Source Exposure

-
+
+

TODO Source Exposure

+

Every page should have a button that takes you to the org-mode source for that page, using the beautifully named org-org-export-to-org.

-
-

TODO Comment Section

-
+
+

TODO Comment Section

+
- -
-

TODO Feeds

-
+
+

TODO Feeds

+
-
-

TODO RSS

+
+

TODO RSS

-
-

TODO Email?

+
+

TODO Email?

-
-

TODO Multiple frontends dispatch

+
+

TODO Multiple frontends dispatch

-
-

TODO Custom emojis

+
+

TODO Custom emojis

-
-

TODO Port esquemadorg.js to CLJS and get rid of JQuery dependency

+
+

TODO Port esquemadorg.js to CLJS and get rid of JQuery dependency

-
-

TODO “Last Modified” implementation is a bit janky and I don’t remember exactly how it works

+
+

TODO “Last Modified” implementation is a bit janky and I don’t remember exactly how it works

-
-

TODO Rewrite all JS to CLJS

+
+

TODO Rewrite all JS to CLJS

-
-

TODO Naming a section “footnotes” will cause org-mode to interpret it as the footnotes section when exporting (causing it to be hidden)

+
+

TODO Naming a section “footnotes” will cause org-mode to interpret it as the footnotes section when exporting (causing it to be hidden)

-
-

TODO Tangle CSS and (CL)JS from org file

+
+

TODO Tangle CSS and (CL)JS from org file

-
-

TODO Reorganize static/ dir

+
+

TODO Reorganize static/ dir

-
-

TODO Write Ultraman page

+
+

TODO Write Ultraman page

-
-

TODO Automatically remove EXIF data from static images

+
+

TODO Automatically remove EXIF data from static images

-
-

TODO !! OLD HTML FILES STILL DON’T AUTO CLEAR WHEN CORRESPONDING ORG FILE IS REMOVED !!

+
+

TODO !! OLD HTML FILES STILL DON’T AUTO CLEAR WHEN CORRESPONDING ORG FILE IS REMOVED !!

-
-

TODO Put DJ sets on bloggie

+
+

TODO Put DJ sets on bloggie

-
-

TODO Fix background flash

+
+

TODO Fix background flash

-
-

TODO click images to expand

+
+

TODO click images to expand

-
-

TODO general mobile review

+
+

TODO general mobile review

-
-

TODO add badges

+
+

TODO add badges

-
-

TODO floating TOC if viewport is big enough

+
+

TODO floating TOC if viewport is big enough

-
-

TODO Fill in missing index pages

+
+

TODO Fill in missing index pages

-
-

TODO Auto template only applies to posts/ subdirectory

+
+

TODO Auto template only applies to posts/ subdirectory

-
-

TODO optimize fonts

+
+

TODO optimize fonts

-
-

TODO web caching

+
+

TODO web caching

-
-

TODO org-mode export caching

+
+

TODO org-mode export caching

-
-

TODO front page habit table thing

-
+
+

TODO front page habit table thing

+
-
-

TODO relative links do not work here!!

+
+

TODO relative links do not work here!!

-
-

TODO caching problems

+
+

TODO caching problems

-
-

TODO footnote thing doesn’t render the same as in the actual page

+
+

TODO footnote thing doesn’t render the same as in the actual page

diff --git a/html/projects/emptyhead/index.html b/html/projects/emptyhead/index.html index 8995a1c..99cc05c 100644 --- a/html/projects/emptyhead/index.html +++ b/html/projects/emptyhead/index.html @@ -1,7 +1,7 @@ - + diff --git a/html/projects/emptyhead/todo.html b/html/projects/emptyhead/todo.html index 84a2832..406dbbd 100644 --- a/html/projects/emptyhead/todo.html +++ b/html/projects/emptyhead/todo.html @@ -1,7 +1,7 @@ - + EMPTYHEAD TODO @@ -211,8 +211,8 @@
-
-

TODO fill this in

+
+

TODO fill this in

diff --git a/html/projects/index.html b/html/projects/index.html index c9d56af..f57bd2f 100644 --- a/html/projects/index.html +++ b/html/projects/index.html @@ -1,7 +1,7 @@ - + Projects Index @@ -211,24 +211,24 @@
-
-

Projects Index

-
+
+

Projects Index

+

Here’s a list of projects I maintain or am currently working on.

-
-

TO-DOs for this website

+ -
-

The EMPTYHEAD

+ - diff --git a/html/projects/tenma/index.html b/html/projects/tenma/index.html index cc5eb4f..1624e19 100644 --- a/html/projects/tenma/index.html +++ b/html/projects/tenma/index.html @@ -1,7 +1,7 @@ - + Tenma Readme @@ -211,16 +211,16 @@
-
-

Opening tenma up to friends

-
+
+

Opening tenma up to friends

+

Our server/intranet Tenma is currently underutilized, and it would be nice/fun/useful to open it up to select other people. This would only be available to friends, not a public service.

-
-

Tenma Specs

-
+
+

Tenma Specs

+
  • Storage: 2×12TB in RAID 1
  • CPU: Ryzen 7 3700X (16 threads @ 3.6GHz)
  • @@ -229,69 +229,69 @@ Our server/intranet Tenma is currently underutilized, and it would be nice/fun/u
-
-

Things that Tenma can provide

-
+
+

Things that Tenma can provide

+
-
-

Storage

-
+
+

Storage

+

As of 23-06-2025, 4.6TB free space. Could start by reserving 1TB, which would provide enough storage for 20×50GB for guests users, which would be plenty for a long time. Tenma also hosts a copyparty instance that could be opened to the public to some extent or another.

-
-

Bandwidth/hosting

-
+
+

Bandwidth/hosting

+

Tenma has full web hosting infrastructure set up (hosting this blog among other things), so that would be easy to extend to other people as well.

-
-

VPS

-
+
+

VPS

+

In line with the previous 2 points; compute resources are currently underutilized.

-
-

Intranet

-
+
+

Intranet

+

Tenma runs a Wireguard VPN network. You can use this to, for instance, access services between two connected devices without having to open them up to the wider internet.

-
-

DNS Server

-
+
+

DNS Server

+

Tenma runs a fully resolving DNS server, with some local entries for devices on the VPN network. This should probably be automated in some way, and the service should be augmented with DNSSEC before opening.

-
-

Git

-
+
+

Git

+

Tenma has a Gitea instance

-
-

Livestreaming

-
+
+

Livestreaming

+

Tenma has infrastructure proven capable of restreaming 1080p video and high quality audio to at least ~100 people although this is CPU intensive and requires activating a high bandwidth restreaming VPS that is usually kept disabled to save costs.

-
-

Other things

-
+
+

Other things

+

Some other services that currently run on Tenma or have run there before:

@@ -304,9 +304,9 @@ Some other services that currently run on Tenma or have run there before:
-
-

Considerations

-
+
+

Considerations

+
  • This would require Tenma’s internal documentation to be updated, adapted and publicized.
  • Security :teto:
  • diff --git a/html/projects/webbiewebworld/index.html b/html/projects/webbiewebworld/index.html index 1deaeaf..e85d851 100644 --- a/html/projects/webbiewebworld/index.html +++ b/html/projects/webbiewebworld/index.html @@ -1,7 +1,7 @@ - + WebbieWebWorld TODO @@ -211,8 +211,8 @@
-
-

TODO fill this in

+
+

TODO fill this in

diff --git a/html/sitemap.html b/html/sitemap.html index 3067230..e190880 100644 --- a/html/sitemap.html +++ b/html/sitemap.html @@ -1,7 +1,7 @@ - + Sitemap for project pages @@ -214,6 +214,7 @@
-
-
-

Webbieweb.org Literate Sources   h4left h5left h3underline

-
+
+

Webbieweb.org Literate Sources   h4left h5left h3underline

+
-
-

Introduction

- -
-

Export Commands

-
+
+

Export Commands

+

Load this file up in Emacs and hit C-c C-c on the code block below to export changes to HTML.

-
<<blog-scaffolding>>
+
<<blog-scaffolding>>
 (blog/publish)
 (org-babel-tangle)
 
@@ -261,22 +261,22 @@ The one below will ignore caching; necessary in some situations, for instance: c Currently the habit tracker table also gets erronously cached.

-
<<blog-scaffolding>>
+
<<blog-scaffolding>>
 (blog/force-publish)
 (org-babel-tangle)
 
-
-

Elisp

-
+
+

Elisp

+
-
-

Basic Settings/Scaffolding   autocollapse

-
+
+

Basic Settings/Scaffolding   autocollapse

+
-
(require 'ox-publish)
+
(require 'ox-publish)
 
 <<no-sitemap>>
 
@@ -377,18 +377,18 @@ Currently the habit tracker table also gets erronously cached.
 
-
-

Features

-
+
+

Features

+
-
-

Sitemap   autocollapse

-
+
+

Sitemap   autocollapse

+

Files with #+FILETAGS: :no-sitemap: at the top will be excluded from the sitemap. Every directory dir/ will link to dir/index.org, with index.org being removed as a child entry.

-
(defun blog/sitemap-format-entry
+
(defun blog/sitemap-format-entry
     (entry style project)
   ;; Blank out entries with :no_sitemap:
   (let* ((tags (org-publish-find-property entry :filetags project))
@@ -423,9 +423,9 @@ Files with #+FILETAGS: :no-sitemap: at the top will be excluded fro
 
-
-

Tag-based Section Control   autocollapse

-
+
+

Tag-based Section Control   autocollapse

+

Org-mode headers support tags:

@@ -463,9 +463,9 @@ We will hide the tags themselves:
-
-

Header Styling Tags   autocollapse

-
+
+

Header Styling Tags   autocollapse

+

Tags for granular styling. This page has :h4left:h5left:h3underline: at the top level.

@@ -485,34 +485,34 @@ Tags for granular styling. This page has :h4left:h5left:h3underline:
-
-

Journal   autocollapse

-
+
+

Journal   autocollapse

+

Here’s a template for the journal files, as reference for what follows:

-
-
Template   autocollapse
-
+
+
Template   autocollapse
+
#+FILETAGS: :no_sitemap:
 #+TODO: NO(n) | YES(y) EXCELLENT(e) FREED(f)
-#+title: Journal Week XX, YYYY
+#+title: Journal Week XX, XXXX
 #+BEGIN_CENTER
-Previous | Index
+Previous | Index
 #+END_CENTER
-* Journal Week XX, YYYY
-** Monday, ZZth MMMM
+* Journal Week XX, XXXX
+** Monday, XXth XXXXXXXX :journal:
 :PROPERTIES:
-:DAILIES-YEAR: YYYY
-:DAILIES-DAY: DDD
+:DAILIES-YEAR: 2025
+:DAILIES-DAY: XXX
 :END:
-*** NO Journal
+*** NO Journal :jentry:
 :PROPERTIES:
 :CUSTOM_ID: dailies-blogging
 :END:
-*** Habits :autocollapse:
+*** Habits :autocollapse:habits:
 **** NO Meditation
 :PROPERTIES:
 :CUSTOM_ID: dailies-meditation
@@ -545,9 +545,9 @@ Here’s a template for the journal files, as reference for what follows:
 
-
-
Styling
-
+
+
Styling
+
div:has(h3 .tag .journal) {
     border: none;
@@ -580,18 +580,18 @@ Here’s a template for the journal files, as reference for what follows:
 
-
-

Habit Tracker   autocollapse

-
+
+

Habit Tracker   autocollapse

+

Implements the habit tracking table on the front page. Habits are extracted from journal entries and rendered into a table, including a “streak” heatmap and the ability to click cells to see the corresponding entry.

-
-
Elisp   autocollapse
-
+
+
Elisp   autocollapse
+
-
(defun akk0/org-to-html (org-string)
+
(defun akk0/org-to-html (org-string)
   "Convert ORG-STRING to HTML."
   (with-temp-buffer
     (insert org-string)
@@ -715,7 +715,7 @@ Implements the habit tracking table on the front page
         (sorted-habits (akk0/sort-habits habit-alist))
         (html ""))
     ;; Start table
-    (setq html (concat html "<table style='margin-left: auto; margin-right:auto; margin-bottom: 0.8rem;'>\n"))
+    (setq html (concat html "<table class='habit-table' style='margin-left: auto; margin-right:auto; margin-bottom: 0.8rem;'>\n"))
 
     ;; Header row with day numbers
     (setq html (concat html "  <tr>\n    <th></th>\n"))
@@ -723,7 +723,7 @@ Implements the habit tracking table on the front page
       (let ((day (+ (- day-number days-back) i 1)))
         (setq html (concat
                     html
-                    (cond ((= day day-number) "<th>●</th>")
+                    (cond ((= day day-number) "<th class='habit-click-me'>click me ↓</th>")
                           ((= 0 (% (- day day-number) 7)) "<th>○</th>")
                           (t "<th />"))))))
     (setq html (concat html "  </tr>\n"))
@@ -733,7 +733,7 @@ Implements the habit tracking table on the front page
     (dolist (entry sorted-habits)
       (let* ((custom-id (car entry))
              (history (akk0/get-habit-history habit-alist custom-id day-number days-back window-size)))
-        (setq html (concat html (format "  <tr>\n    <td style='padding-right: 20px; padding-top: 5px; padding-bottom: 5px;'><i>%s</i></td>\n" (capitalize (string-remove-prefix "dailies-" custom-id)))))
+        (setq html (concat html (format "  <tr>\n    <td class='habit-name' style='padding-right: 20px; padding-top: 5px; padding-bottom: 5px;'><i>%s</i></td>\n" (capitalize (string-remove-prefix "dailies-" custom-id)))))
 
         ;; Cell for each day
         (dolist (day-data history)
@@ -782,14 +782,14 @@ Implements the habit tracking table on the front page
 
     html))
 
-(akk0/habits-to-html-table habit-alist (string-to-number (format-time-string "%j")) 30 5)
+(akk0/habits-to-html-table habit-alist (string-to-number (format-time-string "%j")) 21 5)
 
-
-
Expansion Section   autocollapse
-
+
+
Expansion Section   autocollapse
+

A bit of JS for enabling the expanding of entries.

@@ -831,9 +831,9 @@ A bit of JS for enabling the expanding of entries.
-
-
CSS   autocollapse
-
+
+
CSS   autocollapse
+

Color habit entries based on their completion status:

@@ -864,13 +864,30 @@ Color habit entries based on their completion status: Style the cells, set legible text color, outline clickable:

-
.habit-cell {
+
.habit-table th, .habit-table td {
     text-align: center;
     vertical-align: middle;
     width: 20px;
     height: 20px;
     cursor: pointer;
     user-select: none;
+    padding: 8px;
+    max-width: 22px;
+}
+
+.habit-table th {
+    padding: 0;
+}
+
+.habit-click-me {
+    font-weight: normal;
+    font-size: calc(var(--font-size) * 0.7);
+    line-height: calc(var(--line-height) * 0.7);
+    text-align: center;
+}
+
+.habit-name {
+    max-width: 15rem !important;
 }
 
 .habit-cell.habit-brightness-1 { color: var(--grey5); outline-color: var(--grey5) !important; }
@@ -892,9 +909,9 @@ Style the cells, set legible text color, outline clickable:
 
-
-

Header Collapsing   autocollapse

-
+
+

Header Collapsing   autocollapse

+

Sections can be expanded and collapsed by clicking on their headers; this will assign .orgjq-expanded and .orgjq-contracted CSS classes as appropriate. Headers with the :autocollapse: tag will be collapsed by default (like this section).

@@ -1013,9 +1030,9 @@ Sections can be expanded and collapsed by clicking on their headers; this will a
-
-

Hover Notes   autocollapse

-
+
+

Hover Notes   autocollapse

+

Turns org-mode footnotes ([fn::Like this]) into hover-notes1.

@@ -1073,17 +1090,17 @@ document.addEventListener('DOMContentLoaded', en
-
-

Appearance

-
+
+

Appearance

+
-
-

Global   autocollapse

-
+
+

Global   autocollapse

+
-
-
Variables
-
+
+
Variables
+
:root {
     --site-width: 1000px;
@@ -1099,9 +1116,9 @@ document.addEventListener('DOMContentLoaded', en
 
-
-
Color Variables
-
+
+
Color Variables
+
:root {
     --green1: #123218;
@@ -1145,9 +1162,9 @@ document.addEventListener('DOMContentLoaded', en
 
-
-
Background image
-
+
+
Background image
+
body::before,
 body::after {
@@ -1182,8 +1199,8 @@ document.addEventListener('DOMContentLoaded', en
 
    -
  • TODO This is a weird approach and has some issues
    -
    +
  • TODO This is a weird approach and has some issues
    +
    • White line in center in some setups
    • Crunchy lines depending on DPI
    • @@ -1192,9 +1209,9 @@ document.addEventListener('DOMContentLoaded', en
    -
    -
    Fonts
    -
    +
    +
    Fonts
    +
    body {
         font-family: var(--font-family);
    @@ -1207,9 +1224,9 @@ document.addEventListener('DOMContentLoaded', en
     
    -
    -
    Header/Content/Footer blocks
    -
    +
    +
    Header/Content/Footer blocks
    +
    #content, #header, #footer {
         min-width: 500px;
    @@ -1272,13 +1289,13 @@ document.addEventListener('DOMContentLoaded', en
     
    -
    -

    Colors   autocollapse

    -
    +
    +

    Colors   autocollapse

    +
    -
    -
    Color Assignments
    -
    +
    +
    Color Assignments
    +
    body {
         color: var(--black);
    @@ -1289,9 +1306,9 @@ document.addEventListener('DOMContentLoaded', en
     
    -
    -
    Syntax Highlighting
    -
    +
    +
    Syntax Highlighting
    +
    pre                                      {background-color:var(--grey1); color:var(--grey5);}
     pre span.org-builtin                     {color:var(--blue4);font-weight:bold;}
    @@ -1331,17 +1348,22 @@ document.addEventListener('DOMContentLoaded', en
     
    -
    -

    General CSS   autocollapse

    -
    +
    +

    General CSS   autocollapse

    +
    -
    -
    Et Cetera
    -
    +
    +
    Et Cetera
    +
    -
    hr {
    +
    tbody { border-bottom: 1px dotted var(--grey1); }
    +thead { border-bottom: 1px solid var(--grey1); }
    +th, td { padding-right: 4rem; }
    +th.org-left { text-align: left; }
    +
    +hr {
         border: 0;
    -    border-top: 2px dotted var(--black);
    +    border-top: 2px dotted var(--grey1);
     }
     
     a, a:visited {
    @@ -1380,13 +1402,14 @@ document.addEventListener('DOMContentLoaded', en
     .section-number-1, .section-number-2, .section-number-3, .section-number-4 { display: none; }
     
     ul { margin-top: 0; }
    +
     
    -
    -
    Utility Classes
    -
    +
    +
    Utility Classes
    +
    .center {
         display: block;
    @@ -1435,13 +1458,13 @@ document.addEventListener('DOMContentLoaded', en
     
    -
    -

    Elements   autocollapse

    -
    +
    +

    Elements   autocollapse

    +
    -
    -
    Looking for Work
    -
    +
    +
    Looking for Work
    +
    #looking-for-work {
         background-color: var(--red2);
    @@ -1461,9 +1484,9 @@ document.addEventListener('DOMContentLoaded', en
     
    -
    -
    Code Blocks
    -
    +
    +
    Code Blocks
    +
    .src, .example {
         font-family: monospace;
    @@ -1473,9 +1496,9 @@ document.addEventListener('DOMContentLoaded', en
     
    -
    -
    Publish/modified Date
    -
    +
    +
    Publish/modified Date
    +
    #publish-date, #modified-date {
         font-style: italic;
    @@ -1484,9 +1507,9 @@ document.addEventListener('DOMContentLoaded', en
     
    -
    -
    Table of Contents
    -
    +
    +
    Table of Contents
    +
    #table-of-contents {
         z-index: 1;
    @@ -1537,9 +1560,9 @@ document.addEventListener('DOMContentLoaded', en
     
    -
    -
    To-Dos
    -
    +
    +
    To-Dos
    +
    .TODO { color: var(--red3); }
     .DONE { color: var(--green3); }
    @@ -1560,7 +1583,7 @@ document.addEventListener('DOMContentLoaded', en
     
    -
    -
    -

    New phone

    -
    +
    +

    New phone

    +
    -
    -

    TODO Import contacts

    +
    +

    TODO Import contacts

    -
    -

    TODO Deeper Tenma integrations

    +
    +

    TODO Deeper Tenma integrations

    -
    -

    Tenma Infrastructure

    -
    +
    +

    Tenma Infrastructure

    +
    -
    -

    TODO Prepare Tenma to open her up to other users.

    +
    +

    TODO Prepare Tenma to open her up to other users.

    -
    -

    TODO Deeper copyparty integration

    -
    +
    +

    TODO Deeper copyparty integration

    +
    -
    -

    TODO Screenshot service

    +
    +

    TODO Screenshot service

    -
    -

    Life/houshold things

    -
    +
    +

    Life/houshold things

    +
    -
    -

    TODO Adopt a cat

    +
    +

    TODO Adopt a cat

    -
    -

    TODO Have wisdom teeth pulled

    +
    +

    TODO Have wisdom teeth pulled

    -
    -

    TODO Health checkup

    +
    +

    TODO Health checkup

    -
    -

    TODO Put plants in the house

    +
    +

    TODO Put plants in the house

    -
    -

    Blog

    -
    +
    +

    Blog

    +
    -
    -

    See blog.org

    +
    +

    See blog.org

    -
    -

    Design Documents

    -
    +
    +

    Design Documents

    +
    -
    -

    WebbieWebWorld

    + -
    -

    EMPTYHEAD

    + -
    -

    VDP

    +
    +

    VDP

    -
    -

    Other

    -
    +
    +

    Other

    +
    -
    -

    TODO Exercise playlists

    +
    +

    TODO Exercise playlists

    -
    -

    TODO Create Friends webring page on the blog

    +
    +

    TODO Create Friends webring page on the blog

    -
    -

    TODO Keyboards blog page

    +
    +

    TODO Keyboards blog page

    -
    -

    TODO custom emacs theme

    +
    +

    TODO custom emacs theme

    -
    -

    TODO Learn about ATProto

    +
    +

    TODO Learn about ATProto

    -
    -

    TODO Process Genius Ideas

    +
    +

    TODO Process Genius Ideas

    -
    -

    TODO Cancel Amazon Prime

    +
    +

    TODO Cancel Amazon Prime

    -
    -

    TODO Compile Compsci Resources page

    +
    +

    TODO Compile Compsci Resources page

    -
    -

    TODO Tell the keyboard guy I’ve moved house

    +
    +

    TODO Tell the keyboard guy I’ve moved house

    -
    -

    TODO Look into live coding music setup

    +
    +

    TODO Look into live coding music setup

    -
    -

    TODO Make Runescape video

    +
    +

    TODO Make Runescape video

    -
    -

    TODO Create looking for work journey page

    +
    +

    TODO Create looking for work journey page

    diff --git a/html/work/crypto_contracting_reflections.html b/html/work/crypto_contracting_reflections.html index d5dc31e..189d70b 100644 --- a/html/work/crypto_contracting_reflections.html +++ b/html/work/crypto_contracting_reflections.html @@ -1,7 +1,7 @@ - + Reflections on Independent Contracting in the Cryptocurrency Sector (2021-2022) @@ -211,25 +211,25 @@
    -
    -

    TODO This page is unfinished

    +
    +

    TODO This page is unfinished

    -
    -

    Reflections on Independent Contracting in the Cryptocurrency Sector (2021-2022)

    -
    +
    +

    Reflections on Independent Contracting in the Cryptocurrency Sector (2021-2022)

    +
    -
    -

    Introduction

    -
    +
    +

    Introduction

    +

    This is a reflective article on the time I spent working as a software contractor in the cryptocurrency sector between 2021 and 2022 (maybe 10 months total?). I did a variety of things including full-stack web development, blockchain integrations, as well as some smart contract development and general consulting.

    -
    -

    Background

    -
    +
    +

    Background

    +

    This period was around the tail end of my passing interest/involvement in the cryptocurrency phenomenon, a time period that roughly spans from 2016 until the end of this gig in early 2022. I was interested in the technology, but wasn’t actively building on it until 2021 and being 23 years old and living off student loans I didn’t hold a significant financial stake in cryptocurrency. My connection to the wider crypto1 ran primarily through a good friend, and it was this friend that recruited me to this gig.

    @@ -255,28 +255,28 @@ Given its central importance to the story I suppose I must detail exactly how mu

    -
    -

    The Work

    -
    +
    +

    The Work

    +
    -
    -

    VW

    +
    +

    VW

    -
    -

    EW

    +
    +

    EW

    -
    -

    CM

    +
    +

    CM

    -
    -

    Quitting

    +
    +

    Quitting

    -
    -

    Spending the Money

    +
    +

    Spending the Money

    -
    -

    Lessons Learned

    +
    +

    Lessons Learned

    diff --git a/html/work/eris_retrospective.html b/html/work/eris_retrospective.html index 664ac84..a84ed98 100644 --- a/html/work/eris_retrospective.html +++ b/html/work/eris_retrospective.html @@ -1,7 +1,7 @@ - + Eris Retrospective @@ -211,8 +211,8 @@
    -
    -

    TODO

    +
    +

    TODO

    diff --git a/html/work/index.html b/html/work/index.html index d3fa185..ae07f52 100644 --- a/html/work/index.html +++ b/html/work/index.html @@ -1,7 +1,7 @@ - + Work Index @@ -211,31 +211,31 @@
    -
    -

    Work Index

    -
    +
    +

    Work Index

    +

    Here I keep various documents relating to my professional life.

    -
    -

    I am looking for work! Here are the services I offer.

    +
    +

    I am looking for work! Here are the services I offer.

    -
    -

    Here’s my portfolio.

    +
    +

    Here’s my portfolio.

    -
    -

    Memoirs about work I did in the past

    -
    +
    +

    Memoirs about work I did in the past

    +
    -
    -

    Toshokan.moe

    + - diff --git a/html/work/looking_for_work.html b/html/work/looking_for_work.html index c2be7ee..d72ef19 100644 --- a/html/work/looking_for_work.html +++ b/html/work/looking_for_work.html @@ -1,7 +1,7 @@ - + Looking for Work @@ -211,13 +211,13 @@
    -
    -

    Looking for Work

    -
    +
    +

    Looking for Work

    +
    -
    -

    About Me

    -
    +
    +

    About Me

    +

    I’m Akk0, long-term enthusiast software developer, sysadmin, freelancer and this website’s webmaster. I’ve been at this computer thing for a while — my first dist-upgrade was Linux Mint 15 “Olivia” in 2013 — and I am currently actively looking for work on a freelance, contract or part-time basis, full remote or partially on-site in the Paris area1. I am also open to regular full-time positions at interesting copmanies.

    @@ -227,9 +227,9 @@ In order to rapidly build connections and get the ball rolling, I am currently o

    -
    -

    Services Offered

    -
    +
    +

    Services Offered

    +

    My specialisation is in end-to-end, start to finish software development; taking software from idea to specification and through implementation to clean, finished, deployed and of course well-documented product. The independence and flexibility on which I pride myself can be put to many uses, however, and jobs I would love to do for example include:

    @@ -254,17 +254,17 @@ I especially love working with small businesses and individuals, as well as empo

    -
    -

    Two Hours Free!

    -
    +
    +

    Two Hours Free!

    +

    As an offer of goodwill, I am currently offering up to 2 hours of work entirely free, with no obligations, no strings attached; simply contact me using the contact information below. Time starts from the moment I start reading your email and includes communication time, so try to be detailed!

    -
    -

    Contact Me

    -
    +
    +

    Contact Me

    +

    To inquire further, contact me at akk0 {at} webbieweb {dot} org and tell me:

    @@ -279,9 +279,9 @@ I am of course more than willing to jump on a call to discuss or just to prove I

    -
    -

    Qualifications and Accomplishments

    -
    +
    +

    Qualifications and Accomplishments

    +

    Main page: portfolio; under construction.

    diff --git a/html/work/portfolio.html b/html/work/portfolio.html index af0e5d0..3091b0a 100644 --- a/html/work/portfolio.html +++ b/html/work/portfolio.html @@ -1,7 +1,7 @@ - + Portfolio @@ -211,8 +211,8 @@
    -
    -

    TODO Portfolio

    +
    +

    TODO Portfolio

    diff --git a/html/work/toshokan_retrospective.html b/html/work/toshokan_retrospective.html index ab60754..a1d9e94 100644 --- a/html/work/toshokan_retrospective.html +++ b/html/work/toshokan_retrospective.html @@ -1,7 +1,7 @@ - + Toshokan Retrospective @@ -211,8 +211,8 @@
    -
    -

    TODO

    +
    +

    TODO

    diff --git a/org/index.org b/org/index.org index 224654f..73c162c 100644 --- a/org/index.org +++ b/org/index.org @@ -8,7 +8,7 @@ Here's a short /Best Of/: - [[./source.org][source.org]], the literate sources and documentation for this website; - My retrospective on [[./events/premier_impact.org][Premier Impact]], a music event I co-organized. -Here's this week's [[./journal/w47-2025.org][journal]]! +Here's this week's [[./journal/w48-2025.org][journal]]! ** /Pro Tips/ - You can fold and unfold sections by clicking the headline. Try it! diff --git a/org/journal/template.org b/org/journal/template.org index 183c934..d857059 100644 --- a/org/journal/template.org +++ b/org/journal/template.org @@ -1,20 +1,20 @@ #+FILETAGS: :no_sitemap: #+TODO: NO(n) | YES(y) EXCELLENT(e) FREED(f) -#+title: Journal Week XX, YYYY +#+title: Journal Week XX, XXXX #+BEGIN_CENTER -[[./wXX-YYYY.org][Previous]] | [[./index.org][Index]] +[[./wXX-2025.org][Previous]] | [[./index.org][Index]] #+END_CENTER -* Journal Week XX, YYYY -** Monday, ZZth MMMM +* Journal Week XX, XXXX +** Monday, XXth XXXXXXXX :journal: :PROPERTIES: -:DAILIES-YEAR: YYYY -:DAILIES-DAY: DDD +:DAILIES-YEAR: 2025 +:DAILIES-DAY: XXX :END: -*** NO Journal +*** NO Journal :jentry: :PROPERTIES: :CUSTOM_ID: dailies-blogging :END: -*** Habits :autocollapse: +*** Habits :autocollapse:habits: **** NO Meditation :PROPERTIES: :CUSTOM_ID: dailies-meditation @@ -43,3 +43,4 @@ :PROPERTIES: :CUSTOM_ID: dailies-reading :END: + diff --git a/org/journal/w47-2025.org b/org/journal/w47-2025.org index e814b32..9aa643c 100644 --- a/org/journal/w47-2025.org +++ b/org/journal/w47-2025.org @@ -1,15 +1,15 @@ #+TODO: NO(n) | YES(y) EXCELLENT(e) FREED(f) #+title: Journal Week 47, 2025 #+BEGIN_CENTER -[[./w46-2025.org][Previous]] | [[./index.org][Index]] +[[./w46-2025.org][Previous]] | [[./index.org][Index]] | [[./w48-2025.org][Next]] #+END_CENTER * Journal Week 47, 2025 -** Thursday, 20th November 2025 +** Thursday, 20th November 2025 :journal: :PROPERTIES: :DAILIES-YEAR: 2025 :DAILIES-DAY: 324 :END: -*** YES Journal +*** YES Journal :jentry: :PROPERTIES: :CUSTOM_ID: dailies-blogging :END: @@ -20,7 +20,7 @@ Extensively updated [[../source.org][source.org]]. Very proud of it now. Cool. T I have a new daily schedule now that I like; I'll try and do a writeup of it tomorrow. Planning to change/simplify the habit tracker somewhat, and drop some of the categories. -*** Habits :autocollapse: +*** Habits :autocollapse:habits: **** EXCELLENT Meditation :PROPERTIES: :CUSTOM_ID: dailies-meditation @@ -55,14 +55,14 @@ Planning to change/simplify the habit tracker somewhat, and drop some of the cat :DAILIES-YEAR: 2025 :DAILIES-DAY: 325 :END: -*** YES Journal +*** YES Journal :jentry: :PROPERTIES: :CUSTOM_ID: dailies-blogging :END: Stomach hurts. Slow day because of it. Started checking out the new OSRS Sailing skill --- seems fun. Added a favicon to the website. They're really hard to make! -*** Habits :autocollapse: +*** Habits :autocollapse:habits: **** NO Meditation :PROPERTIES: :CUSTOM_ID: dailies-meditation diff --git a/org/journal/w48-2025.org b/org/journal/w48-2025.org new file mode 100644 index 0000000..51ce83d --- /dev/null +++ b/org/journal/w48-2025.org @@ -0,0 +1,91 @@ +#+FILETAGS: :no_sitemap: +#+TODO: NO(n) | YES(y) EXCELLENT(e) FREED(f) +#+title: Journal Week 48, 2025 +#+BEGIN_CENTER +[[./w47-2025.org][Previous]] | [[./index.org][Index]] +#+END_CENTER +* Journal Week 48, 2025 +** Monday, 27th November :journal: +:PROPERTIES: +:DAILIES-YEAR: 2025 +:DAILIES-DAY: 331 +:END: +*** YES Journal :jentry: +:PROPERTIES: +:CUSTOM_ID: dailies-blogging +:END: +Phew. Came down with a pretty bad stomach bug for a while. All better now, thankfully. + +Came up with some [[../productivity.org][productivity notes]], including a daily schedule. Here's a copy of that initial version: + +|---------+----------------------| +| _Time_ | _Activity_ | +|---------+----------------------| +| *08:00* | Morning Ritual | +| | Breakfast | +| | Morning Walk | +|---------+----------------------| +| *09:00* | Daily Prep | +| | Create Journal Entry | +|---------+----------------------| +| *09:30* | French Grammar | +|---------+----------------------| +| *10:00* | Lead Generation | +|---------+----------------------| +| *11:00* | Work | +|---------+----------------------| +| *13:00* | French Reading | +|---------+----------------------| +| *13:30* | Lunch Break | +| | Afternoon Exercise | +| | Meditation | +|---------+----------------------| +| *15:00* | Emails | +|---------+----------------------| +| *15:30* | Work | +|---------+----------------------| +| *18:00* | Chores | +|---------+----------------------| +| *19:00* | Dinner | +|---------+----------------------| +| *20:30* | Journaling | +|---------+----------------------| +| *21:00* | French Vocab | +|---------+----------------------| +| *21:30* | Free | +|---------+----------------------| + +It's still undever development and maybe a little dense, but it's nice to have some guideline structure that includes everything. I'm especially prioritizing French study and finding work now. + +The email address in the footer works again now! I'm using Porkbun's mail host now -- $2/month, so that's very reasonable. + +Gonna start cold emailing for employment leads today... nervous as hell, not gonna lie. +*** Habits :autocollapse:habits: +**** NO Meditation +:PROPERTIES: +:CUSTOM_ID: dailies-meditation +:END: +**** NO Drawing +:PROPERTIES: +:CUSTOM_ID: dailies-drawing +:END: +**** YES Engineering +:PROPERTIES: +:CUSTOM_ID: dailies-engineering +:END: +**** YES French +:PROPERTIES: +:CUSTOM_ID: dailies-french +:END: +**** NO Social +:PROPERTIES: +:CUSTOM_ID: dailies-social +:END: +**** YES Exercise +:PROPERTIES: +:CUSTOM_ID: dailies-exercise +:END: +**** NO Reading +:PROPERTIES: +:CUSTOM_ID: dailies-reading +:END: diff --git a/org/productivity.org b/org/productivity.org new file mode 100644 index 0000000..3731f47 --- /dev/null +++ b/org/productivity.org @@ -0,0 +1,81 @@ +#+title: Productivity + +* Productivity Notes +** Current Daily Schedule +|---------+----------------------| +| _Time_ | _Activity_ | +|---------+----------------------| +| *08:00* | Morning Ritual | +| | Breakfast | +| | Morning Walk | +|---------+----------------------| +| *09:00* | Daily Prep | +| | Create Journal Entry | +|---------+----------------------| +| *09:30* | French Grammar | +|---------+----------------------| +| *10:00* | Lead Generation | +|---------+----------------------| +| *11:00* | Work | +|---------+----------------------| +| *13:00* | French Reading | +|---------+----------------------| +| *13:30* | Lunch Break | +| | Afternoon Exercise | +| | Meditation | +|---------+----------------------| +| *15:00* | Emails | +|---------+----------------------| +| *15:30* | Work | +|---------+----------------------| +| *18:00* | Chores | +|---------+----------------------| +| *19:00* | Dinner | +|---------+----------------------| +| *20:30* | Journaling | +|---------+----------------------| +| *21:00* | French Vocab | +|---------+----------------------| +| *21:30* | Free | +|---------+----------------------| + +** Activity Notes +*** French +**** Phonology +Sound (within word) + recording in Anki cards +**** Grammar +***** Verbs +- Regular /-er/, /-ir/, /-re/ +- Existential Irregular (être, avoir, faire, aller) +- Others + +Systematically put in anki decks (cloze deletion). +***** Stock phrases/counting/telling time/directions etc +***** Tenses +- Past tense +- Future and conditional + +Again in Anki with cloze deletion maybe. +***** Pronouns +***** Prepositions +***** Subjunctive +**** Reading +Continue daily reading Le Petit Prince +**** Writing +Challenge: write a little story every friday! + + +*** Lead Generation +Current plausible sources: +- Go through services I use, look for inadequacies; +- Contact people I know, advertise my services; +- Communities e.g. + * HN Who's Hiring, + * Clojurans Slack server, + * Discord servers; +- Job boards: + * Otta, + * RemoteOK; +- Small startup specific things e.g. + * Indiehackers, + * Product Hunt. diff --git a/org/sitemap.org b/org/sitemap.org index e628c45..f6c830f 100644 --- a/org/sitemap.org +++ b/org/sitemap.org @@ -2,6 +2,7 @@ - [[file:source.org][Webbieweb.org Sources]] - [[file:index.org][Index]] +- [[file:productivity.org][Productivity]] - [[file:todo.org][To Do]] - [[file:about.org][About]] - [[file:friends.org][Friends]] diff --git a/org/source.org b/org/source.org index fa08c6f..4db6c1e 100644 --- a/org/source.org +++ b/org/source.org @@ -384,7 +384,7 @@ Rows are custom-ids, columns are days." (sorted-habits (akk0/sort-habits habit-alist)) (html "")) ;; Start table - (setq html (concat html "\n")) + (setq html (concat html "
    \n")) ;; Header row with day numbers (setq html (concat html " \n \n")) @@ -392,7 +392,7 @@ Rows are custom-ids, columns are days." (let ((day (+ (- day-number days-back) i 1))) (setq html (concat html - (cond ((= day day-number) "") + (cond ((= day day-number) "") ((= 0 (% (- day day-number) 7)) "") (t "\n")) @@ -402,7 +402,7 @@ Rows are custom-ids, columns are days." (dolist (entry sorted-habits) (let* ((custom-id (car entry)) (history (akk0/get-habit-history habit-alist custom-id day-number days-back window-size))) - (setq html (concat html (format " \n \n" (capitalize (string-remove-prefix "dailies-" custom-id))))) + (setq html (concat html (format " \n \n" (capitalize (string-remove-prefix "dailies-" custom-id))))) ;; Cell for each day (dolist (day-data history) @@ -451,7 +451,7 @@ Rows are custom-ids, columns are days." html)) -(akk0/habits-to-html-table habit-alist (string-to-number (format-time-string "%j")) 30 5) +(akk0/habits-to-html-table habit-alist (string-to-number (format-time-string "%j")) 21 5) #+END_SRC **** Expansion Section :autocollapse: @@ -517,13 +517,30 @@ h2:has(.done.FREED), h3:has(.done.FREED), h4:has(.done.FREED), h5:has(.done.FREE Style the cells, set legible text color, outline clickable: #+BEGIN_SRC css :tangle ../html/static/style.css -.habit-cell { +.habit-table th, .habit-table td { text-align: center; vertical-align: middle; width: 20px; height: 20px; cursor: pointer; user-select: none; + padding: 8px; + max-width: 22px; +} + +.habit-table th { + padding: 0; +} + +.habit-click-me { + font-weight: normal; + font-size: calc(var(--font-size) * 0.7); + line-height: calc(var(--line-height) * 0.7); + text-align: center; +} + +.habit-name { + max-width: 15rem !important; } .habit-cell.habit-brightness-1 { color: var(--grey5); outline-color: var(--grey5) !important; } @@ -923,9 +940,14 @@ pre span.org-css-property {color:var(--purple4); font-weight: bol *** General CSS :autocollapse: **** Et Cetera #+BEGIN_SRC css :tangle ../html/static/style.css +tbody { border-bottom: 1px dotted var(--grey1); } +thead { border-bottom: 1px solid var(--grey1); } +th, td { padding-right: 4rem; } +th.org-left { text-align: left; } + hr { border: 0; - border-top: 2px dotted var(--black); + border-top: 2px dotted var(--grey1); } a, a:visited { @@ -964,6 +986,7 @@ h3, h4, h5 { .section-number-1, .section-number-2, .section-number-3, .section-number-4 { display: none; } ul { margin-top: 0; } + #+END_SRC **** Utility Classes
    click me ↓")))))) (setq html (concat html "
    %s
    %s