Monday, October 30, 2017

Couchsurfing

One of the best decisions I've made over the last decade is to participate in Couchsurfing. Couchsurfing is generically letting travelers stay in your home for free, just for the experience of meeting people.  Couchsurfing is also specifically the corporation that runs the couchsurfing.com website and its associated app.  There are other websites that facilitate traveler hosting, such as Warm Showers.

Key to the couchsurfing.com implementation of the idea is a rating/reviewing system and the idea of preserving one's reputation.  The backpackers comment on the places they've stayed.  The hosts comment on the people that have stayed with them.  A reputation is built up, and, hopefully, safety and civility for hosts and guests is ensured by the online reputation system.  To be honest, it all works quite well.  I've had only one bad experience out of the three dozen groups that have stayed with me.

But there absolutely have been tragic events associated with couchsurfing: theft, sexual assault, and a couple of murders have occurred, as well as a not insignificant amount of douchebaggery that surrounds creepy guys interacting with single women.  But for experienced guests and hosts, I would wager that the safety and security is much greater than other interactions that one has with strangers.

Thinking about all of the current discussions that swirl about about power dynamics, sexual assault, the gig economy, toxic masculinity, and tech, I have put some thought into why couchsurfing.com hasn't degenerated into a complete nightmare like most online communities tend to do.  My conclusion is that power dynamics are weak.  I, as a host, don't particularly fear couchsurfing.com the website.  If they are rude to me, I'll just quit.  If putting up people in my home became inconvenient, I would just quit.  The people that stay with me, if they didn't like me, there are tens of thousands of hotel rooms in the city they could go to.  There is so little gain or loss to be had by participating.  The idea requires, at least on the part of the host, a sense of altruism.

But then again, participating in free software and open source also requires a sense of altruism on the part of the volunteers, yet it doesn't always achieve the same community spirit.

One thing I like about backpacker communities vs free software communities is that there is greater freedom of religion in backpacker communities.  When I head off to mass on Sunday, my guests never ridicule me.  They are there for intercultural exchange, so when someone does something out of the world urban normal, it is odd and interesting.  I have never confessed to be a church-goer in a free software context.  I fear the consequences.

(On couchsurfing.com, they claim there are 70,000 hosts in Los Angeles.  This is a lie.  There are about 300 active hosts and they are hammered with requests daily.)



Wednesday, October 11, 2017

10/11/2017

One of my favorite pastimes is imagining and planning to write new coding projects: researching technologies, checking out libraries I might use, making GUI mockups, downloading similar projects.

I was thinking the other day that it might be fun to create a desktop-based editor that had an HTTP server embedded.  The HTTP server would serve up only one document, which is the document being currently edited, and it would show a live representation of the screen as being show the person editing the document.

I was thinking it might be fun to re-implement the old HyperCard system.

I was thinking that it might be fun to make a real-time chat client/server, like the old talkd daemon did on consoles back in the day.  The client would show every character being typed, in real time, instead of line by line.

I was thinking it might be fun to make a collaboratively editable mosaic: a million tiles across by a million tiles wide, where each tile is 16 pixels square.  Anyone could make new tiles and could place them anywhere on the grid.

I was thinking that it might be fun to make a webpage whose primary purpose was to annoy the server operator.  The webpage would have buttons to make silly noises on the server machine, and the webcam on the server machine would capture pictures of the operator being annoyed and place them on the webpage.

I was thinking it would be fun to make a Twitter bot, that automatically searches for and retweets controversial statements, but, changing key words to make them more benign and playful.

I was thinking that it might be fun to make a Christian devotional app that keeps the list of the ~600 New Testament commandments and chooses one at random for someone to follow on any given day.  Also it could chime for Matins, Sext, Vespers, and Compline.

I was thinking it might be good to make an app for depressed and despairing people. Upon logging in, you could write about your struggle, and after submitting, you'd receive an anonymized note that someone else had written about their struggle.

Monday, September 25, 2017

9/25/17

For work, I have a project that requires a C++ program on Windows 10 that compiles without any library dependencies except the C++14 standard library and the Win32 API only when the C++ standard library lacks necessary functionality. Standard C++ has no fork/exec or spawn, so that is one area when I'm using the Win32 API.   It is a very strange API that is usually abstracted away using CoreFX .NET classes.  I'm rarely this close to Win32 metal.  But I'm beginning to understand why Cygwin's fork/exec are so odd.

--

So I'm fat. I'm probably about the median weight by USA standards, but, I'm still overweight in a BMI sense.  Of course almost all USA men have a BMI above the recommended 25.1 or whatever.

But I once had an eating disorder.  When I was young, I basically starved myself.  As part of my recovery from that, I've had to change my thinking completely.  I stopped letting myself be concerned about what my weight was or what I was eating.  Whenever I find myself worrying to much about food or weight, I tell myself that I am not allowed to concern myself with that, and I don't let myself think about it.

But now I've decided to lose some weight.  To avoid going off the rails, I'm trying to find some non-subjective metrics about weight, so that I don't have to trust the evidence of my (anorexic, lying) eyes.

That lead me into some interesting research on what shape American men used to be, before the obesity epidemic.  And some of the best metrics for men, and what shape men used to be, is from the US Department of Defense.

DOD-HDBK-743A (1991) "Anthropometry of U.S. Military Personnel" and Technical Report 72-51-CE (1971) "The Body Size of Soldiers: U.S. Army Anthropometry: 1966" are a deep dive into the length, breadth, and circumference of every part of a man.  The difference between then and now is astounding.


Friday, September 22, 2017

9/22/17

In digging through the ASIO C++ library examples, I came across an actual use of std::bind. Its entry in cppreference seemed like buzzword salad, so I never previously had paid it any attention.

But in ASIO, they use std::bind to create functions from class methods and associated data.  The functions get passed to its async driver.  So if I liken the output of std::bind to a sort of closure that returns a procedure, it makes sense to me.

Wednesday, September 20, 2017

9/20/2017

On my birthday, I kayaked the sea caves on Santa Cruz island, which was fun.

I've been quite depressed lately: my exercise regimen has faltered.

I'm glad to find that one can use ASIO as a header-only package without installing all of Boost.