~abcdw/trop.in

83ab9adbedc7c841bc3a9b3d523da87397b2f724 — Andrew Tropin 13 days ago 7eece63
Update pages content
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/