I propose a videogame with two modes. Mode 1 is played in a 3rd-person or 1st-person perspective (I think 1st-person would be more satisfying.) On your turn, you swing your sword toward the enemy's body. The motion of the sword can be precisely controlled, as can the hit location; part of the game skill is hitting a "juicy" place on your enemy.
Before this morning, I had two barebones Emacs commands which I used to open my website in a browser. One opened the index page in the build folder, and one opened the index page on the deployed site.
Since I frequently used the "browse-locally" command to check how the site looks before deploying, but rarely used the command to browse the deployed site, I turned the latter into an option triggered by passing an argument.
More substantially, browsing the index page is still the default, but if I'm viewing a webpage's source in Emacs, the command instead browses that page on the (local or deployed) site. This is usually what I want when checking pages.
Novice weightlifters are typically encouraged to use one weight until they can perform a certain number of reps, then go to the next-biggest weight and repeat. This straightforward approach, called linear progression, is the standard recommendation for those new to weight training.
Yesterday, I learned the basics of setting up a Linux virtual server on Amazon's "Elastic Compute Cloud" (EC2) service. After some false starts with other hosting providers, the developer documentation for EC2 felt blessedly straightforward.
Server-side application development is a new programming paradigm for me. I've written a lot of programs, but nearly all of them were designed for me to consciously start running on my own computer. I've created material on multiple websites and blogs, but until now I've relied on free blog hosts or Amazon S3, and have never run a server to handle web traffic.
MacOS Chinese input allows you to cycle through the tones with TAB. I just discovered this after years of (begrudgingly) using this input method. Harrumph! They could have put the tones on the number keys to kill two birds with one stone:
Number -> tone is a straightforward, well-known mapping, so I wouldn't have had to discover this feature at random.
It would have forced them to find a smarter, more ergonomic way of letting me pick candidates, rather than having to lift my fingers from the letter keys to identify every single character I want to use.
I'd like to represent my Chinese name in the h-card markup that makes this website's authorship information machine-readable. How should I do that?
Some time later:
The answer seems to be "use the p-nickname property." The wiki documentation of that property clearly states that it can be used for a handle or alias. I don't like that "nickname" is the microformats keyword for this purpose: I prefer "alias," since all nicknames are aliases, but not all aliases are nicknames. However, I'm glad to at least have solved my problem.
(Another scenario where using this property would be useful: a European friend named "Juerg" spells his name "George" when communicating in English. On his business cards, he writes Juerg 'George' Lastname; on his website, he could mark up the 'George' with the p-nickname property.)
The reason Lisp is special is because you can TURN OFF semantics.
(+ 1 1) is pure form. (+ 1 1) is syntax. (+ 1 1) is a syntactic expression: it has structure. But, until we evaluate it, it doesn't have meaning. [It might appear to be "add one and one," but in a programming language focused on bits and bytes, (+ 1 1) might well be the command to put together two bits, resulting in 11.]
In all the Lisp-family languages I know of, because they are programming languages, and by default the programmer expects to evaluate syntactic expressions, the default notation for an expression which will be evaluated is simpler than that for one which will not be evaluated.
To improve the mood of (character - an animal):
if the mood of character is less than friendly, now the mood of the character is the mood after the mood of the character.
I am not sure whether or not the statement "the mood after the mood of the character" wraps around. That is to say, I am not sure whether the above code would "improve" the character's mood from the best one possible to the worst. I would hope it doesn't do that, but I'll have to investigate.
The if statement above can be translated into pseudo-Clojure as follows:
With advice from Greg McVerry, Aaron Parecki, and Ryan Barrett, I finished getting this blog set up for subscription using the `h-feed` microformat, and made other improvements along the way.
How this benefits you:
You can now subscribe to this website if your reader understands h-feed
Posts which have received updates since publishing now display their "last updated time"
For posts with explicit titles, the blog index displays them, making it more rewarding to manually browse the index
In addition to the above, all pages' titles now link to themselves, and each link in the blog index now has proper h-entry markup.
As of right now, the publication timestamp before this paragraph reads "Published on 2019-10-20, around 18:14:20". This timestamp is also a permalink for this page.
The dates on these posts ("2019-10-20") have been there since soon after I started this blog, but I just added the time-of-day information ("around 18:14:20") today. A machine-readable version of the time, including the time zone, has also been invisibly included in the permalink's HTML.
I did this as one step in upgrading my website so that other people can subscribe to it. If I only provided the date of publication, but not the time, someone else's reader program wouldn't be able to put my post in chronological order when compared with another post.
I tried and tried, but couldn't come up with a poem for Fedora. Instead, I made for her a bite-size videogame called Fedoradventure, which you can play online. Though not a poem, Fedoradventure still belongs to the Friendship Village series.
2020-02-10T18:38:07-0800: This page is unfinished. I have not actively worked in Inform for about a year now, but hope to do more work with it in the future.
Introduction
Here I am documenting problems of language design and usability that I've noticed while using Inform 7 to implement Ryan Quest and Fedoradventure.
From 2018-10-01 to 2019-02-01, I created an adventure videogame based on the life of my friend Ryan Wright, an American who is studying game design in Copenhagen. The game has been enjoyed by all who've played it, including the titular Ryan.
estimated play time: 1-2 hours (too long? Try the five-minute Fedoradventure.)
difficulty: easy/medium. An UNDO command is included.
The game is usually played by one person, but friends have found it even more entertaining to play as a group: everyone suggests things to try next, and one person does the typing.
My friends team up to play Ryan Quest during the final beta test.