diff --git a/web/about.templ b/web/about.templ index 7eb87dd..165ecf4 100644 --- a/web/about.templ +++ b/web/about.templ @@ -1,9 +1,257 @@ package web -import "git.arav.su/Arav/dwelling-home/pkg/servicestat" +import "net/http" -templ About(filesSrvc string, services servicestat.ServiceList) { - @base("About", "About me and my home servers.", "about, me, servcies", "/about", aboutHead()) +import "git.arav.su/Arav/dwelling-home/pkg/servicestat" +import "git.arav.su/Arav/dwelling-home/pkg/util" + +templ About(services *servicestat.ServiceList, r *http.Request) { + @base("About", "About me and my home servers.", "about, me, servcies", "/about", aboutHead()) { + // span class="highlighted"> +
+

Me

+

Who am I? My name is Alexander Andreev. I'm a russian guy of age 31 who likes tinkering with computers.

+

Why am I doing all of this? Machines are up 24/7 anyway, so why not?

+

Why am I almost “doxxing” myself? Yes, my real first and last names and age are here, and since I self-host you can get my city as well. And I simply don't see this as a problem. :|

+

Why particularly that slogan? It was the first thing that went on my mind. Don't you think of your website as of a special place of your own? Sacred in some way..? And what else do we do if not wandering through the vastness of Internet looking for something? Think about it... :)

+

Why English only? I want this place to be accessible for a wide audience and English happen to be todays lingua franca, and to practice the language of course.

+

Now a little break for...

+
+
+

My kot Boris :3

+
+
+ + My cat. :3 + +
+
+ + xDDDD + +
+
+

And here we continue. :)

+
+
+

Hobbies

+

Video games (since 1997)

+

Computers (since 11th November 2004)

+

Wasting my life on Surfing the Internets (since February 2006)

+

Mapping for Half-life 2, Counter-Strike: Source (since 2006, discontinued in 2009) (everything's fuarrkin' lost, or maybe it is still on a broken IDE drive)

+

Music writing (since 2007, last track was made in 2010)

+

Programming (since 2007)

+

(LARP'ing as a system administrator) Home servers (since 1st January 2017, when I had set up my Raspberry Pi I got the day before)

+

Software Defined Radio (since June 2018)

+ +

What I know

+

Human languages

+

While I like learning foreign languages, lack of usefulness for me and my lazyness prevents me from getting on any reasonable level, so I stuck to English. Knowledge of other languages I tried to learn, which are German, Norwegian, French, Polish, and Japanese, is minuscle and only declining.

+

The other language I understand well, and can somehow speak is Ukrainian, which is no surprise because of its relation with Russian. At least it should be not, yet I see that many Russians don't understand Ukrainian like at all, which is surprising for me. I accidentally learnt it just by consuming content in it with help of a dictionary to look up some words that are archaic in Russian or have different etymology.

+

As for Belarussian, situation is the same, but I don't speak it, just know some words I have accidentally memorised while listening to music.

+

Computer languages

+

All the programming, markup and declarative languages I use by now are Go, JavaScript (vanilla), SQL, Python, Bash, AWK, HTML, CSS, LaTeX, Markdown, JSON, XML.

+

Previously I used (in a chronological order) Pascal, Delphi, C#, C++, C, Java, PHP. Took a taste of Visual Basic, LISP, Haskell, Rust.

+

It so happened that I didn't save the source code from the past. 99% of it was written purely for education and fun, and usually never get finished. And such a code was heartlessly deleted by me. Why would I keep OpenGL hello world that draws triangles..? :)

+

At least an experience I gained isn't going anywhere. :) And I think what is on my Gitea instance can speak for me.

+

I still have an old IDE drive that got broken back in 2011. BIOS cannot see it, but it is spinning, even without any crack noises. Maybe it still has some old code. And some more from that time...

+ +

What I liked

+

Anime

+

Ghost in the Shell, Shaman King, Hellsing, Steins;Gate, Cowboy Beebop, Ergo Proxy, Jin-Rou, Black Lagoon, Jojo's Bizzare Adventures, Spice and Wolf, Konosuba, Demon Slayer: Kimetsu no Yaiba.

+

Films

+

Paths of Glory (1957), Boss Nigger (The Black Bounty Killer) (1974), Movies with Jackie Chan, Blade Runner (1982), WarGames (1983), Robocop (1987), Talk Radio (1988), Stargate (1994), Hackers (1995), Johnny Mnemonic (1995), Contact (1997), Matrix (1999, 2003), Snatch (2000), Oldboy (2003), The Day After Tomorrow (2004), Alpha Dog (2005), Constantine (2005), The Gingerdead Man (2005), Lucky Number Slevin (2006), 99 francs (2007), I Am Legend (2007), Inglourious Basterds (2009), Valhalla Rising (2009), The Guard (2011), Filth (2013), Mandariinid (2013), Gingerdead Man vs. Evil Bong (2013), Gone Girl (2014), Who am I (2014), Arrival (2016), Contratiempo (2016), Wandering Earth (2019), Wandering Earth 2 (2019), Greyhound (2020), I Care A Lot (2020), The Greatest Beer Run Ever (2022), Everything Everywhere All at Once (2022), Dungeons & Dragons: Honor Among Thieves (2023).

+

TV series

+

X-Files (1993—2002), Stargate: SG-1 (1997—2007), Stargate: Atlantis (2004—2009), Lost (2004—2010), Breaking Bad (2008—2013), Narcos (2015—2017), The Shivering Truth (2018—2020), Два холма (Two Hills) (2022).

+

Games for Dendy (NES/Famicom clone)

+

I had not just a Dendy console, no, it was embedded in a keyboard and it was named SUBOR.

+

Chip 'n Dale Rescue Rangers, and the other was an F1 game which name I don't know. Also, SUBOR had its own special cartridge called training cartridge. It had a keyboard trainer, a simple text editor, calculator, G-BASIC and F-BASIC, also had classic russian music like Moscow Nights in 8-bit.

+

Despite having BASIC on that cartridge I had no opportunity to start programming because I didn't have a manual. Anyway, I read that there was just code examples and most of them didn't work, LOL.

+

Games for SEGA Mega Drive

+

Not a lot of games I have played.

+

Bubba'n'Stix, Battletoads, Granada, Demolition Man, Road Rash, Doom Troopers - The Mutant Chronicles, The Lost Vikings, Ghostbusters, Mig-29 Fighter Pilot, Street Racer.

+

Games for PC

+

Grand Theft Auto: Vice City, Half-Life (all), StarCraft, Diablo 2, Far Cry (2004), Battlefield: Vietnam, Delta Force: Black Hawk Down, Silent Hunter 3, Grand Theft Auto: San Andreas, Boiling Point: Road to Hell, Portal, Freelancer, F.E.A.R., S.T.A.L.K.E.R., Grand Theft Auto 4, Lineage 2, The Elder Scrolls V: Skyrim, Battlefield 3, The Walking Dead, The Wolf Among Us, Payday 2, The Witcher (1st, 2nd, 3rd didn't finished yet), Minecraft, Terraria, Starbound, Euro Truck Simulator 2, Mount & Blade: Warband, Papers, Please, Insurgency, Elite: Dangerous, theHunter: Call of the Wild, American Truck Simulator, Rocket League, Sea Of Thieves, Tell Some Story: Foz.

+

Music

+

Go check out my file share. :)

+
+
+

My servers

+

I have two servers laying on my PC which are a Raspberry Pi 3 rev. B single board computer and a laptop Acer Packard Bell TE69CX. Not quite impressive, I'd say, but they do what I need from them just fine, not for a real heavy load of course.

+

The laptop has a 2 core Intel Pentium 2117U 1.8GHz CPU and 10GB of RAM (2GB + 8GB), a system disk is a 120GB SSD, and a disk I use to store all the shit is a 2TB HDD, yeah, just one drive for data. Anything worthwhile is backed up (LOL, not really :^)).

+

For Raspberry Pi I use a 500GB HDD as a system/data disk.

+

Also I have a cheap VPS with 1 core 2.2GHz CPU and 512MB RAM, and a 10GB disk I use as a slave DNS server for my domain and a Postfix mail relay.

+
+
+ + Raspberry Pi 3 rev. B + +
Raspberry Pi 3 rev. B
+
+
+ + Acer Packard Bell TE69CX + +
Acer Packard Bell TE69CX
+
+
+
+
+

Public services

+

For everyone.

+
+
+

Internet-radio

+

+ radio.arav.su.onion.ygg.i2pah +

+

I'm too lazy to make some kind of broadcasting program, so I just throw anything I like and randomise the playlist. :)

+

Technically it runs as follows: dwelling-radio ⟹ Ezstream ⟹ Icecast ⟹ NGiNX.

+
+
+

File share

+

+ files.arav.su.onion.ygg.i2pah +

+

There you'll find music, videos, books, games, programs, drivers (a very few), OS images (Winblows mainly). Go check it out!

+
+
+

File upload

+

+ upload.arav.su.onion.ygg.i2pah +

+

I've made a file upload service for ya with a limit of 128MiB per file, keeping it for 36 hours, and overall storage I dedicated for it is 100GiB.

+
+
+

Tor relay

+

metrics.torproject.org

+

Since 1st December 2021 Tor is blocked in Russia, so the relay is down.

+
+
+

I2P router

+

I help the network using i2pd router.

+
+
+
+
+

Private services

+

For a narrow circle of people.

+
+
+

E-Mail server

+

Postfix, Dovecot (w/Sieve), rspamd, ClamAV.

+
+
+

Mumble

+

mumble://arav.su

+

Runs with uMurmur. Protected by password.

+
+
+

TeamSpeak 3

+

ts3server://arav.su

+

For strangers (unregs) only an Entrance room is available. Your identifier should have a security level greater or equal to 29.

+
+
+

Git

+

+ git.onion.ygg.i2pah +

+

Gitea. Anything I think is worth sharing is public. Private in terms of who can have account here.

+
+
+
+
+

Game servers

+
+
+

Minecraft

+

arav.su:25565

+

Web world map

+

Now runs a version 1.21 with Fabric. Just a fabric-api is needed to play.

+
+
+
+
+

Inner services

+

Maintains other services or used exclusively by me.

+
+
+

Web-server

+

NGiNX. Nuff said.

+
+
+

Database

+

Used to run MariaDB, now my services use SQLite3.

+
+
+

VPN

+

OpenVPN Wireguard.

+
+
+

Network file storage

+

Samba and NFSv4.

+
+
+

Torrents

+

I use transmission-cli. One annoying thing, it creates .part files for one of ignored files.

+
+
+

Printing

+

CUPS with ccpd (Canon CAPT printer).

+

It is guaranteed to work after reboot. :) If a kernel got updated — reboot. If you didn't use it for a long time and restart of CUPS and ccpd services after connecting a printer didn't work — reboot. xD

+
+
+

DNS

+

BIND9 via DNSCrypt-proxy.

+

For LAN I use “arav.home.arpa” domain. “.home.arpa” part is a special-use domain introduced in RFC 8375.

+

Master server lives on the laptop. It serves my external domain, internal one, and work as a recursion server to serve DNS queries from LAN. Raspberry Pi is a slave for the internal domain and recursion. And on the VPS lives a slave for my external domain.

+
+
+
+
+

Contacts

+ E-Mail: me@arav.su + PGP key: 7398 50CD 5051 DE55 4368 7092 2596 9B23 DCB5 CA34 +
+
+

Donation

+

Just in case. %^)

+ + + + + + + + + + + + + + + + + + + + + +
USDT (TRC 20):TGSEiAh9nAhCL6YPVA6zHUsnuoccW8tjep
USDT (ERC 20):0x584b3ab1b31d7248e2c0ba5d317e9ba88a4fb1b4
TON:EQC4L0tZMDZ8IPGbyXQafoh2n-N9HbJwVp5EtrYGsRCuR28G
Bitcoin:bc1qrmpahnvtqp34kpjaghnmq8acq27n0eke5w35ec
Monero:48namnfX17TX1kEGCpkXaRWhtw8p92cQjd5uQg7ivybgUuW4BTVaX8egxQhEi75JwuUGn3MDLKHYGNhu4eCfM6dRAAL2QAq
+
+ DonationAlerts + T-bank (referal) + Help pay my VPS +
+
+ } +} + +func isServiceUp(service string, services *servicestat.ServiceList) string { + if v, ok := (*services)[service]; ok && v { + return "service-up" + } + return "service-down" } templ aboutHead() {