# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 2642
# self = https://watcher.sour.is?uri=https://twtxt.net/user/adi/twtxt.txt&offset=842
# next = https://watcher.sour.is?uri=https://twtxt.net/user/adi/twtxt.txt&offset=942
# prev = https://watcher.sour.is?uri=https://twtxt.net/user/adi/twtxt.txt&offset=742
@movq Why is what?
@jlj What OS are you running that rpi?
Morning! ☕
@adi @prologic @mckinley https://thebestmotherfucking.website/

But still, that

> gorgeous lock

😁
@adi @prologic @mckinley https://thebestmotherfucking.website/\n\nBut still, that\n\n> gorgeous lock\n\n😁
@prologic @mckinley Great XKCD for the "moment" @mckinley! 😊
@movq @prologic Read this also https://twitter.com/fcambus/status/1371545497803034627.
https://twitter.com/adi3v/status/1371430481510739969 😋
@adi @movq @prologic Yeah, I agree I'm awesome 😋, fcambus also is. I also agree it's good to be aware of other GeoIP databases than the MaxMind ones, first time I heard about https://db-ip.com/.
@adi @movq @prologic It's nice that it's also available in CVS format but it has less info https://db-ip.com/db/download/ip-to-country-lite
@adi @movq @prologic Maybe you could use the https://db-ip.com/db/lite.php databases in asciiworld 😉.
@adi @movq @prologic https://twitter.com/fcambus/status/1371392533780172803
@movq @prologic I personally would send them a message. 😋
@darch @jlj https://bearblog.dev/ is pretty cool!
@adi @movq @prologic But I guess you can send them a message an ask.
@adi @movq @prologic But I guess you can send them a message and ask.
@movq @prologic I'm not a lawyer.
@adi @movq You could simply not distribute the db files with asciiworld and have it in your README that thy're required.
@adi @movq You could simply not distributed the db files with asciiworld and have it in your README that thy're required.
@adi @movq I'm pretty sure it's "free as in beer", and not "free as in speech" because they require you to keep the database updated?
@movq \n\n> “You shall cease use of and destroy any old versions of the Services within thirty (30) days following the release of the updated GeoLite2 Databases.”\n\nI interpret this as "you have to keep your database updated", not as distribution restriction.
@movq

> “You shall cease use of and destroy any old versions of the Services within thirty (30) days following the release of the updated GeoLite2 Databases.”

I interpret this as "you have to keep your database updated", not as distribution restriction.
@adi @movq Yeah, problem is distribution, are you allowed or not to distribute the databases. Would be dumb if maxmind would want everybody to create an account or just software makers/distributers.
@adi @movq Yeah, problem is distribution, are you allowed or not to distribute the databases. Would be dumb if MaxMind would want everybody to create an account instead of just software makers/distributors to download the databases for distribution.
@adi @movq Lol, why not just create an account yourself and download the databases, I guess you have to read about the distribution policy.
@movq Shady legally speaking?
@adi @movq https://twitter.com/adi3v/status/1371023337774850056
@adi @movq \n\n
\n$ ls -1 /var/db/GeoIP/\nGeoLite2-City.mmdb\nGeoLite2-Country.mmdb\n
@adi @movq


$ ls -1 /var/db/GeoIP/
GeoLite2-City.mmdb
GeoLite2-Country.mmdb
@adi @movq This is the package that has the databases but I can't figure out how it gets the files https://github.com/openbsd/ports/tree/22f59096e42f4bf9e6cd51073119c7653eaf83b9/net/libmaxminddb.
@adi @movq I'm looking at what and how OpenBSD packages.
@movq \n\nFrom https://dev.maxmind.com/geoip/geoip2/geolite2/\n\n> To receive access to download the GeoLite2 databases or query the GeoLite2 web services at no charge, sign up for a GeoLite2 account.\n\nGeo*lite* is the free version now.
@movq

From https://dev.maxmind.com/geoip/geoip2/geolite2/

> To receive access to download the GeoLite2 databases or query the GeoLite2 web services at no charge, sign up for a GeoLite2 account.

Geo*lite* is the free version now.
@movq I'm ordinary. But I'll only be able to set a date.
@movq On the 15th I'll be able to set a vaccination date for myself.
Morning! ☕
@lyse @movq @prologic ☹Ruined the game, nice game idea tho. 😋
@movq I'm craving some 🍕 tbh. Going to get some soon.
Morning! ☕
@prologic @lyse Yeah, me neither.
@anth Nice! As far as I remember GSoC rewards some tasks or issues related to the project. What tasks are there?
@mckinley

> I really appreciate your help but as I said in my blog post, I just need to make my own generator in a real programming language if I want it to be exactly right for my website.

I personally don't believe you need help and I don't believe you need to make your own generator, but if you personally decide it's a good idea go for it.
@mckinley \n\n> I really appreciate your help but as I said in my blog post, I just need to make my own generator in a real programming language if I want it to be exactly right for my website.\n\nI personally don't believe you need help and I don't believe you need to make your own generator, but if you personally decide it's a good idea go for it.
@mckinley \n\nNo need to apologize.\n\n
\n> Depends on what you understand by “mess” and “complicated”\n\nIt’s 55 lines long and I’m having trouble understanding it as I read through it, less than a week after it was written.\n
\n\n> Depends on what you understand by “mess” and “complicated”\n\nIt’s 55 lines long and I’m having trouble understanding it as I read through it, less than a week after it was written.
@mckinley

No need to apologize.


> Depends on what you understand by “mess” and “complicated”

It’s 55 lines long and I’m having trouble understanding it as I read through it, less than a week after it was written.


> Depends on what you understand by “mess” and “complicated”

It’s 55 lines long and I’m having trouble understanding it as I read through it, less than a week after it was written.
@mckinley However you prefer.
@adi @mckinley mkws is very tolerant to "mess".
@mckinley No, I probably would sed the quoted documents to unquoted ones and process those using temp files. Again, if your current setup works don't change it especially not for that sake of change.

> But the end result would be even more of a complicated mess of a shell script than the one I have now.

Depends on what you understand by "mess" and "complicated". 😁
@mckinley No, I probably would sed the quoted documents to unquoted ones and process those using temp files. Again, if your current setup works don't change it especially not for that sake of change.\n\n> But the end result would be even more of a complicated mess of a shell script than the one I have now.\n\nDepends on what you understand by "mess" and "complicated". 😁
@mckinley Yeah, that's the whole point, it's very basic. You don't _configure_ it, you _program_ it. Edit the main mkws script to your preference, this is how I generate my blog:


for p in "$srcdir"/p/*
do
        test "${p##*.}" == "html" && continue
        echo "Making p/$(echo "${p##*/}" | cut -c21-).html"
        pp "$sharedir"/l.upphtml "$p" "$1" > "p/$(echo "${p##*/}" | cut -c21-).html"

done

Do some loops there. Here's how @eldersnake does it https://www.andrewjvpowell.com/pastebin/1612574353/. It doesn't have to be great, just make it work.
@mckinley Yeah, that's the whole point, it's very basic. You don't _configure_ it, you _program_ it. Edit the main mkws script to your preference, this is how I generate my blog:\n\n
\nfor p in "$srcdir"/p/*\ndo\n        test "${p##*.}" == "html" && continue\n        echo "Making p/$(echo "${p##*/}" | cut -c21-).html"\n        pp "$sharedir"/l.upphtml "$p" "$1" > "p/$(echo "${p##*/}" | cut -c21-).html"\n\ndone\n
\nDo some loops there. Here's how @eldersnake does it https://www.andrewjvpowell.com/pastebin/1612574353/. It doesn't have to be great, just make it work.
@mckinley @darch I'm very attracted to retro!
@mckinley @eldersnake Doesn't have all the documents in his root directory, he has a custom layout, my blog posts are stored in a separate p directory, about quotes, maybe you can sed files. You really don't have to use mkws but I'm just saying that it's not impossible.
@adi @mckinley I'm surprised tho https://mckinley.cc/, looks like a very good candidate.
@mckinley Haha, well maybe it's a bad fit for you then. 😀
@mckinley (#
@mckinley I didn't realize, it just seemed like HN to me, now that you mention it, looks cool! 😁 You have a problem with the HN presentation?
I can't remember why and how I set the default format for https://mkws.sh/lts.html.\n\n```\nFri Sep 4 17:53:46 EEST 2020 README\n```
I can't remember why and how I set the default format for https://mkws.sh/lts.html.


Fri Sep  4 17:53:46 EEST 2020 README
@mckinley How's the website going? 😛
@eldersnake Also having to debug obscure bugs in npm dependecies.
God it feels good not having to run npm install in mkws!
@mckinley What's this?
@prologic Yes I agree shops is an orchestrator for a custom language you defined in yaml which runs some sh functions, and judo is an orchestrator for plain sh scripts.
@prologic Yes I agree shops is an orchestrator for a custom language you defined in yaml which runs sh functions, and judo is an orchestrator for plain sh scripts.
@prologic Ok, I assume it's simplification of Chef/Puppet/Ansible?
@prologic Agree, good names was considering them. cdtemp is closer in naming to mktemp
@prologic cdtemp is shorter and I don't have to name things. 😋
@prologic Might just be a thing of preference?
@prologic To me it still looks like it could be written like a single sh script, what am I missing?
@prologic Yeah, but I prefer an empty directory. 😋
An alias I use very often


alias cdtemp='cd $(mktemp -d)'


whenever I'm playing around with something.
An alias I use very often\n\n
\nalias cdtemp='cd $(mktemp -d)'\n
\n\nwhenever I'm playing around with something.
I just woke up! ☕
@prologic I ment running them via judo, not ssh, but if man if yaml is your thing, just do yaml.
@prologic I'm considering using shar somehow, I'm half asleep, we'll talk tomorrow.
@adi @prologic The final ] is extra\n\n
\n if [ -n "${NS1}" ] && ! grep -q "nameserver ${NS1}" "${RESOLVCONF}" ]; then\n
@adi @prologic The final ] is extra


 if [ -n "${NS1}" ] && ! grep -q "nameserver ${NS1}" "${RESOLVCONF}" ]; then
@prologic So why https://raw.githubusercontent.com/prologic/shops/master/examples/resolvconf.yml and not https://clbin.com/vSfnO?
@prologic But where is the state in your examples and how do you store state?
@prologic From the examples above I still don't get why do you have to use yaml as opposed to just writing a sh script.
@prologic From the examples above I still don't get why do you have to use yaml as opposed to just writing a sh script and run it via https://github.com/rollcat/judo for example.
Silly joke:

> Project Manager: Why do you look so tired?
> Programmer: Because I work.
Silly joke:\n\n> Project Manager: Why do you look so tired?\n> Programmer: Because I work.
@adi @movq @lyse


geoip_city_database = "/usr/share/GeoIP/GeoIPCity.dat"
geoip_city_database_v6 = "/usr/share/GeoIP/GeoIPCityv6.dat"


Aren't these "old", "deprecated" GeoIP databases? Isn't the new format in .mmdb? I don't believe I have those databases on OpenBSD.
@adi @movq @lyse \n\n
\ngeoip_city_database = "/usr/share/GeoIP/GeoIPCity.dat"\ngeoip_city_database_v6 = "/usr/share/GeoIP/GeoIPCityv6.dat"\n
\n\nAren't these "old", "deprecated" GeoIP databases? Isn't the new format in .mmdb? I don't believe I have those databases on OpenBSD.
@movq @adi @lyse Succesfully compiled asciiworld on OpenBSD. Playing around. 😛
@lyse @movq

> I hope I can rework it to allow for that kind of fancy stuff.

And what's preventing you? 😋
@lyse @movq\n\n> I hope I can rework it to allow for that kind of fancy stuff.\n\nAnd what's preventing you? 😋
@tfurrows What kind of laziness? 😁
@tfurrows Depends on what you understand by laziness. 😁
@movq 😁 However you prefer.
@movq No goal at all. 😁Please post some jams then! 😛
@adi @movq What's there to migrate? If you would prefer to?
@movq What effort does understanding take? What kind of laziness? What kind of thinking?
@movq

> I want to understand

And what's preventing you?
@movq \n\n> I want to understand\n\nAnd what's preventing you?
@prologic You have custom init system in ulinux, right?
@movq \n\n> is sometimes a PITA, that I’d like to get rid of it\n\nWhy get rid of it?
@movq

> is sometimes a PITA, that I’d like to get rid of it

Why get rid of it?