~ashie/blog

48b84145d1318f9f2657e0871479d95467c55f34 — Ash a month ago e6282f4
style: change case of titles
M content/blog/actually-good-distro-recomendations-for-beginners/index.md => content/blog/actually-good-distro-recomendations-for-beginners/index.md +1 -1
@@ 1,5 1,5 @@
---
title: "Actually Good Distro Recomendations for Beginners"
title: "Actually good distro recomendations for beginners"
date: 2023-06-25 17:23:24 +0100
draft: false
syntax: false

M content/blog/caching-promises-in-javascript.md => content/blog/caching-promises-in-javascript.md +4 -4
@@ 1,5 1,5 @@
---
title: "Caching Promises in JavaScript"
title: "Caching promises in JavaScript"
date: 2023-08-25 13:10:02 +0200
draft: false
syntax: true


@@ 63,7 63,7 @@ calls before it gets cached.
And I agree with that, but what even is coding without premature optimization
and overengineered solutions?

# Caching a Promise
# Caching a promise

Asynchronous functions in JS return a value of type Promise. Think of it as
a pointer to something that might contain a value in the future. We can use


@@ 90,7 90,7 @@ to null.
This is not extremely useful as functions usually take parameters, in which
case the promises can be stored in a Map with an argument as a key.

# Generic Implementation
# Generic implementation

Instead of writing this manually every time and having a variable for storing
a promise above every function I like to define a class, that does it for me


@@ 154,7 154,7 @@ point we could just change the implementation of `asyncFn` and wrap it with
const cachedAsyncFn = promiseStoreFn(asyncFn);
```

# Putting it Together
# Putting it together

Let's go back to the very first code block and redo it:


M content/blog/daily-driving-a-smartphone-without-screen/index.md => content/blog/daily-driving-a-smartphone-without-screen/index.md +5 -5
@@ 1,5 1,5 @@
---
title: "Daily Driving a Smartphone without Screen"
title: "Daily driving a smartphone without screen"
date: 2023-03-03 17:35:22 +0100
draft: false
syntax: true


@@ 13,7 13,7 @@ short post about how I used my phone without a screen for around a month.

{{< img "screen.webp" "the phone during boot" "" true >}}

# Making it Somewhat Usable
# Making it somewhat usable

The screen wasn't completely unusable, and I was even able to text to some
extent, but it was getting noticeably worse as the day went on. Once I got home


@@ 30,7 30,7 @@ Using [scrcpy](https://github.com/Genymobile/scrcpy) (a tool for controlling
Android from pc) made inputting things easier, but after a few days of using it
like this, even that became too much of a chore.

# Disabling the Screen Completely
# Disabling the screen completely

Since my phone was rooted, I tried looking for some better solution on
[XDA](https://forum.xda-developers.com) and I found a thread _(couldn't find it


@@ 48,7 48,7 @@ disable the touchscreen and dim the LCD, since we don't need it.

{{< embed "disable-touch.sh" "bash" >}}

# Authorizing ADB on Another Computer
# Authorizing ADB on another computer

If a screen is non-functional it is obviously very difficult to use it to
allow debugging when we plug the phone into an unauthorized PC. Thanks to


@@ 57,7 57,7 @@ thread I found out, that all I had to do to enable debugging on my laptop was
copy the contents of `~/.android/adbkey.pub` into `/data/misc/adb/adb_keys` on
my phone.

# Daily Usage
# Daily usage

It is not desirable to need a pc for answering calls, but my earbuds had the
ability to accept via double-tap, so I always kept them within reach.

M content/blog/linux-users-review-of-ios/index.md => content/blog/linux-users-review-of-ios/index.md +9 -9
@@ 1,5 1,5 @@
---
title: "Linux User's Review of iOS"
title: "Linux user's review of iOS"
date: 2022-12-16 16:32:00 +0100
draft: false
syntax: false


@@ 14,7 14,7 @@ would have never bought any Apple product myself, but after my Redmi Note 7 had
an unlucky encounter with the pavement I was gifted an iPhone 11 Pro and I
decided to take it for a ride.

## Preface
# Preface

This review is only going to focus on the software as I do not care about
performance and cameras. On my last phone I used the


@@ 24,7 24,7 @@ issues and Apple's deceptive marketing, not because I do not care about those
things, but because that was covered by others already([1](https://wikiless.org/wiki/Criticism_of_Apple_Inc.),[2](https://www.techdirt.com/2022/11/10/yet-another-study-shows-apples-hyped-privacy-standards-are-often-empty-theater))
and I do not have anything new to add to the topic.

## First Impressions
# First impressions

Aside from few features, that I had to opt out of, the setup itself was smooth
and painless. I removed around 10 preinstalled apps, that I did not deem


@@ 32,7 32,7 @@ necessary and went on with my day. Something I was not used to is the lack of
going back by dragging from the edge of the screen, you have to press an in-app
back button. Otherwise, I got used to the gestures almost immediately.

## App Store
# App store

It's not like I download new apps every day, I just install things I need and
then almost never touch an app store again, but there are a few particularly


@@ 55,7 55,7 @@ than opt-out. Which is also true for some permissions on Android phones, but fro
my experience, that never applied to notifications. Furthermore, there is
selective file access, meaning apps are only allowed to see files you specify.

## The walled garden
# The walled garden

The Apple ecosystem is supposed to be this Eden of the software world where
everything just works and is beautiful. One of the things, that our lord and


@@ 96,7 96,7 @@ automatically enables the feature for you. In case you don't want it
you can always disable it in settings. It will, of course, later re-enable
itself, because Apple knows what's best for you.

## UI and UX
# UI and UX

If there is one thing, that Apple does well, _aside from marketing of course_,
it is the user interface. As far as mobile devices are concerned, this is the


@@ 120,7 120,7 @@ everything else and displays a nice context menu.

{{< img "long-press.webp" "Severin.stalder, [CC BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0), via Wikimedia Commons" >}}

## Things I wish Android had
# Things I wish Android had

There are a lot of reasons I prefer Android, but there are still some iOS
features it is missing.


@@ 144,7 144,7 @@ The battery of Redmi Note 7 had capacity of around 5,000mAh, and despite iPhone
11's battery being 3,000mAh it lasts noticeably longer. With 80% battery health
it needs to be plugged into a charger maybe once every two or three days.

## A Couple of Annoyances
# A couple of annoyances

There are two things, that are a bit infuriating whenever they happen.



@@ 156,7 156,7 @@ The other thing, that happens only sometimes and with no apparent pattern, is
keyboard haptics simply not working, even tho all other elements vibrate and the
setting is turned on.

## Conclusion
# Conclusion

Nice UI and good first party software, but if you want to go beyond that, or you
don't like to do things exactly the way they were designed to then you are out

D content/blog/qemu-folder-sharing-with-a-windows-guest/index.md => content/blog/qemu-folder-sharing-with-a-windows-guest/index.md +0 -26
@@ 1,26 0,0 @@
---
title: "QEMU Folder Sharing with a Windows Guest"
date: 2023-12-08 08:25:06 +0100
draft: true
syntax: true
---

'C:\Program Files\VirtViewer v5.0-256\bin\remote-viewer.exe'

https://www.spice-space.org/download/windows/spice-webdavd/
https://wiki.gentoo.org/wiki/QEMU/Windows_guest#Guest_2

https://www.guyrutenberg.com/2018/10/25/sharing-a-folder-a-windows-guest-under-virt-manager/

I finally managed to get the shared folder working by the combined help from a couple of posts here.

At first I got the 1067 error – but I actually had to go into Services and try to start it to see the error. This I fixed by installing guest tools (was a bit nervous about that one since I’m running gpu passthrough and didn’t want the virtual drivers to take over from my nvidia drivers and mess thing up)

Then I went about running the the shell script which did nothing – neither as a normal user or choosing to run it as administrator. Didn’t even get an error.

Finally I tried opening virt-viewer (as described in another post) and discovered that I actually had to tick a box to share the folder “public”.

Now everything seems to be working like it should.

Also – for you who suffer from the size limit when moving larger files between your OS’s – try this one:
https://answers.microsoft.com/en-us/ie/forum/all/error-0x800700df-the-file-size-exceeds-the-limit/d208bba6-920c-4639-bd45-f345f462934f

M content/blog/using-vim-with-the-colemak-dh-layout/index.md => content/blog/using-vim-with-the-colemak-dh-layout/index.md +1 -1
@@ 1,5 1,5 @@
---
title: "Using Vim with the Colemak Mod-DH Layout"
title: "Using Vim with the Colemak Mod-DH layout"
date: 2023-04-15 18:56:00 +0200
draft: false
syntax: true