b

CHESSBOVIK

Well, here we are on the eve of SIGBOVIK 2019. I'm in the midst of a long day of video-making for one of my projects, but I can get 2 for the price of 5 by posting now about four of my papers. This year I've been on a chess kick, which I think I've successfully gotten out of my system by writing all these (previous posts alluded to there being five, but one of them didn't really go anywhere and/or just became part of the other(s)). They are sort of intertwined:

Survival in chessland is about how to stay alive if you are being a chesspiece to the death

Color- and piece-blind chess is about, among other things, playing chess without being able to tell what the pieces are (only where they are)

Elo World, a framework for benchmarking weak chess engines is about exploring the full spectrum of computer chess play

CVE-2018-90017117 #KingMe is just a short joke, but based on a true story


My last paper is on a different (maybe even weirder?) topic, and I'm putting together a video for it now, so I should be uploading that tomorrow some time. It's been a bit rough going, though, since I replaced my computer a few months ago and forgot that I hadn't actually set stuff up for this kind of work; I'm experiencing small problems like custom key commands aren't set, and bigger problems like audio drivers acting crazy. Looks like I will be able to finish with some vacation time, at least.


Speaking of vacation, this month we also went to Belize, which was pretty cool. The highlight for me was swimming/scrambling 1km into a cave ("Actun Tunichil Muknal") to access an approximately 1000 year-old Mayan site where they performed human sacrifices; it's remarkable because almost all of the artifacts are still in situ, including a number of calcified human skeletons. Was pretty wild. I got some good running done, found some New Haven-style pizza (!?), and wrote papers about chess (?!).




b

Strawberry Fields Forever

Happy 40th birthday to me! I'm currently in Connecticut visiting with the whole family, which is only somewhat coincidentally on my 40th birthday weekend. The main thing is the pizza! Two quick updates from this month, strawberry-related:

One of my all-time favorite games, Celeste, just got a new free 9th chapter (which is sized more like three chapters). This was a mixed blessing since over a year ago I finished all its hardest levels (all achievements) and then managed to pry myself from it. So I felt compelled to get the two new achievements to get back to 100%, but it was a somewhat hypnotizing and RSI-inducing grind. (Especially since I had gotten pretty rusty. I even forgot that you can hold onto walls, which made the first few levels much harder...) The worst part was that the final level was rumored to be kinda ridiculous, and the "WOW" achievement even moreso, so I was feeling worried about that the whole week it took to get through the prior 99. All told it was pretty worthwhile; the level design is really admirable as usual, and it stays true to the signature difficulty curve. I recommend it.

Second is a font sighting sent by a friendly Internet stranger. This one is from a fairly popular (18M views this month) music video called Fresa, which features Columbian Reggaeton artist Lalo Ebratt. A sighting in such a video would be interesting, but the wildest thing is where it is:


Lalo Ebratt's "THUGGER" neck tattoo


Yes, that is Action Jackson used on his highly permanent neck tattoo that reads "THUGGER" (presumably short for "Tree Hugger"). It seems to be a fairly new tattoo, but you can find many more images of it to verify. I hope it ages well!




b

The Kentucky Bourby

Well, not that much to say about October. This is the busiest time of the year at work, and this year for some reason particularly so, and I don't get much time to do anything but that.

Two running-related things. The Shadyside (that's my neighborhood in Pittsburgh) 5k was earlier this month, and I finished with a time of 20m21s, which is pretty good for a 40 year-old (6m33s/mile). This continues the recent theme of coming close to PRs I set as a 30 year-old, with some dubious excuse (in this case, I "felt sick that morning") to explain the gap, and to motivate myself to keep trying to match/beat those old times and "just lose 15 pounds" etc.. We also traveled to Kentucky, my first time there, for the Ragnar "Bourbon Chase", which event is a relay race from Louisville to Lexington, which route passes through the sites of various bourbon whiskey distilleries. William calls it the "Kentucky Bourby," which IMO should be canonical. Ragnars sound like a lot when you say it's a 200 mile relay, but that's split over 12 people, and honestly the running is not really the hard part (it's all the sleep deprivation and van logistics). Two of my legs were kind of monotonous but one was very scenic, almost "Kentucky" pastiche, with the rolling hills and perfect fences and horses and grasses. It was also cool to visit these distilleries (and e.g. Four Roses was moderately open for us at 3am), but this kind of running and sleep deprivation doesn't really set the best mood for drinking whiskey and touring the grounds (e.g. in the dark), so maybe it is not the best way to visit Kentucky's whiskey scene. Still, was a good trip.

Games-wise, I finished RAGE 2 (IMO a fine game as far as dumb shooters go, I think underrated even) and a little bullet hell roguelike called "Monolith," which I liked. This weekend I unwisely installed Call of Duty: Modern Warfare (distinct from "Call of Duty 4: Modern Warfare" and "Call of Duty: Modern Warfare Remastered"; cf. related joke) and have been saving America over and over. It's exactly what you'd expect.

I've found some time to spend on my ongoing engineering project, and made some impossible-to-undo steps (e.g. cuts into irreplaceable pieces), which is an unarguable sign of progress. This weekend I finally did one of those integration steps where I first tested a bunch of things together, and unnervingly it worked on the first try. I still have one mechanical part that I think has a pretty good chance of not working due to my naivety, in which case I will have to get creative, which is part of the fun!

Happy halloween! see you soon!




b

My SIGBOVIK 2020 papers, lovingly aged one month

Well, April felt simultaneously short and long! I should have just posted these at the beginning of the month, my SIGBOVIK papers from 2020:

Is this the longest chess game? is another needless chess paper, here trying to figure out the longest possible legal game. There are several rules that make sure games can't go on forever, and some surprisingly subtle details/ambiguity to those rules. The whole game is of course included in the paper (17697 moves), but I was far from being the largest waste of space in this year's proceedings, as one provocateur had a paper with 150 pages of citations. Mathieu made a 5-hour video of the chess game I computed for his companion blog post.

What is the best game console? A market-based approach is a silly idea taken too far. It was a year in the making (mostly waiting) and didn't quite turn out the way I was expecting due to world events, but that's part of the "fun" I guess!

Conditional Move For Shell Script Acceleration was another collaboration with Jim (mostly his doing, but I like to lather on an additional patina of absurdity).

This month I have mostly been trying to keep sane and healthy during the shelter-in-place order. It's been harder than usual to find the energy to be creative, but I have had some spurts. I basically only leave the house to run (not going anywhere near other people). But I have been doing that pretty regularly, so between that and the prohibition against going out to bars and ice cream, I'd say I'm currently in the best I have been in ~6 years. Yesterday I claimed some course records for some Strava segments in my neighborhood! I also finished up Doom: Eternal, which was good but you pretty much already know what it's like and I'm playing Animal Crossing and haven't yet gotten sick of that. The timing for the release of that latter game couldn't have been more perfect, huh? Sometimes I need something with a little challenge, so I just started Nuclear Throne. I'm liking it but not sure if I have decided whether it's good enough to invest the time in to win (I almost always play games to the end but these randomized roguelikes demand a certain kind of potentially infinite investment. Like I never did beat the last boss in Wizard of Legend, and even in Dead Cells, which I loved, I had to settle for some modest personal criteria for "winning.") Any other recs? Could use a good Metroidvania perhaps?




b

Fabiana : перед сносом



Остальные фото — в продолжении публикации



  • ---

b

Strangelings bonus post!

Hello, and welcome to one of two Fantastic Strangelings Book Club discussions for this month! “What is the Fantastic Strangelings Book Club and how can I join?”  Just click here, sweet baby angel face. This discussion though is about a … Continue reading



  • bloggess book club

b

It’s okay to not be okay

I feel bad that I haven’t written anything funny here in awhile.  I know you can tell that I’ve been up and down but I think that’s pretty common for everyone going through this.  I have a million things I … Continue reading




b

Lots of weird but interesting stuff

It’s Sunday so that means this is a good place to put all the stuff that doesn’t fit anywhere else, like: ONE Let’s Pretend This Never Happened has a new cover and it’s adorable.  This means that if you have … Continue reading




b

Book club time!

Hey.  I was going to write this all yesterday but then I didn’t because yesterday was very not good.  Nothing really bad happened but I fell into a full meltdown of depression and I basically just cried and curled up … Continue reading




b

Button, button, who’s got the button…

This isn’t a real post but I thought you might enjoy. I collect buttons.  I have for years.  And a few of you enjoy them as much as I do so yesterday when someone in the comments asked me for … Continue reading




b

Way back





b

GOODBYE EVERYONE!




b

Wimpie Nortje: Database migration libraries for PostgreSQL.

It may be tempting at the start of a new project to create the first database tables manually, or write SQL scripts that you run manually, especially when you first have to spend a significant amount of time on sifting through all the migration libraries and then some more to get it working properly.

Going through this process did slow me down at the start of the project but I was determined to use a migration tool because hunting inexplicable bugs that only happen in production just to find out there is a definition mismatch between the production and development databases is not fun. Using such a tool also motivates you to write both the setup and teardown steps for each table while the current design is still fresh in your mind.

At first I considered a standalone migration tool because I expect them to be very good at that single task. However, learning the idiosyncrasies of a new tool and trying to make it fit seamlessly into my development workflow seemed like more trouble than it is worth.

I decided to stick with a Common Lisp library and found the following seven that work with PostgreSQL and/or Postmodern:

I quickly discounted Crane and Mito because they are ORM (Object Relational Mapper) libraries which are way more complex than a dedicated migration library. Development on Crane have stalled some time ago and I don't feel it is mature enough for frictionless use yet. Mito declares itself as being in Alpha state; also not mature enough yet.

I only stumbled onto cl-mgr and Orizuru-orm long after making my decision so I did not investigate them seriously. Orizuru-orm is in any case an ORM which I would have discounted because it is too complex for my needs. CL-mgr looks simple, which is a good thing. It is based on cl-dbi which makes it a good candidate if you foresee switching databases but even if I discovered it sooner I would have discounted it for the same reason as CL-migrations.

CL-migrations looks very promising. It is a simple library focusing only on migrations. It uses clsql to interface with the database which bothered me because I already committed to using Postmodern and I try to avoid adding a lot of unused code to my projects. The positive side is that it interfaces to many different databases so it is a good candidate if you are not committed to using Postmodern. It is also a stable code base with no outstanding bug reports.

The two projects I focused on was Postmodern-passenger-pigeon and Database-migrations because they both use Postmodern for a database interface.

Postmodern-passenger-pigeon was in active development at the time and it seemed safer to use than Database-migrations because it can do dry runs, which is a very nice feature when you are upgrading your production database and face the possibility of losing data when things go awry. Unfortunately I could not get it working within a reasonable amount of time.

I finally settled on Database-migrations. It is a small code base, focused on one task, it is mature and it uses Postmodern so it does not pull in a whole new database interface into my project. There are however some less positive issues.

The first issue is a hindrance during development. Every time the migrations ASDF system (or the file containing it, as ASDF prefers that all systems be defined in a single file) is recompiled it adds all the defined migrations to the migrations list. Though each one will only be applied once to the DB it is still bothersome. One can then clear the list with (setf database-migrations::*migrations* nil) but then only newly modified migration files will be added. The solution then is to touch the .asd file after clearing the migrations list.

The second negative point is quite dangerous. The downgrade function takes a target version as parameter, with a default target of 0. This means that if you execute downgrade without specifying a target version you delete your whole database.

I am currently using Database-migrations and it works well for me. If for some reason I need to switch I will use cl-migrations.

Using Database-migrations

To address the danger of unintentionally deleting my database I created a wrapper function that does both upgrade and downgrade, and it requires a target version number.

Another practical issue I discovered is that upgrades and downgrades happen in the same order as they are defined in the migration file. If you create two tables in a single file where table 2 depends on table 1 then you can not revert / downgrade because Database-migrations will attempt to delete table 1 before table 2. The solution here is to use the def-queries-migration macro (instead of def-query-migration) which defines multiple queries simultaneously . If you get overwhelmed by a single definition that defines multiple tables the other option is to stick with one migration definition per file.




b

Quicklisp news: April 2020 Quicklisp dist update now available

New projects:

  • anypool — General-purpose pooling library — BSD 2-Clause
  • avl-tree — An implementation of the AVL tree data structure. — MIT
  • cl-aubio — Aubio bindings for Common Lisp — GPLv3
  • cl-interval — Intervals, interval trees — NewBSD, LLGPL
  • cl-liballegro — Allegro 5 game programming library bindings for Common Lisp — Allegro 5 - http://alleg.sourceforge.net/license.html
  • cl-mime-from-string — A one function library to return a mime-type based on the file extension found at the end of a string. ie abc.txt -> text/plain. The common types implemented are from https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types — MIT
  • cl-telegram-bot — Telegram Bot API, based on sovietspaceship's work but mostly rewritten. — MIT
  • dns-client — A client for the DNS protocol. — zlib
  • feeder — RSS, Atom and general feed parsing and generating — zlib
  • perceptual-hashes — Perceptual hash algorithms for images — 2-clause BSD
  • portable-condition-system — A portable condition system for Common Lisp — CC0
  • ten — Template System for Common Lisp — MIT
  • trivial-custom-debugger — Allows arbitrary functions to become the standard Lisp debugger — MIT
  • trivial-with-current-source-form — Helps macro writers produce better errors for macro users — GPLv3
  • vom-json — A json-formatted logger for vom — MIT
  • vp-trees — Perceptual hash algorithms for images — 2-clause BSD
Updated projects3b-bmfont3bgl-shader3bmd3bza-cl-loggeralexandriaaprilasync-processbdefbpccldocchungacl+sslcl-anacl-capstonecl-cffi-gtkcl-collidercl-containerscl-environmentscl-gamepadcl-gservercl-inotifycl-marklesscl-packcl-patternscl-pythoncl-rdkafkacl-shlexcl-sparqlcl-strcl-tuicl-utilscl-webkitclinenoiseclipcloser-mopconcrete-syntax-treecroatoancserial-portdartscltoolsdefenumdeploydexadordiff-match-patchdissectdjuladoubly-linked-listeasy-routeseclectorescalatorfast-generic-functionsfast-ioflexi-streamsflexichainfloat-featuresfsetfuccfunctional-treesfxmlgendlgraphgtirbhu.dwim.computed-classhu.dwim.defhu.dwim.perechu.dwim.presentationhu.dwim.quasi-quotehu.dwim.walkerhu.dwim.web-serverhunchentoot-multi-acceptorironcladkeystonelispqrliterate-lispmaidenmaxpcmcclimmmapmodularizemutilitynodguinumclnumpy-file-formatoriginosicatoverlordparachutepatchworkpetalisppetriphoe-toolboxplumppolicy-condpolisherpostmodernpzmqqtoolsquilcqvmroanrpcqs-graphvizs-http-clients-http-servers-sysdepss-utilssanity-clausescalplsealable-metaobjectsselselect-fileserapeumsketchskippy-renderersnappysoftdrinkspinneretstaplestumpwmsucleswank-clientswank-crewtootertrace-dbtrivial-featurestrivial-file-sizevgplotwoo.

Removed projects: cl-password-store, fomus, rfc3339-timestamp, rpc4cl.

All the removed projects are removed because they no longer build. For the first two (cl-password-store and fomus), I was unable to get a response from the authors. The other two (rfc3339-timestamp, rpc4cl) the author was responsive, but has abandoned the projects.

To get this update, use (ql:update-dist "quicklisp"). Enjoy!

A number of people support Quicklisp with a monthly contribution through PayPal. I recently set up a Quicklisp Patreon page as an alternative - if you are interested in supporting Quicklisp, feel free to check it out.




b

ABCL Dev: ABCL 1.6.1 Springs Forth

As augured, the Bear is pleased to join fellow open ANSI Common Lisp implementations CCL, ECL, and SBCL in publishing a new release around the online advent of the thirteenth European Lisp Symposium, ELS2020.

The ABCL 1.6.1 binaries and signatures are now available with their associated CHANGES.

Thanks to everyone involved in continuing to further the progress of our implementation.




b

Nicolas Hafner: Creative Block - May Kandria Update


It's a new month, and that usually means I'm supposed to write a monthly update on the progress with Kandria. Thinking about that though made me feel very depressed because I realised that I hadn't really done anything at all for the game, all of April.

I can blame however much I want of that on the quarantine and university stress, or whatever else, but it won't change the fact that there has not been much progress on any front. While I have been slacking a lot, it's not like I haven't been working at all - plenty of time has gone into Courier, after all.

When I had this realisation yesterday, I tried my best to push myself to work on the game any way I could, but I failed to find anything that I could actually convince myself to do. That isn't to say that there aren't things to do; god forbid there's a tonne of things! Tuning combat, drawing animations, writing the UI, fixing dialogue, starting on enemy AI, optimising performance - just to name a few. And yet, despite the breadth and depth of things to do, there was absolutely nothing that looked appealing to me.

This kind of feeling is nothing new to me. It's a creative block, and happens more often that I'd like to admit. It's also why I often don't like to start long running projects, because I'm afraid of a creative block that would ruin it. The worst part about the creative block is that there's no remedy for it. You just get stuck in a rut, and it sucks a whole lot for a completely unpredictable amount of time. Often what I end up doing, whether consciously so or not, is switching to another project and just working on that.

So far that project has been Courier, but that's at its end and I'm also starting to feel burnt out on it, too. I don't have any other projects queued up that I'd like to tackle, or new ideas on what to do at the moment, so I'm just... stuck.

I suppose the right thing to do in this situation is to take it easy and not fret too much over it, since that's often one of the many factors causing the block. I've never been good at actually doing that, though. Maybe I should try to take a break from programming in general? I don't know.

You may be wondering why I'm writing this all to begin with. Well, partly I feel like I promised to do monthly and weekly updates, and I really hate to break that promise without notice. Another part is that I just feel like I owe you the discretion to tell you what's going on with me. I'm very thankful for the email replies and general responses I've gotten for Kandria so far, I really am! Because of that genuine interest, I feel all the more pressured not to disappoint. Since I have nothing to show though, I thought the only proper course of action is to just be open and direct about it. So I'll just say it again: aside from updating the public demo, no progress has been made at all.

Maybe it would help me to have a more open discussion about this topic in general, instead of just it being me telling you that I'm in a bad place. So please, let me know: have you been in similar situations before? What helped you deal with them? Is there something in Kandria I could try to focus on that you, personally, would like to see?

You can reach me at shinmera@tymoon.eu.




b

Wake-robin

Native pink trillium, aka wake-robin, presumably named such because they bloom in spring when the robins are warbling like mad? ‘Wake-robin’ is just a great name for a flower. 




b

At Least a Decade, Maybe Two

Heh. K Tempest Bradford happened across an old photo of me and Neil — I’m in a sari, so I’m guessing this was at the Hugos. We look very young, so at least a decade ago — maybe two. 




b

There Will Be Dragons

Packed up the first of the local Mother’s Day treat packages — lily-of-the-valley soap and bath salts, baked goodies and confections. And locals get a little potted lily-of-the-valley too. Supplies limited — I think I can do 4 more before I run out of cookies. I’m done with baking for a bit…need to get back … Continue reading "There Will Be Dragons"




b

“shoulda taken a before picture…”

I had a small dip in productivity this week. I think I mentioned that at the end of last summer I had shingles. It was a super mild case, but I wound up with something called “post-herpetic neuralgia” which is basically nerve pain. It’s super well-controlled with gabapentin, which also has some positive effects on […]




b

Lamborghini Huracán EVO RWD Spyder




b

Unitree A1 Robot Dog




b

Bushnell Wingman GPS Speaker



  • Audio & Speakers

b

South Kingstown Beach House





b

Assembly Coffee Roasters Rwanda Bumbogo Coffee




b

Louis Vuitton Foosball Table



  • Toys & Games

b

Topo Designs Packable Ultralight Jacket




b

Bollywood






b

Изменены даты и схемы Высшей и Премьер-Лиги КВН

🔻Игры 1/4 финала Высшей лиги, которые были запланированы на апрель/май этого года пройдут в ИЮНЕ, в такой же последовательности, как и планировалось ранее.
🔻Даты появятся позже.

С Премьер-лигой дела обстоят сложнее…

Руководство ТТО «АМИК» и редакторский состав лиги приняли решение изменить схему сезона:
1. Отменить этап 1/8 финала.
2. Провести 1/4 финала — 4 игры по 6 команд.
3. Провести 1/2 финала — 3 игры по 6 команд.
4. Провести финал без изменений.

[ читать дальше ]




b

Раисы не Чемпионы? Раисы — Чемпионки! Мнение

Когда председатель жюри, Константин Эрнст в конце игры встал и объявил: — «Разница между победителем и вторым местом две десятых… такое бывает не часто. Мы просим в этом году двух Победителей — Вятку и Раис! Танцуйте, девчонки!!!», но танцевать начали не только Вятка и Раисы!


Предлагаем вам узнать ответ на Главный Вопрос, который волнует всех КВНовских болельщиков: — «Раисы Чемпион?.. Или чё?.. Или как?..».

На этот вопрос отвечают компетентные КВНщики в различных интервью.


Дмитрий Бушуев, Чемпион, автор, Командор:
- Да. На мой взгляд, да. Абсолютно. КВН не ошибается. Я этих девчонок знаю уже несколько лет, они трудяги. Мне им, как трудягам, ни на секунду не жалко дать Чемпионство.

[ читать дальше ]




b

Премьера. Дома с пельменями

«Уральские пельмени» на карантине.




b

Ombudsman office renamed to Ombuds

The office formerly known as the U.S. Grand Lodge Ombudsman has been renamed to Ombuds. The purpose of this office remains as described on the U.S.G.L. Government Contacts page: The office of the U.S. Grand Lodge Ombuds serves as an official liaison between the general membership of O.T.O. within the United States and the various …

Continue reading




b

Support your local body during the COVID-19 pandemic

Event cancellations at local bodies due to COVID-19 will reduce revenue, but not rent and other fixed expenses. Many local bodies already operate on extremely tight margins and struggle to pay their bills even during normal times. All members are encouraged to continue to financially support their local bodies, even if there are no events …

Continue reading




b

Dues Relief for O.T.O. Members

Do what thou wilt shall be the whole of the Law. Greetings on the First Day of the Writing of the Book of the Law! Due to the ongoing economic impact of the Coronavirus pandemic, the International Supreme Council of Ordo Templi Orientis, in consultation with the Grand Lodges, is implementing the following measures to …

Continue reading