Commit Graph

322 Commits (4c55540034754a8da52809968f68673d57e3c3da)

Author SHA1 Message Date
Mike Gerwitz 4c55540034
Initial release of new website
I had meant to write a blog post right away, but it's late and I haven't yet
decided if I should wait for further enhancements.
2019-01-17 01:30:52 -05:00
Mike Gerwitz f24dc3e227
cgit-root generation
This automates creation of the header and footer.  Previously I modified
them manually and they got out-of-sync.

This is deployed to a different location on my webserver, even though the
public route is `/projects'.
2019-01-17 01:30:23 -05:00
Mike Gerwitz f0a08f8755
src/cgit: Add existing configuration
This contains the old header and footer.  Committing this first will allow
us to easily see the diff.
2019-01-17 01:30:17 -05:00
Mike Gerwitz 6d9defe292
Link to source code of post
Rather than displaying the hash separately, this just makes the date a link
to the source code.  Until I display a modification date, this will also
make it easy to see the history of the file.
2019-01-17 01:29:46 -05:00
Mike Gerwitz f38aada781
Responsive desgin
This website honors the user's default font settings (both to be kind and
for accessibility reasons).  Consequently, the responsive layout is based on
character units (ch) rather than pixels.
2019-01-17 00:01:12 -05:00
Mike Gerwitz a9f2d51bcd
Update footer links and Copyright year 2019-01-17 00:01:02 -05:00
Mike Gerwitz 4052fc547a
Index page sapsf highlight cleanup
This corrects the padding and provides better placement for the
talk link.
2019-01-16 23:44:52 -05:00
Mike Gerwitz b6762c2dfc
Source Sans Pro => Open Sans
This goes back to Open Sans, which is what I was using previously.

I really like Source Sans Pro.  Unfortunately, the font rendered far too
small relative to other sans-serif fonts, which caused an unpleasent
experience for both slow page loads (e.g. over Tor or slower
connections) and for users with web fonts disabled (e.g. via NoScript).

Further, the font is huge: the WOFF is over 100KiB per font, and I was
using regular and light versions.  Open Sans, in contrast, is <20KiB per
font, allowing me to use Regular, Light, and SemiBold and still be about
half the size of the single Source Sans Pro Regular.

As a bonus, users may also already have Open Sans installed on their
system.

I settled with WOFF instead of WOFF2 for browser support.

The site now looks pretty close on fallback, which is good.  For
example, I use DejaVu Sans as my default font, and it even has a Light
version that renders correctly.

As with all resources on my site, I host this from my own domain rather
than via Google's servers.  That means that the font won't be cached for
users when they first visit the site, but that's okay---privacy is more
important.

I should note that, since I use NoScript, I almost never load web fonts
for other sites.  But I still wanted to try to provide a consistent look
across systems for those who do wish to load fonts.
2019-01-16 23:44:47 -05:00
Mike Gerwitz 563a32ff20
src/404.htm: Update page
This is a bit less abrasive and a tad bit more helpful.  As I've mentioned
in previous commits, the goal of this site has since changed.
2019-01-16 23:44:41 -05:00
Mike Gerwitz 79f00cd7d2
Redirect old posts
We have two sitautions to account for:

  1. Old posts had both uppercase and lowercase letters in slugs; and
  2. Some ids changed.

Lighttpd can't convert to lowercase and having a bunch of separate redirects
in my webserver configuration for the id changes is messy.  So, this script
is intended to be called only when a post contains an uppercase character in
the path.

I had wanted to avoid _any_ sort of dynamic scripts.  Oh well.

All other redirects are handled in the websevrer configuration (which isn't
part of this repo atm).
2019-01-16 23:44:35 -05:00
Mike Gerwitz 9916ad55dc
Generate slug from post filenames
Rather than having Pandoc generate the id, which has the potential to change
over time and cause 404s, let's just generate the slug from the filename so
that the ids will never change.  This also solves the awkward question of
what the filename should be, since it was previously something arbitrary.

This mass rename was accomplished via this simple shell script:

  for p in *.meta; do
    slug=$( recsel -P slug "$p" | xargs basename )
    mv -v "${p/.meta/.md}" "${p:0:10}-$slug.md"
  done

with minor manual tweaks where I saw fit.  Of course, now I have some pretty
long filenames, which is undesirable.

The next step is to compare it with the slugs currently on mikegerwitz.com
and make them match.  That's the next commit, and should be pretty simple.
2019-01-16 23:44:24 -05:00
Mike Gerwitz b182ea79b3
Majority of work on generation of new static site
I didn't originally intend for all of this to be in a single commit.  But
here we are.  I don't have the time to split these up more cleanly; this
project is taking more time than I originally hoped that it would.

This is a new static site generator.  More information to follow in the
near future (hopefully in the form of an article), but repo2html is now
removed.  See code comments for additional information; I tried to make it
suitable as a learning resource for others.  It is essentially a set of
shell scripts with a fairly robust build for incremental generation.

The site has changed drastically, reflecting that its purpose has changed
over the years: it is now intended for publishing quality works (or at least
I hope), not just a braindump.

This retains most of the text of the original pages verbatim, with the
exception of the About page.  Other pages may have their text modified in
commits that follow.

Enhancements to follow in future commits.
2019-01-11 23:46:13 -05:00
Mike Gerwitz 643a9858f1
Translate Git Horror Story from AsciiDoc to Markdown
This was a wholly manual effort since Pandoc does not have an AsciiDoc
reader (only writer).  Fortunately, Pandoc's Markdown features enabled me to
keep the style essentially the same.

I made no changes to the original text other than changes to markup, so this
remains faithful to the original.  Any changes to the text will be made in
future commits so that the diff can be clearly observed.

This could use more work (e.g. getting rid of inline links to make the
Markdown file more readable), but otherwise this is in a good enough state
for now.
2018-12-22 23:48:03 -05:00
Mike Gerwitz 64e1341075
Convert posts to markdown files
This was considerable effort, and took a bit more time than I had
hoped.  While newer posts were written with Markdown, previous ones were
writen with my own Markdown-like formatting, but they had enough differences
that it was quite an effort to get things updated.  I also checked the HTML
output of each, though I didn't read every article in detail.

Some of these were more substantial than others; National Uproar, for
example.

These conversions were markup translations: the actual text remains
unchanged, except in one minor instance to add text for the sake of
providing some text to hold a link to a quote.  Any changes to post text
will happen in future commits so that the diffs are clearly visible.
2018-12-22 23:45:26 -05:00
Mike Gerwitz 2a674052b0
:{eff,fsf}-42.png: White->Alpha 2018-12-15 22:23:34 -05:00
Mike Gerwitz 8dbde47b65
Webmasters: Please, Don't Block Tor
[Tor][] is a privacy and anonymity tool that [helps users to defend
  themselves][tor-about] against traffic analysis online.
Some people, like me, use it as an important tool to help defend against
  [various online threats to privacy][sapsf].
[Others use it][tor-users] to avoid censorship,
  perhaps by the country in which they live.
Others use it because their lives depend on it---they
  may live under an oppressive regime that forbids access to certain
  information or means of communication.

Unfortunately, some people also hide behind Tor to do bad things,
  like attack websites or commit fraud.
Because of this,
  many website owners and network administrators see Tor as a security threat,
    and choose to block Tor users from accessing their website.

But in doing so,
  you aren't just keeping out some of the malicious users:
    you're also keeping out those who [use Tor for important, legitimate
    reasons][tor-users].
Malicious users have other means to achieve anonymity and often have the
  skill and understanding to do so.
But average Tor users aren't necessarily technology experts,
  and certainly don't have the extra (often maliciously-acquired) resources
  that bad actors do,
    so they are disprortionally affected by blocks.

A particularly unsettling problem I often encounter is that a website will
  outright prohibit access by Tor users _even on read-only resources like
  articles or information_.
I've even seen this on informational resources on United States Government
  domains!
Blocking access to interactive website features---like
  posting comments or making purchases---can
  be understandable,
    or maybe even necessary sometimes.
For example,
  Wikipedia prohibits page edits over Tor.
But Wikipedia _does not block reading_ over Tor.

If you are considering threats that may mask themselves behind Tor and you
  are running a blog, news site, or other informational resource,
    please, consider how your actions [may affect innocent
    users][tor-users].
Allow users to read over Tor,
  even if you decide to prohibit them from interacting.

For users of Tor who do find themselves stuck from time to time:
  I will often prepend `https://web.achive.org/` to the URL of a page that
  is blocked,
    which allows me to view the page in the Internet Archive's [Wayback
    Machine][].
For example,
  to view my website in the Wayback Machine,
    you'd visit `https://web.archive.org/https://mikegerwitz.com/`.

[Tor]: https://www.torproject.org/
[tor-about]: https://www.torproject.org/about/overview.html.en#whyweneedtor
[tor-users]: https://www.torproject.org/about/torusers.html.en
[sapsf]: /talks/sapsf
[Wayback Machine]: https://web.archive.org/
2018-10-05 23:29:15 -04:00
Mike Gerwitz 5a62a98a78
:70ch for GHS article
Width was too little for all the nesting and snippets it had.
2018-09-30 19:41:30 -04:00
Mike Gerwitz e84acffddd
LibrePlanet 2019 will be March 23--24 in Boston, MA
It's already time to start thinking about LibrePlanet 2019, which will be
March 23--24 in the Greater Boston Area in MA:

[https://libreplanet.org/2019/]()

This is the one event that I must make it to each year, and I encourage
everyone to attend and see the faces of many that are at the heart of the
free software community.

Consider [submitting a session][submit]! Or, if you can't make it but plan
on watching online, maybe help someone else attend by [contributing to the
travel fund][travel-fund]. The call for sessions ends October 26th.

I'll be attending again this year, and I plan on submitting a session
proposal.  I won't have the time to do [my 100+hr research talks like the
past couple years][talks], so maybe I'll fall back on something more
technical that I won't have to research.

It's still a ways off, but if you do plan on attending, do let me know so I
can say hello!

[submit]: https://my.fsf.org/lp-call-for-sessions
[travel-fund]: https://my.fsf.org/civicrm/contribute/transact?reset=1&id=60
[talks]: /talks/
2018-09-06 23:40:50 -04:00
Mike Gerwitz e77ebfc973
:cptt: Add archive 2018-06-03 00:26:45 -04:00
Mike Gerwitz a4b96ad563
:Ignore previous version of mobile post; update THANKS 2018-05-05 21:57:18 -04:00
Mike Gerwitz c084a2222c
When Talking About Mobile Tracking, Don't Veil Bad Actors With Blanket Statements
It's difficult to have useful conversations about mobile tracking when
  someone says "your phone / mobile device tracks you";
  such statements don't often lead to constructive conversation because they
    are too vague and therefore easily dismissed as sensationalism or
    paranoia.
  And they are all too often without substance because,
    while users do have legitimate concerns,
    they aren't necessarily aware of the specific problems contributing to
      those concerns.

A mobile device is nothing more than a small computer that you carry around
  with you.
The networks that you connect to can spy on you---your
  cellular network, bluetooth, wifi, etc.
To help mitigate these threats,
  you can disable those communications until you are in a safe place that
  you don't mind others knowing about.
We can only have confidence that these connections have been disabled by
  physical means,
    like a hardware switch or a bag that acts like a Faraday cage.
[iOS deceives users][ios-deceive] when they ask to disable those communications
  for example.

The software running on your device often spies on you:
  the operating system itself often spies;
  the apps you install often spy.
This is the fault of the individual _authors_---_they_
  are the problem.
Consider using free/libre software that empowers you and serves _you_ rather
  than its creators;
    it's much harder to hide secrets in free software.
On Android,
  consider using only free software available in [F-Droid][].
We also need fully free mobile operating systems,
  like [Replicant][] and hopefully Purism's Librem 5 that is still under
  development.
Don't be fooled into thinking the Android on most phones is free
  software---only
    its core (AOSP) is.

Call out those that do harm---don't
  veil and protect them using statements like "your phone tracks you".
Talk about the specific issues.
Demand change and have the courage to reject them entirely.
This involves inconvenience and sacrifice.
But if we're strong now,
  then in the near future perhaps we won't have to make any sacrifices,
  much like the fully free GNU/Linux system desktops we have today.

Fore more information on tracking,
  see my [LibrePlanet 2017 and 2018 talks](/talks) "The Surreptitious Assault on Privacy,
  Security, and Freedom" and "The Ethics Void", respectively.

[F-Droid]: https://f-droid.org
[ios-deceive]: https://web.archive.org/web/20170922011748/https://support.apple.com/en-us/HT208086
[Replicant]: https://replicant.us
2018-05-05 21:43:10 -04:00
Mike Gerwitz 9cdc7b468c
:resume: Update language years
This also adds Lua.

This is merely annual housekeeping; it is not in preparation for
job hunting. ;)
2018-05-01 22:52:26 -04:00
Mike Gerwitz ec1c0c8d62
:resume: Add Guix 2018-05-01 22:52:20 -04:00
Mike Gerwitz f92d061bc0
:resume: Update wording
This is merely annual housekeeping; it is not in preparation for
job hunting. ;)
2018-05-01 22:37:51 -04:00
Mike Gerwitz ea177110c5
When Talking About Mobile Tracking, Don't Veil Bad Actors With Blanket Statements
It's difficult to have useful conversations about mobile tracking when
  someone says "your phone / mobile device tracks you";
  such statements don't often lead to constructive conversation because they
    are too vague and therefore easily dismissed as sensationalism or
    paranoia.
  And they are all too often without substance because,
    while users do have legitimate concerns,
    they aren't necessarily aware of the specific problems contributing to
      those concerns.

A mobile device is nothing more than a small computer that you carry around
  with you.
The networks that you connect to can spy on you---your
  cellular network, bluetooth, wifi, etc.
To help mitigate these threats,
  you can disable those communications until you are in a safe place that
  you don't mind others knowing about.
We can only have confidence that these connections have been disabled by
  physical means,
    like a hardware switch or a bag that acts like a Faraday cage.
[iOS deceives users][ios-deceive] when they ask to disable those communications
  for example.

The software running on your device often spies on you:
  the operating system itself often spies;
  the apps you install often spy.
This is the fault of the individual _authors_---_they_
  are the problem.
Consider using free/libre software that empowers you and serves _you_ rather
  than its creators;
    it's much harder to hide secrets in free software.
On Android,
  consider using only free software available in [F-Droid][].
We also need fully free mobile operating systems,
  like [Replicant][] and hopefully Purism's Librem 5 that is still under
  development.
Don't be fooled into thinking the Android on most phones is free
  software---only
    its core (AOSP) is.

Call out those that do harm---don't
  veil and protect them using statements like "your phone tracks you".
Talk about the specific issues.
Demand change and have the courage to reject them entirely.
This involves inconvenience and sacrifice.
But if we're strong now,
  then in the near future perhaps we won't have to make any sacrifices,
  much like the fully free GNU/Linux system desktops we have today.

Fore more information on tracking,
  see my [LibrePlanet 2018 and 2019 talks](/talks) "The Surreptitious Assault on Privacy,
  Security, and Freedom" and "The Ethics Void", respectively.

[F-Droid]: https://f-droid.org
[ios-deceive]: https://web.archive.org/web/20170922011748/https://support.apple.com/en-us/HT208086
[Replicant]: https://replicant.us
2018-04-24 23:18:27 -04:00
Mike Gerwitz b9d6fc0314
:style.css: Reduced line width, increased height
Improve readability.
2018-04-24 22:24:17 -04:00
Mike Gerwitz 5027e5b27c
:Resume: The Ethics Void 2018-04-14 00:51:11 -04:00
Mike Gerwitz cd53ff95ed
:Add ethics void links 2018-04-14 00:44:07 -04:00
Mike Gerwitz 4387bd420b
:doc/40-talks.md: Update LP2018 talk abstract 2018-03-17 15:29:38 -04:00
Mike Gerwitz a985435866
Meltdown/Spectre and the Web
The recently-released [Meltdown][] and [Spectre][] CPU timing attacks
  affect virtually every user in some way;
    the consequences are profound.
There are plenty of good write-ups on the topic,
  so I don't feel the need to re-iterate the technical details here.
(See an easily digestible one [from the Raspberry Pi][rpi] project, and an
  in-depth analysis [from Project Zero][zero].)

What I do want to draw attention to is that these attacks [are exploitable
  via web browsers][mozilla].

The reason for this is that your web browser,
  by default,
  automatically downloads and executes programs without your knowledge or
    consent.
Most commonly,
  web pages embed software in the form of JavaScript code.
Because of the features available in modern JavaScript environments,
  CPU cache timing attacks are possible.

[I spoke about the security issues][lp2016] of running these programs in your web
  browser back in 2016---it
    was a bad idea then,
      and it's still a bad idea now.
[I spoke further of privacy issues][lp2017] last year at LibrePlanet 2017.
I encourage you to use extensions like [NoScript][] to block the execution of
  JavaScript by default,
    and stop random people from treating your computer as a puppet to do
    their own bidding.

[Meltdown]: https://meltdownattack.com/
[Spectre]: https://spectreattack.com/
[rpi]: https://www.raspberrypi.org/blog/why-raspberry-pi-isnt-vulnerable-to-spectre-or-meltdown/
[zero]: https://googleprojectzero.blogspot.com/2018/01/reading-privileged-memory-with-side.html
[mozilla]: https://blog.mozilla.org/security/2018/01/03/mitigations-landing-new-class-timing-attack/
[lp2016]: https://media.libreplanet.org/u/libreplanet/collection/restore-online-freedom/
[lp2017]: https://media.libreplanet.org/u/libreplanet/m/the-surreptitious-assault-on-privacy-security-and-freedom/
[NoScript]: http://noscript.net/
2018-01-08 22:27:38 -05:00
Mike Gerwitz cc0c4fcb58
:Update repo URLs for footer commit links
* Makefile (url_root, repo_url): Update URLs.
2018-01-06 00:39:05 -05:00
Mike Gerwitz e6c03df640
:Correct LP2018 link on Talks page
* docs/40-talks.md: Correct LP2018 link.
2018-01-05 23:02:45 -05:00
Mike Gerwitz 34c3eedd45
:Remove #tags from new talk abstract (The Ethics Void)
Oops!  Copied from the GNU Social notice.

* docs/40-talks.md (The Ethics Void): Remove #tags.
2018-01-05 23:00:52 -05:00
Mike Gerwitz 09900b8dbf
:Correct LP2016 logo on Talks page
* docs/40-talks.md: Correct LP2016 logo.
2018-01-05 22:59:19 -05:00
Mike Gerwitz b4cceff3fc
The Ethics Void: Join Me at LibrePlanet 2018!
I got word today that I'll be speaking again at this year's [LibrePlanet][]!
I was going to attend even if I were not speaking,
  but I'm very excited to be able to continue to build off of last year's
  talk and further my activism on these topics.

The title of this year's talk is _The Ethics Void_.
Here's a rough abstract:

> Medicine, legal, finance, journalism, scientific research—each of these
> fields and many others have widely adopted codes of ethics governing the
> lives of their professionals. Some of these codes may even be enshrined in
> law. And this is for good reason: these are fields that have enormous
> consequences.

> Software and technology pervade not only through these fields, but through
> virtually every aspect of our lives. Yet, when compared to other fields, our
> community leaders and educators have produced an ethics void. Last year, I
> introduced numerous topics concerning #privacy, #security, and #freedom that
> raise serious ethical concerns. Join me this year as we consider some of
> those examples and others in an attempt to derive a code of ethics that
> compares to each of these other fields, and to consider how leaders and
> educators should approach ethics within education and guidance.

(My previous talks can be found on my ["Talks" page][talks].)

For this talk,
  I want to solicit the community at various points.
I know what _I_ want to talk about,
  but what are some of the most important ethical issues to _you_?
Unfortunately there's far too much to fit into a 40-minute talk!
Feel free to send me an e-mail or reply to the [thread on GNU Social][thread].

[LibrePlanet]: https://libreplanet.org/2018/
[talks]: /talks
[thread]: https://social.mikegerwitz.com/conversation/99140
2018-01-05 22:55:53 -05:00
Mike Gerwitz e521680ece
:Year-specific LP logos on Talks
* docs/40-talks.md: Consistent styling and year-specific logos.
* images/lp-2016.png: Add LP2016 logo.
* images/lp-2017.png: Add LP2016 logo.
* style.css: Whitespace above logos.
2018-01-05 22:48:09 -05:00
Mike Gerwitz 4f5a47a970
:Add The Ethics Void to Talks page
* docs/40-talks.md (The Ethics Void): Add section.
* images/lp-2018.png: Add LP2018 logo.
* style.css (.talk-logo): Add class.
2018-01-05 22:36:48 -05:00
Mike Gerwitz cd806b4a23
:Fix LP201{7=>6} title for 2016 talk LP image
* docs/40-talks.md: Correct lower image title.
2018-01-05 22:02:48 -05:00
Mike Gerwitz 781a073692
:Here's a hash
49142b66305e2ef67755c21bea80b13ec06ff025

Just in case you were looking for one.
2018-01-05 00:51:09 -05:00
Mike Gerwitz b61ced73b6
:Restrict index body width to 40em 2017-10-29 00:15:09 -04:00
Mike Gerwitz 5accbfbac4
:resume: Objective section update
Mention of educator/research role.  It is hard to articulate this cleanly;
it is better that someone just ask.
2017-09-23 23:03:40 -04:00
Mike Gerwitz ce5eda1527
:resume: Reduce length slightly
This removes some whitespace, extra sentences that aren't needed, and
entirely removes the education section that wasn't adding any value or
useful information; I'm self-educated.
2017-09-23 21:34:27 -04:00
Mike Gerwitz 8e39d0abde
:resume: FSF abbr whitespace fix
Newlines appear in rendered title.
2017-09-23 21:19:24 -04:00
Mike Gerwitz 686895429e
:resume: Add EFF affiliation 2017-09-23 21:18:40 -04:00
Mike Gerwitz c69a64d600
:about.md: Image license notice nbsp 2017-09-23 13:39:32 -04:00
Mike Gerwitz df0b0c38c1
:Desaturate icons on all resume layouts 2017-09-23 13:36:11 -04:00
Mike Gerwitz 64cbee0030
:Add EFF link 2017-09-22 03:07:18 -04:00
Mike Gerwitz a8a6dadd31
:Add images/tp build
This adapts the same methodology I used for my SAPSF LP2017 talk to keep
third-party resources out of the repository.  This is not only good from a
licensing perspective, but also good for the repo and programatically
defines how I derive the image displayed on my site from a source image (and
proves that it does not constitute a derivative work, as it is not
transformative).
2017-09-22 03:06:37 -04:00
Mike Gerwitz 8a36221301
:githubbub: minor wording update 2017-08-01 22:00:33 -04:00
Mike Gerwitz 82745bc857
:resume: Link to githubbub
Originally I wanted to keep the resume purely informational regarding my
skills.  This is more proper, for me.
2017-08-01 01:32:27 -04:00