💾 Archived View for fuwn.me › blog › technology.xml captured on 2024-12-17 at 10:59:56.
View Raw
More Information
⬅️ Previous capture (2024-09-29)
🚧 View Differences
-=-=-=-=-=-=-
<?xml version="1.0" encoding="UTF-8"?><rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><link>gemini://fuwn.me/blog/technology</link><description>Thoughts and Resources of the Programming Languages and Technologies I Actively Use and Have Used</description><lastBuildDate>Sun, 10 Nov 2024 01:12:52 +0000</lastBuildDate><title>Technology</title><generator>locus</generator><atom:link href="gemini://fuwn.me/blog/technology.xml" rel="self" type="application/rss+xml" /><item><title>Unknown</title><link>gemini://fuwn.me/blog/technology/gopher</link><description># Gopher
## Resources
### Clients
phetch: Similar to Amfora over in Gemini land in the aspect that it is a feature-rich and easy-to-use CLI client
=> https://github.com/xvxx/phetch phetch
Gopher: A straightforward Gopher client for IOS
=> gopher://forthworks.com/1/iOS/gopher
### Gopherholes
=> gopher://bitreich.org/1/lawn The Gopher Lawn
=> gopher://gopherpedia.com Gopherpedia
=> gopher://gopher.floodgap.com/1/gopher Floodgap Systems
=> gopher://forthworks.com/1/ ForthWorks
=> gopher://sdf.org/1/ SDF
=> gopher://hngopher.com/1/ Hacker News
=> gopher://kamalatta.ddnss.de Plan 9 (9front) from Gopherspace</description><guid>gemini://fuwn.me/blog/technology/gopher</guid></item><item><link>gemini://fuwn.me/blog/technology/forth</link><description>## "Stories"
=> https://groups.google.com/g/comp.lang.forth/c/ThWiGXwKqv4 A Forth Story
## Resources
=> http://www.forth.org/ Forth Interest Group Home Page
=> https://forth-standard.org/ Forth
=> http://theforth.net/ the Forth Net
=> http://www.complang.tuwien.ac.at/forth/program-links.html Links to Forth Programs
=> https://github.com/uho/docker-forth Docker images for popular Forth systems
=> http://forthworks.com/ ForthWorks (HTTP)
=> gemini://forthworks.com/ ForthWorks (Gemini)
=> gopher://forthworks.com:70/ ForthWorks (Gopher)</description><pubDate>2022. 04. 21.</pubDate><guid>gemini://fuwn.me/blog/technology/forth</guid><title>Unknown</title></item><item><guid>gemini://fuwn.me/blog/technology/tor</guid><title>Unknown</title><link>gemini://fuwn.me/blog/technology/tor</link><description># Tor
If you'd like to visit this site (Gemini not available) over Tor, visit:
=> http://fuwnme4wbs5x36jjf2usedw2zscozwhazykhyfkjsmudtb7egs3mb7yd.onion/ fuwn.me
## Hidden Wiki Links
=> http://zqktlwiuavvvqqt4ybvgvi7tyo4hjl5xgfuvpdf6otjiycgwqbym2qad.onion/ Original Hidden Wiki
=> http://jaz45aabn5vkemy4jkg4mi4syheisqn2wn2n4fsuitpccdackjwxplad.onion/ OnionLinks v3
=> http://bj5hp4onm4tvpdb5rzf4zsbwoons67jnastvuxefe4s3v7kupjhgh6qd.onion/ Yet Another Hidden Wiki
=> http://xsglq2kdl72b2wmtn5b2b7lodjmemnmcct37owlz5inrhzvyfdnryqid.onion/ The Hidden Wiki
=> http://qrtitjevs5nxq6jvrnrjyz5dasi3nbzx24mzmfxnuk2dnzhpphcmgoyd.onion/ Pug's Ultimate Dark Web Guide
=> http://torlinksge6enmcyyuxjpjkoouw4oorgdgeo7ftnq3zodj7g2zxi3kyd.onion/ TorLinks
=> http://darkfailenbsdla5mal2mxn2uz66od5vtzd5qozslagrfzachha3f3id.onion/ dark.fail
=> https://dark.fail/ dark.fail (WWW)
=> http://tortaxi7axhn2fv4j475a6blv7vwjtpieokolfnojwvkhsnj7sgctkqd.onion tor.taxi
=> https://tor.taxi/ tor.taxi (WWW)
## Search Engines
=> http://juhanurmihxlp77nkq76byazcldy2hlmovfu2epvl5ankdibsot4csyd.onion/ Ahhmia
=> http://xmh57jrknzkhv6y3ls3ubitzfqnkrwxhopf5aygthi7d6rplyvk3noyd.onion/ Torch
=> https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/ DuckDuckGo
## VPNs
=> http://stormwayszuh4juycoy4kwoww5gvcu2c4tdtpkup667pdwe4qenzwayd.onion cryptostorm
=> https://www.privateinternetaccess.com/ Private Internet Access (WWW)
## Miscellaneous
If you'd like direct links to more onion sites, please visit the following page:
=> https://hiddenwikis.com/ Hidden Wiki and Dark Web Links</description></item><item><pubDate>2021. 07. 19.</pubDate><title>Unknown</title><guid>gemini://fuwn.me/blog/technology/go</guid><link>gemini://fuwn.me/blog/technology/go</link><description>=> https://www.ardanlabs.com/images/gopher-kart/other-gophers.png
To kick it off: Go is funny language. I have a hard time taking it seriously, and that's not because of the name, but because of the way it "feels". Don't get me wrong, Go is a **great** tool to have under your belt, but it just feels very ... "childish" ... to **me**.
Other than the chills I get whilst working with it, I think Go is a pretty nifty language, and I'm sure you'll pick up on that further down in this blog post. If anything, the above statements were icebreakers, but also my genuine feelings. :=
Go has the "I can do anything! just not very well ..." [0] feeling to it, and that is very much true! I don't write software in Go because it's "blazing fast!" or "great on memory!". I write software in Go because it's "fast!" to write in.
> [0] Having the aforementioned quality is not particularly a bad thing, I think it actually benefits Go!
Now, here are some pros and cons that I have gathered up during my experience with the language:
These are in no particular order, and solely **my** opinions.
## Pros
Reasons for anyone to learn or to use Go!
- Fast enough: Go isn't Rust fast, but it's not Node.js slow.
- There are **lots** of resources. (books, documentation, libraries, tutorials, et cetera)
- It's quite easy to pick up. (having had prior experience with C-like programming languages)
- Go can do just about anything you pin at it.
- It runs on Plan 9!
## Cons
Nitpicks, not deal-breakers!
- Garbage collected: This isn't necessarily a hard-con, but it contributes to more memory overhead that I'd prefer not to waste. (not as much as Node.js, though)
- Go can feel *too* simple stupid at times, and not in a KISS way.
- The dependency management and "package manager" is downright creepy: `$ go get ...` seems extremely pre-mature and underdeveloped, even many years into Go's life
One thing you might see a lot when there is talk about Go is the claim that Go hasn't "found it's niche" or "it has no real purpose". To that I say: Go's niche is its simplicity, its ability to introduce someone into the compiled language space, and to develop software with speed.
## Who Would I Recommend Go To?
People who ...
- don't have much time for boilerplate material,
- people who want to get their foot into the lower-level side of programming, (or compiled languages)
and dare I say it ... anyone!
## Resources
=> https://golang.org/ golang.org
=> https://interpreterbook.com/ Writing An Interpreter In Go by Thorsten Ball
=> https://compilerbook.com/ Writing A Compiler In Go by Thorsten Ball
=> https://go.dev/wiki/Plan9 Go Wiki: Go on Plan 9
=> https://9lab.org/plan9/go/ Plan9/Go</description></item><item><link>gemini://fuwn.me/blog/technology/compilers</link><description># Compilers
=> https://diekmann.uk/blog/2024-06-25-statically-known-undefined-behaviour.html How gcc and clang handle statically known undefined behaviour</description><title>Unknown</title><guid>gemini://fuwn.me/blog/technology/compilers</guid></item><item><description>## Resources
=> https://www2.lib.uchicago.edu/keith/ocaml-class/why.html OCaml for the Skeptical
=> https://softwareengineering.stackexchange.com/questions/62685/why-isnt-ocaml-more-popular Why isn't OCaml more popular?</description><link>gemini://fuwn.me/blog/technology/ocaml</link><title>Unknown</title><guid>gemini://fuwn.me/blog/technology/ocaml</guid><pubDate>2021. 07. 23.</pubDate></item><item><description># Web
=> https://tonyalicea.dev/blog/understanding-react-compiler/ Understanding React Compiler
=> https://ladybird.org/ Ladybird</description><title>Unknown</title><guid>gemini://fuwn.me/blog/technology/web</guid><link>gemini://fuwn.me/blog/technology/web</link></item><item><description># I2P
This capsule is available as an I2P eepsite.
=> http://fuwn.i2p/?i2paddresshelper=umaux4l3q3j33pfsz3mzxk6o5c7f6lu47wln5vo5nqvv5nyufgra.b32.i2p Eepsite (I2P)
## Other Cool Personal I2P Eepsites
=> http://plan9.i2p/?i2paddresshelper=sCwR46B4IOAPQbPBd9dqm4VTrZO1PD3eGlEJdYAKFmYMdRG0QFif2ND7K1pZlGJGsZlR70-aGJwBU4YtkCSPv10qubxggFOzNwOeoW0qen9kdzg4BdF46U7ngzYZ2eIniIIl55LplsfSU~iVmil--5SWTaq-UpsjW7CHokipoK6eEfGsZixUygDGJAaPHxKopq2sf-dzZaOdXlupMppmGUUJ9-C3ygJzCfolozZukNVp~PMSas3noTVakogRagtcaWpYaAhiNfK2SGKDiQLbLN1MVXcNftqyRp7wrO7jpgZ7oL89D-I9SGJL5Q41VPd4LIXzlkJNbHUxQZhXTI3Q~jrs24DdtF9TNllaZHIpLmL0xg-pKBLoE6eAuEVIhbr3OuzbgN20X1M2WVpkcikuYvTGD6koEugTp4C4RUiFuvegXpl53bRfUzZZWmRyKS5i9MYPqSgS6BOngLhFSIW69zJ0N7Y9XsnnFGwP-C8O4sba534Kf7Xj4NKeB0rnfSo4BQAEAAcAAA%3d%3d#!sig%3dmGRazwfCrgM7dqRpIjhRJ-Y4lf~vltleBw1KgOY-eNNZDdPa0grrYY80OCLn6k4KTG4Yci-kBIkHRdXxXir-CQ%3d%3d plan9.rocks
=> http://aiwnios.i2p/?i2paddresshelper=1reMaIXK~wBerFbzgqa2lklPXUCChAVYi-VJu1gE2LvWt4xohcr~AF6sVvOCpraWSU9dQIKEBViL5Um7WATYu9a3jGiFyv8AXqxW84KmtpZJT11AgoQFWIvlSbtYBNi71reMaIXK~wBerFbzgqa2lklPXUCChAVYi-VJu1gE2LvWt4xohcr~AF6sVvOCpraWSU9dQIKEBViL5Um7WATYu9a3jGiFyv8AXqxW84KmtpZJT11AgoQFWIvlSbtYBNi71reMaIXK~wBerFbzgqa2lklPXUCChAVYi-VJu1gE2LvWt4xohcr~AF6sVvOCpraWSU9dQIKEBViL5Um7WATYu9a3jGiFyv8AXqxW84KmtpZJT11AgoQFWIvlSbtYBNi71reMaIXK~wBerFbzgqa2lklPXUCChAVYi-VJu1gE2LvWt4xohcr~AF6sVvOCpraWSU9dQIKEBViL5Um7WATYu2Qb4TUyMLD8etroqUPtlmC1zOS00xSEiVftAbw~tUUQBQAEAAcAAA%3d%3d#!sig%3dhGWCEWntBItiqlbmJhn1nL1-WRU-lpuicb-fGRUs46vonbqGMXjjjfsE-LM9NdzPxv5pTSXmhBh8cXvgoHIiBw%3d%3d Aiwnios.com
=> http://pixelchan.i2p/?i2paddresshelper==xws-c~-JSHVlSrjHUhqIrVgoe3gy5QQB~bYKFLXlfd-F-HUpApid1r-MGCpt05dlBrRPn~R8OfY8DBM4rCUAfr2miK-wxs0q-GazQUNuTNW8sXgYtOoqaP14zPQB6gXr6WtIDXyYehDCXVI4~tbZBPlTGl7V0CYg4KjcnnGCMLVHF6LSdtJEEkbe2lCCnDFEYpWkj5Z9lUrYyRfp0MYyqvkhEHcBbKExb53L1~dSdAobhV1vmm1pdL81aBRreCFrGZyHZHjX1cv-tEInWyoQlArsH~7zaHGkCooONmITlpd8zfCwPxR4oQ3Zta4lTI7VGWjIW4HWQAzzVNiNV1FRkHX04CY6XkVFebzPm8nv-wDGHE2sWhyoyoCyX43OHSmXdfTgJjpeRUV5vM-bye~7AMYcTaxaHKjKgLJfjc4dKZfHrfsbOl5FRXm8z5vJ7~sAxhxNrFocqMqAsl-Nzh0plwJntRx8C-pPBS9EXQq18e87vOtUF4~9UBg-UVewCJMtBQAEAAcAAA== Pixelchan
=> http://git.plan9.i2p/?i2paddresshelper=5BxhVRDoO3GO73yHs9HuMdZtD5q7WudwVwlKvl-m-KhhyuoyLVsRsJ0rJdKmmgsIKlLOzw00LHrIRQXib3Sqk6p9sfldWN2d~d~zRhyRk8QJzMmq3qwblyc-tEy8rIr3cLlEIerlGL16qA6yTQsZt9onAnimdFmOWtcSYtPws-xPMGJOnyhWVL7f42Mvoo~8k9RqOuf1MQCKa4VAK4GLms5xu~ImcWWv6X20vtsKlfCk5thyGtLvYwgunUMU1snWyc1p-i-Y1MpKXLvZE6FhRyLS~zC5UM8BpthdRQNhtrVtvS4y6adpBpq7dHGhPPyK89FrpTL6Ktum2xsGesqWKFQB4437KSa8L40XUJOhRawK4z6gwLkcmpEvE22HLcX5VAHjjfspJrwvjRdQk6FFrArjPqDAuRyakS8TbYctxfm1GcV7-ykmvC-NF1CToUWsCuM-oMC5HJqRLxNthy3F-TTlGgY-11F~NjSI1EV0fW4MNjAtg2u4O1G4lHzB2hOTBQAEAAcAAA== git.plan9.rocks
=> http://nadezhda-project.i2p/?i2paddresshelper=ThxzHY6RRn6XnK~dWxcIxtZQUkNkAWh4b6TPGwG9-v5OHHMdjpFGfpecr91bFwjG1lBSQ2QBaHhvpM8bAb36~k4ccx2OkUZ-l5yv3VsXCMbWUFJDZAFoeG-kzxsBvfr-ThxzHY6RRn6XnK~dWxcIxtZQUkNkAWh4b6TPGwG9-v5OHHMdjpFGfpecr91bFwjG1lBSQ2QBaHhvpM8bAb36~k4ccx2OkUZ-l5yv3VsXCMbWUFJDZAFoeG-kzxsBvfr-ThxzHY6RRn6XnK~dWxcIxtZQUkNkAWh4b6TPGwG9-v5OHHMdjpFGfpecr91bFwjG1lBSQ2QBaHhvpM8bAb36~k4ccx2OkUZ-l5yv3VsXCMbWUFJDZAFoeG-kzxsBvfr-ThxzHY6RRn6XnK~dWxcIxtZQUkNkAWh4b6TPGwG9-v5OHHMdjpFGfpecr91bFwjG1lBSQ2QBaHhvpM8bAb36~gCPTdxvLbAKskafy3JmOlBGCX27BdzHAcNqqPwlbj5lBQAEAAcAAA== Nadezhda Project Rus
=> http://meow.i2p/?i2paddresshelper=0h7p7eyv7M5cMbyo9Vm28OyKC3jhY56R6DPhVavOOcbSHunt7K~szlwxvKj1Wbbw7IoLeOFjnpHoM-FVq845xtIe6e3sr-zOXDG8qPVZtvDsigt44WOekegz4VWrzjnG0h7p7eyv7M5cMbyo9Vm28OyKC3jhY56R6DPhVavOOcbSHunt7K~szlwxvKj1Wbbw7IoLeOFjnpHoM-FVq845xtIe6e3sr-zOXDG8qPVZtvDsigt44WOekegz4VWrzjnG0h7p7eyv7M5cMbyo9Vm28OyKC3jhY56R6DPhVavOOcbSHunt7K~szlwxvKj1Wbbw7IoLeOFjnpHoM-FVq845xtIe6e3sr-zOXDG8qPVZtvDsigt44WOekegz4VWrzjnG0h7p7eyv7M5cMbyo9Vm28OyKC3jhY56R6DPhVavOOcbSHunt7K~szlwxvKj1Wbbw7IoLeOFjnpHoM-FVq845xlG7YBRY2y5OtCrj7mC7ygzq2IZ4wr61pdmUlryV1sVvBQAEAAcAAA== meow.i2p
</description><guid>gemini://fuwn.me/blog/technology/i2p</guid><link>gemini://fuwn.me/blog/technology/i2p</link><title>Unknown</title></item><item><guid>gemini://fuwn.me/blog/technology/maths</guid><link>gemini://fuwn.me/blog/technology/maths</link><title>Unknown</title><description># Maths
=> https://zachartrand.github.io/SoME-3-Living/ How does a computer/calculator compute logarithms?
=> https://tylerneylon.com/a/mind_model/mind_model.html A Model of a Mind</description></item><item><link>gemini://fuwn.me/blog/technology/c++</link><title>Unknown</title><description># C++
=> /web/www.neilhenning.dev/posts/yourownconstantfolder/?class=post-content Your Own Constant Folder in C/C++
=> https://justine.lol/endian.html The Byte Order Fiasco</description><guid>gemini://fuwn.me/blog/technology/c++</guid></item><item><description># Nix
=> /web/www.theregister.com/2024/05/14/nix_forked_but_over_politics/?id=article Nix forked, but over politics instead of progress</description><title>Unknown</title><link>gemini://fuwn.me/blog/technology/nix</link><guid>gemini://fuwn.me/blog/technology/nix</guid></item><item><description># *nix (Unix-like)
=> https://sortix.org/blog/posix-2024/ POSIX 2024 Changes</description><title>Unknown</title><guid>gemini://fuwn.me/blog/technology/unix-like</guid><link>gemini://fuwn.me/blog/technology/unix-like</link></item><item><pubDate>2021. 07. 23.</pubDate><guid>gemini://fuwn.me/blog/technology/rust</guid><description>## Resources
=> https://ceronman.com/2021/07/22/my-experience-crafting-an-interpreter-with-rust/ My experience crafting an interpreter with Rust
=> https://notgull.net/device-afd/ \Device\Afd, or, the Deal with the Devil that makes async Rust work on Windows</description><title>Unknown</title><link>gemini://fuwn.me/blog/technology/rust</link></item><item><title>Unknown</title><guid>gemini://fuwn.me/blog/technology/gemini</guid><description># Gemini
## Why Gemini?
I've decided to move my personal websites, along with some other projects, over to the Gemini protocol for a number of reasons (in no specific order):
- Gemini-based capsules are easy to maintain
- Gemini-based capsules are fun to maintain!
- The Gemini capsule limits tracking by design
- The primary Gemini text format provides no way to display intrusive ads of any kind, or any other unneeded fluff and annoyances
- The community is awesome. I love seeing the motivation and movement behind this project. There's such passion.
- The development-sphere: The Gemini development community is huge for how small the project itself is, and I'm glad to be a part of it.
## Resources
### Utilities
GemRest: A development studio focused on delivering high performance, Gemini-oriented utilities. Organised by Fuwn (me)!
=> gemini://gem.rest GemRest
### Clients
Lagrange: An amazing desktop GUI client for Gemini and Gopher
=> gemini://skyjake.fi/lagrange/ Lagrange
Sydney: Vim-like, Command-line Gemini Client
=> https://github.com/gemrest/sydney Sydney
Amfora: A very nice, feature-rich, and easy-to-use CLI client for Gemini
=> https://github.com/makeworld-the-better-one/amfora Amfora
Bollux: A fun little CLI client for Gemini written entirely in Bash that packs a punch
=> https://sr.ht/~acdw/bollux/ Bollux
Elaho: An elegant IOS Gemini client which I personally use
=> gemini://elaho.glv.one
### Proxies
September: A high performance Gemini-to-HTTP proxy written in Rust, focused on accessibility and speed and function
=> https://github.com/gemrest/september September
=> https://fuwn.me/proxy/fuwn.me My (Fuwn) live instance of September, and personal website
Mozz.us and Vuples.one Portals: Simple and intuitive
=> https://portal.mozz.us portal.mozz.us
=> https://proxy.vulpes.one proxy.vulpes.one
### Frameworks & Servers
Windmark: An elegant and highly performant async Gemini server framework, written by me! (Fuwn)
Windmark is similar to Gig, but much, much faster, and written in Rust.
=> https://github.com/gemrest/windmark Windmark
Gig: A Go framework for developing and deploying dynamic (or static) Gemini capsules
=> https://github.com/pitr/gig Gig
Agate: A purely static Gemini server written in Rust
=> gemini://gem.limpet.net/agate Agate
### Windmark Modules
Windmark Comments: A comment engine module for Windmark
=> https://github.com/gemrest/windmark-comments Windmark Comments
### Capsules
=> gemini://gemini.circumlunar.space Project Gemini
=> gemini://medusae.space medusae.space gemini directory
=> gemini://gem.acdw.net acdw's gemini cottage
=> gemini://gem.chriswere.uk Chris's gemini capsule
=> gemini://gemini.barca.mi.it The Amazing Fnt400's Gemini Capsule
=> gemini://hexdsl.co.uk The Home of HexDSL
=> gemini://envs.net envs.net
=> gemini://rawtext.club rawtext.club</description><link>gemini://fuwn.me/blog/technology/gemini</link></item></channel></rss>