@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.

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

I am implementing the programs from the book "Classic Computer Science Problems in Python" using Rust.

My current lifestyle and learning style requires the computer to be on all the time for this. I think the desktop I use draws 300 to 600W based on load.

Yesterday, I installed Debian with LXDE on a single board ARM64 computer. All I need are Firefox and Helix editor. I should avoid installing large Rust programs from source, but otherwise it is going great so far. Can use it for blogging too.

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

This post by @baldur is very relatable, especially this part.
https://www.baldurbjarnason.com/2024/the-deskilling-of-web-dev-is-harming-us-all/

> No wonder we’re all fucked up emotionally and mentally.

Some of us got into this field because we love programming, not because it pays well. Seeing your work being thrown away every 2-4 years, your hard-won skills getting obsoleted by the latest trend and most of all, being forced to deploy your expertise to cause harm (in a profession that has nothing similar to a Hippocratic oath)

(1/4)

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

About 10 years ago, before fitness trackers and smartwatches were a thing, there were apps that simply plotted the path that you traveled on a map (e.g. ).

If you want to track an activity that involves moving around, such as walking, jogging, running or cycling there is an app on F-Droid called . It tracks the distance, elevation and time for each activity. It can show the traveled path on an app like and also plot graphs.

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

It's been two years since I wrote a book summary. I picked a small book to start with.

LLMs have become a thing meanwhile. The point of me writing these is to help me remember what I've read by putting it in my own words.

I made good use of MediaWiki references and categories this time.

CW: If you suffer from depression, you might want to avoid this.

Hyperconsumption by Gerard Hastings
https://njoseph.me/mediawiki/Books/Hyperconsumption

#Consumerism

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

Wrote a little app launcher for all of my manually installed applications using Tauri in about 2 hours and with less than 100 lines of code. The .deb package it generated is just 2.8 MB in size. I added this to my startup applications using Gnome Tweak Tool.

P.S. One hour was spent fighting the borrow checker. AppImage is 164 MB.

#Tauri #RustLang #GTK #Gnome

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

There should be a global FOSS maintenance grant fund with no expectation of any new feature development.

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

Helix editor has no project file explorer yet (like nerdtree or neotree).

It's taking me some time to get used to browsing files using yazi and then hitting enter to open them with Helix.

#HelixEditor

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

The 4K TV I'm using as monitor only works reliably with Gnome on Xorg. Don't know what I'll do once Debian just drops this option in favor of Wayland.

On Wayland, if I jerk the mouse suddenly, the display shuts off with no way of recovering until reboot.

#Wayland

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

How to design the most user-hostile password field, inspired by my router.

  1. Do not allow pasting into the password field
  2. Whenever a user presses backspace once clear the password field
  3. Have your password requirements such that the password is not memorable. Goes without saying - don't allow passphrases.

Now your user will set a weak but memorable, highly reused password. From your user's perspective, your system is about as secure as some other system whose #passwords got leaked.

#UX

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

Went to a shopping mall today.

Several restaurants in the food court had arrays of 5 large LED displays to advertise what they were selling, basically playing slideshows. Each display looked like a 42 inch TV but mounted vertically.

Not everything needs to be digital. For mostly static content, mechanical slide rollers would work, maybe not as bright as LED. But they would use a lot less energy. :blobthink:

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

Taking 3 days to learn Rust to an intermediate level.

That's about the same amount of time it took me to learn Scala, another ML-family language.

I think I should also learn PyOxide to make integrate it with Python. The two of them together should make for more interesting programs. 🤔

njoseph, (edited ) to random
@njoseph@social.masto.host avatar

I wonder what percentage of the population knows that servers exist.

Do people realize that when they send a message from WhatsApp, there is a server that the message is passing through? Or do most people just believe that the app (which is an interface to the service) is the service itself? Like, my message goes from my WhatsApp app to my friend's WhatsApp app directly. Everything in between is just the wires and routers of the Internet. (1/3)

#selfHosting

njoseph, (edited ) to random
@njoseph@social.masto.host avatar

Though I'm glad to see some old C programs being rewritten in Rust, it seems like a step backwards for software freedom to license the new Rust programs permissively (i.e. MIT license) when the old C programs were licensed under the GPL.

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

Green Growth is the opposite of Climate Justice.

Green Growth looks like a 4-ton Tesla cybertruck that you buy in addition to your car.

Climate Justice looks like a new electric bus to a neglected/under-served community and highway lanes transformed back into community spaces like parks.

You can guess which one corporations love and promote.

#GreenGrowth #ClimateJustice

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, 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, 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

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, 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, 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, to random
@njoseph@social.masto.host avatar

In the previous decade, a lot of applications for which a simple relational database would've worked well were built on the blockchain instead to leverage the hype surrounding it and obtaining VC money.

I am starting to notice a similar pattern now. Generative AI will be used unnecessarily and indiscriminately at a high carbon cost that will be externalized to the future generations.

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

We need a moratorium on the construction of new data centers, not on AI development or its regulation.

AI in its current form will increase human suffering, no doubt, in the hands of its capitalist overlords and austerity governments. But it is not an existential threat.

The real existential threat that's immediate is the emission of even more carbon dioxide on a planet that is going through a catastrophic climate crisis.

#climateCrisis #AI #dataCenters

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

GPT models can give wrong and absurd answers with more confidence than most tech bros and VCs. I can see some potential for automation here. Just have to make a white-cis-male-looking robot and connect it to a GPT-4 API. The money will come pouring in. And it can't be jailed like Sam Bankman-Fried. Just need some lobbying to get it personhood status, just like corporations already have. :blobthinkingsmirk:

Please don't boost this.

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