diff options
author | mms <michal@sapka.me> | 2024-06-21 20:29:53 +0200 |
---|---|---|
committer | mms <michal@sapka.me> | 2024-06-21 20:29:53 +0200 |
commit | 83aeb3094b1efbc551399322f433cd7b10ce9ded (patch) | |
tree | 8498c560bca067a321971bb56ffc1c4c427c66c6 /content/blog | |
parent | 32247378e71b3b89d66f19af8c7c12074cdbc149 (diff) |
feat: move some articles back to blog
Diffstat (limited to 'content/blog')
-rw-r--r-- | content/blog/2022/ddns.md | 160 | ||||
-rw-r--r-- | content/blog/2022/gnu-stow.md | 132 | ||||
-rw-r--r-- | content/blog/2022/music-server.md | 159 | ||||
-rw-r--r-- | content/blog/2023/digital-ownership.md | 206 | ||||
-rw-r--r-- | content/blog/2023/generative-content.md | 186 |
5 files changed, 843 insertions, 0 deletions
diff --git a/content/blog/2022/ddns.md b/content/blog/2022/ddns.md new file mode 100644 index 0000000..73d9aad --- /dev/null +++ b/content/blog/2022/ddns.md @@ -0,0 +1,160 @@ ++++ +title = "Dynamic DNS" +author = ["Michał Sapka"] +date = 2022-05-13T22:26:00+02:00 +categories = ["blog"] +draft = false +weight = 3001 +abstract = "DDNS is a DNS for folks with non-static IP. Here I try to choose the best for me." +aliases = ["/2022/ddns/", "/articles/ddns/"] ++++ + +I am one of the unlucky ones without static IP address. +I would get one from my ISP, but this would require me to upgrade to a business contract. +And to do such upgrade, I would need a company - which I do not own nor have I any plans to own in the near future. +Luckily, I can still have a domain. +There is a group of services under the umbrella term Dynamic DNS. + +[DDNS on Arch Wiki](https://wiki.archlinux.org/title/Dynamic_DNS) + +Basically, I need to point my domain to their name server and keep them up to date with changes of my IP. +The DDNS server acts as a middle-man when using a normal domain. +In most cases, I just need to fetch a given URL periodically ad the service will treat this as current IP set. + + +## Self hosting vs 3rd party {#self-hosting-vs-3rd-party} + +There are ready-made packages I could install on any VPS, but debugging DNS is not something I would like to do. +Therefore, I will go with 3rd party. + +I looked through the interwebs for providers and found lots of them. +Unfortunately, most of them are dead, so the choice is much less difficult. + + +## Requirements {#requirements} + +After a short analysis, I came up with few requirements: + +| Max number of domains | 3 | +|-------------------------------------|------------| +| Max number of subdomains per domain | 20 | +| Expected uptime | 95.5 | +| Location | Europe/USA | +| MX Records | YES | +| TTL | 10min | + + +## Instant rejects {#instant-rejects} + +I instantly rejected some providers, since they will now work for my use case: + +| Service | Reason? | +|----------------------|--------------------------------------| +| activedns.co.za | South Africa only | +| bcu.cc | Site does not open | +| ddns.nu | Site does not open | +| dhcp.io | Domain for sale | +| dhs.org | Site does not open | +| dns.widge.net | Site does not open | +| dnsdynamic.org | Some random site under the address | +| dnsmadeeasy.com | It's namecheap now | +| dnspark.com | It's namecheap now | +| dtdns.com | Broken site | +| dyn.ee | Domain for sale | +| dyn.ro | Domain for sale (I think) | +| dynamicdomain.net | Site reads like poor phising attempt | +| dyndsl.com | Domain for sale | +| domain-dns.com | Not accepting new zones | +| dyndnsservices.com | Offers self-host only | +| dynfree.com | Broken site | +| dynup.net | Broken site | +| hldns.com | No longer offers DDNS | +| hn.org | Site does not work | +| homepc.org | Site does not work | +| hub.turnkeylinux.org | Site does not work | +| microtech.co.gg | Site does not work | +| minidns.net | Site does not work | +| myonlineportal.net | Only 10 domains per account | +| myserver.org | Broken site | +| nettica.com | Domain for sale | +| nicolas.cx | No sign-up via web | +| nubem.com | Site does not work | +| ods.org | Domain for sale | +| powerdns.com | Self hosted solution | +| prout.be | Self hosted solution | +| spdns.de | No english site | +| system-ns.com | No longer offers DDNS | +| tzo.com | Site does not work | +| whyi.org | Site does not work | +| worldwidedns.net | Does not support enough zones | +| xname.org | Site does not work | +| yi.org | Site does not work | + +\## The potential ones + +After removing most positions from list, I dig a big deeper: + +| Service | Price | Uptime | Location | +|--------------------|--------------|-----------|-------------| +| | per year | | | +| changeip.com | $6 | 99.9% (1) | USA | +| dhis.org | Donation | ? | ? | +| dns2go.com | lots$ | ? | ? | +| dnsexit.com | FREE for TLD | 100% | Distributed | +| duckdns.org | FREE | ? | ? | +| duiadns.net | $11 | ? | ? | +| dynaccess.de | 22EUR | ? | Germany | +| dynamip.com | $48 | ? | ? | +| dyndns.berlin | FREE | ? | Germany | +| dyndns.com | $55 | ? | ? | +| dyndns.dk | FREE | ? | ? | +| dynip.com | lots$ | ? | ? | +| dyns.cx | Donation | ? | ? | +| dynu.com | FREE | 100% (2) | Distributed | +| easydns.com | FREE | 100% | ? | +| freedns.afraid.org | $60 | ~99.3%(3) | ? | +| noip.com | $24.99 | 100% (2) | ? | +| planetdns.net | $299.95 | ? | ? | +| staticcling.org | FREE | ? | ? | +| thatip.com | $48 | ? | ? | +| thebbs.org | FREE | ? | ? | +| totaluptime.com | $1188(SIC!) | ? | ? | +| zonomi.com | lots$ | ? | ? | + +- [(1) whtop.com](<https://www.whtop.com/review/changeip.com>) +- [(2) comparingtech.com](<https://www.comparitech.com/net-admin/dynamic-dns-providers/>) +- [(3) dnsperf.com](<https://www.dnsperf.com/dns-provider/afraid-org>) + +Notes: + +- "?" - I couldn't find data, but also I wasn't looking very hard +- "lots$" - some providers have a complicated pricing and at first glance it was obvious, that it will be expensive. + + As we see, some working providers are crazy expensive. They add extra features, but still - crazy expensive. + + +## Conclusion {#conclusion} + +DDNS is a strange market. It's mostly dead. But when the service is still available, it seems to be run from someone's basement. There are companies in the space, don't get me wrong - but most of it looks like hacker culture byproduct. And this makes sense, since the primary use case for DDNS is someone without static IP - ergo, an individual and not a company. + +The sad aspect of this is lack of any SLAs in most cases. + +The happy aspect of this is that you can get a lot for very little. + + +## Decision {#decision} + +Looking at the data, I have decided to go with dynu.com as it has 100% uptime, and it's free. + + +## Setting up dynu.com on Synology {#setting-up-dynu-dot-com-on-synology} + +First, create a dedicated IP update password on dynu.com. It's optional, but highly recommended. + +Then, in Synology Control Panel open External Access, then click on "DDNS" tab. Click "Customize Provider" and set query URL to + +```nil +https://api.dynu.com/nic/update?myip=__MYIP__&username=__USERNAME__&password=__PASSWORD__&hostname__HOSTNAME__&myipv6=no +``` + +Now, add a subdomain. Note, that it would be best to MD5 the password. diff --git a/content/blog/2022/gnu-stow.md b/content/blog/2022/gnu-stow.md new file mode 100644 index 0000000..5d06dee --- /dev/null +++ b/content/blog/2022/gnu-stow.md @@ -0,0 +1,132 @@ ++++ +title = "GNU Stow" +author = ["Michał Sapka"] +date = 2022-06-09T22:26:00+02:00 +categories = ["blog", "update"] +draft = false +weight = 3002 +abstract = "GNU Stow is a tool for managing symlink farms, used primarily for dotfiles. Here you can find a short guide on how to use it." +aliases = ["/articles/gnu-stow"] ++++ + +If you are working with Linux/BSD based system, you are most likely accustomed to managing your configs with dotfiles. +And you most likely have them stored with Git. +But there is the never ending problem of how to actually use them. +I have moved management of this under GNU Stow. + +Let's take a very typical dotfiles repository. + +```shell +./nvim/init.lua +./tmux/tmux.conf +``` + +You want to have those files available as + +```shell +~/.config/nvim/init.lua +~/.tmux.conf +``` + +The most popular approach would be to symlink the files under the expected location. +We could also copy the files every time something changes, but that would be crazy. +Are we the stuck with having to do those symlinks manually every time we install a new machine or create a virtual one? And what if we have dozens of such configs stored under git? + + +## Symlink farm {#symlink-farm} + +GNU Stow is a symlink farm. +This means, that it's a system aimed at automating creating of those symlinks. + +[GNU Stow website](https://www.gnu.org/software/stow/manual/stow.html) + +For Stow, the dotfiles directory is called "Stowed" directory. +Now comes the cool part. +Each folder in the Stowed directory (called "Package directory") stores a separate directory tree. +GNU Stow will join all those separate trees and create a proper structure under Target Directory, which by default is the parent of Stowed directory. +Let's look at example. + +```shell +~/target/stow/one/config/one.conf +~/target/stow/two/config/two.conf +~/target/stow/three/config/three.conf +``` + +So, our home director now has a "Target" directory, which has a "Stow" directory. +The Stow directory stores three configs which we want to symlink as + +```shell +~/target/config/one.conf +~/target/config/two.conf +~/target/config/three.conf +``` + +Let's stow the first one + +```shell +cd ~/target/stow +stow one +``` + +And see what happened + +```shell +cd ~/target +ls -lA +``` + +We get something like + +```shell +lrwxrwxrwx 1 msapka wheel 15 Jun 9 23:01 config -> stow/one/config +drwxr-xr-x 5 msapka wheel 4096 Jun 9 22:55 stow +``` + +Stow created a config symlink in the target directory. +Very cool, but it gets cooler! Let' stow the second one + +```shell +cd ~/target/stow +stow two +``` + +and what we get + +```shell +drwxr-xr-x 2 msapka wheel 4096 Jun 9 23:03 config +drwxr-xr-x 5 msapka wheel 4096 Jun 9 22:55 stow +``` + +Our config is no longer a symlink, but a real folder. +Let's see what's inside here. + +```shell +cd config +ls -lA +``` + +```shell +lrwxrwxrwx 1 msapka wheel 27 Jun 9 23:03 one.conf -> ../stow/two/config/one.conf +lrwxrwxrwx 1 msapka wheel 26 Jun 9 23:03 two.conf -> ../stow/one/config/two.conf +``` + +We have our two configs, but what has happened? +Stow looked at both subtrees for "one" and "two" and joined them in a way, that is possible. +The only way for one.conf and two.conf to exist in config is if config is a normal directory. Extremely cool! + +Let's image that our target is actually homedir, so we have a ~/dotfiles directory. +Then each package directory can mimic the tree structure of the actual config! Coming back to our example, we can have a + +```shell +~/dotfiles/tmux/.tmux.conf +~/dotfiles/nvim/.config/nvim/init.lua +``` + +Then, after stowing both packages we have symlinks under our desired + +```shell +~/.config/nvim/init.lua +~/.tmux.conf +``` + +GNU Stow is a very simple tool. All we need to understand what will happen with each subtree. diff --git a/content/blog/2022/music-server.md b/content/blog/2022/music-server.md new file mode 100644 index 0000000..ce79ebb --- /dev/null +++ b/content/blog/2022/music-server.md @@ -0,0 +1,159 @@ ++++ +title = "Adding simple music server to my network" +author = ["Michał Sapka"] +date = 2022-05-25T22:26:00+02:00 +categories = ["blog"] +draft = false +weight = 3003 +abstract = "As part of my partitioning with streaming services, I have created a small music server on my home network. This article touches on how to get music, how to store and how to actually listen to it." +aliases = ["/articles/music-server", "/2022/music-server"] ++++ + +_This is an old article, and even though it is still valid, I no longer use Linux_ + +One of my goals for 2022 is to not pay for music subscriptions anymore. +Nowadays, it's really easy and cheap to actually own my music. + + +## Getting music {#getting-music} + +Internet is full of cheap, used CDs and new music is ready for purchase on sites like Bandcamp. +Since I mostly listen to dead people, CDs are my primary source. + +The first problem is having something to put a disc in. +I've gotten myself a cheap USB-CD/DVD drive. +It's very loud, but since I use it only for getting the data to my computer, it's not a problem. + +I rip (a word that I have not seen in a long time) on MacBook using XLD app. +I plan to move this step to Linux soon. + +[XLD homepage](https://tmkk.undo.jp/xld/index_e.html) + +I rip the music to FLAC, which seems to be standard. +It's lossless and most file-based players have no problems with it. +Of course, not everywhere. +iOS is always problematic, but I don't listen to music on the go very often, so it's a problem for future me. + +A single album in FLAC takes about 200-300 MB. +I still remember MP3 days, where it would go down to 60 MB or less, but back then storage and transfer were actually expensive. +I don't hear any noticeable difference between FLAC and good compressed file, but again - storage and transfer is cheap, Furthermore I have a single high-res album where half an hour takes 750 MBMB and there is zero difference. +Well, now I know, and I won't buy-high res ever again :) + + +## Storing and serving music {#storing-and-serving-music} + +The music will be accessed by multiple devices on local network, so putting it on the Home Server makes perfect sense. +I now have a dedicated share "music" which is shared via Samba and NFS. + +Samba seems better than NFS, but then NFS on Linux is simpler to set up. + +For Samba, I need to add read+write access to Music share for each user from Synology web UI. + +NFS on the other hand doesn't support users, but devices instead. +The first step is to set static IP for my devices (which is always a good idea). +How exactly this should be approached depends on the setup, but I use UniFi Dream Machine and forcing IP for a device is very straight forward. +After I have static IPs, I can add read/write access for those addresses, also via Synology web UI. + +Served music is so small, that this does not add any noticeable overhead for the server. + + +## Accessing the music on Linux {#accessing-the-music-on-linux} + +First, I needed to install NFS support. I use Arch, so: + +```shell +pacman -S nfs-utils +``` + +Then I checked if the share actually exists. My server's address is 10.0.1.200. + +```shell +showmount -e 10.0.1.200 +------------------ +Export list for 10.0.1.200: +/volume2/music 10.0.1.10 +``` + +Voilà! Next step: check if it works + +```shell +mkdir /mnt/music +mount 10.0.1.200:/volume2/music /mnt/music/ +cd /mnt/music +ls +``` + +And listing worked. +Noice. +To automate it for future, and to allow non-root users to actually mount the drive I added a new mount to /etc/fstab: + +```shell +10.0.1.200:/volume2/music /mnt/music nfs _netdev,noauto,x-systemd.automount,x-systemd.mount-timeout=10,timeo=14,users,x-systemd.idle-timeout=1min 0 0 +``` + +After the first user accesses /mnt/music, the drive will be mounted. + + +## Playing the music using CMUS {#playing-the-music-using-cmus} + +We have access to the files, let's play it. +Every modern music player for Linux should work with Flac, but I've chosen CMUS. +It's fast, it's terminal based, and it supports VIM keybindings. + +[CMUS on Github](https://cmus.github.io/) + +```shell +pacman -S cmus +``` + +After we open cmus, we need to add music. +It's done similarly to VIM, via an ex command. + +```shell +:add /mnt/music/ +``` + +And a few seconds later, the music is visible in the player. +Using CMUS requires reading the manual + +```shell +man cmus-tutorial +``` + +but the basics I needed to play something from Artist/Album view were: + +| key | descrition | +|-------|---------------------------------------| +| j | go up | +| k | go down | +| tab | change active window (artists/tracks) | +| space | expand artist to album list | +| c | play track / pause track | +| e | add track to queue | +| q | exit | + +Extra bonus: after first configuring system I had some problems with audio not working from time to time. +Moving from Pulse to Pipewire solved them all. + +[Pipewire webpage](https://pipewire.org/) + + +## Listening on Mac via CMUS {#listening-on-mac-via-cmus} + +I have no idea how to auto mount a server on MacOS, so after every reboot or network change, I need access the Samba share via Finder. +After it's mounted, I can access it under /Volumes/music. + +On Mac I also use CMUS, so all of the above apply as well. +One difference is adding the files due to different location + +```shelll +:add /Volumes/music +``` + + +## Next up {#next-up} + +This doesn't solve all my needs. In the future I need to find out how to: + +- Access The Music Outside My Home Network +- how to marry this setup with my multiroom system (Sonos + Homepods) diff --git a/content/blog/2023/digital-ownership.md b/content/blog/2023/digital-ownership.md new file mode 100644 index 0000000..83097a9 --- /dev/null +++ b/content/blog/2023/digital-ownership.md @@ -0,0 +1,206 @@ ++++ +title = "Ownership in the digital age" +author = ["Michał Sapka"] +date = 2023-12-08T23:00:00+01:00 +categories = ["blog", "update"] +draft = false +weight = 3001 +abstract = "Digital economy has taken over and with this we need to reevaluate what it means to actually own something. In this article I try to present my definition of ownership and what results from it." +aliases = ["/articles/digital-ownership"] ++++ + +It is often said that you can't own anything unless you have a physical thing in your hand. +So, any digital purchase is not ownership. +A Blu-ray is. + +> ... And in the case of "Oppenheimer", we put a lot of care and attention into the Blu-ray version […] and trying to translate the photography and the sound, putting that into the digital realm with a version you can buy and own at home and put on a shelf so no evil streaming service can come steal it from you. ... \\ +> Christopher Nolan + +This made me wonder and the longer I thought, the less I could agree. +The simple fact that you own the carrier does not necessary mean that you own the content. + + +## 1. What it means to own something? {#1-dot-what-it-means-to-own-something} + +Here are a few questions I asked myself to get to that conclusion + +- **Can you access it?** + +This is simple. +I have paid for it, can I access it assuming all requirements are fulfilled? +If not, this is a scam. + +- **Does it require subscription?** + +Do I need to pay again to use it? +Case in point: any SASS. +You don't own any Netflix content. + +- **Can you run it locally?** + +I have paid for it. Can I run (play) it on my local machine? +Or is the provider infrastructure needed? +Example: any cloud software. +You can't run Notion on your machine. + +- **Can someone take it from you?** + +Can someone block me from accessing it? +Case in point: Amazon removing copy of _1984_ from Kindles[^1984]. +Note, that the situation where law enforcement or judge can take it from you is completely valid. +We have a different relation with governments than with private companies. + +- **Are there any locked features?** + +Are there features provider can use, but you can not? +You need to _hack_ your android device to gain root privileges. + +- **Can you sell it?** + +Can I sell my copy? +You can't sell previously bought game on Steam[^steam-acc]. + +- **Can you back it up** + +Can I create a copy in case of breaking the original? +Disks can break and data stored on them can rot. +You can't back up Blu-ray without defeating DRM mechanisms. +This is the first moment I disagree with Nolan. + +- **Can you copy it?** + +Can you create an identical copy? +It's a digital entity, so identical copy is the easiest out there. +I don't mention selling here, just to create a copy. +Again, Blu-ray with DRM block copying. + +- **Can you borrow it?** + +Can I borrow it to a friend? +You can borrow a Blu-ray, but not a Kindle book or PSN game. + +- **Can you access it on wide range of devices?** + +Can I access it on a device fulfilling technical requirements? +I don't expect to run an TRS-80 game on PlayStation 5, but why can't I play my DVD bought in Europe after traveling to North America? +Ergo, any DRM "secured" digital good is not owned. + +- **Can you modify it?** + +Can you change the home screen layout of iPhone outside what the designers provided? + +- **Can you repair it?** + +A bit self-explanatory. +Can you repair your MacBook assuming you have the skills required? +What about the Windows copy you use? + +[^1984]: [Some E-Books Are More Equal Than Others](https://archive.nytimes.com/pogue.blogs.nytimes.com/2009/07/17/some-e-books-are-more-equal-than-others/) +[^steam-acc]: I know that people sell entire Steam accounts with games, but this is bypassing the no-sell policy; not a feature. + +Nowadays, it's almost impossible to make a transition regarding a digital good which would tick most of those ticks. +Back before everything went digital it would be difficult to find cases which **wouldn't**. +Not all of them, as it would be difficult to copy a refrigerator (but not impossible) but the sentiment remains. +It used to be that owner was able to exercise much broader freedom of usage. + + +## 2. Impact of ownership on my perceived value {#2-dot-impact-of-ownership-on-my-perceived-value} + +As I've hopefully explained before, almost all digital goods on the mark don't fall into "possible to own" category. +But if we pay for it, where does it leave us? +I needed a word to define the result of transaction which does not pass ownership. +And there is such word: _rent_. + +Renting was always there. +I would rent videotape for a local rental. +I would rent a book from local library. +I would rent a car from car rental company. +None of these were ever considered a _purchase_, because why would we? +I paid for access, but whatever I rented was still owned by the other party. + +This is not the exact case as with the primary subject here. +I am lured to believe that I own "my digital purchase" because the timeframe is not defined upfront. +Therefore, I think of a Steam, Amazon, PSN, iTunes "purchase" as indefinite renal. +I may lose access at any moment[^sony], I just don't know when. +It may happen due to multitude of reasons: the company may go bankrupt, the license may expire[^sony], my account may become blocked[^sony2], or the company may pull out and close the service[^google]. +[^sony]: [PlayStation is erasing 1,318 seasons of Discovery shows from customer libraries](https://arstechnica.com/gadgets/2023/12/playstation-is-erasing-1318-seasons-of-discovery-shows-from-customer-libraries/). Seriously. +[^sony2]: [Several PlayStation users locked out of their accounts, get permanent suspension message from Sony](https://www.indiatoday.in/technology/news/story/several-playstation-users-locked-out-of-their-accounts-get-permanent-suspension-message-from-sony-2472107-2023-12-05) +[^google]: [The End of Google Stadia](https://www.wired.com/story/google-stadia-shutting-down-phil-harrison/) + +The wording here is exact: I may _loose access_. Yup, this is what I mean when I think of renting. + +There was, however, one huge benefit of renting when compared to buying: the price. +It was always much cheaper to rent a move than buy one. +It made perfect sense. +I was able to watch a rented movie for a few days, and then return it. +The renter would invest in purchase, I would pay a small amount and the world would still do its thing. + +In the digital age this gain is no longer valid. +When renting becomes the only option, there is no reason to offer it cheaper than ownership. +And therefore renting of digital goods is expensive. + +Too expensive. +If we start to think that the "buy" button actually means "rent", that $60 shiny new game stops making so much sense. + + +## 3. Digital scarcity {#3-dot-digital-scarcity} + +But since it is commonly understood as "purchase", then companies can try to use our collecting impulses. +And they are strong, just look at any random tech channel. +People want to collect, and to put things in their collections. + +Steam library is often a reason to brag about. +I have a thousand games they say! +I played 10, but I have 1000! + +And so there are preorders. +Get you digital purchase early, be the first to own it. +Get **rare** add-ons (as if anything digital can be rare). +Pay extra for super-duper version with limited horse armor (nothing stops them from releasing the bonus content later on). + +The idea come from olden days, where getting stuff soon may have been the only way to actually get it. +If it's vinyl record they are selling, they indeed may run of it. +If it's download, the only way to stop next person from it is greed. + + +## 4. "My" page {#4-dot-my-page} + +A special mention goes to Facebook with their brilliant "My page" marketing. +"Visit our Facebook page" is what I often see and hear. +And yet there nothing "theirs" on that page except of content, to which right were transferred to Meta the moment someone hit "send". +This is (still) free, but using the "My" word is further eroding the meaning of ownership. +Please, don't. + + +## 5 The pirate in the room {#5-the-pirate-in-the-room} + +And now the sad part: the closest way to own digitual stuff warez[^dmca]. +Crackers, in order to bypass the DRM mechanism (now called jail breaking) need to remove limitations enforced on the end user. +You can copy a pirated game, you can borrow it, you can modify it, you can archive it. +It's more _yours_ than the biggest of Steam libraries. + +[^dmca]: My views on DMCA are not part of this article. Someday I'll write one and get banned from Google. + + +## 6. Conclusion {#6-dot-conclusion} + +Where does this leave me? +I can't change anything and the transformation to digital-renting of everything is here to stay. +Everyone wants me to rent to something - be it streaming service, or a car company. + +However, when I stopped thinking that I can actually own anything, my perceived value of digital stuff couldn't be lower. +I may drop a few bucks for a digital-download. +But above that? +Hard sell. + +Meaning of words change over time, and they always had. +The definition of "ownership" was clear but no longer is. +The word can mean any financial transaction or be nothing more than marketing ploy. +You can have zero ownership (Netflix), a bit of it (PSN), a lot of it (GOG[^gog]). +And this gradation correlates my interest of doing business. +I'll ****gladly**** pay an author for a DRM-free PDF of their book if I can download it. +I'll happily buy a DRM-free game from GOG. + +But below that level of purchasing? Well, I can either skip it completely or think of other ways of obtaining it. + +[^gog]: [GOG 2022 update #2: our commitment to DRM-free gaming](<https://www.gog.com/news/bgog_2022_update_2b_our_commitment_to_drmfree_gaming>). diff --git a/content/blog/2023/generative-content.md b/content/blog/2023/generative-content.md new file mode 100644 index 0000000..471b733 --- /dev/null +++ b/content/blog/2023/generative-content.md @@ -0,0 +1,186 @@ ++++ +title = "On generative content" +author = ["Michał Sapka"] +date = 2023-12-20T22:47:00+01:00 +categories = ["blog", "update"] +draft = false +weight = 3002 +abstract = "I don't believe that AI will kill us, but I strongly believe it will lessen us. Here I try to describe that by looking at impact on art, culture, tech, and potential benefits." +aliases = ["/articles/generative-content/"] ++++ + +It seems that generative content from "modern" AI models has been with us forever. +In reality this is still a new fad. +The feeling is here because it seems that every few days we hear new product or controversy. + +However, I still remember that computers were to be unable to replace humans in _creative_ work. +That the _human_ part is irreplaceable, and machines can only reproduce. +I think it still the case. +But, somehow, artists, techies, and all kinds of other folks all over the world are afraid of loosing their means of living. +Rightfully so. +But why? + + +## 1. Mass-art market {#1-dot-mass-art-market} + +When I was younger, I was very into cinematography. +We had so many directors with their voices - Jarmush, Lynch, Smith, Tarantino, Cronenberg, Carpenter, Boyle, Ritchie, Anderson, or Fincher. +And that's just the USA! +They had the voice - even when imitating, the movies were distinctly _theirs_. +They got chances, so we all knew them. +It is no longer the case. +The mid-budget movie is almost non-existent, and that's where the creativity strived. +The popular movies, the ones that make all the money, are indistinguishable copies of each other. +What earns the money is the same, big budget CGI fest without any real meaning or personal touch. + +In photography the end product is so removed from the original, that often it is impossible to see similarities. +Everything that is not perfect is corrected and removed. +We don't see people from posters on the street because they don't exist in the same reality we do. +This is what we call _content_, this shapeless blob filling platforms. + +The mass-market "art" (and I use the term here very loosely) was removed from the _human_ a long time ago. +Why take chances, when we know what will work? +And if you know what will work, why even bother with humans? +An AI can create the script, and we can reuse that 3d model of Bogart - because why not? +What we see and what we pay for is no longer _human_. +It's more machine than that - endlessly modified to be as close the blob of mass appeal as possible. +Indistinguishable from each other. + +And this is where generative algorithms strive. +When we exactly know what we want to produce, where there is a mathematical equation of beauty, we're no longer in **human** creativity. + +Since the most popular _content_ is made from the same mold, LLM models can create it as well. +In fact, it can create it better, as those _imperfections_ that a human might have missed, an AI can easily remove. + +All the Dall-E pictures are perfect. They are impossibly complex and complying to the popular norms. + +They are also boring. +It's the imperfections that make _art_, well, _Art_. +No human creation is perfect and this why computer generated _content_ can not be called art. +It's too studied, too ideal, too perfect. + +But the mass market pulp is what allows _artists_ to live. +This is where they make the money. +This is what pays the bills, what puts the food on the table. +Why pay 50EUR and wait 2 weeks for a Fiver order? +You can get just as good result in 10 minute chat with a bot. + +LLMs have reversed humanity. +I fear that we are getting back to the state where _art_ may come only from _suffering_; +where artists live to create that one piece which may immortalize them, but this life is not what modern world promises. +We are to no longer see _hungry_ people in developed countries. +We are to no longer experience _pain_ in pursue of _happiness_. +Why would anyone choose it? + +Therefore, I am afraid that this will decrease the number of people who choose creativity as their living hood. +Without them, we will be destined to status-quo of mediocrity +It will be perfect, but it will be soulless. + +Just as the mass market is now, just without anyone pushing it forward. +And with us, running the hamster wheel of never ending _content_. + + +## 2. Tech market {#2-dot-tech-market} + +The other, very popular, use case is code generation. + +GitHub Copilot can translate a short query into an evaluable code. +It is sold as a mean to automate the _boring_ and _repetitive_ tasks - creating boilerplate, configurations, loops, or simple algorithms. +But are those really lesser tasks than the big ones? + +I've been a professional Software Engineer for 10 years now. +My journey has not been the typical, one where one finishes either IT college, or a boot camp. +I'm self-thought, and I joined It Crowd from other occupation by sheer luck. +The company needed _Ruby_ developer and boom - there I was. +Not the perfect candidate, but I was capable, eager and hungry. + +I've made a lot of mistakes, I've wasted a lot of time, I've taken down the production on a few occasions. +All of those could have been avoided if I used a code generation. + +But it's impossible of overstate how important those menial tasks were in making me into a real _Software Engineer_. + +With every mistake, I learned. +With every issue, I became swifter to jump into action, +With every boring, repetitive task[^ruby] I gained insights into how stuff works. +[^ruby]: with _Ruby_ and _Ruby on Rails_ there aren't many of those but still, you do the same things from time to time. + +But the biggest growth came from the most hated task of all - writing tests. +It is there where I learned how to write a usable contract; it is there where I learned the value of documentation-as-a-code[^cdac] +Would I learn anything from "hey copilot, write tests for this class"? +I doubt. +[^cdac]: very often the best documentation of a contract is the test for it. + +This was what every intern/junior would do - the dirty work. +With the dirty work comes the realization that the real world is not perfect, not every code is good and not every developer is good at being a developer. +And with Copilot we are loosing it. + +We are losing it two ways: first, juniors will not learn; second junior will not be hired. +We are already seeing that there are much fewer offers for sub-senior positions. +Why would it be different? +A senior aimed with code generation can do the work of many junior and one senior. +It makes _perfect_ economic sense. + +But this is also the suicide of the industry. +Without new blood, the tech crowd will shrink. +Companies want infinite growth, and will not stop at anything to accomplish it. +We've seen all the visa scandals, the inclusivity actions, the offshoring[^contr]., +It's clear that all those had only one goal: to increase the pool of _cheaper_ candidates. +The typical programmer is expensive; someone fighting to leave poverty is not. +But now the competition is no longer _someone_ cheaper, but rather something that's never tired, and can create infinite number of creations, but is still _cheaper_ than a human can ever be. +When was the last time you tried to outrun a train? +When was the last time you tried to fight a machine to give your children a better start? +[^contr]: this is not the place where I want to address those subjects, but their existence is important for this article. + + +## 3. Maybe I am wrong {#3-dot-maybe-i-am-wrong} + +But what if I am wrong? +We've seen similar things before. +Ever since the beginning of industrial revolution, more and more industries were mechanized and automated. +The machines needed someone to take care of them, to design them. +And the rest of the populi moved to other areas. + +Will it be the same? +Well, how much work does an _algorithm_ need to operate? +We are still in development phase, so we see a lot of people working there. +But when we will reach plateau? +There will be a time when it will be good enough. +A moment when companies will buy it and not expect it to be better. +How many people will be needed then? +What will be left to do? + +Will Universal Basic Income be enough? +It assumes infinite growth, and this may be in the hands of very few, gigantic companies. +We already see how big influence Altman and Open AI has. +There will still be rich, the 1%, so money will still be an issue. +Will we simply do yet another October Revolution? + + +## 4. Utopia that is false {#4-dot-utopia-that-is-false} + +The best case scenario is that humanity, as a whole, will ascend. +Free from the shackles of menial task, we will all be poets and explorers. + +This is what _Star Trek_[^old] is all about - a world where we no longer need to create and work to survive. +In place of that, we are free to pursue adventure, knowledge. +With nothing to gain, why one would need power? +Money? +We can focus on the humanity as one entity, to make it better. +[^old]: old Trek, at last. + +In _Star Trek_ this was not created by removing jobs but by presence of _replicators_ - a device capable of creating virtually anything. +No longer food is scarce, we can simply create it. + +Replicators are like LLM, but they create things of intrinsic value. +This is what removed the shakles. +And this is the biggest difference: LLM don't create anything that will actually free us. +It will never make our lives better and freer. +It will make it easier for _few_ on the cost of _many_. + + +## 4. Summary {#4-dot-summary} + +I believe that LLMs will steal of us younger talent, who has yet to make a dent. +They won't have the chance to learn and earn on the basic stuff, so they will not be in position to create the big thing. +The cost of using LLMs is so low (and will only become cheaper), that there will be no place for them. +And I am afraid that the post-LLM market can find worthy place for them. |