Finished reading: The SIGMA Surrogate by Jt Lawrence 📚

I enjoyed this book, though it failed to keep me invested enough to read the next one in the series. I might later. Jt Lawrence introduced me to a new style that I’d like to explore more: light-erotica cyberpunk from a woman’s perspective

Civil War, 2024 - ★★★★

Joel (Wagner Moura) is screaming his lungs out, arms at his side, a cigarette he didn't finish stuck in his right fist. Behind him, an American flag with two stars is blowing in the wind. A tank rolls in with a group of soldiers in the background, 2 feet away from him, blocking it from view. They ignore him. His primal screams of pain and suffering are silent. The soldiers don't feel it, and you don't hear it.

I mostly tuned out of anything political because I don't want to know and what I already know is too much. But if you think there's only so much you can take, watch this movie.

On its surface, this is a decent movie with a satisfactory plot: youth and innocence lost, war, and some good scenes. But to me this movie was personal. I tried to figure out why.

It's easier to start with the cinematography. Grainy, gritty, often overly contrasted with colorful graffiti or pink sunglasses. It's good. Very good. I itched for my camera several times, mumbling to the TV "damn, this is a good shot." This is important because the story is told through the eyes of two war photojournalists with a talent for the art.

The pictures they take are far from happy family photos. Lee (Kristen Dunst), a photojournalist veteran, has seen enough horrors for them to flash in her mind whenever she closes her eyes while Jessie (Cailee Spaeny), a novice who is just started her photojournalism journey, faces new horrors that suck the innocence out of her until there's nothing left. It takes talent to describe a story through the eyes of two talented photographers, and this movie has it to the point that I want to track down Rob Hardy (the cinematography director) for more of his work.

It's these photos they take that make the war real. A war is never about the war itself, it's about the people who experience it. A series of human moments in a hellscape that defy the reasoning of everyday life. A war is a war only when it's personal: until then it's just politics and heated debates on social media.

There's a plot to this movie, a reason this great American war broke out, but we only get glimpses of it. There's an authoritarian president who took his executive power too far (ordering the usage of military force on US citizens among other things), and two states, California and Texas, called the "Western Forces" are fighting back and surrounding Washington DC. There are other factions and states involved, a hint of a more complex structure in the background, but not much more.

The rest is built from carefully selected moments. There's a scene in the movie where Joel is asking a sniper and his spotter who's shooting at them and who's giving them orders. The spotter replies: "No one's giving us orders, man. Someone's trying to kill us, we're trying to kill them." That's it. It's enough. These moments worked beautifully throughout the movie, each scene freezes and is taken apart by the pictures Lee and Jessie snap away.

I'm not a huge patriot, but it gets to me when Americans dislike the flag because it represents injustice to them. True, the flag has been used by extremists as a symbol. But this is because these extremists hijacked the flag and what it represents. Meanwhile, this kind of hate toward what the flag represents is the same stuff that one day could cause events like in this movie.

Maybe it's because I was not born into what most around me have as a right. It was given to me. I never understood why the president of the United States still has to be born here. It doesn't make sense. If you ask me, it's a nation built by immigrants who seem to understand the American Dream well, probably much better than the extremist militias who use it as an excuse for their propaganda.

I don't think Alex Garland thought about all of this when he wrote the film, but I thank him for making me think about all this stuff.

Rethinking and organizing my life with org-mode (part 3?)

I spent some time reading through the manual for part 3 of organizing my life in org-mode. org-mode has an archiving function I haven’t bothered with in the past because dumping old files into a folder was easier to do.

There was this interesting example under org-archive-subtree help text:

“~/org/* Finished Tasks” The “datetree/” string is special, signifying to archive items to the datetree. Items are placed in either the CLOSED date of the item, or the current date if there is no CLOSED date. The heading will be a subentry to the current date. There doesn’t need to be a heading, but there always needs to be a slash after datetree. For example, to store archived items directly in the datetree, use “~/org/”.

Ah ha! So you refile a task and put it away in a different file (this is what archiving does by default in Emacs) and store it in its appropriate month. Not only that, the function will look for when you finished working on a project and automatically store it on that date in a header of your choosing. Good stuff.

For example, let’s say I started to write a technical document at work about pink rabbits (I’m in a good mood, OK? Bare with me, I’ll get grumpy soon enough) and this project includes a couple of subheaders: a meeting we had about the project, a task to backup the existing version of the document, and a couple of more TODOs regarding images and sending it for approval by subject matter experts. So far so good, this starts in where I keep working on the project and add to my notes.

Let’s continue with the example. Two months later, I’m done with the pink rabbits projects. I go to the parent header in my file, “update Pink Rabbits document,” and change its keyword from ACTIVE (my keyword for projects) to DONE. Since I have the keyword “ACTIVE” defined with ! in the file’s options (this is defined by the line #+TODO: TODO(t) ACTIVE(a!) MEETING(m!) | DONE(d!) CANCELED(c) at the top of the file - you can see ACTIVE is triggered by a! while its neighbor, TODO, is only t which means a timestamp will not be added), org-mode adds a timestamp for when I marked it DONE.

There are three basic scopes of defining where to put the archived headers. I can define one file in my init file for org-archive-subtree, which will create a global definition and thus a file for everything (not very useful), or I can define the destination for the archive at the top of the org file (so will have a line: #+ARCHIVE: my/path/is/here), or, I can go into the individual headers and define it there as a property with Archive: my/path/here. This last one is best for me, as I can quickly define headers for, say, article updates, announcements, and misc, each one of these parent headers pointing to a different file, if I want to do that. Nice indeed.

With the datetree option above, these archived tasks will be filed in these files and under the date and time I finished the project. The archive function will include properties in each telling me exactly where these projects came from.

I was about to start using this, but there’s only one problem… I haven’t found out how to restore something back from the archive.

Back to the example. Say I thought we were done with our pink rabbits document so I archived it away. Then, next month, someone says “Hey, JTR, we need to mention the catapults we’re implementing with the pink rabbits. Can you add it?” I say “Sure, no problem!” After all, I have the power of Emacs and it takes me less than a minute to find this project in my archive (consult-grep is amazing for this sort of thing).

So go to the archive file, I find it, and… I want to pull it out of the archive and put it back into my as one of my active projects… but… how do I do that?

I can be barbaric and go around killing and yanking, but there must be a better way, right? I think? Grrrr… (see, back to my grumpy self).

An investigation from the WSJ brings more proof of Hamas' real goals in the Gaza Strip:

It is an outcome that Sinwar foreshadowed six years ago when he first became leader in the Gaza Strip. Hamas might lose a war with Israel, but it would cause an Israeli occupation of more than two million Palestinians.

“For Netanyahu, a victory would be even worse than a defeat,” Sinwar told an Italian journalist writing in 2018

Hamas, with Sinwar as its head in Gaza, needs Palestinians to die for his war. It is the only way his organization (and him as a leader) can survive. Hamas is doing whatever it can to ensure more Palestinians die in the conflict.

Sinwar cited civilian losses in national-liberation conflicts in places such as Algeria, where hundreds of thousands of people died fighting for independence from France, saying, “These are necessary sacrifices."

There are many ways Palestinians have been clashing over their Independence; some in armed conflicts, others through diplomacy and attempts at (lasting) peace. So far, this conflict - Sinwar’s idea - has been the bloodiest.

Things I don't write about

Even though I say a lot here, I don’t say everything. Mainly, there are two topics I avoid: the Israel-Hammas-Palestinian situation, and non-monogamy/polyamory.

It’s probably not hard to guess why, but these are also two deeply personal topics. For one, I was born and raised in Israel and served in the IDF; for the other, I’ve been with my two partners for over 12 years and I still see other people/friends/partners (I don’t exactly separate them to categories like most folks do).

To put in other words, if I write something about these topics, I’m really going to put myself out there. I’m not sure I want to deal with this level of vulnerability. I go back and forth at least once a week, and often I write a post just to keep it as a draft folder and not touch it again.

But there’s the need to express myself - this is my blog after all - and these are big two areas of self-expression. I know that vulnerability leads to some of the best blog posts I’ve read (I admire Brandon for that reason, and Jack also has some personal nuggets here and there), as these are the writings that make a personal blog truly personal.

I dared myself a couple of times before. Even my About section explains what I don’t write about yet. I’m not sure it’s the criticism I’m worried about as much as I just want to keep some things to myself and to the people I write about.

I’ve also made such a big deal out of writing about these topics that I don’t know what to write first or where to start, as it doesn’t match up to the spectacular image I built in my mind. After all, it’s just me rambling away about my life, and no one will deem it as important as I do. Kevin said it well: “If there’s ever a place where I can be narcissistic on the internet, it’s my site.”

Yet another reason I’m hesitant is that there’s no going back. Once I say something, it’s out there (and this blog is linked to the Internet Archive through It’s not mine anymore, it’s everyone else’s. And if it’s your personal life you put out there to become everyone else’s, yeah, that’s scary.

On the other hand, there’s so much to say. There are things other people should know, ideas worth sharing, friends worth making, and writing worth publishing. And around we go, back into the “yes? no? yes? maybe? yes? no?” cycle.

What happened to "enough"?

Almost any platform today is based on cloud servers, and the way these models work is to charge developers by user traffic. The more traffic, the more bandwidth, the more you have to pay. That’s not the only growing pain: with more users, you need more regulation (more admins or moderators), better guidelines, mission statements, and so on.

Some developers probably start thinking about growth as soon as they start a new platform, but I believe most independent developers don’t. Most developers probably focus primarily on their ideas and passions.

I’m noticing there’s no alternative to the “growth” plan. You start a service with 100 users, and it grows to 500, 1000, 10,000… and as it grows, you deal more with annoyances and less with what you really want to do. You either grow somehow (hire more people, ask for more money) or give up and start something new. These are the two options available: grow or gtfo.

What happens if a platform just doesn’t grow? What if a developer wakes up one morning and thinks, you know what, I don’t want to deal with having 10,000 more users, I think I’m good? Does such a thing exist anymore?

This reminds me of overeating. When you order food, there’s a certain meal size (which the restaurant decides for you), and this is what you’re supposed to eat even if the amount of food is twice what you need. But why? What happens if split your meal for today’s and tomorrow’s?

We can do that, but we need to think out of the box. Forgive me for comparing users to food again, I just think they both require the same mental effort. Do you know why chewing your food slowly can help you eat less? It’s because you give your body a chance to process what’s going on and talk back to your brain and tell it, “Hey, I think I’m good.” The ability to stop for a minute, look around, think of something else, and then consider if you still want more food (or users).

Perhaps I’m being naive here (I’m not a business person), but I believe that if you do want to grow after all you can always revisit the idea and do just that. Say you decided to close your platform after you reached 10,000 users, and after a couple of months you decide to grow again. Amazon or Digital Ocean or whoever will still be there, just as the people you’d need to hire. So what’s the big deal? Who’s chasing you?

Somewhere between moving everything to the cloud the idea of “enough” was left in the dust with other such ideas I love to grump about like the ownership of your data and other such relics.

BSAG on Emacs as life project:

You don’t go back to zero each time. Every cycle teaches you more about how you want your personal Emacs to work, about what you need and what you think you want but don’t actually use. On every cycle, the curves of Emacs get smoothed and shaped a bit more to match your grasp.

Absolutely. And as I’m going through a different cycle myself, I appreciate this post even more.

Man I’d love some beer from this truck… 📷

A large black trailer features a graphic of a menacing creature with wings and horns holding a mug against a backdrop of an urban street with brick buildings.&10;

It’s great when you can sink an hour into your online reading list without even noticing. Great blogs + good writers = an inspiring morning. Should remember to do this more often.

Listing Homebrew programs and tools

Homebrew was the first program I installed on my Mac after wiping it. This is because the second thing is my org files, which get copied over with Syncthing, which I install with Homebrew.

Listing the apps Homebrew installs is important then. Here’s how I list what I need in a file (in this case, on my Desktop):

brew leaves > ~/Desktop/this.txt && brew list --cask >> ~/Desktop/this.txt

First, what are formulas vs casks, in an over-simplified way:

Formulas are terminal command tools, like ffmpeg or yt-dlp. Casks are generally more complex and come with a UI (“full” apps). These include apps like Signal and LibreWolf.

Now, what does the command above do:

brew leaves lists top-level formulas, meaning no dependencies. Since Homebrew installs dependencies as needed, we’re probably not even aware of those (but it’s not a bad idea to get more familiar with them), and we don’t need to install them on their own.

brew list –cask lists casks.

In the example above, we output the data of brew leaves into this.txt, and then if (if the first command is completed successfully), we’re upending brew list --casks into the same file, using >> instead of just >.

I wiped my Mac earlier today, and everything seems to be in working order, more or less. I noted a couple of my tweaks before on my wiki, and I forgot some other hidden settings that I like to have.

Two of my favorite tweaks: Increase the mouse sensitivity beyond what macOS allows, and get rid of the delay on the dock before it appears, when it’s set to auto-hide.

For the mouse, read the current sensitivity: defaults read -g in the terminal. The max allowed through the settings is 3, but I set it to 5 with defaults write -g 5 as I have a small area to move my USB Bluetooth mouse.

And for the no-delay Dock, two commands: defaults write autohide-delay -float 0 and defaults write autohide-time-modifier -float 0. Nice and snappy. Use killall Dock to restart the Dock for this to take effect.

Do you have any hidden tweaks for your Mac?

I’m planning to wipe my Mac this weekend. The main reason for this is Microsoft’s nonsense, but I also got a bit “spoiled” using Time Machine. It’s like knowing how to change a tire or check the oil in your car: you need to know how to do certain things so when you need to, you know what to do.

Rethinking and organizing my life with org-mode (part 2)

The other day, I mentioned how my projects file in org-mode is basically a huge mess that makes it difficult to be on top of things, and then an idea occurred to me during a shower, as all good ideas do: organizing is important when I save and store things, not when I’m working on them.

When I work on something, I deal with a dynamic environment with tasks, reminders, attachments, comments, and a bunch of other things. This is the information-gathering phase. The main point is to collect everything quickly so I have it available later. It’s when I’m done with a project that I need to clean it up and store it in its place so I can find it later.

I was considering (still in the shower) the “now page” phenomenon. What if I change my file to Technically it will look the same but conceptually it will be different. A place for things I’m actively working on in the present moment.

The real change should take place in the org files I save my projects into. Work projects will go into dedicated files, depending on the kind of task. Personal things will fit into their own files. As a matter of fact, the work-personal separation is not as important as it used to be, as each activity (work or personal) gets a separate file anyway.

For example, if I’m working on a vacation in, I have a project with the location, the hotel, a map of the area, a couple of places to see, and a packing list. When the vacation is over, it will go into an file under a “vacations” header. When I place it there, I will also include a link to the photos I took, tag it with “journal” if I wrote about it in my journal, and add a couple of annotations to the map, depending on where I’ve been.

In the future, when I want to reflect on the vacation, I will know exactly where to look. Keeping these files small is important so they don’t become overwhelming. An indicator for that could be casual reading: Can I just open the file, read through it, and enjoy it? Maybe even make it into a PDF and print it? The answer to these questions should be yes.

The trick is to know when a certain “thing” happens often enough to have its own file. For example, would I need a file, or is (which also includes going out to restaurants and movies) good enough?

For this, I think the size of the file itself could be a good indicator. In org-mode, the files contain only text. So if a file contains more than, say, 50KB, it means it has 50,000 characters. This roughly translates to 7,000 - 10,000 words. Since the characters in org-mode are also symbols for syntax for meta information, I think this is a roughly good number for now; I can always adjust it later.

This concept also works when I’m happy with the category the file captures, but as it grows, I can split it by months or years. For example, if is good enough to capture vacations, restaurants, movies, and other social gatherings, and I want to keep it this way, I should have, and then make, etc. It’s possible some things, like certain work activities, will need to be broken down every couple of months while other personal tasks only every year or even only a couple of years.

I started storing some of my completed tasks yesterday, and I slowly chipping away at my big mess. As I go through it, I will get a better idea of how it’s working and if I feel like I am back in control again. Since I need to wipe my Mac and start fresh (this is a story for a different time), I will have a nice clean start this weekend. That’s the goal, anyway.

Anyone who has ever worked in IT has some horrible-funny stories about printers, right? …yes, even if it prints pancakes.

I’m reading The SIGMA Surrogate by Jt Lawrence 📚, my first recommendation from StoryGraph. Strong women lead in a cyberpunk world, light erotica (sans heavy romance) thriller by a woman writer. Refreshing and fun.

Rethinking and reorganizing my life - with org-mode

I used to be more organized. At least, that’s what I think.

When I was working as a desktop technician, I added all my tasks into a file called “Oh Snap,” which I cleared every week. Every Monday morning, I would go over my Oh Snap file and archive done tasks, remind myself of and write notes of existing tasks, and make sure a weekly backup was created.

In my current role, my tasks mostly grow into projects. Besides some quick things, like creating an announcement or an alert for our website, these projects usually take weeks; some even take months. Going over my Oh Snap file every week stopped making sense.

But when I stopped my weekly routine, I also stopped organizing tasks. Now I have one big file mixed with personal and work tasks, some active and some complete. It’s an intimidating blob of “stuff,” and just looking at it makes me want to run away to a video game instead.

I also write less about what I do in my personal life unless it’s complicated enough with several todos and a packing list or if I have the itch to write, which is when I pull out my journal. This means that a lot of useful information never gets saved. Things like map snippets with locations (easy in Emacs), links to pictures I took with descriptions, and the people I got to know - all of that is not written and gets lost.

This made me realize that the weekly routine around my Oh Snap file was one thing; organizing different tasks and events into categories is also important. I don’t mean just “work” and “personal,” which are too vague and big to work with. Categories should be a rough outline of familiarity, a way to frame and save things for better retrieval later. For example, “vacations” might be a better category than “events” (too general), and both are better than just “personal” (way too general).

A good category is like an apartment building where I know certain past events happen. If I want to see pictures of my niece from last Thanksgiving, a “family” or “holidays” category would make sense; at work, if I want to recall when I created certain announcements for the website, then “website” or “announcements” is a good category for that.

So now I’m trying to figure out a couple of things. First, when should I visit my projects file, which is a dump of everything I do, and move things out into their categories. Second, what are these categories? We shall see what I come up with.

Microsoft vent num. 104

My Work-related 365 Microsoft account has been acting up for months. The error message showed me the server that refused to sign me in, citing some security concerns, and there was another problem: that server was not the one my account was supposed to connect on.

Then, a couple of weeks ago, Microsoft Edge started to refuse to let me sign in and sync my account, citing the same error and the wrong server address. That was the final straw since I wanted to keep my work environment in Edge.

Microsoft support has been unhelpful, as always, but they went a step further this time. When the representative followed up and I informed them that I ran a reset script that was buried inside their app package for OneDrive, they replied: “Yes, that’s what I told you to do.” Being unhelpful is one thing; taking credit for my research is another. There wasn’t an option to rate the agent, and I have more important things to do than keep a grudge, especially since the error returned one day after the reset.

This morning I removed all Microsoft accounts and removed any associated Microsoft configuration files on my Mac ( etc.) I re-installed Edge, and so far, it lets me sync.

I’m not planning on going back to OneDrive or to any desktop application from Microsoft any time soon if I can help it. This Mac being my work computer though means I need to test and write documentation for such applications.

Maybe I can run a virtual machine, another Mac, to keep Microsoft in a cage. The thought of it makes me feel better.

The problem with having an espresso machine at home is getting spoiled.

Instant coffee tastes horrible. Starbucks coffee is either too watered down or too bitter.

On my walk, I passed by a local firehouse, where they cleaned and prepared one of their fire trucks.

A fire station with an American flag and two fire trucks parked inside is visible behind a blue and white star-spangled bollard.

Nat’s dad’s surgery went fine, and everything turned out OK. I find myself sitting on a sofa I haven’t set on for over 5 years since Nat moved in with us.

The father is originally from Ukraine, and there’s food that reminds me of my childhood. The best part is the homemade pickled tomatoes. He knows how to make them just with the right amount of garlic, sugar, and vinegar. I had to stop eating more of them or risk stomach pain.

I walked the dog, a passive-aggressive mix of a Corgi and a Jack Russell. She had to be carried downstairs, and I could tell she was holding herself back from snapping at me when I grabbed her. She understood that if she wanted to go outside, I was the only option she had today. I understood that if I wanted to go somewhere, I needed to forget about it because she was in charge. It worked out OK.

What’s left at this point is to grab a good cup of coffee somewhere, as instant coffee doesn’t' agree with me (that’s OK - I don’t agree with it either).

A jar filled with pickled red tomatoes, including celery and garlic cloves, is seen sealed and stored in a refrigerator

Why should more FOSS enthusiasts check out Stable Diffusion

I’m enjoying my exploration into AI image-generation quest. It’s been a rewarding experience, but I can’t shake the feeling I need to start each post like this with an apology because, you know, AI image generation.

Unlike other OpenAI’s DALLE or Midjourney, Stable Diffusion is open source and does not require using the cloud. You can run it at home, on your own hardware, provided you have enough juice for it (an average gaming rig should be good enough to start).

Stable Diffusion gets a bad wrap because… well, Let me ask you this: What happens when you give a boy a tool that can create any picture he wants? What do you think is the first thing that boy will create the second the door closes and the lights are off?

But that doesn’t mean you can’t use it for other things. Having AI image generation as open source makes a big difference. It’s up to you to use it as you see fit. It’s up to you to train it and provide it with images (you can create a model based completely on images of yourself or your artwork; stealing copyrighted work is not necessary). It’s up to you to learn how to use it, and man, there’s a lot to learn.

If you’re a fan of FOSS and Linux, you’d probably like to know that Stable Diffusion can run on Linux. In fact, that’s its native environment. It’s not as nearly as simple as typing a prompt into Imagen, Google’s AI image creation tool, but if you’re a Linux veteran, I doubt that’s a problem for you.

And I hope you’ll try it. We need more people who can develop and understand AI technology that is independent of big tech AI poison that is everywhere. We actually have a chance to develop a moral, responsible, and private AI tool - all the good stuff we FOSS techies appreciate. And now is the time. Before the entire field is swallowed completely by capitalistic greed.