Previously, the headline (which is essentially a sidebar) was floated to the
right; this had the benefit of allowing the content to surround it on the lower
portion of the page, though that's arguably a poor design decision. With this
change, this does not occur, but the real reason for this change was to ensure
that block elements (such as divs) do not overflow into the headline.
This uses minimalist styling---as much as possible is done using the body
element. The footer positioning was tricky with varying content length. Since
the headline currently contains only images, my decision was to just get away
with setting a min-height to something reasonable for the headline content
height.
The inline image extension does not belong in repo2html (see comments), but the
source code highlighting may be moved in (code samples do make sense in commit
messages).
This was a bit of a difficult decision. One one hand, I perferred for the user
to select his/her own font via their browser settings. That said, the user still
has the option to override the font and use his/her own defaults.
This font choice is nearly identical to the current site font choice.
Each year, the [Free Software Foundation][0] presents awards to individuals who
have made a strong contribution to free software:
The Award for the Advancement of Free Software is given annually to an
individual who has made a great contribution to the progress and development
of free software, through activities that accord with the spirit of free
software.[1]
This year, announced at the LibrePlanet 2013 conference, [the winner was Dr.
Fernando Perez][1]---creator of IPython. The winner of the Award for Projects of
Social Benefit was [OpenMRS][2], which is a free (as in freedom) medical records
system for developing countries.
[0] http://fsf.org
[1] https://www.fsf.org/news/2012-free-software-award-winners-announced-2
[2] http://openmrs.org/
[As I had mentioned late last week][0], RMS had mentioned that Defective By
Design (DBD) would be campaigning against the [introduction of DRM into the W3C
HTML5 standards][1]. (Please see [my previous mention of this topic][0] for a
detailed explanation of the problem and a slew of references for additional
information.) Well, [this campaign is now live and looking for
signatures][2]---50,000 by May 3rd, which is the [International Day Against
DRM][3]:
Hollywood is at it again. Its latest ploy to take over the Web? Use its
influence at the World Wide Web Consortium (W3C) to weave [Digital
Restrictions Management (DRM)][4] into HTML5 -- in other words, into the very
fabric of the Web.
[...]
Help us reach 50,000 signers by May 3rd, 2013, the [International Day Against
DRM][3]. We will deliver the signatures to the W3C (they are right down the
street from us!) and make your voice heard.[1]
To summarize the issue as stated by the EFF:
W3C is there to create comprehensible, publicly-implementable standards that
will guarantee interoperability, not to facilitate an explosion of new
mutually-incompatible software and of sites and services that can only be
accessed by particular devices or applications. But EME is a proposal to bring
exactly that dysfunctional dynamic into HTML5, even risking a return to the
["bad old days, before the Web"][5] of deliberately limited
interoperability.
it would be a terrible mistake for the Web community to leave the door open
for Hollywood's gangrenous anti-technology culture to infect W3C standards.[1]
So please---[sign the petition now][2]!
[0] [cref:9d3c8c214425124acd4076750f963f538628e9e5]
[1] https://www.eff.org/deeplinks/2013/03/defend-open-web-keep-drm-out-w3c-standards
[2] http://www.defectivebydesign.org/no-drm-in-html5
[3] http://www.defectivebydesign.org/dayagainstdrm
[4] http://www.defectivebydesign.org/what_is_drm
[5] http://www.anybrowser.org/campaign/index.html
This news is huge and an incredible win for both the EFF and all U.S. citizens.
Today, [United States District Judge Susan Illston found the National Security
Letters' gag provisions unconstitutional][0] and---since the review procedures
violate the separation of powers and cannot be separated from the rest of the
statute---has consequently [ruled the NSLs themselves to be
unconstitutional][1]:
In today's ruling, the court held that the gag order provisions of the statute
violate the First Amendment and that the review procedures violate separation
of powers. Because those provisions were not separable from the rest of the
statute, the court declared the entire statute unconstitutional.[1]
This is an exciting decision; let's see where it takes us.
U.S. District Judge Susan Illston ordered the government to stop issuing
so-called NSLs across the board, in a stunning defeat for the Obama
administration’s surveillance practices. She also ordered the government to
cease enforcing the gag provision in any other cases. However, she stayed her
order for 90 days to give the government a chance to appeal to the Ninth
Circuit Court of Appeals.[0]
[The issues surrounding NSLs][2] were highlighted just last week when [Google
released numbers relating to the orders that it received][3].
[0] http://www.wired.com/threatlevel/2013/03/nsl-found-unconstitutional/
[1] https://www.eff.org/press/releases/national-security-letters-are-unconstitutional-federal-judge-rules
[2] https://www.eff.org/issues/national-security-letters
[3] [cref:a1f8634296246f2f771f99c04fb74af0a592481e]
Two acronyms that, until very recently, would seem entirely incompatible---HTML,
which is associated with an unencumbered, free (as in freedom) representation of
a document, and [DRM][0], which [exists for the sole purpose of restricting
freedom][1]. Unfortunately, Tim Berners-Lee---the man attributed to
``inventing'' the Internet[18]---mentioned in a keynote talk at SXSW that [he is
not opposed to introducing DRM into the HTML5 standard][4][15]:
[Tim Berners-Lee] did not, however, present himself as an opponent of digital
locks. During a post-talk Q&A, he defended proposals to add support for
``digital rights management'' usage restrictions to HTML5 as necessary to get
more content on the open Web: "If we don't put the hooks for the use of DRM
in, people will just go back to using Flash," he claimed.[4]
Many who oppose DRM refer to it as ``digital restrictions management''[0]---a
phrase that better describes how it affects the user. The ``rights'' that
``digital rights management'' describes are the ``rights'' (in terms of
copyright) of publishers and copyright holders: They wish to lock down their
content so that [you, the user, can only access it as *they* please][5]. Has
``your'' device[25][26] ever told you that [you cannot share a book with your
friends][6][17][24]? Has your device ever [deleted your content without your
permission][7][8]? Does your device grant you [less privileges if you decide to
liberate yourself from it][9] through ``jailbreaking''? Does the software you
run [potentially spy on you without telling you][11], without giving you the
option to correct it? Or perhaps the games you play [require you to be online,
even in single-player mode][12].
These are but a small handful of [examples of the many mistakes and injustices
of Digital Restrictions Management][5]. These restrictions take additional
effort---that is, development time, which also means more money---to build into
software; computers, by their very nature, do exactly as they are told, meaning
that they can only work against you if someone else tells it to (unless you tell
your computer to make your life miserable...if you're into that sort of thing).
As such, we refer to these restrictions as [``anti-features''][23].
Corporations claim that DRM is necessary to fight copyright infringement
online and keep consumers safe from viruses. But there's no evidence that DRM
helps fight either of those. Instead DRM helps big business stifle innovation
and competition by making it easy to quash ``unauthorized'' uses of media and
technology.[5]
It is this logic that corporations[13] (and even some individuals, such as
authors[14]) use to influence entities such as the W3C---and Tim
Berners-Lee---into [thinking that DRM is necessary][15]. The [W3C describes a
``trust infastructure''][16] that could be standardized for bringing DRM to the
web:
It is clear that user domains (eg eBook trading, sub-rights trading, streaming
music, etc.) each require sets of Rights Primitives that those domains wish do
useful things with.[16]
This is an unfortunate perspective, especially since those ``useful things'' are
exactly the opposite for users. The Internet strongly promotes the free,
(generally) unencumbered flow of information. To quote W3C:
The social value of the Web is that it enables human communication, commerce,
and opportunities to share knowledge. One of W3C's primary goals is to make
these benefits available to all people, whatever their hardware, software,
network infrastructure, native language, culture, geographical location, or
physical or mental ability.[19]
A DRM implementation flies in the face of those goals, as it is, by definition,
restrictive---how can we be encouraged to share by using systems that aim to
[prevent that very thing][0]?
Richard Stallman has already announced that the [FSF will ``campaign against W3C
support for DRM''][20]; let's hope that many others will join in on this
campaign, hope that organizations like the EFF will continue to fight for our
rights, and further hope that users will [reject DRM-laden products][22]
outright. [DRM cannot exist in free software][25] and it cannot exist on a
network that facilitates free information.
[0] http://www.defectivebydesign.org/what_is_drm (Disclaimer: I am an associate
member of the [Free Software Foundation][2] and, as such, this reference is
intentionally bias; feel free to see the [Wikipedia article on DRM][3] for more
general information.)
[1] http://www.defectivebydesign.org/
[2] http://fsf.org
[3] https://en.wikipedia.org/wiki/Digital_rights_management
[4] http://boingboing.net/2013/03/10/tim-berners-lee-the-web-needs.html
[5] https://www.eff.org/issues/drm
[6] http://www.amazon.com/gp/help/customer/display.html?nodeId=200549320
[7] http://www.defectivebydesign.org/blog/1248
[8] http://boingboing.net/2012/10/22/kindle-user-claims-amazon-dele.html
[9] http://arstechnica.com/apple/2011/02/ibooks-to-jailbreakers-no-yuo/ (I go
into more detail on jailbreaking and its current legality as of the time of
writing [in a previous article of mine][10].)
[10] [cref:7631ac2857e8655c50da5653d49e3c6046ff8286]
[11] [cref:3fa69da6531cb2131a7f52d17eb77a75e01794ba]
[12] https://www.eff.org/deeplinks/2013/03/tale-simcity-users-struggle-against-onerous-drm
[13] http://venturebeat.com/2012/10/12/together-html5-and-drm-can-take-out-native-apps/
[14] [cref:1ac60452f78af07fbef4da288be1048ca37c34e2]
[15] http://www.guardian.co.uk/technology/blog/2013/mar/12/tim-berners-lee-drm-cory-doctorow
[16] http://www.w3.org/2000/12/drm-ws/
[17] https://www.fsf.org/bulletin/e-books-must-increase-our-freedom-not-decrease-it
[18] http://www.w3.org/People/Berners-Lee/
[19] http://www.w3.org/Consortium/mission#principles
[20] http://lists.libreplanet.org/archive/html/libreplanet-discuss/2013-03/msg00007.html
[21] https://www.eff.org/deeplinks/2012/11/2012-dmca-rulemaking-what-we-got-what-we-didnt-and-how-to-improve
[22] http://www.defectivebydesign.org/guide
[23] https://www.fsf.org/bulletin/2007/fall/antifeatures/
[24] https://www.gnu.org/philosophy/right-to-read.html
[25] https://www.gnu.org/philosophy/can-you-trust.html
[26] https://www.gnu.org/philosophy/who-does-that-server-really-serve.html
Earlier this week, the starter of the [White House petition to ``Make Unlocking
Cell Phones Legal''][0] posted a [thread on Hacker News][1] stating that the
White House had officially responded[0], stating:
The White House agrees with the 114,000+ of you who believe that consumers
should be able to unlock their cell phones without risking criminal or other
penalties. In fact, we believe the same principle should also apply to
tablets, which are increasingly similar to smart phones. And if you have paid
for your mobile device, and aren't bound by a service agreement or other
obligation, you should be able to use it on another network. It's common
sense, crucial for protecting consumer choice, and important for ensuring we
continue to have the vibrant, competitive wireless market that delivers
innovative products and solid service to meet consumers' needs.[0]
The petition---as stated in the above response---garnered over 114,000
signatures. The response is exciting news because the Library of Congress had
[removed the phone unlocking exemption][2] at the beginning of this year. (As
the EFF points out, [this may not necessarily mean that unlocking your phone is
``illegal''][3]).
However, although this response is getting a lot of attention (I was surprised
to see my local news station report on it), this is not yet cause for
celebration; it is my hope that the White House will now follow through with
this statement and act upon it appropriately.
(The [EFF has also posted their own comments on the White House's response][4].)
This is just one issue in [a string of problems that is the DMCA][5].
[0] https://petitions.whitehouse.gov/petition/make-unlocking-cell-phones-legal/1g9KhZG7
[1] https://news.ycombinator.com/item?id=5319577
[2] [cref:9ceb4331746f11dcb21aa92e09184514a183e61b]
[3] https://www.eff.org/is-it-illegal-to-unlock-a-phone
[4] https://www.eff.org/deeplinks/2013/03/white-house-supports-unlocking-phones-real-problem-runs-deeper
[5] https://www.eff.org/wp/unintended-consequences-under-dmca
Oxford University decided to [block Google Docs][0] last month due to phishing
attacks against its users. To quote the blog post:
Almost all the recent attacks have used Google Docs URLs, and in some cases
the phishing emails have been sent from an already-compromised University
account to large numbers of other Oxford users. Seeing multiple such incidents
the other afternoon tipped things over the edge. We considered these to be
exceptional circumstances and felt that the impact on legitimate University
business by temporarily suspending access to Google Docs was outweighed by the
risks to University business by not taking such action.[0]
This incident was brought to my attention by a blog post by Schneier,[1] in
which he referenced his [essay on ``feudal security''][2] (I commented in more
detail on this essay in [my response to a previous blog post of his][3]). In
this case, Oxford is trusting that it knows better than its users and has the
right to exercise this power over them in light of their inexperience with
handling these situations (or even recognizing them).[0]
This may very well be the case---the Oxford IT department probably does have a
better understanding of security than many of their users. However, by blocking
access to Google Docs, they are also blocking access to millions of legitimate
articles hosted there, which is far from acceptable. Oxford is more than just a
workplace---for which many would argue these actions are acceptable; it is a
university that should encourage freedom of expression. They simply must find a
better way of dealing with these problems. If a user falls victim to a phishing
attack within Oxford, they will likely fall victim outside of it.
Would Oxford consider blocking e-mail access too (where phishing attacks are
very cheap and common)?
We appreciate and apologise for the disruption this caused for our users.
Nevertheless, we must always think in terms of the overall risk to the
University as a whole, and we certainly cannot rule out taking such action
again in future [...][0]
N.B.: Google Docs is proprietary and I cannot recommend its use any more than I
can recommend use of Microsoft Office.
[0] http://blogs.oucs.ox.ac.uk/oxcert/2013/02/18/google-blocks/
[1] https://www.schneier.com/blog/archives/2013/03/oxford_universi.html
[2] https://www.schneier.com/essay-406.html
[3] [cref:3fa69da6531cb2131a7f52d17eb77a75e01794ba] (I posted a link to my
response on his blog, but he did not approve the comment.)
An amusing demonstration; it is my hope that [readers will not take this PHP
library seriously][0]. This is likely a parody of the over-engineering that
often takes foot in Object-Oriented development (a game of ``how many GoF[4]
design patterns can we use in this project'' anyone?).
That is not to say that ``OOP is bad'' (just as object-oriented developers often
consider procedural code bad, when they may just be terrible at writing
procedural code). Indeed, I wrote [an ECMAScript framework for Classical OOP
(ease.js)][1]. The problem is that, with the excitement and misunderstandings
that surround ``good'' object-oriented design, designers are eager to
over-abstract their implementations (I have been guilty of the same thing).
Object oriented programming is often taught to novice CS students (often with
the reign of Java in schools)---teaching practices that can be good principles
when properly applied and in moderation---which I have also seen contribute to
such madness.[2]
Abstractions are highly important, but only when necessary and when they lead to
more concise representations of the problem than would otherwise occur (note
that some problems are inherently complicated and, as such, a concise
representation may not seen concise). I'm a strong advocate of DSLs when
abstractions begin to get in the way and increase the verbosity of the code
(languages with strong macro systems like lisp help eliminate the need for
DSLs written from scratch)---design patterns exist because of deficiencies in
the language: They are ``patterns'' of code commonly used to achieve a certain
effect.
[Criticisms against OOP are abundant][3], just as every other paradigm.
[0] https://github.com/Herzult/SimplePHPEasyPlus
[1] http://easejs.org
[2] http://c2.com/cgi/wiki?TextbookOo
[3] http://c2.com/cgi/wiki?ArgumentsAgainstOop
[4] Design Patterns: Elements of Reusable Object-Oriented Software. ISBN
0-201-63361-2. Gamma, Helm, Johnson and Vlissides (the "Gang of Four").
A Wired article mentions [figures released from Google][0] regarding National
Security Letters issued by the NSA under the Patriot Act. It is too early to
comment in much detail on this matter (I would like to wait for commentary from
the EFF), but, as the article mentions:
Google said the number of accounts connected to National Security letters
ranged between “1000-1999″ for each of the reported years other than 2010. In
that year, the range was “2000-2999.”
The [EFF provides additional information, including recommendations on what to
do about such requests][1] via their Surveillance Self-Defense website. As
quoted from that website:
And it's even worse for FISA subpoenas, which can be used to force anyone to
hand over anything in complete secrecy, and which were greatly strengthened
by Section 215 of the USA PATRIOT Act. The government doesn't have to show
probable cause that the target is a foreign power or agent — only that they
are seeking the requested records "for" an intelligence or terrorism
investigation. Once the government makes this assertion, the court must
issue the subpoena.[1]
To add insult to injury:
FISA orders and National Security Letters will also come with a gag order that
forbids you from discussing them. Do NOT violate the gag order. Only speak to
members of your organization whose participation is necessary to comply with
the order, and your lawyer.[1]
[0] http://www.wired.com/threatlevel/2013/03/google-nsl-range/?cid=co6199824
[1] https://ssd.eff.org/foreign/fisa
An interesting article by Dennis Ritchie discussing [early C compilers][0]
recovered from old DECtapes. The source code and history are fascinating reads.
The quality of the code (the ``kludgery''[1], as he puts it) to me just brings
smiles---I appreciate seeing the code in its original glory.
It is also saddening reading the words of such a great man who is no longer with
us; perhaps it helps to better appreciate his legacy.
[0] http://cm.bell-labs.com/cm/cs/who/dmr/primevalC.html
[1] http://www.catb.org/~esr/jargon/html/K/kludge.html
Today, [Bruce Schneier brought attention to privacy concerns surrounding
Skype][0], a very popular (over 600 million users[1]) VoIP service that has
since been acquired by Microsoft. In particular, [users are concerned over what
entities may be able to gain access to their ``private'' conversations][1]
through the service---Microsoft has refused to answer those kinds of questions.
While the specific example of Skype is indeed concerning, it raises a more
general issue that I wish to discuss: The role of free software and SaaS
(software as a service).
To quote Schneier:[0]
We have no choice but to trust Microsoft. Microsoft has reasons to be
trustworthy, but they also have reasons to betray our trust in favor of other
interests. And all we can do is ask them nicely to tell us first.
Schneier continues to admit, in similar words, that we are but ``vassals'' to
these entities and that they are our serfs.[2] His essays regarding the power of
corporations and governments over their users[3] echo the words of Lawrence
Lessig in his [predictions of a ``perfectly regulated'' future made possible by
the Internet][4]. While Lessig (despite what his critics have stated in the
past) seems to have been correct in many regards, we need not jump into the
perspective of an Orwellian dystopia where we are but ``vassals'' to the
Party.[5] Indeed, this is only the case---at least at present---if you choose to
participate in the use of services such as Skype, as ubiquitous as they may be.
Skype is a useful demonstration of the unfortunate situation that many users
place themselves in by trusting their private data to Microsoft. Skype itself is
proprietary---we cannot inspect its source code (easily) in order to ensure that
it is respecting our privacy. (Indeed, as a user on [the HackerNews
discussion][6] pointed out, Skype has installed undesirable software in the
past.[7]) If Skype were [free software][8], we would be able to inspect its
source code and modify it to suit our needs, ensuring that the software did only
what we wanted it to do---ensuring that Microsoft was not in control of us.
However, even if Skype were free software, there is another issue at work that
is often overlooked by users: Software as a Service (SaaS). When you make use of
services that are hosted on remote servers (often called ``cloud''
services)---such as with Skype, Facebook, Twitter, Flickr, Instagram, iTunes,
iCloud and many other popular services---you are blindly entrusting your data to
them. Even if the Skype software were free (as in freedom), for example, [we
still cannot know what their servers are doing with the data we provide to
them][9]. Even if Skype's source code was plainly visible, the servers act as a
black box. Do they monitor your calls? Does Facebook abuse your data?[10] How is
that data stored---what happens in the event of a data breach, or in the event
of a warrant/subpoena?[1]
The only way to be safe from these providers is to reject these services
entirely and use your own software on your own PC, or use software that will
connect directly to your intended recipient without going through a 3rd
party.[9] (Never mind your ISP; that is a separate issue entirely.) If you must
use a 3rd party service, ensure that you can adequately encrypt your
communications (e.g. using GPG to encrypt e-mail communications)---something
that may not necessarily be easy/possible to do, especially if the software is
proprietary and works against you.
The EFF has published [useful information on protecting yourself against
surveillance][11], covering topics such as encryption and anonymization.
If we are to resist the worlds that Lessig[4] and Schneier[3] describe, then we
must [stand up for our right to privacy and demand action][12]. [Who will have
your back][13] when we're on the brink of ``perfect regulation''[4]; who will
stand up for your rights and work *with* you---not against you---to preserve
your liberties? Without this push, services like Skype empower governments and
other entities to work toward perfect regulation---to continuously spy on
everything that we do. With everyone putting their every thought and movement on
services like Facebook, Twitter[14] and Skype, the Orwellian Thought Police[5] have
the ability to manifest in a form that not even Orwell could have
imagined---unless it is stopped.
To help preserve your ever-dwindling rights online,[15] consider becoming a
member of or participating in the campaigns of the [Free Software
Foundation][16], [Electronic Frontier Foundation][17], the [American Civil
Liberties Union][18] or any other organizations dedicated toward free society.
(Disclaimer: I am a member of the Free Software Foundation.)
[0] http://www.schneier.com/blog/archives/2013/01/who_does_skype.html
[1] http://www.skypeopenletter.com/
[2] http://www.schneier.com/essay-406.html
[3] http://www.schneier.com/essay-409.html
[4] http://codev2.cc/
[5] Orwell, George. Nineteen Eighty-Four. ISBN 978-0-452-28423-4.
[6] http://news.ycombinator.com/item?id=5139801
[7] http://blogs.skype.com/garage/2011/05/easybits_update_disabled_for_s.html
[8] http://www.gnu.org/philosophy/free-sw.html
[9] http://www.gnu.org/philosophy/who-does-that-server-really-serve.html
[10] https://www.eff.org/deeplinks/2013/01/facebook-graph-search-privacy-control-you-still-dont-have
[11] https://ssd.eff.org
[12] https://www.eff.org/deeplinks/2013/01/its-time-transparency-reports-become-new-normal
[13] https://www.eff.org/pages/when-government-comes-knocking-who-has-your-back
[14] https://www.eff.org/deeplinks/2013/01/google-twitters-new-transparency-report-shows-increase-government-demands-sheds
[15] https://action.eff.org/o/9042/p/dia/action/public/?action_KEY=8750
[16] http://www.fsf.org/register_form?referrer=5804
[17] https://supporters.eff.org/donate
[18] https://www.aclu.org/donate/join-renew-give