Dell Edge Gateway 5000 to support natively flashing UEFI firmware under Linux - <AUTHOR> http://en.community.dell.com/techcenter/b/techcenter/archive/2016/02/02/dell-firmware-updating-under-linux <comment><USER2> This announcement confuses me, since I've been flashing UEFI firmware on linux-based Dell, HP, and IBM servers for many years. IBM's tools are particularly pleasant, since they're easy to integrate into configuration management tools.

<comment><USER3> I presume the "natively" here means that the Linux kernel has been taught how to do this, rather than some tooling written by the OEM being responsible for it.

Like the difference between installing the VMWare Toolbox on a Linux guest (which builds and injects proprietary kernel modules written by VMWare), vs. using open-vm-tools, whose modules live in the kernel tree to begin with and are maintained by the kernel devs.

</comment></comment><comment><USER4> AFAIK updating server firmware under Linux has been possible for years, so I'm curious why this required a kernel update, a bunch of new packages, and fixing hundreds of bugs. Is this a case of the standard way being 10x more complex than the proprietary way?

<comment><USER5> The new standard way is supposed to be used by _all_ vendors, instead of a slightly different proprietary method separately maintained by each. So you'll have the usual "design by committee, with all committee members being direct rivals" bloat.

And it seems that this is one of the first actual hardware implementations of said method; the OS-side software implementation has so far only been tested against emulators. It's not that surprising to see bugs here.

<comment><USER6> FWUPD is more a "from the devs but embraced by the vendors" effor: [http://www.fwupd.org/developers](http://www.fwupd.org/developers)

<comment><USER5> FWUPD relies on UEFI Capsule Updates, which is the standardized firmware update method I was talking about.

</comment></comment></comment></comment><comment><USER7> I'm happy to see the news, but now I'm also very curious what the Dell Edge Gateway 5000 is.

<comment><USER8> It's linked in the article:

[http://www.dell.com/us/business/p/dell-edge- gateway-5000/pd?...](http://www.dell.com/us/business/p/dell-edge- gateway-5000/pd?oc=xctoi5000us)

It's a ruggedized industrial-usage small-ish form factor fanless PC.

<comment><USER9> What are those green ports on the back? They look like power supply connectors. Does this require an external PS? I clicked around on the page you referenced and didn't see anything that explained it.

<comment><USER10> We have like 5 of these in the office. They have like 20 ports on them. I have no idea what the majority of them do. I assume most of them are some specialized binary data transport that I've never used or seen, though I have some weird half memory of similar ports on an early 90s IBM PC.

</comment></comment></comment></comment><comment><USER11> Some Dell laptops (new XPS 13) already support this. Place exe file with firmware into UEFI boot partition, and choose it at boot time.

<comment><USER12> But that's not really flashing under Linux is it? That just sticking the file somewhere their non-linux flash tool can see. Not saying that it's not helpful to be able to do so, it does remove Windows from the equation (did it myself just last night as it happens).

<comment><USER13> > But that's not really flashing under Linux is it?

Indeed not. But if we are going to nitpick, my first question would be what value does being able to flash new firmware from inside Linux achieve compared to what we have today: a OS-agnostic bootable update-medium?

<comment><USER14> Less steps. No manual process.

<comment><USER13> But now we can have malware hijacking our firmware, seamlessly through standard kernel APIs.

Is this really an improvement? Is it worth it?

<comment><USER14> You would require root on the machine, and if you have root anyway...

Anyway you can already flash the firmware, just without a standard interface: either with the uefi copy thing, or with a proprietary tool.

</comment></comment></comment></comment></comment></comment><comment><USER15> Oy vey folks, why not Google LVFS to see why it's interesting.

There's a new CLI tool and dbus api for discovering and installing firmware updates that are securely hosted by redhat. There is also native support in GNOME Software for surfacing the updates and making them available.

This means on a Dell server, you literally type: `fwupdmgr update` and all possible firmware is updated.

So literally every comment in the thread so far is missing the point. This doesn't require shelling in, putting it in the UEFI partition, orchestrating your infrastructure to reboot the servers into the EFI partition to install and then let it reboot back to Linux. You just type `fwupdmgr update`.

<comment><USER16> Even Dell's iDRAC server management cards don't allow for firmware upgrades this simple. You'll need their layers of additional (paid) management software to update firmware without having to manually download it from their website.</comment></comment>


There's a hole in Kubernetes that lets miscreants cause havoc - <AUTHOR> https://www.theregister.co.uk/2018/12/03/kubernetes_flaw_cve_2018_1002105/ <comment><AUTHOR> Here is the GitHub issue: [https://github.com/kubernetes/kubernetes/issues/71411](https://github.com/kubernetes/kubernetes/issues/71411)</comment>


Teens are breaking up with Facebook faster then we thought - <AUTHOR> https://mashable.com/2018/05/31/teens-dont-use-facebook-study/#SwkZEv6oAmq8 <comment><AUTHOR> This aligns extremely well with what I have seen with my teenagers and their friends.

Recently I was at an event where a teenager was giving a speech in which he mentioned Snapchat or Instagram and said, as an aside, "That's like Facebook for you old people".

</comment><comment><USER2> FB is the platform for old friends to reconnect and for extended families to stay in touch - neither of which are that important to a teen. The more interesting trend is teens watching YT in lieu of TV - my teen's viewing habits are almost exclusively centered around YT. It'll be interesting to see what the long-term ramifications of that are.

<comment><AUTHOR> If true, that would imply that teens will migrate back to Facebook as they get older, but right now I hear them mocking anyone that uses Facebook so much I wonder if they will not use it simply to save face.

I've noticed the same thing regarding TV. Recently we were at a hotel where some of my younger kids were watching TV for basically the first time. They were extremely confused by commercial breaks.

</comment></comment><comment><USER3> Instagram is still there. Facebook has been declining for a while, all the privacy stuff is just making everyone more aware.</comment>


Trump Chatbot - <AUTHOR> https://www.remote.tools/trump-chatbot <comment><USER2> According to the page source, Trump is some sort of alien.

This isn't a chat bot. It's more like the 'fortune' command. I don't get why there is even an input and suggested inputs. April Fools, maybe.</comment>


UPDATE: Coreboot/Libreboot on AMD Has 'CEO Level Attention' - <AUTHOR> https://www.reddit.com/r/linux/comments/5xvn4i/update_corebootlibreboot_on_amd_has_ceo_level/ <comment><USER2> If AMD goes the route of open source in the future, I think the future take a turn for the better</comment>


Android library Prism suspended due to IP infringement - <AUTHOR> https://github.com/StylingAndroid/Prism

<comment><USER2> Does anyone have an idea to why this happened?

The reasoning given is very vague</comment>


Math education even more pointless than Latin or Greek? - <AUTHOR> http://www.theguardian.com/commentisfree/2014/feb/18/maths-more-pointless-than-latin-british-pupils-china

<comment><AUTHOR> Sir Simon Jenkins is an ex-editor of The Times. I wonder to what extent he speaks for the British establishment.</comment>


Raw graphics output in Linux: Part 2 - <AUTHOR> http://orangejuiceliberationfront.com/raw-graphics-output-in-linux-part-2/ <comment><USER2> Instead of using the deprecated /dev/fb interface, you should be using DRM/KMS instead, which has support for modesetting, page flipping, cursors, overlays/planes (including YUV planes), and plenty more.

I have a simple toy app that shows how to use the API here: [https://github.com/magcius/drmdemo](https://github.com/magcius/drmdemo)

<comment><USER3> is KMS going to work in VirtualBox without the extensions?

<comment><USER2> In VirtualBox without the extensions, I believe we will currently fall back to either VESA or EFI GOP modesetting, neither of which indeed have KMS support yet.

There was a patchset to support KMS for simple fb fallbacks, but it hasn't been merged yet.

[http://cgit.freedesktop.org/~dvdhrm/linux/log/?h=simpledrm](http://cgit.freedesktop.org/~dvdhrm/linux/log/?h=simpledrm)

However, I definitely wouldn't throw out KMS just to support VESA / GOP. They don't support page flipping, so you get lots of tearing.

With the extensions, vboxdrv supplies a KMS driver.

[https://www.virtualbox.org/svn/vbox/trunk/src/VBox/Additions...](https://www.virtualbox.org/svn/vbox/trunk/src/VBox/Additions/linux/drm/vboxvideo_drm.c)

</comment></comment></comment><comment><USER4> I'd like to see a trend toward increasing use of raw framebuffers along with the embedded mini-PCs like the RPi, CHIP, Beagle*, etc. At one point in time I worked almost exclusively through the framebuffer console while developing a long-abandoned library to simplify framebuffer development. There are image viewers, PDF viewers, and web browsers that can use the raw framebuffer. I even wrote a basic framebuffer driver for an old HDTV tuner card.

There's something very satisfying about building up one's digital reality pixel by pixel, working with graphics as raw arrays of pixels, learning Bresenham's line drawing algorithm, etc. I highly recommend it.

<comment><USER3> Hold on, was the framebuffer for the tuner used for input or output? I'm also very interested in being able to push pixels to the screen "manually".

<comment><USER4> Output. The tuner was from the era when PCs and GPUs didn't have the horsepower to decode 1080i MPEG-2, so the tuner had to have its own MPEG-2 decoder chip and display driver, with 16MB of RAM.

It supported a basic OSD (sort of like hardware sprites) and arbitrary output resolutions, so IIRC I set up the OSD to stretch one of the OSD overlays to the full screen size, and pointed the framebuffer driver at the section of the card's memory assigned to that overlay. Here's an old demo: [https://www.youtube.com/watch?v=cDWH7d8pbH0](https://www.youtube.com/watch?v=cDWH7d8pbH0)

I never finished getting video input to work, and eventually my reference card was stolen so I never will.

Working with the framebuffer is almost as easy as calling _mmap()_ on /dev/fb0 and just writing data. There are _ioctl_ s for switching resolutions on drivers that supported it. But it sounds like DRM/KMS is the way to go these days if you aren't running a proprietary GPU driver.

</comment></comment></comment><comment><USER3> Part 1 is at [http://orangejuiceliberationfront.com/raw-graphics-output- on...](http://orangejuiceliberationfront.com/raw-graphics-output-on-linux- part-1/) but mostly covers setting up a VM.</comment>


Ask HN: How to be more critical of your work before getting feedback? - <AUTHOR>

This seems like a hard thing to do.  It might seem that continuously comparing your work to that of others would do, but I don't think this works.
One approach is to look back on what you have done a few months/years later.
Is there a better way (aside from not working alone)? <comment><USER2> Imagine that it was someone you really dislike who made what you made. You'll be newly motivated to find flaws in it. This works uncomfortably well.</comment>


Show HN: Helping people choosing the right career - <AUTHOR> http://whatforwork.com <comment><USER2> I like this idea.

After reading the comments here and visiting your site, I decided to see if there was specialty information on developing software for silicon (i.e. FPGAs) as that is very different than software development at Facebook or Google--yet all might fall under the description Software Developer. I'm thinking some way to differentiate that so that people can figure out if they want to make horizontal moves or what a horizontal move might be like would be useful--especially when you get more reviews.

Another question I have is about the incentive for people to provide job descriptions--are you thinking karma or some other benefit?

This idea has a lot of really interesting crossover--for instance just confining it to the developer space, not only is it interesting to contrast being a developer at say NPM, Mozilla, Facebook, Google, Maxim, Xilinx and Qualcomm, but to also see those development environments and tools (i.e. Twitch style) is interesting. I know there was someone who was doing that and I followed it briefly a few years ago.

<comment><AUTHOR> Lots of really good feedback here. Thank you.

In order to ensure quality and qualified job descriptions, i've had to hire the submissions. Unfortunately, philanthropic motivations have not as of yet been sufficient.

That being said, if you want to make a submission for silicon i'd love to see it.

</comment></comment><comment><USER3> I think this is a great idea. I've always felt that primary and secondary education should be teaching people about the work world. There's just so many specializations out there that people aren't familiar with. And it's sad to see people have to go through 6 years of school before finding out that they didn't want to go into that field.

Anyways, I created a site that's slightly related. It helps people find out what programming skills are in highest demand in their city: [https://skilldime.com](https://skilldime.com)

Let me know if you want to partner up, maybe some kind of blog post or link exchange or something. I think either one of our audiences would appreciate knowing about the other.

<comment><AUTHOR> Email me at email@example.com and we can see if there's some sort of collaboration that makes sense.

</comment></comment><comment><AUTHOR> Problem: Many people are in careers they hate.

Theory: Most people get into a career thinking its something its not.

Solution: Create a library of job descriptions written by people in those jobs in order to provide real world insight into various roles.

Would love to get your feedback on the idea, UI/UX, and anything else you'd like to share.

Jeremy

<comment><USER4> "teamwork" and "can work remotely" are flipped in the similarity graph of the job explorer: [https://whatforwork.com/job- explorer/](https://whatforwork.com/job-explorer/) That is, "teamwork" returns results for "can work remotely" and vice-versa.

<comment><AUTHOR> What a good catch. Thank you!

</comment></comment></comment><comment><USER5> I like this project. Working in HR for a while, I saw some people hating their jobs. Some of them were hanging in there because they did not know how it's like to make a lateral move to other job or to a similar job in other company. I feel that linking the job description to companies would be something really interesting. I do not feel that this will turn into Glassdoor, even if I assume that will attract some hate from ex-employees and some subjective job descriptions.

<comment><AUTHOR> I've considered the possibility of connecting this to indeed or monster, but at this point im trying to focus on education not placement. That being said, i'm open to this leading me to the appropriate market. I just want to make sure I help kids choose careers as that's a large part of how my idea came to be in the first place(personal experience).

Glassdoor is a common comparison because they have user submitted reviews, but those reviews are of what its like to work for a given company. As contrast, my site is what its like to do a given job.

Thank you!

</comment></comment><comment><USER6> Interesting idea! How did you source these job descriptions?

<comment><AUTHOR> I gathered each one individually myself. I've got a link on my site for people to submit their job descriptions and it brings them to a survey. I was able to evaluate submitters experience before I directed them to the link. It's been a very tiresome process. But, some code really helped to integrate the job descriptions into the site so that they were searchable.</comment></comment>


Ask HN: tech scene in Belize? - <AUTHOR>

My wife and I are considering living in the sub-tropics for several years, and we happen to like Belize a lot.<p>Does anyone know what the tech scene is like there? Except for time in silicon valley working at Google last year, I have lived and worked remotely in the mountains of Central Arizona for 15 years. I don't need technical peers in Belize but it would be more fun. <comment><USER2> don't know about Belize.

I checked out San Pedro, Guatemala, it was pretty cool but was hard to get consistent wifi at the cafes. Would be better if I had had an apartment. There are a few techie/entrepreneur types around there.

There seems to be a decent entrepreneurship scene brewing in Medellin, Columbia. That's my next trip</comment>


17th century warships linked to Sweden's historic Vasa found - <AUTHOR> https://www.theguardian.com/world/2019/nov/08/17th-century-warships-linked-to-swedens-historic-vasa-found <comment><USER2> The Vasa museum is amazing. The ship itself sank 15 minutes into it's maiden voyage and had as uninteresting a career as can be imagined, but the museum captures a slice of 17th century Stockholm life in a way that's utterly compelling. It does a fantastic job of telling the story of the people who built the Vasa.

Note: There's a documentary on the Vasa that was playing in a side-room at the museum when I was there, but can be found online. It's worth watching if you have an interest in the ship.

[https://www.imdb.com/title/tt2301604/](https://www.imdb.com/title/tt2301604/)

The quality of the Vasa museum gives me hope that, one day soon, the recently discovered wrecks of the Erebus and Terror might be raised and put in a museum. Similar to the Vasa, these 19th century ships sank in waters with excellent conditions for preservation. Archaeologists believe conditions may actually have been good enough to preserve paper[1]! We can only hope journals kept by the crew may resolve the mystery surrounding the fate of the Franklin expedition. If a ship that sank 15 minutes into its maiden voyage can be the centrepiece of a world-class museum, imagine the museum that could be made out of ships that explored both of the world's poles and met fates that remain shrouded in mystery!

[1][https://www.cbc.ca/news/canada/terror-wreck-exploration- fran...](https://www.cbc.ca/news/canada/terror-wreck-exploration-franklin- expedition-mystery-1.5252023)

</comment><comment><USER3> I was at the Vasa museum just a few weeks ago. While the ship itself is massive and amazing, what they recovered with it and how is even more so.

It wasn't lost at sea in battle but on the way out of port. Therefore there wasn't any battle damage and it was fully stocked with supplies and gear.

Then since the mud was soft enough, a good portion of the ship sank deeply and was protected from water, weather, etc that would normally erode and destroy things. You can see all kinds of detail from woodwork and decoration.

Finally, they have a display on how they were able to recover it ~50 years ago and the sheer amount of effort it took. It's stunning looking through the diagrams, etc.

</comment><comment><USER4> If you are ever in Stockholm do go and see the Vasa. The picture does not do it justice. Seriously amazing.

<comment><USER5> The ship itself is just incredible.

They also have a large collection of artifacts that were well preserved in the cold, low-oxygen environment. The most interesting item I recall was a portion of human brain from the wreck that was preserved and somehow recovered.</comment></comment>


Using gmail with mutt (2016) - <AUTHOR> https://smalldata.tech/blog/2016/09/10/gmail-with-mutt <comment><USER2> I tried this a while ago. And while it's fun, you realise most emails are heavy in html/images/attachments and barely readable in full text form anymore... :/

<comment><USER3> I've been using mutt as my only email client for over 10 years now. You are right that a lot of emails are HTML only, but you can use something like w3m or lynx to render the HTML inside of mutt, and it is pretty rare that images in emails actually matter. (Mostly they are company logos or other non-useful crap...)

<comment><USER4> And even better: You avoid loading any external resources, which both avoids the data leak, and prevents the sender from modifying the content of the received email.

<comment><USER5> Gmail relatively recently changed to intercept images and cache them all for you, preventing the leak. But then, this is Google we're talking about. I'm sure there's still a leak, maybe via AMP for Email. (Of course, hyperlinks are also often used for tracking.)

<comment><USER4> Only images? So, fonts can still be used to leak and manipulate?

<comment><USER5> Well, no, custom web fonts generally aren't supported by email clients, email within Gmail is sanitized by default.

And I stand slightly corrected: by customizing email image URLs, you can apparently track the first open, but not user details (IP address, device, subsequent opens, etc.) [https://customer.io/blog/gmail-loading- images.html](https://customer.io/blog/gmail-loading-images.html)

</comment></comment></comment></comment></comment></comment><comment><USER6> Another option is to keep a local mirror of your gmail, this can be one or two way and with or without tags.

[https://github.com/gauteh/gmailieer](https://github.com/gauteh/gmailieer) and [http://isync.sourceforge.net/](http://isync.sourceforge.net/) are tools I've used for this. isync/mbsync is a high performance IMAP based syncing tool that works well with for large mail spools. gmailieer uses the gmail API so it only works with gmail but has good support for two-way tag syncing.

Some advantages of this approach are very fast local access and and the ability to use your preferred local indexing and tagging tools (notmuch under emacs in my case).

PS, I forgot that gmailieer is notmuch-only but I think some mutt users use notmuch for indexing so it could still be useful.

<comment><USER7> I've had a lot of bad luck with isync. Gmail keeps locking IMAPS access, even if "insecure app access" is enabled. When trying to access the account through thunderbird, it redirects to an online login page to authorize the app, presumably through Google auth service to get an access token. I'm not sure it can be worked-around without implementing the same logic in isync :-(

edit: using the trick in the page seems to have done the worked. It would seem that my account access got locked during my last attempt. Time to run some backup !

</comment></comment><comment><USER5> Interesting. Until this post, I hadn't realized plain old username/password Gmail authentication had been blocked, in most cases: [https://support.google.com/a/answer/6260879?hl=en](https://support.google.com/a/answer/6260879?hl=en)

</comment><comment><USER8> life is too short.</comment>


Google is changing its search algorithm to prioritize original news reporting - <AUTHOR> https://www.theverge.com/2019/9/12/20863305/google-change-search-algorithm-original-reporting-news-human-raters <comment><USER2> I dont use google, I recommend [https://duckduckgo.com](https://duckduckgo.com)</comment>


Elon Musk Is Wrong. We Aren't Living in a Simulation - <AUTHOR> http://motherboard.vice.com/read/we-dont-live-in-a-simulation <comment><USER3> They wouldn't question this if the VR Apple had smell or taste. They are assuming that because the technology doesn't exist today it can't be true. They would say the same thing it the early 1700 if you told them that we will one day fly across the sky and talk on little devices. The magic behind this is that the technology has yet to be invented so people cant comprehend how it works. Even if we are in a simulation. Anyone who codes or understand AI at its lowest form will understand that we ourselfs are just 1's and 0's.

</comment><comment><USER4> It seems this argument can be summed up as follows:

Side 1 - eventually computers are going to be so powerful that it'll be trivial to create a realistic simulation - so we must be in one.

Side 2 - our "mind" cannot be represented by computers therefore we can't be in a simulation.

I'm trying to identify which logical fallacies these sides represent - <USER2> anyone know?</comment>


XKCD - Press and Move - <AUTHOR> http://xkcd.kajakklubben.org/

<comment><USER2> Isn't this just a direct rip-off of the original?

<http://xkcd.com/1110/>

Here's the original HN discussion: <https://news.ycombinator.com/item?id=4542367> \- also linked from there are several sites showing the entire layout, _etc._</comment>


Stackexchange forums: governed by the sharia law of forum rules? - <AUTHOR>

If you're going to ask a question make sure it doesn't show any tempting skin to the dirty spammers. <comment><USER2> I don't understand what you're saying. Could you give examples?</comment>


Lenovo refreshes its ThinkPad T, W, L and X - <AUTHOR> http://www.engadget.com/2012/05/15/Lenovo-ThinkPad-refresh/

<comment><USER2> Oh my, why the keyboard? Now I have one less reason to go with a Thinkpad over a MacBook :(.

<comment><USER3> The keyboard is fine. You are being hysterical.

<comment><USER4> The quality and layout of a keyboard can be just as important as any other defining feature of a laptop. You should not project your lack of preference in the matter on someone else and then call them hysterical.

<comment><USER3> Yes I should. The new Thinkpad keyboard is virtually indistinguishable from the old Thinkpad keyboard in terms of how it feels except for the different layout. The different location of certain function keys is something you quickly get used to if you decide not to be butthurt about it. To have your productivity affected by the switch to the new Thinkpad keyboard really does require some sort of mental disorder.

(The current Thinkpad keyboard on the T420 and friends isn't an "authentic" Thinkpad keyboard experience anyway.)</comment></comment></comment></comment>


The Uncertainty of Science by Richard Feynman (1963) - <AUTHOR> http://fermatslibrary.com/s/the-uncertainty-of-science <comment><USER2> Feynman has another fantastic talk on "What is Science?" [1].

Among other things, at a certain point in that talk, this is how he lays out his "best definition of science":

"What science is, I think, may be something like this: There was on this planet an evolution of life to a stage that there were evolved animals, which are intelligent. I don't mean just human beings, but animals which play and which can learn something from experience--like cats. But at this stage each animal would have to learn from its own experience. They gradually develop, until some animal [primates?] could learn from experience more rapidly and could even learn from another's experience by watching, or one could show the other, or he saw what the other one did. So there came a possibility that all might learn it, but the transmission was inefficient and they would die, and maybe the one who learned it died, too, before he could pass it on to others.

The question is: is it possible to learn more rapidly what somebody learned from some accident than the rate at which the thing is being forgotten, either because of bad memory or because of the death of the learner or inventors?

So there came a time, perhaps, when for some species [humans?] the rate at which learning was increased, reached such a pitch that suddenly a completely new thing happened: things could be learned by one individual animal, passed on to another, and another fast enough that it was not lost to the race. Thus became possible an accumulation of knowledge of the race.

This has been called time-binding. I don't know who first called it this. At any rate, we have here [in this hall] some samples of those animals, sitting here trying to bind one experience to another, each one trying to learn from the other.

This phenomenon of having a memory for the race, of having an accumulated knowledge passable from one generation to another, was new in the world--but it had a disease in it: it was possible to pass on ideas which were not profitable for the race. The race has ideas, but they are not necessarily profitable.

So there came a time in which the ideas, although accumulated very slowly, were all accumulations not only of practical and useful things, but great accumulations of all types of prejudices, and strange and odd beliefs.

Then a way of avoiding the disease was discovered. This is to doubt that what is being passed from the past is in fact true, and to try to find out ab initio again from experience what the situation is, rather than trusting the experience of the past in the form in which it is passed down. And that is what science is: the result of the discovery that it is worthwhile rechecking by new direct experience, and not necessarily trusting the [human] race['s] experience from the past. I see it that way. That is my best definition."

[1] Feynman, R. P., "What is Science?" The Physics Teacher Vol. 7, issue 6, 1969, pp. 313-320 [http://www.fotuva.org/feynman/what_is_science.html](http://www.fotuva.org/feynman/what_is_science.html)</comment>


Emacs isn't for everyone - <AUTHOR> http://briancarper.net/blog/emacs-isnt-for-everyone <comment><USER2> Any sufficiently complex system (whether it's a text editor, biological ecosystem, or vehicle) is going to be difficult to interact with for a new user. Emacs is hard to do, well anything, the first time you fire it up, you're probably going to die in the Amazon if without a knowledgeable guide, and you're not going to be able to sit down at the controls of a fighter jet and just take off.

The trade of for this (is supposed to be) increased flexibility and power for the person interacting with the system once they are familiar with it. You can write elisp to automate tasks you do frequently, see animals in the rain forest not found in zoos, and do maneuvers that can't be approached with a Cessna.

Increased complexity of a system increases the possibilities for the user but also increases the difficulty of acclimation. This is a part of life and not specific to a text editor.

<comment><USER3> > Any sufficiently complex system (whether it's a text editor, biological > ecosystem, or vehicle) is going to be difficult to interact with for a new > user.

Counterexamples: MS Visual Studio. MS Word 2010. MS Excel 2010.

<comment><USER4> I don't think those are completely valid counter examples. Sure you can fire any one of them up and start using them for the most basic task for which they're suited, but to really interact with them takes time and learning.

Just an anecdote: I work in a computer lab for these type of new users, and after being trained for many years to go to a file menu, the round button that serves as a menu access in Word 2010 trips a lot of people up. I get tons of "Where's the print button?" questions.

<comment><USER5> > _I don't think those are completely valid counter examples_

Yes they are ... "really interacting with them" is not their purpose.

You can open an Excel spreadsheet even if you haven't done so in your life and only have experience using Word ... you can move around, search for text, change styles, print. That's because it uses common interface elements that have been used for years.

Yes, Office 2010 brings interface changes, but it's nothing to worry about ... once you clicked the round button once, you'll learn its position. It took me a whole week to not trip over C-x C-s in Emacs, or to remember C-x C-c, and I had to setup my own shortcuts for common stuff (like C-w which deletes the previous word ... as in Vim, because even if my life depended on it, I couldn't learn the Emacs shortcut). And I still don't know how to print from Emacs.

We are talking about technically-inclined people here. Textmate is a lot more intuitive to use ... I'm still using Emacs because it is much more powerful, but boy what a painful experience it was the first months.

<comment><USER6> You can just use an Emacs that is displayed in an X-Window and use menus and clicking. You do not have to rely on all the shortcuts.

<comment><USER7> Yeah, my wife took a c++ class and that's what I showed her to use. She didn't know any shortcuts but could move around and code with no problems using only the arrow keys on the keyboard and the menus. (On a Ubuntu machine no less.)

<comment><USER6> If you do not have a Unix machine, thanks to virtualization they are now easy to set up without risking a heart attack in a normal user:

Just fire up a VirtualBox, and install Ubuntu in there. The hardest part about a Linux installation is most often the partitioning--but you can just use the whole virtual disk.

Or you just download a pre-installed image of a VM.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> The problem is that today, getting started often means: correct syntax highlighting, indentation, auto-complete (intelisense), build integration and scm integration. And for a few languages at least(e.g javascript, python, ruby, html, css, xml, shell scripts).

This is the problem. Going through the emacs tutorial is not enough. It's not that people have trouble getting started, they just don't want to experience the sudden drop in productivity once those things go away (at least for a while until you learn how to do them).

I've switched to emacs lately, and it was worth it. But it's hard to justify, to a newcomer, why the default javascript mode sucks with common idioms (no indentation, tags - and let's not even get started on intelisense).

When emacs and vi were kings, very few environments where that capable. So all you had to learn was basic editing. Everything else was a surplus. In the last few years, with the rise of eclipse, visual studio, netbeans and others, it's a harder battle.

In my dream world the emacs community would do a gentle fork, that would have ide like capabilities for common setups (python, js, ruby, c, perl, html, java, etc) + editing as expected (like hungry-delete) + more common key bindings (like the command key as meta on mac). Bonus point for a s/frame/window/ , s/buffer/file/ and so on on the documentation.

This way, newbies would be almost at home from the start (some commands to learn, plus the odd keybindings). But with time, they would customize more, and learn to drop the training wheels if necessary. The problem is learning everything at once (terminology, key bindings, elisp, editing) is too much burden for most folks.

<comment><USER9> _In my dream world the emacs community would do a gentle fork, that would have ide like capabilities for common setups (python, js, ruby, c, perl, html, java, etc) + editing as expected (like hungry-delete) + more common key bindings (like the command key as meta on mac). Bonus point for a s/frame/window/ , s/buffer/file/ and so on on the documentation._

This, by the way, is why I tend to use Textmate for the (very) minor programming-related stuff I do on OS X: the bundles make it exceedingly easy to do stuff fast.

</comment></comment><comment><USER10> It seems to me as though people aren't reading the whole post.

Brian loves Emacs (and Vim), and will continue to use them for developing in Clojure.

Right now much of the Clojure user base is rather avant-garde, but if we want newcomers to the language, it needs to be easier to get into.

Setting up a development environment can be a pain in the ass for the experienced user; imagine the impossible hell it could be for the newbie.

I think that's his point: it's a little more complex than "emacs is hard".

<comment><USER11> I can attest to the fact that setting up a Clojure/Emacs/Slime/Leiningen environment is a huge PITA. Something like Clojure Box helps, but it sacrifices flexibility in favor of ease of use and hides a lot of underlying configuration from a new user. A big part of the problem is a lack of a "canonical" setup; if you Google around for Clojure and Slime most directions you find will be out of date, highly personalized, or both. They will probably involve checking projects out of a multitude of repos (be they CVS, SVN, or Joe Blow's GitHub branch) and copying mystifying emacs configuration without really understanding what it all does. And then, after all of that, it still might not work. God help you if you want to get it all to work under Windows.

Don't get me wrong, I love Clojure and I... well, I don't hate Emacs, but it's frustrating to have to deal with a lot of setup when one just wants to hack in a new language.

<comment><USER12> swank-clojure 1.2.0 made the setup process much less painful. Yes, you still need to install Leiningen and Emacs manually. After that, (1) an experienced Emacs user can install clojure-mode and SLIME manually, or (2) anyone can use ELPA to install those two modes. Those are fairly easy tasks, and don't require much tweaking.

swank-clojure 1.2.0, which was always the hardest part, does not need to be installed manually. It just gets listed as a dependency in project.clj, and after that "lein swank" on the command line does magic.

<comment><USER11> The process has gotten a lot easier and Leiningen has made things _way_ easier. lein-swank is just dreamy and comes close to providing all that nifty class-path handling functionality that something like Eclipse provides for Java. A lot of great work has gone into things like swank-clojure and Leiningen and it's amazing that the Clojure community has pulled together such a great set of tools in such a short period of time. There are languages on the JVM _cough_ Scala _cough_ that have been around for a lot longer and really seem to be lagging behind in terms of tools.

</comment></comment></comment></comment><comment><USER13> The best thing Clojure could do for widespread adoption, IMHO, is to build a Clojure native IDE, extended from the NetBeans Enclojure plugins and REPL.

This would provide neatly for the programme suggested here:

[http://muckandbrass.com/web/display/~cemerick/The+Ideal+Cloj...](http://muckandbrass.com/web/display/~cemerick/The+Ideal+Clojure+Development+Environment)

A language like Clojure deserves an IDE which is extensible in the native idiom. Building one, with the explicit intention of making it _the_ environment for learning and using Clojure, would do more for adoption than any other single move.

</comment><comment><USER14> One thing that always gets me about blog posts like these, is that they never fill in the details in the post. He goes on about things he's struggled with, solutions he's found, etc, but never actually says what they are. I'm an Emacs novice, and I love to get little tips from articles like this one, but so often they just allude to it all.

<comment><USER15> That is interesting... When I read the post, I understood his references, having had similar experiences. Now that you mention it, you are right: the audience of this post is not the new users. It is the people who are trying to push emacs as Clojure's choice development environment.

As a vim user, I am definitely open to good vim environment options for my lisp experiences. My attempts to use current solutions have so far been poor, for what it's worth; every solution seems frail, to break when I use just the wrong key. Suddenly vim is screaming at me, and some background process that handled the connection to a lisp has died or is unreachable by vim.

I use slime.vim (yay for vim and screen), but there is something to be said for being able to have what amounts to intellisense for dynamically declared functions, to have the experience of working actively with symbols within packages.

As the author of the article points out, the key sequences for working with lisp are ugly (long). And I would point out that in emacs, almost all key sequences are ugly.

<comment><USER16> I've found slimv.vim not bad for CL after all <http://www.vim.org/scripts/script.php?script_id=2531>

<comment><USER15> I wanted to update you, since you were so kind as to give me a good possible solution. I tried slimv.vim, and the experience is fairly decent. However, I quickly ran into annoyances and problems.

I get a welcome message in the evaluation buffer that confused me for a while because I thought I needed to position my cursor next to the asterisk (my current sbcl default). It turns out my cursor needed to be at the end of the buffer in order for my evaluated command to be recognized. Then the asterisk prompt makes sense again. Growing pains, but this is a silly and easy thing to avoid for new users.

I tried tossing in an easy form in a slimv-enabled buffer: "4". I ,e it, and now I am stuck in the eval buffer where my 4 was evaluated as 4. How do I get out? Ctrl-W Ctrl-W isn't doing the trick. After some messing around, I eventually figure out with consistency that I have to hit SOME key, like ENTER, in order to be "released" from the RUNNING state to switch buffers back to where I was editing. ESC is no help here, although you would expect it to exit a RUNNING mode in vim. I do not see any configuration to prevent me from being forced into the eval buffer, so I am stuck with this disruption to the workflow.

I could not figure out how to cleanly quit out of vim and shutdown slimv, aside from issuing a (quit) and hitting ENTER a bunch of times in the slimv window. The less clean Alt-F4 works as well.

I did a fresh installation of hunchentoot and all dependent packages from within my vim session. This turns out to be annoying in that some of those packages are so spammy that the buffer gives up refreshing (partly because it is so slow to display all the new scrolling text). ,z refreshes the buffer, assuming I am aware enough that it has given up and is not just pausing to calculate something.

But the final kicker for me... The omnicompletion is both superficial and poor. It is superficial because it only supports common lisp symbols, not symbols actually in my current lisp environment. It does not support package prefixes either, so I cannot complete on any of the sbcl packages, much less anything I have installed. The linedit package does a super job of getting this right, and slimv could do it right with a little help from with-package- iterator instead of faking it.

The omnicompletion is poor, even with the basic common lisp symbols, because "-" is not recognized as part of a word, so I am unable to omnicomplete forms outside of the first few letters. I am, however, able to use basic Ctrl-N/P autocompletion successfully in my lisp buffers with any symbols that include "-", so I am confident my vim is configured properly somewhere. Am I missing something to tell omnicompletion to recognize "-" as a word character?

Basically, I feel like with slimv I get sluggish and fewer useful features than just using slime.vim. I really wanted some nice integration where I could have the slime experience of being within the lisp environment, able to introspect and so forth.

The bundled paredit is decent for its bracket handling; that is something that will probably take me a lot of time to get used to. I have one significant complaint about it, though. It is great that when I type a closing parenthesis that the cursor moves beyond the already-provided parenthesis. It is much less great that when I type a closing double-quote, it adds a new pair - and good luck trying to delete one of the double-quotes once the pair is involved. It is even worse that I cannot toss in an escape on the double-quote within my string (try it! Can you type: "\"" ?). This makes the bundled paredit pretty unusable, far more annoying than just leaving it disabled.

Is slimv even actually using slime? I saw the port configuration, but I really get the feel that we are just repeatedly reloading a tmp file in a buffer, and our hotkeys send direct lisp commands to an sbcl process wrapped by a python script.

Taking a step back, I keep asking myself if this is all just whining. slime.vim (which is not slime either -- it should be called screen.vim or something) and linedit work well enough for me, given that they actually work as advertised.

The other option for me is to just use emacs, but I cringe when I consider it; I have been down that road, and it felt like somebody intentionally made it difficult to actually do text editing in it.

Thanks again for the slimv suggestion.

</comment></comment></comment></comment><comment><USER17> I realize it's a flawed analogy, but the thing about learning emacs is that it isn't learning a single tool. It's learning the toolbox you can use to build the wood shop. The toolbox that keeps getting bigger and bigger. It's been years since I "learned" emacs and I'm constantly learning new things. If you go into it expecting instant gratification, you're gonna be dissapointed. That said, I've still never gotten CEDET "intellisense" thing to work in anything other than C++. And that's part of emacs now!

<comment><USER18> This was the dealbreaker for me when I last tried to pick up Emacs (albeit at this point that is about 8-9 years ago) there was just nothing at all that could compare to intellisense, for any language.

How's that going today? XCode has fantastic intellisense for C and Objective-C along with jump to declaration / jump to definition.

<comment><USER17> Every once and a while I try to set it up, but I also don't really care that much. I've gotten it to work great for C++ but haven't really bothered with anything else.

</comment></comment></comment><comment><USER19> _"But how long is it going to take you to figure out that tab-completion is called hippie-expand in Emacs?"_

I figured he must be joking, so I alt-tabed over to my Emacs session. To my surprise, there is actually a command called hippie-expand in Emacs!

</comment><comment><USER20> I still remember learning Emacs for the first time, it was easy, Just time consuming.

Sure I'm still learning it (that's the nature of Emacs), but getting started is easy. Just read the tutorial to get a grasp of the basic commands and concepts, and as soon as you read about the built-in help system you're good to go.

If you don't know what a key does you just prefix it with do `C-h k` to get help. If you can't recall the keybindings do `C-h b`, and if you've forgotten all of this do `C-h ?`. The entire manual is just a `C-h r` away.

The built-in documentation makes it really easy to learn more, it just takes patience.

<comment><USER21> The trick with using the help system is that Emacs uses very different terminology than many people expect. (He touches upon this in the article.) You get used to it, eventually, but it does add extra work upfront.

The easiest way for me to pick up the terminology was to skim through the info page for Emacs (C-h i takes you to the info pages). After that, apropos became quite a bit more useful.

</comment></comment><comment><USER22> His point is correct. There are better time investments than the editor. It actually took me a while to get into clojure because of editor issues. Eventually I settled on notepad++ (which unfortunately does not yet support clojure syntax highlighting; I use its lisp option) and the commandline. Works well enough for my purposes.

<comment><USER23> Well, emacs is not just another _text editor_ , it's a whole operating system. The ability to port your emacs skills to other uses, such as reading emails, IRCing, and organizing means emacs is a powerful force multiplier.

You don't have to learn emacs for hours each day. You could do ten minute learning each day tops. Scrap together a few editing shortcut there and there, learning a new feature of emacs, add a new a program, and practicing your editing your skills.

All of these will eventually add up. By the time you're an old fart(Says 50 years old), you could laugh at children with the new fanged badly reinvented versions of emacs and their slow-ass editing workflow.

However, I am just 19 years old who get a little bit of thrill every time he spend a fraction of time each day learning emacs and optimizing his workflow. I got ways before I accumulated several unusual but extremely efficient habits.(Batch web browsing anyone?)

</comment></comment><comment><USER24> I don't really understand the fuss. You can edit Clojure with any text editor, right? Syntax highlighting, auto-complete, auto-indent, etc are nice features to have, and I do use them, but not really necessary for learning a _language_. If the language is interesting, I will learn to edit it in vim regardless of whether it's well supported.

Then again, I am probably not a good sample, since I eschewed Eclipse for notepad back when I was learning Java before I discovered linux and vim. Regardless, I still hold the opinion that it is a good mental exercise to occasionally hack the raw text without all the bells and whistles of an advanced text editor/IDE in order to internalize the language structure.

</comment><comment><USER25> I've been pleasantly shocked at how helpful the people in #emacs have been. Thank you!

</comment><comment><USER26> There was an article a few years ago on how the time investment of learning new programming tools is often worthwhile. I believe awk was included as an example.

Anyone recall it?

<comment><USER27> It's usually easier to learn one new thing at a time. If you're a C# programmer interested in Clojure, you need to consider transitioning from Windows to Linux, Imperative OO to FP, .NET to Java, and Visual Studio to Emacs/Vim/Eclipse/Netbeans all at once.

I'm reading books on both F# and Clojure in an effort to get comfortable with functional programming. Plenty of it is sticking but the Clojure toolchain occupies a lot more of my mental bandwidth than the F# toolchain since I can work comfortably in Visual Studio.

I am learning on all of these fronts simultaneously but it still detracts from my ability to isolate Clojure and learn it without additional effort: I run Windows on a daily basis but I play in Ubuntu VMs regularly to facilitate my programming exploration. I am happiest in Notepad++ but I've recently learned Vim to help me code in Linux. I am honestly not particularly familiar with the ins and outs of .NET but Java is a completely new world to me, particularly the build system.

</comment></comment><comment><USER28> NS. Emacs shouldn't be anyone's first text editor, but if experience is any guide, it will be many's last text editor.

</comment><comment><USER29> Is there a decent editor I can extend using ruby?

I keep trying to tackle emacs or vim and getting thwarted. I'm not fully convinced they're what I want, and I feel like I won't know until I spend a year learning one, and by then I'll be wondering if I like it because it is awesome or because I have Stockholm syndrome.

<comment><USER30> Not with Ruby, but I recommend jEdit -- it has 80% of the power of emacs/vi with 20% of the learning curve, and you can write macros and plugins in Beanshell, a lightweight scripting language that feels somewhere between Java and JavaScript. Though honestly I've never even needed to -- the built-in commands, easily-recordable macros, and decent plugin selection have always done the job.

<comment><USER31> 80% of the power? You're missing the point.

magit, org, dired, killring, ido, mingus, tramp, (can jedit use pyflakes or similar), shell, term, gnus, vcs-mode, etc etc etc.

the only thing i have to leave emacs for is a decent browser. pretty sure jedit couldn't provide me with the same. and i just do python programming. million more modes for different tasks?

<comment><USER30> jEdit has 80% of emacs's text editing power. It does have a kill ring, registers, marks, etc, because those are all text editing features.

Its file browser pane handles most dired-type stuff. Shell/console, ssh, version control, transparent FTP in the file browser, all available as plugins. There's a plugin to open files and switch buffers in an increment- search fashion, like ido.

There's no pyflakes integration, but there are lint plugins that interface with the error list, so a pyflakes one shouldn't be hard to hand-roll. If solving your own problems with elisp is a virtue, so is solving your own problems with Beanshell.

In jEdit, a "mode" is just a syntax highlighting scheme, but a plugin can set up special behaviors to deal with certain file types -- just like an emacs mode. Major and minor modes are possible, though not with those names.

There's no mingus. That's a text editor function? Ditto org; there are more focused apps for that. There are newsreaders, though I don't know why.

So the answer is, yes, jEdit can do most of that. However, I understand that if you're very accustomed to emacs, an emacs-style interface to daily tasks is better than whatever a standalone app might have. If so, that's fine; but don't accuse me of missing the point. We just have different points. I want a _really good_ text editor; if it does other stuff, great. jEdit is a really good text editor.

<comment><USER31> Emacs isn't a good text editor. vi is a far superior text editor if you want to only edit text. But thats the point, people that _really_ use emacs dont just edit text in it. They live in it.

Your filebrowser pane isnt the same. In emacs dired is an actual buffers that you act on in the same way you act on other buffers, same with magit (this is the best interface to VC i've ever used), same with mingus (front end for mpd, btw) and every other mode.

So thats where our communication breaks down. Emacs isnt a good text editor. The entire emacs environment is where the value is. If you just want to make edits on files, use vi. its faster than anything to do that (I used vi exclusively for over a decade). I know jedit is nice too.

But if you spend 8 hours a day programming then the value of emacs can shine. And the real point is, if you spend that much time programming then its silly to worry about the initial learning curve. Who cares about that time, it will be paid back infinitely over your career.

But as always, its a useless debate. You can't understand the value of something until you actually use it. That goes for both of us, I'm not just taking a snipe at you.

<comment><USER30> Perhaps I'm missing a nuance, but I think what you're saying is that you prefer to use the overall emacs workflow for all your tasks -- emacs as OS, UI, and human interface guidelines all in one. I find no fault in that! And who knows, if I took the time to master emacs, maybe I'd prefer it as well.

</comment></comment></comment></comment></comment></comment><comment><USER32> When I decided to learn Lisp a few years ago, I realized that I had to learn Emacs (something I'd wanted to do for a while anyways). I ended up messing around with Emacs for a few months, and never did learn Lisp.

And that perfectly sums up, for me, the problem with Emacs. It's a great editor, and it's loads of fun to mess around with it and learn it. But at the end of the day, when I actually want to get stuff done, it tends to get in the way more than it helps, so I always end up going for another editor.

</comment><comment><USER33> I think since Clojure is a lisp there will always be a lot of people using Emacs to develop it. Emacs itself is an outstanding lisp environment, too bad the editor is so quirky. :)

Yes it takes some time learning, but it is worth it, if you like lisp programming.

PLT Scheme is a great environment, yet there are people who would rather use Emacs. I guess once you conquer the beast you it's hard to get away from it.

</comment><comment><USER34> As for installing Slime, Clojure and swank, I love ELPA

<http://tromey.com/elpa/>

Very easy, almost single step.

A Leiningen hook seems absent, however. But I never really used Clojure for anything serious.

</comment><comment><USER35> Note that his original reason for learning emacs, namely, that there's not a good Clojure REPL for Vim, is no longer true.

<http://www.youtube.com/watch?v=rqweCwAMan0> <http://kotka.de/projects/clojure/vimclojure.html> Works great, no paredit mode tho.

And then theres this one, which I haven't used:

<http://www.vim.org/scripts/script.php?script_id=2531>

<comment><USER27> VimClojure is fine until you want to play with something linked against a 1.2.x version of Clojure. Then VimClojure falls down and you have to fall back to emacs (or a standalone REPL) for compatibility.

[http://groups.google.com/group/clojure/browse_thread/thread/...](http://groups.google.com/group/clojure/browse_thread/thread/7cec825282f22f90/070187e959cd1648?hl=en&lnk=gst&q=vimclojure+1.2#070187e959cd1648)

The next major release of VimClojure should solve this dependability issue but it doesn't seem to be a high priority to its maintainer (last release was nearly a year ago).

</comment></comment><comment><USER36> Here's what I don't get: People don't seem to have any problems with learning entirely new programming languages every year, but if you ask them to learn a new editor they get up in arms about it.

I think if people spent half the effort on learning emacs as they do learning the languages that emacs works well with (lisps, mainly) they'd pick it up just fine.

(I'm not advocating forcing anyone to use emacs, fortunately there are a lot of other options. I just don't get the hand-wringing around saying it works the best for a given language.)

<comment><USER37> The language I use to build software with is _precious_ to me. It's capabilities are often key to what I can do, how I can express myself.

The editor I use to write code is a commodity. Will switching to emacs help me write better software? Solve harder problems? No, it'll help me sling text faster -- which, unless you're doing fairly pedestrian things, is the least interesting, least common thing you should be doing each day.

<comment><USER38> It isn't really about slinging text faster, it is about _editing code_ faster, freeing up more cycles for thinking. A great editor experience, whatever that means for you, can certainly help you write better software, and can give you more time to think about those harder problems. It reminds me of that tired old adage that you spend a third of your life asleep so you should have a comfy bed - you spend a lot of time in your editor, so it should be comfy. This isn't an argument _for_ emacs or any other specific editor, but _against_ the idea that your editor is a commodity not worth consideration.

<comment><USER37> Commodities are worth consideration, just not maximal optimization when there are switching costs involved. My core point was, editing code isn't the bottleneck in building quality software efficiently, so optimizing that process beyond a certain point is premature and wasteful.

</comment></comment></comment></comment><comment><USER39> Worst thing about learning Emacs is that newbies follow the wrong path, albeit you can't criticize them for not knowing better. Absolute newbies should start with an Emacs customized to follow common conventions of editors (CUA, etc.); Vi users should start with Viper mode (+ Vimpulse). And so on.

<comment><USER40> I disagree completely. New users should follow the tutorial. Eventually, to use Emacs as Emacs, you are going to have to understand its model and its terminology. Pretending that doesn't exist until you have learned how to use Emacs as a very bloated Notepad clone will leave you thinking that Emacs is a very bloated Notepad clone.

I learned Emacs when I was in middle school. If I could figure it out then, from the interactive docs, any adult should be able to figure it out. If they don't want to, though, that's a whole other issue entirely, and is not something software can solve. Emacs is different. Learn it or don't.

Now, once you understand Emacs, then sure, use Viper. It's a great tool. But if you don't understand Emacs, then Viper is just going to make you mad. (No experienced Emacs user would use the CUA keybindings, though.)

<comment><USER39> Come on, Ctrl+ZXCV are so ingrained into the fingers of people who type a lot that having to learn a whole new set of shortcuts does not seem an efficient route. You are not likely to keep them, anyway (since it's way easier to customize Emacs to a common set than other apps). I remember resorting to use my mouse almost always. Nowadays, after having customized Emacs, I'm a keyboard junkie.

<comment><USER40> Everyone? I use Shift-Insert to paste in Windows. I forget that C-v is "paste" in Windows, and get upset when it pastes instead of scrolls.

</comment></comment></comment></comment><comment><USER41> I was trying out racket yesterday and I couldn't figure out how to get the previous line in DrRacket. I tried all sorts of combinations and finally pursuing documentation came up with Esc-P shortcut. You can argue that this feature was first implemented in scheme before arrow keys were there but looking at it now it is different than everything else.

For me switching from Windows to OS X was easier (just use Command instead of Ctrl) than switching from "a generic editor" to emacs/vim. The point here is not that learning emacs is hard but that there are now a significant number of developers who expect standard shortcuts from the programs they use.

<comment><USER42> Hi Suraj,

Consider filing a feature request. Once upon a time you could use ctrl+uparrow to get the previous expression in the interaction windows. I don't know, why that keybinding disappeared. Perhaps it was just an oversight?

<comment><USER41> Soegaard, I was thinking of submitting a patch over the weekend. That way I get to see how a large lisp app is designed :)

</comment></comment></comment><comment><USER43> I can understand that interacting with the REPL inside an emacs session might be better than what you can get in vim (haven't tried either yet - I just use a separate REPL session). But is there anything particular about emacs the editor that makes it particularly good for editing lisp code? For example, the text object selection in vim (:help object-select) has been great for interacting with paired () [], auto-indenting blocks, etc.

</comment><comment><USER44> "lein repl" and gedit open in another window. These complicated Clojure setups with slime and so forth are unnecessary.

</comment><comment><USER45> Good timing on this Tweet. I had just downloaded Emacs with the hope of trying it out as a Notepad++ replacement. Think I'll save it for when I have more time to play around with it.

<comment><USER46> It is worth it. It takes time, but it really is worth it.

</comment></comment><comment><USER47> Yup. And what's the deal with it not having an horizontal scroll bar?

</comment><comment><USER48> First of all: Emacs (and vim) are perfectly usable on (and originally developed for) a dumb terminal, or so-called console. This is the main difference with modern IDEs such as eclipse, and Gnome or KDE-based ones.

The key-sequences in vi (the true masterpiece) and long sequences in emacs are designed and evolved to be useful on terminals, and they definitely are.

Vim and emacs both were text editors based on original concepts and then evolved as source code editors, rather than IDEs which were created to imitate Visual studio. =)

</comment><comment><USER49>
      > It is however extremely painful to learn.

I can attest to that, physically.

</comment><comment><USER50> Really? But everyone uses it right?

</comment><comment><USER51> amen</comment>


Ask HN: How would you make a site resistant to government takedown? - <AUTHOR> Which TLD would you use to make a site takedown resistant?
Where would you host it?
For categorization, let's say it's for a niche that is legal in 50% of the world. Which 50 doesn't matter with the exception of the fact that it's illegal in the United States.
(This is purely a thought experiment; I'd be screwed if I actually wanted to do something like this by merit of being an American citizen who still wants to live in the US.) <comment><USER2> TLD: .is (pricey, but not expensive). Registration at inwx (seems competent, nice interface). DNS at either inwx or ______ (I haven't been able to find an EEA/Switzerland DNS provider). Hosting at OVH (cheap, IP failover, often used for torrents) or Leaseweb (used by some torrent sites, not quite as cheap as OVH).

This assumes that your content is only somewhat controversial. For worse: TLD .is, Hosting at PRQ (hosts NAMBLA, AnonTalk, …), no idea which registrar I'd use.

If people are actively trying to kill you because of what you want to publish, your only options are PRQ or NearlyFreeSpeech. Both can be fully anonymous, i.e. they will host your content without knowing who you are. Payment would be somewhat hard (I wonder whether they would accept mailed-in, sterile bills (though these could be traced)).

<comment><USER3> I was thinking, one could use switch.ch as a DNS. They claim to be based in Zurich, but seem to have an emphasis on educational sites.

<comment><USER2> switch.ch registers domains, but I couldn't find a reference to them offering DNS. They also have steep prices and a very limited selection of TLDs.

<comment><USER4> Steep prices shouldn't deter anyone who's looking to build a takedown-proof site.

</comment></comment></comment></comment><comment><USER5> The easiest way is to not make a "site" but a collection of files which can be distributed by others. You could possibly include offline-executable content, or if you must have it be online (some kind of transactional thing), make it easy to set up mirrors, especially for people to set up mirrors without your cooperation or awareness.

The hierarchy of resilience:

It's trivial to censor an (average wealth, average risk tolerance) individual -- just harass and prosecute for unrelated things. Everyone is a criminal, once you have enough laws...

It is fairly easy to censor a commercial organization (just cut off their payments and banking...)

It's harder to censor a free site (it can do what everyone is suggesting here; hosting offshore, non-US domain name, etc.)

It is much harder to censor something which can be readily mirrored by others.

It is very hard to censor distribution of a dataset. Even harder if the dataset is very small (sony keys, dvd-css, etc.)

It's almost impossible to censor an idea.

<comment><USER6> How about introducing viral replication qualities to the content. Instead of malicious intent, snippets of content can be deployed all over the web with some mechanism for a simple retrieve/compile. Ideally, the content packets would not even be stored anywhere but would just constantly travel the "wires".

<comment><USER5> I'm not sure about that in the long run (it's easy to make the argument that hosting pieces of this data is the same as hosting all of it), but one thing which does work really well is time shifting -- basically, encrypt your data so it is innocuous seeming and get it widely distributed, then leak the key (much smaller amount of information, much easier to distribute) which then retroactively makes all the previously distributed innocuous data awesome.

Another trick is to make the data you want to distribute "viral" in the social media sense -- make it catchy and funny, or at least easily understood, so people want to distribute it on its own merits. Or, attach the boring thing you want to distribute to something catchy and funny (stego, or just make it an element of it somehow -- like make a cool t-shirt with the secret key on it).

</comment></comment></comment><comment><USER7> TorrentFreak had some recommendations a couple months ago: [http://torrentfreak.com/how-to-stop-domain-names-being- seize...](http://torrentfreak.com/how-to-stop-domain-names-being-seized-by- the-us-government-110205/)

</comment><comment><USER8> Build it on i2p: <http://www.i2p2.de/>

I'm a _huge_ fan of (and advocate for) i2p. As cases like today's FBI seizure of domain names continues to spread, I think i2p will gain even more traction as a viable alternative to the "old" internet.

It is multipath, encrypted, and completely decentralized.

All it needs now is a "killer site".

<comment><USER9> Also look at the Freenet project. It's basically designed to make censor-proof sites.

</comment></comment><comment><USER10> Which TLD? All of them. Or at least several TLDs and registrars that all have different legal jurisdictions. (online-hunting.ly, online-hunting.ch, online- hunting.cn)

Where would I host it? Everywhere. Or at least in multiple physical locations in different countries that all have different legal jurisdictions. Either synchronized up or sharded out depending on how the app works.

</comment><comment><USER11> I mentioned this in the Poker thread. (If I had time right now, I'd consider implementing it.) I would like and _would use_ a DNS service that 1) did not keep _any_ record of my queries and 2) would not propagate government takedowns (e.g. by ignoring updates with NS:ns2.cirfu.net.

<comment><USER12> I'm writing a DNS service at the moment.

Care to elaborate?

<comment><USER11> 1) Explicit privacy policy that _never_ stores DNS requests on a per-client basis. I haven't followed the ISP retention laws but they seemed to be getting more and more ominous.

2) While caching DNS record, when freshing up a stale record,

      if(isknownSeizureDomain(record)) ignore();

<comment><USER12> Ah I understand, you're talking about a non-authoritative DNS server. I'm working on a DNS hosting service.

To solve your first requirement, check out <http://www.opennicproject.org/publictier2servers>

<comment><USER11> I was. Thanks for the great link!

</comment></comment></comment></comment></comment><comment><USER13> It wouldn't really be part of the WWW proper, but you could run a web server as a TOR hidden service which would (assuming TOR doesn't disappear) be totally anonymous and impossible to take down.

[http://en.wikipedia.org/wiki/Tor_(anonymity_network)#Hidden_...](http://en.wikipedia.org/wiki/Tor_\(anonymity_network\)#Hidden_services)

</comment><comment><USER3> Obviously .ch which is Switzerland and Switch.ch as the register. They are the original neutral nation.

<comment><USER14> Unless it's illegal in Switzerland...

</comment></comment><comment><USER15> This seems to be the only way:

<http://dot-p2p.org/index.php?title=Draft_Discussion_Paper>

<https://github.com/HarryR/ffff-dnsp2p>

<comment><AUTHOR> Cool idea, but I imagine adoption would be pretty tough.

<comment><USER3> Tough at the moment, but if domains keep being seized under questionable circumstances it might be the way to go. At the very least it is interesting reading. I read an article that I can't find at the moment that made a convincing argument that this would be the direction things would head to maintain a truly neutral Internet.

</comment></comment></comment><comment><USER16> For the very hardcore/paranoid, you could serve it through TOR as a hidden service. You get DoS protection, server and client anonymity, you don't even need to disclose your IP address. Of course, you can only connect to it through TOR.

[http://en.wikipedia.org/wiki/Tor_(anonymity_network)#Hidden_...](http://en.wikipedia.org/wiki/Tor_\(anonymity_network\)#Hidden_services)

</comment><comment><USER17> Convince someone with diplomatic immunity or a member of parliament or other government entity. It will become an international battle of words and strong- arm diplomacy, but one country's government is quite unlikely to shut down another's. (Well, except perhaps the US.)

But truth be told, I don't think you can safeguard data on just one site. There's (D)DoS, ip routing, domain registration system, physically cutting backbones, etc. I'm sure no registrar wants to risk losing 50% of their customers ("50% of the world", assuming even spread), especially everyone in the US market, so as a profit-based organisation they will have to give in to threats of litigation or plain IP null-routing.

Mass distribution seems the way to go then. P2P or just lots of willing people putting the content on their own websites. Once it's out there, I guess it's nearly impossible to get Jack back in the box.

</comment><comment><USER18> Keep spare domains around and keep mirrors of your content. Make sure to keep a static copy around as it can be a pain in the ass to setup a database server and other apps quickly. Toss the mirror on BitTorrent and get friends, family, strangers to download it and host it. Host it on free website hosts. Host it on Freenet!

Take over forums, pastebins, and other websites to keep the message alive.

Basically, you'll want to have as many avenues as possible in order to send the content across them. As soon as one domain goes down, a bunch of mirrors should pop up.

</comment><comment><USER19> A site takedown starts with a request from some government agency, so the first thing that come to mind is to host it in a place where every request will need to go through a tick barrier of language issues/misunderstanding/bureaucracy. But considering that you'll also need a good network infrastructure there aren't many places that meet these requirements. What about China?

<comment><USER20> China is not known for its liberal Internet policies.

<comment><USER21> China requires ID to register a domain now, so there's also a complete lack of anonymity too.

[http://www.quickonlinetips.com/archives/2010/02/buy-cn- domai...](http://www.quickonlinetips.com/archives/2010/02/buy-cn-domain-names- show-id-proof/)

</comment></comment></comment><comment><USER22> Iceland is trying to attract this kind of clients.

<comment><USER23> The relevant link would be <http://www.immi.is/> and the caveat is that the laws have not yet been passed by parliament. Hopefully they will! :-)

</comment></comment><comment><USER24> This idea is something that's been really interesting me a lot since the US Govt started doing this and since all of the craziness with the internet in the middle east.

The Pirate Bay is working on a "P2P DNS" network: [http://arstechnica.com/tech-policy/news/2010/11/fed-up- with-...](http://arstechnica.com/tech-policy/news/2010/11/fed-up-with-icann- pirate-bay-cofounder-floats-p2p-dns-system.ars)

Unhosted is a project that seems to be trying create a decentralized cloud: <http://www.unhosted.org/manifesto.html>

and what was mentioned before, i2p and tor.

This is all very interesting to me. It's like authority structures of all different kinds are putting their thumb down right in the middle of the web trying to crush it's autonomy. The inevitable backlash will lead to the fragmentation of the web in just as fundamental a way as the walled gardens that cell phone/tablet/game console companies create.

</comment><comment><USER25> I don't think it's possible. Instead try a social engineering approach where you have enough broad-based support for the concept that there is pressure on the government not to shut it down.

Wikileaks has been very smart lately in the way that it has expanded its own PR reach before delving back into controversial material.

<comment><USER26> If "poker" doesn't have broad enough support—enjoyed by millions in the US across the political spectrum, large television presence—I don't know what does.

Wikileaks does not continue to operate because the US backed off, it continues to operate because they took the appropriate technical measures.

<comment><USER25> I guess I disagree. There is a large, religiously derived political interest group which opposes gambling on moral grounds, which has been influential enough to have it banned in most states.

Wikileaks is still teetering on the edge of being declared a terrorist organization. It's small things like mainstream newspapers willingness to collaborate on reporting, mainstream intellectuals speaking out in support, etc., that has prevented the USG from destroying it.

Assange has been clever too and deserves much credit, but I think recent manifestations of that cleverness are sociological rather than technical.

</comment></comment></comment><comment><USER27> How badly does the USG want your hostname? They control the root zone. And all but three of the organizations that run root servers are based out of the US.

Therefore, if the USG were motivated to block your hostname-- regardless of TLD-- they could make a fairly good go at it.

</comment><comment><USER28> Interesting. Does anybody here have experience with PRQ or easyDNS, two sites that are often mentioned in connection Wikileaks et. al.?

This is a great question, thanks for asking it!

</comment><comment><USER29> It depends on whether you're looking to get it in front of lots of eyes or whether you're more concerned about it not being taken down.

For the former, I'd use a .is domain (Iceland) and host it with OVH or Nearly Free Speech.

For the latter I'd host it on Tor as a set of static files, available via a torrent for mirroring, and would encourage mirroring in the name of free speech.

"All rulers in all ages have tried to impose a false view of the world upon their followers." - George Orwell

</comment><comment><USER30> Instead of trying to outfox your own government, which is something you _cannot do_ , turn your attention to peacefully and openly advocating for whatever it is you want to say. If that doesn't work, or you can't do so, move.

I know that this is a life-threatening proposition in totalitarian states (the Berlin Wall was designed to keep East Germans _in_ ), but I don't think that life under dictatorship is very much of a life anyway.

</comment><comment><USER31> Host it in Chad <http://doingbusiness.org/rankings>

</comment><comment><USER32> .onion seems good but I don't trust it.

</comment><comment><USER33> Don't make a site that's illegal.

<comment><USER34> The government's definition of illegality (rather "suspiciousness") is getting more and more nebulous.</comment></comment>


The Congressional Staff Meeting About Libra - <AUTHOR> https://prospect.org/article/inside-congressional-staff-meeting-about-libra <comment><USER2> "The briefing was fascinating. The lead representative, the head of policy for Libra, kicked it off by admitting that the whole endeavor required a 'suspension of disbelief.'"

Part of Facebook's strategy seems to be developing and deploying Libra as quickly as possible, thereby taking advantage of policymakers' current state of disbelief.</comment>


Someone in Australia wants CPU and/or server sales hidden from view - <AUTHOR> http://www.theregister.co.uk/2016/08/15/someone_in_australia_wants_cpu_andor_server_sales_hidden_from_view/ <comment><USER2> The full description, from the linked ABS document is:

"Processing units (excl. processing units for personal computers & those of 8471.41 & 8471.49) whether or not containing in the same housing one or two of the following types of unit: storage units, input and output units"

8471.41 and 8471.49 according to [1] have ANZSPCs of 45200.10.10, 45200.10.90, 45200.20.10 and 45200.20.90, which according to [2], represent:

\- Mainframe, mini- and super- computers

\- Other multiple-user computer hardware

\- Desktop computers (PCs)

\- Other personal computers

TL;DR: A quick Google could have shown anyone who cared to look that the granted restrictions explicitly exclude "CPU and/or server sales". Great journalism.

[1]: [http://www.abs.gov.au/ausstats/abs@.nsf/0/4A0A6AEB68EACF76CA...](http://www.abs.gov.au/ausstats/abs@.nsf/0/4A0A6AEB68EACF76CA256A6A001B7EDA?opendocument)

[2]: [http://www.abs.gov.au/ausstats/abs@.nsf/0/7A227A665A44E625CA...](http://www.abs.gov.au/ausstats/abs@.nsf/0/7A227A665A44E625CA256A6A001B7F10?opendocument)

<comment><USER3> You're right: those numbers correspond to mianframes, minis, PCs and other PC kits. Those are thr EXCLUSIONS. All the other stuff in the 8471.41 and .49 classifications are covered by the confidentiality request. I think the piece stands.

<comment><USER2> I don't think it does. The title states "Someone in Australia wants server sales hidden from view". Servers ("multiple-user computer hardware") are explicitly excluded from the confidentiality request.</comment></comment></comment>


Don't be scared. Switch to vim - <AUTHOR> http://zabanaa.github.io/notes/dont-be-scared-switch-to-vim.html <comment><USER2> Don't be scared to use something nicer!</comment>


Twitter user tricks Sony into posting "secret" PS3 code - <AUTHOR> http://arstechnica.com/gaming/news/2011/02/twitter-user-tricks-sony-into-rebroadcasting-secret-ps3-code.ars <comment><USER2> Not clear how they convinced him to retweet that.</comment>


Chinese workers who complain called slackers by JD.com boos - <AUTHOR> https://news.yahoo.com/chinas-jd-com-boss-criticises-slackers-company-makes-084724132--sector.html <comment><USER2> "Slackers" is an easy criticism from a CEO who benefits from his employees trading their lives for a thin illusion of wealth. Are you 996ers a bunch of wage-slaving mice or are you humans, and what the fuck are you worth?</comment>


Mobile web usage has already surpassed PC web usage - <AUTHOR> http://www.seattlepi.com/business/article/Choice-of-mobile-over-Web-benefits-companies-most-1452278.php

<comment><USER2> _"consumers spent an average of 81 minutes per day using apps on smart phones and tablets, versus 74 minutes surfing the Web through a PC or mobile phone browser"_

But how much time do people spend using apps on a PC? You might draw different conclusions that the article if I told you that these same consumers spend an average of 186 minutes a day using apps like Word, Excel, Outlook, and so on (a made up stat, btw)

And to include time spent on the Evernote iPhone app (say), but exclude time spent on the Evernote PC app is disengenuous at best.

People spend so much time using mobile apps because pretty much every task just takes longer on a mobile app than it does on a PC. Typing, for example.

And finally: how much of this smart phone app usage was games? That people prefer casual gaming on an iPhone to casual gaming on a flash browser is not new or particularly surprising, and doesn't support the central thesis of the article.

</comment><comment><USER3> What it actually says is that mobile app usage now exceeds web usage from mobiles and PCs combined (measured in minutes) at least in the USA.</comment>


Appeals Court Says It's Okay to Copyright an Entire Style of Music - <AUTHOR> https://www.techdirt.com/articles/20180321/11202439470/appeals-court-says-okay-to-copyright-entire-style-music.shtml <comment><USER2> That's not what the appeals court says. The appeals court says that they can't really overrule a jury decision of the lower court, and the lawyers in that case screwed up by not contesting the case on the right merits.

This ruling has nothing to do with saying "it's okay" and everything to do with the scope of potential judgments available to the appellate court.

Not a lawyer, but this seems like it's for the best in terms of the functioning of the law, and a similar trial would likely not reach the same verdict.

<comment><USER3> > _This ruling has nothing to do with saying "it's okay" and everything to do > with the scope of potential judgments available to the appellate court._

Yes, that seems to be what the majority is saying. But could you or someone explain more? What's the point of appealing a jury decision if it can't be overruled??

<comment><USER4> The jury can be overruled, but the facts of the case cannot be changed. New evidence cannot be introduced, new arguments are generally limited. Basically,the appeals courts in the US exist to remedy wrongs done by lower courts (failure to follow rules, bad interpretation of the law, etc). They do not rehear the case in its entirety.

Appeals courts can word their decisions broadly or narrowly, in an attempt to control how much their decision can be applied to future cares.

<comment><USER4> Also worth noting, in instances of criminal convictions where new evidence is discovered, like DNA, often an executive or legislative remedy is required, because legally speaking, the facts of the original case are fixed.

</comment></comment></comment></comment><comment><USER5> I don't know how I could constructively express my disappointment with this ruling, so instead I'll leave everyone with this lovely musical discussion of the ever popular "4 chord song", by Axis of Awesome. They make my point far better than I ever could.

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

<comment><USER6> Which is itself meta-interesting, as it is a "style of joke" done by others (and a far as I'm concerned, often better), such as Rob Paravonian.

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

</comment></comment><comment><USER7> For those not familiar with the case, the two songs referred to are the following:

Marvin Gaye - Got to give it up: [https://www.youtube.com/watch?v=fp7Q1OAzITM](https://www.youtube.com/watch?v=fp7Q1OAzITM)

Robin Thicke - Blurred Lines ft. T.I., Pharrell: [https://www.youtube.com/watch?v=yyDUC1LUXSU](https://www.youtube.com/watch?v=yyDUC1LUXSU)

<comment><USER8> Wow. Those two songs are not even remotely similar.

If this ruling stands no one will ever be able write another reggae song, nor even a new piece of classical music, without running afoul of someone's copyright.

<comment><USER9> I don't think its controversial in the slightest to say that they are highly similar songs.

They have a similar beat.

They both have a similar style of walking bass line.

They both feature a male falsetto singer as the main melodic instrument.

The both feature a decent amount of random banter in the background.

The both feature the use of the chorus effect. This means that it is very fluidly changing back and forth between sounding like a single voice singing a single note, and multiple recordings of the same voice singing the same note, but with some minute and random time shifting, which is what actually gives the effect.

I don't know much of either of the two artists catalogs to any comprehensive degree. But if a single artist had two songs with all of the same qualities listed above, there would be no disagreement at all that those qualities defined that particular artist's style.

Thus, if we can argue that "style" is a consistent accumulation of specific musical qualities, at the expense of incorporating others, these two songs are by definition of a similar style.

<comment><USER10> None of those are copyrightable elements.

Nor is the concept of "style", because it has no recognisable legal or musical definition.

Musical copyright exists primarily in lyrics and melody for the writing ("publishing") component, and in a specific reproducible recording for the mechanical distribution component (which can include the entire song, or a small sample).

Elements that cannot usually be copyrighted include: vocal stylings, bass lines, production and engineering tricks, chord sequences, rhythms, arrangement structures.

Sometimes, very rarely, any of these can be considered distinctive enough to be the primary element that defines a song. But that's a very tough case to argue, and most suits that try it fail spectacularly.

In fact a lot of pop is made by _knowingly and deliberately copying elements from various source songs and mixing them up to create a new song._

So there is absolutely no practical way this ruling can stand. If it did, it would open the industry to a wave of law suits that would reduce it to chaos.

<comment><USER9> In the case of Blurred Lines, wasn't Pharrell forced to admit that he was listening to the Marvin Gaye song, around the time of the recording of Blurred Lines?

That doesn't prove causation on it's own, but it does seem to blur the lines of such absolutist statements as those you have made.

<comment><USER11> > it does seem to blur the lines of such absolutist statements as those you > have made.

I could not disagree more. Again, we're talking about copyright, and copyright covers a specific expression of an idea. The fact that Pharrell was listening to an earlier, similar work is irrelevant, because listening to an earlier work around the time you wrote a new work doesn't mean your work is the _same_ as the earlier work, any more than eating pizza around the time you wrote a new work means your work _is literally a pizza_.

> That doesn't prove causation on it's own

I think you're using the wrong framework here; this isn't a reverse engineering case. We don't need to prove that the authors of "Blurred Lines" had been exposed to "Got To Give It Up"; it's so popular and influential we can just assume it. What needs to be proven is that "Blurred Lines" contains copywritable elements _from_ "Got To Give It Up". And contrary to the majority opinion of the appeals court, it seems quite clear it doesn't.

<comment><USER9> It is ironic that you mention reverse engineering, because all of my arguments here are based in details of the most famous copyright infraction cases. The prevailing logic in this thread, whether correct or not, if that is even a quantifiable measure, is that copyright is exactly, precisely, without exception, "a specific expression of an idea", and by defining copyright so cleanly, they can similarly define what qualifies as infringement of copyright.

Where this idea meets stiff resistance is when it is contrasted with all of the precedent set by high profile infraction cases, such as George Harrison/The Chiffons, The Verve/The Rolling Stones, Ray Parker Jr./Huey Lewis.

Each of these, in its own way, demonstrates that there is always more context involved than people making simple absolutist statements would have you believe.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Reminds me of Spider Robinson's _Melancholy Elephants_.

[http://www.spiderrobinson.com/melancholyelephants.html](http://www.spiderrobinson.com/melancholyelephants.html)

</comment><comment><USER13> As I understand, they refused to overturn the case mostly on procedural grounds. I find this somewhat reassuring.

<comment><USER8> Yeah, except they passed up on a golden opportunity to overturn it on Constitutional grounds. The Constitution says explicitly that the purpose of copyright is to "promote the Progress of Science and useful Arts". I'm pretty sure that letting someone copyright a whole genre will have the exact opposite effect.

The idea that copyright is there to help copyright owners make money seems to have gotten deeply ingrained in the nation's psyche. That idea really needs to be dislodged or we are headed for a world where no one can create anything without paying a ransom.

<comment><USER14> It's kind of ironic that Marvin is dead and his particular brand of art is no longer progressing. He is silent on the matter and his estate brought the suit.

Ultimately anybody can bring a suit against anybody and this suit wouldn't even be a thing if that dumb blurred lines song wasn't a hit and there wasn't money to be made.

That also being said that song is a straight ripoff of Got to give it up. Everybody who was a fan of Marvin knew it instantly, but if you wrote out the score on a page and compared, the two songs wouldn't match up. Also if you objectively compared the audio files you wouldn't find any samples of the former song in the latter either. I thought they found a clever way around the copyright using the former track as inspiration. perhaps borrowing heavily, but if this is the precedent we really are headed toward a world where nobody can create something without paying a ransom to another copyright holder.

<comment><USER15> This is why copyright should end at death,

Actually copyright should be the 14 years + a one time extension of 14 years which can only be applied for by the living original creator

Copyrights by corporations are 14 years only, no extensions

<comment><USER16> The problem with ending it at death is that it gives an incentive to kill the author if you want to rip off their work. The 14+14 (as it originally was) is what I think it should be.

<comment><USER17> That doesn't seem like a real concern.

</comment></comment></comment></comment></comment></comment><comment><USER18> Relevant blogpost on the original ruling: [https://law.duke.edu/cspd/blurredlines/](https://law.duke.edu/cspd/blurredlines/)

</comment><comment><USER19> So are music discovery services now a search engine for copyright violations?

<comment><USER20> Pied Piper has been used for that since Season 4, Episode 7!

</comment></comment><comment><USER21> So, when can I copyright talking/writing/singing in legalese and start charging others for infringing on it? :)

I realize USA has a precedent based system, but how long do things like that usually hold over there; before another judge rules something more sane?

<comment><USER22> I am not a lawyer, and have only watched these things from the sidelines, but my understanding is this:

As this was a circuit court decision, its precedent is only binding within that region of the country. The best chance of this being overturned within the court system is for a judge in a different circuit to create conflicting precedent there, which will make it more likely for the Supreme Court to take the case and unify the rulings.

Alternatively, Congress can amend the law which will force the courts to base their decisions on the new text.

<comment><USER21> That actually sheds a lot of light in the process. Thank you for the explanation.

</comment></comment></comment><comment><USER23> This won't be the last of such a case. Have faith that reason will be restored.

</comment><comment><USER24> I copyright all music in 12 tet.

I don't care if you make micro tonal music but otherwise..pay me.

</comment><comment><USER25> Oh please. The purpose of copyright law may once have been to protect the public domain, but it hasn't been that for decades, especially since it has constantly been expanded and focused only on protecting profits.

The purpose of copyright law is to protect the profits of greedy companies. This court should know better. Do they not consider recent changes to the law? And how can law have a purpose other than what it actually achieves? No one could possibly read the minds of legislators or the founding fathers on this issue. The purpose of the law cannot be something it never achieves anymore. Of course, going by legal definitions of "reasonable" it's not surprising they reach such an unreasonable, illogical decision. And people wonder why lawyers and judges are so despised with this type of illogical thinking.

<comment><USER26> The purpose of copyright law has never been to protect the public domain. Its explicit purpose, as even stated in the Constitution, is the protect the profits of the IP owners.

<comment><USER27> That is not the purpose, and is stated neither in the consitution nor law.

The purpose, as stated in the constitution, is "to promote the Progress of Science and useful Arts".

This often means protecting the profits of the IP owners, but not always, for example see "copyright misuse".</comment></comment></comment>


Ask HN: International address verification API solution? - <AUTHOR> Looking into potential international address verification solutions (think billing/shipping address validation for e-comm) and the one's we've found so far seem prohibitively expensive.
Most recently was playing with lob.io (https://lob.com/pricing/verifications) and we'd be looking at several hundred dollars a month, quickly falling into the overages for some of their plans. ~5 cents/API call seems crazy to me - but I potentially don't understand the logistics of making a service like this happen.
Just wondering if this is par for the course and just the cost of doing business or if there are better alternatives out there. <comment><USER2> Am I missing something here?

Why do you think your customers don't know their own address?

<comment><AUTHOR> Well, for starters, they're not our customers, they're our client's customers. So I suppose the only thing you're missing is that certain businesses have specific business requirements for address verification?

<comment><USER2> Honestly sounds pretty similar to "customer name validation" that suddenly fails when you're not dealing with an Anglo-Saxon customer.

<comment><AUTHOR> Sorry, I really have no idea what you're trying to say here.</comment></comment></comment></comment>


Germany had so much renewable energy it had to pay people to use electricity - <AUTHOR> http://qz.com/680661/germany-had-so-much-renewable-energy-on-sunday-that-it-had-to-pay-people-to-use-electricity/ <comment><USER2> Price dips (or spikes) such as this are better understood as forecast failures: inability to accurately predict available renewables supply relative to demand, and/or not being able to cut back thermal (fossil) generation rapidly enough (coal and nuclear plants respond slowly).

The headlines are impressive, but these really aren't the events you want to watch, but rather the long-term average renewables contribution and _absence_ of either negative or very high price anomolies.</comment>


Anyone know of any great consumer electronics startups in the Bay Area? - <AUTHOR>

<comment><AUTHOR> Anyone?</comment>