Cobra: A Little JavaScript Class Library - <AUTHOR> http://justin.harmonize.fm/index.php/2009/01/cobra-a-little-javascript-class-library/

<comment><USER2> It seems like a neat idea; it's not the normal Javascript way of operating, but sometimes classes do make more sense. I don't really get why you did Singletons, though. Why not just use a normal object?

<comment><AUTHOR> I've run into a number of situations where it's necessary to initialize and maintain some state in the instance. This is easier done when you have a constructor.

Admittedly, others might not run into these situations, but it's happened to me frequently enough to include it.

<comment><USER2> I guess it doesn't hurt to have it, especially if you're writing a lot of singletons, but it just seems strange to me to do it explicitly since singletons are extremely easy to implement in prototype-based languages.

      singleton = Object()
      singleton.x = 0
      singleton.foo = function(){
          return x + 1
      }

Edit: Also, why not <http://www.prototypejs.org/> ? Not that there's anything wrong with playing around with stuff of course.

<comment><AUTHOR> I agree, that's what I do now. Adding them is purely for consistency in syntax (sugar, if you will). Using this library, there is a syntactic consistency between declaring types and singletons that you don't have normally.

I use prototype on a day to day basis and I'm not a huge fan. Mootools has captured my attention as being a better alternative, and some of the code was taken from mootools. This is just classes though, not a full JS library.

</comment></comment></comment></comment><comment><USER3> Did you mean:

self.cats = [new Tiger(), new Tiger(), new Cat()];

Instead of:

this.cats = [new Tiger(), new Tiger(), new Cat()];

?

<comment><AUTHOR> Yes. Thanks!

</comment></comment><comment><USER4> So, essentially, the author who I assume is a Java programmer doesn't get Prototypal inheritance and wishes to make Javascript into Java.

It's vaguely interesting looking at how he did it, the actual output itself, not so much. You'd be better off reading Doug's Javascript the Good Parts than trying to remake your Javascript into something it's not.

<comment><AUTHOR> I don't even know Java beyond some of the concepts.

If you look at the code, it uses prototypical inheritance. The whole thing is very lightweight, under 200 lines of code.

I do love "JavaScript the Good Parts", but I do have some issues with the syntactic inconsistencies that exist in JS, good parts or not.

</comment></comment><comment><USER5> >> a shortcut way of doing ClassName.prototype.functionName = function(args).

A single line assignment already seems quite shortcutish to me...</comment>


2 Types of Virtualization Explained - <AUTHOR> http://blog.virtacore.com/blog/2010/7/12/2-types-of-virtualization-explained.html

<comment><USER2> great post. no need to have the same computer or OS for everyone on the team. designers could have Macs and programers Linux or Windows. plus everything is always sync and updated in the cloud.

<comment><AUTHOR> You are correct I saw a demonstration with the computer tethered to a smartphone and it worked surprisingly well.

</comment></comment><comment><USER3> Thanks for posting the VMWare video.</comment>


5 subtle ways you're using MySQL as a queue, and why it'll bite you - <AUTHOR> http://www.engineyard.com/blog/2011/5-subtle-ways-youre-using-mysql-as-a-queue-and-why-itll-bite-you/ <comment><USER2> I've been met with looks of disgust for using a filesystem to implement a queue, but I feel it's unjustified. A modern unix filesystem is surprisingly well suited to this task: You get atomicity "for free", inotify allows it to be interrupt driven rather than polled, it inherently supports multiple processes (thus different parts of the system can be implemented in different languages), there's no need for locking as long as you implement the queue using directories and 'mv', and it's extremely quick to implement, understand, and modify.

The only caveats are that of performance (with a traditional server I wouldn't worry about performance until you need to process hundreds of items per second, but on EC2 nodes that threshold is more near the range of dozens per second), and the need to regularly archive the "done" directory (cron solves this nicely).

<comment><USER3> I recently read through news.arc (the source to Hacker News itself) and was dumbfounded by how such a simple, file-system backed system was able to cleanly and performantly handle many of the use cases of a document store or key value store. Are there any good resources on the DOs and DONOTs of building apps in this "Hey.... dummy.. Just use the file system!" -style?

<comment><USER2> Watch out for the 32,000 subdirectory limit. If your job tickets are complex enough to be implemented as a directory instead of a file, you'll get bitten by this (the number of files in a directory is only limited by the number of inodes in the entire filesystem).

If you are really lucky, and your tickets only need to represent a single piece of data (some sort of ID for example), you can just use the name of the file itself for the data storage and deal only with empty files. Because this only uses a single inode/block, it represents the best case scenario for speed and scalability in terms of the number of tickets which can accumulate before you need to archive. But more likely, you are going to have to worry about ticket namespace collisions (unless you have some sort of "set" like requirement where each ID can only be in the queue once at a time) which means you are using something like mktemp to create the file and then storing the ID inside the file.

Another key is to make sure you create new jobs in a "staging" dir, and then mv them into the "in" dir. Otherwise you have a race condition between your queuing system and whatever creates the tickets.

Here's a basic layout: /stage, /in, /active, /done. Some process on your system creates a ticket (which could be a single file or a dir) in /stage and then moves it into /in. This wakes up your queue, which moves it to /active when it starts processing it, and then moves it to /done and moves on to the next ticket in /in.

Another nice thing this gives you is that recovering from a crash / unclean state amounts to running ls on /stage, /in, and /active.

<comment><USER4> "32,000 subdirectory limit"

One top tip from personal experience is to make the resulting structure reasonably straightforward to browse manually - having huge numbers of subdirectories is going to be a barrier to this.

</comment></comment></comment></comment><comment><USER5> Percona always seems to have good articles.

I think, as he said, everyone shouldn't run out and replace a mysql job queue for their wordpress blog. In a great many cases it doesn't matter.

I also like how he never said "Don't use mysql as a queuing system" but "be careful of these things". I've used mysql as a queuing system, and it works fine. I looked at replacing it with a different database, but in that situation it was not worth the investment.

Signaling mysql + archiving performed work + no locks that lock more than the exact row that's being updated (and also avoiding concurrent workers acting on the same task) will take a mysql backed queuing system far. I've set up a system that processes well over 5,000 tasks / day using it.

Do I think everyone should use mysql as their queuing backend? No. People should probably use a queuing library, with persistence to a database (redis?) enabled for critical tasks. Of course, as the article said, be careful about the choice of backends.

<comment><USER6> That is about one task per 50 trillion CPU cycles, you would be hard pressed to write a queue implementation that is to slow for that. Numbered files in a single directory on a synchronously mounted filesystem designed for few large files that only allows linear directory scans might qualify, but I am not even sure about that.

</comment></comment><comment><USER7> This is why Redis / *SQL is my favored stack. It just covers so many bases, you get things like safe queuing, caching, pub/sub, and weird high-performance low-durability cases from Redis, and great, safe relational support from SQL.

For best results, it's good to have at least two redis servers, one with snapshotting as a cache (fast, less durable), one with 1 second Append only files (still fast, but slower) for data you care more about.

<comment><USER8> What happens when the queues back up and Redis runs out of RAM?

<comment><USER9> If your queues are getting that backed up, you're either facing bigger problems than your queueing system (most likely workers being down), or you're big enough to afford more machines and/or a custom solution (such as kestrel).

<comment><USER8> The parent post referred to using Redis as a multi-purpose store. If there is a bunch of other non-queue data in Redis and the setup is only expecting it to use 1GB or so, there's likely not a giant amount of room for queue entries left. While everyone is sleeping, some crashed workers combined with broken or poorly configured monitoring can fill up queues very quickly. Been there, done that. Either the OOM hits and there is some data loss or the swap hits and brings everything down.

</comment></comment></comment></comment><comment><USER10> Queues in the DB are so common that in MSSQL they made it a first class feature: SQL Server Service Broker. Using it is an XML and T-SQL nightmare, but since it guarantees in-order, only once delivery, and supports routing and in-DB worker activation, you can build some really robust and powerful stuff with it.

MySpace used it to keep their partitioned databases in sync: [http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?...](http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseStudyID=4000004532)

</comment><comment><USER11> > Instead of SELECT FOR UPDATE followed by UPDATE, just UPDATE with a LIMIT, > and then _see if any rows were affected_

Should be noted, this is not necessarily a good solution: a concurrent consumer, which may be another incarnation of a given script running with a lag, may hijack the queue element locked this way; as a result you may end up having two or more incarnations of the consumer handling the same queue element.

The most universal approach to DB queues is to assign each consumer process a unique ID which it should use for locking queue elements in their UPDATE ... LIMIT 1.

<comment><USER12> I agree. I set a process identifier and the time of the update.

</comment></comment><comment><USER13> I'm just going to count killing a SLEEP(100000) query as a means of signalling a worker as the something new I learned today. I'm not sure I've ever written anything where implementing that would have had any real impact, but it's filed away for the future.

</comment><comment><USER14> The article didn't mention the main advantage of storing queues in DB - transactions. Say you need to update other records in DB while processing a job with 100% consistency. If it's all in the same DB you can update both job as well as data in a single transaction.

<comment><USER15> MySQL is not too hot on Transactions

<comment><USER16> MySQL != MyISAM. Check out InnoDB :)

<comment><USER17> InnoDB isn't too hot on transactions either.

Google for "InnoDB deadlock".

<comment><USER16> I've googled, but am seeing the same kind of results that I see when I try "oracle deadlock", "postgresql deadlock" and "db2 deadlock."

Still being relatively new to InnoDB, what particular deadlock dangers make it more troublesome than other DBMS engines?

<comment><USER18> There are three possible ways that I know of to handle concurrency issues on shared data: Use some sort of a journaling approach (google keywords 'snapshots' or MVCC), or use locks, or ignore the problem.

If it ignores the problem, it's not a database.

Locks suck for volume. Locks cause much more deadlock than other options. Locks are fast in the simple case. Locks are easier to program and take less resources.

InnoDB uses locks.

SQL Server also defaults to locks. People often specify 'ignore the problem' mode (nolock/read uncommitted). There is a new journaling approach available, but it was only introduced in 2005 and I don't think many people are using it yet. Which is a shame, it's a great feature.

Oracle and Postgres both do a journaling approach. They will have less deadlock problems because readers and writers don't need to block each other. With InnoDB or default sql server, read locks block writes, which sucks. See [http://dev.mysql.com/doc/refman/5.0/en/innodb-lock- modes.htm...](http://dev.mysql.com/doc/refman/5.0/en/innodb-lock-modes.html)

<comment><USER19> By default, InnoDB doesn't acquire read locks when doing queries. It "runs queries as nonlocking consistent reads by default, in the style of Oracle." See [http://dev.mysql.com/doc/refman/5.0/en/innodb-transaction- mo...](http://dev.mysql.com/doc/refman/5.0/en/innodb-transaction-model.html)

<comment><USER18> Wow, looks like I got that completely wrong w.r.t. innodb specifically. Wish I could still edit my first post. :( Thank you.

[http://dev.mysql.com/doc/refman/5.0/en/innodb-consistent- rea...](http://dev.mysql.com/doc/refman/5.0/en/innodb-consistent-read.html)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> The title of the article is not very representative of its contents. It should be: "5 subtle ways you're using MySQL as a queue, and how it COULD bite you IF you use poor schema design NOT optimized for YOUR workload".

MySQL queues work just fine with the recommendations Barron provides himself "1) avoid polling; 2) avoid locking 3) avoid mixing queue and archive tables".

</comment><comment><USER21> Openbsd folks used lpq to queue mp3 playlist. Cups is also an option and you get full stack of goodies built in.

[http://patrick.wagstrom.net/weblog/2003/05/23/lpdforfunandmp...](http://patrick.wagstrom.net/weblog/2003/05/23/lpdforfunandmp3playing/) <http://rendermania.com/building-a-renderfarm-with-cups/>

</comment><comment><USER22> Is the page's rendering totally busted for anyone else? Chrome on Ubuntu.

<comment><USER23> Yes, rendering issues for me, too.

Chrome 13.0.782.220 Ubuntu 11.04 (Linux 2.6.38-11-generic) GNOME 2.32.1

Extensions:

\- Adblock Plus for Google Chrome™ (Beta) - Version: 1.1.4

\- Xmarks Bookmark Sync - Version: 1.0.16

\- Reddit Enhancement Suite - Version: 3.4 (Disabled)

Examples:

1\. <http://i.imgur.com/TD8UU.png>

2\. <http://i.imgur.com/HIXbP.png> \-- with text selected.

</comment></comment><comment><USER12> I've been in a situation where I've needed to queue about 100k of messages. Each message unique with custom attributes populated also from MySQL.

I used to generate the messages and then insert them into queuing system but for 100k messages I never managed to make this fast... I have managed to queue all these messages in less than half a second using just one MySQL query.

If anyone has any better ideas, please let me know!

</comment><comment><USER24> MongoDB offers findandmodify which makes for a good synchronized queue up to some point. If anyone's using PHP and Mongo, feel free to take a look at MongoQueue: <https://github.com/lunaru/MongoQueue>

Once you start hitting hundreds of jobs per second, you'll want to scale horizontally, but that shouldn't be the case for 99% of use cases.

</comment><comment><USER25> And here is one explicit way to use MySQL as a queue: [https://www.pingbrigade.com/blog/entry/selector-workers- reco...](https://www.pingbrigade.com/blog/entry/selector-workers-recorder- pattern)

<comment><USER26> Hi! Please read TFA. You should not be advocating this pattern to anyone. It sucks, it will break very quickly, and Baron explains why.

<comment><USER25> Hey there. The pattern in TFA is somewhat different: in the SWR pattern not every worker talks to the DB. Instead, only the selector does. It then hands out the work to the workers via a fast local queue. The ratio I set up for Ping Brigade is 1:1000 selector to workers. Thus a handful of selectors can feed a few thousand workers.

<comment><USER26> This may be working great in your application but you're implying that it scales nicely and you're wrong about that - hand waving may work in your case, but Baron's whole point was that there are easy solutions that will make things better if and when an application grows to the point at which it's an issue.

I've personally been down this road many times, and the last time I made the mistake of relying on SELECT FOR UPDATE in a queueing system it broke down somewhere on the road between 1msgs/sec and 50msgs/sec. That application committed before it dispatched to the worker app so I would consider it a fairly similar access pattern as yours.

The solution I went with in that case was exactly what Baron describes at "Locking is actually quite easy to avoid." - something along the lines of UPDATE queue SET selected_by = dispatcher_id, selected_time = NOW().. and then SELECT * FROM queue WHERE selected_by = dispatcher_id. I hate putting pseudo- SQL because it's already setting bad ideas in some random reader's head. Anyways, that scaled up to several thousand messages per second and ran happily for years, long after I left that particular company. May still be running depending on who you ask.

Long story short, it's great that your solution is working for you but the weight of public knowledge suggests it's not a great solution for anyone else to pick up on. Ping Brigade looks nifty, I hope it works great for you. Please don't suggest this pattern to other people.

Personally the system I work on day-to-day these days runs a Redis set-based queue similar to Resque to send a few thousand emails per second and I'm ok with it. Not thrilled, but happy enough that I don't read the Resque introduction text and blanch in horror as I did reading your article, especially as a reply to Baron's which is based on... lots and lots of real world experience with many different applications.

<comment><USER25> Fair points. This solution works for me for now and I certainly know it is not limitless. The solution with setting selected_by is something I thought about and may implement at a later point. I also am a big fan of using GET_LOCK(), for locking rather than relying on MySQL/InnoDB's built-in locking since you have finer grained control over timeouts, etc.

I understand your concern about sharing this "dangerous" knowledge, but I disagree that the solution is to hide it in a deep dark place. Would you find it acceptable if I updated my post with a discussion on scalability and a link to TFA? That way a reader will get more information about building such systems, not less.

<comment><USER26> The point of the UPDATE .. SELECT if updated pattern is that it's a mark-and- sweep completely outside of a transaction. Avoid locking > lock as little as possible > lock as quickly as possible.

Your blog is your business, the Lorax speaks only for HN.. (hey is Internet Lorax a job?) It would of course be great to update your readers, it'd be cooler to update your application and tell everyone how it worked out! Then you've got a story you can actually submit again

</comment></comment></comment></comment></comment></comment><comment><USER27> My project uses couchdb for task queuing: <https://github.com/codehero/scheddesk>

Still kind of alpha, but working for my purposes.

</comment><comment><USER28> i always wished that mysql had a skip locked rows feature, so if you do a select for update it would skip any rows that are already locked. this way if you created a queueing system you could run select for update, but then skip rows that are already being processed (the locked rows).

i actually implemented this once partially on innodb, and it worked pretty well, no waiting for locks, but abandoned my efforts due to another project.</comment>


Use of Assertions (2014) - <AUTHOR> https://blog.regehr.org/archives/1091 <comment><USER2> Does anyone here use assertions in anger in a web app? I sort of feel that frontend app that is jock-full with assertions and logs every assertion failure to a Sentry type service, would be much easier to get error-free. Almost to the point of needing significantly fewer unit tests, maybe. Is there any downsides to this approach? Do people do this?

<comment><USER3> Having worked on multiple systems that have done similar things to this, I'd fall on the side of no!

If you're not really careful the assertions will quickly obscure the actual logic (as does logging), a careless engineer can easily add a bad assertion and fill up your monitoring system, another careless engineer can write a complicated but broken assertion without any tests - they've all happened to me on multiple production systems.

Eiffel style pre and post conditions might be a solution as the assertions are kept away from the main code path in the method signatures - but at that point a modern statically typed language might give you more value (preferably with null safety and sum types).

<comment><USER4> My worst nightmare are abandoned assertions/errors. People logs them "just in case" and forget about them, years later you have huge volume in the logging system that nobody looks at.

</comment></comment></comment><comment><USER5> My company uses assertions pretty aggressively, but they are compiled out in release builds. This serves as free unit tests and greatly improves debugging because we get a core dump whenever a bug occurs.

<comment><USER6> Used to do that, but now we leave them in.. It's not like bugs don't happen in release builds (worse, the most obscure ones were the ones which _only_ happened in release builds) and while a dialog box saying clearly 'developer made a mistake on line X, please copy-paste this and send it to ...' is very much in-your-face, it does usually lead to a clearer bug report than the customer saying 'your app just quit' or 'I got a message saying something about access violation and then your app quit'.

<comment><USER5> In my case, it's mostly for performance reasons that they are left out in release builds. I work in extremely performance sensitive fintech, where the cost of a couple hundred if statements in a critical code path is a big deal.

We have signal handlers and all that so the user still gets a core dump whenever the program crashes, it just takes more digging to find exactly where the bug is vs where it manifests.

<comment><USER6> Fair enough, performance critical parts are indeed not always the most ideal place for asserts; our asserts also trigger a core dump though.

</comment></comment></comment></comment><comment><USER7> I cried for 15 minutes when I heard contracts wouldn't make it into c++20. Hopefully they will be in c++23.

<comment><USER8> They should've just gone for the system that D has. It's dead simple, easy to standardize and more flexible (The contracts themselves are effectively user defined so you can be as simple or complicated as you like)</comment></comment>


Complex quantum teleportation achieved for the first time - <AUTHOR> https://phys.org/news/2019-08-complex-quantum-teleportation.html <comment><USER2> On why "quantum teleportation" can't be used for faster-than-light communication:

[https://physics.stackexchange.com/questions/155913/quantum-t...](https://physics.stackexchange.com/questions/155913/quantum- teleportation-and-no-communication-theorem)

[https://www.askamathematician.com/2013/01/q-what-is- quantum-...](https://www.askamathematician.com/2013/01/q-what-is-quantum- teleportation-why-cant-we-use-it-to-communicate-faster-than-light/)

[https://medium.com/starts-with-a-bang/ask-ethan-can-we- use-q...](https://medium.com/starts-with-a-bang/ask-ethan-can-we-use-quantum- entanglement-to-communicate-faster-than-light-e0d7097c0322)

<comment><USER3> What sort of technologies _could_ (theoretically) be built relying on "quantum teleportation"?

<comment><USER4> Uninterceptible communication would be one application

<comment><USER5> > With this, the international research team has also made an important step > towards practical applications such as a future quantum internet, since > high-dimensional quantum systems can transport larger amounts of information > than qubits. "This result could help to connect quantum computers with > information capacities beyond qubits", says Anton Zeilinger, quantum > physicist at the Austrian Academy of Sciences and the University of Vienna, > about the innovative potential of the new method.

I wonder how a quantum internet would be different than the binary one.

</comment></comment></comment></comment><comment> lota-putty 1\. Size of the Particle teleported?

2\. Displacement distance & velocity?

3\. Energy consumed?

Edit:

4\. Is it really a teleportation?

<comment><USER6> «Austrian and Chinese scientists have succeeded in teleporting three- dimensional _quantum states_ for the first time»

So, no particles were moved, it's just cloning the state of one particle to another. It's also important, but it's not something like the "beam me up" type of teleportation.

<comment><USER7> This is exactly what " _quantum_ teleportation" means and it has never meant anything else. "Beam me up" is pure fantasy.

<comment><USER8> This reminds me of the ansible machine in Orson Scott cards Enders Game.

<comment><USER9> I highly recommend discussion of the development of the ansible in Ursula K. Le Guin's _The Disposessed_ as well, although she makes it pretty clear that there's a different theoretical basis for it ("simultaneity theory") than the one Card uses.

<comment><USER4> Does it address what would happen if I, relative to your reference frame, got in my spaceship, accelerated to .5c and tried to talk to you over my ansible? From my perspective, you're traveling slowly in time, but from your perspective, I'm traveling slowly in time, so who's voice would sound slowed down?

<comment><USER9> I don't remember if the interface was realtime or async off the top of my head, but it would strike me as uncharacteristic of her (and strange in the context of the plot) to not take that into account.

I'm not even sure if the ansible interface is actually described anywhere in that book....

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> Interesting, is this teleportation thing restricted only by space or particles can also be tangled being in different time periods?

<comment><USER11> It's only _called_ teleportation, it has nothing to do with teleporting matter in the sci-fi sense.

Quantum teleportation is about preparing two particles so that that by destroying the original particle's state by measuring it, and then transmitting a specific bit pattern as regular information, constrained by the speed of light, the other particle can be made to have the identical quantum state as was measured on the now destroyed particle.

The quantum state is (destructively) "teleported" from one particle onto another (preallocated) particle, obeying the rather mundane rules of classical physics.

<comment><USER12> In theory, could that be used on a block of random matter and a, say, banana, so that you can get lightspeed transmission of banana-ness?

<comment><USER11> Realistic theory? No, not even remotely.

The problem comes from having to measure the quantum state of every quantum particle in that banana and transmitting the bits necessary to perform the state transfer. We're talking destructively reading out well over 10^25 particles, turning that into tens of yottabytes of data, and then transmitting that data with error correction over distances that you can't just... you know... ship a banana over.

And then you'd have to receive that data in a way that either lets you perform the transfer in real time, or in a way that lets you store that data so you can transfer the quantum states one by one or in small batches.

And that's if you're okay with "Scanning" the original banana in a way that destroys the banana as yous scan it. Not the quantum states, the actual banana: the destructive read of particles will cause nuclear reactions and so very quickly you're no longer scanning "a banana" but "messed up subatomic partilces".

<comment><USER13> I don't like the term "observer" because it implies it's an entirely passive thing.

Why is it that we cannot passively observe quantum states? Why does observation necessarily have to be destructive?

<comment><USER11> There is no such thing as "passive" observation: something has to change in order for information to become known. Without a transfer of energy, no observation can be made, so either we absorb the particle to register that energy (and then it is literally gone after measurement) or we stimulate the particle into emission (drastically changing its quantum state), or we "poke" the particle by throwing things at it (changing its quantum state in the process).

</comment></comment></comment></comment></comment></comment><comment><USER14> how did they get from this to quantum internet in once sentence?

<comment><USER15> In contrast to conventional internet where classical 1s and 0s are transmitted via some medium like copper or fiber optics or radio waves, qbit states are far too fragile to survive such transportation and so would be transmitted via the quantum teleportation protocol.

Physical networking infrastructure will still be necessary; teleporting a qbit requires a pre-existing entangled qbit pair in addition to two bits of classical information, so you'll need some method of sending one half of an entangled qbit pair to the recipient. It's okay if this process is lossy, because you can easily generate & re-send an entangled qbit if it gets lost. Once you successfully manage to get the entangled qbit through, you can use it to teleport the qbit you actually want to send (whose state is presumably the product of some long, expensive computation and therefore far too valuable to risk sending via such a lossy channel).

</comment></comment><comment><USER16> In a nutshell, why are we trying to do this?

<comment><USER17> maybe... ultra-secure communication of very large data?

</comment></comment><comment><USER18> First known teleportation device was called the Fax which brings us to the reality that teleportation can be achieved by transferring the information through space rather than translation through space as most people imagine it.

This, once reality (at human scale), will bring an important ethical dilemma since for a short time there will be 2 of the same person, which for all intents and purposes are the same, even more so than cloning. Obviously, after transfer is complete, the source would have to be killed.

For non organic matter this could be great and perhaps the basis of some sort of matter to energy converter (it takes energy to create the duplicate), in time, storing the information of stuff you have transferred in a database can do without the initial step, and simply recreate the stuff.

As with any tech, there is a double edge sword to be mindful of.

Be careful what you wish for then push that _teleport_ button as needed.</comment>


Expert: Invalid Warrant Used in Raid on iPhone Reporter's Home - <AUTHOR> http://www.wired.com/threatlevel/2010/04/iphone-raid/

<comment><USER2> Most people think the reaction from Apple and subsequently the Police involvement is blown out of proportion because it's all over a _Phone_. but I disagree. It's not just a phone. by principle, when you're not the rightful owner of something, you cannot sell it and profit from it. be it a phone or car or WMD.

Gizmodo put them self in this situation by a) announcing they'd pay for the phone b) disclosing their possession of a stolen phone.

This is going to be interesting to watch. I just hope we don't see a surge in _pay for leaks_ model if a few months from now we hear how profitable the whole fiasco has been for Gizmodo and company.

<comment><USER3> Some of us simply value civil liberties more. Yes, property rights are important, but not so important as to allow broad warrants, raiding people's homes and seizing all the equipment with which they conduct their livelihood.</comment></comment>


Alibaba to raise up to $21.1bn in IPO - <AUTHOR> http://www.ft.com/intl/cms/s/0/b141a554-3511-11e4-a2c2-00144feabdc0.html <comment><AUTHOR> Paywall. Article can read here: [http://pastebin.com/LLfzkLZy](http://pastebin.com/LLfzkLZy)</comment>


Solution Proposed to the CIA's Kryptos k4 - <AUTHOR> https://github.com/speakeasy/Kryptos

<comment><USER2> For what it's worth, because this definitely has confused some people (particularly on Wikipedia): Kryptos is a puzzle sculpture, created by an artist commissioned by the CIA (which so far as I know had no direct input into the sculpture, but paid handsomely for it).

It's not, so far as I know, a "real" cryptosystem. (CIA isn't the center of crypto research for the USG; that's NSA).

</comment><comment><USER3> Fun. But, rule of thumb, if your method is apropos of nothing and similar methods could produce pretty much any text at all, you have not produced a cryptanalysis.

<comment><USER4> What, you mean that performing arbitrary permutations and transpositions on a ciphertext until it produces garbage that vaguely resembles actual words in various disjoint places _isn't_ actually cracking the code?!

<comment><USER5> Who needs the cleartext when you can have " _I VOW TO BERLIN FUCk THe POlice ALWAYS_ "?

</comment></comment></comment><comment><USER6> You can check if your solution is correct at this website whois confirms to be owned by the puzzle creator, Jim Sanborn: <http://kryptosclue.com/clue/clue.html>

</comment><comment><USER7> Looks like it could be correct. I've just emailed Jim Sanborn (the creator) to ask if he can confirm or deny it. I'll report back once he gets back to me.

</comment><comment><USER8> That's beautiful! Just needs a couple more references to Invisible Russians and there's a Sveriges Riksbank prize with speakeasy's name on it.

</comment><comment><USER9> Not sure if serious.

</comment><comment><USER10> context: <http://en.wikipedia.org/wiki/Kryptos>

From what I see, the solution looks correct. Cool!

<comment><USER11> > From what I see, the solution looks correct. Cool!

On what basis do you reach that conclusion?

<comment><USER10> Nothing formal --- just the fact that decrypting a message __wrongly __is very unlikely to produce intelligible text.

Though the decrypting steps seemed quite ad hoc...</comment></comment></comment>


Show HN: Wiplo, beautiful project management, built with Meteor - <AUTHOR> https://www.wiplo.com/ <comment><USER2> How does Wiplo compare to Trello?

<comment><AUTHOR> The difference currently is primarily the design, and how you structure projects. We were avid Trello users in the past, but our Trello boards always expanded to way too many columns, which made it a mess scrolling horizontally.

With Wiplo, projects can have multiple boards (which often represent stages of your workflow), and each board is fixed to four columns, so no stage of your workflow grows too large and cumbersome. You never have to scroll horizontally, and can jump from board to board easily.

A video would quickly show the benefit of this and how nice it is to navigate, but we're still wrapping up the edits on our video.</comment></comment>


Ask HN: Are we lacking simplicity cause everyone wants to do it all? - <AUTHOR>

We all want to build something. However, it seems there is a trend to make everything "feature rich" these days. For example: I find sites such as LinkedIn, Facebook, etc. extremely confusing. There seems to be a lack of what the core service of a company is. In my opinion it's best to offer one feature and do it really well, revise and make it even better rather than offer million features. For example: if there is a popular ice cream parlor I will keep going there to buy ice cream but if they start offering hot dogs, that may not be my thing. Why add cost when there isn't a need to? Why not offer more ice cream variety.
With all that said - I have been contemplating in creating a platform for businesses where small business/freelancers and clients can come together without all the bells and whistles. Not a social network as I think we already have too many and once that are out there are squeezing every ounce of it. A simple platform that lets the customers do the talking for the businesses they have worked with. If a customer is satisfied with what you have they are the best marketing team you will ever have. The platform revolves around that concept.
Anyway, what are your thoughts on "feature rich" platforms? Is more always better? <comment><USER2> I agree with the philosophy of "do one thing, do it well", but my problem with a lot of app ideas is that they focus on adding _one feature_ to an existing app. I dislike this because then I have to switch accounts just for one extra feature. Instead, I think there should be a focus on providing _one value_ in a product. It should solve one problem, and solve it really well. That means defining and scoping the problem in real life terms. The difference is you might need to write several features in order to have the perfect workflow.

</comment><comment><USER3> In general, more features are better. What is needed is user interface that organizes the assortment of features in an intuitive and user-friendly way.</comment>


An End to the Traditional US Law Firm Monopoly - <AUTHOR> https://www.artificiallawyer.com/2020/07/15/an-end-to-the-traditional-us-law-firm-monopoly/ <comment><USER2> Since when does a monopoly mean "a very big market player"?</comment>


JQuery 1.4.3 and jQuery Mobile Expected on October 16th - <AUTHOR> http://css.dzone.com/jquery-future-expectations

<comment><USER2> I hope, we would not have to write native application on several platforms.</comment>


DuckDuckGo Goodies - <AUTHOR> https://duckduckgo.com/goodies#Cryptography

<comment><USER2> It looks like a a bunch of the goodies are user-made. I had no idea DuckDuckGo was so open to developers [1], what a nice surprise!

[1] [http://duckduckhack.com/](http://duckduckhack.com/)

<comment><USER3> As long as it doesn't supposedly conflict with their core values[0]… because you know your search engine should censor such things that don't conform to your world view ;)

[0][https://github.com/duckduckgo/zeroclickinfo- spice/pull/100](https://github.com/duckduckgo/zeroclickinfo-spice/pull/100)

<comment><USER4> That website allows people to create profiles for other people _without their consent_, then allows the person's attractiveness, friendliness, _goodness_ to be publicly rated/smeared.

And you wanted all that data to be displayed when a person's name is searched for?

And when the people at DDG decided not to pull in your plugin you're calling it censorship?

I have no words

<comment><USER3> For someone with no words, you sure do have alot to say.

Go on, tell us more about how you don't like x behavoir that people enage in everyday with or without the aid of technology? Ever comment on somone without their consent, even if there may be some truth to it or not in an unaccountable fashion? Ever upload a photo to a social network without asking all possible parties if that was ok? Did you give the ok for mass surveillance by corperations and governments and the secret profiles they compile and leverage in private?

DDG has every right to not want to allow x for their platform, but let's not pretend that them making that decision is going to make things just go away, especially just because one may or not like x. Not all of us can create The Names Database, cash out for $10m and try to sell privacy as a service through a search engine and ignore the elephant in the room.

</comment></comment></comment></comment><comment><USER5> Um, I'm sure the NSA would be happy to implement a strong password generator if you asked nicely. Seriously, if we aren't willing to trust the NSA to generate strong passwords for us, is it really a good idea to trust DDG (or any remote web service) to generate a strong password?

<comment><USER6> We open sourced our instant answers platform a couple years ago, in the hope to get more eyeballs on them (for quality and quantity): [http://duckduckhack.com/](http://duckduckhack.com/) It might not address your point but any underlying flaws (randomness, etc) can be caught/fixed by the community.

<comment><USER7> Sounds like that still requires that we trust DDG to be actually using the code in its git repo.

<comment><USER8> Yes, just like you're trusting the gazillion lines of code running on your own computer. No one is able to audit all of them in their lifetime.

<comment><USER9> Giving the benefit of the doubt to the gazillion lines of code running on your computer, that you and several million other people downloaded from the same place, with verified SHA sums, is actually pretty reasonable. If you're truly paranoid, all you have to do to ensure that you're benefiting from crowd- sourced verification is verify the SHA sum code.

Stuff running on some website that only the web site admins can see is not in the same ballpark.

<comment><USER8> Where you download it from and SHA only gives guarantees about integrity of the data transfer. I am talking about trusting that the code does what it is supposed to do. Bugs can hide in code for years, whether inserted accidentally or intentionally, as the Heartbleed episode demonstrates. SHA does absolutely nothing against this.

<comment><USER9> I'm addressing malice, not oversight. The SHA allows you to be confident that you've got the same code as everyone else.

<comment><USER8> I was addressing malice as well. Having the same code is no guarantee that it does not contain an intentional bug that can be exploited. Neither is knowing that it came from some specific entitity (code signing), because again this presupposes establishing trust. There is no technical solution to trust.

<comment><USER9> But if the code you have is the same as the code millions of other people have, it's safer to give it the benefit of the doubt than a single server than only a handful of people have access to.

<comment><USER8> I just gave you an example where it turned out not to be safer: Heartbleed. Malicious bugs can be well hidden, also in open source code. The openness shouldn't give you a false sense of security, because it doesn't imply the code has been audited any better than some closed source code.

<comment><USER9> I disagree that heartbleed is an example of not being safer. If everyone's SSL was a closed-source library, then we would be considerably less safe.

But to carry the analogy to a closed-source web site that you just connect to, as is the topic of this comment thread, we'd certainly be less safe if we routed all SSL traffic through an unknown system on the web that had the opportunity to decrypt and encrypt.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> I often find myself guessing at some of the DDG goodies or !bang searches, and more often than not the thing I want already exists.

I wish the !bang searches in particular were more discoverable, though. Perhaps if you search for "foo site:bar", or "foo bar" where bar is a well- known site or service, DDG should suggest 'Try "foo !bar" or "!bar foo" to ...".

<comment><USER11> I too have had trouble finding where the bang codes are.

I think the easiest is this: Go to the ddg home page, click on the drop down to the right of the search field, and at the bottom of that is "By category (!bang)"

Click that and you'll go to [https://duckduckgo.com/bang.html](https://duckduckgo.com/bang.html)

Or you could just remember duckduckgo.com/bang :)

<comment><USER12> Or just search !bang :)

</comment></comment></comment><comment><USER13> How did the pass up on the opportunity to call this DuckDuckGoodies?

<comment><USER14> They are calling it DuckDuckGoodies if you click through to the page.

(I admittedly can't be certain they were an hour ago when you asked.)

</comment></comment><comment><USER15> I made one of these about 2 years ago. It displays the descriptions of UN numbers, those little codes you see on trucks transporting nasty chemicals.

[https://duckduckgo.com/?q=UN+1993](https://duckduckgo.com/?q=UN+1993)

Perl module: [https://github.com/tantalor/perl-Number- UN](https://github.com/tantalor/perl-Number-UN)

DDG module: [https://github.com/duckduckgo/zeroclickinfo- goodies/blob/mas...](https://github.com/duckduckgo/zeroclickinfo- goodies/blob/master/lib/DDG/Goodie/UN.pm)

It was very nice to work with the DDG people to get this integrated.

</comment><comment><USER16> The IMDB example in the Entertainment section is showing a pretty weird result for "Shawshank Redemption". Instead of the well known movie, the highlighted result is an episode of a quite obscure TV series ("Dating a Puppet").

\-- Edit: I've just noticed the query goes straight to imdbapi.com, which returns the same results when searching for "Shawshank Redemption", without the "The" prefix. Which is still a bit weird, but has nothing to do with DDG.

<comment><USER6> Thanks for the heads up! We're going to update this page soon--IMDBAPI uses a variety of sources, one of them (iirc) is OMDBAPI.com and it looks like the error is stemming from there: [http://www.omdbapi.com/?t=Shawshank%20Redemption](http://www.omdbapi.com/?t=Shawshank%20Redemption)

</comment></comment><comment><USER17> Very cool. DDG should consider displaying the goodies page as default for beginners, with choice to collapse the section in favour of the plain page if desired. It would encourage more experimentation and additions. Suggesting it because even a regular user like myself had no idea this page existed, much less a newbie.

<comment><USER6> Duly noted! It's been relatively hard to discover so we're working on that for the next version of DDG. Really appreciate the feedback in-favor!

<comment><USER18> FYI the sidebar scrolling doesn't work (and general layout is a bit iffy) on Nexus 7 chrome. I wasn't going to say anything but if the audience is very general it might be worth fixing - the new ddg works awesomely other than that! :)

<comment><USER6> Gotcha! Sidebar scrolling (via flick, not tap) is still being worked on but the other iffyness sounds iffy :) We'll give it a look.

</comment></comment></comment></comment><comment><USER19> Found a security issue with the Goodies (XSS at duckduckgo.com). I just posted it through your feedback form "I found a bug", hope that reaches the right people.

<comment><USER6> Thanks! Looking for it now.

<comment><USER19> Did you get it? Noticed it was still working.

</comment></comment></comment><comment><USER20> I'm sad to see that the "hash" goodie just identifies the type of the hash. It'd sure be nice if some web-crawler index or another would hash the documents it crawled before throwing them away--then you could search arbitrary web-resources by hash, the same way you can currently search images by image-fingerprint. (And such a feature, in "I Feel Lucky" mode, would effectively turn the entire web into a DHT.)

</comment><comment><USER21> [https://duckduckgo.com/?q=unix+time+1400000000](https://duckduckgo.com/?q=unix+time+1400000000)

<comment><USER22> What is this? GET?

</comment></comment><comment><USER23> Awesome. An easy interface explaining each goodie.

Such a simple idea- and yet I've never seen Google figure something like this out. I mean I'm sure it's buried somewhere in Google's technical docs, but those docs don't qualify as easy interfaces.

Well done DuckDuckGo!

</comment><comment><USER24> This is awesome. They've managed to identify many little utilities that users need occasionally. Google has a similar set of utilities, but it is only accessible through the search-bar, and you need to know what you're looking for. DDG's is much easier to browse/use.

<comment><USER6> These come from our open source instant answers platform: [http://duckduckhack.com/](http://duckduckhack.com/)

So, anyone can suggest or create instant answers and it works out better that they're open source, since people who are most passionate about a topic (movies, legos, pokemon, gardening, etc) will know the best sources for it and the best information to display.

</comment></comment><comment><USER25> I don't like that the generated UUID has uppercase letters.

</comment><comment><USER26> Since the link links to the Cryptography section, that should be part of the post title.

</comment><comment><USER27> Couldn't find any Bitcoin goodies. That's surprising!

<comment><USER28> There's a new one!

[https://next.duckduckgo.com/?q=bitcoin+eur](https://next.duckduckgo.com/?q=bitcoin+eur)

</comment></comment><comment><USER29> awesome ! can the plugins be written in any language ? or is it just perl ?

<comment><USER30> From the DuckDuckGo Goodie FAQ:

 _What if I don 't know Perl?_

 _If you don 't know Perl, that's OK! Some instant answer types (Fathead, Longtail) don't require the use of Perl. Also, if you know PHP, Ruby, or Python you should be able to write a Goodie in Perl pretty easily using this awesome cheat sheet._

ref: [https://duck.co/duckduckhack/faq#goodie](https://duck.co/duckduckhack/faq#goodie)

So DDG Goodie plugins can only be written in Perl.

<comment><USER31> Goodies on the goodies page represent all of the available instant answer types (async API calls, functions, DB full text, and DB keyword).

</comment></comment></comment><comment><USER32> Page seems not to work correctly with Javascript disabled.

<comment><USER33> Nowadays you can't realistically expect to browse the internet with Javascript disabled.

<comment><USER32> You have no idea how nice the majority of web is that way. Sites load fast, they don't spawn annoying rubbish, tracking is mostly broken, cpu usage is low, etc etc. Maybe I should write about it some day.

<comment><USER34> Please do write about it.

I used noscript for a while in blocking everything mode, then requestpolicy for better filtering, but got tired of having to allow stuff for most of my browsing (now I'm on adblock privacy + ghostery + privacy badger + cookie monster + biscuit + self-destructing cookie + smart referer).

I'd love to read about what others do and their usage, how they get around.

<comment><USER35> I use NoScript but have enabled the option "Temporarily allow top-level sites by default". That means any site I directly visit is allowed to run JS. But any references to scripts on other domains are blocked. That makes the web pretty usable but more secure.</comment></comment></comment></comment></comment>


Show HN: IP blacklisting as a service - <AUTHOR> <comment><USER2> duplicate of [https://news.ycombinator.com/item?id=11190988](https://news.ycombinator.com/item?id=11190988) (1 day ago)

<comment><AUTHOR> Correct, was instructed to put it here by others.

</comment></comment><comment><USER3> You might want to add the link here.</comment>


Artists Should Be Compensated For Their Work - <AUTHOR> http://questioncopyright.org/compensation

<comment><USER2> From Trollope's _Autobiography_, courtesy of the Gutenberg project:

I received my (pounds)100, in advance, with profound delight. It was a positive and most welcome increase to my income, and might probably be regarded as a first real step on the road to substantial success. I am well aware that there are many who think that an author in his authorship should not regard money,--nor a painter, or sculptor, or composer in his art. I do not know that this unnatural sacrifice is supposed to extend itself further. A barrister, a clergyman, a doctor, an engineer, and even actors and architects, may without disgrace follow the bent of human nature, and endeavour to fill their bellies and clothe their backs, and also those of their wives and children, as comfortably as they can by the exercise of their abilities and their crafts. They may be as rationally realistic, as may the butchers and the bakers; but the artist and the author forget the high glories of their calling if they condescend to make a money return a first object. They who preach this doctrine will be much offended by my theory, and by this book of mine, if my theory and my book come beneath their notice. They require the practice of a so-called virtue which is contrary to nature, and which, in my eyes, would be no virtue if it were practised. They are like clergymen who preach sermons against the love of money, but who know that the love of money is so distinctive a characteristic of humanity that such sermons are mere platitudes called for by customary but unintelligent piety. All material progress has come from man's desire to do the best he can for himself and those about him, and civilisation and Christianity itself have been made possible by such progress. Though we do not all of us argue this matter out within our breasts, we do all feel it; and we know that the more a man earns the more useful he is to his fellow-men. The most useful lawyers, as a rule, have been those who have made the greatest incomes,--and it is the same with the doctors. It would be the same in the Church if they who have the choosing of bishops always chose the best man. And it has in truth been so too in art and authorship. Did Titian or Rubens disregard their pecuniary rewards? As far as we know, Shakespeare worked always for money, giving the best of his intellect to support his trade as an actor. In our own century what literary names stand higher than those of Byron, Tennyson, Scott, Dickens, Macaulay, and Carlyle? And I think I may say that none of those great men neglected the pecuniary result of their labours. Now and then a man may arise among us who in any calling, whether it be in law, in physic, in religious teaching, in art, or literature, may in his professional enthusiasm utterly disregard money. All will honour his enthusiasm, and if he be wifeless and childless, his disregard of the great object of men's work will be blameless. But it is a mistake to suppose that a man is a better man because he despises money. Few do so, and those few in doing so suffer a defeat. Who does not desire to be hospitable to his friends, generous to the poor, liberal to all, munificent to his children, and to be himself free from the casking fear which poverty creates? The subject will not stand an argument;--and yet authors are told that they should disregard payment for their work, and be content to devote their unbought brains to the welfare of the public. Brains that are unbought will never serve the public much. Take away from English authors their copyrights, and you would very soon take away from England her authors.

</comment><comment><USER3> Wanders a bit and is fluffy in parts but many good points, particularly:

 _This may be hard to hear, but: many artists who claim they just want to eat and pay rent are lying (perhaps to themselves). Most artists don't want a living wage — they want to win the lottery. Suggest to most filmmakers and musicians that "success" is about $75,000 a year, and they'll turn up their noses. You call that a jackpot? They're only in it for the millions, baby. If that means working a day job and remaining obscure, so be it. Millions need to be poor so that one can be rich; they're willing to do their time being poor, so that one day they can be rich at the expense of others. Their turn will come, they think.

I suggest playing a different game entirely, because the lottery is a tax on people who are bad at math. But those kinds of artists want to play the lottery more than they want their art to reach people._

I've had similar thoughts about startup culture. Do people want to run some obscure online business for the rest of their lives and make a decent wage or do they want to make a big splash and retire at 25? You can make similar arguments about decisions to work on open source or proprietary systems, do you want a living wage or a lottery ticket?

<comment><USER4> Apparently you read a different article because I got the wandering part but I didn't get the 'many good points' part.

I'm sorry but the section you quoted is utterly fatuous, without any kind of figures to back it up. I could quite as easily say that the vast number of painters, poets, authors, actors, musicians and sculptors that I personally know would be estatic to be earning $75,000 a year (or equivalent depending on location). Especially since most of them are currently struggling on a minicule percentage of that amount year after year after year without any certainty that they will eventually be able to use the skills they've honed to pay their way in society.

As far as I can tell her entire argument seems to boil down to 'Art is special and people should give money to artists because it's special'. I'm not entirely sure how that can be taken as any kind of argument.

Art of any kind is a skill, it takes years of hard work and dedication to hone that skill. Her intimation that 'Art' is the domain of the muse and inspiration utterly ignores the enormous amounts of effort every single artist commits to honing their craft.

This kind of idiotic talk just makes me so damn furious. Segregating artists as some kind of 'special needs cases' that should rely on the goodwill of others in order to do normal things like want to raise a family or buy a house or pay for dinner out is a disgusting suggestion, not worthy of consideration.

<comment><USER3> Maybe you did read a different article because if I had to sum it up I'd say "people _shouldn't_ give money to artists because [they|it] are special".

If your friends were buggy whip makers in the age of motor cars you'd tell them to give it up. If they responded "but buggy whips are my life" then you'd be well within your right to say suck it up. Just like if someone wanted to work 2 or 3 days a week to spend more time with their kids, or take 6 month holidays every year to wander in the Andes. Everybody makes career and life choices, everybody gets to live with the consequences.

<comment><USER4> _The best way society can support the Arts is to allow Art to spread, and to continue to encourage giving money to artists. That seems pretty natural to most people anyway, and it doesn't infringe on anyone's freedom._

That's her final sentence, I don't know what the take away from that is if it isn't 'People should give money to artists out of the generosity of their heart.'

 _Your_ solution on the other hand seems to be that art is outdated and artists should give it up if they aren't making money from it? Art = Buggy whips in your argument apparently? Not sure what motor cars are supposed to equate to but I'm sure most 'artists' would be willing to move towards making them if you could explain to us what they are in your analogy.

 _Everybody makes career and life choices, everybody gets to live with the consequences._ This is true, except that in the case of artists it's incredibly difficult to assume personal responsibility for their own success. Let's say some struggling writer's day job is a programmer (a not uncommon situation). If this person dedicates a good amount of time towards programming, enjoys it and sticks with it, honing their craft day by day then it's a pretty sure thing that those choices will pay off in the form of a decent job and comfortable salary.

There is nothing he can do to guarantee that his writing will pay off no matter what career and life choices he makes.

Now here's my main point: there is no fundamental difference between the process required to become a good programmer and the process required to become a good writer. The personal choices, decisions and personal(* ) rewards required to stick with and become capable at both are almost identical.

Why on earth is this woman trying to maintain that 'Art' is some esoteric special case that should be treated any differently from so many other identical processes?

(* ) By 'personal rewards' I mean that the level of self worth and enjoyment for engaging in any classically 'artistic' process is often exactly the same as that enjoyed by scientists thinking about new theories, architects thinking about beautiful design, programmers having a eureka moment with code or any number of similar experiences across any number of professions.

EDIT: I'll also just take a second to respond to this part of your comment: _Just like if someone wanted to work 2 or 3 days a week to spend more time with their kids, or take 6 month holidays every year to wander in the Andes._

The comparison between taking a holiday or spending time with the kids and engaging in some artistic process - as if 'doing art' is the same as taking a holiday is exactly what I think this woman is promoting and it's exactly what I think is so moronic about the article. Being good at _anything_ artistic is f'ing hard work. Full stop.

<comment><USER5> The problem with art is as soon as you take money for creating it, before it's created, it's not yours. The many facets of the graphic design profession, for instance, is arguably the equivalent of working artists. But the work they create is work that is agreed upon for a predetermined price.

Same with writing. Textbooks, manuals, reference, PR, maybe even journalism are all writing professions - a piece written for a predetermined salary. Work.

What sets work and artistic expression apart is that 'art,' as she's defining it, is whatever the f __* you want it to be.

That's what you can't 'expect' to get paid buckets for.

<comment><USER6> And where does the money paid to the author of (say) a textbook come from? Why is the finished textbook valuable to the publisher?

<comment><USER5> Mass-production and standardization, in answer to both questions.

While authoring a text book takes skill and practice, it is a process. The same could be said of a Brittany Spears album. They are carefully crafted to appeal to a wide audience.

Art serves no one other than the creator. Try to tell Picasso realism is more popular, or Charles Bukowski that he needs to tone it down. Not gonna happen. Because they weren't doing it for money, but simply for the pleasure of doing it - living; satisfying that itch to create something exactly as they wanted to.

Obviously, sometimes artists happen to strike a chord with society. Their vision becomes mainstream, their work becomes collectible, lots of money trades hands. But this didn't happen because an editor said "Bukowski, go write something these damn hippies will like and I'll pay you $$$"

More often, an artist strikes a chord with a few people. They make a little money. They keep their day job. Maybe they get a grant.

<comment><USER6> Um, that's all well and good, but misses the point of my question. My fault for being subtle.

Why would a publisher pay an artist to create a work? What does the publisher need it for? The answer: to sell it. How can the publisher profit from this arrangement? Without the exclusive right to that work (i.e. copyright), they can't.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> I'm uncomfortable with this essay because the author seems to be buying into the general idea that there is some bundle of Natural Property Rights that all humans are entitled to, and the job of a lawmaker is simply to align the statutes as closely as possible with those rights. The main difference between her and the pro-copyright lobbyists is that she excludes intellectual property from the bundle and they want to include it.

<comment><USER8> "[...] the author seems to be buying into the general idea that there is some bundle of Natural Property Rights that all humans are entitled to [...]"

It is impossible to express opinions about law without (at least implicitly) assuming some basis for discerning between good and bad law.

Whatever you assume will either look like Natural Rights or Unfounded Personal Opinion.

<comment><USER7> You can argue that a law achieves a good end (on utilitarian grounds, for example) without arguing that it ratifies any particular Natural Rights.

</comment></comment></comment><comment><USER9> This is one big strawman argument. Copyright doesn't imply that simply creating Art entitles you to compensation. You can sit at home painting and copyrighting your Art all day long and never get a penny for it.

 _Not everyone will like a particular work of art. I don't think people who dislike a work should be obligated to pay for it._

Copyright doesn't do this! I don't like country music. The fact that it's copyrighted doesn't force me to buy it!

This article hurts my head.

<comment><USER10> I don't think it's a strawman; it's a response to the frequent argument that artists ought to be compensated for their art via copyright mechanisms... as she stated in the very first sentence, as a matter of fact. If that argument was never actually made, well, maybe then it would be a strawman; but it is made all the time.

The article hurt my head too, by the way, but that is because of the Weird Capitalization.

I think there's a bit of conflation across several questions going on, both here and in most discussions on the topic:

* Is an artist entitled to compensation merely for creating art?

* Is an artist entitled to compensation by those who view their art?

* Is an artist entitled to compensation by those who redistribute her art?

<comment><USER9> She seems to be saying that copyrights are somehow extracting money from people in exchange for art they don't want and therefore we should do away with it. This isn't happening. That's why it's a strawman.

</comment></comment></comment><comment><USER11> Definitely contains interesting ideas.

But the problem with the lottery ticket mentality is that I think it mostly stems from the fact that the 'greedy and seedy suits' exert so much control over other peoples art on top of collecting all/most of the profits (even more so in the past).

Examples are ample: musicians not owning the actual music (in the past not even owning the actual recording masters), not able to decide how/when to (re)release albums, directors/creators of movies not owning 'video rights' and as such not in charge of how crappy a DVD is put together, comic book artists/writers not even having control over a character they invented from scratch...

The only reason you would ever put up with such ...ahem... 'fascism' is that you get compensated beyond a 'living wage'.

Also: I don't equate control/copyright over your own art/work with being able to control weather someone can get a hold of your art without paying for it.

That kind of thinking is completely obsolete this day and age and again only serves one purpose: maximize profits by ripping of (cfr. Nine In Nails album pricing in certain countries) or pestering consumers (cfr. DRM & unskippable 'do not steal' intros on DVD's you just bought)

Once the control problem goes away, new and equally profitable means of monetization can and should be created without feeling cheated (cfr. Radiohead In Rainbows)

We all know how it feels to work a job that has a crappy commute or crappy hours/people but happily put up with it if you're compensated more than enough.

When it comes to losing control over your art, only billions are 'more than enough' it seems ;-)

<comment><AUTHOR> _new and equally profitable means of monetization can and should be created_

The mean has already been created thousands years ago, it's called _performing_.

<comment><USER11> Good point, but unfortunately that only applies to the performing arts.

And even then the issue of control comes to play. I know for a fact that if you want to play a certain big festival in my country you have to agree that t-shirts can only be bought at the designated stand, for a price that's higher than the price you decide and they take a cut of the profits.

Again, maximising profits by ripping of customers beyond your control...

Anyway, I wouldn't mind paying for a 3 hour live performance of Apocalypse Now (but only with the original actors, director and in the original location ;-)

<comment><USER12> These festivals shouldn't be run by media business people, they should be run by musician business people. If there are too many people taking cuts then things will cost too much.

</comment></comment></comment></comment><comment><USER13> > "If I decide to sit behind a desk, take calls, devise flawed business plans, > and lie, do I DESERVE to be compensated like a bank CEO....If I sing and > prance around on stage, am I entitled to $110 million a year? It's the same > work Madonna does, and that's what she makes."

Theoretically, what if you are exactly as good as a bank CEO? What if you sing and dance and compose exactly like Madonna?

Then do you deserve to be paid after the fact?

When an artist happens to make a piece of art that someone puts value on, what's wrong with the artist receiving money? Especially if the "buyer" were going to pay someone else instead (a shrewd middle man). Perhaps this money is supposed to be thought of as a donation?

Still, people want to own art. When an artist randomly makes art and then goes to a market to sell them, is that more like a comission? What about all the farmers and other folks at a market selling wares that weren't pre- comissioned? It's a natural exchange, though. Or maybe I'm brainwashed by culture.

Finally, why not just say that "Artists should be compensated for good artwork"? Who cares if it is art or work or whatever. People should pay where they see value and do their best to pay smartly; eg, pay the artist so they produce more and are rewarded, and don't pay, eg the record labels more than their fair share (damn extortionists!). Technology seems to be helping in this area.

Sometimes work doesn't have a lot of value for other people. That's ok, too. It doesn't matter whether it is art or serious. Honestly, my best projects are those that merge the serious and artistic, but that's a whole other story and cultural perspective.

ps - this reminded me of KickStarter <http://kickstarter.com>

</comment><comment><USER14> I found the article pretty much correct. After all mathematicians survive just fine without copyrighting their theorems, which are just as beautiful and divinely inspired (if you choose to think in those terms) and much more beneficial to society.

<comment><USER15> That's not a good analogy. Mathematicians are employed a) by universities, so their compensation is their salary (+ tenure) or b) by investment banks, so their compensation is their salary (+ bonus). There're no freelance mathematicians selling directly to the general public.

<comment><USER14> Sorry, but I don't understand how your comment constitutes an objection to my comment - it's more like sideways. Universities don't receive copyrights on theorems either. This proves that copyright isn't a necessary condition for the creation of publicly beneficial intellectual property. Society can create mechanisms to compensate creators by other means: make a university-like institution for musicians, and you'll be OK.

<comment><USER15> It sounds like you're advocating musicians being salaried employees of record labels.

<comment><USER14> Sorry again, but I can't parse your comments at all. If we abolish copyright, do you think record labels will continue to exist in their present form?

</comment></comment></comment></comment></comment><comment><USER13> it's interesting to watch Nina Paley's interviews on YouTube. For example, on credit: [http://www.youtube.com/watch?v=ZyH3UvfjGag&feature=relat...](http://www.youtube.com/watch?v=ZyH3UvfjGag&feature=related)

Incidentally, I started watching these interviews because when I got to the end of Sita Sings the Blues, I was a little miffed to see the following note _while the credits flashed_ : "it took me a long time to make, so please tell me what you think."

I thought the use of "I" was a little jarring, though possibly reasonable. Nonetheless, it gave me pause. I don't expect "fairness" [see interviews] to be possible until everyone uses "we" fairly.

</comment><comment><USER16> I'm not sure what I think about the article, _but_ : If you haven't seen Haley's movie Sita Sings The Blues, you are missing out on one of the coolest and funniest movies of 2008, and it's available for free downloading/torrenting.

</comment><comment><USER17> In a culture where the financial value of work trumps all other methods of measurement there will be no "rational" way to support all forms of art.

For something like this to work in a sustainable way, the means of managing liquid value need to evolve.

Some say that the difference between your "work" and your "job" is that you would do the former if you were paid for it or not, keep this in mind.

</comment><comment><USER18> What on earth is this person's point?

Are artists entitled to compensation for creating art? Of course not.

Are consumers entitled to access to any given artist's art? Of course not.

Where does that leave us? Same needle, same thread.</comment>


Tech Giants Gobble Startups in an Antitrust Blind Spot - <AUTHOR> http://www.nytimes.com/2016/08/17/business/dealbook/expect-little-antitrust-challenge-to-walmarts-bid-for-jet-com.html?ref=dealbook&_r=0 <comment><AUTHOR> An interesting read for background on this is from the economist this may examining the state of competition in the US.

[http://www.economist.com/news/briefing/21695385-profits- are-...](http://www.economist.com/news/briefing/21695385-profits-are-too-high- america-needs-giant-dose-competition-too-much-good-thing)</comment>


Coding my way out of Cuba - <AUTHOR> https://medium.com/@jorgejaviergarciaruiz/coding-my-way-out-of-cuba-part-1-5b85ae65de4b <comment><AUTHOR> Not my article but thought it was worth sharing as someone who coded his way out of Cuba 10 years ago under similar circumstances. Part 2 on [https://medium.com/@jorgejaviergarciaruiz/coding-my-way- out-...](https://medium.com/@jorgejaviergarciaruiz/coding-my-way-out-of-cuba- part-2-9f41fb81c3ff)</comment>


CSS box-shadow Can Slow Down Scrolling - Airbnb-Nerds http://nerds.airbnb.com/box-shadows-are-expensive-to-paint <comment><AUTHOR> Really stress your browser: <http://people.mozilla.org/~roc/scrolling- boxes.html>

You might want to try Firefox if you don't want your scrolling to slow down.

<comment><USER2> The first time that loaded (after 1/2 second or so to get all the resources), it was almost as slow as Chrome, and stuttered _hard_ every second. The second time it was pretty surprisingly smooth. Any idea why it would continue to suck for the entire first load?

</comment></comment><comment><USER3> I ran into this issue a few days ago too. Border-radius can also cause it. There are multiple bug reports on this already:

<http://bit.ly/vbeCPM> <http://bit.ly/rSH6sV>

Hopefully this gets fixed soon.

</comment><comment><USER4> I wrote a post about box-shadow a while back too. The slower repaint time was masquerading as a javascript issue in my case. Took a little sleuthing. Here's the post if you're interested: [http://effingsmart.com/2011/04/css-box-shadow- and-whywhen-yo...](http://effingsmart.com/2011/04/css-box-shadow-and-whywhen- you-shouldnt-use-it/)

</comment><comment><USER5> Flash deals with this issue by cacheing any object that has a complex filter (like a drop shadow) applied to it as a bitmap. This works pretty well, but can lead to serious memory hogging.

Effects like drop-shadows and blurs are notoriously CPU-intensive (and we don't even have arbitrarily-shaped drop shadows yet!). There's no way to do them very effectively without moving onto the GPU.

Hopefully that'll happen soon. Or the CSS filters spec gets broad support, in which case there will be a built-in drop-shadow shader.

</comment><comment><USER6> Uhmm, no, really ?

<comment><USER7> What good is a fancy new feature if it hurts performance?

<comment><USER8> Fancy new features have been hurting performance since the beginning. Nobody notices it because new, faster hardware makes it a non-issue.

For example, in 1998 I could browse the web perfectly fine on a 100 Mhz Pentium with 32 Mb of RAM. If new features didn't hurt performance then I would still be able to browse the web perfectly fine on a 100 Mhz Pentium today.

box-shadow is just a specific example. In five years even the crappiest smart phone will have enough CPU/GPU power to display box-shadows without any noticeable slow down.

<comment><USER7> Sorry, I disagree. If you sacrifice performance (and thus usability) for simple aesthetics, that's the wrong choice.

<comment><USER9> I suppose you don't use a GUI, then?

</comment></comment></comment></comment></comment><comment><USER6> Yeah, so call me a troll if you want. I'm kinda enjoying my negative scores.

I'm astonished though that any of this is "surprising news." It's kinda like filing a bug report: "Rage/Doom/etc cause high CPU usage, PLZ FIX." Uhm, yeah.

There are a number of different algorithms for drawing blur. Some of them are high quality but require more iterations for larger radii, some are much faster and "scale" quite well but aren't of nearly the same high quality.

Of course putting complex effects that are computed on the CPU are going to be slow -- at least just a tiny litte little.

<comment><USER10> To the knowledgeable it's no surprise at all (although I'm glad to realise my own project's juddery scrolling is probably down to gratuitous border radius and box shadow usage now).

To those who aren't knowledgeable and design websites without really digging into optimising javascript performance and all that, they might never have come across the concept of a 'simple website' in a browser having an impact on performace. To these people it's just a page of text and images, not a game or something typically known to require good hardware.</comment></comment>


European job market is rigged against younger workers, says Draghi - <AUTHOR> http://www.theguardian.com/world/2016/mar/11/european-job-market-is-rigged-against-younger-workers-says-draghi <comment><USER2> I hate when they generalize the EU as Europe.

Just because the EU does not get their shit together does not mean other european countries are in the same boat.</comment>


Ask HN: How do you ensure you web app goes live without a major bug? - <AUTHOR>

I have not worked at a lot of companies, so I am a bit in the dark how companies typically test their software (I am specifically interested in web applications).
From talking to some friends at mid-size or larger companies, they seem to rely significantly on manual QA testing from their dedicated QA teams. I was actually surprised to hear that many of these people told me that automated testing is virtually nonexistent. Or if it does exist, it is simply as a supplement to the manual verification steps.
How do smaller companies ensure there are no show stopper bugs when they push some code live? Do they rely simply on automated testing, or do even the small guys typically have people doing manual QA? <comment><USER2> 1\. Ensure the requirements are documented in sufficient detail that the actual problem to be solved (or feature to be implemented) is crystal clear to both the customer and the developer.

2\. Write automated tests. You can do this up front (TDD) or afterwards (different people will tell you different things). The idea is that you can run the tests in an automated way to quickly detect deviations from the desired behaviour. It also helps you spot if changing code in one place breaks code in another place.

3\. Test the application functionality manually to ensure that you (the developer) think the functionality is behaving as described in the requirements document.

4\. Deploy the application to a testing environment, ask the customer to test it and (when they are happy) sign off on the functionality.

5\. Deploy the code live.

6\. Wait for the inevitable phone calls to tell you that something the customer wants (but which was most definitely not in the requirements document) is apparently not there ;-)

</comment><comment><USER3> Well written automated tests will accrue value over time by saving you manual testing time (and increasing your confidence) with each release.

A lot depends on your situation at launch, but I think a lot of teams overestimate how much testing they should do, when in fact their bigger issue is not having enough customers, or not engaging their customers with a decent product.

If you have time, my suggestion would be to focus on a few items:

1) Notification tools to help you know when something goes wrong (e.g. email to the dev team). If you are using ruby, then <http://hoptoadapp.com> is a great tool, but if you can't find a tool, write your own. It's worth it.

2) Monitoring tools to know if the site is down (e.g. pingdom)

3) Figure out how to cleanly do site updates with zero downtime. This will let you fix the inevitable bugs without inconveniencing users who haven't hit the bug yet.

4) Write automated tests for the things that you think really can screw your users the most.

5) Develop a culture that, when you find bugs in production code, you write tests to reproduce them, then fix the bug, then use the test to validate the fix.

My two cents.

</comment><comment><USER4> I've worked at places where we've done both.

Manually is quicker to get started with but pretty quickly the time you put into greatly surpasses the time that would be spent on automated tests.</comment>


Software patents poised to make a comeback under new patent office rules - <AUTHOR> https://arstechnica.com/tech-policy/2019/01/software-patents-poised-to-make-a-comeback-under-new-patent-office-rules/ <comment><USER2> Watching the impact software related patents in the world, I've become increasingly skeptical of their sensibility.

The patent system was conceived in an age when innovation was represented by complex works like the steam engine. Invention was the result of applied engineering and ingenuity.

Now that system is weaponized by organizations claiming exclusive use over something as mundane as a UI gesture.

An institution intended to spur innovation is achieving the exact opposite, chilling effect.

Here's an interesting comment from a seasoned investor on the value of formal IP protection to the average internet startup: [https://youtu.be/15iWltPLuPY?t=2274](https://youtu.be/15iWltPLuPY?t=2274)

While I can't find it now, I recall another I/O talk where an investor was asked by an aspiring founder how to deal with the fear of unwittingly treading on someone's patent. In response he opined the very act of innovating in today's world makes you likely to trip over some patent or another, and his guidance was to focus on building a great product.

I'd love a world where companies compete based on the merits of their product and talent of those who craft it. Let them stay relevant by continuously pushing the leading edge of innovation, rather than resting on the laurels of accomplishments from 20 years ago.

Kudos to companies which have commited to never using patents for offense, and bigger kudos to those who have gifted their IP to the world.

<comment><USER3> > Kudos to companies which have commited to never using patents for offense, > and bigger kudos to those who have gifted their IP to the world.

That gives credit to companies simply for being in particular types of industries. Facebook and Google have opened up large amounts of IP in the form of open source. They do so because they don't sell software; software is just a gateway to their ad platforms and user databases (which, unsurprisingly, are well-guarded). Does that deserve "kudos" compared to say, Microsoft, which doesn't open up IP as much because it's in the business of exchanging software for money? I don't see a moral distinction to be made there.

<comment><USER4> If there's an industry predicated on immoral activities, then there is a moral distinction to be drawn between businesses in that industry and businesses in industries that have no such requirement to act immorally.

<comment><USER3> Is "advertising and hoovering up user data is more moral than patents" really the hill you want to defend?

<comment><USER4> I'm actually fine with both having advertising and with the existence or stewardship of user data, but in fact the hill I want to defend is "the profitability of an enterprise does not determine its moral quality."

</comment></comment></comment></comment></comment><comment><USER5> This is exactly what I was concerned about when the _Alice_ decision came down. The problem is that abstractness is relative: abstractions exist in a hierarchy, such that what is abstract at one level is concrete relative to the next level above it. There is no absolute measurement of abstractness.

What I really want to see is for obviousness tests to be strengthened. I believe that in order for a patentee to sue for infringement, they should first have to present _objective evidence_ that their idea is actually nonobvious, along the lines of the "Graham factors" [0]: commercial success, long-felt but unsolved needs, or failures of others.

The nonobviousness requirement has become toothless in recent years; the Federal Circuit has reduced it to a requirement that no prior art exist explicitly mentioning the invention. But lots of things are obvious that haven't been explicitly mentioned in some publication; indeed, many things aren't mentioned _because_ they are obvious. And the PTO is poorly placed to evaluate nonobviousness; for one thing, one of the Graham factors, commercial success, may not exist at patent application time — one may have to wait a few years to see whether the invention gives rise to a viable business.

So the right time to evaluate obviousness is at the commencement of litigation.

[0] [https://en.wikipedia.org/wiki/Graham_v._John_Deere_Co](https://en.wikipedia.org/wiki/Graham_v._John_Deere_Co).

<comment><USER6> > _I believe that in order for a patentee to sue for infringement, they should > first have to present objective evidence that their idea is actually > nonobvious, along the lines of the "Graham factors" [0]: commercial success, > long-felt but unsolved needs, or failures of others._

This triggers one of my pet soapbox issues: The U.S. patent statute _requires_ a patent to be issued to an inventor unless the _patent examiner_ can show that the claimed invention was not new, useful, or nonobvious. True, the inventor must tell the patent office about any prior art of which s/he happens to be aware, but the inventor has zero obligation to do any kind of prior-art search to see what else might have been out there. Contrast that with the Ph.D. degree system, where the burden is on the candidate to do a literature search and convince his/her committee that s/he didn't reinvent the wheel.

Another contrast: When a university grants a Ph.D. degree, the result isn't national industrial policy in the form of a statutory monopoly over the claimed subject matter.

And another one: Ph.D. degrees require a defense before not just an experienced advisor, but also a committee of people who know at least something about the subject matter. In contrast, patents and their statutory monopolies are typically approved by junior- or mid-level examiners generally either flying solo or (in theory) supervised by one more-experienced examiner. Only if the examiner issues a final rejection will the invention be reviewed by a board of appeals comprising senior examiners.

<comment><USER5> > Only if the examiner issues a final rejection will the invention be reviewed > by a board of appeals comprising senior examiners.

Yes, that's quite backwards, isn't it? Granted patents should be reviewed more carefully than rejections. Where the PhD system is built to minimize false positives, the patent system is built to minimize false negatives.

Here's how I've seen it put in the past. A patent is a deal the public makes with an inventor: the inventor gets a temporary monopoly in exchange for disclosing how the invention works. The problem we have is that no one in the system — neither the PTO nor the courts — is specifically responsible for representing the public's interest, by making sure that the information being disclosed is valuable enough to deserve the monopoly.

<comment><USER6> > _no one in the system — neither the PTO nor the courts — is specifically > responsible for representing the public 's interest, by making sure that the > information being disclosed is valuable enough to deserve the monopoly._

By law, that's the job of the USPTO. The PTO routinely rejects patent applications if the examiner thinks that the claimed subject matter wasn't novel or would have been obvious at the time the invention was made. Most rejections stick (I would guess), but sometimes examiners get worn down by patent attorneys. The problem was famously summarized nearly a century ago by the legendary federal judge Learned Hand, who said that "... the antlike persistency of solicitors has overcome, and I suppose will continue to overcome, the patience of examiners, and there is apparently always but one outcome." [0]

[0] _Lyon v. Boh_ , 1 F.2d 48, 50 (S.D.N.Y.1924) (L. Hand, J.), at [https://scholar.google.com/scholar_case?case=969659756696519...](https://scholar.google.com/scholar_case?case=9696597566965196877) , _rev 'd on other grounds,_ 10 F. 2d 30 (2d Cir. 1926).

</comment></comment></comment></comment><comment><USER7> "Once the last developer is locked up and the last idea patented you will realise that lawyers can't program."

— Christian Heilmann (@codepo8)

[https://twitter.com/codepo8/statuses/79531211327930368](https://twitter.com/codepo8/statuses/79531211327930368)

</comment><comment><USER8> A reminder that software patents are funded by all those 'pragmatic' choices for proprietary over free software.

</comment><comment><USER3> Several nits with the article.

> On the flip side, the argument that without software patents modern tech- > based companies can't thrive seems weaker every day. A 2015 article > calculated that 30 percent of billion-dollar startups have zero patents.

This is an odd take on the original data source: [https://www.ipwatchdog.com/2015/11/03/the-naked- truth-30-of-...](https://www.ipwatchdog.com/2015/11/03/the-naked-truth-30-of- us-unicorns-have-no-patents/id=62842). If you look at the table mid-way down the page, only one category of companies has relatively low patent-ownership share compared to valuation share: "consumer Internet." Of course, these companies don't need patents to protect their IP. They don't deliver a product to consumers that their competitors can disassemble and copy. Their IP is hidden in their servers behind a web services API. Uber's logistics algorithms, for example, are important trade secrets, but there is no need to patent them because they can't be reverse-engineered from the Uber app.

As shown in the chart, several kinds of companies deliver software products to consumers, or disclose technology through standardization, and have a relatively greater need for patent protection. Waymo, for example, has tons of patents: [https://patents.justia.com/assignee/waymo- llc](https://patents.justia.com/assignee/waymo-llc). So does CMU, which pioneered early work in self-driving cars.

> In a 2016 ruling called Enfish, the Federal Circuit ruling took a single > sentence from the Supreme Court's 2014 ruling and used it as the legal > foundation for approving more software patents.

This reads _Alice_ backwards. _Alice_ was about why patents on business methods are ineligible, even though they are implemented in software. _I.e._ patents on using software to automate methods of doing business that were already in use. That is why when Ars covered the decision in Alice, its headline was "Supreme Court smashes 'do it on a computer' patents in 9-0 opinion," not "Supreme Court smashes software patents in general." _Alice_ assumes that real technological inventions that happen to be implemented in software are patentable.

The "single sentence" in _Alice_ Ars that refers to is actually two sentences:

> The method claims do not, for example, purport to improve the functioning of > the computer itself.

> In other words, the claims in _Diehr_ were patent eligible because they > improved an existing technological process, not because they were > implemented on a computer.

Ars makes it sound like the Federal Circuit (and now PTO) took a narrow exception in _Alice_ , articulated in a single sentence, and used it to swallow the rule. But in _Alice_ , the Supreme Court viewed business-method patents as the exception to the general rule that useful inventions are patentable (even if they are implemented in software). These sentences simply explain why the patent in that case falls into the exception.

To put it in concrete terms, compare the patent in _Alice_ (on the business practice of intermediated settlement), to something like an algorithm for power management in a laptop that improves battery life. _Alice_ says that the former is not patent eligible, in part by distinguishing it from the latter. But it's not really talking about the latter category of eligible inventions, or making any statements on how broadly or narrowly that category should be defined.

<comment><USER9> The article does a major disservice by not tracing the history of software patents.

First, in Flook, SCOTUS effectively said that software wasn't patentable, the software in question being a controller for a catalytic converter. In Diamond v. Diehr, SCOTUS said that software was patentable insofar as it was part of a larger patentable system, the software in question being a controller for a rubber mold.

Effectively, SCOTUS (in a time-honored tradition) overturned Flook in Diamond v. Diehr while simultaneously emphasizing that it wasn't overturning Flook.

The Federal Circuit then created the infamous State St. ruling, which held that anything was patentable if it produced a "useful, concrete, tangible result." This is generally recognized as the moment when the patent system broke.

In Bilski v. Kappos, SCOTUS again returned to striking down dubious patents. Of particular note, all of the opinions went out of their way to criticize the State St. formulation as exceptionally bad law. They also rejected the CAFC's alternative-to-State-St. formulation of "machine or transformation test" while being unable to articulate what the correct test ought to be. Mayo and Alice, as noted in the article, further slammed both the State St. notion of "pretty much everything you can think up is patentable" and the general class of business patents. At the same time, SCOTUS has been reluctant to fully close out what isn't patentable (so as to avoid accidentally shutting out Next-Big- Technological-Area-That-Really-Needs-Patents) while being unable to articulate what makes something in a really gray area like software able or unable to clear the bar.

The thrust of SCOTUS is pretty damn clear: if your patent is struggling to tie its innovation to something that's pretty clearly patentable under 18th century patent norms, it's not going to be patentable. That it can't formally articulate those guidelines into a coherent, clear statement is unfortunate but completely understandable. Software itself is in a gray area that really could use clarification, but SCOTUS isn't going to do that without an appropriate vehicle to rule on. Someone needs to try to obtain a patent that is clearly novel, useful, and pure software and have its validity challenged, and have this challenge be appealed up to SCOTUS, before you're going to get a decision where SCOTUS may try to decide it.

Bilski, Mayo, and Alice have all shown that several justices are inherently skeptical of software patents, and they've also shown that software patents are of major interest to the wider topic. But SCOTUS is generally unwilling to rule on a question that isn't directly presented and argued before them, so until a case that itself directly involves software patent 101 eligibility (and has no room to rule invalid on 102-104), there is unlikely to be much clarity here.

<comment><USER10> >In Diamond v. Diehr, SCOTUS said that software was patentable insofar as it was part of a larger patentable system, the software in question being a controller for a rubber mold.

Not true. They said system could be patentable despite having software as a component. This is common sense. If an invention includes a pulley, a wheel, and a lever, you don't evaluate what's there if those non-novel elements are removed; you look at the whole system. SCOTUS said to look at the system as a whole, including the software. But the novelty and non-obviousness have to exist in the system as a whole. If it's only novel and non-obvious in the software, generally speaking, no patent. They did allow for the possibility that patentable software might possibly exist, but the gist of the ruling is that they hadn't seen such software yet. Also that it was up to congress to clarify, because they didn't feel 100% comfortable deciding if software could possibly be patentable.

So they basically stopped a millimeter short of saying software couldn't be patented at all, and the State St ruling stuck a crowbar in that crack.

</comment></comment></comment><comment><USER11> The title with "poised to make a comeback" is misleading because it implies software patents existed and then were completely eliminated at one point, which is (unfortunately) not true.

</comment><comment><USER12> Looks like the decisions that favor patent trolls were all decided by majority Obama appointees. Makes me wonder if the new Supreme Court appointees will accept any challenges to these rulings and if so, will they finally put a leash on this Federal Circuit Appeals Court.

<comment><USER9> These pro-patent decisions by the FAFC have generally been struck down by SCOTUS repeatedly. The history of patent decisions is basically "FAFC says this isn't kosher" and SCOTUS responds "you're a pack of idiots; REVERSED by a unanimous court".</comment></comment>


Personal private trains for Heathrow. Very sci-fi. - <AUTHOR> http://news.bbc.co.uk/1/hi/uk/7148731.stm

<comment><USER2> How do you guarantee no queues and short wait times when it gets very crowded?</comment>


Atheists' Holiday Message - Join Us - <AUTHOR> http://www.nytimes.com/2010/11/10/us/10atheist.html?src=twr <comment><USER2> "The godless groups say they are mounting this surge because they are aware that they have a large, untapped army of potential troops."

Wow, that's some biased-sounding reporting right there. Is that a quote from someone? Did anyone in the campaign talk of armies or troops? I'd like that attributed.

And "godless" is one of those loaded words, generally used to attack.

This doesn't read like unbiased reporting.</comment>


LinkedIn.com currently pointing to a parked domain - <AUTHOR> http://www.linkedin.com/#

<comment><USER2> ?

<comment><AUTHOR> Looks like it's back now.

I suppose someone forgot to renew their domain! Awkward.

<comment><USER2> Apparently they were DNS Hijacked.</comment></comment></comment>