href="data:image/svg+xml;base64,@FAVICON@" />
<title>
- CharmBypass: that transit equity y'all
+ CharmBypass: got that transit equity
</title>
<style>
}
#bus {
- animation: busroll 23s linear infinite;
+ animation: busroll 15s linear infinite;
}
}
#tram {
- animation: tramroll 17s linear infinite;
+ animation: tramroll 15s linear infinite;
}
}
#train {
- animation: trainroll 11s linear infinite;
+ animation: trainroll 10s linear infinite;
}
}
#clouds {
- animation: cloudsfloat 40s linear infinite;
+ animation: cloudsfloat 25s linear infinite;
}
@keyframes cloudscopyfloat {
}
#cloudscopy {
- animation: cloudscopyfloat 40s linear infinite;
+ animation: cloudscopyfloat 25s linear infinite;
}
#trees {
/* The trees move a little faster than the clouds */
- animation: treespass 30s linear infinite;
+ animation: treespass 16s linear infinite;
}
@keyframes treescopypass {
#treescopy {
/* The trees move a little faster than the clouds */
- animation: treescopypass 30s linear infinite;
+ animation: treescopypass 16s linear infinite;
}
#city {
/* The city moves faster than the clouds but slower
* than the trees */
- animation: cityscroll 35s linear infinite;
+ animation: cityscroll 20s linear infinite;
}
@keyframes citycopyscroll {
#citycopy {
/* The city moves faster than the clouds but slower
* than the trees */
- animation: citycopyscroll 35s linear infinite;
+ animation: citycopyscroll 20s linear infinite;
}
</style>
</head>
<body>
<div id="menu">
<h1>CharmBypass</h1>
- <h2>that transit equity y'all</h2>
+ <p><strong>got that <em>transit equity</em></strong></p>
- <p>
- <em>Hint:</em> If they start checking it, the daily security
- code stays the same all day and is the same on a $2 bus ticket
- as it is on a $9 MARC ticket. It's also the same on every phone.
- </p>
+ <ol>
+ <li>
+ <a href="https://michael.orlitzky.com/articles/charmbypass_pt._1%3A_introducing_charmbypass.xhtml">
+ Introduction
+ </a>
+ </li>
+ </ol>
<form>
<fieldset>
pattern="[a-zA-Z0-9]*" />
</div>
- <p>Zone:</p>
+ <p>
+ Zone<sup>†</sup>:
+ </p>
<div>
<input type="radio" required
name="zone"
</div>
<input type="submit" name="go" value="Generate Ticket" />
+
+ <p>
+ <sup>†</sup>
+ On the MTA's PDF schedule for your route
+ </p>
</fieldset>
</form>
<form>
*/
function compute_marc_zone(src, dest) {
- /* Sorted on the first component, then the second */
+ /* Sorted on the first component, then the second.
+ *
+ * Key:
+ *
+ * $6.00 => 1
+ * $7.00 => 2
+ * $8.00 => 3
+ * $9.00 => 4
+ */
const zone_map = {
BAL_BWE: 2,
BAL_BWI: 1,
BWE_SEB: 1,
BWE_WAS: 2,
BWE_WBL: 2,
+ BWI_SEB: 2,
BWI_WAS: 3,
- BWI_WBL: 1
+ BWI_WBL: 1,
+ SEB_WAS: 1,
+ SEB_WBL: 3,
+ WAS_WBL: 4
};
/* Forward direction key for zone_map */