Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e075834f98 |
BIN
assets/font/aerosoldier.otf
Normal file
BIN
assets/font/aerosoldier.otf
Normal file
Binary file not shown.
BIN
assets/img/fashion.jpg
Normal file
BIN
assets/img/fashion.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 MiB |
BIN
assets/img/streetgeek-dogtags.jpeg
Normal file
BIN
assets/img/streetgeek-dogtags.jpeg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.9 MiB |
BIN
assets/img/streetgeek-evangelion.png
Normal file
BIN
assets/img/streetgeek-evangelion.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.9 MiB |
BIN
assets/img/streetgeek-java.png
Normal file
BIN
assets/img/streetgeek-java.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.0 MiB |
@@ -13,6 +13,9 @@
|
||||
- gtkapplang-3.html
|
||||
- gtkapplang-4.html
|
||||
- broken-screen.html
|
||||
- fashion.html
|
||||
- streetgeek-1.html
|
||||
- streetgeek-2.html
|
||||
- windows-shirt.html
|
||||
- free-dirt.html
|
||||
- mr-nickel.html
|
||||
|
||||
9
pages/fashion.html
Normal file
9
pages/fashion.html
Normal file
@@ -0,0 +1,9 @@
|
||||
<style>
|
||||
#fashion {
|
||||
background-image: url("assets/img/fashion.jpg");
|
||||
background-size: contain;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="fashion" class="page-base">
|
||||
</div>
|
||||
194
pages/streetgeek-1.html
Normal file
194
pages/streetgeek-1.html
Normal file
@@ -0,0 +1,194 @@
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Aerosoldier";
|
||||
src: url("assets/font/aerosoldier.otf");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "COMPUTER Robot";
|
||||
src: url("assets/font/computer-robot.ttf");
|
||||
}
|
||||
|
||||
span.computer {
|
||||
font-family: "COMPUTER Robot", monospace;
|
||||
}
|
||||
|
||||
#streetgeek1-page {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 0.4in 0.42in;
|
||||
background-color: white;
|
||||
color: black;
|
||||
font: 8.6pt/1.42 'Times New Roman', serif;
|
||||
}
|
||||
|
||||
#sg1-kicker {
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
font-size: 7pt;
|
||||
font-weight: bold;
|
||||
letter-spacing: 0.22em;
|
||||
text-transform: uppercase;
|
||||
color: rgb(209, 1, 209);
|
||||
margin-bottom: 3pt;
|
||||
}
|
||||
|
||||
#streetgeek1-page h1 {
|
||||
font-family: Aerosoldier, Helvetica, sans-serif;
|
||||
font-size: 38pt;
|
||||
line-height: 0.85;
|
||||
color: black;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#sg1-deck {
|
||||
font-family: Georgia, 'Times New Roman', serif;
|
||||
font-style: italic;
|
||||
font-size: 10pt;
|
||||
color: #222;
|
||||
margin: 5pt 0 3pt 0;
|
||||
}
|
||||
|
||||
#sg1-byline {
|
||||
font-size: 8pt;
|
||||
font-style: italic;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#sg1-rule {
|
||||
border: none;
|
||||
border-top: 1.4pt solid black;
|
||||
margin: 6pt 0 9pt 0;
|
||||
}
|
||||
|
||||
#sg1-body {
|
||||
flex: 1;
|
||||
columns: 2;
|
||||
column-gap: 0.28in;
|
||||
}
|
||||
|
||||
#sg1-body p {
|
||||
color: black;
|
||||
text-indent: 2em;
|
||||
text-align: justify;
|
||||
text-justify: inter-word;
|
||||
hyphens: auto;
|
||||
overflow-wrap: break-word;
|
||||
margin: 0 0 7pt 0;
|
||||
}
|
||||
|
||||
.drop-cap::first-letter {
|
||||
float: left;
|
||||
font-size: 4em;
|
||||
line-height: 0.8;
|
||||
padding-right: 8px;
|
||||
padding-top: 0px;
|
||||
font-weight: bold;
|
||||
font-family: Georgia, serif;
|
||||
}
|
||||
|
||||
.drop-cap {
|
||||
text-indent: 0 !important;
|
||||
}
|
||||
|
||||
#sg1-pullquote {
|
||||
break-inside: avoid;
|
||||
-webkit-column-break-inside: avoid;
|
||||
font-family: Georgia, 'Times New Roman', serif;
|
||||
font-style: italic;
|
||||
font-size: 13.5pt;
|
||||
line-height: 1.25;
|
||||
color: #111;
|
||||
text-indent: 0;
|
||||
border-left: 3pt solid rgb(209, 1, 209);
|
||||
padding: 2pt 0 2pt 10pt;
|
||||
margin: 4pt 0 9pt 0;
|
||||
}
|
||||
|
||||
#sg1-footer {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: baseline;
|
||||
border-top: 0.75pt solid black;
|
||||
margin-top: 6pt;
|
||||
padding-top: 4pt;
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
font-size: 6.5pt;
|
||||
letter-spacing: 0.1em;
|
||||
text-transform: uppercase;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="streetgeek1-page" class="page-base">
|
||||
|
||||
<div id="sg1-header">
|
||||
<h1>Street Geek</h1>
|
||||
<p id="sg1-deck">Notes from the front lines of hacker haute couture.</p>
|
||||
<p id="sg1-byline">By <strong>Bram Noidz</strong></p>
|
||||
</div>
|
||||
|
||||
<hr id="sg1-rule" />
|
||||
|
||||
<div id="sg1-body">
|
||||
|
||||
<p class="drop-cap">
|
||||
My day in meatspace wasn't going well. I woke up in the late morning and acquired the day's
|
||||
outfit using my usual clothing drawer LIFO mechanism. This week's permutation of clothing in the
|
||||
drawer left me with a depressingly common combination: black t-shirt with black jeans. I thought
|
||||
for a brief second that I should break out of the LIFO ordering and make a daring attempt at a
|
||||
more arbitrarily stylish outfit. Brief panic attack. Ultimately I decided against it. <i>The
|
||||
purpose of a system is what it does.</i> If I decide for even one day to ignore my LIFO
|
||||
clothing system, then it really is no system at all.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
I hobbled downstairs in my algorithmically chosen outfit and made a cup of coffee. Double
|
||||
espresso with a bit of hot water mixed in. While reading something on my computer, I
|
||||
accidentally spilled about half of the coffee onto my shirt. Luckily for me, the stains were
|
||||
practically invisible on the black t-shirt, and very little ended up on my pants. The only
|
||||
evidence that I had spilled something on myself that morning was the faint coffee smell that
|
||||
lingered after I mopped it up. But who doesn't love the smell of coffee? I actually wouldn't
|
||||
mind a cologne with the scent of the glorious roasted bean imbued into it. Similar to the
|
||||
clickety-clack sound of the mechanical keyboard, the coffee cologne might have the Pavlovian
|
||||
effect of stimulating the electronic productivity of the people around you. Free idea for any of
|
||||
our young entrepreneurial readers out there.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You might be wondering why I spent more time than usual at this time of the morning thinking
|
||||
about what I'm wearing. Today, I am meeting my friend <span class="computer">ByteLord</span> for lunch at the vegan
|
||||
restaurant <i>Cha-Ya</i> on Valencia. <span class="computer">ByteLord</span> is a one-of-a-kind genius level programmer
|
||||
that I met on an IRC channel one evening. This guy slings code so neat and clean, he puts Linus
|
||||
Torvalds and that guy who made the <i>McMaster-Carr</i> catalog website to shame. I had never
|
||||
met <span class="computer">ByteLord</span> A.F.K. before. Therefore, needless to say, I felt intimidated and eager to
|
||||
please.
|
||||
</p>
|
||||
|
||||
<div id="sg1-pullquote">“The purpose of a system is what it does.”</div>
|
||||
|
||||
<p>
|
||||
I got to <i>Cha-Ya</i> a little bit early and ordered a green tea while waiting for
|
||||
<span class="computer">ByteLord</span> to arrive. I spilled a little bit of this on my shirt as well. Unfortunately
|
||||
now, mixed with the coffee stain from earlier, the combination gave off a toilet smell that was
|
||||
quite unpleasant. I started praying that <span class="computer">ByteLord</span> had a cold and wouldn't be able to
|
||||
smell anything. Luckily the stains were still mostly invisible on my black t-shirt.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
When <span class="computer">ByteLord</span> walked in the front door, I almost mistook him for one of those cool
|
||||
hip-hopper guys. He was decked out from head to toe and looked <i>on fleek</i>.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<div id="sg1-footer">
|
||||
<span>Smart Bar</span>
|
||||
<span>Continued on page 02 →</span>
|
||||
<span>01</span>
|
||||
</div>
|
||||
-->
|
||||
|
||||
</div>
|
||||
241
pages/streetgeek-2.html
Normal file
241
pages/streetgeek-2.html
Normal file
@@ -0,0 +1,241 @@
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Aerosoldier";
|
||||
src: url("assets/font/aerosoldier.otf");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "COMPUTER Robot";
|
||||
src: url("assets/font/computer-robot.ttf");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "TS Block Bold";
|
||||
src: url("assets/font/ts-block-bold.ttf");
|
||||
}
|
||||
|
||||
span.computer {
|
||||
font-family: "COMPUTER Robot", monospace;
|
||||
}
|
||||
|
||||
span.cyberwheel {
|
||||
font-family: "TS Block Bold";
|
||||
}
|
||||
|
||||
#streetgeek2-page {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 0.3in 0.4in;
|
||||
background-color: white;
|
||||
color: black;
|
||||
font: 8.6pt/1.42 'Times New Roman', serif;
|
||||
}
|
||||
|
||||
#sg2-topbar {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: baseline;
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
font-size: 6.5pt;
|
||||
font-weight: bold;
|
||||
letter-spacing: 0.16em;
|
||||
text-transform: uppercase;
|
||||
color: #333;
|
||||
border-bottom: 0.75pt solid black;
|
||||
padding-bottom: 4pt;
|
||||
margin-bottom: 8pt;
|
||||
}
|
||||
|
||||
#sg2-topbar span:first-child {
|
||||
color: rgb(209, 1, 209);
|
||||
}
|
||||
|
||||
#sg2-headline {
|
||||
font-family: Aerosoldier, Helvetica, sans-serif;
|
||||
font-size: 24pt;
|
||||
line-height: 0.9;
|
||||
margin: 0 0 3pt 0;
|
||||
}
|
||||
|
||||
#sg2-subhead {
|
||||
font-family: Georgia, 'Times New Roman', serif;
|
||||
font-style: italic;
|
||||
font-size: 9.5pt;
|
||||
color: #222;
|
||||
margin: 0 0 10pt 0;
|
||||
}
|
||||
|
||||
#sg2-gallery {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: flex-start;
|
||||
gap: 0.2in;
|
||||
margin: 3pt 0 8pt 0;
|
||||
}
|
||||
|
||||
.sg2-frame {
|
||||
background: white;
|
||||
padding: 6px 6px 5px 6px;
|
||||
border: 1px solid #ddd;
|
||||
box-shadow: 0 3px 10px rgba(0,0,0,0.28);
|
||||
break-inside: avoid;
|
||||
-webkit-column-break-inside: avoid;
|
||||
}
|
||||
|
||||
.sg2-frame.left, .sg2-frame.right {
|
||||
width: 1.95in;
|
||||
}
|
||||
|
||||
.sg2-frame.left { transform: rotate(-2.4deg); }
|
||||
.sg2-frame.right { transform: rotate(2.2deg); }
|
||||
|
||||
.sg2-frame.solo {
|
||||
float: right;
|
||||
width: 46%;
|
||||
margin: 2pt 0 4pt 10px;
|
||||
transform: rotate(-1.6deg);
|
||||
}
|
||||
|
||||
.sg2-frame img {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.sg2-caption {
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
font-size: 6.5pt;
|
||||
letter-spacing: 0.1em;
|
||||
text-transform: uppercase;
|
||||
text-align: center;
|
||||
color: #333;
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
#sg2-text {
|
||||
flex: 1;
|
||||
columns: 2;
|
||||
column-gap: 0.26in;
|
||||
}
|
||||
|
||||
#sg2-text p {
|
||||
text-indent: 2em;
|
||||
text-align: justify;
|
||||
text-justify: inter-word;
|
||||
hyphens: auto;
|
||||
overflow-wrap: break-word;
|
||||
margin: 0 0 4pt 0;
|
||||
}
|
||||
|
||||
#sg2-text p:first-child {
|
||||
text-indent: 0;
|
||||
}
|
||||
|
||||
#sg2-text p:first-child::first-letter {
|
||||
float: left;
|
||||
font-size: 3em;
|
||||
line-height: 0.78;
|
||||
padding-right: 6px;
|
||||
font-weight: bold;
|
||||
font-family: Georgia, serif;
|
||||
}
|
||||
|
||||
#sg2-footer {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: baseline;
|
||||
border-top: 0.75pt solid black;
|
||||
margin-top: 6pt;
|
||||
padding-top: 4pt;
|
||||
font-family: Helvetica, Arial, sans-serif;
|
||||
font-size: 6.5pt;
|
||||
letter-spacing: 0.1em;
|
||||
text-transform: uppercase;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="streetgeek2-page" class="page-base">
|
||||
|
||||
<!--
|
||||
<div id="sg2-topbar">
|
||||
<span>Street Geek</span>
|
||||
<span>Field Report</span>
|
||||
<span>Page 02</span>
|
||||
</div>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<div id="sg2-header">
|
||||
<h2 id="sg2-headline">The Look</h2>
|
||||
<p id="sg2-subhead">ByteLord, spotted in the wild at Cha-Ya on Valencia.</p>
|
||||
</div>
|
||||
-->
|
||||
|
||||
<div id="sg2-gallery">
|
||||
<div class="sg2-frame left">
|
||||
<img src="assets/img/streetgeek-java.png" alt="ByteLord wearing a Java t-shirt under a gray plaid overshirt" />
|
||||
<div class="sg2-caption">"Java"</div>
|
||||
</div>
|
||||
<div class="sg2-frame right">
|
||||
<img src="assets/img/streetgeek-evangelion.png" alt="ByteLord wearing an Evangelion t-shirt under a black overshirt" />
|
||||
<div class="sg2-caption">"Evangelion"</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="sg2-text">
|
||||
|
||||
<p>
|
||||
A typically chilly San Francisco summer afternoon, he was dressed for warmth. A beanie with an
|
||||
off-white color, reminiscent of the Windows XP start menu background. A comfy gray overshirt
|
||||
with a clean geometric pattern. Some kind of smart watch whose battery was obviously dead. Most
|
||||
tellingly, a <i>Java</i> t-shirt underneath the overshirt which, in the context of the rest of
|
||||
the outfit, gave the programming language an undeserved level of coolness.
|
||||
</p>
|
||||
|
||||
<div class="sg2-frame solo">
|
||||
<img src="assets/img/streetgeek-dogtags.jpeg" alt="ByteLord's necklace: a Mac OS X Panther dog tag on a ball chain" />
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Besides the comfortable textiles, I was impressed with <span class="computer">ByteLord</span>'s choice of accessories.
|
||||
A wallet chain, which I hadn't seen anyone wear since the mid 2000's, added a metallic balance
|
||||
to the lower half of his appearance. His neck was adorned with a necklace that didn't appear to
|
||||
serve any functional purpose, but matched the wallet chain quite nicely. Finally, he was wearing
|
||||
rather large, television-sized eyeglass frames. Frankly, I had never given much thought to
|
||||
accessories in an outfit, unless they have some kind of microchip in them. But <span class="computer">ByteLord</span>
|
||||
had arranged them in such a way to make the outfit look effortless, yet stylish.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We ordered <i>zaru soba</i> with <i>vegetable tempura</i> and spoke about various topics from
|
||||
cyberspace. After we finished talking about the guy that supposedly defaced fellow editor P. M.
|
||||
Cho's website, we started talking about fashion. I was surprised to hear that <span class="computer">ByteLord</span>
|
||||
was quite into fashion on a deeply philosophical level. He explained to me that what you wear in
|
||||
meatspace is like the <i>graphical shell</i> for a person. A hacker should present himself to
|
||||
others in the same elegant way that a computer program presents itself to users. You wouldn't
|
||||
want to walk away from an interaction with someone having the same feeling as using the
|
||||
<i>git</i> command line interface.
|
||||
</p>
|
||||
|
||||
<p> I paid for the <i>zaru soba</i> and <span class="computer">ByteLord</span> sent me some <span class="cyberwheel">SMARTCOIN</span> for his
|
||||
portion. We parted ways, each walking opposite directions on Valencia street. After our meeting,
|
||||
I couldn't help but notice and observe all of the outfits people were wearing that day in the
|
||||
Mission. Thousands of distinct <i>graphical shells</i> all populating the virtual desktop that
|
||||
is our city. I smiled, and started thinking about a new ordering system for my wardrobe.
|
||||
<span class="endmark">■</span>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<div id="sg2-footer">
|
||||
<span>Smart Bar</span>
|
||||
<span>■</span>
|
||||
<span>02</span>
|
||||
</div>
|
||||
-->
|
||||
|
||||
</div>
|
||||
Reference in New Issue
Block a user