Las Vegas to Lima

March 2-3, 2017

<STYLE TYPE="text/css">

canvas#canvas { width: 512px; height: 512px; }

.pico8_el {
  	margin: 1px;
	padding: 4px;
	text-align: center;
	font-family : verdana;
	font-size: 9pt;
	cursor: pointer;
	cursor: hand;
.pico8_el a{
	text-decoration: none;



    image-rendering: optimizeSpeed;
    image-rendering: -moz-crisp-edges;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: optimize-contrast;
    image-rendering: pixelated;
    -ms-interpolation-mode: nearest-neighbor;
    border: 0px


We left our Vegas Airbnb at the very reasonable time of 10am. A short Uber to the airport later, we were in the security line, which was also short. We’d shown up 3 hours early for our international flight, and got to do a lot of sitting around as a result. (I will still show up early next time, because I much prefer sitting around killing time over being stressed out in a line that seems to be moving too slowly.)

P1120005 The flight to Mexico City was wonderful. It was maybe half full, and as a result we got an exit row all to ourselves. I did some more reading (Matter by Iain Banks, which I recommend to anybody who enjoys sci-fi), and some more hacking on my PICO-8 project, which so far is a game of Pacman. You can check my progress below. Most mechanics are working, but the game doesn’t end when it’s supposed to. But it was really fun to focus on a small project in a simple system with no real requirements on any of it.

<canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault()"></canvas>

<script type="text/javascript">
	var canvas = document.getElementById("canvas");
	canvas.width = window.innerWidth;
	canvas.height = window.innerHeight;

	// show Emscripten environment where the canvas is
	// arguments are passed to PICO-8
	var Module = {};
	Module.canvas = canvas;
		// When pico8_buttons is defined, PICO-8 takes each int to be a live bitfield
		// representing the state of each player's buttons
		var pico8_buttons = [0, 0, 0, 0, 0, 0, 0, 0]; // max 8 players
		pico8_buttons[0] = 2 | 16; // example: player 0, RIGHT and Z held down
		// when pico8_gpio is defined, reading and writing to gpio pins will
		// read and write to these values
		var pico8_gpio = new Array(128);

<script async type="text/javascript" src="/carts/mazeman1.js"></script>
	// key blocker. prevent cursor keys from scrolling page while playing cart.
	function onKeyDown_blocker(event) {
		event = event || window.event;
		var o = document.activeElement;
		if (!o || o == document.body || o.tagName == "canvas")
			if ([32, 37, 38, 39, 40].indexOf(event.keyCode) > -1)
				if (event.preventDefault) event.preventDefault();

	document.addEventListener('keydown', onKeyDown_blocker, false);



<div class=pico8_el onclick="Module.pico8Reset();">

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAaklEQVR4Ae2dOwoAMQhE15A+rfc/3bZ7AlMnQfywCkKsfcgMM9ZP+QHtIn0vLeBAFduiFdQ/0DmvtR5LXJ6CPSXe2ZXcFNlTxFbemKrbZPs35XogeS9xeQr+anT6LzoOwEDwZJ7jwhXUnwkTTiDQ2Ja34AAAABB0RVh0TG9kZVBORwAyMDExMDIyMeNZtsEAAAAASUVORK5CYII=" alt="Reset" width=12 height=	12/>


<div class=pico8_el onclick="Module.pico8TogglePaused();">

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAPUlEQVR4Ae3doQ0AIAxEUWABLPtPh2WCq26DwFSU/JPNT166QSu/Hg86W9dwLte+diP7AwAAAAAAgD+A+jM2ZAgo84I0PgAAABB0RVh0TG9kZVBORwAyMDExMDIyMeNZtsEAAAAASUVORK5CYII=" alt="Pause" width=12 height=12/>

<div class=pico8_el onclick="Module.requestFullScreen(true, false);">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAaklEQVR4Ae2dsQ1AIQhExfze1v2ns3UCrfgFhmgUUAoGgHscp21wX9BqaZoDojbB96OkDJKNcTN2BHTyYNYmoT2BlPL7BKgcPfHjAVXKKadkHOn9K1r16N0czN6a95N8mnA7Aq2fTZ3Af3UKmCSMazL8HwAAABB0RVh0TG9kZVBORwAyMDExMDIyMeNZtsEAAAAASUVORK5CYII=" alt="Fullscreen" width=12 height=12/>

<div class=pico8_el onclick="Module.pico8ToggleSound();">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAXklEQVR4Ae2doQ4AIQxD4YLH8v9fh+ULhjpxxSwLg2uyapr1JRu1iV5Z+1BGl4+xNpX38SYo2uRvYiT5LwEmt+ocgXVLrhPEgBiw8Q5w7/kueSkK+D2tJO4E/I3GrwkqQCBabEj/4QAAABB0RVh0TG9kZVBORwAyMDExMDIyMeNZtsEAAAAASUVORK5CYII=" alt="Toggle Sound" width=12 height=12/>

<div class=pico8_el ><a target="_new" href="">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAlElEQVR4Ae2dMQ5FQBCGh6jcwAkkateg3DiAa+iQUGqVKi95FQfAJRQOoHeBUf8JyQqKjZ1uMzuz2e/LTE3KhyF7kSlgLOykas23f6D+A9Yp84aAOYU15pcJnfji0Il2ID8HzC4y38ZrnfIBGxeRoR3c3EWrACdsV5BOsx7OSRnrOXh4F5HzA6bevwUn8wlz7eCDsQM99B3ks0s/4QAAABB0RVh0TG9kZVBORwAyMDExMDIyMeNZtsEAAAAASUVORK5CYII=" alt="More Carts" width=12 height=12/>


At some point I’ll finish it, with the end goal being to let the player play as the ghosts instead of as pacman. (That is already possible, but there’s no Pacman AI yet.)

P1120006 After that flight we had a 6-hour layover in Mexico City. That time passed remarkably quickly. The shops their accepted dollars (at a pretty bad exchange rate) so we could buy water and dinner. The next leg of the flight left at midnight and arrived in Lima at 7am (all times local). This one was not fun. It was full, there was as little legroom as you’d expect out of a cheap ticket, and it was long. I slept for maybe 90 minutes, did some reading, and just stared into space. I did not have enough brain available for more programming.

P1120009 So I was good and irritable when we got off the plane in the Lima airport. The immigration line was long, slow, and disorganized (ie. unfair in that some lines were clearly faster than others, but it was hard to know that until you got in them). But I cheerfully managed not to say anything to anybody except the friendly immigration officer, who stamped us good for 90 days.


Past that we met the driver that our hostel had sent to meet us, who quickly took us to the parking lot and into his beat up old car which also had a massive fire extinguisher in the back. We didn’t encounter any fire on the way to the hostel, but it was really hot. Lima traffic is about as bad as Delhi, not quite as bad as Cairo. So it was slow going, and we were tired, but we made it eventually. We had a reservation starting the previous night so we could go straight to bed instead of waiting for an afternoon checkin time. We slept.

About the author

Living the good life in Seattle, occasionally sharing something interesting with the Internet.