M README => README +18 -0
@@ 1,1 1,19 @@
+# -*- mode: org -*-
+
Just a web page or a few of them.
+
+* Structure
+- /rde :: things related to rde project.
+- /blog :: posts about tech and life.
+- /tech :: alias to /blog/tech?
+- /life :: alias to /blog/life?
+
+* Tags
+- tech :: for filtering tech related posts.
+- life :: the personal counterpart for tech.
+- paper :: paper summaries/reviews.
+- architecture :: design decisions and arch overviews.
+- construction :: software building logs.
+
+No Scheme, no Lisp, no Emacs (too wide, applicable almost anywhere,
+doesn't give much filtering capabilities).
M pages/contact.md => pages/contact.md +6 -5
@@ 1,14 1,15 @@
title: contact
---
-# Contact
+# [trop.in](/)/contact
-Here are my contacts:
+Here we go:
-- **email:** andrew [-at-] this domain
+- **email:** [andrew](mailto:andrew+spamtrap20230905@trop.in?comments=tropin-contact-page) [-at-] this d0main
- **mastodon:** [@abcdw@fosstodon.org](https://fosstodon.org/@abcdw)
-- **tg:** @andrewtropin
+- **IRC:** @abcdw on [#tropin](https://web.libera.chat/gamja/?nick=guest-contact#tropin) @ [libera.chat](https://libera.chat)
- **matrix:** [@abcdw:attendees.fosdem.org](https://matrix.to/#/@abcdw:attendees.fosdem.org)
-- **OpenPGP:** [D963A5A38A803D524461F91474830A276C328EC2](https://meta.sr.ht/~abcdw.pgp)
+- **tg:** @andrewtropin
+- **OpenPGP:** [74830A276C328EC2](https://meta.sr.ht/~abcdw.pgp "D963A5A38A803D524461F91474830A276C328EC2"), `gpg --locate-keys $EMAIL`
For bug reports, patches and user support use mailing lists and chats
of respective projects, please. This way more people can
A pages/does.md => pages/does.md +55 -0
@@ 0,0 1,55 @@
+title: does
+---
+# [trop.in](/)/does
+
+I'm Andrew Tropin, I work on operating systems and programming
+languages and do a lot of Free and Open Source Software Development.
+
+With years of experience in the field, I offer consulting, research,
+and development services in the areas that matter most to me.
+
+## Projects
+You may already know me from my involvement in the following projects:
+
+- [Guix
+ Home](https://guix.gnu.org/en/manual/devel/en/guix.html#Home-Configuration)
+ (author): A guix subsystem allowing to build and activate home
+ environments.
+- [Guix](http://guix.gnu.org/) (committer): A functional package manager and generic devops tool.
+- [RDE](https://trop.in/rde) (maintainer): Developer and power user
+ friendly GNU/Linux distribution and set of tools for managing
+ development environments.
+- [Guile Ares RS](https://git.sr.ht/~abcdw/guile-ares-rs)
+ (maintainer): Guile implementation of RPC Server based on nREPL.
+ protocol for making development tooling.
+- [Emacs Arei](https://git.sr.ht/~abcdw/emacs-arei) (maintainer):
+ Guile IDE for Emacs.
+
+## Areas of Expertise
+My primary areas of interest and expertise include:
+
+- Software Reproducibility: Ensuring that environment where software
+ was developed and will be deployed are equal is a crucial aspect of
+ reliable and sustainable development.
+- Programming Languages: I have a strong CS background, my current
+ focus is on Functional Programming, Algebraic Effects, Lisps
+ (including Scheme and Clojure), content-adressable representation of
+ computer programms.
+- Development Tooling: Creating efficient and effective development
+ tooling to boost productivity and streamline the software
+ development process.
+
+
+## Consulting Services
+
+I offer a range of consulting services to help you achieve your goals
+in the software development world. Whether you're seeking guidance on
+Guix, Guile, Lisps, looking for improvement of Development Processes
+and Tools for your team or have some request in any related topics,
+I'm here to assist you.
+
+My goal is to make software development more accessible, efficient,
+and reliable, and I'm excited to work with you to make it happen.
+
+Feel free to [contact](./contact) me for inquiries or to discuss
+potential collaborations.
M pages/guix.md => pages/guix.md +24 -20
@@ 1,5 1,29 @@
title: guix
---
+# [trop.in](/)/guix
+
+## Guix Mirror
+
+If \*guix.gnu.org is blocked for your network by any reason[^1], you
+can use a reverse proxy, which mirrors various guix services. Please
+don't use it if the upstream services is available for you.
+
+Proxies are available in clearnet and yggdrasil. All services are
+exposed via **HTTP**, if you want to have the traffic to be end to end
+encrypted use yggdrasil, the https option with self-signed certificate
+is also provided. The instruction about yggdrasil setup should appear
+here in some future.
+
+- **site:** [guix.trop.in](http://guix.trop.in), [guix.ygg.trop.in](http://guix.ygg.trop.in), [clearnet
+ ip](http://23.184.48.219/), [yggdrasil ip](http://[200:554d:3eb1:5bc5:6d7b:42f4:8792:efb8]/).
+- **bugtracker:** [issues.guix.trop.in](http://issues.guix.trop.in),
+ [issues.guix.ygg.trop.in](http://issues.guix.ygg.trop.in).
+- **substitutes:** [http://ci.guix.trop.in](http://ci.guix.trop.in),
+ [http://ci.guix.ygg.trop.in](http://ci.guix.ygg.trop.in), the protocol is http!
+
+It's also possible to obtain [substitutes via Tor](http://guix.trop.in/en/cookbook/en/html_node/Getting-substitutes-from-Tor.html#Getting-substitutes-from-Tor), directly from
+ci.guix.gnu.org host and there is another mirror[^2].
+
## Guix Installation ISO
This is a basic installation image, but ci.guix.gnu.org substitute
@@ 23,26 47,6 @@ If you use graphical installer and network check fails, `ctrl-alt-f3`:
touch /tmp/installer-assume-online
```
-## Guix Mirror
-
-If \*guix.gnu.org is blocked for your network by any reason[^1], you
-can use a reverse proxy, which mirrors various guix services. Please
-don't use it if the upstream services is available for you.
-
-All services are available in clearnet and yggdrasil. All services
-are exposed by **HTTP only**, if you want to have the traffic to be end to
-end encrypted use yggdrasil. The instruction about yggdrasil setup
-should appear here in some future.
-
-- **site:** [guix.trop.in](http://guix.trop.in), [guix.ygg.trop.in](http://guix.ygg.trop.in), [clearnet
- ip](http://23.184.48.219/), [yggdrasil ip](http://[200:554d:3eb1:5bc5:6d7b:42f4:8792:efb8]/).
-- **bugtracker:** [issues.guix.trop.in](http://issues.guix.trop.in),
- [issues.guix.ygg.trop.in](http://issues.guix.ygg.trop.in).
-- **substitutes:** [http://ci.guix.trop.in](http://ci.guix.trop.in),
- [http://ci.guix.ygg.trop.in](http://ci.guix.ygg.trop.in), the protocol is http!
-
-It's also possible to obtain [substitutes via Tor](http://guix.trop.in/en/cookbook/en/html_node/Getting-substitutes-from-Tor.html#Getting-substitutes-from-Tor), directly from
-ci.guix.gnu.org host and there is another mirror[^2].
[^1]: https://lists.gnu.org/archive/html/help-guix/2022-03/msg00004.html
M pages/index.html => pages/index.html +12 -4
@@ 3,19 3,27 @@ title: main
<body>
<h1 class="title">trop.in</h1>
<p>
-Probably you are interested in yt <a href="https://youtube.com/@abcdw">channel</a>.
+
</p>
<p>
-rde project is <a href="./rde/ ">here</a>.
+ Probably you are interested in
+ yt <a href="https://youtube.com/@abcdw">channel</a>,
+ <a href="/stream">streams</a> or
+ text <a href="/blog">blog</a>.
</p>
<p>
-You can find Andrew's contacts <a href="./contact">here</a>.
+ rde project is <a href="./rde/ ">here</a>.
</p>
+ <p>
+ You can find Andrew's contacts <a href="./contact">here</a> and what
+ he does <a href="./does">here</a>.
+ </p>
+ <!-- guile markdown can't insert arbitrary html yet -->
<a rel="me" href="https://fosstodon.org/@abcdw" hidden="hidden">Mastodon</a>
<h2 id="guix-mirror">Guix Mirror and Installation Image</h2>
<div>
<p>
- <a href="./guix.html">Here</a> you can find information about guix mirror and
+ <a href="./guix">Here</a> you can find information about guix mirror and
link to custom installation ISO.
</p>
</div>
A pages/jobs.md => pages/jobs.md +25 -0
@@ 0,0 1,25 @@
+title: jobs
+---
+# [trop.in](/)/jobs
+
+There is a list of task, projects and positions.
+
+## Jobs
+There are no open positions at the moment, but take a look at
+bounties.
+
+## Bounties
+A list of tasks or small projects that we can fund. The bounties are
+in EUR and there are a few ways to recieve it after the task is
+accomplished and solution reviewed and verified: invoice on
+[opencollective](https://opencollective.com/rde), cryptocurrency or we
+can make a donation to FOSS project of your choice. The list below is
+NOT a public offer or something, just a raw example of what to expect.
+For more details [contact](/contact.html) us via IRC or email.
+
+- Package [vmware-openvmtools](https://github.com/vmware/open-vm-tools) :: 200 EUR.
+- Making a service and running Guix System on VMware :: 400 EUR.
+- Guix Service for trezord. :: 200 EUR.
+- Guix Service for [tinc](https://tinc-vpn.org/)
+ [VPN](https://tinc-vpn.org/documentation-1.1/tinc.conf.5) :: 300
+ EUR.
M pages/rde/index.md => pages/rde/index.md +1 -1
@@ 1,6 1,6 @@
title: trop.in/rde
---
-# trop.in/rde
+# [trop.in](/)/rde
Developer and power user friendly GNU/Linux distribution based on
[GNU Guix](https://guix.gnu.org/) functional package manager.
M pages/stream.html => pages/stream.html +1 -1
@@ 3,7 3,7 @@ plain: #t
---
<body>
<div id="content" class="content">
-<h1 class="title" align="center">trop.in/stream</h1>
+<h1 class="title"><a href="/">trop.in</a>/stream</h1>
<p>
Hi! I'm Andrew Tropin and I stream from time to time. You can find recordings of the streams at
<a href="https://diode.zone/c/andrewtropin/videos">peertube</a> and
A pages/support.md => pages/support.md +20 -0
@@ 0,0 1,20 @@
+title: support
+---
+# [trop.in](/)/support
+
+I'm Andrew Tropin, I [do](./does) a lot of Free and Open Source
+Software. If you want to support my projects, projects I'm related
+to, and people working on them consider
+[opencollective.com/rde](https://opencollective.com/rde).
+
+If you want to support me personally, you can use following options:
+
+- Bitcoin (BTC): `bc1q88s5dk88u4r4jjhgm0gsj2s0l42s66fkw747c2`
+- Ethereum (ETH): `0xC3ded417093b7187d0ed62d39a4A05806f02B209`
+- USDT (TRC-20): `THLK5KNjCwcpK3HHWHyKZ4rUG2oqnrFXq8`
+- Monero (XMR): `44URWxfKxPJFFYAXN9v7rzedZSyV37qQTP39tjJtshYgcJS8pRvswZU22vvLyo5oVWesAQd32cQQrHxAKV68okRnKznaRCQ`
+- Wrapped TON (TONCOIN): `0xC3ded417093b7187d0ed62d39a4A05806f02B209`
+
+Sharing the word about the project, giving a constructive feedback and
+expressing a gratitude are also important ways of support. If you
+have something else in mind [contact](./contact) Andrew via email.
M src/tropin/machines.scm => src/tropin/machines.scm +4 -0
@@ 69,6 69,9 @@
(server_name trop.in *.trop.in)
,#~""
(location
+ /rde/meetups
+ ((return 302 https://meet.jit.si/rde-meetup)))
+ (location
/
((root /srv/nginx/trop.in)
(if ,#~"($request_uri ~ ^/(.*)\\.html(\\?|$))"
@@ 112,6 115,7 @@
(http
,(append
`((server_tokens off)
+ (proxy_temp_path /var/run/nginx/proxy_temp) ;; can speed up?
(include ,(file-append nginx "/share/nginx/conf/mime.types")))
(interpose
`(,@(guix-mirror-server-context
M src/tropin/site.scm => src/tropin/site.scm +16 -4
@@ 75,7 75,7 @@
(string-append (or prefix "") "/"
(site-post-slug site post) ".html"))
- `((h1 ,title)
+ `((h1 (a (@ (href "/")) "trop.in") "/" ,title)
(div (@ (class "post-list"))
,@(map (lambda (post)
`(div
@@ 151,9 151,9 @@ path."
(list))))))
(define %blog-collections
- `(("trop.in/blog" "index.html" ,posts/published)
- ("trop.in/tech" "tech.html" ,(posts/filter-by-tag "tech"))
- ("trop.in/life" "life.html" ,(posts/filter-by-tag "life"))))
+ `(("blog" "index.html" ,posts/published)
+ ("tech" "tech.html" ,(posts/filter-by-tag "tech"))
+ ("life" "life.html" ,(posts/filter-by-tag "life"))))
(define-public main-site
(site #:title "trop.in"
@@ 172,6 172,9 @@ path."
(static-page "pages/guix.md" "guix.html")
(static-page "pages/contact.md" "contact.html")
(static-page "pages/sport.md" "sport.html")
+ (static-page "pages/jobs.md" "jobs.html")
+ (static-page "pages/does.md" "does.html")
+ (static-page "pages/support.md" "support.html")
(static-page "pages/rde/index.md" "rde/index.html")
(blog #:theme paper-theme
#:prefix "/blog"
@@ 185,3 188,12 @@ path."
;; ((@ (haunt serve web-server) serve) "target/tmp-site")
+;; (use-modules (commonmark) (haunt post))
+;; (call-with-input-file "pages/posts/hello.md"
+;; (lambda (port)
+;; (values (read-metadata-headers port)
+;; (commonmark->sxml port))))
+;; (xml->sxml)
+
+;; TODO: Take a look at readable.css
+;; https://readable-css.freedomtowrite.org/