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-3.html
|
||||||
- gtkapplang-4.html
|
- gtkapplang-4.html
|
||||||
- broken-screen.html
|
- broken-screen.html
|
||||||
|
- fashion.html
|
||||||
|
- streetgeek-1.html
|
||||||
|
- streetgeek-2.html
|
||||||
- windows-shirt.html
|
- windows-shirt.html
|
||||||
- free-dirt.html
|
- free-dirt.html
|
||||||
- mr-nickel.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