Arch Linux: MariaDB replaces MySQL in repositories - <AUTHOR> https://www.archlinux.org/news/mariadb-replaces-mysql-in-repositories/ https://www.archlinux.org/news/mariadb-replaces-mysql-in-repositories/ <comment><USER2> What a coincidence! Just _today_ , Slackware also switched to MariaDB! [1]. Two weeks ago, it was openSUSE [2]. It's on the cards for the next Fedora release in May [3]. Wonder when will Debian (and its children) make the switch.

[1]: [http://www.h-online.com/open/news/item/Slackware-Linux- switc...](http://www.h-online.com/open/news/item/Slackware-Linux-switches-to- MariaDB-1829261.html)

[2]: [http://blog.mariadb.org/opensuse-12-3-released-with- mariadb-...](http://blog.mariadb.org/opensuse-12-3-released-with-mariadb-as- default/)

[3]: [http://www.h-online.com/open/news/item/Fedora-19-MariaDB- ins...](http://www.h-online.com/open/news/item/Fedora-19-MariaDB-instead-of- MySQL-but-no-Btrfs-1795146.html)

<comment><USER3> I would think that Debian would be especially sensitive to the Closed Source environment that Oracle is generating for MySQL. It seems like it would be an easy choice between two software stacks; one OSS and the other CSS. Granted, Stable probably won't move for at least a release cycle, but I would be disappointed if Sid didn't make the switch soon.

Ubuntu, on the other hand, doesn't have the same strong OSS sensibilities and will probably tow the Oracle line, at least for a little while longer.

<comment><USER4> > Ubuntu, on the other hand, doesn't have the same strong OSS sensibilities > and will probably tow the Oracle line, at least for a little while longer.

Sorry to ruin your "Ubuntu is more closed" claim (seriously why even make that up?) but Ubuntu has been discussing switching to MariaDB at for the past year -- here are the last 2 blueprints with the progress:

\- [https://blueprints.launchpad.net/ubuntu/+spec/servercloud-q-...](https://blueprints.launchpad.net/ubuntu/+spec/servercloud- q-mysql-roundtable) \- [https://blueprints.launchpad.net/ubuntu/+spec/servercloud-r-...](https://blueprints.launchpad.net/ubuntu/+spec/servercloud- r-mysql)

Also it's "toe the line", and we're toeing with Debian, it just happens to be the same person doing the work in Ubuntu and Debian, so doing the work in Debian and syncing to Ubuntu makes the most sense.

</comment></comment></comment><comment><USER5> It's a pretty tricky business buying an open source company. You have to work with the community and existing people to maintain "master" of it. Oracle of course is not that company and so their subacquisition of mysql via Sun is now being pissed away in its entirety. If I were an investor I might have some questions.

*Edit: Sun dropped $1 billion on mysql. That's a lot of money to later just "lose"

<comment><USER6> I think it was a very deliberate strategy by Oracle to undermine open source RDBMs by extinguishing the number one solution if it failed to attract customers to Oracle db. Their major mistake seems to be that they underestimated just how skeptical the foss community is of them - and rightly so - and how fast it can re-group and create alternatives. But you know what I really like? The fact that virtually no startups these days talk Oracle when discussing big data, which used to be the domain that Oracle truly dominated. Seriously, when did you read about Oracle (db) here on HN? It's interesting that Oracle focused so much on fighting open source RDBMs when NoSQL databases were the real threat all along.

<comment><USER7> Is the fact that almost no startups talk about or use Oracle that much of a problem for Oracle? Those startups wouldn't have generated much revenue for Oracle anyway. Those startups will forever be in search for a free solution.

<comment><USER8> Startups targeting enterprise or government customers might well use Oracle. It's free* to develop on, and something a lot of those sorts of clients use anyway.

* Last I checked, Oracle allowed you to use Oracle RDBMS free for "prototype development" but once you were actually generating revenue from that you are supposed to buy the necessary licenses, even for continued development or support purposes.

<comment><USER9> It's still the case - we had a free license from Oracle for the first 3-4 years of our company's life - We just had an account manager call us ever 6-9 months, see how we were doing. Eventually we got some real customers, revenues, and negotiated a several million dollar license purchase + 18%/year maintenance.

</comment></comment></comment></comment></comment><comment><USER10> Looking at the specs for MariaDB, I can see why our last client dropped MySQL for the front end and went with it.

The XtraDB engine, basically a fork of InnoDB with patches, is actually very nice. We've had to do almost no modifications to the data structure when moving from InnoDB for some DBs (that we're not using Postgres for).

Fun fact: XtraDB is also the default in Percona <http://www.percona.com> (No, I don't work for them).

There are things you still need to carefully look into before migration if that's what you want to do. Minor things like naming is only part of it. Read. Read. Re-read the documentation : <https://mariadb.org/docs>

I've felt MairaDB is the direction MySQL should have gone after the 4.x branch. In many ways (though the technical aspects are totally different), this split is very similar to what happened with FreeBSD after the 4.x branch with the start of DragonFly. When in doubt, fork.

The beauty of Open Source.

<comment><USER11> Out of curiosity, why do you need to use both Postgres and MySQL/MariaDB?

<comment><USER12> Mysql cannot do parallel query. That's a single query won't spin off multiple threads and work in parallel. This makes it a bad solution for say aggregating over large data. Mysql can handle lots of threads(queries) in parallel making it an ideal solution for web.

Postgres can do parallel query.

<comment><USER13> MySQL can do parallel querying through some of the less common back-ends, like Infinidb, which are more suited to warehousing than OLTP like InnoDB/XtraDB.

<http://infinidb.org/component/content/article/53/158>

</comment></comment></comment></comment><comment><USER14> That said, if you can, use PostgreSQL for the good of your head. Transactional schema migrations mean you can save yourself a lot of headache.

<comment><USER15> Is there a good reason to use MySQL when you have the choice between it and Postgres? When we had the MySQL vs Postgres discussion in college, it seemed like the only reason to use MySQL we could come up with was that it had the larger user base.

<comment><USER16> Traditionally MySQL has been ahead of Postgres in terms of replication, but Postgres has made great strides in that department recently. Having said that, Postgres still doesn't support master-master or ring topologies, replication filtering, and is binary only (which is probably a good thing).

<comment><USER17> Naah, I wouldn't go so far to say it's a _good_ thing that it's missing, but it's hellaciously hard to implement well. I think the sentiment is rendered well in this mail, which took place after extensive review and hacking. In it, Robert Haas (a committer) writes to Andres Freund (the principal author, I believe):

      Before getting bogged down in technical commentary, let me say this
      very clearly: I am enormously grateful for your work on this
      project.  Logical replication based on WAL decoding is a feature of
      enormous value that PostgreSQL has needed for a long time, and your
      work has made that look like an achievable goal.  Furthermore, it
      seems to me that you have pursued the community process with all the
      vigor and sincerity for which anyone could ask.  Serious design
      concerns were raised early in the process and you made radical
      changes to the design which I believe have improved it tremendously,
      and you've continued to display an outstanding attitude at every
      phase of this process about which I can't say enough good things.
      There is no question in my mind that this work is going to be the
      beginning of a process that revolutionizes the way people think
      about replication and PostgreSQL, and you deserve our sincere thanks
      for that.

      Now, the bad news is, I don't think it's very reasonable to try to
      commit this to 9.3.  I think it is just too much stuff too late in
      the cycle.  I've reviewed some of the patches from time to time but
      there is a lot more stuff and it's big and complicated and it's not
      really clear that we have the interface quite right yet, even though
      I think it's also clear that we are a lot of closer than we were.  I
      don't want to be fixing that during beta, much less after release.

[http://www.postgresql.org/message- id/CA+TgmoYhkMpkB8JZYhVei-...](http://www.postgresql.org/message- email@example.com)

The implications for PostgreSQL version upgrade alone are enormous. MySQL has been ahead here, even though some if it was at the cost of some sanity, and by lack of sanity I mean "statement based replication". The first semi-sane logical replication was the 2008 release that included row-based-replication.

</comment></comment></comment></comment><comment><USER18> My favorite comment from the comparison page

<https://kb.askmonty.org/en/mariadb-vs-mysql-compatibility/>

"Timings may be different as MariaDB is in many cases faster than MySQL. "

<comment><USER19> Cached version: [http://webcache.googleusercontent.com/search?q=cache:zMNULrz...](http://webcache.googleusercontent.com/search?q=cache:zMNULrzBDREJ:https://kb.askmonty.org/v/mariadb- versus-mysql-compatibility/+&cd=1&hl=en&ct=clnk&gl=us)

</comment></comment><comment><USER20> I'm hardly a DB expert, but I would have thought Percona would make more sense to replace Oracle MySQL in the repository. True it doesn't have a few new bells, but it should be a drop-in replacement for pretty much everyone.

</comment><comment><AUTHOR> For any arch'ers looking to upgrade, note that "mysql_upgrade -p" can take a long time depending on how much data you have in MySQL. It took a few minutes on my laptop with only a few medium sized databases.

</comment><comment><USER21> Interesting performance comparison here between MariaDB, Percona Server, and MySQL <http://vbtechsupport.com/657/2/>

</comment><comment><USER22> I went to Open Database camp a few weeks ago. There was a talk about the split...

The short story: MariaDB is a fork of MySQL done by Michael "Monty" Widenius one of the mySQL founders.

It seems the winds of fear are blowing against mySQL and MariaDB is getting mindshare (it is a fork so pretty close still but not going back). Although Oracle hasn't really done anything yet, and did send a rep to the conference, there seems to be some distrust.

About a decade ago at a startup we had and Oracle instance running s a test, their sales people where tenacious (fought them off by asking for an ODBC driver for linux). Then startup went under. sigh.

<comment><USER6> My prediction is that in the next few years Oracle will give up on MySQL by either abandoning it or give it to the foss community. Because once the enthusiasts, devs and hackers lose faith in your foss project - it's done for. Just look at what happened to Open Office.

<comment><USER23> But first they'll try to sue a bunch of people.

</comment></comment></comment><comment><USER24> Hopefully Ubuntu makes a similar switch in the near future. Long overdue at this point.

<comment><USER25> Totally agree. I have been feeling this gut for nearly everything open-source out there. It's time to reign-back-in! Sorely.

</comment></comment><comment><USER26> The interesting part about this is that MariaDB is only a drop in replacement for MySQL 5.5. MariaDB isn't porting to MySQL 5.6 (which came out last month), instead they are going to try to reimplement all of the functionality from MySQL 5.6 which will probably never finish:

<http://blog.mariadb.org/mariadb-10-0-and-mysql-5-6/>

</comment><comment><USER27> Slackware is doing this too.

<comment><USER28> Apparently Fedora and SuSe also decided to a while ago.

<https://news.ycombinator.com/item?id=5147574>

</comment></comment><comment><USER29> How easy is it to switch a production environment (millions of users, TBs of data) from MySQL to MariaDB?

</comment><comment><USER30> Is MariaDB Galeria Cluster mostly-the-same as MySQL Cluster?

</comment><comment><USER31> The queen is dead. Long live the queen.</comment>


Yahoo's new logo spotted - <AUTHOR> https://login.yahoo.com/config/login?.src=flickrsignin

<comment><USER2> That's not their _real_ new logo. They are doing "30 days of change", where they use a different logo each day, leading up to the real on one on Sept 5. The OP is the day 24 logo.

[http://www.yahoo.com/dailylogo](http://www.yahoo.com/dailylogo)

</comment><comment><USER3> I'm pretty sure that this is just temporary as it's part of Yahoo's Thirty Days of Change ([http://www.yahoo.com/dailylogo](http://www.yahoo.com/dailylogo)).

</comment><comment><USER4> Better than the current one, but not really that great? It feels like they're riffing on the new iOS 7 style but not quite pulling it off...

<comment><AUTHOR> The original logo reflected fonts from early 2000 and the new one is light weight font,Microsoft started using it few years back before Apple adopted it.

</comment></comment><comment><USER5> 83,377 opinions, 24 new Yahoo! logos. Only 1 has beaten the original:

[http://polarb.com/polls/tags/yahoo30](http://polarb.com/polls/tags/yahoo30)

</comment><comment><USER6> Dear lord. Just pick one. Stop. Stop.

</comment><comment><USER7> I first read it as 'ACHOO!'

</comment><comment><USER8> Way better than the current one IMO.

</comment><comment><USER9> Yah-Do?</comment>


Fizz Buzz in Tensorflow (2016) - <AUTHOR> http://joelgrus.com/2016/05/23/fizz-buzz-in-tensorflow/ <comment><USER2> Hilarious! From the comments: "I think I count 0.90 fizz-accuracy, and 0.99 buzz-accuracy. So it's clearly harder to teach fizzing than buzzing."

The real machine learning that takes place in an interview is to develop an expertise model for your interviewer as quickly as possibly from their general demeanor and comments. You should then generate answers that are 90% within that limit (to generate sense of comfort and rightness) and 10% above (to generate awe).

</comment><comment><USER3> Related presentation by Joel:

[https://www.youtube.com/watch?v=BgBrYpihvLY](https://www.youtube.com/watch?v=BgBrYpihvLY)</comment>


Programming Languages: Survivors and Wannabes (1996) - <AUTHOR> https://www.nytimes.com/1996/09/09/business/programming-languages-survivors-and-wannabes.html <comment><USER2> Very simplistic and shallow list, but it's by Charles Petzold, noted Microsoft shill and bad tech book writer.

In '96, LISP (tail end of the AI winter regardless), Perl (half the WWW was Perl), Tcl (maybe a quarter of the WWW and telnet-based services were Tcl), awk, & Ada were quite common, and Smalltalk, RPG, REXX, & PL/1 were at least as common as COBOL. Python was still obscure but gaining ground. PHP had just been released like smallpox on a vulnerable population.

I had a laugh at Delphi being for people who hate Microsoft. Its actual virtue was good performance and safety in large programs, you bought Borland tools because you wanted to double your program's speed, not for ideology.

<comment><USER3> > Based on a totally unscientific survey (those programming languages that > occupy at least 3 feet of shelf space in the McGraw-Hill Bookstore in > Manhattan)

Use a bad metric, get bad results.

Who else remembers this era of giant, unhelpful, rapidly-obsoleted books in the computer section of bookstores? Who remembers bookstores? OK, OK, I've been into Waterstones recently, but it never occurred to me to look at computing related books. What use would they be?

1996 was the beginning of the O'Reilly heyday. If you got a book with a white cover with a coloured bar and animal woodcut on it, there was a good chance of it being helpful. Otherwise it was a lottery - there was a cottage industry of people turning out bad books about software filled with screenshots that mostly replicated the online help.

<comment><USER4> Next level: fill whole pages with output from random Linux commands with 4 verbosity flags set: [https://imgur.com/a/rnVE9u4](https://imgur.com/a/rnVE9u4)

Spent 45 EUR on this Linux Network Administration handbook by Addison-Wesley Germany as a teenager. Still hurts whenever I think about it.

(Yes, the author also did the screenshot thing: "Look, this is how you configure it using SuSE YaST, and this is how you do it using the Red Hat GUI. Let me show you every single step of the wizard GUI, just to be sure. And this is basically the whole default config file for this daemon, but with "# Created by Bad Tech Writer" prepended. There you go!")

</comment></comment></comment><comment><USER5> > Java's biggest selling point is that little Java applications (called > applets) can be incorporated in a World Wide Web page along with text and > pictures.

Not anymore.

<comment><USER6> Haven't you got the memo?

[http://teavm.org/](http://teavm.org/)

</comment></comment><comment><USER7> Anders Hejlsberg is Danish, not Swedish - and this is about as factually correct as Petzold ever gets in the part about Pascal. The article is from September 1996. Delphi 2 was out by then, and taking 32 bit Windows development by storm. Delphi programmers generally had nothing but scorn for Visual Basic. _Not_ because it was Microsoft, but because it really was a shitty tool, and programs produced with it tended to be slow, bloated, hard to maintain, and often poorly coded.

</comment><comment><USER8> > BASIC, the Beginners All-purpose Symbolic Instruction Code

I think that BASIC has been replaced by JavaScript. The lack of typing and the immediate feedback match the same uses.

> PASCAL was invented in the late 1960's by Prof. Niklaus Wirth of Zurich as a > tool to teach students proper programming structure before their brains > became hopelessly warped by Basic.

Java fits this niche. It introduces typing and object oriented programming in a very structured way making it good for teaching. And it has not the hardness of C++.

> C is a terse, elegant, deceptively simple language that allows programmers > almost unlimited flexibility.

C is being replaced by C++. But, without an ABI, C++ is not a complete replacement. So, C still goes strong for interfacing with the OS.

<comment><USER9> I don't think I'd describe C++ either "terse" or "deceptively simple"

<comment><USER8> You are right. C++ does some of the opposite trade-off that C does.

C++ is good for speed, good mapping with hardware features and fine tuned memory management. There is a replacement for C. But, it chooses to add complexity to the language to facilitate memory management, expressiveness and other perks. So, in that regard is the opposite that C.

<comment><USER10> I think people who have been using c for the last 15 years and haven't started using c++ for a given application are unlikely to ever start using c++, so it's not really a replacement. Additionally c++ keeps piling on complexity, so I suspect adoption is going to slow; C will likely outlast, not be replaced by, c++, since it's use as the foundation for operating system kernels and vms is going to be hard to assail, not to mention it's use in native function interfaces.

<comment><USER11> We use C++ (17) to program an embedded POWER processor with 16kB of scratch pad memory and a custom vector extension. The compile time features of c++ alone (templates, constexpr) and lambda, namespaces, typed enums alone make it much safer and better than C.

<comment><USER12> Well, "better" is a loaded word, and you need to remember that C++ is not a superset of C. The two languages intersect in a fairly large subset of C, but there are parts of C++ that are not the same. I would claim that C++ is remarkably less safe than C because of the crazy games some people play with what's laughingly called "template meta-programming." You can abuse the C preprocessor, but not to the extent that its C++ mode permits.

That aside, the comparison of programming languages to automobiles still holds: C is a Formula One race car without seatbelts. C++ now resembles Ada in terms of size to the extent that it's a large staff car that comes in only one color. Java, which originally seemed to be a sane C++, is sort of like my father's Buick -- it looks nice but when you really need to do something slightly out of the ordinary like carry skis you can't do it without an accessory. That's right, it is a proprietary language (hence C#)

<comment><USER13> > _C++ is not a superset of C_

C++ contains a subset which is a dialect of C that is so compatible with C (in particular C90) that you can write code in it that compiles as C, and with very little effort. (Which I know from extensive personal experience, not just theory).

(Such code benefits from the extra checks and diagnostics C++ provide; and with some #ifdef switching and macros, it can take advantage of some additional C++ diagnostic fatures when being compiled as C++.)

Quotes from Bjarne Stroustrup's C++ FAQ:

"Well written C tends to be legal C++ also."

"It is not uncommon to be able to convert tens of thousands of lines of ANSI C to C-style C++ in a few hours. "

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> My biggest take away from this is noticing America was in a much better mood in 1996.

> In theory, the use of objects makes program code easier to maintain and > reuse, although no one has actually shown this to be true.

This has gotta be the cheekiest thing I've ever read in NYT outside the opinion pages.

>As a programming tool, it has roughly the sex appeal of a wrench.

We're way too sex negative and tightly wound for such a metaphor to get past copyeditors today.

</comment><comment><USER15> No mention of Ada in 1996? How rude!

<comment><USER16> I've spent a large percentage of my life in bookstores and I have never seen an Ada book. I've never met an Ada programmer or met someone who knew an Ada programmer. Is there any proof that the language actually existed? Maybe it was a CIA plot to trick the commies into wasting their time.

<comment><USER6> I have bought a couple of them during the mid-90's in Lisbon technical bookstores for university students.

Our university library also had a couple.

Indeed our university library was a treasure well for anyone doing the compiler design and systems lectures.

<comment><USER17> As a student in Lisbon, may I ask which university?

<comment><USER6> FCT/UNL, back in the mid 90's.

Smalltalk, Concurrent Pascal, Oberon, Concurrent C, ML, Eiffel, __*Lisp, Algol, Ada, and many more on the library section available to Master /Phd students.

<comment><USER17> Very interesting. I'm very disappointed at the state of my faculty's library (FCUL). Even landmark works by the most influential of computer scientists are missing, being in their place endless copies of mindless "for dummies" garbage from the 90s and 00s.

</comment></comment></comment></comment></comment></comment><comment><USER18> > In its general syntax, Java is very much like C++. But it does introduce > some changes that (depending on your perspective) correct some flaws of C++ > or botch up some features.

Are you sure about that? Was java really like C++ during it's earlier years?

<comment><USER19> Java was designed to have a syntax familiar to C++ programmers as its original intended use case was on embedded devices where C++ was king.

What about the language design makes you think it _is not_ influenced heavily by C++?

<comment><USER6> Interfaces are based on Objective-C protocols.

The class reflection, dynamic loading, JIT come from Smalltalk.

Checked exceptions from CLU, Modula-3.

Packages from Modula-2, Mesa, Ada,...

GC from Lisp, Mesa/Cedar, Similar, Smalltalk,...

<comment><USER20> Java takes a lot of features from a lot of different languages, but I too remember Java being intended as an improved C++, by keeping most of the syntax, while adding some badly needed features like memory management, exceptions, more consistent standard classes (at the time; it's turned into a mess now) etc.

<comment><USER6> Just like it happened with Go, around 20 years later.

However the similarities are only superficial, given the semantic differences.

Here are some nice links regarding it.

[https://cs.gmu.edu/~sean/stuff/java- objc.html](https://cs.gmu.edu/~sean/stuff/java-objc.html)

[https://www.artima.com/intv/gosling1P.html](https://www.artima.com/intv/gosling1P.html)

</comment></comment></comment></comment></comment><comment><USER20> I love the blunt wit of the article.

So how should a modern version of this list look?

Surely Pascal and Basic are gone. Javascript is near the top spot. I think Python really needs to be on the list too. Is COBOL still relevant? In some ways Java is becoming the new COBOL now. C#? Go? Ruby? PHP?</comment>


Sony sued over PSN "can't sue us" clause - <AUTHOR> http://www.geek.com/articles/games/sony-sued-over-psn-cant-sue-us-clause-20111220/ <comment><USER2> Xbox 360's latest dashboard update has a revised TOS that includes a very similar clause.

I'm a big fan of the Xbox 360, but I wouldn't mind seeing Microsoft get hit by this as well.

As much as I like the Xbox 360 and Xbox Live products, I hate this increasing practice of revising the TOS as part of an update which, because of the design of the system, is essentially a required update unless you want to turn the product you already own into a brick (game updates often require the latest system updates to be present, playing games online require the latest game updates, basically you either have to update or the system quickly becomes totally useless, and you can't update without "agreeing" to the new terms).

<comment><USER3> Especially with no refund option. If I don't agree to the new software terms, I can't sent the console hardware back to Sony/Microsoft.

But I've always questioned the legality of waiving your legal rights in such a manner. It's always seemed paradoxical to me, at best. Using the systems provided by the courts against me to ensure I have no further recourse in using the courts against them.

<comment><USER4> It especially pisses me off when one group (Apple) does it and I am also financially bound to AT&T so I can't even walk away. Those need to be decoupled: Apple changes their TOS, I refuse, and thus I am released from my AT&T contract. That, I believe, would at least slow down these changes for the coupled contracts.

<comment><USER5> You could always buy the device outright instead of letting AT&T subsidize it.

</comment></comment></comment></comment><comment><USER6> General Motors finds flaw in one of their engine designs putting millions at risk. It responds by requiring all drivers to waive their right to sue, or they will send an engine kill signal through onstar.

<comment><USER7> I wonder just how much the consumer electronics industry considers lawsuits against them when deploying technology, TOS, or really _anything_ to the customers.

Back in the day when I was in the auto industry, I noticed that my managers were incredibly conscious of the potential lawsuits when considering any product, technology, or service. When BMW deployed tire air pressure monitors in their cars, my manager commented, "I wonder if they've considered the possibility of lawsuits coming their way when one of those systems fail to notify a low tire pressure, and the customer gets into an accident".

Do you think it possible that the consumer electronics companies are more complacent with respect to lawsuits from the customer, because their products and services can never threaten people's lives, and hence will rarely trigger a drastic and catastrophic legal response?

</comment></comment><comment><USER8> I have a small fantasy of somehow forcing a company to agree to MY terms and conditions.

"By accepting this payment, you agree that..."

<comment><USER9> I wonder if a payment provider (Visa, Amex, etc) could insert consumer friendly terms into their merchant agreements.

<comment> steve-howard Here's one that almost every small merchant ignores: <http://www.mastercard.com/us/business/en/common/faq.html#211>

"Q: Can a merchant charge me a fee to use my MasterCard card? Can a merchant require a minimum purchase amount to use my MasterCard card? A: The answer to the first question is almost never; the answer to the second question is not ever."

<comment><USER10> Travel agents and airlines throughout Europe started to charge processing fees (usually ~ 8EUR by airlines) when you pay by credit card.

Unfortunately there is usually no other reasonable means to pay for the service so I bite the bullet and pay it.

It bugs me and annoys me, but I think - at least in Europe - this is perfectly legal and within the framework of the merchant agreements.

(Don't get me started on the 20 Euro "Service Charge" I pay when I purchase a flight ticket on the internet for the privilege of doing their work by hacking the necessary data into _their systems_ )

</comment></comment></comment></comment><comment><USER11> It shouldn't even be legal to be able to give up your right to sue.

<comment><USER12> In many countries, you can not give up your right to sue. For example in Australia, when you go skating and there is a sign "Skate at your own risk" it means nothing.

<comment><USER13> A lawyer needs to chime in, but I believe those signs in the US may only help some in cases of accidents. Just putting up a sign that says 'do X at your own risk' does not suddenly free the liable party from being sued for something happening due to negligence.

<comment><USER14> In the U.S. the sign would be relevant only to the extent that it would support a finding of contributory negligence (i.e. you were aware of the risk and took it anyway), which would be the case in Australia too since it's a common law concept. It would not bar a suit.

In general, you cannot in the U.S. sign a blanket waiver giving up your right to sue. Waivers are generally narrowly construed to limit their scope to what the parties foresaw, and some types of waivers are just void as against public policy. For example if you sign a waiver of liability when you go skydiving, it might protect the skydiving company against a suit if you land the wrong way and sprain your ankle, but it won't protect them against a suit if the pilot was drunk and the plane crashes.

</comment></comment></comment></comment><comment><USER15> It looks to me like Sony is being sued, not over the clause itself, but in their application of it and the circumstances surrounding it.

That is, that it was patched in, bolted on toward the bottom of an agreement that is difficult to even read on a console, that the opt-out method is unnecessarily cumbersome, and that opting-out would take away an advertised feature of the purchased hardware with no recourse.

Because the more general question of "is this clause even legal?" was famously settled not all that long ago by the SCOTUS in the AT&T Mobility case.

[http://lawprofessors.typepad.com/banking/2011/05/us- supreme-...](http://lawprofessors.typepad.com/banking/2011/05/us-supreme- court-okays-binding-arbitration-clauses-prohibiting-consumers-from-joining- class-actions.html)

<comment><USER16> As I understand it, the AT&T case determined that clauses restricting consumers from engaging in class action lawsuits were legal. But in the Sony case, their clause restricts a consumer from suing in court and instead, must bring the arbitration to a neutral body (but not court). This scenario seems much more harmful and possibly infringes on a very, very important right.

<comment><USER15> The AT&T case was not specifically about class until it hit the SCOTUS. The case was originally found for AT&T, with the court finding the clause was fine. The California Federal Circuit court reversed that decision, because it felt the clause was 'unconscionable' because it _also_ signed away the right to sue as a class. The SCOTUS rejected that interpretation, upholding not only clauses that deny the right to sue as a class, but the arbitration clause itself.

</comment></comment></comment><comment><USER17> Sony should win the "most suicidal company of the year" award.

<comment><USER18> Tied with RIM.

<comment><USER19> And Nokia. And, arguably, Netflix.

We'll call it "The Digg Awards".

<comment><USER20> Let's go for "The Delicious Digg Awards".

</comment></comment></comment></comment><comment><USER14> It's not exactly a "you can't sue us" clause, but more like a "you agree to arbitration" clause. Courts will generally not construe such clauses to prevent suit in situations like if your XBox explodes and injures you, but thanks to the good old boys in Congress (fueled by conjured fears of frivolous litigation) and the laws they've passed endorsing arbitration rather than litigation, courts give more effect to such clauses than they otherwise would.

</comment><comment><USER21> Maybe I'm incorrect, but I recall reading (when Sony first implemented this clause) that Sony was only doing so because there was another company that provided a similar case in court, and won, and therefore they had precedent, etc. In that case it also explains why Microsoft also is able to introduce it, that being when something like this happens, they are able to refer to the original court case. I'm interested to see how this turns out.

</comment><comment><USER22> I have never understood those clauses in contracts that force any settlements to go straight to administration. How is that legally possible?

<comment><USER23> How is it possible to promise in a contract that you will not do something you would otherwise be legally entitled to do? Well, that's half the point of a contract. You may as well say, "What's with this clause in the contract that says Sony can't sell our data to scammers? How is that legally possible?"

The real problem IMO is the circumstances under which the clause is presented, not the basic idea of arbitration.

<comment><USER22> I had never thought of it that way. I guess the distinction I am making in my head is between the contract and the way in which the contract is enforced. I have always felt uncomfortable when those two circles have overlapped.

</comment></comment></comment><comment><USER24> I wonder if anyone has tried returning an electronic device to a retailer (could be a console, but also a printer or scanner) claiming it was unfit for its purpose, on the grounds that it would not work without drivers but the customer was unwilling to accept the EULA required to install the drivers.

</comment><comment><USER25> This is why I don't buy Sony products. I just bought a new TV two days ago, rejecting a Sony TV. I have no regrets; I found a better TV after a little more looking. Sony has lost thousands of dollars from me alone due to crap like this.

</comment><comment><USER26> It is ridiculous that a company like Sony, can't guarantee the minimum effort into delivering a secure product to its customers. My opinion is that it's not important if the clause will stay or not, because the reputational damage for only trying to introduce it, it's a complete failure for them for one simple reason: it's dishonest.

Sony, Microsoft, EA, etc. stop abusing our patience and please deliver a great, secure, product like it's meant to be.

<comment><USER27> I wish the reputation damage was real but dispite past transgressions by Sony I see no decrease in fawning over whatever new cool product or movie they release. Even tech sites that should know better complain about Sony in one post while promoting their products in another.

<comment><USER28> For what it's worth, I'm one customer they've driven away.

Their handling of the hacking attack was the final straw for me: it finally convinced me that continuing to buy things through PSN would be unwise. I bought an Apple TV as a replacement for online movie rentals and although I still buy PS3 games it's in-store now rather than online. So far it's working out great!

<comment><USER29> I haven't knowingly bought a piece of Sony hardware or audio since their root- kit fiasco. In fairness, based on their products, they haven't really made this difficult to commit to.

<comment><USER30> Agreed, seems like you're not missing much. Sony gear I bought in the 80s and early 90s still works. Sony gear I bought in the last decade has already failed, usually in under 5 years. I quit buying it, as it doesn't seem like it's made by the same company.

</comment></comment></comment></comment></comment><comment><USER31> I simply adore the irony of this.

It's not like it wasn't expected. You can't just expect people to sit back and accept this.

I hope they are forced to remove the "no sue" clause for good.

</comment><comment><USER32> Godel, Escher, Sony?</comment>


The limits of open source with Illumos and OmniOS - <AUTHOR> https://utcc.utoronto.ca/~cks/space/blog/solaris/IllumosSupportLimits <comment><USER2> As has been pointed out on Twitter,

> this is funny because his main beef is actually due to systemic problems > inside Intel, not Illumos or FOSS

[https://twitter.com/kevinbowling1/status/714352429333086208](https://twitter.com/kevinbowling1/status/714352429333086208)

<comment><USER3> Since I can elaborate more on here vs twitter, I have a senior engineer spending 100% of his time fixing Intel drivers at my company for coming up on 2 years. The FreeBSD driver is somewhat related to the Linux driver but Intel has obligations to put out a copyfree implementation. I believe this was then ported to Illumos a couple years ago.

ixgbe works relatively well on Linux and FreeBSD right now, but there are still occasionally surprises and it is less efficient than other options. What's astonishing is that you can get better HW with _much_ better drivers from other companies for cheaper. The Chelsio t520-so-cr is unequivocally better than the intel x540 and costs less. Chelsio, Mellanox, SolarFlare are all good choices for Linux, FreeBSD. I think Chelsio has a Solarish driver for Illumos, not sure about the others.

Inside Intel, the Windows team, Linux team, FreeBSD team do not talk to each other. They appear to not be able to talk to the HW team either. Several large and influential companies have been trying to force Intel to clean up their FreeBSD drivers. They have taken action, and that action has been pretty disappointing. The Linux driver and commit logs are also illuminating since that would presumably have massive market share.

Intel's 40g parts have been fraught with issues at the HW level. The drivers were barely able to outperform 10g at release. This kind of slop is not normal. It should not be rewarded in the market. I had an uphill battle convincing old timers that Intel NICs went so far down hill from the good old days, but after a lot of analysis we have totally written them off for the next two years.

<comment><USER4> Is it truly hardware? I had to deal with radios for years, and the vendor- supplied driver was always poor. It came from some SOM company, who got it from the radio designer. It was always a demo driver, intended to show off the chip features but no effort put into performance or error recovery.

It seemed nobody in the 'chain of custody' of a driver had any incentive to make it work well, in a commercial setting. At best, it was consumer-quality. By that I mean, it worked until it didn't. For a radio, it meant if roaming jammed up then just take the radio dongle out and put it in again. Which in a commercial device (like a forklift touchpad) which had the radio sealed behind a panel, it was junk.

So I had to fix features, performance, bugs, timing, power management, the works. E.g. to get a radio driver fit for a WalMart distribution center forklift going 15mph, it had to roam in milliseconds and choose between 60 APs in radio range. And run for a 12 hour shift without recharging. The chipmaker driver was never, ever good enough.

<comment><USER3> Dollar for dollar, the Chelsio and Mellanox HW is better in terms of features. Better drivers and vendor support at lower purchase price make it a no brainer. I don't know about SolarFlare pricing but it is also better HW.

igb and ixgbe HW seem to be fair, but you can go look at the HW errata to judge for yourself. Intel had to recall the XL710 due to silicon issues. They also had a firmware incident that fundamentally changes the driver interface, so a particular driver will not work between different FW revs.

</comment></comment></comment></comment><comment><USER5> The solution is obvious: pay someone to do the work. That's how 80% of Linux kernel development is done. Just because it's free software doesn't mean that you shouldn't spend money to make it better.

</comment><comment><USER6> Is ixgbe really that much worse than Chelsio's?

<comment><USER3> In a word: yes

<comment><USER6> Hardware as well?

<comment><USER3> Yes, but hopefully anyone doing this for real will compare whitepapers and errata for yourself, then lab test them. The T5 ASIC is in a different class than intel's parts, it can be used as several types of offload engine if that seems like a good fit for things like iSCSI, or it can be used as a very solid stateless offload NIC with tons of VFs for things like Netmap, zones/jails, or HW virtualization. Most people don't push NICs very hard, so it doesn't matter that much. If you do, you probably already have a strong opinion (i.e. glance at Netflix OpenConnect build docs).

<comment><USER6> I was planning 10G networking in my home lan, so I guess I'll eye Chelsio NIC then. Hope they're not too expensive.

<comment><USER3> Typically cheaper than Intel I bought from Netgate for my personal colo machine [http://store.netgate.com/Chelsio/T520-SO- CR.aspx](http://store.netgate.com/Chelsio/T520-SO-CR.aspx)

<comment><USER6> Doesn't Chelsio offer copper 10G port NICs? 10G non-fiber (aka Cat.7) has been my plan.

<comment><USER3> They do, but twisted pair uses more power. You should use Twinax copper cables with the SFP NICs and switches if you don't want fiber.</comment></comment></comment></comment></comment></comment></comment></comment>


Firefox 4 beta's user input tracker - <AUTHOR> http://input.mozilla.com/en-US/

<comment><USER3> Restrict the platform to Mac OS X or Linux (in the sidebar on the left) and the praise curve changes dramatically.

<comment><AUTHOR> That's incredible. I would expect OS X to be a bit neglected, but I'm surprised that the Linux version has more complaints than the Windows version. You would expect that to be a popular platform for people who would develop Firefox.

Then again, perhaps Linux and OS X users are just more picky than Windows users.

<comment><USER4> As I understand it, the Firefox project was started explicitly to develop a better browser _for Windows_ (as opposed to the main Mozilla project at the time, the cross-platform Mozilla Suite). The whole idea was to challenge Internet Explorer's hegemony, and Linux users were (obviously) incidental to that goal.

As far as I know, Windows is still the priority OS for Firefox. Certainly, for a long time Firefox's Javascript performance has been noticeably worse on Linux than on Windows. And the shiny new hardware-accelerated rendering in 4.0 is Windows-only. And let's not even start on Flash (not that the Firefox team can be blamed for that, but it's a part of the browser experience).

<comment><USER5> (disclosure: I work for Mozilla)

Is any JavaScript engine faster with GCC than with MSVC? Most of the difference I've observed has come down to compiler quality on 32-bit Intel systems. I don't think Linux vs Windows has much to do with JavaScript performance.

<comment><USER4> I have definitely perceived Firefox to be slower on Linux than on Windows, particularly with Javascript-heavy apps. (Moreso in the days of 3.0 admittedly - I barely use Windows now anyway so I can't compare.) I was also under the impression that this was a common and widespread perception.

I don't know exactly what's the cause of the slowness I perceive - <USER2> it's the Javascript VM or the DOM implementation, or some interaction of those with something more plausibly platform-specific. I'm afraid I haven't tried recompiling Firefox with different compilers to test this!

</comment></comment></comment></comment></comment><comment><USER6> The first comment for Win XP I saw:

":( incompatible with farmville toolbar"</comment>


Steve Yegge: Have you ever legalized marijuana? - <AUTHOR> http://steve-yegge.blogspot.com/2009/04/have-you-ever-legalized-marijuana.html <comment><USER2> One important difference between credit card buckets and marijuana legalization is that the latter can be done in increments. With credit card buckets, you'd have to produce a complete working system before it benefits a single person. With marijuana legalization, you can make relatively minor changes to the law with immediate benefits which don't have far-reaching repercussions.

For example, the federal government can stop making raids on places that provide medical marijuana to cancer patients. Eric Holder has already announced this, and he's not even in favor of legalization. This has immediate benefit without interfering overly much with the other systems mentioned.

Also, many (though not all) of the issues described are state issues rather than federal ones. Whether you can smoke cigarettes in bars varies by locality, and presumably this would be the same for marijuana.

Ultimately, many of these issues would be decided by the courts rather than the legislature. We have a common law system that thrives on vague laws being interpreted and refined by rulings on specific instances of conflicts between different laws, principles, and common sense.

Obviously I'm hand-waving, and the essay is 100% correct about how difficult this would all be. I've thought about some of these issues before, but others were mentioned that had never occurred to me, and I don't have good answers for many of them.

Still, we can legalize incrementally, let states and localities handle the minutia, and allow the courts as always to hammer out a set of standards over time. This legalization a lot more doable than the impossible-once-you-really- think-about-it credit card buckets.

<comment><USER3> I think it's a key insight that we can incrementally improve the law, but a credit-card bucket system must be fully implemented before anyone uses it. We can and do use this feature of the US legal system on a near daily basis to make meaningful improvements over time.

However, I think this point is significant: "People will die. It's a certainty. Some people are going to die as a direct consequence of legalization of marijuana." It's okay to release a crappy messaging website and iterate it into goodness, but it's irresponsible to do the same with medical software. In the same way, when people's lives are at stake, we have a responsibility to produce good laws from the start, so even if we don't get it perfectly right immediately, all of the complicated details that Steve brings up have to be thought through, or else there could be major negative consequences during the stabilization period.

<comment><USER4> 'However, I think this point is significant: "People will die. It's a certainty. Some people are going to die as a direct consequence of legalization of marijuana." '

People are already dying as a result of current marijuana laws.

If your current medical software is buggy and causing deaths, you want the replacement to be solid but you also can't wait until you are 100% sure. You need to be sure enough that the consequences, bugs and all, are an improvement.

</comment></comment></comment><comment><USER5> The recent post by Daniel Tanner on how to be relentlessly resourceful, and Joel's long favoured essay on "smart and gets things done" seems fine when resourceful means "smile and make a couple of phonecalls", but it fails somewhere on the gradient up to where this post discusses changes at Amazon. Steve Yegge seems both 'smart' and 'gets things done', yet he wrote this post on how difficult changes can be, and how many they regularly turned away at Amazon. I think the "smart and gets things done" meme is really saying don't stop so soon.

Our laws grandfather in certain accepted behaviours which would be enormously difficult to retro-fit. Can you imagine trying to get gas (petrol)-fuelled vehicles going if they weren't allowed already? Driving tankers full of explosive fuel on public roads to gas stations on every corner where it will be kept in big tanks underground and pumped by untrained people into vehicles easily up to 25 years old maintained on an ad-hoc basis...

Our systems and businesses behave in the same way, too. As a startup you can get away with anything you can get away with. Had no backups for the first year? Ha ha, that was lucky, eh? Ran on a friend's server for 6 months? Left some customer details on a laptop that was stolen? Good thing you were small enough that nobody picked up on it and it made no scandal and caused no problems. Billing done mostly from one person's head? When you get bigger, you can't do that. Which means just starting a project becomes many times harder.

I think we overlook this effect quite a lot on dicussions on HN, where big companies are considered slow moving because they are inefficient and bureaucratic, whereas really, a lot of said "bureaucracy" covers things we want the companies we deal with to handle properly.

As Daniel's post said, as a consultant his task was to 'do the impossible'. I suspect quite a bit of this comes from being able to drop enough "important" "must have" requirements to be able to get moving again.

</comment><comment><USER6> Lawmaking is not programming. In case you haven't noticed, Congress can pass vague, incomplete, and self-contradictory legislation, and it won't generate a compiler error or crash the system. Steve Yegge underestimates four things:

1\. How vague, illogical, and incomplete most of our laws are.

2\. The capacity of lobbyists and congressional aides to generate thousands of pages of detailed (though absurd, incomplete, and self-contradictory) legislation.

3\. The capacity of lobbyists and regulators to generate thousands of pages of regulations specifying how legislation should be interpreted in concrete situations.

4\. How well this apparent clusterfuck actually works in practice.

Is it a problem of "vast, unimaginable complexity?" Sure. Can we commit to an underspecified version of it and let the chips fall where they may? YES. It's the only way we get anything done in the US, and probably the only way to get anything done in _any_ democracy.

<comment><USER7> Actually, by law, no California law can unintentionally contradict another California law. (You can repeal laws or parts of them, however.) They have an entire state agency whose job it is to make sure that this never happens. I have no idea how successful they are.

</comment></comment><comment><USER8> On the credit card question, these already exist - they're called Corporate Purchasing Cards. The reason credit card companies don't do buckets is, as Steve alluded, the merchant data isn't granular enough and in order to place restrictions on what cardholders can buy you have to know the bucket type of every item that merchants sell. That's a huge problem which even the best Corporate Card companies have trouble solving. American Express is #1 in terms of data but the cardholder often still needs to explain which bucket the purchase goes into. (One reason you need a special POS cardreader for Amex is to inform the Purchasing Card transactions which bucket to use.)

</comment><comment><USER9> Just some information about the legality of marijuana in The Netherlands. I know very little about this, but the knowledge I have by virtue of living there and the discussions that are going on about it is probably more than that of some other people here.

Basically, Steve is right: shit's not easy.

Also, it's not legal here. What actually happens is that the laws regarding possessing pot aren't enforced when you have less than a few grams. You can smoke it on the streets and in your home. It may offend or annoy some people when you do it on the streets, but it's generally accepted. I'm not sure what would happen if you "walk into a restaurant, roll a joint and start puffin' away", I've never seen it happen, but I suppose you would be asked to put it out. (Like you would be if you were smoking tobacco.)

There are shops - we call them "coffee shops", an interesting story of euphemisms - where you can buy some pot. Not too much. And you have to show some ID and be older than 18 years. (Beer and wine, by comparison, can be legally bought at age 16. Spirits are also available from age 18.) These shops are checked quite well and will be closed when there's even a minor thing "off".

Now, here comes the interesting part. They're allowed to buy and sell, but there's no one that can legally sell to them. It's illegal to import the stuff and it's illegal to grow more than a few plants. There are crackdowns on pot growers. It's an interesting case of double-think that leads to some minor discussions.

A big issue is international pressure, mostly from Belgium. Border municipalities on our side of the border do have pot bars and drug tourism happens. This actually attracts a lot of criminals on both sides of the border. In Belgium people going to The Netherlands are stopped by drug "salesmen" looking to make a sale.

These border municipalities also have a lot of hindrance from the drug tourists who generally cause a lot of disturbances of the peace.

International treaties (ranked above the constitution in the hierarchy of law here) prohibit most of the inconsistencies to be solved and gives other countries a bit of a bat to hit us with. The whole issue is pretty fragile here. The current largest party is slowly moving it's position to oppose the current policy of "tolerating" soft drugs. At present, it's unlikely that they'll get a majority in parliament. I don't think it will become illegal again anytime soon, but there will probably be additional restrictions on the use and sale of marijuana. As for the long-term future, I don't know what it will bring. Currently the country is getting more conservative every day, but there's also a bit of a backlash growing.

So, yeah, Shit's NOT Easy.

<comment><USER10> > It's illegal to import the stuff and it's illegal to grow more than a few > plants.

Say that a thousand people each grew one plant, and then sold them all to a single person, serially, so that that person only owned one at a time, but was constantly "in stock" when anyone else wanted to buy from him. It sounds like that particular situation would be perfectly legal.

<comment><USER11> It's important to remember that legal systems have humans in them, too. It's one thing to read a law, spot a loophole, and exploit it relative to what a hypothetical law computer[1] would say the law is. It's another to see a loophole, exploit it, and _convince a human_ that what you did is not covered by the law.

Yeah, sometimes it happens, but I think we hear about it when it does because it's _news_. Much more likely, somebody's going to jail anyhow with your scheme. Judges are not stupid, in general.

1: You know, this guy: <http://futurama.wikia.com/wiki/Computer_Judge>

</comment></comment></comment><comment><USER12> Steve has a giant Obama button at the top right of his site. One of Obama's core platform issues is universal health coverage in the United States.

Which do you think is easier: Ceasing to incarcerate marijuana users, or running a giant new universal entitlement? This post reads less like a serious inquiry into the complications of legalization and more like an apology for the administration's maintenance of the status quo.

<comment><USER13> Difficulty must be weighed against importance - far more people care deeply about universal health coverage than legalization of marijuana, so the same amount of effort provides a far greater return in the former case.

<comment><USER14> Do you mean a far greater return in terms of votes? ("far more people care deeply...") I care fairly deeply about UHC, but mostly that they put some sensible cost ceilings on it.

</comment></comment></comment><comment><USER15> Shit's hard, sure, but that's why we have a full-time government and all their associated aides to do it.

Complexity is not something that should be carte blanche ignored, but it also should not be the determining factor for any major decision. Prohibition, repealing prohibition, abolishing slavery, women's suffrage, and desegregating schools were also hard, but that wasn't a reason for not doing it. In the software world, search engines, networking protocols, transaction programming, and email were also much more complicated than their simple descriptions imply, but that doesn't mean they didn't get done.

My point is this: everything has a cost, but that doesn't mean it's not worth that cost. The reason VPs and others think at that level of abstraction is so they can clearly see the benefits without having to immediately balance it against the cost. If they can sell these benefits to the implementers, stuff gets done. If not, it doesn't. They're not living in a dream world where anything is possible; they're doing the "benefit" part of a cost/benefit analysis, because benefits are not always as tangible as the costs.

Complexity is just another cost to be considered, and it can be overcome with hard work.

</comment><comment><USER16> How about this idea, for a start?

Legalize possession.

Then create a single government-owned company that will be the only entity legally allowed to sell marijuana.

That way everything stays under control. It solves the quality issues, and all of the current sellers and distributors of marijuana are still illegal so the DEA can keep doing what they were doing.

It seems to me like this option would require very minimal legal changes.

Afterwards, if it is successful, we can slowly expand. Have the government slowly issues licenses to sell marijuana to some of the larger pharmaceutical companies, slowly legalize some advertising of the product, etc.

You don't need to completely legalize it and make it a free-for-all on the first day.

<comment><USER12> > Then create a single government-owned company that will be the only entity > legally allowed to sell marijuana.

Just in case you've never been to Pennsylvania, we still have to buy wine and liquor from the single government-owned entity legally allowed to sell them that was set up at the end of (alcohol) Prohibition. These monsters have a habit of taking on lives of their own.

<comment><USER17> I don't think the government will see that as a problem. The point is to end the drug trade, not provide the best weed at the best price to the most people.

</comment></comment></comment><comment><USER18> Definitely another entertaining rant, both about the difficulty of legalizing marijuana and the dangers of equating obvious with easy.

My big problem with his rant about the difficulty of legalization is that people are suffering badly, right now, and you have to weigh that against the challenges of "the project".

There's "stop the bleeding" and "cure the disease." Sometimes, you can't wait for a full plan on the cure. In my opinion, denying cancer patients a drug reduces pain and improves appetite counts as bleeding. At some point, you have to deal with the consequences later.

Which we do - California's medical marijuana facilities have been raided by federal police, product was seized, product was returned, appeals were filed, etc...

Sure, I suppose this would have gone more smoothly if we'd denied cancer patients 10 years of relief so a profoundly inept and corrupt bureaucracy could catch up with morality.

</comment><comment><USER19> If states can do it, so can the nation. Yeah it's HARD, but it's not that hard. Practically every piece of legislation is this much of a hassle. So call me a VP.

</comment><comment><USER20> <http://www.salon.com/opinion/greenwald/2009/03/14/portugal/>

<http://www.cato.org/pub_display.php?pub_id=10080>

</comment><comment><USER21> That's why the legislative process is amendable. You don't have to get it all right the first time through, just mostly right.

A lot more complex legislation than legalization of marijuana passes on a regular basis.

I'm glad more people don't think like Yegge, they'd be too paralyzed by fear to ever get _anything_ done.

</comment><comment><USER22> This kind of specification and scenario-planning sounds like a job for a pro- legalization think-tank.

Be like the lobbyists. Write the legislation you want, with options and choices, then present law-makers with a menu. Basically, do their work for them, then get them to rubber-stamp it.

<comment><USER23> A pro-legalization think-tank, like the Cato institute?

<http://www.cato.org/pub_display.php?pub_id=10080>

</comment></comment><comment><USER24> Not Steve's best. I love the guy, but this wasn't well thought out.

1\. Everything is complex, some things more than others, but you can't not start a change because it's complex.

2\. This change MUST happen. Period. We have to free up the criminal justice system from the silliness and waste. It costs taxpayers billions and only results in destroyed lives. This (legalization or simply decriminalization) has to happen, and it has to happen now.

3\. Other countries have successfully implemented this. We can use them as a template. I live in the Czech Republic and it's a combination of legalized/decriminalized here. It works great. Find out what they do and copy it.

I've never tried marijuana and have no intention to, but watching all the lives and resources wasted on a non-problem sickens me.

</comment><comment><USER25> His part of the payment buckets has a clear definition problem. He is making a _hard_ system instead of a _soft_ system. A soft system solution could be on the customer side, perhaps some JavaScript add-on warning on bucket watermark levels.

      I have more respect for The Average Reddit Commenter than I have for, well, the average
      commenter in any other forum, period, assuming that "period" is stevey-legalese
      for "except for LTU, news.ycombinator and their ilk, mumble mumble."

Lately, it getting more and more like that :-/

<comment><USER5> But you can already do it yourself customer side - keep track of what you spend per category, either in a text file, spreadsheet or dedicated budgeting program (Quicken, MS Money, etc).

<comment><USER25> Of course, but it is a PITA and a small minority does it. Still, my point is the complexity problem he addresses in that example is due to the monolithic nature of the solutions he envisioned.

<comment><USER26> Mint.com reduces the PITA level by 99% (for me, at least).

<comment><USER25> The security and privacy trade-off is way too much for me.

<comment><USER27> Presumably anyone could just go through your trash and get as much information about you as mint.com has.

<comment><USER28> It would seem to me that forcing said person(s) to relocate geographically to carry out that work would cut down a large percentage of the actual exploits. Not an all or nothing result, but largely beneficial, nonetheless.

</comment></comment></comment></comment></comment></comment></comment><comment><USER29> "Because laws are pretty much like programs. You have to specify their behavior at almost (not quite, but almost) the same level of detail, using a language that's almost as crappy as our programming languages today -- English."

A very important point. This is why writing a new law to regulate behavior on some controversial issue doesn't do the whole job of resolving the issue.

<comment><USER21> Well you could start by undoing the existing laws. Say, just repeal the federal laws and defer to the states. See how that goes for a while.

Rather than creating some grand new plan, how about just undoing the broken old thing for a start.

<comment><USER30> I agree with this wholeheartedly. The credit bucket thing is something that needs to be _done_. The legalization thing is something that needs to be _undone_. Shit may not be easy, but tearing shit down is a lot easier than building shit up.

Then, after tearing shit down, you can build up the corners of life where it makes sense to regulate marijuana, such as on the job, in traffic, et cetera.

</comment></comment></comment><comment><USER31> Part of what the courts and congresses are for is to handle the lazy evaluation of questions like these. We don't have to figure all this stuff out up front; most of it can keep for a while, so we can figure out what's actually a problem and what isn't, and base the policies on empirical data rather than speculation.

</comment><comment><USER32> On the credit card question, banks could just provide some sort of standardized (e.g., RESTful) API to read credit card history. That's all.

The rest of bucketing functionality could be provided by iPhone apps, web- services, etc.

disclaimer: I know nothing about credit card processing.

<comment><USER33> There are _huge_ privacy implications to that sort of thing, and very likely several laws or risks of serious liability that make it a thoroughly unappetizing business plan.

<comment><USER34> Why oh why can't banks just make an api version of their banking websites? SSL, login, password, server, voila!

</comment></comment></comment><comment><USER35> What everyone seems to forget is that drugs WERE basically legal prior to 1914. We had lots of laudanum addicts,Seems that there should be plenty of evidence on how workable legal drugs are from that period.

</comment><comment><USER36> How is it more complicated than ending prohibition?

I agree with all the comments on things being done iteratively and slowly makes sense as well.

</comment><comment><USER37> The way I see it, the flaw with the argument here is that Steve is assuming that writing law is like writing working production code in a modern imperative or object-oriented language. It isn't. If the law is like code, it's fundamentally different from most computer code you've ever seen before. The closest analogue in the domain of programming languages would perhaps be Prolog and even that is stretching the analogy beyond the breaking point.

The legislature doesn't write complete code or even a complete specification of anything. They just write top level stubs and the stubs are executable because the "programming language" for the law supports intelligent code generation agents (government agencies), an agent-based pattern recognition engine (law enforcement), and an intelligent agent-based JIT conflict resolution engine (the courts) to evaluate the performance of the pattern recognition engine and throw exceptions as needed. The law enforcement part of the system is the only part that even remotely resembles the sort of deterministic computation that we're used to (i.e. if your behavior fits the pattern for an illegal act, the police will probably follow the rule and arrest you).

If the law were code, a legalization law for marijuana would look something like the following:

pattern_rule_class(a : person, b : marijuana)

      def_rule_maker(USDOT; {a.transport(b), a.operate(c : motor_vehicle) && a.consume(b)})

      def_rule_maker(USDA; {a.advertise(b), a.produce(b)})

      def_rule_maker(ATF; {a.sell(b, c : person), a.consume(b, c : location)}

      def_rule_enforcer(FBI; {a.transport(b, c : jurisdiction::interstate), a.sell(b, c : jurisdiction::interstate)})

      def_rule_enforcer(select_agent using state_ruleset; {a.transport(b, c : jurisdiction::intrastate), a.sell(b, c : jurisdiction::intrastate})

      def_rule_resolver(judiciary)
      ifndef ruleset by_date '1/1/2010'
        use default_ruleset

define default_ruleset

      (a : person, b : marijuana) : {

        a.consume(b)->legal where location(a)==home(a),

        a.produce(b)->legal where quantity(b) <= unit_plants(PLANT_LIMIT),

        a.possess(b)->legal where quantity(b) <= unit_mass_ounces(POSSESSION_LIMIT),

        a.sell(b)->illegal,

        a.operate(c : motor_vehicle) && a.consume(b)->illegal,

        a.transport(b, c : jurisdiction::intrastate)->illegal,

        else _default->illegal
      }

define default_penalty_ruleset

.... etc., etc., etc. and so on

<comment><USER37> I kind of lost my train of thought writing pseudo-code and failed to emphasize the key point. The law does not require a complete specification of all implementation details in order to develop working "production code". The law is a system that supports incremental refinement on-the-fly. The legislature need only designate the appropriate rule-making agents, define the scope of their rule-making authority, designate an implementation timeframe, and define only a very limited incremental change of the status quo rules to be applied if the designated rule-making authorities should fail to generate a complete set of rules to implement the law within the designated timeframe.

</comment></comment><comment><USER38> So make a crappy version 1 and then iterate.

</comment><comment><USER6> Have you ever legalized marijuanua... _on weeeeed?_</comment>


A tech executive is installing security cameras around San Francisco - <AUTHOR> https://www.nytimes.com/2020/07/10/business/camera-surveillance-san-francisco.html <comment><USER3> This might be an unpopular opinion (from what I know living in the silicon valley) but I think the solution to homelessness and crime is to get rid of all homeless people from the bay area by providing them with infrastructure jobs. The bay area is one of the dirties places I've been to and it is getting worse. People throwing trash everywhere. May be the government can collect taxes from a 3 trillion dollar neighborhood that is the bay area and provide these people with a means to a job - ignore criminal history, give them a pass, provide mental health services, get them up and running. Or even in may be in rural places where they can do farming, build and maintain state roads, work at national parks, help maintain the coastline and can even join the military for assistance.

Just having them linger around on food stamps and sinking lower day by day, some even committing crime and get hooked on heroine, we need to do something that provides them jobs and increases the well being of the area. There is usually a strong pushback from liberal/progressives around this topic - <USER2> makes no sense to me. I am not some kind of an asshole with guns from Alabama killing off the poor, atleast that's what the bay area thinks of me. I want to improve our communities and giving these people blanket assistance to camp out in tents is a _horrible_ idea.

Tell me why we can't afford it? Have you guys been to Tokyo and Singapore? They don't have the giants like FAANG and a whole bunch of semiconductor companies and yet they can keep their cities spotless and extremely safe.</comment>


The "Doorway Effect" – forgetting why you entered a room - <AUTHOR> http://www.bbc.com/future/story/20160307-why-does-walking-through-doorways-make-us-forget <comment><USER3> I lived in a one-room (plus bathroom) apartment for half a year. It was an awful experience. The apartment was very well designed with nice furniture and very very centric. But it felt claustrophobic.

I have lived since then in similar apartments, equally small, but with at least 2 rooms (living room and bedroom). It feels so much better.

At first, one-room looks like is going to be better. There is more space as you don't have inner walls. But when you play games, watch tv, cook and sleep all in the same room it feels that there is something wrong.

Getting up in the morning, leaving the bedroom and going to the living room makes a big difference. The context-switching is welcome. It is also easier when going to sleep.

<comment><USER4> I lived in this kind of studio apartment for 2 years and didn't have any of the issues you describe. There was a discussion recently about airplanes with no windows and I felt similarly. I just don't really get anxiety about enclosed spaces.

Coincidentally, I work remotely from my home and I think that this contributes to why I like it. A lot of people have trouble working and relaxing in the same space. But I don't have an issue with it.

Not sure what all that adds to the conversation. Maybe I'm the weird one, and this is a normal feeling. But I just wanted to say this is not a universal thing necessarily.

<comment><USER5> It might yet get worse with age.

</comment></comment></comment><comment><USER6> For me, it is "new browser tab" effect these days. I will often be reading a website, then think "Oh, I must research this thing they are talking about" or else I will remember some other thing that I have to do online, so I will open a new browser window in the background.

But then I will get distracted by something else on the current web page - <USER2> even a few seconds - and when I go to the new tab to do what I had planned to do, I sit there in complete blank befuddlement, staring at the empty page and wondering what on earth I was supposed to look up.

<comment><USER7> Especially with the "top sites" or "highlights" feature of contemporary browsers, that in essence show different doors, invite into other worlds as soon as you open a new tab. So instead of going where you wanted to go you get disoriented by all the offerings.

Can't not link to my blog post Open tabs are cognitive spaces [0] that deals with the browser as the place you externalize your cognition to.

[0] [https://rybakov.com/blog/open_tabs_are_cognitive_spaces/](https://rybakov.com/blog/open_tabs_are_cognitive_spaces/)

<comment><USER8> I have wanted what you describe, before, at the OS level. Why should groups be limited to just browser tabs? If my task involves some editor windows and some CLI windows and some whatever, why can't I have a virtual desktop grouping it all together?

Basically, a VM per overarching task.

</comment></comment></comment><comment><USER9> How about some reproduction first.

I'm sorry, but we live in an age where decades old famous social sciences experiments are proved to be frauds.

I have stopped giving any credit to the various "scientific study proves X does/is Y in psychology/social sciences/diet". Every day we have a new "eating red cookies in the morning" makes you "less likely to lie" study.

<comment><USER10> There's a problem that's increasingly relevant here on HN. It's commentors who only read the headline and leave a comment that is irrelevant and inadequate more often than not. I do wish we as a community would respond more to this.

To respond to this particular comment, which hardly deserves a response: this isn't a study, none one of the listed assertions are made. This is a short, free-form article that presents an interpretation or examination of some aspects of our intellect.

<comment><USER9> I did read the article. And it is based on a scientific study. And it was discussed previously on HN.

[https://www.scientificamerican.com/article/why-walking- throu...](https://www.scientificamerican.com/article/why-walking-through- doorway-makes-you-forget/)

</comment></comment></comment><comment><USER11> I personally think that people unconsciouslly hated the start menu of Windows 8 because of this phenomenom. You open it and the whole screen changes. Worst possible UI.

<comment><USER12> As someone who just started using windows for the first time, doesn't the little search box essentially replace the start menu? How are people expected to find their app—manually clicking through a bunch of menus to one they are looking for? Assuming they have NOT pinned it to the dock at the bottom.

<comment><USER13> That's the thing, you're new to Windows and thus are learning the optimum way to use the interface as it is now. And yes, just hitting the Windows key and typing is the easiest way to get what you want. But that wasn't always there, and when it was it wasn't the best way. Existing users had grown accustomed to picking what they wanted from a list. It was this disruption in their workflow that upset people.

In Windows 95 and NT 4 it was indeed horrible and there were as many complaints about the original start menu as there was the full-screen one. This was mostly handled starting with Windows 2000 by having the first few icons in the menu be frequently used items. The things you use 90% of the time were no more than two clicks away. (One if you pin it to the task bar.)

Search was added in Vista but was unreliable because the word matching wasn't predictable. Today I was having to use regedit on Windows 7 and the icon wouldn't be shown until I typed the 'd'. Windows 10 improved a lot, though I still am befuddled why it decides to show or not show certain things.

Also, it's further confused by their being two searches. The box you see when you press the Windows key or icon isn't the same as the Cortana bar. Add to that that opening a link to a website from there will always send you to Edge. It's easy to be skeptical about what Microsoft will do with search in the future. How will you feel if in three years they do away with the search box that you've become accustomed to?

<comment><USER14> Typing something you know is there, is awesome if you know what you are looking for.

The traditional hierarchical tree that _showed_ you what was available, by grouping them into narrower and narrower groups, is awesome if you _don 't_ know what you are looking for, as exploring is neigh impossible.

Guessing search terms in wider and wider circles is very unsatisfying.

<comment><USER12> Thanks, great explanation! Makes sense.

</comment></comment></comment></comment></comment><comment><USER15> This is the same phenomenon as when you open your phone and for a brief moment you don't remember why you did.

With phones its worse because all the pretty icons confuse and beckon you to fall back on opening whatever app you habitually open when bored.

This property of our cognition is why we should better scaffold intentionality into our devices, though that is an difficult design challenge.

<comment><USER16> I fight the 'pretty icons' syndrome by using monochrome / white on black icon theme. It really helps.

<comment><USER17> I've grayscaled my phone too... but when tired, I can almost physically feel the attraction of icon shapes that my brain links to dopamine rewards. It's awful.

</comment></comment></comment><comment><USER18> Call it ADHD or what you want, but I tend to experience this a bit more than most people I know. Applying to tech, it's the number one reason Windows 8 didn't work for me. The loss of context when the start screen took over was too disorienting.

<comment><USER19> Working with a couple coworkers is pretty frustrating because their window management strategy is switching rapidly between active OSX screens with the whole wipe animation too.

<comment><USER20> This is my setup. Single app/window full screened and sliding between them. I like to focus on one thing at once. Tiling window managers are cognitive overload for me, too much going on at once.

<comment><USER21> I tried but I die a little each time the swipe animation happens. The Amiga way worked great for me. 1/60s switch time, no animation, fullscreen. Wish MacOS could do away with the animation. Is there a way to config that?

<comment><USER22> I'm not sure if there's a way to completely remove it, but you can make it use a faster, and different (fade instead of slide), animation.

System Preferences -> Accessibility -> Display -> Reduce Motion

<comment><USER23> This works, but -- infuriatingly -- also disables the window motion when opening Exposé, which makes that feature _more_ disorienting.

</comment></comment></comment></comment></comment></comment><comment><USER24> Ever since I learnt about this, I have made a practice of saying what I'm doing out loud as I leave one room and enter another one to do the thing I want to do. So I have that moment of "I walked through a door and flushed my brain's to-do cache", but it's quickly remedied by the fact that I loaded up a few words describing what I want to do the instant before I stepped through the door into the longer pipeline of brain-to-mouth.

It helps me, at least.

</comment><comment><USER25> I'm not sure about this article. For as bad as my memory has always been (and especially bad for being a programmer), I don't have many "why am I in here" moments.

It does happen occasionally, but as someone who is thinking about "work-on- the-fly" wherever I am, I think I'm just accustomed to noodling over work (or other background processes) "in the background".

Since lots of us are engineer-types, are we more apt at that background processing and then when we hit our primary target (in here to look for keys), we're able to shit into primary focus mode?

Now if I'm searching for keys, noodling over some design in the background, and then my wife pops me with a question while I'm lumbering through the house, then I'm in trouble;)

</comment><comment><USER26> My wife refers to this as "Male refrigerator blindness"

It is also why I prefer the NASA mission control approach to monitor layout

<comment> crooked-v > It is also why I prefer the NASA mission control approach to monitor layout

Could you elaborate?

<comment><USER27> You don't have to context switch desktops because you have so many displays that everything you need is already visible.

<comment><USER28> Funny enough I recently wrote about this topic in the context of sticking with 80 characters per line when writing code[0]. There's a section on "Context Switching Sucks". I've always fantasized about having all of the walls in my home office as being monitors.

[0]: [https://nickjanetakis.com/blog/80-characters-per-line-is- a-s...](https://nickjanetakis.com/blog/80-characters-per-line-is-a-standard- worth-sticking-to-even-today)

<comment><USER29> The way I put it to colleagues is that my big monitor is mine, not yours. If you write wide code, then you're taking up space I'd use to tile.

</comment></comment></comment></comment></comment><comment><USER30> It's context switching, I face this daily due to my OCD. The damn doorways are always a problem.

I'm not very well versed on this subject, but have there been any experiments conducted with a doorway in the middle of a basketball court or a field?

I'm sure that would mess me up for a good couple of minutes as well. It's not just doorways that lead to a different room, it's just the fact that there's a doorway present, that changes my context of things.

Maybe I'm the weird one.

<comment><USER31> I'd watch doorwayball.

I'm picturing basketball with a slightly larger court, a canvas wall suspended down the center strapped down around three doorways evenly spaced from the edges, six players per team on the court, and maybe some round padded platforms centered behind the free-throw lines for extra terrain strategy. There'd be some kind of rule similar to dribbling to prevent standing in doorways; something like, you can only stop or take more than two steps in a doorway zone if you've got the ball.

</comment></comment><comment><USER32> I don't even need a doorway, I can easily forget what I was up to between thinking "need keys" and walking over to where the keys live.

Kind of annoying TBH...

</comment><comment><USER33> A human 'context switch' seems to be equally expensive as for a computer.

<comment><USER34> And yet we design open-plan offices around the central theme that people working in a concentration-demanding field should orient their every moment of work around the assumption that not only are context switches costless, but that "collaboration" only happens if everyone is constantly preemptible according to the capricious judgment of managers and other colleagues who are not in a position to even judge the importance of the current task the person being interrupted is working on.

<comment><USER35> >"[Y]et we design open-plan offices around the central theme [...]"

Surely the theme is control and superiority. You go in the cube farm so that someone can control you and remain superior over you. I doubt people do it because they did time and motion studies and found it more conducive to your particular work?

<comment><USER34> Sure, but then you are not paid for productivity, and we should speak plainly about this.

</comment></comment></comment></comment><comment><USER36> This happens to me quite often and lately, it has started to creep into my computer usage. I often forget why I opened a new browser tab.

</comment><comment><USER37> I'm old and now believe in the hereafter. I walk into a room and ask myself, "What am I here after?"

</comment><comment><USER38> There must be something wrong with me, because I don't recognise myself in this at all. I'm not sure I've ever experienced this.

<comment><USER39> Marijuana can solve this for you.

<comment><USER25> haha

</comment></comment></comment><comment><USER40> Doors trigger our minds loading screens. Memory is loaded from disk. Old context is ejected new is injected. The ego or "i" concept is allotted small attention/memory to carry over stuff. If attention is lost in the middle, the background swap can happen subconscioslu and something you thought you placed nearby can be moved.

</comment><comment><USER41> I think this effect happens of the many distractions in life.

Whenever I open a new tab it shows a list of the most popular search trends. I forget what I was supposed to search because fomo.

To combat this I have a to do list app where I conveniently list all distractions and forget about them. It's easy too because I know I have that saved for later.

</comment><comment><USER42> According to _The Meaning of Liff_ , I have always thought of this as "Woking".

[http://tmoliff.blogspot.com/2012/06/woking-participial- vb.ht...](http://tmoliff.blogspot.com/2012/06/woking-participial-vb.html?m=1)

</comment><comment><USER43> If something is troubling my mind I will walk through a door and voila! My brain has found something else to think about.

</comment><comment><USER44> This thread is a great example of why I love hackernews. It's these curious ones.

</comment><comment><USER45> I'm pretty sure I've suffered from this from the moment I was born

</comment><comment><USER46> also an interesting effect with psychedelics

</comment><comment><USER47> I usually forget why I exited</comment>


After XML, JSON. Then What? - <AUTHOR> http://www.drdobbs.com/web-development/after-xml-json-then-what/240151851 <comment><USER2> S-expressions of course. See: <http://www.schnada.de/grapt/eriknaggum- xmlrant.html>

<comment><AUTHOR> Yep. Or alternatively go for Rebol which JSON was originally influenced by - <http://www.rebol.com/cgi-bin/blog.r?view=0423>

</comment></comment><comment><USER3> I do like the syntax of TOML quite a bit, but it has the same issue that XML once had in that it is not natively supported in the browser. Things have changed a lot and non-native document parsing is a lost faster but one of JSON's primary advantages was an still is, is that it is a native browser format.

<comment><USER4> Native parsing is a red herring; even in the bad old days, it was quick enough to be unnoticeable unless you were working on Big Data in the browser. Moving to native-code parsing for the sake of performance is a major case of premature optimization.

JSON's big advantage was that you didn't have to do any work. One function call, with a single argument, would take you from a blob of text to a fully populated data structure, and that function was already built into every browser. The name of the function has changed (eval() to JSON.parse()), and some genuine security enhancements went with that, but the form of the API hasn't, and there's a reason for that: anything more than one monadic function call is too much work.

Some formats, like TOML, have gone so far as to explicitly specify the data structure they describe. You could make a no-work API like JSON's for that: TOML.parse() and TOML.stringify() would take up more code space than their corresponding JSON APIs, but using the APIs would still involve no work. Less work, in fact, because TOML has a date literal, which even JSON doesn't. Something like that could catch on.

</comment></comment><comment><USER5> Why don't we just change the JSON spec to include ISO 8601 date, time, timestamp, and comments?

<comment><USER4> The problem comes from the fact that JSON is explicitly defined in terms of JavaScript, and as a strict subset of JavaScript. You could add comments without much trouble, because JavaScript has comments. But JavaScript has no date literal, so neither does JSON, and adding one becomes problematic. You'd have to either decouple JSON from JavaScript, or you'd have to convince the ECMAScript folks to adopt a date literal syntax.

It could be argued that decoupling JSON from JavaScript might be a good idea. It would force developers to stop parsing JSON as JavaScript (through eval() or script tags), and this alone would eliminate whole classes of bugs. But the logistics would be nothing short of nightmarish.

</comment></comment><comment><USER6> HTML: sure, its a little heavier than JS, but lighter than XML, popular languages have libraries to parse it (and doing it consistently is better since HTML5), and exposing an HTML-based API makes things easy to interact with.

</comment><comment><USER7> Protocol buffers!</comment>