Author Archives: Antranig Vartanian

About Antranig Vartanian

Doing things @ illuria, Inc. Unix, BSD, InfoSec, Elixir/Erlang, DNS, XMPP. Mostly harmless.

Antranig Vartanian

April 25, 2023

This is just a test ๐Ÿ™‚ I’m trying to configure and use child themes!

Update: Looks like it all works fine!

Reply via email.

Light & Dark Wallpapers for iOS: Solving a problem that Apple created

One of the best features of macOS is the ability to have Light and Dark, as well as Dynamic Wallpapers. You’d think that Apple has done some Apple-y way to implement that, but not at all.

It’s actually part of the High Efficiency Image File Format that allows sequences which are multiple time-related images.

Here’s an example of Ventura’s default wallpaper.

Ventura graphic

As you can see, it’s multiple images.

So a while back, I thought hey, I can make a Light & Dark wallpaper for myself, which I did.

SCR 20230414 w9m

For some reason, I forgot to use these wallpapers on my iPhone and iPad. Days ago I tried, and oh boy, Apple messed up again.

Here’s how the image looks like on iOS/iPadOS.

Heic

It just loops over the images and if you try to set it as a wallpaper it sets the first one. That’s it…

Anyway, now that I’ve complained about Apple, let me show you how to use “Dynamic” wallpapers. Again, this is just a hack, it would’ve been easier if Apple just tested their own wallpapers on iOS/iPadOS.

Let’s start with iOS first.

Setup two identical wallpapers using the new iOS lock screen customization thingie.

IMG 6553
IMG 6554

After that, setup a Shortcut automation to set the wallpaper based on time. In this case, I use sunset and sunrise.

IMG 6551

The automation itself looks like this.
IMG 6552

Fun fact: Apple messed up again. You know how your iPhone changes appearance automatically between Light and Dark mode based on sunset and sunrise? Well, it doesn’t match with Shortcuts automator! the Shortcut automator will set your wallpaper sooner than iOS changes its appearance. I guess they each have their own “calculation” of when sunset/sunrise is.

Okay, but this wasn’t that hard.

How about iPadOS. Well, that’s more complicated.

First, you need to have a copy of each wallpaper (light and dark), and then you have to put them into an Album.

After that, you need a Shortcut automation that looks for these images and sets them as a wallpaper. Another inconsistency that we really didn’t need between platforms…

Here’s an example.

IMG 0125

Here’s the automation itself

IMG 0127

Fun fact: Sometimes iPadOS will forget to set the wallpaper and you’ll get a notification that says “Missed automation” or something like that. I forgot to screenshot that, but if you have an example, please do send me an image.

Congratulations, now you have Dynamic Wallpapers on iOS/iPadOS.

That’s all folksโ€ฆ

Reply via email.

libucl wrapper in Oberon-2 for Vishap Oberon Compiler

Like I said in my previous post, this is a long project and it relies on a lot of things ๐Ÿ™‚

Wrapping libxo was fun, but wrapping libucl was way more complicated. However, it is done. It’s not a complete port, however, it has the basics to get started. The goes is to have all wrappers match the their libraries.

The source is at antranigv/voclibucl and here’s a screenshot of what it can do.

Screenshot 2023 04 08 at 6 46 14 PM

Next, I will be improving these wrappers and then work on lzc, a.k.a. Lib_ZFS_Core ๐Ÿ˜‰

See you soon ๐Ÿ™‚

Reply via email.

Antranig Vartanian

April 7, 2023

At this point all I want is MarsEdit for iOS. I just noticed that I havenโ€™t logged into my WordPress website using the admin interface for weeks, which means that MarsEdit is REALLY awesome.

On the other hand, the WordPress App on iOS is very much tied with the WordPress services such as WordPress.com and Jetpack. While I like both services and recommend them to friends, they are not for me, so thatโ€™s a passโ€ฆ

MarsEdit for iOS, Iโ€™d even pay monthly for that.

Reply via email.

libxo wrapper in Oberon-2 for Vishap Oberon Compile

I’m working on a new project, which is still only 10% done. For that project I chose to use the Oberon–2 programming language and the Vishap Oberon Compiler.

After seeing libxo on FreeBSD, I’m not sure I can go back to write or printf, so I decided to write an Oberon wrapper for it.

I just finished the basics but it’s already usable for day-to-day outputs, containers/lists/instances and exit codes.

The source is at antranigv/voclibxo and here’s a screenshot of what it can do.

Screenshot 2023 04 05 at 4 40 45 PM

Next, I will be wrapping libucl in Oberon.

See you soon ๐Ÿ™‚

Reply via email.

Antranig Vartanian

March 29, 2023

After weeks of thinking, I decided that I need to fork Jailer. Yes, I want to fork my own code. There are two reasons to do this.

  1. Keep the promise of Jailer being “very compatible with FreeBSD”
  2. Have a new version that pushes these limits of compatibility.

The fork is going to be named bant, which is Armenian for jail. I think weโ€™re all tired of Greek names at this point ๐Ÿ™‚

Iโ€™ll share the details of bant as soon as I have a prototype, which means at least couple of weeks.

Meanwhile, Jailer will be the very-compatible-with-FreeBSD version, that doesnโ€™t brake things and allows new users to use Jails with ease.

Fingers crossedโ€ฆ

Reply via email.

Antranig Vartanian

March 29, 2023

Code cleanup is hard. I’ve been trying to make Jailer’s code simpler, more modular for hours now, and the more I try to simplify it, the harder it is.

My biggest issue right now is this massive complex code that does image management. The end goal is to make it so simple, that anyone with basic knowledge if shell can understand it.

Reply via email.

Antranig Vartanian

March 28, 2023

I’m sure at this point everyone heard that GitHub updated their RSA SSH host key.

This is a common issue, say you re-installed a server at the same IP/hostname. No problem, you remove a line and put in another one.

But honestly, I thought that GitHub had SSHFP records in their DNS.

$ dig SSHFP github.com +short | wc 
       0       0       0

Not so much… But then again, looks like they DO need to sign their zone first.

$ whois github.com | grep DNSSEC
   DNSSEC: unsigned
DNSSEC: unsigned

I have to say, using SSHFP has changed my life. Obviously there are some issues (Windows and macOS, specifically), but if you’re running a normal, modern operating system (hello BSDs, hello Linux) then it’s like magic!

I just setup one for our hackerspace!

$ whois hackerspace.am | grep DS
   DNS servers (zone signed, 1 DS record):
$ dig hackerspace.am SSHFP +short | wc -l
       6

Anyway, I’m sure many CI/CD pipelines are going crazy because of this… Good luck everyone!

Reply via email.

Antranig Vartanian

March 26, 2023

Couple of years ago, I saw an article that said “By the year 20XX 70% of all created content will be video”. Unfortunately, I didn’t bookmark the article, so I can’t link it.

But I did not believe that. More importantly, I did not want to believe that, and for a long time, I thought that it was wrong.

But couple of weeks ago, while sitting next to my girlfriend, I watched her scroll in Instagram, and oh my god, that article was very much accurate. Everything was a video.

This is specifically sad, because Instagram was a photo sharing platform and now most of the content there is indeed video.

After weeks of researching, looks like that most things ARE video these days.

I have mixed feelings about this.

I wonder if there are any non-Instagram, non-TikTok, actually a real world wide web, video blogs. We’ve seen web logs, we’ve seen photo blogs, but video blogs wold be very interesting. Maintaining them too!

Reply via email.

Design Guidelines vs Pushing The Limits

One of the design guidelines of Jailer is don’t break FreeBSD. As in if someone installed and used Jailer, and then deleted the Jailer binary and libraries, their Jails would still run without any issues. We do this with minimal intervention, for example, jailer init patches FreeBSD’s /etc/rc.d/jail, but in a way that you wouldn’t feel the difference much. We don’t create new rc.conf variables, we just change couple of loops. In a way, you can keep these changes even if you delete Jailer so your system would be much improved. Obviously, we do sent these patches to FreeBSD src.

But I’m in front of an issue right now. On one side, I want to keep these guidelines, on the other, pushing the limit will allow me to improve Jailer way more than I expected.

These are the things that I think about before sleep, or during the shower. I gave a promise, that I will not break the Jail ecosystem. But what if, just what if, the ecosystem was broken in the first place?

Some of you might know, that we’ve been working on integrating libucl with Jail. The experiments have been going well, in such that I feel I want to integrate these experiments with Jailer already, even before they get into FreeBSD (and they might even not get in at all).

My dream of Jailer and its ecosystem is complex. I feel that these integration would do good on the long-term, but I want to keep the short term alive as well.

One idea is to fork Jailer, keep two versions of it. One version that’s FreeBSD compliant, and another one that is pushing the limits.

This is going to be an interesting week…

That’s all folksโ€ฆ

Reply via email.