Caveat: Premises and implications among 7th graders

This exchange actually happened in a 7th grade advanced class.

Julie: I don't like smart people
James: I'm smart!
Julie: So I don't like YOU.

Tobias: That doesn't make sense.

James (glaring at Tobias): Hey!

I found this incredibly funny, not to mention indicative a lot of cleverness on the parts of James and Tobias. Yet when I tried to explain it to my coworkers, we got bogged down in trying to parse the premises and implications of the statements. It felt like a kind of logic class for standup comedians, where the students were not all native to the same language.

So, here's my question for logic students: Why is Tobias's statement a potential insult toward James?

I gave up, in the end, in explaining it to my coworkers. But I had laughed hard during the class, and the boys were clearly intentional enough in their humor that they were pleased with the appreciation I showed them.

[daily log: walking, 6.5]

Caveat: Not so geoficticiany, are we?

[This is a cross-post from my other blog.]

I have become rather obsessively immersed in a non-server-related, non-geofiction-related project. Such is my nature. I’m easily distracted by new projects.

As a result, though I still load these new geofictician sites and the OGF sites daily, and even comment occasionally or tweak something here and there, I haven’t really been doing much.

I’ll get back to this soon enough.

I did spend a few hours building Mahhalian contours, the other day, with a mind on fleshing out the new, leaner, smaller, faux Mahhal-for-OGF (because the “real” Mahhal will be a separate planet file on this here server thing, eventually).

Music to map by: 매드 클라운, “콩.”

CaveatDumpTruck Logo

Caveat: Valdivian Nostalgia

When I lived in Valdivia, Chile, in 1994, I stayed at a guesthouse (casa de huéspedes) while I took classes at the Universidad Austral, which was a kilometer walk across the river on the island. That was a very cold several months, living there, because it was the Chilean winter, August-October, and the Chileans don't believe in any kind of central heating, and the guesthouse wouldn't allow electric space-heaters in our rooms.

It only snowed once, but it was always hovering right above freezing, with neverending drizzle and rain and overcast skies. So I would huddle in the guesthouse's dining room, by a wood stove there, when it was lit. The landlady's cooking was a unique style in my experience. She was German-Chilean, but several generations removed from Germany. I have no idea what to call her cuisine. What was memorable were the single-dish meals she served, made of pasta or rice, always with some kind of tomato-based sauce, picturesometimes with meat, generally with beans, and always with a fried egg or two on top, which I would mash into the concoction before eating. It wasn't particularly delicious, but it was always reliable and filling. I don't know if this cooking style is common in Chilean homes, or even, specifically, southern Chilean or German-Chilean traditions, or if it was more idiosyncratic to that guesthouse's landlady. I did experience something similar at a hotel restaurant in Punta Arenas, but with ñoquis (gnocchi), possibly due to the strong Argentinian influence down there (Punta Arenas is only connected to the rest of Chile by road via Argentina), as I think of ñoquis as being very characteristically Argentinian.

Sometimes, in the years since, I have made various half-hearted efforts to recreate what I think of "Chilean tomato glop with egg". The other day, I can proudly say, I came as close as I ever have to recreating the look and feel of the original. I was finishing off a batch of rice, using a fresh tomato and onion and some leftover chopped ham, I added in half a can of Mexican canned beans (yes, you can buy that in Korea) and two poached eggs. I can't comment on the taste aspect, given the radical transformations my taste-buds have undergone in the intervening years. But anyway, I was happy with having accomplished it. So I took a picture.

[daily log: walking, 6.5km]

Caveat: la même chose

Every Spring is the same, in northwest Seoul. Smoggy. So… every Spring I become grumpy and “under the weather” – almost literally.
Actually this morning isn’t so bad. But the weekend seemed so, and last week was horrible. Such is life in the megalopolis.
Plus ça change, plus c’est la même chose.
picture[daily log: walking, 7km]

Caveat: Some weeks…

[This is a cross-post from my other blog.]

And then, some weeks, I don’t get much done.

I started working on trying to customize my Rails Port (the main “copy” of the OpenStreetMap slippy map), and got very bogged down in the fact that the OpenStreetMap Rails Port is highly complex software written in a language and using an architecture unfamiliar to me: the infamous “Ruby on Rails.”

I dislike the way that the actual name “OpenStreetMap” is hard-coded throughout all the little modules. It seems like a poor application design practice, especially for an opensource project. One area where the name proliferates is in all the internationalization files. So I started wondering how hard it might be to get all these internationalization files to be more “generic.” The answer: pretty hard, at least for me.

I’ve wandered off down a digressive passage where I’m learning about software internationalization under the Ruby on Rails paradigm, but I’m undecided how I want to handle this. Do I want to try to solve it the “right way”? Or just kludge it (most likely by deleting all the internationalization files except perhaps English, Spanish, and Korean)?

Meanwhile I have also got pulled away by some non-computer, non-geofiction projects.

So… not much to report, this week – nothing mapped, nothing coded, nothing configured.

Music to map by: Sergei Rachmaninoff, “Piano Concerto No. 2.”

CaveatDumpTruck Logo

Caveat: rich in entropy

We live in a weird era. Entropy has become a kind of commodity in and of itself.

In all this messing around with my new server… with trying out new things and tinkering with it all… well, of course I have to educate myself a bit about server security. It's a big, bad world out there, and if I'm going to be running a server that's publicly visible on the internet (offering up webpages, etc.) the little machine will be lonely and vulnerable, and I have to think about how to protect it from bots and blackhats.

In the field of network security, one thing that comes up is that you have to have some fundamental understanding of the types of cryptography used these days to secure systems. There's a whole infrastructure around generating "secure" public and private keys that computers hoard and exchange with one another to authenticate themselves. I really DON'T understand this, but I wade through the documentation as I e.g. try to set up a certificate authority on my server, because some of the things I'm running there apparently require it. I run the commands they tell me to, and hopefully my little server is sorta secure. But who knows.

I was fascinated to learn, however, about a thing that is used in crypto key generation on computers: system "entropy."

On one site I was looking at, there was a discussion about the fact that virtual machines (the sorts you rent from big companies to run cheap little servers, as I have done) have extremely low "available entropy" while your typical crummy desktop has very high "available entropy" – therefore when I generate my keys, I should do so on my desktop, not my server – I can upload the generated keys to my server later.

I think it's kind of a funny concept. The mass-produced, cookie-cutter, high quality, reliable servers found on the giant server farms are lacking in a certain commodity that they desperately need for their security: entropy. So the admins have to go out to their desktops to get the entropy they need. I sit here and I listen to my cruddy, 7 year old Jooyontech Korean PC-clone desktop, with its perpetually failing CPU fan groaning intermittently and the weird system noises filtering though the sound channel onto my speakers, and I can rest assured that that's all part and parcel of having lots and lots of good, tasty entropy that I can feed to my server in the form of so many sweet, generated security keys.

One site I was reading said that typical desktop entropy should be around 2000 (in whatever units entropy is measured with…).

Out of curiosity, I plugged in the Linux command that would tell me my system's entropy. I got 3770. Wow! I'm rich! … in entropy, anyway.

Meanwhile, my server, a virtual machine in some well-air-conditioned server farm facility across the Pacific in California, manages only 325 units of entropy. So sad. The chaos-poor, withered fruits of conformity.

[daily log: walking, 7km]

Caveat: Thealligu +or wins

My 5th grade student John recently started at Karma. He has never studied English before, so in the context of Korean English education, he's a rather "late starter." It's hard to place him at a place like Karma, because classes at his grade level don't really have "beginner status". Still, I was very proud when he produced the following comic during an exercise in class. He carefully asked (in Korean) how to say each thing in English, and I wrote the translations on the board. Then he copied the letters (he hasn't even mastered the alphabet) into his comic. I thought his characters (an imitation of my alligator character, along with some lion character he created), while quite rudimentary, were cute, too. He might have some artistic talent, anyway.

picture

[daily log: walking, 7km]

Caveat: A more technical summary of how I built my tileserver – part 2

[The following is a direct cross-post from my other blog – just so you don’t think I’m doing nothing with my free time, these days.]
[Update 20180923: continues from here]

The objective

I started discussing the coastline shapefile problem in first post.

Early on, I found the tool called QGIS Browser and installed it on my desktop. I used this to examine the shapefiles I was creating.

The first step was to look at the “real Earth” OpenStreetMap-provided shapefiles I was trying to emulate – the two mentioned in my previous post:
/openstreetmap-carto/data/land-polygons-split-3857/land_polygons.shp
and
/openstreetmap-carto/data/simplified-land-polygons-complete-3857/simplified_land_polygons.shp

Here are screenshots of each one.

First, land_polygons.shp

picture

And here is simplified_land_polygons.shp

picture

The structure is pretty straightforward, but – how do I make these? Where do they come from? – aside from the non-useful explanation found most places, which is that “OpenStreetMap generates them from the data”.

The coastline problem

The way that the shapefiles are generated for OpenStreetMap are not well documented. But after looking around, I found a tool on github (a software code-sharing site) developed by one of the OpenStreetMap gods, Jochen Topf. It is called osmcoastline, which seemed to be the right way to proceed. I imagined (though I don’t actually know this) that this is what’s being used on the OpenStreetMap website to generate these shapefiles.

The first thing I had to do was get the osmcoastline tool working, which was not trivial, because apparently a lot of its components and prerequisites are not in their most up-to-date or compatible versions in the Ubuntu default repositories.

So for many of the most important parts, I needed to download each chunk of source code and compile them, one by one. Here is the detailed breakdown (in case someone is trying to find how to do this).

Installing osmcoastline

I followed the instructions on the github site (https://github.com/osmcode/osmcoastline), but had to compile my own version of things more than that site implied was necessary. Note that there are other prerequisites not listed below here, like git, which can be gotten via standard repositories, e.g. using apt-get on Ubuntu. What follows took about a day to figure out, with many false starts and incompatible installs, uninstalls, re-installs, as I figured out which things needed up-to-date versions and which could use the repository versions.

I have a directory called src on my user home directory on my server. So first I went there to do all this work.
cd ~/src

I added these utilities:
sudo apt-get install libboost-program-options-dev libboost-dev libprotobuf-dev protobuf-compiler libosmpbf-dev zlib1g-dev libexpat1-dev cmake libutfcpp-dev zlib1g-dev libgdal1-dev libgeos-dev sqlite3 pandoc

I got the most up-to-date version of libosmium (which did not require compile because it’s just a collections of headers):
git clone https://github.com/osmcode/libosmium.git

Then I had to install protozero (and the repository version seemed incompatible, so I had to go back, uninstall, and compile my own, like this):

Git the files…
git clone https://github.com/mapbox/protozero.git
Then compile it…
cd protozero
mkdir build
cd build
cmake ..
make
ctest
sudo make install

I had to do the same for the osmium toolset:

Git the files…
git clone https://github.com/osmcode/osmium-tool.git
Then compile it…
cd osmium-tool
mkdir build
cd build
cmake ..
make

That takes care of the prerequisites. Installing in the tool itself is the same process, though:

Git the files…
git clone https://github.com/osmcode/osmcoastline.git
Then compile it…
cd osmcoastline
mkdir build
cd build
cmake ..
make

I had to test the osmcoastline tool:
./runtest.sh

Using osmcoastline for OGF data

So now I had to try it out. Bear in mind that each command line below took several hours (even days!) of trial and error before I figured out what I was doing. So what you see looks simple, but it took me a long time to figure out. In each case, after making the shapefile, I would copy it over to my desktop and look at it, using the QGIS browser tool. This helped me get an in intuitive, visual feel of what it was I was creating, and helped me understand the processes better. I’ll put in screenshots of the resulting QGIS Browser shapefile preview.

To start out, I decided to use the OGF (OpenGeofiction) planet file. This was because the shapefiles were clearly being successfully generated on the site, but I didn’t have access to them – so it seemed the right level of challenge to try to replicate the process. It took me a few days to figure it out. Here’s what I found.

Just running the osmcoastline tool in what you might call “regular” mode (but with the right projection!) got me a set of files that looked right. Here’s the command line invocation I used:
YOUR-PATH/src/osmcoastline/build/src/osmcoastline --verbose --srs=3857 --overwrite --output-lines --output-polygons=both --output-rings --output-database "YOUR-PATH/data/ogf-coastlines-split.db" "YOUR-PATH/data/ogf-planet.osm.pbf"

Then you turn the mini self-contained database file into a shapefile set using a utility called ogr2ogr (I guess part of osmium?):
ogr2ogr -f "ESRI Shapefile" land_polygons.shp ogf-coastlines-split.db land_polygons

This gives a set of four files
land_polygons.dbf
land_polygons.prj
land_polygons.shp
land_polygons.shx

Here is a view of the .shp file in the QGIS Browser. Looks good.

picture

I copied these files into the /openstreetmap-carto/data/land-polygons-split-3857/ directory, and I tried to run renderd. This alone doesn’t show the expected “ghost” of the OGF continenents, though. Clearly the simplified_land_polygons.shp are also needed.

So now I experimented, and finally got something “simplified” by running the following command line invocation (note setting of –max-points=0, which apparently prevents the fractal-like subdivision of complex shapes – technically this is not really “simplified” but the end result seemed to satisfy the osm-carto requirements):
YOUR-PATH/src/osmcoastline/build/src/osmcoastline --verbose --srs=3857 --overwrite --output-lines --output-rings --max-points=0 --output-database "YOUR-PATH/data/ogf-coastlines-unsplit.db" "YOUR-PATH/data/ogf-planet.osm.pbf"

Again, make the database file into shapefiles:
ogr2ogr -f "ESRI Shapefile" simplified_land_polygons.shp ogf-coastlines-unsplit.db land_polygons

This gives another set of four files
simplified_land_polygons.dbf
simplified_land_polygons.prj
simplified_land_polygons.shp
simplified_land_polygons.shx

And this .shp looks like this:

picture

Now when I copied these files to the /openstreetmap-carto/data/simplified-land-polygons-complete-3857/ directory, and re-ran renderd, I got a successful ghosting of the continents in the render (no screenshot, sorry, I forgot to take one).

Using osmcoastline for my own data

Now I simply repeated the above, in every respect, but substituing my own rahet-planet.osm.pbf file for the ogf-planet.osm.pbf file above. I got the following shapefiles:

land_polygons.shp

picture

simplified_land_polygons.shp

picture

And these, copied to the appropriate osm-carto data directory locations, gives me the beautiful render you see now. [EDIT: Note that the view below of the Rahet planet is “live”, and therefore doesn’t match what shows in the screenshots above. I have moved in a different concept with my planet, and thus I have erased most of the continents and added different ones, and the planet is now called Arhet.]

I actually suspect this way that I did it is not the completely “right” way to do things. My main objective was to give the osm-carto shapefiles it would find satisfactory – it was not to try to reverse-engineer the actual OSM or OGF “coastline” processes.

There may be something kludgey about using the output of the second coastline run in the above two instances as the “simplified” shapefile, and this kludge might break if the Rahet or OGF planet coastlines were more complex, as they are for “Real Earth.” But I’ll save that problem for a future day.

A more immediate shapefile-based project would be to build north and south pole icecaps for Rahet, in parallel with the “Real Earth” Antarctic icesheets that I disabled for the current set-up. You can see where the icecaps belong – they are both sea-basins for the planet Rahet, but they are filled with glacial ice, cf. Antarctica’s probably below-sea-level central basin. And the planet Mahhal (my other planet) will require immense ice caps on both poles, down to about 45° latitude, since the planet is much colder than Earth or Rahet (tropical Mahhal has a climate similar to Alaska or Norway).

Happy mapping.

Music to map by: Café Tacuba, “El Borrego.”

CaveatDumpTruck Logo

Caveat: my thoughts are strange

I had some weird dreams. I was in some kind of future-dystopian world where everything was subdivided into these enclosed hive-like spaces, but each space was the size of a city. So you could go from city to city via these doors in the hive walls. And most of the cities were run down, post-apocalyptic places, with gangs of wild children and insane people running things.

So I was trying to find the city where life was tolerable. It was like traversing a scaled-up version Borges' infinite library, but each room, instead of being a small study stocked with books, was a city. This might be a nice conceit for a novel. I'll get right on that.


What I'm listening to right now.

Cold, "Bleed."

Lyrics.

I'm feeling crossed, I take it inside
Burn up the pain, my thoughts are strange
Just like the things I used to know
Just like the tree that fell, I heard it
If art is still inside I feel it

I wanna' bleed, show the world all that I have inside
(I wanna' show you all the pain)
I wanna' scream, let the blood flow that keeps me alive
(I wanna' make you feel the same)

Take all these strings, they call my veins
Wrap them around, every fucking thing
Presence of people not for me
Well I must remain in tune forever
My love is music, I will marry melody

I wanna' bleed show the world all that I have inside
(I wanna' show you all the pain)
I wanna' scream let the blood flow that keeps me alive
(I wanna' make you feel the same)
I said
I wanna bleed
I wanna feel
(Show you all the pain)
I wanna scream
I wanna feel
(Make you feel the same)

Won't you let me take you for a ride
You can stop the world, try to change my mind
Won't you let me show you how it feels
You can stop the world, but you won't change me
I need music
I need music
I need music
To set me free
To let me bleed

[daily log: walking, 7km]

Caveat: passing the buck

A 5th grade boy in a low-level class with other 5th grade boys managed a rather sophisticated exchange with me the other day.

The exchange began when I asked, "Are you ready, Mark?"

"Teacher, sorry. No," Mark complained.

I said, "You were supposed to memorize it. It's your turn."

Mark said, "Not ready." Gesturing with exaggerated politeness across the classroom at a classmate, he added, obsequiously, "John memorized very well."

John, being shy, made a look of alarm and grim consternation.

"Nice try, Mark," I laughed. "Close your book. Three, two, one… go! Start talking."

[daily log: walking, 7km]

Caveat: how often do you visit Seoul?

picture

My friend Peter visits Seoul more frequently than I do. Which might not seem like such a notable thing, except that I live 25 km away and can go on a subway or bus, while he lives in Washington, DC. 

So he stopped by on Sunday, using my apartment as a spot to leave his extra luggage so that he could be more mobile. I have no problem with that – he's been quite generous with me over the years, too.

This week has been pretty busy with work. Last night we had a 회식 (hweh-sik) after work, and on top of six classes in a back-to-back schedule, I was exhausted. We went to a galbi place, typical Korean fare, grilled at the table.

I am kind of tired and out-of-it today.

More later.

[daily log: walking, 7km]

Caveat: segmentation issues

I don't have much to offer today. I was being obsessive with a computer thing, and didn't give myself time to think of a post for blogland. So here's this.

"When all you have is a database, everything looks like a segmentation problem."

I have not idea how to attribute this quote. It circulates online.

[daily log: walking, 4.5km]

Caveat: Non lo sbagli più

So these guys made a pop song in Italian complaining about people's failure to use the subjunctive properly. On the one hand, this is grammar peevery, and thus a linguist (such as I pretend to be on occasion) can't really be expected to approve. Grammar peevery is in fact diametrically opposed to rational, descriptive linguistics. Nevertheless, peevery can be entertaining, and it's funny to see Italians singing about grammar.

Cosa sto ascoltando al momento.

Lorenzo Baglioni, "Il Congiuntivo."

Testo.

[Intro]
Che io sia
Che io fossi
Che io sia stato
Ouooh

[Strofa 1]
Oggigiorno chi corteggia incontra sempre più difficoltà
Coi verbi al congiuntivo
Quindi è tempo di riaprire il manuale di grammatica, che è
Che è molto educativo
Gerundio, imperativo
Infinito, indicativo
Molti tempi e molte coniugazioni, ma

[Ritornello]
Il congiuntivo ha un ruolo distintivo
E si usa per eventi che non sono reali
È relativo a ciò che è soggettivo
A differenza di altri modi verbali
E adesso che lo sai anche tu
Non lo sbagli più

[Strofa 2]
Nel caso che il periodo sia della tipologia dell’irrealtà (si sa)
Ci vuole il congiuntivo
Tipo “Se tu avessi usato il congiuntivo trapassato
Con lei non sarebbe andata poi male”
Condizionale…
Segui la consecutio temporum

[Ritornello]
Il congiuntivo ha un ruolo distintivo
E si usa per eventi che non sono reali
È relativo a ciò che è soggettivo
A differenza di altri modi verbali
E adesso che lo sai anche tu
Non lo sbagli più

[Bridge]
E adesso ripassiamo un po' di verbi al congiuntivo:
Che io sia (presente)
Che io fossi (imperfetto)
Che io sia stato (passato)
Che fossi stato (trapassato)
Che io abbia (presente)
Che io avessi (imperfetto)
Che abbia avuto (passato)
Che avessi avuto (trapassato)
Che io sarei…

[Ritornello]
Il congiuntivo come ti dicevo
Si usa in questo tipo di costrutto sintattico
Dubitativo, quasi riflessivo
Descritto dal seguente esempio didattico
E adesso che lo sai anche tu
Non lo sbagli più

[daily log: walking, 7km]

Caveat: Geofictician

I decided to start a separate blog on my new website.

There is a long history of me creating new "blogs" for one specific purpose or another. The longest-lived of my alternate blogs was the one I maintained for my job and students for several years. That blog still exists but it's largely dormant.

The reason for this new blog is that, although I don't mind sharing my geofiction activities here on this blog, I'm not sure how open I want to be about the rest of my life with fellow members of the geofiction community where I participate. That is, do they want to see or do they care to see my poetry, my ruminations of day-to-day classroom life, my oddball videos and proverb decipherments? 

Since I think it's better to keep those things separate, I decided to make a separate blog. I also did it just to support the "technical unity" (if you will) of the website I've been constructing. 

I may develop a habit of allowing the things I post on that other blog to appear here, but not vice versa. This blog would be the comprehensive "all Jared" blog, while that would be a kind of filtered version for the geofiction community. 

Anyway, here's the blog (blog.geofictician.net), which currently has 4 posts, created over the weekend. Note that it seems like this blog will be fairly technical, representing the most abstruse aspects of my bizarre and embarrassing hobby, which might be termed "computational geofiction."

[daily log: walking, 7km]

Caveat: the evolution of feeling

Soyeon spoke to me today, after class ended. It had been one of the "CC" classes where I make the advanced middle-schoolers "teach" the class after preparing the materials, and I'd complimented her on having done a good job. She had. She's a natural teacher, maybe. And her spoken English, despite her twisted morass of underlying grammar problems, comes off as well-accented and mostly quite idiomatic.

She announced, somewhat proudly, "A boy asked me out yesterday."

Soyeon's in the seventh grade. I don't quite know what the typical "growing up" trajectory of a Korean teenager is like, but Soyeon far from typical. She is the most "American" Korean child I have ever known. I don't know how she got that way – she's never lived abroad and in fact has never visited an English-speaking country as far as I know. The closest she's gotten, I think, have been a few short trips to Thailand and Malaysia. I only mention that by way of saying that for all I know she's not particularly typical among her peers, but rather seems to be following a more Western route through adolescence, in which dating in middle school, if not universal, is certainly not viewed as unprecedented. I expect the more traditional Korean household would have none of this. But this is a society in rapid cultural transition, as usual, and individual families occupy quite distinct subcultures despite the broader homogeneity. Some families are utterly westernized, while others hove to a more traditionalist, even Confucian line.

Anyway, that's just background. I felt flattered that she offered this piece of news to me. It's demonstrative of a kind of trust. I've been her teacher for 4 years now, so I guess it's somewhat to be expected.

I said to her, "That's great. Do you like him?"

She nodded, and added, "He liked me."

"Liked you? Why do you say it in past tense? What happened?"

I was, pragmatically, wondering if this was grammatical mistake. Hence my question. But I was quite wrong. She demonstrated this, after a disproportionate delay in answering.

She looked at me slyly, and said, "Nothing happened. He liked me…." Another too-long pause. "Now he loves me." And an emphatic shrug, for punctuation.

Ah. It was a joke.

"Well that's fast," I said, as neutrally as possible.

"Uh huh," she said, with a near native-English-speaking teenage tonality. And walked away, playing some game on her smartphone.

[daily log: walking, 7.5km]

Caveat: el mundo sí es así

My friend Bob asked me if I could help him make sense of the lyrics to this 18th century Mexican musical composition. Unfortunately I don't think I was much use. Anyway it was interesting to try, and interesting to see what was going on culturally in Mexico City in the 1700's.

What I'm listening to right now.

Manuel de Sumaya, "Sol-fa de Pedro," performed by Chanticleer.

Letra.

Estribillo
Sol-fa de Pedro es el llanto.
Oiga, el mundo sí es así.
Pues saben unir
los gorgeos de sus voces,
lo duro de su sentir,
del cromático explicar,
del blando y del duro herir;
qu'en el llanto dice Pedro.
He hallado lo que perdí
del sol la vez que lloré
porque me alumbró él a mí.

Copla 1
Vengan, vengan a oír,
verán el entonar en el gemir.
Vengan a oír del contrapunto
lo dulce y subtil al sol
la vez que lloré
porque me alumbró él a mí.

Estribillo
Sol-fa de Pedro es el llanto.
Oiga, el mundo si es así.
Pues saben unir
los gorgeos de sus voces,
lo duro de su sentir,
del cromático explicar,
del blando y del duro herir;
qu'en el llanto dice Pedro.
He hallado lo que perdí
del sol la vez que lloré
porque me alumbró él a mí.

Copla 2
Desde el ut la pena mía
me subió cuando caí,
a la perdida gloria
y a mí la gloria sin fin.

Estribillo
Sol-fa de Pedro es el llanto.
Oiga, el mundo si es así.
Pues saben unir
los gorgeos de sus voces,
lo duro de su sentir,
del cromático explicar,
del blando y del duro herir;
qu'en el llanto dice Pedro.
He hallado lo que perdí
del sol la vez que lloré
porque me alumbró él a mí.

– Manuel de Zumaya (compositor mexicano, 1678 – 1755)

[daily log: walking, 7.5km]

Caveat: hey, he’s kinda cute

Yeoeun is an eighth grader. Like many eighth-grade girls, she's a bit boy-crazy.

The other day in class, she said, "Sometimes you think someone is just normal looking and then you look again and you think he's cute."

I answered, with my typical detachment in these matters, "Why are you telling me this?"

"Kim Jeong-eun!" she announced, elliptically.

The other girls were scandalized by the notion of the dictator-to-the-north being in any way cute. Even I was unbalanced by this declaration. "What do you mean?" I asked.

"Think about it," she explained her peculiar epiphany. "First time you see him, you just think, 'he's little bit fat.' And you know he's crazy. So that doesn't make it better. Second time, he's still just regular. Third time… fourth time. Just normal. And then…," her eyes widened, expressively, and she went on, "one time, you look at him, and you think, 'hey, he's kinda cute.'"

With her typical sardonic aplomb, Hyein said to Yeoeun, "You need to find a boyfriend."

[daily log: walking, 7km]

Caveat: Logofication

GF Logo

I designed a "logo" for my new website, this morning. The drawing is not really original – it's a free-hand consolidation of several images found online. For all that, I'm moderately pleased with the result, as a first draft.

I'm least happy with the vertical lettering – but the constraints of the drawn image, combined with fact that the logo needs to be square, made this the most reasonable approach, I thought. I'll work on it more, at some point.

[daily log: walking, 7km]

Caveat: A moment of empathy

On Saturday mornings, these days, I have a pop-music listening class (cloze passages and comprehension) with some advanced students. I have been making them find their own songs, prepare the materials (e.g. the cloze passages) themselves, and present the class, taking turns. I just sit in the back and kind of try to make sure they stay on track. 

This morning, Hyein was presenting a song. She's a meticulous student. The girls in the class were behaving the same way they always do: hyper, constantly drifting off-topic, unremittingly loquacious in utterly unprecocious ways. Suddenly Hyein looked up at me, directly, and sweeping her hand across the front row of students, she said with a matter-of-fact tone, "Now I understand your feeling, standing up here."

Somehow, this served to chasten the other students, at least briefly. The class has about 5 minutes of almost-focused quiet before returning to its more standard low cacophony. 

[daily log: walking, 7.5km]

Caveat: Earth-as-System

picture

I found myself distracted by this amazing animated tool called EarthWindMap, by something (someone?) called Nullschool, that allows you to surf the global climate, including temperature, winds, pressure, humidity, precipitation, and other factors. Here is a view with my current location in a small green circle.

It's worth seeing.

[daily log: walking, 7km]

Caveat: more hackings

Lately, I feel like I've been "on a roll" with respect to technical undertakings. And meanwhile, my creative efforts have been falling painfully flat. So I've shifted my efforts in my free time from creative work (writing, my geofictions, etc.) to computer tinkering. This is the sort of behavior that led to an entire somewhat-successful but ultimately stressful career in the 2000s.

I decided, in light of this, to go ahead and invest a few dollars a month in a hosted Linux Ubuntu Server. In fact, I already have another hosted server, but it's on Windows, which I'm less skilled at hacking, and mostly I use it as a ftp spot for backing up my data and as an image server for my blog.

Having an Ubuntu server allows me to deploy actual websites and apps rather than just have them running on my desktop. And, frankly, a hosted server is a lot more reliable than my desktop – assuming I don't blow it up through some hackerish ineptitude. 

So I clicked "Buy" early this morning and I made a server. 

I got one of my long-neglected domain names pointed to it: geofictician.net. I hope to get other of my domains pointed there too, over time. I have a half-dozen domains that I basically barely use: jaredway.com, raggedsign.net (my old business), caveatdumptruck.com (which points to this blog), etc.

So far, all that's installed is a skeleton of a mediawiki instance (i.e. an "empty" wikipedia, basically). That's because those things are really easy to install and give a very professional-looking result "out of the box." I'll see what else I can get installed, later.

Here's a link:

https://geofictician.net/wiki

See? It's really there.

[daily log: walking, 7km]

Caveat: On Canned Beans and Related Technology

I've been trying to eat more beans or other legumes and vegetable protein.

After my cancer, my weight dropped below 70 kg, but four years later I have completely bounced back to my pre-cancer weight equilibrium, which, frankly, I think is just a bit heavier than my ideal, which I'd put at around 75 kg, maybe. I'm currently about 84 kg.

Back in 2006-2007, when I successfully dropped from around 120 kg down to 80 kg, I did so through three main lifestyle changes: 1) walking everywhere as my primary mode of transport, 2) reducing stress by quitting that horrible job in Long Beach, and 3) eating an almost entirely vegan diet.

So, being vegan is not easy, and especially in Korea. In fact, I have no ideological interest in being vegan – therefore, for example, I have no issues with eating meat when out with coworkers or friends or whatever. Nevertheless, I recognize that less meat is probably healthier, and so I try to balance my daily diet toward vegetable proteins. The hardest thing, always, has been reducing or eliminating cheese intake – despite my lack of taste buds, there are still aspects of cheese that I enjoy, including the satiety it grants, the strong, nostalgic smell of things like mac and cheese or pizza, and whatever 'mouthfeel' is, I still experience that, too.

Anyway, all of that is background to mention I was going eat some beans, today, with my rice. And although I sometimes cook my beans from scratch, I also sometimes get lazy and use canned beans. The Korean market for canned beans doesn't run further than simple "pork and beans" type things, or I guess I've seen the native red beans pre-cooked in cans, but of course that product is painfully sweetened – like the red bean paste that is so popular here – I find such sugary prepared legumes almost unbearable (if you're not familiar with it, imagine some Mexican-style refried beans, with a cup of sugar added for good measure). So mostly if I buy canned beans I prefer to get Anglosphere brands (i.e. US or Australian products in Korean supermarkets). They're hardly expensive and easy to find, and so I buy them frequently.

Now, to talk about what I really wanted to talk about: I wanted to open my can of beans, imported from Australia.

Most canned foods, these days, have those "pop tops" – you pull the tab, the can opens. I don't, therefore, own a can opener.

But this can of beans I'd bought didn't – it had the old style top: just your plain surface tin can.

The convenience store downstairs in my building sells can openers – I've seen them there, in a little display with some other common simple housewares. But I have a different approach: a very "low tech" approach, that might be familiar to my grandfather's generation.

My pocket knife (a "Swiss Army Knife" as they're called) has as a can opener tab. It's quite useful, though entirely old-fashioned. You have to develop the right rhythm of push, tilt, advance, retreat, but you can walk it around an old-style can in about the same amount of time as with a normal manual can-opener.

picture

It occurred to me that despite being fully embedded in the 21st Century, with my computer stuff and my smartphone and my highly urban existence on the edges of the Seoul megalopolis, I still use this antiquated method of opening my canned food. And it's worth observing that that pocket knife is now 30 years old – I received it as a gift in 1988.

I snapped a picture (right). The can that I wanted to open, on the left, and a more typical 21st century can on the right, with my low-tech solution below.

[daily log: walking, 6.5km]

Caveat: No getting off this machine

I decided to spend the day making a backup file of this here blog thingy™. That’s 14 MB of just text – not even counting the pictures, which should be backed up separately (and which I still need to work on, because there’s no quick extract of those files, except in the case of the newer ones where I proactively adopted a more back-up-able storage method).

That’s what I get for 13 years of blogging.

Then, just for the hell of it, since I happen to have a webserver (apache) and appropriate database (MySQL) running on my desktop at the moment, I hacked together a wordpress instance and “published” a clone of my blog on my desktop, just to prove I still have a few technical skills. It took me about 3 hours to get a passable instance (sans local pictures) up and running. Anyway, I can say that as long as I keep my backups up-to-date, my blog is fully recoverable even if my bloghosting company meets a bad end for whatever reason. Here’s a screenshot of the CAVEATDVMPTRVCK doppelgänger I slapped together:

picture


What I’m listening to right now.

Younger Brother, “Train.”

Lyrics.

The world flashing past
So many others moving so fast
I feel my heart slow
As we go under I don’t bow down
Nothing left undecided
Upon steel on steel
Through these cuts in me I’ve
No question who was here first
Many dreams many lifetimes
Any of which could be me
Accept that I’m the one unable to move upon this machine
Upon this machine

On a caravan in motion
Alone in crowds just like me
I fell between the moments
I fell between the ideas
Cuz when it runs around the windows
Nothing here is still
All the patterns colliding
Through these villages and hills
So many dreams so many lifetimes
Any of which could be me
Accept that I’m the one unable to move upon this machine

There’s no one else, no one else, no one else, no one else
There’s no one else, no one else, no one else, no one else

There’s no one else, no one else, no one else, no one can help me now
Help me I’m stuck in this moving thing
Nothing is what it seems
No getting off this machine

picture[daily log: walking, a little]

Caveat: 카롱마

My student Jiwon emailed her homework to me with the following subject line: 카롱마 [karongma].
This is evidently a play on the name of the hagwon (afterschool academy) where I work: 카르마 [kareuma], which is itself a Korean representation of the English word Karma, in turn borrowed from Sanskrit, I suppose. I have always assumed this name serves as a kind of oblique reference to the underlying Buddhist ideological stance of the business’s owner, just as another hagwon down the street goes by 시온 [sion = Zion] to indicate its being run by Christians.
As far as Jiwon’s alteration of the name, I’m not quite sure what all the semantic valances are, but off the top of my head I think there’s at least two things going on.
The first is the substitution of the syllable “rong”, which is a possible reference to the English word “wrong”, which has wider semantics in Konglish than in English (i.e. it can mean a mistake, or general badness – I suppose American slang takes the word in a similar directions, cf. an American teenager snarking “that’s so wrong”).
The second is that syllable final “-ng” on the substituted syllable. In Korean script, this sound is represented by the circles (“ㅇ”) at the bottoms of the glyphs: 롱 [rong], 잉 [ing], 강 [gang], etc. – which is the letter called “ieung”. This sound suffix is used on open syllables (those ending in a vowel) in informal talk, especially by women and girls, to sound “cute”, e.g. “안녕하세용” [annyeonghaseyong = “hello”, said cutely] versus standard “안녕하세요” [annyeonghaseyo = “hello”].
So you have the negative valance of “wrong” but the positive one of “cute”, mixed together.
[daily log: walking, 7km]

Caveat: At Cave…

Today is one of those typical middle-of-the-week one day holidays: Korean independence day (which is to say, on March 1, 1919, Koreans declared independence – but they didn't achieve it until 1945 when the Americans nuked Japan).

I celebrate my own potential for independence by sitting and lurking in my little 9th floor cave, spending far too much time "hacking" on my computer.

I guess I see the value in doing this, in that I keep up an alternative set of skills, should this current "career" as a teacher ever become unsustainable for whatever reason.

So… I have been installing some development and deployment tools: I have both PostgreSQL and MySQL databases running, I have the mediawiki instance running, and now I have the nice Ruby-based open-source GIS web package up and running: the OpenStreetMap architecture, with both presentation (website with google-style "slippy map", but just on my desktop so far) and back-end (map tile generation – very rough, but working), though I haven't yet figured out how to customize or personalize it in any way – I have literally NEVER done anything with Ruby (website development language) before today. But… well, a website is a website, right? How hard can it be to figure out?

I think the next step is to install some kind of IDE. So far, I've just been doing everything with the linux terminal and gedit (a text editor like Windows' notepad).  I have never been fond of IDEs, but I doubt it's possible to work with anything of this level of complexity in the old, "hacker" style. I did use IDEs for my SQL dev work in the 2000s (mostly Visual Studio).

[daily log: walking, from directory to directory on my too-small hard drive]

Caveat: my banggwang is endless

Most students play around during the short breaks between class periods. Then, when the second bell rings, they ask earnestly if they can run to restroom. This is perfectly rational: they want to maximize their fun-with-friends time and minimize the painful class time.

Two minutes after class started, Soyeon asked if she could go to the bathroom.

I said, "Really? You couldn't do it during the break time?"

This is such typical and irrelevant teacher-talk, she didn't even deign a response. And of course, she had to take a friend, because girls are constitutionally incapable of going to the toilet alone, as far as I can figure out. This seems to be some kind of human universal, at least based on the four countries I've had a chance to live in. How did it arise? How is this behavior gendered and socially constructed? Well, I digress…

So they went, and took their sweet time. And then, less than forty minutes later, before the bell was about to ring the end of the period, Soyeon announced that she needed to go to the bathroom again. I said, again, "Really? Are you OK?"

She didn't even wait for my approval – she took it as a given. I'm too nice, I suppose. At least this time she didn't need to take her friend – perhaps she'd seen another friend going by in the hall. Going out the door, she laughed dismissively.

"My banggwang is endless," she offered by way of unidiomatic explanation. "banggwang" is 방광, which is Korean for bladder. This was sufficiently amusing that I forgave her transgression.

[daily log: walking, 6.5km]

Caveat: Count Your Legs

Statistical thought for the day:

The vast majority of people have more than the average number of legs.

The above thought is useful for pointing out the difference between mean (average) and median.

[daily log: walking, on legs, 7km]

Caveat: en es ko

Well, it took me more than six months to get around to it, but over this past weekend I finally resurrected my Linux desktop. I had managed to break it while trying to expand the size of the linux OS partition on my hard drive, and had been too lazy to go in and rescue all the old files and resurrect it. Instead, all this time have been unhappily limping along with the Windows 7 “Korea” edition that was native to my home desktop PC. I guess from a day-to-day “surf the internet” functionality, it was fine, but lately I’ve been wanting to get back to doing something more productive with some programming (er…  really just hacking around with things) in support of my moribund geofiction hobby. As such, having a functional Ubuntu Linux desktop is pretty much indispensable.
In fact, once I’d backed up all my files to an external drive, which was merely tedious, the re-install was mostly painless. As before, the most painful thing for me with Linux is language and keyboard support issues. I cannot function, now, without having Korean and Spanish language keyboard options – I still do some writing in Spanish, of course, and although my Korean remains lousy in qualitative terms, it’s nevertheless a ubiquitous aspect of my daily existence, and being able to type it comfortably is essential.
Each time I try to get the Korean keyboard and language options to work on a Linux install, it goes differently. It feels like a kind of hit-or-miss affair, where I keep trying various gadgets and settings in all possible combinations until I get one that works. This inevitable confusion was not helped by the fact that unlike last time, where I used Ubuntu’s native “Unity” desktop, I opted this time to try the so-called Cinnamon desktop (part of the “Mint” distro, a fork of Ubuntu). This was because I’d heard that Unity was not much longer for this world, and that Canonical (the creators of Ubuntu) intended to go out of the desktop-making biz.
Linux (at least these Ubuntu distros) make a distinction between “language setting” (which is fundamentally useless for controlling how the system reads the keyboard, as far as I can tell) and “input method” – which is what you need. But these two subsystems don’t seem to talk to each other very well.
The peculiar result I achieved after a few hours of dinking around, this time, is possibly unique in the entire world. I have my Ubuntu 16.04 with Cinnamon desktop, where the “system language” is English, the “regionalization” is Korean, the “keyboard” is Spanish, and the “input method” is Korean. This is pretty weird, because my physical keyboard is, of course, Korean. So for my regular day-to-day typing, the keys (except the letters proper) don’t match, since all the diacritics and symbols and such are arranged quite differently on a Spanish keyboard. But I’ve always been adept at touch typing, and I know the Spanish layout mostly by heart. Then when I want to type Korean, I hit the “hangul” key (which the “Spanish keyboard” can’t “see” since Spanish keyboards don’t have “hangul” keys) and that triggers the Korean part of the IBus input widget, and I can type Korean. It sounds bizarre, but it’s the most comfortable arrangement of keyboard settings I’ve ever managed, since there’s never any need to use a “super” shortcut of some kind to toggle between languages – they’re all running more-or-less on top of each other in a big jumble instead of being segregated out.
I hate to say it, but I didn’t take notes as to how I got here – so I can’t even tell you. I just kept trying different combinations of settings until one worked. I messed with the “Language Support”, the “IBus Preferences”, the “Keyboard” (under “System Settings), and the System Tray.
Anyway, I took a screenshot of my system tray, where you can see the whole resultant mess in a single summary snapshot.
picture
I now have a full-fledged Mediawiki instance up-and-running on the desktop (you can visualize a sort of “empty” wikipedia – all the software, but no information added into it). I’ve even configured the OGF-customized “slippy map” embeds for it (I managed that once on this here blog, too). I’m currently trying to get a PostgreSQL database instance working – MySQL is running but PostgreSQL has better GIS support, which is something I’m interested in having.
So there, you see a sometime hobby of mine, in action once again after a sort of winter hibernation, I guess.
picture[daily log: walking, 7km]

Caveat: Don’t tell God your plans

I finally got motivated to repair my linux desktop that I broke about 6 months ago. So… I'm obsessively messing around with config files and various arcana of Ubuntu Linux.

What I'm listening to right now.

David Bowie, "No Control."

Lyrics

Stay away from the future
Back away from the light
It's all deranged – no control

Sit tight in your corner
Don't tell God your plans
It's all deranged
No control

If I could control tomorrow's haze
The darkened shore wouldn't bother me
If I can't control the web we weave
My life will be lost in the fallen leaves

Every single move's uncertain
Don't tell God your plans
It's all deranged
No control

I should live my life on bended knee
If I can't control my destiny
You've gotta have a scheme
You've gotta have a plan
In the world of today, for tomorrow's man

No control

Stay away from the future
Don't tell God your plans
It's all deranged
No control

Forbidden words, deafen me
In memory, no control
See how far a sinful man
Burns his tracks, his bloody robes
You've gotta have a scheme
You've gotta have a plan
In the world of today, for tomorrow's man

I should live my life on bended knee
If I can't control my destiny
No control I can't believe I've no control
It's all deranged

I can't believe I've no control
It's all deranged
Deranged
Deranged

[daily log: walking, 1km]

Caveat: Mr Butts

I present my student Mark's composition, with excellent accompanying illustration, without extensive comment. I only will suggest: 11 year old boys all over the world may have some similar interests and obsessions.

picture


Meanwhile, what I'm listening to right now.

Béla Bartók, "String quartet No. 4 in C Major Sz 91," performed by Quatuor Ébène.

[daily log: walking, 6.5km]

Caveat: The View From Over Here 🔫

Currently I am a long-term expat. I observe my home country, the US, from a distance both psychological and physical. The whole "gun thing" seems both tragic and absurd, from my perspective. I currently live in a country with one of the lowest incidences of gun violence in the world – a cursory examination of a list of countries by incidence of gun deaths shows South Korea as being the 3rd lowest, only after Hong Kong and Japan. 

Anyway, it's pretty safe here, from gun violence. I have sometimes wondered if there exists any kind of "gun culture" in South Korea. Actually, I speculate that there does, in fact, exist such a culture – but it would be inextricably linked up with the military. Since military service for males is obligatory, that means that, in theory, at least, every Korean adult male in the entire country has fired a gun at some point in his life, and the vast majority have probably qualified with a rifle. That's interesting, vis-a-vis the non-military culture, right? It makes it a far different situation than either Hong Kong or Japan, where military service is, in the former instance non-existent, and in the latter instance, extremely rare and utterly voluntary (given Japan's relatively small military, in per capita terms, compared to South Korea). What it means is that any Korean man who wants to "play" with guns in a safe and responsible manner has an easy way to do so: he can continue to serve as a "reservist" – which many Korean men do. Then he can go out on the range and shoot as much as he wants, several times a year, I can imagine. 

My own experience with guns is broader than you might expect, given my liberal white privilege. I qualified with a rifle during my Army service – as an expert, even – though I sometimes felt I had simply had some very lucky days on my qualifying days. I had even gone on to take the first steps on qualifying with a pistol, as well, before I mustered out.

Further, despite having avoided seeing any actual action in the first Iraq war (1991) – which took place during my military service, and which I watched on the barracks televisions while stationed here in South Korea at that time – I have nevertheless had the experience of having been shot at, directly. I was lucky, in that the man shooting at me was too drunk to aim well. I was not hurt. There is no doubt I might have died – I consider it one of the several times in my life when I have had to look death right in the eye.

Additionally, I once witnessed a man being shot dead. This was during my time traveling in El Salvador, in 1986 – which was during the civil war. It was not clear to me if I witnessing a crime or an act of "enforcement" – there were plenty of uniforms present but it wasn't clear to me if the uniforms were military or rebel forces, and how it all worked. I suspect that during the Salvadorean civil war of that era, the line between crime and military enforcement was pretty blurry. My main reaction was to get away from the situation as quickly and as unobstrusively as I could manage. I boarded a bus and let it take me away. 

In the end, my view of guns and gun violence is complicated. I think I have no issue with the type of allegedly draconian gun laws as exist in Japan or South Korea. I think it hardly makes these societies "less free" – there may in fact be ways that these societies are "less free" than in the US, but I don't think the relaxing of gun controls would impact that in any positive way. My libertarian tendencies are undeniable, however. In principle, I have strong sympathies with the "2nd ammendment types" who will brook no infringement of individual rights. My biggest concern with those people is that they are, almost without exception, utter hypocrites – they are libertarians on gun control, but if you ask them to opine on issues like women's rights or immigration, they are all about control and restrictions. This is "libertarianism for me but not for thee." It makes me much less sympathetic to their position – when I find mostly hypocrites holding a given political position, my gut-level response is to assume this is strong evidence of some kind of flaw in that political position.

I will conclude with a humorous video I ran across – a tongue-in-cheek "European perspective" on the American gun problem, which could probably just as easily represent the typical (informed) Korean position.

"A small country on the coast of North America."

[daily log: walking, 7km]

Caveat: The worst possible gift

The below is paraphrased, because the level of English is a bit lower than is easy to quote directly – there are a lot of re-phrasings and "do you know what I mean?" from me, and from the student, a lot of false starts and "teacher guesses at student meaning with requests for confirmation". Actual classroom conversation at the lower levels of ability are pretty complicated and drawn-out negotiations of intent and semantics. But the spirit of the conversation is accurate, after we worked out our meanings.

Teacher: "What is the worst possible gift you could receive?"

Jack: "An English book!"

Teacher: "So if I gave you an English book, what would you do?"

Jack: "I will give you a Korean book."

My students are sometimes quite adept at detecting my anxieties.

[daily log: walking, 7km]

Back to Top