@njoseph@social.masto.host
@njoseph@social.masto.host avatar

njoseph

@njoseph@social.masto.host

A software developer going through a mini-retirement phase. Developing some small tech solutions to recover and rediscover the joy of programming.

Might consider doing paid remote work for free software or cooperatives.

Admin of https://social.masto.host

#Privacy #FreeSoftware #FreedomBox #SelfHosting #SmallTech #nobot

This profile is from a federated server and may be incomplete. Browse more on the original instance.

gerrymcgovern, to random
@gerrymcgovern@mastodon.green avatar

Individualism is far more environmentally destructive than communism.

“The networks could be completely redesigned and consume a lot less power,” Ben Schwarz, a network expert told me. “Say, a really popular content comes out; Game of Thrones Season 9 or whatever, and half the planet want to watch it at the same time. We could say: it’s actually going to start every 10 minutes, so you can watch it on the hour, 10 past, 20 past … That could save a huge amount of power and data in the network.”

njoseph,
@njoseph@social.masto.host avatar

@gerrymcgovern
Switching the streaming app to a Webtorrent-based solution like PeerTube can reduce network traffic by fetching the content from your nearest peer.

njoseph, to random
@njoseph@social.masto.host avatar

Imagine MongoDB selling all of the data stored by their customers in their hosted offering. The database company will basically cease to exist after that.

But selling all of the data stored by customers in a MySQL database by a WordPress hosted offering is somehow supposed to be acceptable with an opt-out button.

njoseph, to random
@njoseph@social.masto.host avatar

I suspect that there must be a million software engineers in the world who don't know that CGI exists.

njoseph,
@njoseph@social.masto.host avatar

All enthusiasts should give this a watch.

The Magic of cgi-bin - YouTube
https://www.youtube.com/watch?v=NwRVJX0Ieno


Tip: if you're using Apache2 server on Debian, you should place your .cgi files under /usr/lib/cgi-bin. Don't forget to do a chmod +x my_script.cgi before hitting the path /cgi-bin/my_script.cgi on your web server.


Mom: We have AWS Lambda at home.

The AWS Lambda at home = cgi-bin

njoseph, to random
@njoseph@social.masto.host avatar
freakazoid, to random
@freakazoid@retro.social avatar

Are there any non-abandoned open source Android book readers besides Koreader, which annoys me because it won't open files except from inside the app, and has an interface obviously created by a developer and which doesn't make much sense if you're not on an e-ink display?

njoseph,
@njoseph@social.masto.host avatar

@freakazoid
I am using a basic eBook reader from F-Droid called "Book Reader". It is based on FBReader.

njoseph, to random
@njoseph@social.masto.host avatar

Continuing to use the same old desktop from 2017 but hooked it up to a 4K TV as a monitor with 200% scaling. My previous monitor had a 1080p IPS display.

Somehow whenever Debian decides to switch the screen off, the HDMI connection never gets reestablished. I seem to have all the relevant "amdgpu" drivers installed already. I can't even lock the screen, because that will switch off the display too.

This problem doesn't occur with macOS on the same display, but I need/want to use Debian.

njoseph, to random
@njoseph@social.masto.host avatar

I found myself looking for a desktop wiki today. I used Zim several years ago. Currently using logseq just for its journals feature, but after a year of use I am still not used to "everything is a list item" paradigm.

I wanted a messy desktop wiki which I don't care too much about maintaining. Unfortunately, I cared too much about maintaining a clean logseq notebook.

I found that TiddlyWiki is the simplest solution. Started using TiddlyDesktop backed by a Syncthing folder.

#noteTaking #wiki

njoseph,
@njoseph@social.masto.host avatar

@samebchase @billseitz I don't use Obsidian because it isn't free as in freedom. logseq is an alternative that has an AGPLv3 license.

njoseph,
@njoseph@social.masto.host avatar

@rgb Is Federated Wiki a concept or an application?

simon, to random
@simon@simonwillison.net avatar

S3 question: I'm considering a bucket design where every uploaded file is stored as:

2014-02-10/73WakrfVbNJBaAmhQtEeDv/original-filename.pdf

So that's /date/UUID/filename

This is to avoid clashes if a user uploads multiple files with the same name

Are there any downsides to having a unique "folder" prefix per file like this?

I'm specifically interested in non-obvious performance or cost implications

(Side question: would this be a problem on regular Linux file systems aside from S3?)

njoseph,
@njoseph@social.masto.host avatar

@simon This shouldn't be a problem for S3 from a performance perspective, since there isn't really a hierarchy in object storage, unlike in filesystems. I've noticed that GitLab already does this for my uploaded files. A copied screenshot is always "image.png", so the UUID prepended in the object's name is what makes it unique.

Image pasted into a markdown text in GitLab looks like this:
> image

njoseph, to fdroid
@njoseph@social.masto.host avatar

There is an F-Droid app that lets you capture your current location in terms of latitude and longitude. The coordinates can then be converted into a URL that can be opened with Google Maps or OpenStreetMaps.

https://f-droid.org/en/packages/ca.cmetcalfe.locationshare/

This is quite helpful to either share your current location or store a location which is not mapped yet.

There are many apps to continuously track your location but I found only one to statically capture your current location.

njoseph, to random
@njoseph@social.masto.host avatar

My bookmarks for today
https://njoseph.me/shaarli/daily

njoseph, to random
@njoseph@social.masto.host avatar

Trying a new Fediverse client called

njoseph, to random
@njoseph@social.masto.host avatar

is a bookmarking service in that stores each bookmark as a comment in a single PHP file.

This is actually appropriate design (in the sense of appropriate technology). A good example of design. A big tech bookmarking service would have used some NoSQL database technology such as Cassandra, not a simple flat file.

Shaarli works great for thousands of bookmarks. Who cares if it scales to millions or not? :blobcatgooglyshrug:

njoseph,
@njoseph@social.masto.host avatar

I maintain a wiki page on Small Tech. Added Shaarli as an example there.
https://njoseph.me/mediawiki/SmallTech#Examples

njoseph, to random
@njoseph@social.masto.host avatar
njoseph, to random
@njoseph@social.masto.host avatar

In a way, I am an OS developer who never formally took a CS course on Operating Systems.

Going through this free online book right now. Making good progress. Halfway through Virtualization already.

Operating Systems: Three Easy Steps
https://pages.cs.wisc.edu/~remzi/OSTEP/

njoseph,
@njoseph@social.masto.host avatar

I had no idea that there were so many versions of C language.

I learnt ANSI C as a kid. My last C programs were written about 15 years ago. Currently writing a program in C99. I wasn't even aware of the existence of C11.
https://en.wikipedia.org/wiki/C11_(C_standard_revision)

njoseph, to random
@njoseph@social.masto.host avatar

Things I learnt about Android's JVM today.

Android doesn't actually run "the JVM". Android apps use either Dalvik or ART as their runtime.

The API-level supported by these VMs is equivalent to JDK 8. Since there were some features of JDK 8 used by Android which were removed in JDK 9, they didn't upgrade beyond it because of the amount of work involved.

There is neither a technical nor legal reason not to upgrade, since Google already won the lawsuit that Oracle filed against them (2021).

njoseph,
@njoseph@social.masto.host avatar

Your Android app doesn't run Kotlin or Java. It runs bytecode on a JVM-like virtual machine.

I upgraded my CI system to use the latest Kotlin and built the app using the JDK-17 docker image.

The upgraded Kotlin compiler improves null-checks etc., but doesn't leave the container. Neither does the JDK-17. It's just for running Gradle, which is also a Java application.

But none of this stops Android Studio from bugging you constantly to upgrade to the latest versions. 🤐

njoseph, to random
@njoseph@social.masto.host avatar

Some interesting questions have been answered in this podcast episode, such as:

  1. Why do data centers use fresh water and not salt water?
  2. Why are arid areas preferred by data centers, rather than equatorial regions where there is plenty of water?

World Wide Waste with @gerrymcgovern

Steven Gonzalez Monserrate 'Thirsty Data: Data Centers increasing impact on fresh water'

https://www.thisishcd.com/episode/steven-gonzalez-monserrate-thirsty-data-data-centers-increasing-impact-on-fresh-water

njoseph, to debian
@njoseph@social.masto.host avatar

RFPs can be useful contributions too. Simply telling the community that you would like to see something in Debian, though you don't have the bandwidth to do the packaging yourself can be useful. It either serves as a TODO item for your future self, or somebody else will do the packaging meanwhile.

Nice to see that my RFP for was fulfilled.
https://bugs.debian.org/1051912

I filed it during DebConf23.
https://social.masto.host/@njoseph/111062153705929037

(RFP = Request for Packaging)

njoseph, to random
@njoseph@social.masto.host avatar

Learning about some things I was curious about earlier but didn't, like treesitter.
https://youtu.be/oSrXK8ovBfQ

njoseph, to random
@njoseph@social.masto.host avatar

After too many years of using zsh as my primary shell, I'm switching to fish.

Tried nushell in between, but it's hard to keep up with it at this early stage of development.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • ngwrru68w68
  • everett
  • InstantRegret
  • magazineikmin
  • thenastyranch
  • rosin
  • Durango
  • ethstaker
  • Youngstown
  • slotface
  • khanakhh
  • kavyap
  • DreamBathrooms
  • Leos
  • osvaldo12
  • tacticalgear
  • cubers
  • cisconetworking
  • anitta
  • provamag3
  • modclub
  • mdbf
  • GTA5RPClips
  • tester
  • megavids
  • normalnudes
  • lostlight
  • All magazines