List of every member of congress who supports SOPA, sortable by donations - <AUTHOR> http://www.sopaopera.org <comment><USER2> Biggest surprise among supporters: Al "Net Neutrality is the 1st Amendment issue of our time" Franken.

Among opponents: Bachmann.

<comment><USER3> Sadly the support for it is directly connected to where they get their money from (For democrats and republicans).

Here is Bachmann's top sources of donations:

[http://www.opensecrets.org/politicians/summary.php?cid=N0002...](http://www.opensecrets.org/politicians/summary.php?cid=N00027493&cycle=2012)

Notice no Movie/Music Industry in the top 5

Then here is Franken's:

[http://www.opensecrets.org/politicians/summary.php?cid=N0002...](http://www.opensecrets.org/politicians/summary.php?cid=N00029016&cycle=2012)

Time Warner is his number one supporter. I would imagine that they are _for_ it.

<comment><USER4> _Time Warner is his number one supporter_

OpenSecrets:"The organizations themselves did not donate, rather the money came from the organizations' PACs, their individual members or employees or owners, and those individuals' immediate families."

The first clause is in red and bold.

(Edit:I apologize to the reader(s) who felt that directly quoting the links cited by the parent comment was objectionable.)

<comment><USER5> What is your point?

</comment></comment></comment></comment><comment><USER6> Note that Rep. Ron Paul is the _only_ current Presidential candidate that opposes SOPA.

<comment><USER7> Yes, but many are not members of congress currently - Romney and Gingrich being 2 specifically.

<comment><USER6> Opposing SOPA with a vote in Congress isn't the only way for real leaders to register dissent. There's no excuse for Romney or any other candidate to avoid informing the American public that as President, they would veto any future SOPA-like legislation restricting Internet freedom.

<comment><USER8> The media companies are all supporting SOPA, so anyone who opposes SOPA is probably worried about the repercussions of going public.

I can understand why they might be staying quiet, but I think it is weak and cowardly.

</comment></comment></comment></comment><comment><USER9> Both California Senators (Boxer and Feinstein) are supporters (and co- sponsors!) of Protect-IP. Silicon Valley needs to make its voice heard, and soon.

<comment><USER10> And they both live in San Francisco - which shows that it is all about $$ and not about their political views or principles.

So this is one of the problems I can see with politics today: politicians have no views or principles you can count on. Everything is depended on how much money they get (of course they all stick and talk about wedge issues such as guns, gays, and god which are really stupid).

That is one of main reason people like Ron Paul: you know what you get.

<comment><USER11> It's interesting to me in part because I tend to think of the SOPA battle as being rooted in the age-old war between North and South -- Silicon Valley vs. Hollywood. Attempting to cripple our industry is just a standard war practice. But to consider that the Senators are both SF residents makes me doubt the premise.

</comment></comment></comment><comment><USER12> No surprise about any of the Dems really: Piracy, copyright, and related issues have been issues for them for a long time, primarily due to their connections with the entertainment industry. It's too bad that they don't understand that hurting the consumer is going to kill the industries that fund them.

</comment><comment><USER13> I was surprised there are more democrats for SOPA than there are republicans.

<comment><AUTHOR> Much of Hollywood/traditional media leans left. Most of the Dems against it are in the Silicon Valley.

<comment><USER14> California's Dems are co-sponsors.

</comment></comment></comment><comment><USER15> Can someone use this data to figure out how much it would cost to make SOPA go away and then setup a kick starter project?

</comment><comment><USER16> To me, this is proof positive that campaign contributions are correlative but not causal.

</comment><comment><USER17> Google, Facebook and whoever else is going on a blackout before the vote, please link to the politicians who support SOPA, too.

The people deserve to know it, and they need to be put against the wall for it, not only so they can't be re-elected again because of this, but also so others don't try to support it, too, fearing the backlash.

</comment><comment><USER18> It's sad to see that for almost ever 1 SOPA opposing member on the list, there are about 4 supporting members.

<comment><USER19> Yeah. After seeing this, I'm pretty sure SOPA will pass...

<comment><USER20> IMO the only way to prevent SOPA passing would be Google/Facebook/Wikipedia going the "nuclear option" and putting up a click through page - short of that I doubt something this widely supported would get stopped.

</comment></comment></comment><comment><USER21> Wish there was a way to view who funded them more, basically ($TV|Movie) - ($Online|Internet)

<comment><USER22> I wish the table of underlying data was available so that a logistic regression could be run to see whether variables like campaign contributions do indeed predict support for SOPA after age and number of years served have been partialled out.

<comment><USER23> The data is pretty easily accessible as JSON - however, here's the data I used: <http://pastebin.com/nRYv40U8>

Firstly, a boxplot with the quotient of entertainment contributions to entertainment & internet contributions.

<http://i.imgur.com/FWQWy.png>

You can see quite easily that there's a difference which is also significant (95%, t = -4.73).

I've also done a logistic regression correcting with age, party (is_democrat), seniority and quota of contributions (quota_ent).

      </comment></comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>
           support |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
      </comment><comment></comment><comment>-+</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>----
               age |   .0258551   .0358136     0.72   0.470    -.0443382    .0960485
       is_democrat |  -1.252883   .6243361    -2.01   0.045    -2.476559   -.0292067
         seniority |  -.0262688   .0381962    -0.69   0.492     -.101132    .0485943
         quota_ent |   5.839435   1.447732     4.03   0.000     3.001933    8.676938
             _cons |  -1.968467    2.01512    -0.98   0.329    -5.918029    1.981096
      </comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>

The AUC is 0.8089 which is quite okay. Furthermore, it would be interesting to test whether location is a significant factor.

Edit: @adamtaylor: Here's a scatter plot with each contribution, transformed with log(1 + x) for readability: <http://i.imgur.com/MRciL.png>

<comment><USER24> Hmm, that scatterplot suggests a less straightforward relationship; the for/against dots look like they plausibly came from _slightly_ different distributions, but not very much different ones.

</comment></comment><comment><USER3> Very depressing. Almost without any exception (I admit there are a couple) every single for or against can be determined by how much money they get from the computer industry(Against) or from the Music / Movie industry (For).

All of this happens across party lines...

<comment><USER4> I'm having trouble reconciling this assertion with the fact that I can open the submission, sort by "online/internet" and it seems that those in the supporters column receive substantially larger amounts of money from "online/internet" than do those opposed.

<comment><USER25> I agree. TV/Movie money seems like a pretty good predictor of vote, but online/internet money much less so. But I'd still like to see an x-y plot with each congressperson a point, and TV/Movie money on one axis, online/internet money on the other, with each point colored by their vote. Then you could really see how separable the two populations are.

</comment></comment></comment><comment><USER26> Donations of any sort to people running for office should be banned outright without exceptions. It should be worth something to tax payers that politicians cannot be bought.

<comment><USER27> Result: instead of donating to their preferred candidate's campaign, donors will now run their own campaign promoting that candidate. Try banning _that_ without running into the First Amendement...

<comment><USER26> I think banning direct donations would at least make it more difficult for those politicians that are motivated by financial gain. Money can buy all kinds of things, not just campaign ads.

Also, running an effective campaign for someone else without central coordination of the message is a lot more difficult than what's going on now. Such campaigns can easily backfire.

That's why I think the extent of political corruption could be reduced by banning donations.

<comment><USER28> Only a truly stupid person would run for political office in search of financial gain. The level of work is extremely high (hours like a startup) but the amounts of money are small. For instance the average House campaign is just a bit over $1 million, and that funds dozens of people working very long hours for almost a year. Compare to capital funding or revenue levels in business. People willing to work that hard could make a lot more money in almost any industry.

As hokey as it sounds, people get involved in politics because they want to change the world. It is the natural end result of activism like we are seeing around SOPA. It's possible that at some point, someone fighting SOPA will decide to work for a candidate or run for office themselves. At that point they'll need to start raising funds. Will that corrupt them automatically? I don't think so.

<comment><USER26> I believe they want to feel the power, they believe they're "serving" the public, making a financial sacrifice exactly because they could earn a lot more outside of politics. I think this combination could lead some of them to believe that they deserve to earn more money for their hard work.

Also, it's not unheard of that some politicians are opportunists without very strong convictions one way or the other. At least that's what I sometimes feel when I hear them talk about stuff in a way that betrays utter incompetence.

</comment></comment></comment></comment></comment><comment><USER29> This is good advice if you choose to contact someone in congress about this issue.

[http://www.quora.com/How-do-I-have-a-conversation-with-my- Se...](http://www.quora.com/How-do-I-have-a-conversation-with-my-Senator- about-dropping-support-for-SOPA)

</comment><comment><USER30> I contacted my senators.

</comment><comment><USER31> Is there a site that lists all of the candidates running against pro-SOPA/PIPA representatives? Better yet, a site that allows me to give money to their opponents for the next election cycle (provided they're not pro-SOPA either)?

</comment><comment><USER32> I would like to see the congresspeople who haven't openly supported or opposed SOPA. Those people represent opportunities for education.

<comment><AUTHOR> <http://sopaopera.org/sopa/#roll_call>

<http://sopaopera.org/protect-ip/#roll_call>

</comment></comment><comment><USER33> What I don't understand is why these donation amounts are so low. Do these reps really only get around $25k an industry on average? Do they use these donations personally like it's extra pay or for campaign expenses? Is there a lot more money that we don't see?

<comment><USER34> Something we don't necessarily see is what sort of after-retirement deals they have lined up that may be in the millions. I'm sure there are other sources as well. But in general, politicians are pretty cheap.

<comment><USER35> Exactly!

Like Chris Dodd becoming CEO of the MPAA who is reportedly being paid $1.5 million a year as his base salary.

</comment></comment></comment><comment><USER36> I'd like to see this combined with the SOPA UPC scanner to further cross reference the manufacturer's (and their parents, affiliates, subsidiaries, employees, and...) political donations.

</comment><comment><USER37> You know the world has gone mad when Al Franken supports SOPA and Michelle Bachman opposes it.

<comment><USER14> Other possibility: your understanding of the world was flawed and needs to be adjusted. You were mad.

</comment></comment><comment><USER38> Alternate title: List of congressmen who have some idea of how the internet works

</comment><comment><USER39> Reddit site has started implementing their protest. It is redirecting.

</comment><comment><USER40> How the hell are both of California's senators FOR this bill?

<comment><USER41> Los Angeles, CA. Kinda big in the media sector.

</comment></comment><comment><USER42> republicans are more stridently in support of this measure

</comment><comment><USER43> This might be a stupid question, but as a European not all too familiar with US political laws I have to ask:

How is it not corruption when senators and congressmens votes can be bought by companies or whole industries?

<comment><USER44> In order to understand this you have to understand that in American corporations are persons. When Mitt Romney said, "Corporations are people too" at the Iowa State Fair he wasn't sharing his own personal beliefs. Instead he was telling the truth. See Corporate Personhood[1] for more.

From this it follows that Corporations have the right to free speech. This is where the supreme court ruled[2] that it is unconstitutional to deny corporations the right to political speech.

The legal requirements are disclosures and that's why you hear "paid for by Americans for a better tomorrow" or something like that. Corporations don't directly give to campaign coffers, but through a series of transactions often via PACs (political action committees) it eventually gets to where it's going. It is illegal for PAC's to coordinate with the campaign, but this does happen in subtle and less than subtle ways.

[1]<http://en.wikipedia.org/wiki/Corporate_personhood> [2][http://en.wikipedia.org/wiki/Citizens_United_v._Federal_Elec...](http://en.wikipedia.org/wiki/Citizens_United_v._Federal_Election_Commission)

<comment><USER45> While this has been true for the past year, the linked page gets its data from OpenSecrets which tracks only hard money donations to campaigns. It's tracking almost entirely donations from people who work in the given industries, so I think it's misleading to bring up corporate personhood here.

<comment><USER44> It's not hard to imagine that hard money can be used as a proxy for soft money to some multiple. For example soft money is 78x what the hard money is.

Hard money donations are often given by corporations through PACs as well. The reason this is allowed? Corporations have personhood. Your other post is correct and I'm not down voting you, but if you really want to understand corporate money in politics you need to understand corporate personhood.

If anything the numbers are misleading, because all it really tells you how much people who identify their employer are really giving. That's just demographic data, not proof of a particular policy.</comment></comment></comment></comment>


Ask HN:  Why is "exploiting" a website illegal? - <AUTHOR>

This is in reference to the Twitter worm, and the Samy Myspace worm awhile back.
MySpace filed a lawsuit against the virus creator, Samy Kamkar. He entered a plea agreement, on January 31, 2007, to a felony charge.[2] The action resulted in Kamkar being sentenced to three years probation, 90 days community service and an undisclosed amount of restitution.
From: http://en.wikipedia.org/wiki/Samy_(XSS)
I'm not sure what is going to happen to the kid that did the Twitter worm.
On what grounds is what these people did considered harmful?  It doesn't harm any end-users... at worst it only modifies their profile page.  It's a bug (or feature) in the web application, not exactly a virus that affects other peoples computers.  I guess my point is, it's all encapsulated to the website.
Furthermore, it just seems like they're taking advantage of the features the developers created.  If you can execute javascript, why not force people to friend you?  If the developers included a big button that said: "Delete a random user's profile" and you pushed it... would that be illegal?  What if instead of a button, there was a hidden URL that did this?  What if you needed to provide a 1 digit password?
I just don't get how fooling around with a website can be considered illegal, and what defines the line between legal and not. <comment><USER2> Three observations.

One: There are specific laws against unauthorized access to computer systems:

<http://www.ncsl.org/programs/lis/CIP/hacklaw.htm>

These acts are generally considered illegal because... they contravene laws!

Two: "What defines the line between legal and not?" The answer, ultimately, is judges and juries. These people have a wide range of discretion and are often surprisingly reasonable. (Although certainly not always. And they cost a lot to convince, and they can be _randomly_ unreasonable, which is why there are a lot of jury-trial horror stories and why lawyers prefer to avoid jury trials whenever possible.)

If I leave a loaded gun lying around and you pick it up and shoot me dead, the legality of your action is going to depend crucially on what you can make the prosecutor and the jury believe. If you convince them that you did it by accident -- that you were honestly just playing around with the gun on the assumption that nobody would be dumb enough to leave a loaded gun around -- you might be found innocent. If you had a documented motive for killing me, or were arguing with me at the time in front of witnesses, or if there were _no_ witnesses... well, good luck.

Finally, when you say:

 _It doesn't harm any end-users... at worst it only modifies their profile page._

You are making a lot of unwarranted assumptions. For one thing: If you publicly deface a website you advertise the existence of an exploit which someone _else_ might then use for evil purposes. But, more importantly: Who says that an edit to a user profile is always harmless? People have lost relationships, job leads, careers, and reputations over such "trivial" things. Remember the poor teacher whose Windows box got infected by a virus and spewed porn links all over the screen in front of the students? The woman who lost her job and narrowly missed being convicted as a sex offender by a crazy prosecutor?

<http://news.cnet.com/8301-1009_3-10107743-83.html>

If I were a teacher and someone defaced my online profile with a porn link I'd consider it a direct threat to my family's life.

<comment><AUTHOR> _You are making a lot of unwarranted assumptions. For one thing: If you publicly deface a website you advertise the existence of an exploit which someone else might then use for evil purposes. But, more importantly: Who says that an edit to a user profile is always harmless? People have lost relationships, job leads, careers, and reputations over such "trivial" things. Remember the poor teacher whose Windows box got infected by a virus and spewed porn links all over the screen in front of the students? The woman who lost her job and narrowly missed being convicted as a sex offender by a crazy prosecutor?_

These people are using the website with _no warranty_. It says so in the Terms of Service. Myspace, Twitter, Facebook, etc, guarantee _nothing_ about the security of their website, and whether or not their technology even works correctly. _Even if_ they did say in their warranty: "Your information is guaranteed to be secure," does that magically make it illegal to make a worm?

 _Two: "What defines the line between legal and not?" The answer, ultimately, is judges and juries. These people have a wide range of discretion and are often surprisingly reasonable. (Although certainly not always. And they cost a lot to convince, and they can be randomly unreasonable, which is why there are a lot of jury-trial horror stories and why lawyers prefer to avoid jury trials whenever possible.)

If I leave a loaded gun lying around and you pick it up and shoot me dead, the legality of your action is going to depend crucially on what you can make the prosecutor and the jury believe. If you convince them that you did it by accident -- that you were honestly just playing around with the gun on the assumption that nobody would be dumb enough to leave a loaded gun around -- you might be found innocent. If you had a documented motive for killing me, or were arguing with me at the time in front of witnesses, or if there were no witnesses... well, good luck._

Good points. Especially the loaded gun thing.

But in the Myspace example -- what harm was done to Myspace that warranted any punishment? Is it because they're such a successful website, that it matters more? I mean, let's say the kid made this worm for a site with like 1,000 users... is it any less of a crime? And why is it not Myspace's fault for not securing the website?

Another thing I'm confused about... how responsible do the website owners have to be? Let's say they allow javascript in profiles. The worm was nothing more than javascript.. I'd argue that somebody was just getting creative with their profile! If they made an endless loop of alerts, is that a "virus" because in most browsers (ridiculously) you have to force quit them?

And, finally, how in the world does any of this technology stuff get explained to the people making the decisions, eg, the judge and jury. It seems it's nearly impossible for it to be adequately explained to them to the point of them understanding enough to make a fair judgment.

<comment><USER2> _These people are using the website with no warranty_

I think you will find that a jury will have no trouble telling the difference in value between something that has no warranty, something that has no warranty _and_ is broken thanks to an error by its vendor, and something that is broken because some third party broke it. Warranty law is about the first two cases. It has nothing to do with the third case. If you break a company's product, you are going to be liable, whether the product is under warranty or not.

Incidentally, we have reached the point where it's important to point out that I am not a lawyer.

 _I'd argue that somebody was just getting creative with their profile!_

If you get creative with your _own_ profile, and it brings down _your_ browser, you have found a bug. Indeed, if you get creative with your own profile, and it brings down _Twitter_ , you have merely found a bug. (Though one that could obviously be used to perform a DOS attack on Twitter. If you exploit the bug to bring down Twitter over and over for your own amusement, you're getting into shakier legal ground. The responsible thing to do is _report_ the bug.)

If you "get creative with your profile" to create a XSS attack that deliberately defaces other profiles? Hire a lawyer, pronto.

 _how responsible do the website owners have to be?_

The truthful answer is "not very". You can be convicted for breaking into an account that has little or no actual security on it. You can be convicted for _searching_ for an exploit on your _employer's_ computer, even if you don't exploit it. (Ask Randal Schwartz. You should probably Google up his case. Sounds like you need some legal briefings.)

Don't impersonate other people on computer systems. Even if the system owners are _begging_ for it. ( _Especially_ if the system owners are begging for it.) And don't "test" people's security without specifically getting their permission in advance.

</comment></comment></comment><comment><USER3> That last sentence is a bit troubling, are you serious? Think about a situation for example where all of your income comes from a website you publish and someone else does (without your permission) something to change/destroy the content, how that can be legal? If a car has unlocked doors and the keys are in ignition is it legal to take that car?

<comment><AUTHOR> _If a car has unlocked doors and the keys are in ignition is it legal to take that car?_

I'm not talking about stealing a car. That would be hijacking or shutting down the entire website.

If you want to go the "car analogy" route, then put a whiteboard on your car, and claim it's illegal when somebody comes along and writes on the whiteboard. This is still a pretty crappy analogy.

The best analogy would be making something intended for one purpose, but somebody uses it for another purpose. Then, since it's bad for business, you sue the person who used the item as not intended. It just seems ridiculously unfair.

I'm talking about things like Web 2.0 profiles. The TOS on these things are that the entire use of the website is without warranty... yet if somebody comes along and makes a worm on these sites, a worm which harms nothing other than these warrantless profile pages, that's illegal?

Another example: Let's say Myspace said: "Feel free to use Javascript in your profile." Would it be OK to make the worm? It's just javascript, after all.

<comment><USER3> Making a worm that changes something on a site means disrupting the service between a service provider and a customer, it is not just using something for another purpose.

If something is easy to do or the actual damage is small does not make that something more "right".

</comment></comment></comment><comment><USER4> doing anything on someone else's account without them aware (or in control) has to be illegal ... ?

my concern is that its myspace one day, my bank the next. Stemming this in the bud is of value for everyone.

<comment><AUTHOR> What makes your account, on some website like "myspace" at all sacred and secured by laws? What defines an "account"? Does the person in charge of the account, in this case Myspace, have any obligation to ensure the security of your account?

For example, what if Myspace only allowed a 1 digit password on your account. Is it still illegal to "hack" your account, or is it Myspace's fault?

</comment></comment><comment><USER5> The same exact argument as the OP holds for CSS... When is playing a DVD considered illegal? What if I just put it into an unlicensed player? What if the decryption algorithm is so simple a 14 year old can crack it? What if the algorithm has been cracked for 14 years?

DCMA says that breaking ANY encryption even if the encryption says take my data, treat it as binary and invert all the digits, and the first line contains those instructions, it is illegal to break the encryption because of DCMA.

So yea if its a 1 digit password its illegal to guess it.</comment>


Brainscans support the case for long-term love - <AUTHOR> http://women.timesonline.co.uk/tol/life_and_style/women/relationships/article5439805.ece

<comment><USER2> When I saw the title "Scientists discover true love", my first thought was, "Awww, scientists in love, they must be so happy".</comment>


Show HN: 1 Project. 1 Engineer. 1 Year - <AUTHOR> This project took me 1 year to complete, all by my lonesome self.
What do you think? Comments appreciated!
www.enrad.io <comment><AUTHOR> Just lowered the price to $29 USD.

</comment><comment><USER2> Price point is way too high. I can buy a portable radio from Target for $10.

If it were just an app (no hardware) with a price point in the $5-10 range, I'd find it useful. Not sure whether that's even possible though. The existence of cheap competitors sets a ceiling on what you can charge for it.

<comment><AUTHOR> I'd love to give them away for free. I'll see what I can do about the price though.

</comment></comment><comment><USER3> Love the concept! But, with things like Spotify/App Music/Sound Cloud and many more streaming services, I think a very small population of users actually use radio.

[Suggestion] Can this have some application in Medical or SOS or listening to police scanner?

<comment><AUTHOR> It picks up transmissions from 87.5 to 107.9 MHz.

</comment></comment><comment><USER4> This brings FM for phones without it? Don't most phones already have built in FM?

<comment><AUTHOR> Exactly. Phones without FM capabilities can now listen to FM radio. It even works in "airplane mode", since you're not actually streaming anything from a server.

And by the way, most phones have the FM chip purposely disabled... forcing you to stream data from the internet.

But with this device, anybody can get FM radio.

<comment><USER4> Got it. This could be a US thing.. Asian phones almost all have this feature.

Also, your competition is probably a simple 10$ FM radio on aliexpress/amazon.

</comment></comment></comment><comment><USER5> Clickable: www.enrad.io</comment>


The original Unix init system (1972) - vezzy-fnord https://code.google.com/p/unix-jun72/source/browse/trunk/src/cmd/init.s <comment><AUTHOR> So this is pretty neat. From the code we can see that:

If you set the console switches of the PDP-11 to the magic number 173030 init executes "/bin/sh -" on the console tty (probably a decwriter).

Otherwise it starts /etc/getty on /dev/tty0 - tty8, ttya, and ttyb.

It also starts /etc/dpd ("Dpd is the 201 data phone daemon. It is designed to submit jobs to the Honeywell 6070 computer via the GRTS interface."), /usr/mel/da (???) and /usr/demo/dds (???).

When user logs out it's copying the utmp entry to wtmp.

I can see that the init binary is 456 bytes.

It's mounting hard drives /dev/rk1-rk3 on /usr, /sys and /crp. Maybe no /etc/fstab yet. I guess /dev/rk0 had root.

<comment><USER2> >maybe no /etc/fstab yet

Not in that repo [https://github.com/DoctorWkt/unix- jun72/search?utf8=%E2%9C%9...](https://github.com/DoctorWkt/unix- jun72/search?utf8=%E2%9C%93&q=fstab) (github mirror picked at random).

I'm not sure what the easiest way to find out when fstab was added would be.

<comment><USER3> Reading man pages and hoping they're correct:

[http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD- current/man5/...](http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD- current/man5/fstab.5)

>The fstab file format appeared in 4.0BSD.

<comment><USER4> I would look in the git repository for Unix: [https://github.com/dspinellis/unix-history- repo](https://github.com/dspinellis/unix-history-repo). It isn't guaranteed to be correct, either, but should have a commit describing its addition that can be trusted slightly more.

The earlier i can find there without digging deep is BSD 4.4 Lite, a mega- commit by Rodney Grimes ([https://github.com/dspinellis/unix-history- repo/commit/d2273...](https://github.com/dspinellis/unix-history- repo/commit/d22731cac9fabe420b069774896e5e0ba30ee1e5#diff- ca903a47e79e99bcc3c07fbe0612f1ec))

Being an enormous commit, changes are that it merged in existing stuff.

<comment><USER3> The history section in this man page is correct. Relevant commits in chronological order:

usr/include/fstab.h: [https://github.com/dspinellis/unix-history- repo/commit/fd4f9...](https://github.com/dspinellis/unix-history- repo/commit/fd4f9090882927a06d5b372bd129450058f4e346)

usr/skel/etc/fstab: [https://github.com/dspinellis/unix-history- repo/commit/fd4f9...](https://github.com/dspinellis/unix-history- repo/commit/fd4f9090882927a06d5b372bd129450058f4e346)

usr/man/man5/fstab.5: [https://github.com/dspinellis/unix-history- repo/commit/8591f...](https://github.com/dspinellis/unix-history- repo/commit/8591f4b1700e44c73ec2359af971421ce0106f76)

</comment></comment></comment></comment></comment><comment><USER5> Wow this is great... Some history from E. Raymond's page [http://www.catb.org/esr/writings/taoup/html/ch02s01.html](http://www.catb.org/esr/writings/taoup/html/ch02s01.html)

The original Unix operating system was written in assembler, and the applications in a mix of assembler and an interpreted language called B, which had the virtue that it was small enough to run on the PDP-7. But B was not powerful enough for systems programming, so Dennis Ritchie added data types and structures to it. The resulting C language evolved from B beginning in 1971; in 1973 Thompson and Ritchie finally succeeded in rewriting Unix in their new language. This was quite an audacious move; at the time, system programming was done in assembler in order to extract maximum performance from the hardware, and the very concept of a portable operating system was barely a gleam in anyone's eye. As late as 1979, Ritchie could write: "It seems certain that much of the success of Unix follows from the readability, modifiability, and portability of its software that in turn follows from its expression in high-level languages", in the knowledge that this was a point that still needed making.

<comment><AUTHOR> The C compiler in this 1972 UNIX is written in an interesting early dialect:

        1972              Modern
        ----              </comment></comment><comment>
        foo;              int foo;
        foo 1;            int foo = 1;
        foo[];            int *foo;
        foo[] 1, 2, 3;    int foo[] = { 1, 2, 3 };
        char foo[][];     char **foo;

No struct, union, or static. I'm wondering if locals not marked with auto are static. Also "extern foo" is used as a forward declaration to function or int foo.

No preprocessor.

<comment><USER6>
        1972              Modern
        ----              </comment></comment><comment>
        char foo[][];     char **foo;

Really? I see the former quite a bit, and it makes it clearer you mean an array.

</comment><comment><USER7> I agree it's pretty neat. PDP 11 assembler code is the only assembler I can read like C. I've never come up to speed on x86, I sort of get it but it was weird in a lot of places so I punted.

I've done other assembler code, not a lot, but I've written swtch() (process context switch) in 68K and VAX assembly.

Never liked anything as much as the PDP 11. So simple, so clean. The TA who taught the course where I learned PDP 11 assembly (Ken Witte) was so into it that he could read octal dumps like it was C. I remember getting him to come help me debug a problem, I coaxed him to my apartment with a 6 pack of beer, he looked at some octal and said "right there". Amazing guy but the PDP 11 code was so clean you could do that.

Anyone have a modern instruction set they like as much?

<comment><USER8> _The TA who taught the course where I learned PDP 11 assembly (Ken Witte) was so into it that he could read octal dumps like it was C_

I think this is a case of "do anything enough and you'll memorise it" \- I can mentally disassemble most of the first-page x86 instructions from a hexdump, although x86 really looks much better in octal ( [http://reocities.com/SiliconValley/heights/7052/opcode.txt](http://reocities.com/SiliconValley/heights/7052/opcode.txt) ), and I still have vague memories of some 6502 instructions from many years ago.

<comment><USER9> I used to be able to do this for z80. I owned a spectrum and the user manual had a list of z80 instructions together with their byte code. Lacking an assembler, my only way of writing code was to hand write the numbers and then POKE them into memory.

Ah, all those wasted hours writing code, only for it to instantly crash and lose everything...

<comment><USER8> The Z80 instruction encoding is also more easily memorised in octal (as are the 8080 and 8085):

[http://www.z80.info/decoding.htm](http://www.z80.info/decoding.htm)

</comment></comment></comment></comment><comment><USER10> I found M. Toomey's paper more interesting: [https://www.usenix.org/legacy/event/usenix09/tech/full_paper...](https://www.usenix.org/legacy/event/usenix09/tech/full_papers/toomey/toomey.pdf)

</comment><comment><USER11> I was most interested to see how the fork syscall works:

        sys fork
        br new process code
        / old process code continues here
        / r0 contains new process pid
        / c flag set if fork failed

so the if(fork() == 0) { child code } else { parent code } of modern fork is magic right inside the fork syscall (which just has to increment the return address by the size of one br instruction before returning to the parent)

I guessed some of this from the source, but confirmed more details in [https://archive.org/stream/bitsavers_attunixUNIedJun72_77658...](https://archive.org/stream/bitsavers_attunixUNIedJun72_7765885/UNIX_Programmers_Manual_2ed_Jun72_djvu.txt) \-- syscalls were already in section II of the manual at that time, fwiw.

<comment><USER12> Echoes of this idea still persist in modern systems. For example, from [http://uninformed.org/?v=1&a=1&t=txt](http://uninformed.org/?v=1&a=1&t=txt) discussing PowerPC OS X system calls:

"An interesting feature of Mac OS X is that a successful system call will return to the address 4 bytes after the end of 'sc' instruction and a failed system call will return directly after the 'sc' instruction. This allows you to execute a specific instruction only when the system call fails. The most common application of this feature is to branch to an error handler, although it can also be used to set a flag or a return value."

A similar idea crops up in ARM's exception/interrupt table, where on exception N, control passes to the _instruction_ at memory location N*4. Since instructions are all 4 bytes wide, you usually put a branch instruction in each slot that jumps to the real handler routine.

<comment><USER10> They're not so much echoes as a continuing necessity. System calls in UNIX- style operating system APIs generally return two integer values, a file descriptor/character count/ID/whatever and an error code; and because the twain are largely mutually exclusive the system call mechanism usually (dependent from the architecture of course) has some way of marshalling that into one processor register, be it using alternative return addresses or a flag bit such as the carry flag in the status word.

The OS/2 Control Program API and the Windows NT Native API return the error codes explicitly from the HLL wrapper functions, the (for example) open file handle returned from DosOpen() being an integer passed by reference, and their system call marshalling is thus somewhat different. It helps that calling conventions such as APIENTRY32 ([http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/fu...](http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/function- calling-conventions.html#APIENTRY32)) lend themselves easily to a treat-the- stacked-arguments-as-a-structure system, moreover.

I implemented a similar API once, marshalling by-reference system call arguments through processor registers using a pass-by-value-return scheme.

</comment></comment></comment><comment><USER13> I'd love to see an annotated version of this file explaining what each line did.

</comment><comment><USER14> I propose we replace systemd with this.

<comment><USER15> It's already been incorporated into systemd. Along with code to fetch today's xkcd cartoon at startup and a system registry that uses Pig Latin as the storage format.

<comment><USER16> That's a terrible lie that besmirches the reputation of systemd. Everyone knows systemd and etcd store in _Esperanto_! Geez man, get it straight.

</comment></comment></comment><comment><USER17> I really appreciate this. I wasn't even though of at the time it was written. What I mean is that I'm very grateful for computers / electrical engineering. What a excellent world we live in.

<comment><USER18> I'm not sure its that excellent a world. We went from this to a mix of massive broken ISA like x86, piles of firmware, EFI, SecureBoot and then when you actually organise all the turtles to point the right way, a GDT, IDT to set up. Ugh.

</comment></comment><comment><USER19> no QR code generator?

</comment><comment><USER20> The current system (2015): [https://github.com/systemd/systemd](https://github.com/systemd/systemd)

<comment><USER21> You seem to be forgetting about all of the other unixes.

Because systemd does not (to my knowledge) support any unix other than Linux, we can say for certain that OpenBSD, FreeBSD, NetBSD, MINIX 3, Plan 9, GNU/Hurd, MAC OSX, et al. all do not use systemd. Add to that the fact that some Linux distributions do not use systemd (Including Slackware, etc), and you can easily come to the conclusion that systemd is (strictly speaking) in the minority, and therefore not the main unix init system these days at all.</comment></comment>


Suggestions for hotel accomodations in Palo Alto? - <AUTHOR>

Staying there for a few days, looking for recommendations -- any? <comment><USER2> <http://www.airbnb.com/palo-alto>

<comment><USER3> Do they offer a discount (no commission) to those who come to a YC interview? ;)</comment></comment>


Rethinking PID 1 (2010) - <AUTHOR> http://0pointer.de/blog/projects/systemd.html <comment><USER2> I remember reading this when it was first posted. The most interesting section, by far, is "Parallelizing Socket Services". That makes it clear that socket activation isn't really about delaying daemon startup or acting like inetd (though inetd did provide some inspiration), but rather about being able to launch services and their dependencies in parallel by making sockets available before full daemon startup. Without that, any service depending on a socket would need to wait for the complete startup of the service providing that socket.

<comment><USER3> That's one advantage, but socket activation is such a good idea that it's hard to decide what it is "really about": the other main advantages are that your daemons no longer need to contain custom code to open the socket themselves, and as a consequence don't need to start as root if they bind a low port so you can get rid of the privilege-dropping code too, and also if your daemon crashes the socket is still there buffering connection attempts until the daemon restarts. It's really exploiting the fundamental tools that UNIX gives you to the fullest to make things more secure and more robust as well as faster.

</comment></comment><comment><USER4> It is interesting that after 6 years from the article publication its key concept of persistent sockets and services starting on demand is not there yet.

For example, on the latest Fedora sshd/nginx/php-fpm still bind their listening sockets themselves rather than receiving it from a process manager. Similarly, if one wants to implement a socket activation in Go, it is not a one-liner that just works, but it requires a third-party library to read the socket passed over stdin.

As a result if for performance/security reasons one needs to customize few service socket parameters, then at best one need to look at application- specific configuration language for socket customization and hope that the developers have not forgotten to expose the socket option that is needed. At worst one uses LD_PRELOAD and similar atrocities to customize the sockets.

<comment><USER5> sshd and apache2 for example both support systemd socket activation -- whether distributions actually do that is up to the distros. CoreOS for example runs sshd via socket activation.

<comment><USER4> On CoreOS the integration is buggy. One cannot start a long running process from sshd as when one logs out, all processes started from sshd are killed.

One can workaround that using systemd-run utility to start long-running operation, but that is a privileged operation. Besides, it violates one of the premises of socket activation that it should be completely transparent.

</comment></comment></comment><comment><USER6> Now I know there's tons of drama around systemd, and I'm really not trying to re-start any of those flamewars. (please!)

But I never followed the topic that closely, so I'm honestly curious. Looking back on this, he makes a pretty compelling case for his ideas. Were the objections to systemd mainly disagreements with the concepts (parallelizing socket services, etc)? Or was it more the way the ideas were implemented in systemd that traditional sysadmins didn't like? (binary "registry-like" config files, etc)

I only ask because, if most objections were about the implementation, then it should be possible to create a system that achieves the benefits he's extolling here, while keeping a lot of the "Unixy feel" that his detractors prefer. If it's a more fundamental disagreement, then it's harder to see a path that could make both sides happy.

<comment><USER7> The objections I tend to hear aren't so much about the parts of systemd listed in here, but about the way it seems to have grown to take over the rest of the system.

For example, it has its own syslog replacement, login manager, dbus implementation, network connection manager, dhcp server, udev implementation, boot manager, etc. There's talk of making it a dependency of Gnome, which would make Gnome and its components impossible to run on systems without systemd.

<comment><USER8> > which would make Gnome and its components impossible to run on systems > without systemd.

This is my main complaint. Most programmers know that coupling separate components is a bad idea[0]. After a while, the two components merge; they will begin to interface to lower and lower levels of each other, with the result being a giant mass of interdependent spaghetti code.

Your choice of desktop manager should not, in any way, dictate which init system you use. And with system taking udev and everything else with it, it may be almost impossible to separate out systemd ever again.

[0] I was going to link to the Stevens paper, but even wikipedia has an article about the problems of coupling: [https://en.wikipedia.org/wiki/Coupling_(computer_programming...](https://en.wikipedia.org/wiki/Coupling_\(computer_programming\))

<comment><USER9> Nifty.

Seems to me that while unix (and thus Linux) have traditionally leaned towards data or stamp coupling, while systemd is over at common coupling.

</comment></comment></comment></comment><comment><USER10> What (if anything) are people's thoughts on runit? I started trying out Void Linux a couple of days ago, which uses it by default. I haven't spent a whole lot of time reading up on it, but from my initial understanding of it, it seems to avoid the issues that people seem to have with both systemd and sysinitv. (Of course, it might just be that it's not used by enough people for anyone to have strong negative opinions about it)

<comment><USER11> runit is a fine init application. it might actually be better than OpenRC (which most of, our[0] systems run). Void is a fantastic distribution made better by a sane choice in init systems, and if you visit for that reason, you'll stay for all the other good, sane, choices and community.

0\. [http://medicalcannab.is](http://medicalcannab.is)

</comment></comment><comment><USER12> There is a lot of comments in the Devuan thread [1] and they will be here too, but we mostly skip over the actual problem systemd creates: very important parts of the Linux ecosystem becoming tightly coupled as to form a huge blob of programs where one either uses all or none. For one, I use Unix [2] as a productivity tool, not as a server, so I interact with init stuff very rarely. Thus I want a system that's easy to configure and debug. Systemd is the exact opposite of that, so I don't want to use it. But if I don't want to use it, now I have to find an alternative to or modify all the stuff that depends on it. If it was only an init script that I had to replace, that's okay, but there are tighter coupling between unrelated components and systemd. I've read that Gnome people consider having it as a dependency. Udev is so tightly coupled that Gentoo had to make a fork. But it should be enough to write a new startup script for switching to another init system, not fork the entire program I want to use. This is the problem with systemd.

[1] [https://news.ycombinator.com/item?id=11601288](https://news.ycombinator.com/item?id=11601288)

[2] Arch Linux for long, nowadays FreeBSD

<comment><USER13> And yet, it's not actually that hard to configure or debug. How is fiddling with symlinks and scripts easier than changing unit files?

<comment><USER12> Let me decide it.

If I don't want to use it, I should be able to swap it out. I shouldn't have to patch Gnome, udev, and whatnot to not use systemd.

I don't have problems with systemd, what I feat is essential parts of GNU and Linux infrastructure becoming directly dependent on it, at the actual software level.

<comment><USER13> Have you considered using Knoppix? Or now Devuan? Because you don't have to use systemd...

<comment><USER12> Heck. I have to mount my USB sticks. I have to run some Gnome apps. What part of that you don't understand? I don't want to have to load my drivers manually just because I don't want to use systemd. Udev is the thing that probes devices at boot time, isn't it? I don't want to fork Emacs, on which my life depends, because dbus becomes a hard dependency, which becomes coupled to systemd. Are you paid to not understand?

At the end of the day, I've left GNU/Linux behind anyways, I'm not talking for myself but for the community.

<comment><USER14> Avoiding the systemd thing here too, bsd for the win. Plenty has been said about it and some will never understand what is wrong with it.

</comment></comment></comment></comment></comment></comment><comment><USER15> Just curious: why does the rest of the world ignore things like launchd, libdispatch, etc?

<comment><USER16> Licensing, I'd guess. Also, Apple has no philosophical opposition to integrating things; UNIX people do.

<comment><USER14> Unix people? Not exactly the words i would have chosen, but i suppose you mean that linux has gpl licensing. BSD type licenses work well with unix,but are not compatible with the GPL.

<comment><USER17> That's simply untrue. First of all, you can run any program on top of Linux without licensing issues. Sure, Linux is GPL and so it much of the user land (all of GNU being a prime example). But if your program doesn't use any of those things outside of the "common use" of those components, the license is irrelevant. However, BSD-style licenses (excluding the now-unused 4 clause BSD) allow for sublicensing, so you can also include that code inside GPL projects (sublicensed under the GPL).

</comment></comment></comment></comment><comment><USER18> Having a standard that works across distros is a good thing, at least things don't feel as alien switching between redhat and debian (e.g. work and home).

</comment><comment><USER19> Perhaps the title should have [2010] at the end.

</comment><comment><USER20> Yeah, not much "rethinking" going on here anyway. Thought this was going to be something actually valuable not "doing exactly what PID 1 is already suppose to do"

</comment><comment><USER21> Based on last time when someone decided to rethink PID1 and wrote systemd, I'm kind of afraid of any research in this field...

EDIT: flicked through the article and yup, it's 2010 and systemd is announced: "You probably guessed it: what I suggested above as requirements and features for an ideal init system is actually available now, in a (still experimental) init system called systemd, and which I hereby want to announce."

2016 and I'd still say it's mostly experimental, but unfortunately reached production machines now.

<comment><USER22> Well I would say it's functionnal and hasn't reached enough production machines.

I don't understand the hate that systemd seems to bring in people. It may not be perfect but the good largely outweights the bad and anyway most of the arguments against it are the same copy pasted critics from day one, when they aren't pure name calling against its author.

From a user perspective I for one am glad to be able to start and kill services in a reliable maner, to have structured logging and a set of base system components that are simple to use, coherent and well documented and make taking advantage of otherwise painful to use Linux features easy.

Most anti-systemd people seem to be adverse to change and would rather stay on SysV init, but seriously how much longer are we expected to stick with that symlink mess of ugly scripts that can't reliably start a service in a reproducible environment or track which process belongs to which service ?

I often see anti-systemd people advocate a move to FreeBSD, but there is a reason behind the existence of the nosh or launchd projects... BSD init might be cleaner than SysV but it suffers from some of the same problems.

<comment><USER23> _and anyway most of the arguments against it are the same copy pasted critics from day one_

The age of an argument doesn't negate the argument, especially if it has not been effectively addressed since it was first proposed.

Those arguments are copy and pasted because they are still solid arguments and they have been pretty much ignored or handwaved away.

That you're tired of hearing them doesn't mean that they shouldn't be addressed. Those making the arguments are getting tired of having to repeat them—just like the tech industry is tired of having to continuously debate the government on cryptography: the arguments for liberty still stand, despite being codifed two centuries ago.

<comment><USER24> This seems like a pretty strong and specific technical argument in favor of systemd: [https://lists.debian.org/debian- ctte/2013/12/msg00234.html](https://lists.debian.org/debian- ctte/2013/12/msg00234.html)

What's the best single page summary along with adequate details of the arguments against systemd, and what's the professed alternative? From Googling around, I haven't found anything with a comparable level of technical quality, depth, and concreteness.

<comment><USER25> Interesting link btw. I think the number of features is oversold a bit. Others here pointed out that, being so critical, it's best to have first process be simple as possible with another doing the complicated stuff. So, those features could be delegated into an isolated process via message passing.

However, it stood out that the shell scripts are complex and buggy in edge cases. Quite opposite of robust programming we normally want. The socket activation trick is nice. I could see following Systemd's lead to improve in those two areas with a regular, minimalist init. Other features in other processes. See where that goes before letting one component go octopus on everything else.</comment></comment></comment></comment></comment>


Sleep Better, Eat These 5 Foods - <AUTHOR> http://www.askmen.com/sports/health_400/468_sleep-better-eat-these-5-foods.html <comment><USER2> Tryptophan in milk? I thought the whole tryptophan->sleepiness connection was an urban legend.

Also this article recommends consuming these foods 1-2 hours before bed, which is probably good advice, but makes this not very useful to anyone who is actually struggling to get to sleep.

As long as we're planning that we want to go to sleep a few hours in advance. Here's a tip: An hour before bed start turning off lights/ dimming screens. This helps simulate a sunset and should prompt your body to produce melatonin naturally <http://en.wikipedia.org/wiki/Melatonin#Light_dependence>

So don't bother eating all those grapes, just install some dimmer switches.</comment>


Porn actors must wear protective goggles: California safety standard [pdf] - <AUTHOR> http://www.dir.ca.gov/OSHSB/documents/Sexually_transmitted_infections_proptxt.pdf

<comment><USER3> The relevant section is on page 8, where it states

      "...the employer shall provide, at no cost to the employee,
       appropriate personal protective equipment such as, but not limited to,
       condoms, gloves for cleaning, and, if contact of the eyes with OPIM-STI is
       reasonably anticipated, eye protection."

The phrase "OPIM-STI" is an acronym for "other potentially infectious materials - sexually transmitted infection" which is itself a shorthand for

      "...bodily fluids and other substances that may contain and transmit sexually
       transmitted pathogens. These fluids include, but are not limited to, pre-ejaculate,
       ejaculate, semen, vaginal secretions, fecal matter and rectal secretions, secretions
       from wounds or sores that are potentially infected with sexually transmitted pathogens,
       and any other bodily fluid when visibly contaminated with blood or all bodily fluids in
       situations where it is difficult or impossible to differentiate between bodily fluids."

</comment><comment><USER4> So reading through all that...

I didn't see anywhere that said that actor had to use the protection - <USER2> that the employer had to provide it. As well as increased documentation and logging of "incidents", offers of medical treatment after each incident, review of their protection plan after each incident, and training of all actors on the protection plan before a scene.

So it sounds like this could just turn into a pile of protective gear that is never used, more bureaucracy, and a really annoying process of having to formally review their plan after every single scene.

</comment><comment><USER5> That is my fetish!

</comment><comment><USER6> This document says "proposed state standard". Is this california law now or proposed?

<comment><AUTHOR> I found that PDF linked from here: [http://boingboing.net/2015/05/27/porn- actors-must-wear-prote...](http://boingboing.net/2015/05/27/porn-actors-must- wear-protecti.html)

It implies that its a law now. Seeing as how big the porn industry is in California, I cannot see this ending well for anyone.

<comment><USER7> Unless I am seriously missreading that you only need eye protection for a 'facial' or when doing tattoo or other activity that causes blood spatter. I don't see that as much of an issue.

As to the what! Condoms in porn reaction people have. IMO, that really says more about condom adoption than anything else. If you see people using them during porn as a teen that's going to seem normal which should help adoption significantly.

</comment></comment></comment><comment><USER8> So how exactly does this go from racing up the front page to number 4, to pretty much suddenly not being on the first 5 pages within an hour?

<comment><USER9> For the usual reason: users flagged it.

</comment></comment><comment><USER10> So many Rainier Wolfcastle jokes...

</comment><comment><USER11> I like this one, made my Thursday hahaha</comment>


Beautiful Online SICP - <AUTHOR> http://sarabander.github.io/sicp/ <comment><USER2> Sarabander's edition is definitely a huge credit to it's author: It isn't _just_ a reprint of SICP; The text and it's font has been updated, many of the diagrams have been redone for clarity and the document and footnotes are hyperlinked.

If it's your ambition to follow in the footsteps of others or otherwise just prefer the classic Lisp-haqr experience, you can use a TexInfo version of SICP and have both the text and your REPL in Emacs: [http://zv.github.io/note/sicp- in-texinfo](http://zv.github.io/note/sicp-in-texinfo)

Also, just to pimp my own ride: I put together a SICP guide for new explorers of this great text: [https://github.com/zv/SICP- guile](https://github.com/zv/SICP-guile)

It contains both meta-information about which dialects of Lisps and languages are most suited to SICP, overviews of subchapters, helpful hints for those who are following along at home as well as answers to the exercises in Elisp, Guile scheme & Racket.

<comment><USER3> > you can use a TexInfo version of SICP and have both the text and your REPL > in Emacs

Or have it all in your browser (every code block is a REPL; CTRL-Enter to run):

[https://xuanji.appspot.com/isicp](https://xuanji.appspot.com/isicp)

<comment><USER4> Info is an awesome format but sadly is very well underappreciated.

</comment></comment></comment><comment><USER5> SICP is the one text I wish I'd known about when studying computer science at uni. When I finally discovered and read it, it was a truly eye-opening experience and revolutionised the way I thought about tackling problems and designing software. It may have been around for a while, but the ideas presented still hold water today.

As others have mentioned, the linked version has some definite improvements over the web version provided by MIT Press [0], which doesn't have particularly clear diagrams.

In fact, MIT Press does have an alternative version with larger diagrams [1], but the footnote links don't work.

Do also check out the 1986 Abelson and Sussman lectures [2] that accompany the text. Those two present the course in such an interesting and (dare I say it) fun way.

And for those who have already watched that and are curious, I've recently uploaded a 2004 version of the lectures to YouTube [3]. They're sourced from the SICP iCampus site [4], which is another fantastic resource, though I find the way that site presents the lectures to be a bit annoying. Completing the problem sets is a good way to check your understanding, though!

[0] [http://mitpress.mit.edu/sicp/full- text/book/book.html](http://mitpress.mit.edu/sicp/full-text/book/book.html)

[1] [https://mitpress.mit.edu/sicp/full- text/sicp/book/](https://mitpress.mit.edu/sicp/full-text/sicp/book/)

[2] [http://www.youtube.com/playlist?list=PLE18841CABEA24090](http://www.youtube.com/playlist?list=PLE18841CABEA24090)

[3] [http://www.youtube.com/playlist?list=PL7BcsI5ueSNFPCEisbaoQ0...](http://www.youtube.com/playlist?list=PL7BcsI5ueSNFPCEisbaoQ0kXIDX9rR5FF)

[4] [http://icampustutor.csail.mit.edu/6.001-public/](http://icampustutor.csail.mit.edu/6.001-public/)

<comment><USER6> >it was a truly eye-opening experience and revolutionised the way I thought about tackling problems and designing software.

Really curious. Can you share a bit more details about this. Like specific instances of how it changed your thinking..

<comment><USER5> For example, I previously tended to use a bottom-up approach to development. However, SICP showed me the benefits of what it calls "wishful thinking" with a more top-down approach.

It also helped me finally 'get' functional programming. Even in situations where other programming paradigms make more sense, I'll still opt for a functional style a lot of the time and avoid state.

I'm also a lot more confident with higher-order functions and closures after SICP help me understand them better. Seeing how cons pairs can be implemented as functions was simply mind-blowing. I think being able to use some of these techniques have improved the way I code.

There are a lot of other topics, such as the meta-circular evaluator, that I haven't had the opportunity to put into practice, but are nonetheless absolutely fascinating.

</comment></comment></comment><comment><USER7> Unpopular opinion but having read this book, I think it's a "good" text that is a bit blown out of proportion in terms of _how_ good it is. I'm curious for people that endorse to such a magnanimous degree what other literature they've read and what aspects of SICP in particular they find so superior.

<comment><USER8> First of all, it's an introductory text that provides a practical whirlwind tour of introductory computer science. Second starts from a straightforward place (when the first edition was written it was quite reasonable to assume that a student arriving at university, even MIT, might never have programmed a computer before) and after one lecture on the scheme language, dives in to practical details. Third, unlike, say, your average introductory programming class it doesn't get hung up on syntax; unlike an average introductory algorithm class the algorithm examples are typically on stuff a student would already know (numerical methods, etc) rather than super-abstract "consider a graph..." Finally it's an _engineering_ text: if you do the problems you end up writing an interpreter for the thing that seemed so amazing on the first day and you discover you know how all the bits fit together.

<comment><USER7> Right I always wondered if my opinion of it stemmed from the fact that I read it relatively late in my career. Never having fresh eyes on it, I suppose it's easy to take things like syntax and such for granted. That said, is Scheme really a good language for "not getting hung up on syntax?" It has an admittedly simple grammar but I can't help but feel that with the prevalence of ALGOL style languages, an intro student is better off just just biting the bullet and learning something more traditional.

If I was going to teach things like type systems and such and was ok with exotic syntax, I might teach Haskell or something.

<comment> yoz-y At my university the introductory programming was taught using scheme and I found it weird at first as I knew the more traditional approaches (personally I have taught myself programming first in Basic and Pascal).

Later I have been assisting a professor during python classes and I have come to appreciate the benefits of a purely functional language for introductions (our teachers have strategically chosen not to talk about the `begin` keyword in Scheme). Many students have had really hard time grasping the idea of variables and scopes.

<comment><USER9> Because so many of us learn imperative programming first, then find functional a big shift, I think we forget that everyone learns maths, which has no mutable state in the traditional maths classroom written style, and so functional actually resonates pretty well with people who have never touched programming at all, provided they've been exposed to enough maths.

<comment><USER7> The weakness to this approach is that learning the functional approach is all well and good but you can't learn this at the expense of learning what the machine does. Learning a traditional ALGOL like C exposes you to memory access, the stack pointer, and other such concepts. You're also a small hop away from assembly where you learn about RISC/CISC architectures, CPU caches, etc. I wish there was a book as popular as SICP that people would read so that the understanding of what the hardware is doing is better across the industry.

<comment><USER10> I think the book shown with nand2tetris (maybe called the elements of computing) is pretty good going from logic gates to building Tetris. Also "CODE" and "Computer Architecture with the Raspberry Pi" are great.

</comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> Downloadable PDF version here:

[https://github.com/sarabander/sicp- pdf/raw/master/sicp.pdf](https://github.com/sarabander/sicp- pdf/raw/master/sicp.pdf)

</comment><comment><USER11> Loved the Third Addendum bit:

"Third Addendum: Things go in spirals. We explored the powers of Texinfo and LaTeX at typesetting the PDF book. Now it's time to come back to HTML. This turn it shall be HTML5. "It can be a dangerous place, but it's our last, best hope for peace." (Sinclair, Babylon 5.)"

</comment><comment><USER3> Another online version of SICP that is (slightly) less good looking, but interactive (CTRL-Enter to run any code block) by a LISP interpreter that runs in your browser.

[https://xuanji.appspot.com/isicp](https://xuanji.appspot.com/isicp)

</comment><comment><USER12> Now that we're seeing WASM being supported, it would be awesome if code in the textbook runs in the browser.

<comment><USER13> See [https://news.ycombinator.com/item?id=4860370](https://news.ycombinator.com/item?id=4860370) from 4 years ago, it's fantastic

</comment></comment><comment><USER14> Looks really nice. Maybe I'll finally get around to reading SICP, given how often it seems to come up in discussions here. :)

That said, it seems that the font in this version is insanely large. I know large fonts are trendy right now, but 27pt text is just too much for long-form content like a book. (Compare with printed material at 10-12pt.) If the author's trying to improve readability, I'd recommend a higher-contrast font color instead.

On the other hand, the PDF version looks fantastic and addresses both concerns.

</comment><comment><USER15> I actually prefer the square corners of the original link-structure diagrams to the rounded ones in this version; compare:

[https://mitpress.mit.edu/sicp/full-text/book/book- Z-H-15.htm...](https://mitpress.mit.edu/sicp/full-text/book/book- Z-H-15.html#%_sec_2.2.2)

[http://sarabander.github.io/sicp/html/2_002e2.xhtml#g_t2_002...](http://sarabander.github.io/sicp/html/2_002e2.xhtml#g_t2_002e2_002e2)

However, the fact that they're not tiny and pixelated _is_ definitely an improvement.

As for the content of SICP itself, it's extremely interesting and enlightening but perhaps encourages a little too much "abstraction-worship" \--- not surprising given that computers were still getting faster exponentially when the book was first written.

</comment><comment><USER16> Nice interactive, online explanation of SICP is under [http://www.composingprograms.com/](http://www.composingprograms.com/). Examples are in Python3

</comment><comment><USER17> Does anyone know of a better way to navigate the document structure here?

I see this on the GNU website and in the HTML versions of their manuals, so am assuming it's from a design choice made there ...

Making the empty side margins Clickable to indicate "next page" / "continue" or binding the arrow keys, or spacebar-if-scrolled-to-bottom would make this much more tolerable to navigate, I surmise that the emacs / info readers must have more usable controls. Are there nav controls I'm missing?

<comment><USER5> There are access keys set that are supposed to work as follows:

      t: top of page
      b: bottom of page
      n: next page
      p: previous page
      u: up one level
      c: table of contents

Unfortunately, they seem to be a bit iffy (partly because some of them are set on multiple elements).

</comment></comment><comment><USER18> This is incredibly beautiful. I wish all technical writing online could be so well presented - I'm tired of trying to read two-column journal-formatted PDFs on my phone.

<comment><AUTHOR> There is an excellent 'pocket' format for compact E-readers in the parent's Github repo as well, which should be nice for smaller screen sizes.

</comment></comment><comment><USER19> My biggest issue with SICP was the lack of available unit tests for the exercises. I'd often "get it wrong" and have no recourse but to read a solution to see that I'd failed to account for some aspect of the problem.

Without an easily verifiable way to test your solutions as you go I think these kinds of books really do themselves a disservice as you lose the ability to struggle and think hard about the problem if you can't immediately solve it.

<comment><USER20> Ideally, it would actually include guidance on a good way to write the automated tests yourself after the first few.

</comment></comment><comment><USER21> I just started SICP today and am using this source. I have no idea what I'm getting myself into but am looking forward to it.

<comment><AUTHOR> It's one of those books you will come back to every three to four years and appreciate with new eyes each time.

</comment></comment><comment><USER22> I've just skimmed through the first couple of pages, but didnt find anything about which lisp to use/howto. Any ideas?

<comment><USER23> There is a package that you can use with Racket: [http://docs.racket- lang.org/sicp-manual/index.html](http://docs.racket-lang.org/sicp- manual/index.html)

In order to use this, you will need to install Racket first: [http://racket- lang.org/](http://racket-lang.org/)

<comment><USER24> I worked through a couple chapters of SICP using Racket and the SICP package in DrRacket before moving on to Emacs and Geiser.

DrRacket is a great starting point if you don't want to bother with setting up Emacs and the SICP package even supports the image elements that are covered in the course.

</comment></comment></comment><comment><USER25> perhaps only tangentially related but recently I began noting down beautiful typefaces I come across, the two used here are Inconsolata LGC and Linux Libertine O. do you guys have favorites?

<comment><USER26> Inconsolata has been my favorite monospace font for working in terminals and editors for a couple years now. It's pretty subtly-serifed for a monospace, punctuation doesn't seem to distract me like it can in other fonts, and I find it easy to distinguish close characters like "1" "l" "I".

</comment></comment><comment> git-pull It would be beautiful if there was a Sphinx Theme for that book layout / structure. It looks positively fantastic.

Imagine reading through SQLAlchemy's documentation [1] in that format.

Quick link to the repo: [https://github.com/sarabander/sicp](https://github.com/sarabander/sicp)

The format this book is made out of seems to be Texinfo: [https://en.wikipedia.org/wiki/Texinfo](https://en.wikipedia.org/wiki/Texinfo)

[1] [http://docs.sqlalchemy.org/en/latest/](http://docs.sqlalchemy.org/en/latest/)

</comment><comment><USER27> awesome. I'd also do Cormen & Leiserson's book as well as Aho's dragon book if I had the copyrights :). True epics in CS. Maybe even add Don Knuth's multi- volumes.

</comment><comment><USER28> Try reading SICP not for the sake of becoming a better programmer or learning some applicable skills. Do it for the sake of having fun. You'll get everything else as a bonus.

</comment><comment><USER29> absolutely beautiful. i have the dead tree version and i've grown tired of the times new roman font.

anyone know how `Figure 1.5: The tree-recursive process' is generated? it's not an image.

[http://sarabander.github.io/sicp/html/1_002e2.xhtml#g_t1_002...](http://sarabander.github.io/sicp/html/1_002e2.xhtml#g_t1_002e2_002e2)

<comment><USER30> It appears to be an svg. It could have been drawn using any number of tools, or by hand: svg is remarkably understandable. In this case, it was drawn with Inkscape: view source on [http://sarabander.github.io/sicp/html/fig/chap1/Fig1.5d.std....](http://sarabander.github.io/sicp/html/fig/chap1/Fig1.5d.std.svg)

</comment></comment><comment><USER31> you all with your fancy pants "reading". Nothing beats the movie, not only showing the height of computing power, but the awesome fashion of uber geeks.

[https://www.youtube.com/watch?v=2Op3QLzMgSY](https://www.youtube.com/watch?v=2Op3QLzMgSY)

</comment><comment><USER32> Thanks!

[https://en.wikipedia.org/wiki/Structure_and_Interpretation_o...](https://en.wikipedia.org/wiki/Structure_and_Interpretation_of_Computer_Programs)

</comment><comment><USER33> Any advice from the community on what environment is best for SICP/Scheme? I'm currently using Dr.Racket as I've heard to avoid Emacs at this point, any other suggestions/thoughts?

</comment><comment><USER34> this must have been so much work. SICP is an intricate masterpiece. So many projects like this fail mid-way. Even if all you do is change the CSS style, that's an accomplishment in itself.

</comment><comment><USER35> How would one compile this with higher contrast text? This is a wonderful refresh to an eternal programming classic.

</comment><comment><USER36> Was reading the Neil Van Dyke version yesterday.. And now this gift. Thanks Sarabender & Neil Van Dyke..

</comment><comment><USER10> Very pretty...is it just a nicer version of the one MIT's SICP page links to?

</comment><comment><USER37> A lot more readable on the computer. I hope MIT Press doesn't complain.

<comment><USER38> I'm not sure why they would, considering:

> Structure and Interpretation of Computer Programs by Harold Abelson and > Gerald Jay Sussman with Julie Sussman is licensed under a Creative Commons > Attribution-ShareAlike 4.0 International License by the MIT Press. [1]

That's not an "ND" (no derivative works) license, and this version also says it's licensed under CC-BY-SA 4.0 International, which should cover the "ShareAlike" part.

[1] [https://mitpress.mit.edu/sicp/](https://mitpress.mit.edu/sicp/)

</comment></comment><comment><USER39> is there a beautiful epub version?

<comment><USER39> found it.

<comment><USER40> Here's a direct link, if anyone else is looking for it.

[https://github.com/sarabander/sicp- epub/blob/master/sicp.epu...](https://github.com/sarabander/sicp- epub/blob/master/sicp.epub?raw=true)

</comment></comment></comment><comment> torrent-of-ions It is more beautiful (IMO) with "text-align: justify" on the paragraphs.</comment>


Google considering replacing webmaster videos with something else - <AUTHOR> http://www.mattcutts.com/blog/webmaster-videos/

<comment><AUTHOR> In the poll you can see that the videos are very popular. I'm not sure why people like that so much, but I now understand why so many documentation is "video-ized".

To me it's a disease though. It takes longer to load the videos than it would to read the transcript (if it were provided). What I absolutely adore about the Google Webmaster Videos though, is that they offer bite-sized chunks of information, based on real-life questions.

</comment><comment> onreact-com To be honest I rarely have the time to watch videos. Also I prefer text I can scan quickly. Matt Cutts' advice is mostly geared towards the average webmaster so as a SEO I often know already what he is talking about. With text I can skip that easily.

<comment><USER2> I agree - why would I sit and watch a bloke talking for two minutes when I could skim-read a transcript of what he's saying in thirty seconds or so and have the info to quickly refer to later? It seems a bit like a gimmick for its own sake. It's not like the sample video shown in that post was _showing_ us how to do anything - it was just talk.

Still, at least it's not as cringingly awful as those "video comments" that cropped up on blogs last year...

</comment></comment><comment><USER3> "replace X with something else"

Are you the type of programmer who writes:

      if ((x == 0) == true)

    ?</comment>


Ask HN: Why is the default HN font size so tiny? - <AUTHOR> I habitually read HN at 125% zoom because the default text size is microscopic, possibly unusably so. <comment><USER2> Everyone says that it's fine as long as zoom functions properly. Well it's also fine to use a font size generally accepted as readable. Use ctrl-- and ctrl++ for increase and decrease the font size. When you create your resume, it's always good to stand out and make a positive impression. When entering the workforce, you should strive to be creative, unique and let your individual skills shine.The most common font to use is Times New Roman, in black and size 12 points. Resume formats are a bit more debatable than resume font or size. But, obviously you want the most important information first.

visit : [http://resumeplus.us/](http://resumeplus.us/)

</comment><comment><USER3> We used to have big screens with low resolutions and now we have very small screens with high resolutions and very big screens with high resolutions, HN's font sizes haven't kept up with technology.

</comment><comment><USER4> I have no problem with reading HN at 100% zoom, even though my vision isn't great. Is it that annoying, to use the 125% zoom or use your own CSS (I do that to decrease width)?</comment>


The Case for an Older Woman: How Dating Preferences Change with Age - <AUTHOR> https://theblog.okcupid.com/the-case-for-an-older-woman-99d8cabacdf5 <comment><USER2> The article seems to hint that men selecting younger women is some sort of moral or character issue, which strikes me as crap. The right reason for not dating someone a decade younger (regardless of your gender) is that young people are stupid. _Really, really stupid._ You don't want to spend the next twenty years having conversation with a person like that.

I met my wife on OKC, using a age selection range of +/\- 10%. (I didn't expect to find anyone at all interesting more than a year older than me, and indeed did not.) She's a couple of years younger, but arguably more mature. It's awesome.

Beyond that, looks are (sadly) crucially important. Pick someone who's a careful match, or perhaps slightly less attractive. Missing on this is a recipe for misery.

Also, many older women are asexual. Beware, if it matters to you.</comment>


No Copyright for Pornography: A Response to File-Sharing Litigation (2012) - <AUTHOR> http://www.ipbrief.net/2012/02/16/4803/ <comment><USER3> From the article:

 _> The strength of a defense based on the non-copyrightability of pornography rests on whether pornography promotes the progress of science and useful arts as prescribed by the Copyright Clause of the U.S. Constitution._

 _> An argument in favor of refusing copyright protection is the very reason why copyright protection is granted in the first place: it gives incentives for creation._

 _> Allowing copyright protection on pornographic works, then, would only give more incentive for pornographic creations._

That's a losing battle right there.

First because the Supreme Court already affirmed adult entertainment as encompassed by the first amendment.

Second because it is a dangerous precedence to remove legal protections off something based on subjective standards. Today it is for adult entertainment, tomorrow it could very well be (for instance) for political comedy.

<comment><USER4> We already removed legal protections based on subjective standards. Subjective standards is pretty much all of case law. More to the case at hand, there are obscenity cases, not all of which are immediately cast out on first amendment grounds. Specifically, I'm thinking of Max Hardcore's felony obscenity conviction that resulted in a four year prison sentence.[0]

What would be interesting, would be if the Wong didn't just claim that porn isn't useful, and so it isn't copyrightable (which seems like a losing strategy), but rather claimed that the porn in question was criminally obscene, and that the criminal nature of the work rendered the copyright void. Ironically, a successful defense would then potentially open you up to some sort of obscenity trafficking charge. Hoisted on your own petard as it were.

Unfortunately for Wong, this appears to be just run of the mill heterosexual porn, so unlikely to be ruled obscene. So the moral of the story is to download only the _really_ really kinky stuff.

[0] [https://en.wikipedia.org/wiki/Max_Hardcore#Prosecutions](https://en.wikipedia.org/wiki/Max_Hardcore#Prosecutions)

<comment><USER5> >> What would be interesting, would be if the Wong didn't just claim that porn isn't useful, and so it isn't copyrightable (which seems like a losing strategy)

Just as a quick aside, the copyright part of U.S. Const art. I, § 8, cl. 8, is actually the phrase 'Science', and not 'the useful Arts.'

Edit: I know the misuse of the 'useful arts' phrase was from the blog post itself, and replied to this post only because it was the first I saw that mentioned that part of the post.

<comment><USER6> Why would you post something so blatantly false and easy to refute?

[https://en.m.wikipedia.org/wiki/Copyright_Clause](https://en.m.wikipedia.org/wiki/Copyright_Clause)

<comment><USER5> This was one of the more interesting things I learned during law school that can be easily explained without a lot of background knowledge in the U.S. Copyright and Patent systems.

Now, I am not sure how that wikipedia article refutes what I said. If it is because the article refers to U.S. Const, art I, § 8, cl. 8 as the "Copyright Clause", you can also see under the heading "Other Terms" the article refers to that same clause also as the "Copyright and Patent Clause", "Patent and Copyright Clause", "Copyright Clause", "Patent Clause", "Intellectual Property Clause", and the "Progress Clause." Copyright and Patent Clause is probably the best name for it as the clause deals with both subject matters, (I dislike calling it the Intellectual Property clause, because other areas of IP, such as trademark and geographic indicators fall under other clauses).

Additionally, that article actually supports what I said. In the first paragraph under "Effect", the article discusses how "[s]ome terms in the clause are used in archaic meanings, potentially confusing modern readers." Specifically it discusses how "useful Arts" refers to people skilled in manufacturing crafts and not artistic pursuits, and how "Science" addresses general knowledge and not scientific inquiry.

While wikipedia may not be the best source for this, other wikipedia articles may be illustrative on the original meanings of these words, such as the article on the term Useful art itself. ([https://en.wikipedia.org/wiki/Useful_art](https://en.wikipedia.org/wiki/Useful_art))

But again, the cool thing, is that we can discover this connection ourselves by just looking at the text of the clause. In looking at the clauses construction we can see an A and B pattern being followed. Where A refers to copyrights and B refers to patents. Here is the clause with the A and B pattern annotated.

"To promote the progress of (A) science and (B) useful arts, by securing for limited times to (A) authors and (B) inventors the exclusive right to their respective (A) writings and (B) discoveries;"

Learning this distinction was actually helpful to me in my following coursework, as it helped me understand why in patent law we use phrases like "prior art" and "person of ordinary skill in the art" and why copyright law applies to works outside of creative endeavors, such as scientific journal articles or news articles.

Now, as far as legal effect, these words have very little to do with how we apply the laws of Copyright and Patent. They merely explain the reasons why we empower the federal government with the power to pass laws affecting copyrights and patents. Pass any constitutional challenge that the copyright laws and patent laws are beyond Congress's power, U.S. art I, § 8, cl. 8 is little help in assessing a copyright or patent case.

</comment></comment></comment></comment></comment><comment><USER7> There should really be a [2012] in the title.

They eventually reached a 'stipulated judgement' that Liuxia Wong had not infringed any copyrights [1] so the case didn't have the chance to remove pornography's copyright protection.

[1] [https://dietrolldie.files.wordpress.com/2012/06/stip_judgeme...](https://dietrolldie.files.wordpress.com/2012/06/stip_judgement_00469ca.pdf)

</comment><comment><USER8> Even if you could build a case on this argument (which is doubtful; the Supreme Court has ruled that despite the "for limited times" clause, Congress can legislate effectively perpetual copyright if it so desires, so I doubt the "promote science and the useful arts" clause will stop Congress from allowing copyright on whatever), it's wrong on its face. Pornography _does_ promote the progress of science and the useful arts. How many times have we heard it observed that the VCR, and later internet video streaming, wouldn't have had the uptake they did if it weren't for porn? VR is about to undergo the same revolution.

<comment><USER9> The uptake of those technologies never depended on pornography. VCRs had movies, internet video streaming had services such as YouTube, VR will have gaming. Pornography just happens to be yet another use case, not exactly one that these technologies would otherwise have had lesser uptake because of.

<comment><USER8> No, VCRs didn't have movies, at least at first. At a time when porn producers saw a direct-to-viewer distribution channel in the VCR (and a means to avoid the hassle of having to find theaters willing to show their work), the mainstream movie industry saw a threat. MPAA head Jack Valenti delivered his famously tasteless speech stating that the VCR was to the film industry what the Boston Strangler was to the woman home alone. He would go to his grave wishing he could make the VCR illegal; thankfully most of the rest of the industry got a clue and saw the potential of video rental of mainstream movies.

(Fun fact; this is a large part of why VHS won the format wars; at 2 hours an SP VHS tape was long enough to fit a feature-length film of the day on a single cassette. But the victory wasn't so decisive until _after_ Hollywood took interest, well into the VCR's history.)

And video streaming well predated YouTube. Granted, it was a mess of proprietary plugins, RealPlayer, abd/or Windows Media Player. But I'm fairly certain most of the sites doing video streaming before YouTube were porn sites.

</comment></comment></comment><comment><USER10> I don't have time to read the whole case (much like the authors of the article I suspect), but as a lawyer that whole claim about "using the doctrine of clean hands to deny copyright" sounds fishy to me. Clean hands is an equitable doctrine based on case law (judge made law based on previous decisions), whereas copyright is statutory. You can't use case law and equity to avoid statutory law, that's one of the basis of our system where the legislature as elected by the people have supremacy over the laws.

I suspect what happened was the plaintiff in that case was violating another federal statute preventing the sale of obscene materials in interstate commerce and that's why they couldn't bring their copyright claim, because the were breaking the law and trying to get the court to give them the protection of the law at the same time.

<comment><USER11> You have to go back and review the case law from the 70's. The 1972 porn classic "Behind the Green Door" spawned a whole mess of litigation and set precedents that are still cited. That's where Mitchell Bros. Film Group v. Cinema Adult Theater came from.

</comment></comment><comment><USER12> I recall a ruling in Germany that pornography isn't inherently protected by copyright but porn that has some narrative structure around the actual sex scenes being granted protection because of that.

So if it's just literally pointing a camera at people having sex, copyright wouldn't apply (though presumably the right to one's own image would still apply?) but if it's previously established that they're a plumber and a housewife overcome by their passions, it's part of a copyrighted work.

<comment><USER13> That ruling wouldn't stand in the face of a considered attack.

</comment></comment><comment><USER14> This seems pretty silly - the Copyright Clause gives Congress the power to enact a particular kind of legislation and states the broad purpose of such legislation. It doesn't say every single copyrightable work has to 'promote the Progress of Science and useful Arts'. It doesn't say much about what specifically is a copyrightable work at all.

<comment><USER15> It kind of does say what can be a copyrightable work - it does _not_ give Congress the power to enact a particular kind of legislation as Congress wishes; the authority is limited to the purpose listed there - the Congress is allowed to do _only_ the things explicitly listed there; that's how 'rights of government' work, quite opposite from rights of people. It does not say "you can do X in order to, among other things, achieve Y" \- the current wording pretty much means "in general, X is prohibited. We'll allow you to do some X because it seems necessary to achieve Y, but not more than that".

Any copyright-style law made for a different purpose is simply not a valid law - the Congress has not been given authority to pass such a law, so even if they did, the law is not binding.

For any generally valid law, if parts of it don't fit the purpose, these parts are not valid law - again, the Congress has not been given authority to do this, so even if they did, that part should not be binding, and when challenged in court, may be contested and rightfully eliminated.

The abilities of government are different from abilities of people - <USER2> people, in general, can do anything not explicitly prohibited by law; the government is _not_ allowed to do anything unless there is explicit constitutional permission that mandates that it can do so.

<comment><USER14> Nothing you've typed leads to the conclusion 'The Copyright Act is unconstitutional because its criteria for what is and isn't a copyrightable work do not provide an ironclad guarantee that every copyrightable work itself promotes the advancement of arts and science'. It isn't what the clause asks.

</comment></comment></comment><comment><USER16> This is as good a time as any to bring along my favourite mathematics professor of all time, Tom Lehrer:

[https://www.youtube.com/watch?v=iaHDBL7dVgs](https://www.youtube.com/watch?v=iaHDBL7dVgs)

His 'Smut' was written more than 50 years ago, but still resonate with the current debate. :)

</comment><comment><USER13> Hell no - you don't get to decide what I find useful. While I'm not very interested in pornogaphy I have a good few friends who are current or former sex workers, and their work is just as deserving of compensation and legal protection as any other kind of work that admits of performance for an interested audience. I'm far more offended by this proposition than by anything I've ever seen in porn.

</comment><comment><USER17> A friend developed a cellular automata engine, 20 years ago. He sampled porn for palette mapping. There was Zero correlation of physical shapes. While the visuals were abstract, the color scheme felt warm and inviting. Did the original material help 'promote the Progress of Science and useful Arts'?

</comment><comment><USER18> Fun fact, perhaps related, perhaps not, according to IP lawyer relatives cartographers had to traditionally add at least some non-factual content to make it not pure fact, which is not copyrightable. So a fully true map is not in their interest. Can someone with better legal knowledge confirm the truthiness of this anecodte?

Perhaps, and I am terrified to suggest this, this industry will come up with their own answer to that. Haha.

<comment><USER19> > Fun fact, perhaps related, perhaps not, according to IP lawyer relatives > cartographers had to traditionally add at least some non-factual content to > make it not pure fact, which is not copyrightable.

Sounds like an urban myth.

Rather, it functions like a watermark.

> Perhaps, and I am terrified to suggest this, this industry will come up with > their own answer to that. Haha.

Not really. We know copyright infringement is happening. The current problems the industry has with copyright protection lie in enforcing them.

<comment><USER18> I know it sounds like an urban myth, perhaps why I asked for a lawyer's take. IANALNAP. (IANAL, Nor a Programmer)

</comment></comment></comment><comment><USER20> Pornorgaphy is not _intellectual_ property. So it should not be copyrightable. It doesn't promote "sciences and useful arts"

<comment><USER13> You know, every time you start an argument with some bald assertion like 'pornography is not intellectual property' you should be willing to answer the question 'why not?' before trying to develop the rest of your argument. I reject your premise, and since you're proposing it without any supporting arguments I'm not going to give any arguments either. It's on you as the person proposing to change things to explain why we should accept your claim, and when you give arguments to support it then I'll happily engage with those and tell you why I disagree.

</comment></comment><comment><USER21> What about those footprints they embed in a video to prevent re-uploads? Not saying that is a form of copyright... hmm, I should probably read the article.</comment>


"Not So Bootstrap-y": How To Build & Customize Your Own Bootstrap Theme - <AUTHOR> http://antjanus.com/blog/web-development-tutorials/how-to-build-your-own-bootstrap-theme/ <comment><AUTHOR> I decided to write a follow up to my earlier article <http://news.ycombinator.com/item?id=4427864> that many have found lacking.</comment>