The 3D Economy: Forget guns, what happens when everyone prints their own shoes? - <AUTHOR> http://reason.com/archives/2014/03/24/the-3d-economy <comment><USER2> How much of our economy is actually based on the kinds of small, plastic objects that can be printed? It doesn't seem to be significant compared to other sectors of the economy, like housing, vehicles, electronics or food. Yes, anyone will be able to print their own iPhone cover, but we won't be able to print an iPhone in the foreseeable future.

And even if you can print your own plastic salad bowl or plastic shoes or plastic furniture, people are still going to prefer ceramic bowls and leather shoes and wooden furniture, since they offer a more pleasant user experience. If plastic stuff does become more popular and growing numbers of goods are going to be printed out of plastic, it will cause the price of plastic to go up, since plastic is made from petroleum, a non-renewable natural resource.

I also suspect that long-term exposure to vaporized plastic and tiny airborne plastic particles in your home is not going to be great for peoples' health.

<comment><USER3> You're mistaking what home 3d printing is now to what home 3d printing will be in 10-20 years. Technologies such as Selective Laser Sintering and the like can use a much more versatile set of materials, such as metal and ceramic, to create a wider range of products. Also, 3d printers can use non-petroleum based plastics, like Polylactic Acid, which are renewable. Yes, much like the microwave didn't replace the conventional oven, 3d printing isn't going to totally destroy retail. It is, however, going to make things a lot more interesting.

<comment><USER4> I think the bigger point though, is that even if it _did_ totally destroy retail, retail just isn't a very big part of the U.S. economy: 6% of GDP. And some of that is not even selling physical goods to begin with: Amazon selling Kindle books is part of the retail sector. Manufacturing is bigger, but still not huge: ~12% of the economy. And manufacturing of things that end up in consumer homes and therefore potentially subject to people saying "screw this, I'll make it myself" is a relatively small fraction of that.

So while I think 3d printing is interesting, I don't think it's going to result in the end of the the existence of corporations as everyone stops doing business with them and DIY's their every need, as this article seems to envision.

<comment><USER2> And most of retail is probably stuff like clothing and shoes and electronics, not plastic bowls. I just don't see home-printed items having a large impact of on employment the retail sector in the near future.

As far as manufacturing is concerned, most plastic household items haven't been manufactured in the U.S. for a long time.

</comment></comment></comment></comment><comment><USER4> I guess it's used only as an example, but we are _really_ far away from being able to 3d print shoes. Or toothbrushes for that matter. Shower-curtain rings and toothbrush handles, yes. I suspect the author of this article has not spent a lot of time looking at the technical side of 3d printing: it's not some kind of magic replicator that can produce arbitrarily complex compound items out of arbitrary materials.

<comment><USER5> 3d printed women's shoes are here today:

[http://www.dezeen.com/2013/08/02/cubify-launches-free-to- dow...](http://www.dezeen.com/2013/08/02/cubify-launches-free-to-download- shoes-you-can-print-overnight/)

The printer costs around $3K.

<comment><USER6> There are only so many ways to wear a solid plastic shoe. I can't really see the common woman (or man) replace a significant part of her wardrobe with this printer.

<comment><USER7> Crocs built a billion dollar company on plastic shoes. I think they are actually a foam resin, so you are right about rigid plastic shoes, but a slightly softer more flexible 3d printable material would be practical and useful.

<comment><USER8> Yeah, even non-exotic 3D printers like the RepRap I have (cost: $650) will print things like nylon and ninjaflex (which is quite flexible after printing). As others have mentioned, this is still the early days and things are moving very quickly.

</comment></comment></comment></comment></comment><comment><USER9> There are many kinds of 3d printing that would be amazing, but that we are nowhere near close enough to doing. First we have to see the same technology working well in factory environments. For instance, imagine a machine that manufactured clothes in place, tailored to your size, by just scanning you and taking a base design. Say goodbye to all the complex inventory problems that you find in clothing retail today, all while increasing sales, because in other stores, what they have might nor might not fit you well.

That kind of printing by retailers seems like a more likely incremental step towards major economic change than having it all work off of home printing. We don't make anywhere near enough purchases out there of 100% plastic items, or where plastic could be a viable replacement.

<comment><USER10> Printing clothes on demand will never work.

Those already exist today. You can have a tailor make you a suit, and it's a special thing only for you.

Most people don't want that, they want to wear what their friends and idols wear, so it's not feasible to shift production to 3D printers, so that they print the same thing over and over again. Our current system requires no further investment.

<comment><USER11> Getting a tailor to custom-make your entire wardrobe is wayyy outside of the financial capabilities of almost everyone except the very very wealthy today. In the 40s one might as well have said that handheld calculators will never work - we can always have the women ("calculators") down the hall crunch the numbers for us!

Having a machine that, given the correct fabric, can print an arbitrary design would enable clothing stores to completely eliminate most of their factories, warehouses, delivery costs, standing inventory (much of which is thrown out or sold for a pittance), employees, and a significant percentage of the size of their stores. They will be able to react to fast-changing fashion trends instantly with exellent efficiency. They will be able to keep and reuse old designs more or less indefinitely. Sure, machines will be printing a lot of the same thing over and over again at any given time - but the thing they're printing over and over again will be what's popular and selling _right there_ and _right now_ , which is very difficult to predict months in advance and for every location. That, combined with the huge reduction in overhead, will allow the first mass-market retail store to figure out on-demand printing a huge advantage over its competitors.

Not to mention that it will fit the customer as close to perfectly as measurement and design allow, so the product itself will probably be of significantly higher utility than what you can get in the average mall store today.

</comment></comment></comment><comment><USER12> Short answer: everyone will be wearing really shitty shoes?

</comment><comment><USER13> To me, this is one of those hypothetical possible eventualities that I don't pay much attention to. It's very likely that for the foreseeable future, printing shoes will be more expensive and result in lower quality shoes than the manufacturing process. Sure, some people will want to imagine their own shoe styles, but most won't want expensive low quality shoes.

</comment><comment><USER14> If you had a 3D printer that could print objects up to the size of a car in an instant, what would you make?

I'm thinking the best application for me might be furniture. It would be really cool to flip my apartment every year by melting down my old stuff and printing new.

Maybe a bike but it'd have to be one of those chainless designs.[0]

But past that, I'm at a loss for what I'd make even with a magical instant printer. There are very few things that I use or want that could be made entirely of plastic.

I've wanted to get a 3D printer but I feel like it'll end up going unused like my Raspberry Pi. Once in a while it'd come in handy but its not going to change my world.

[0]-[http://cdn.trendhunterstatic.com/thumbs/chainless-bicycle- nu...](http://cdn.trendhunterstatic.com/thumbs/chainless-bicycle-nulla- minimalist-bike.jpeg)

<comment><USER15> I would look into replacing at many things as possible in my kitchen with printed items.

Broken spatula? Print a new one. Friends coming over for drinks? Print some wine glasses[sic?] and plates. Half of a leftover chicken? Print a tubberware case the perfect size for it. I'd print perfectly sized cabinet inserts for all of my utensils. Outside of the kitchen, I could make bookshelves and cabinets that are only as big as I need them to be. There are lots of custom organizational things that I could make.

Currently I buy all of these sorts of things from stores, so they are never _quite_ optimal. If I had a shop I'd be making this stuff myself out of wood, but I live in an apartment. Of course I don't have room for a car-sized printer either...

<comment><USER16> My espresso machine has a feature where it will suck up milk through a tube to make foam. I figured to print a conical vessel to hold the milk and ensure that the tube would always be submerged to the bottom. Took not too long to design using openscad and print a few (the first was too small, the second failed to print halfway through. When the material doesn't adhere it ends up glob bing onto the end of the print head and makes a huge mess.)

Ok, so finally, I have my vessel and I pour in some milk. And then I watch as the milk mysteriously disappears.

Turns out that the print is not quite watertight and the milk oozed between the inner wall and outer wall of the cup, where there is a honeycomb-like space. (Most objects are not quite solid, in order to save material.)

After washing it out, I figured I'd use it for pencils or something. But you know, you can never quite get the rancid milk out of a porous plastic object.

At this point, I won't be quitting my day job to be a 3d designer, but I will say that I've had $2000 worth of fun and learning, so that was worth it. The printers at this point are pretty much able to print things that quality of something you would get for free in your breakfast cereal.

<comment><USER17> This is one reason why foodsafe 3D printing is yet another technical wrinkle. Shapeways added foodsafe-rated printing a while back, but just for ceramics, which may end up being the cheaper foodsafe compromise for the near future.

</comment></comment></comment></comment><comment><USER18> I tried on a pair of 3d printed shoes the other day. We have a long long way to go.

</comment><comment><USER19> Oh. Did someone in the media finally figure out _this_ implication?

</comment><comment><USER20> Sounds like luddism come again. Remind me, who won the last time?

</comment><comment><USER21> People will have uncomfortable feet, duh.

</comment><comment><USER22> A 3D printer/scanner would of came in handy when I snapped a plastic part in my side mirror on my car. Had to basically get a full replacement mirror because they didn't sell the bottom plate individually. Can't wait until auto repair shops start using them.

<comment><USER23> Imagine the cost on that. There will be labor involved to CAD your specific piece, then materials costs, and then machine time. And if the original CAD model failed in some regard you run the risk of being charged twice for the CAD labor.

<comment><USER3> This is assuming the mechanic is using their CAD workstation to design the part. However, what will most likely happen is that the mechanic will subscribe to a 3d printing service, much like they do already for keeping their automotive diagnostic readers up to date. That service will have the 3d models already made, so that one part of an assembly can be printed on an as- needed basis.

<comment><USER23> > That service will have the 3d models already made

Someone somewhere is CAD'ing these pieces up. The cost of doing that will be passed on to the consumer. If the manufacturers provide the models the cost of the 3D printed piece will be more expensive than replacing the whole part. If a manufacturer invests the time into making sure their component library can be 3D printed they will make sure 3D printers exist in dealerships. Huge overhead costs are involved here.

</comment></comment></comment></comment><comment><USER24> Invention of the internet: Forget 411 phoneline, what happens to libraries when everyone can access books from their home computer?

</comment><comment><USER25> The cobbler's children have no shoes..

</comment><comment><USER26> How about glasses (frames)? smartphone cases? there are tons of small accessories that can be printed which can save hundreds or even thousands down the road with a 3d printer.

<comment><USER16> The problem is that plastic molding is already cheap if you're creating a standardized size. The real issue for 3d printing custom objects is that the design is not free. Yes, once a design is done, great. But if you're going to be making a million of them, then more traditional processes are going to be cheaper.

<comment><USER27> yeah but..

1) people aren't manufacturing, they are producing for themselves and close friends, so volume isn't a cost factor as much as it would be in a production scenario.

2) printing allows for us to get away from standardized pieces for the sake of homogeneity and production cost. These sorts of manufacturing techniques finally allow for the prioritization of artistry rather than the adherence to standards for the sake of cost, as it's putting that decision into the hands of the consumer rather than the business interest.

3) 'design as a cost' is dropping drastically with the advent of tools that allow us to digitize objects into virtual models near instantaneously.

it reminds me of ordering a car from the factory in the sixties.

Back in those days you could order a car with as few options as you wanted. If you were a racer you could order the economy car with the big engine, no radio or ac or carpet/headliner/backseats and have practically a drag car from the factory. Production cost savings of course nixxed that idea of one-off production cars.

Maybe these kind of technologies can allow for those sort of unique configurations without ruining bottom lines too terribly?

</comment></comment></comment><comment><USER28> > Once the retail and manufacturing carnage starts to scale, the government > carnage will soon follow. How can it not, when only old people pay sales > tax, fewer citizens obtain their incomes from traditional easy-to-tax jobs, > and large corporate taxpayers start folding like daily newspapers? Without > big business, big government can't function.

A dramatic cascade to doom that conveniently assumes free and untaxed raw material. No, it's better to keep the existing power structures in place.

The whole article sounds like a call for regulation based on a fear of change. Like it's the first time the market has faced technological evolution and doesn't know how to adapt.

<comment><USER29> > The whole article sounds like a call for regulation based on a fear of > change. Like it's the first time the market has faced technological > evolution and doesn't know how to adapt.

No it doesn't. It sounds like anticipating and fearing a call for regulation based on a fear of change. Kind of the opposite.

<comment><USER30> Yeah, it's Reason magazine, a long-running libertarian media outlet. I seriously doubt they're seeking more regulation.</comment></comment></comment>


Infographic: the cost of bugs - <AUTHOR> http://www.codeguru.com/blog/category/programming/the-cost-of-bugs.html

<comment><USER2> Hey idiots, we can't write a proper article so here are some soundbites with pictures.

</comment><comment><USER3> Useless information with some nice design.

</comment><comment><USER4> Yes, because between 1970 and 2001 we were all blindly following the waterfall model of software development until Agile came down from the heavens and showed us the error of our ways. (Disclaimer: I like Agile; it's just not a panacea)

Also, $60 billion is not much in the grand scheme of things.

<comment><USER5> Exactly the second point.

Bugs persist for the same reason 'bad' code/coders persist: even flawed software is generally worth far, far more money than no software and very few projects have an ROI that doesn't taper off very quickly after a "good enough" effort.</comment></comment>


For virtual prospectors, life in the Bitcoin mines gets real - <AUTHOR> http://online.wsj.com/article/SB10001424127887324665604579079721277783300.html?mod=WSJ_hps_sections_tech

<comment><USER2> The ones making real money are the ones selling the shovels.</comment>


Why I am so excited about Clojure - <AUTHOR> http://technotzen.wordpress.com/2013/06/06/why-clojure-is-the-next-big-thing/ <comment><USER2> Reasons I believe Clojure will never be successful:

(1) it's a lisp. This is 2013, compilers can deal with +-*/, I don't need to.

(2) it lacks good documentation. Most functions are documented, but badly. In particular, they lack examples; sometimes they are really tricky to use

(3) it lacks tutorials (on the main page). There is a set of pages that explain the basic concepts of clojure, such as datatypes, variables and multimethods/protocols, but they are really terse. I think Clojure assumes you already know lisp, quote, unquote, syntax trees, defs, vars, etc...

(4) it's full of magic. You can feel it, but you can't really understand it without digging through the source code.

I know OCaml, can read Haskell, and wrote a small library in closure. I still find it very hard do get around and very hard to learn.

<comment><USER3> I was quite enthusiastic about Clojure at first, I rally enjoyed experimenting with it but when the novelty fade off I lost interest because of:

1\. The minimal syntax makes it harder to read than more traditional languages.

2\. It's uncomfortable to do imperative or object-oriented programming in Clojure. (Yes, many problems are easier to express in other than the functional paradigm.)

3\. Using state is not a priori wrong but it's difficult in Clojure.

4\. The parentheses are sometimes annoying, especially when I want to quickly test something in the REPL.

Some lispers (like Paul Graham) believe in something like "macros make lisp the most productive language on Earth, at least for the top x % programmers". From my experince, this is just wishful thinking. It makes them feel special and better than others.

<comment><USER4> Macros are frowned-upon within the Clojure community, and for very good reasons.

EDIT: okay, I got downvoted for some reason. Care to explain why?

The mantra in Clojure is "don't write macros until you NEED macros" (or some alternative[1]). They make things horribly complicated and are awful to debug and make code that uses them hard to debug too... especially within a JVM environment (your code gets translated twice).

[1] [http://clojurefun.wordpress.com/2013/01/09/when-do-you- need-...](http://clojurefun.wordpress.com/2013/01/09/when-do-you-need-macros- in-clojure/)

<comment><USER3> I didn't downvote you but the only significant advantage of the lisp syntax is macros. I was always under the impression that the syntax is a price for macros. If macros aren't really used, I don't see reasons for the lisp syntax.

<comment><USER4> Macros are frowned-upon but used when necessary.

To put an analogy: people would've disgusted if you used a life jacket for no good reason, but they're handy when you really need them :)

I also like Lisp syntax regardless of macros, mainly because it's simple, consistent and prefix notation is really handy. The S-expr abstraction IS useful when dealing with code blocks (see [https://news.ycombinator.com/item?id=5940620](https://news.ycombinator.com/item?id=5940620))

<comment><USER3> Brainfuck syntax is even simpler and more consistent ;)

<comment><USER4> If Brainfuck syntax was half as powerful as powerful as S-expressions that would be a valid comparison.

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> Just a note for anyone interested in what was mentioned in the article but more comfortable with JavaScript.

There is mori [http://swannodette.github.io/mori/#mori](http://swannodette.github.io/mori/#mori) for persistent data structures.

Callbacks are handled by Promises or say async [https://github.com/caolan/async](https://github.com/caolan/async)

For heavy compute tasks you can launch child processes under Node.js and communicate with one management process, the Cluster [http://nodejs.org/docs/latest/api/cluster.html](http://nodejs.org/docs/latest/api/cluster.html) lib is experimental as of now.

</comment><comment><USER6> I don't think it's going to explode. And I don't think it needs to.

Even after decades there are still people who use Lisp-like languages and who find them fascinating and _just right_ tools for their job. I, for example, am a huge fan of Common Lisp and I'm really glad to see new stuff happening around it and new people discovering it because there were times I was a bit afraid about its future.

But will it ever dominate or explode? No, it won't. Same with any other Lisp. And it's okay.

</comment><comment><USER7> Does Clojure still have a non-trivial impact on performance? And if it doesn't, does it still look as pretty?

I only ask because the whole idea of using it for "Big Data" flies right out the window if it's significantly slower than plain old Java. Especially if it's slower using naive or expected Clojure methodology. And if there's not a speed advantage, than companies can find a lot more people who know and can work Java code than Clojure.

<comment><USER8> Performance and scalability are two different things. My favorite example is to think of performance as being like the speed limit, and scalability as the ability to easily add more lanes to the road. Once there are enough vehicles on the road, it doesn't matter how high you set the speed limit, they'll still slow to a crawl. Now imagine if there was a trivial way to add more lanes to the road.

Clojure has very nice concurrency mechanisms baked right into the language.

<comment><USER9> This doesn't answer the author's question. We know the difference between performance and scalability. How does it perform compared to Java?

<comment><USER10> It is slower than java. It can approach Java with type annotations which aren't that hard to do. It is faster than any other dynamic language I have used, including python, ruby, javascript(v8), and lua(jit).

<comment><USER11> Faster than LuaJIT? At what? Did you run benchmarks to back that up?

That's a very strong claim, and I've never heard anyone make it before. LuaJIT is unbelievably fast. I'd be extremely curious to see the proof.

(As a side note, on some level it's hard for me to accept that Clojure is fast because _using_ it feels gratingly slow — since all the tools take several seconds to do anything thanks to the JVM's startup time. `lein repl`: 4 seconds wait. `luajit`, or `python` for that matter: utterly instant.)

<comment><USER10> No benchmarks, just a few small algorithm implementations (kmeans, random forest, ff neural net). Clojure was faster, although the difference was pretty trivial.

I have been frustrated with Clojure lately because of startup time (I do a lot of CLI tools), and would love to use Luajit, but my coworkers hate when I write in languages other than Ruby or Clojure. For my own pet projects it is great.

<comment><USER11> Well that's pretty darn cool to hear that Clojure can achieve LuaJIT's level of speed. But I agree, I feel Clojure just isn't suited for CLI tools at all, unfortunately. I know there are solutions that keep a background JVM ready and reuse it but I've never managed to get that to work smoothly.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> It would certainly seem to me (in London at least) that scala has most of the "enterprise functional programming on the JVM" pie. I hardly see any clojure jobs pop up. From what I've seen I'd say demand for FP skills looks like:

Scala > F# > clojure > Haskell (really bummed about the last one!)

In London finance circles. Does that sound about right?

<comment><USER13> Got about 30 guys here using Haskell. More in other centers.

<comment><USER12> I didn't know the team at SCB was that big! You guys should come to some of the London Haskell meetups! In fact I think one of your guys is doing a talk soon right?

<comment><USER13> Tomorrow night (Wednesday).

</comment></comment></comment></comment><comment><USER14> Interesting take: "Over the past 20 years or so OO has dominated the landscape and rightly so. It provides structure and a simplified way of organising your code. OO design patterns such as MVC are going nowhere. But today with live in a world with events, mobile phones trigger events, more intricate interaction with UIs and apps all trigger a vast amount of events and traditional OO doesn't embrace this style of interaction as well. Instead functional programming copes better."

We still need to organize our code tho, even with a functional language... and I have missed the abstraction of OO (Using node.js)

<comment><USER15> I remember reading someone say that much of the class-based OO written in the wild amounts to little more than a function namespacing convention plus a way to jam in a bunch of hidden arguments. That hit home to what I was doing.

</comment></comment><comment><USER16> I keep hearing this over and over. I like the idea of just changing 'map' to 'pmap' everything just working over multiple cores.

While cool,but really, Is there such a great clamoring for scaling programs over multiple cores ? I never hear anyone asking about it job postings. May be I am working in the wrong part of the industry than those mentioned in the blog post. But I rarely hear game programmers talking about clojure/ functional programming. Most popular clojure projects on github are web frameworks. I am puzzled why clojure is so popular among web developers if concurrency over multiple cores is its 'killer' application.

From what I remember this paper never mentions 'concurrency' as to 'why functional programming matters'

[http://www.cs.utexas.edu/~shmat/courses/cs345/whyfp.pdf](http://www.cs.utexas.edu/~shmat/courses/cs345/whyfp.pdf)

Neither does this( the only one?? ) poster child for lisp's success in wild talk about concurrency [http://www.paulgraham.com/icad.html](http://www.paulgraham.com/icad.html)

I think the whole multiple core thing is over blown in association with functional programming. I think it would be pretty misguided for someone to adopt a functional programming with multiple cores in mind.

<comment><USER17> Game programmers are especially unlikely to use Clojure for several reasons:

* New programming practices are adapted after the mainstream programming industry has adopted them.

* Java is not widely used, partially because when the great Java enterprise switch happened, game studios were still debating if switching to C++ was worth it.

* Because games deal with rapid state changes, switching from relatively intuitive object-oriented designs to functional designs requires a rethink of how most game engines operate.

* If it doesn't work on the consoles, the mainstream industry is much less likely to use it. Java isn't natively supported, and Microsoft is unlikely to add anything to the XBox to make it easier.

* Most games are still single-threaded 32-bit Windows applications interfacing with DirectX.

<comment><USER18> But they are willing to use Haskell, :)

[http://www.st.cs.uni- saarland.de/edu/seminare/2005/advanced-...](http://www.st.cs.uni- saarland.de/edu/seminare/2005/advanced-fp/docs/sweeny.pdf)

[https://twitter.com/id_aa_carmack/status/331918309916295168](https://twitter.com/id_aa_carmack/status/331918309916295168)

<comment><USER19> Not really, no.

Porting a 20 year old game for fun in Haskell doesn't mean that Haskell is ready for the cutting edge of modern games.

<comment><USER18> They don't need to develop the next Crysis on Haskell to make it accepted.

The plain fact that important personalities in the AAA games industry are willing to spend their valuable time coding something in Haskell instead of doing something else, means a lot.

For example, are you aware that quite a few studios are now using Erlang for their MMO servers?

</comment></comment></comment></comment></comment><comment><USER20> Boy, another blog echos the empty chant on functional being superior than OO without substantiating the claim.

"OO design patterns such as MVC are going nowhere." Really? MVC is going nowhere? And how is functional organizing UI and model data better?

You can promote a technology without trashing another one. People know what functional is and it has its niche as with any other things.

<comment><USER21> Clojure actually embraces many of the great lessons of OO, you'll find them in the form of first class namespaces, a standard library built on abstractions not concrete types, a multimethod facility which supports derivation, and protocols which support local and future extensions in much safer nicer fashion than what the current popular OO languages provide.

To your other points - Clojure does data great - much nicer than OO languages I've used. As far organizing UIs better Clojure programmers adopt many of the same patterns that are currently en vogue. However I think there are some more interesting new techniques just around the corner and we will be hearing about them soon enough.

</comment></comment><comment><USER10> My excitement about Clojure led me to core.logic, which led me to kanren, which led me to Prolog. Am I doing it wrong?

<comment><USER22> Not if those tools are helping you solve the problems you want to solve. Also, not if they're expanding how you think about computation. I'm willing to guess at least one, if not both, are true for you.

<comment><USER10> Yeah, it is both. It does seem a little counter-intuitive to some people, and I get made fun of a bit for it.

</comment></comment></comment><comment><USER23> For those who were around in the early '80s, was the Prolog/Transputer/FGCS hype similar back then?

Plus ça change, plus c'est la même chose...

<comment><USER18> Most of us only had BBS, if we were lucky, so hype levels were kept very low.

<comment><USER24> We had Byte magazine which had Dick Pountain's articles of sexy hardware with which fantasize too...

<comment><USER18> And Computer Shopper, Micromania, Micro-Hobby, Crash, ....

Oh and books with code listings to type in hexadecimal rows of opcodes. :)

</comment></comment></comment></comment><comment><USER25> If a Lisp-like was ever going to explode, it would have done so within the last 55 years.

<comment><USER26> Right, because nothing in the technological landscape changes, ever, in any way that could be relevant to the success of a Lisp-like language.

I'm not saying I'm convinced a Lisp-like _will_ explode, much less that it'll be Clojure in particular, and I do think it important to keep the history in mind, but I think you overstated things.

</comment></comment><comment><USER27> Clojure is the first purely functional language I've ever tried to teach myself. I'm still learning, but I already find it a liberating experience to stop worrying about state and learn to love the function.

<comment><USER28> Clojure is not 'pure'. At least in Haskell's sense of 'pure'.

<comment><USER29> He might be considering it from a functional-as-the-only-paradigm angle as opposed to the technical definition of pure functional.

</comment></comment></comment><comment><USER30> I really like Clojure. My only gripe with it is that you absolutely need to know the Java standard library/ecosystem if you intend to do anything non- trivial with it. (And my Java experience ended in 2003.)

Though they are more and more 'native' clojure libraries being released.

</comment><comment><USER15> Though I haven't and most likely won't do anything substantial in the language, I've got a lot out of Rich Hickey's talks that have steadily appeared on the web. He seems an extremely thoughtful designer and steward.

</comment><comment><USER31> Clojure is badass the whole way through: great language, great designers, great support, great community.

I don't think it will ever get more than a 2% share in the software world, but I think it can get the _right_ 2 percent. At least, that's what I hope will happen. I also think that it will live (possibly even surviving the JVM) for a long time.

<comment><USER32> _I don 't think it will ever get more than a 2% share in the software world, but I think it can get the right 2 percent._

There will always be detractors. But then again, you can't teach a dog math.

I spent a tiny amount of time getting to know Clojure. I liked what I saw, but some things confused me due to lack of looking into it/thinking about it. I'll need to spend more time with it to find out if I'm a dog. ;)

</comment></comment><comment><USER33> "...I knocked up a lot of stuff which I wanted to write about."

...you did... what?</comment>


Show HN: BrightChat – conversation training for call centres - <AUTHOR> https://www.brightchat.co.uk <comment><AUTHOR> Hi, I'm looking for feedback on the concept and implementation of a new business I'm involved with. We're getting lots of solid interest when talking to prospective customers, but cheque writing is proving a lot more difficult. Any thoughts and comments welcome! Thanks.</comment>


Show HN: Roq – C++ HFT on Crypto Exchanges with μs Latency - <AUTHOR> https://roq-trading.com/docs/blogs/showhn/index.html <comment><AUTHOR> It's a framework supporting the whole life-cycle:

* Data capture (binary format, streaming, consistent)

* Exploratory research (InfluxDB into Jupyter)

* Back-testing (incl. order matching, very fast!)

* Live trading (suitable for HFT)

This framework has been designed for _professional traders_ who emphasize full control, ultra low latency and a consistent back-testing framework.

Everything has been designed so you can own, control and deploy your own software stack.

Our primary focus is predictable ultra low latency during live trading.

We support Coinbase Pro and Deribit and we will soon add more exchanges.

The framework is not limited to cryptos: all interfaces are generic and have previously been tested against non-crypto exchanges.

We will always use the better (faster, more reliable, etc.) protocol offered by each exchange: that means FIX being strongly preferred to WebSocket. (REST is a non-starter for any kind of HFT).

Gateways are _free to use_ during our "beta" testing: we will implement a license model early 2020 (allowing also private individuals to participate). _Everything else will remain free!_

Many more details in the linked document. In particular, the minimalistic "tutorial" towards the end, for those of you who want to try it out.

I'm happy to answer any questions you may have.</comment>


IBM Watson Overpromised and Underdelivered on AI Health Care - <AUTHOR> https://spectrum.ieee.org/biomedical/diagnostics/how-ibm-watson-overpromised-and-underdelivered-on-ai-health-care <comment> 1e-9 To me, the main mistake was the series of commercials giving the strong impression that IBM already had this incredible Artificial General Intelligence that was indistinguishable from a highly intelligent human and was solving a myriad of difficult practical problems better than any expert. I suspect that most who were well-versed in AI felt the ads were disingenuous from the start. I know I did. I think the marketing campaign would have better served IBM had it laid out their commitment to achieve these things without sounding like they were already there.

<comment><USER2> IBM have been doing this since Deep Blue, if not older. It's their core business model: build cool tech demos and then sell consulting deployments that use nonexistent features of the tech

<comment><USER3> > sell consulting deployments that use nonexistent features of the tech

Sell consulting deployments that _hope to fund development_ of promised features of the tech.

Consulting is a bit like used car selling. If you're not playing close to the line, then someone else is.

Which, okay. Is what it is. But every customer should be aware this is what IBM et al.'s business model is, unless you're simply buying bodies.

</comment></comment></comment><comment><USER4> I worked on this project and there were a lot of issues. Two of the biggest were:

* Whatever the quality of the technology (which I personally never saw as that compelling) was wrapped up in terribly written research code, making it practically impossible to setup and use.

* The Jeopardy demo was made possible by the existence of a marked-up source of general knowledge (Wikipedia), a ready-made bank of questions and answers from past shows (j-archive.org), and the fact that practically anyone had the ability to curate more Q&A pairs. This is almost totally different than the medical use case where the knowledge is wrapped up in proprietary textbooks and papers and the only people able to curate training data are medical professionals.

<comment><USER5> That's not really true. The UMLS has a large graph of marked up medical domain knowledge that can be used. It's not as specific as one might want for developing an AI autodoc, but it's quite a bit better than what is available in most fields. It's actually quite similar to what one can derive from Wikipedia.

<comment><USER6> Quora has a nice set of answers about why machine learning isn't used so much in medical:

[https://www.quora.com/Why-isn%E2%80%99t-machine-learning- mor...](https://www.quora.com/Why-isn%E2%80%99t-machine-learning-more-widely- used-for-medical-diagnoses)

Skip to Jae Won Joe's answer to see a case study with a patient showing the interactive process. Then, especially look at ending questions about missing or deceptive data. Seems like their good diagnoses comes from a combination of domain data and _expertly reading people in front of them_. Machines suck at the part I emphasized. The data sets might not reflect a lot of stuff like that, too. Who knows.

<comment><USER4> This is a great run-down of the realizations that a lot of the engineering team came to and what I was trying to touch on in my reply above. There is just so much information & context within a doctor's head and so much that is going on during an examination that looks simple to our eyes. Even in the idealized case of having accurate, structured patient data and focusing only on a simple disease, it's a challenge to diagnose and prescribe a correct treatment. Even a system that can accept the text of a patient's medical record and successfully pull out relevant details would be challenge.

<comment><USER7> I think this article addresses the half the medical landscape where the problems are hard and computers are worse than humans at solving them. The other half is where the problems are "easy". Practices where Doctors spend ~5 minutes with each patient doing physicals and treating minor ailments. In that half doctors can already easily handle the problems so there's no real value add for a computer.

It would take a paradigm shift before AI became useful. Going to watson.com and getting a prescription for antibiotics would be useful and technically feasible. So would augmenting lower trained people to be able to deliver more care. Neither are possible legally and it's not exactly a field you can get away with disregarding the law.

</comment></comment></comment></comment></comment><comment><USER8> The best reference about Watson last year was on reddit, "Watson is a brand, not a "thing". It covers any technologies that IBM sells in the cognitive space. They are further broken up into the business areas."

All hype and marketing built on open source tools, all while AWS, Google, and Azure build out bigger cloud offerings. As OP mentioned, they used to be a great company.

<comment><USER9> I've heard some day: "Watson is a brand name for IBM consulancy services". These people formulate what watson is for your specific business.

<comment><USER10> Watson should rebrand then. You can't have a colossal failure such as the one reported by Stat News: "multiple examples of unsafe and incorrect treatment recommendations." — [Memorial Sloan Kettering Cancer Center] and expect to move on from it as if they were growing pains.

<comment><USER3> I call this the Netflix ML effect.

If your answer is mission critical, probabilistic ML isn't advanced, explainable, or reliable enough for your problem.

If your answer is of the great-to-be-right, meh-to-be-wrong sort (e.g. ranking movie recommendations), then you can and should go nuts with ML.

And if someone really wants to do an ML project on the former, do everything you can to transform it into the latter.

<comment><USER11> If you can tune the specifics-sensitivity curve, you should be able to handle both cases. You have to be willing to refuse to provide an answer when you have low confidence.

<comment><USER12> The existence of adversarial attacks with high confidence on virtually all production ML systems should indicate that confidence numbers are not enough to rely on.

<comment><USER11> Do these attacks require fine control over the input? Eg. if you are scanning a patient's body, does it matter if the model can be fooled by editing the values of individual pixels? This implies that you have a threat model where the data coming from the sensor is being manipulated, in which case all bets are off (the image could be entirely replaced). It doesn't seem much different from a statistical model that you can blow up by feeding in values designed to cause a divide by zero (values that wouldn't appear in real-world data).

It seems like a problem when classifying user-provided images (eg. identifying obscene images on a social network) but not so relevant when you own the sensors.

<comment><USER13> You do have a point - all the adversarial attacks on ML models rely on full adversarial control on the inputs, which probably isn't the case with medical records. If there was unconstrained access to a patient's MRI scans by an adversary, then I don't think adversarial attacks on the ML diagnostic models are the biggest problems you'll face.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Anything labelled 'Watson' should be seen as marketing, not product or consulting.

<comment><USER15> I was going to agree with you, but then my last name is Watson :-)

Seriously, I used IBM Watson on a consulting project a little over two years ago and I was disappointed. To be fair I should take another look. IBM has bought some good companies whose work is exposed in BlueBiz and other web services and the permanent free tier levels they give away rival the free tier levels from GCP.

I think AutoML and auto data science web hosted offerings will be a huge market with right now Google, Amazon, and Microsoft leading the way. If I worked at IBM in a position of power, I would work hard to create a great developer experience for simplifying the use of machine learning, NLP, etc.

<comment><USER14> IBM bit off more than they could chew with the AI/NLP project and their brand suffered as a consequence. Some problems are simply hard in the general case, though there are some spin-outs and spin-offs of that project for more limited domains that are successful.

<comment><USER16> Isn't arbitraging off developed brands just a common contemporary playbook?

</comment></comment></comment></comment><comment><USER17> Don't want to sound too mean but this is not the first time IBM overpromised and underdelivered.

Anyone surprised by this?

<comment><USER18> To be fair, IBM has succeeded at big jobs too.

For instance, they developed software for the Apollo mission and the Space Shuttle. The IBM/360\. The IBM PC. AS/400.

<comment><USER19> I don't think there's anyone who disagrees that IBM was a great company once.

Do you have a more recent example? something that happened several years after Louis Gerstner first assumed leadership.

<comment><USER20> They're still solid in the supercomputer space, no? BlueGene, and Summit and Sierra more recently are IBM projects.

Admittedly though given their pretty large size I can't name much else.

<comment><USER21> > Admittedly though given their pretty large size I can't name much else.

Exactly. Even if 20,000 people worked on those supercomputers, mainframes and Watson, what do the other 350,000 employees work on? Consulting, and it's been that way since Gerstner.

<comment><USER22> and what is "consulting"?

<comment><USER23> Customer specific projects similar to what other integrators like Ericsson, Nokia (telco) and Accenture, ATOS, etc do elsewhere.

</comment></comment></comment></comment></comment></comment></comment><comment><USER24> I was recently diagnosed with neuroendocrine cancer, which my PCP had been misdiagnosed for 10 years as IBS. This is more the norm than the exception for people with this type of cancer, Steve Jobs included. It's a perfect example of where AI can likely diagnosis what my PCP could not. AI tools need to find cancer problems to solve which are more suited to their capabilities. e.g. does anybody know of a company working on "AI for cancer screening"? This is desperately needed and would have helped me.

<comment> 1e-9 Unfortunately, there are still many cancers detected far too late for effective treatment. It sounds like you were indeed fortunate to have a less aggressive form. AI for cancer screening generally falls under the category of "Computer-Aided Detection" or CAD. The commercial and academic CAD efforts tend to be organized by the primary anatomical site of cancer and the detection method (e.g. X-Ray, CT-Scan, PET, ultrasound, blood test) . Was your primary the pancreas or intestine? Are you wanting to contribute to an imaging detection method or something else? I might be able to help you identify someone working in the area depending on your goals.

<comment><USER24> My cancer was finally found in my intestine. This is another opportunity. My primary oncologist and local surgeon were telling me the primary tumor, which has metastasized to a very large liver tumor, could not be found. I did my own research and found they had ordered the wrong type of imaging scan. Only after I pushed to have the correct scan (Gallium 68 PET/CT scan) was the primary tumor found. This was a "lack of information" for my local oncologist. Computer-aided diagnosis would have helped him. An additional new symptom (flushing) appeared and my PCP recognized a specific cheap blood test was needed that led to the cancer being found. I am happy to contribute to an imaging study. But I want to work on cancer screening. What kind of automation/screening would be needed to prevent 10 years of misdiagnosis by my PCP? ... not only for this type of cancer but for all of the top 15-20 types of cancer. People are not being screened. How can we make screening affordable? And how can we raise awareness of possible misdiagnosis and or affordable screening?

<comment> 1e-9 There currently is no good candidate for a imaging modality that can be used for a general screening program to find the top 15 to 20 cancers and I am unaware of anything on the near horizon. Such a scan would have to examine the neck thru the groin area to cover even just 10 out of the top 15 or so cancer types. Since screening involves patients with no symptoms, most patients won't actually have any disease and thus the imaging must be inexpensive, must have high sensitivity, must have a reasonable false positive rate, must involve little to no radiation, and must not require injection of contrast agents or radioactive tracers. That eliminates all of the imaging modalities I can think of that can examine large areas of the body for cancer. The best we have today are compromises on these criteria for patients that are at relatively high risk, such as a smoker or a cancer survivor, or for highly focused screening programs such as what we have for breast cancer.

</comment></comment></comment></comment><comment><USER25> I think quite a few companies(and maybe even a good majority of them) will end up overpromising and underdelivering when it comes to AI products.

<comment><USER26> That will likely include Google with their effort to use "AI" in data analysis and search.

</comment></comment><comment><USER27> I always find it kind of silly when AI is just thrown into a field with the notion that they'll just deal with the messy, subjective and unstructured data (like hand written medical notes for example) as is. For me it makes much more sense to try to clean up and structure the data from the start instead. Maybe come up with some data acquisition compromise that is both UX friendly and give rise to more structure and consistency.

<comment><USER28> My company does machine learning checked by physical models. Our single biggest problem (and management is finally waking up to it) is curating the incoming data. And this is in a mature industry (oil & gas).

<comment><USER3> My biggest surprise has been how little everyone is aware of their data quality.

The only explanation I've been able to come up with is that when it's all human processed, Joe 2nd-link-in-the-chain just deals with all the inconsistencies as best he can to get his job done, and never reports issues up.

<comment><USER29> Without those data inconsistencies to fix up every week, Joe would probably be out of a job.

<comment><USER3> But Joe typically hates dealing with the inconsistencies, and he can tell you exactly how they could be fixed.

It generally seems like (a) the suggestions for fixes are impractical to implement (overly detrimental effect on counterparty), (b) Joe isn't empowered organizationally to suggest fixes that will be implemented, or (c) Joe doesn't have access to the IT tools to implement fixes himself.

<comment><USER29> From my experience the answer is usually (d) all of the above.

</comment></comment></comment></comment></comment></comment><comment><USER30> At one point, there was an API available via the IBM Cloud that you could use in order to ask Watson questions. I've rarely been that underwhelmed.

After using that, I realized that Watson was mostly a gimmick.

<comment><USER31> It's called Bluemix - it's hilarously underwhelming

<comment><USER32> The greatest thing about BlueMix was its promotional budget. Saw The Force Awakens on IBM's dime, and got about $50 worth of movie theater gift cards. All I had to do was sit through a 20 minute presentation about BlueMix case study integrations.

<comment><USER33> I saw Force Awakens via IBM as well, and I got a cool light saber toy!

[https://twitter.com/chaoticmass/status/677708888083439616](https://twitter.com/chaoticmass/status/677708888083439616)

I did look at the BlueMix platform, and it seemed like a big mix of various APIs I could tap into. Some of them looked neat, but I never had a reason to really use any of them.

<comment><USER32> Apparently they decided BlueMix was a stupid name and just renamed it IBM Cloud.

</comment></comment></comment></comment></comment><comment><USER34> I figure we're going to be reading articles similar to this about blockchain in a couple of years.

<comment><USER35> The fact Bitcoin is worth $90 billion and has survived a decade of endless criticism, means blockchain is successful beyond anyone's wildest dreams a decade ago. I would say Bitcoin and Ethereum have been way more successful than Watson has.

<comment><USER36> People kept investing with Bernie Madoff for decades too, because his investments kept giving returns. People will keep shoveling money into Bitcoin as long as its value keeps swinging wildly. That's hardly a measure of success.

<comment><USER35> How much will Bitcoin have to be worth, and for how long, to make it successful in your eyes? Or is the entire idea of a digital asset with intrinsic value impossible to you?

<comment><AUTHOR> Slot machines pull in a lot of money too, I guess you would label them a success?

<comment><USER35> USDC ([https://www.circle.com/en/usdc](https://www.circle.com/en/usdc)) is a dollar-backed cryptocurrency operating on Ethereum. Over $260 million has been converted into USDC, and it is used all over the globe to move small or very large amounts of money securely within seconds ([https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0c...](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48)). This is a novel application of blockchain technology that is beyond a slot machine.

</comment></comment></comment></comment></comment></comment><comment><USER37> IBM sold Watson as a black box with a magic genie inside.

You could point it at your data and it would tell you the answer before you'd even thought of a question.

No wonder we're disappointed.

</comment><comment><USER38> >"But Watson won't change its conclusions based on just four patients. To solve this problem, the Sloan Kettering experts created "synthetic cases" that Watson could learn from, essentially make-believe patients with certain demographic profiles and cancer characteristics."

Is this standard practice in machine learning? This sounds more like regular programming to get exactly the outcome you want.

<comment><USER39> It's standard practice for idiots. And apparently "Sloan Kettering experts."

There are semi-supervised techniques to do stuff like this in a more systematic/automated way, but you still don't get anything for free: the outcome depends on the priors used to do the semi-supervised voodoo. In a generous moment I might assume this is what they meant, but it's still dumb.

</comment></comment><comment><USER40> Not sure about Watson, but there was just this week a story about using pattern matching to improve breast cancer screening imaging. It seems the tech is decent but the problem is, it's unclear whom to sue if needed, so there's an obstacle to using it.

<comment><USER41> If they'd marketed it this way from the beginning it would have been fine. AI is great at that kind of pattern-matching.

The problem is that Watson was sold as a kind of "AI Doctor", which is pretty much ludicrous

</comment></comment><comment><USER42> During my time in IBM I was walking by the "main" Watson server everyday into work. I was always impressed at the package, and what ever they said it could do.

Finally got my hands on it and was incredibly disappointed. Lacking features, archaic interface, and not delivering on what it was promised. Talked to some guys working for the Watson team and they told me that half of the AI stuff is just them doing it manually under the guise of "integration and configuration".

I did have fun "talking" to Watson whenever I was bored at work, trying to make him swear

<comment><USER43> So Watson is just IBM's Mechanical Turk?

</comment></comment><comment><USER44> Main problem is Watson its like a million different things all with the same name. So no one actually knows what they are selling when they talk to you about Watson. Literally I had one IBM guy ask to check out their Watson and it took 5 minutes of them showing me the demo before I figured out what it was (cloud based Nvidia Digits alternative). If that particular Watson had an actual name, I probably would've heard about it before and I'd actually be able to recommend it to someone.

</comment><comment><USER45> [from wikipedia] Thomson Reuters sold Thomson Healthcare to Veritas Capital for US$1.25 billion On June 6, 2012. The new company, Truven Health Analytics, became an independent organization solely focused on healthcare. Truven is a portmanteau of the words "trusted" and "proven". IBM Corporation acquired Truven on February 18, 2016, and merged with IBM's Watson Health unit.

</comment><comment><USER46> A bunch of the projects described, and the (technical) difficulties encountered, make me wonder if GPT-2-style systems would have better odds. Is anyone looking into applying that to medical/scientific text NLP problems?

I mean, GPT-2 still often produces nonsense more similar to dream imagery than useful reasoning, but I gather most medical residency students are half-asleep most of the time anyway, so... :)

<comment><USER47> > still often produces nonsense more similar to dream imagery than useful > reasoning,

Is there any example of gpt-2 in the wild that is not nonsense?

</comment></comment><comment><USER48> AI over-promising and under-delivering? Never.

</comment><comment><USER49> > IBM

> Overpromised and Underdelivered

Sounds kind of catchy, to be honest.

<comment><USER50> If you could work in a clever bit about ageism and poor severance packages, you'd have a strong contender for IBM corporate mission statement.

</comment></comment><comment><USER51> What actually is so hard about AI in health care? Why not just take a set of diagnostic indicators for inputs, map to conditions/treatments as outputs and train a neural net?

<comment><USER52> The problem is that the numerous easy cases do not result in a useful network ... any 1st-year intern will get the easy results already.

The hard cases, which would be useful to a doctor, occur very rarely. My father's unusual reaction to a post-bypass drug regimen was something like the 3rd time that happened in Canada. How do you "train" that into a neural network?

<comment><USER53> Sounds like anomaly detection would be quite useful for monitoring the expected reactions and comparing with actual outcomes. It may not be the answer to "what is the right drug?" but it may be enough to say "what he got ain't right for him"

</comment></comment></comment><comment><USER54> IBM MAKE great commercials. Those commercials are just as gimmicky as most of the products.</comment>


Building a Raspberry Pi based server powered 100% by solar energy - <AUTHOR> http://pi.qcontinuum.com/project.html <comment><USER2> 45W sounds like overkill for an RPi - I live in Scotland (55.95N) and I have a 50W panel charging a 110Ah battery in my garden shed. The battery is used to power a 1kW Invertek 250V inverter (150A fuses are impressive BTW) which I use to run a lawnmower, power tools, soldering station and lights (not all at once!).

The lawnmower is the biggest drain (900W) and is really pushing the envelope - but in the summer I can cut 55 sq. metres of lawn once a week without any charge problems. In the winter the grass doesn't grow :) but I can run the other tools just fine. I was very surprised at just how well this system worked, but then I did splash out on a high end 50W Kyocera panel when I designed this. My only alternative would have been to bury an SWA cable across common ground and somehow run it to my consumer unit in a 1st floor flat, so I was prepared to spend £300 (as it was then) on the panel. They're a lot cheaper now.

<comment><USER3> So if I got a bigger panel and needed more power would you say to buy a second battery? Would I just hook it up in parralel?

<comment><USER2> If you need more power you have 2 options. You can add more batteries in parallel and increase the size of the cables to take the higher current, or you can go to a 24 volt system which means you can use the same cable. 24 volt components are maybe harder to find though. My system is really intended for short periods of peak power (say 30 minutes a week running the mower). It was harder to find cheap inverters to handle more than 1kW at the time too.

</comment></comment></comment><comment><USER4> I was investigating today into something similar.

The concusion of my research:

\- Model A uses a way less (about 33%) electricity, because it does not have a lan controller. So it will be useless as a server, but for my application this is the choice.

\- The RPi does work with 3.3 Volts, but then the USB does not work. Yet again, for me good enough.

\- Undervolting (the core and ram) and downclocking do not make much sense. It does save nearly nothing and make the board absurd slow.

\- The biggest powersink seems to be the GPU, but AFAIK it can't sleep.

\- The most inefficient component are the voltage regulators. Replacing them with dc-dc converters was discussed, i have no experimental results. The easies way is to convert the input to 3.3V without replaying and board components.

\- Displays use very much power. But they can be turned of if not needed.

It seems the solar panel can be significantly smaller, but not for a webserver.

</comment><comment><USER5> I think he could have halved the size of his solar kit and still not have had to worry about power interruptions.

[http://pi.qcontinuum.com/cgi- bin/rrd/rrdgraph.volts](http://pi.qcontinuum.com/cgi-bin/rrd/rrdgraph.volts)

<comment><USER6> Evidence shows the solar panels are important: He doubled the number of solar panels in November after the initial panels weren't enough to power the RPi in the winter. [http://pi.qcontinuum.com/failure2.html](http://pi.qcontinuum.com/failure2.html) (The graph also shows the voltage dip below 10V in Nov, probably representing that failure, though it's hard to see the details in the "last year" graph.)

Maybe they could be pointed towards the sun more efficiently, or been a more expensive & efficient model - but the story says why he chose his porch and cheap solar panels.

<comment><USER7> Adding some kind of rotation mechanism to the panel would increase efficiency, and I'm sure the Pi or Arduino could handle this.

</comment></comment></comment><comment><USER8> Excellent project, but the shading on the solar panels from the railings is more than likely severely reducing the output of the panels at lower sun angles. Even shading a single cell on a series connected panel effectively reduces the output of ALL cells. Also having peak power tracking would increase panel utilization. I really like the power monitoring using the Arduino though.

</comment><comment><USER9> This kind of research is nice to see. Too bad your setup needs a less-powerful system (Arduino) and a more powerful system (RRD host) to operate the charging.

What about using the RasPi's GPIO pins instead of the Arduino? And why wouldn't an SD card be able to manage that many writes? What about a ram drive?

</comment><comment><USER10> Network traffic graph currently showing what it is like to be HN'd:

[http://pi.qcontinuum.com/cgi- bin/rrd/rrdgraph.pi.main](http://pi.qcontinuum.com/cgi- bin/rrd/rrdgraph.pi.main)

[http://pi.qcontinuum.com/rrd/pi-traffic- day.png](http://pi.qcontinuum.com/rrd/pi-traffic-day.png)

[http://pi.qcontinuum.com/rrd/pi-traffic- week.png](http://pi.qcontinuum.com/rrd/pi-traffic-week.png)

<comment><USER11> And the allmighty raspberry pi is surviving traffic like a baws :)

</comment></comment><comment><USER12> I've been wanting to hack on a few projects that involve small amounts of electrical knowledge, but am not sure where to get the bare minimum information to avoid killing myself or others. What is the best way to get practical background knowledge about this type of electrical project?

</comment><comment><USER13> What are "the RRD tools"? What does RRD stand for?

Also, if you're worried about an application which does a lot of SD writes, you could:

(1) Try it, see if the SD card holds up. If it does, great. If it doesn't, well, SD cards are cheap, and you _did_ make a backup, right?

(2) Write to a RAM disk

(3) Write to a network drive

<comment><USER14> [http://oss.oetiker.ch/rrdtool/](http://oss.oetiker.ch/rrdtool/)

It's literally the first hit in Google. He probably doesn't explain it because it's a fairly well-known tool.

</comment></comment><comment><USER15> Interesting. Looks similar to this project. [http://www.engadget.com/2012/06/20/48-pandaboards-chained- to...](http://www.engadget.com/2012/06/20/48-pandaboards-chained-together-in- solar-powered-arm-cluster/)

</comment><comment><USER16> > see how many years I could keep it running without a reboot

> I decided set up the panels on the deck facing west.

There seems to be some disparity between his goals and the stability of the environment in which he's placed the equipment.

</comment><comment><USER17> I wish there were more pictures and descriptions of how to hook up the battery to the raspberry pi. That is the biggest unknown to me.

<comment><USER18> I don't know what the author used, but you should be able to build something similar with these products/kits from Adafruit:

      - MintyBoost Kit http://www.adafruit.com/products/14

      - USB / DC / Solar Lithium Ion/Polymer charger http://www.adafruit.com/products/390

      - Li-Ion Batteries / Solar Panels http://www.adafruit.com/category/67

</comment></comment><comment><USER19> 142 days uptime is pretty cool!</comment>


Ask HN: Android over iPhone? - <AUTHOR> I'm primarily an iPhone user. What are the main productivity advantages of having an Android phone over an iPhone? <comment><USER2> You spend less time arguing about yours being the better option.

</comment><comment><USER3> Currently, I have GForth, Octave, J, a Clojure REPL, Ruby IRB on my Android phone. I'm just waiting for Racket.</comment>


Java 7 : The new java.util.Objects class  - <AUTHOR> http://www.baptiste-wicht.com/2010/04/java-7-the-new-java-util-objects-class/

<comment><USER2> I was actually just thinking recently about eliminating unchecked null errors in my haXe code, went looking through the features and discussions, and came up with two "today" solutions and one "proposed for the future". In light of how little Java seems to be doing to eliminate those errors, maybe they will interest:

-Right now it's possible to use the haXe Enum to implement a form of "Maybe" type: calling some "get" function returns the Maybe, and then you do a switch statement on it. From there the compiler forces you to cover all cases.

Caveat: Enum is quite a slow feature.

-I can force the "get" function to pass in handling code for null and non-null cases as arguments.

Caveat: Requires the handlers to be full functions, not just expressions, which is bulky and inflexible. This should be doable in Java too, but without inference, you might have to fight the type system more to get it right.

-Macros are proposed: Then I can turn my "get" function into a "get" macro that forces me to always provide the null handler.

Caveat: It's a bit more involved than a Maybe type, which would do the compile checks automatically.

Overall, I'm really happy with where haXe is going. It's growing some really useful features while remaining a cross-target language. If macros get in(hotly anticipated, but probably not soon) it'll be a very exciting time for the language.

</comment><comment><USER3> Aren't these just one line utility methods that a user could write themselves?

<comment> brown9-2 Yes and there are a number of libraries (commons-lang, Spring, etc.) which include Assert classes for things like Assert.notNull(), Assert.notEmpty(Collection<T>), etc.

This seems like recognition that such commonly used library functionality might also be useful to be in the base API.

Though I would think it would make more sense for Objects.nonNull() to throw IllegalArgumentException, not a NPE.

<comment><USER4> One could make the "Aren't these just libraries?" argument for the collections stuff introduced in 1.2, but this standardization served a legitimate purpose by facilitating rich inter-component/framework interoperability. While I don't dispute the benefits of using this new Objects class, provides methods used in implementations, not common API representations. So, I'd argue that the Java ecosystem isn't much better off for it. This isn't to say that I'm not happy that it's there, but I don't think it's nearly as noteworthy as new language features, underlying JVM performance improvements, etc.

As an aside, I was surprised that the article did not take advantage of static imports to rid the code of the "Objects" references. One could just say:

if (notNull(foo).equals("bar")){...}

<comment><USER5> "As an aside, I was surprised that the article did not take advantage of static imports..."

I also much prefer the readability of static imports, but it won't work for the "equals," "toString" and "hashCode" methods, obviously.

</comment></comment></comment></comment><comment><USER6> What are the odds again that we'll _ever_ see widespread adoption of Java 7?

<comment><USER7> The JVM is going to spread quickly as it will (or at least, should) offer performance advantages for the many various dynamic languages that run on it. As for Java7 - it will be slower to spread but I think the addition of closures will be decisive in garnering developer support for it as a wealth of new APIs (or reworking of old ones) will quickly appear that will have everyone wanting to upgrade. So it will happen for most server side code within a couple of years I would expect.

<comment><USER8> Java 7 doesn't have closures. Personally, I just want a better syntax for instantiating anonymous classes. I find that ful closures aren't really necessary.

<comment><USER9> Actually, the current status is that Java 7 _will_ have closures.

</comment></comment></comment></comment><comment><USER10> Why not fix Java to have compile-time checked not-null types? Given that not- null is a strict subset of nullable, it wouldn't break code to annotate the standard library with not-nulls. Then we can avoid these run-time checks entirely.

Oh and while you're about it, please re-parent InterruptedException onto RuntimeException, and make Object's default toString method use reflection to print the contents of all fields in a readable format with recursive toString calls.

</comment><comment><USER11> April fools?

Oh no... it's Java.

<comment><USER12> I don't see how it could be interpreted as a joke. I've given up Java because of its verbosity, but anything that reduces it is a win.

<comment><USER11> I chuckled at the function that takes an object as an argument and returns the same object as the result.

Yes, I know it throws an exception if it's null... but when your id function has side effects, it's a sign that your language is Just "not that great".

<comment><USER13> The id function in Java has no side effects...

      public <T> T id(T t) {
        return t;
      }

That's an id function. It works fine with nulls.

Where did anyone say that java.util.Objects was providing an id function anyway?

</comment></comment></comment></comment><comment><USER14> The date on the article is April 2nd. I did check.

Is the inclusion of this monstrosity in a standard library more evidence that null references are a misfeature? A explicit construction like Maybe<T> seems so much of a better idea.

<comment> brown9-2 why is this a monstrosity?

<comment><USER14> It's a monstrosity because the underlying language design makes it necessary. A whole class of bugs could be eliminated if the language didn't allow you to have null references, and instead, made you explicitly state your function might not return an object, for example, the Maybe datatype in Haskell.

<comment><USER15> You can argue that null references are problematic and I'll agree with you. But they're a part of Java (and a whole host of other languages, too) and that's not going to change anytime soon.

Saying that this is "a monstrosity" because nulls shouldn't exist in the first place is completely unhelpful. Whether we like them or not, we're going to be stuck with them for a long while, and attempts to make them less painful to deal with aren't a bad thing.

<comment><USER14> Examining existing languages is useful to advance the art in computer language design. Being "stuck with them" just means we have the experience of writing software with these features.

In addition, there's no reason we can't write a language without nulls which works on the JVM.

<comment><USER15> But we're not talking about advancing language design--we're talking about a small modification to an existing, widely used language whose basics are not going to change. There are a lot of problems with Java I'd like to see fixed before _null_ , and the Java community has dismissed most of those as too radical (like closures).

There _are_ languages which work (mostly) without nulls on the JVM though. Scala does something very similar to Haskell's _Maybe_. (Although for interoperability with Java it can deal with nulls if you insist.)

</comment></comment></comment></comment></comment></comment><comment><USER16> Over in C#, the implementers decided to give us extension methods so we could inflict this terror on ourselves in a relatively nice way, and left it out of the standard library.

</comment><comment><USER17> 12 years in the making.

In Java 8:

java.util.Strings.isBlank(string) -- returns true if the string is null or "", else returns false.

Its wishful thinking hoping for this in Java 7... So I'll just lower some standards.

<comment><USER18> These days I just treat Java like C. It has a relatively small syntax and small feature set, but it has a relatively large set of libraries available (built in and otherwise). The language itself just isn't that interesting. It's what people are building with it (like Clojure, or Scala, or Hadoop, or Processing) that are interesting.

<comment><USER19> These days? Steele's "The Java Programming Language" is where I learned Java first, and I don't think I have read another book, spec, or library documentation for java after that. Java as "C with OOP, Unicode, Exception handling and Threads" is really an excellent language.

I write one small java app every 4 years and that subset of it served me well.</comment></comment></comment>


Google smartwatch reportedly packs a "Digital Crown," launches 2/9 - <AUTHOR> http://arstechnica.com/gadgets/2017/01/google-smartwatch-reportedly-packs-a-digital-crown-launches-february-9/ <comment><USER2> Reading 'Digital Crown' I immediately thought of Project Soli [0] (a radar- based that can read finger gestures without contact), but I assume it's just a plain old rotary encoder and push button.

OT: Does anyone know if Project Soli is ready for market? Is the alpha kit even available yet? I haven't heard anything about it lately.

[0] [https://atap.google.com/soli/](https://atap.google.com/soli/)

</comment><comment><USER3> *>>launches 2/9

2nd September. That's a fair way off yet.</comment>


What if Hollywood had to use tech like we have to watch movies? - <AUTHOR> http://www.aaronklein.com/2012/01/hollywood-edition/ <comment><USER2> This is just sad, I get the impression from the comments and up votes that tech does not get Hollywood. Hollywood business only work because only Hollywood is willing to give Christopher Nolan 200+ million dollars to make Dark Knight, ditto with James Cameron's Avatar. When Google, Microsoft, Apple, Facebook or Yahoo decides to give a Christopher Nolan or James Cameron $200million+ to make a movie, things will be different. Then these multinationals can distribute to everyone who wants to buy the movie without DRM, without regional restriction and at a competitive price. Until then everything is just posturing, indie budgets will not change Hollywood. Tech world has competition, but only Hollywood is making these big budget productions.

edit: not sure why this is getting down voted, it would be interesting to see a counterpoint.

<comment><USER3> It is properly downvoted because it is wrong.

Until Bieber came along, _the_ most watched clip ever (Charlie bit my finger), having been seen 100 of millions of times cost a few cents of electricity to produce.

This indicates that there is an entire market out there which Hollywood is incapable of satisfying but which could easily be filled by a start up.

<comment><USER2> Long before youtube, there was a show called American funniest home videos. You should check it out.

</comment></comment></comment><comment><USER4> I think this is great, we should add a licensing clause for this, if you work for a subsidiary of an MPAA member you have to check a box to get the Hollywood edition else you are not entitled to use the software, perhaps even a Hollywood IP database for internet companies.

If Hollywood execs had to sit through 5 minutes of ads to use Google they'd soon get the message.

Anyone have any ideas on how to get the IP blocks of MPAA member companies? Is there anything better than just whois'ing every class A/B/C?

I'm thinking of a javascript that creates a black modal dialog with a youtube video queue of startup video ads. Use the chromeless video player, I'll even max the volume for them.

Simple one line addition to your site and voila your startup/site/blog is Hollywood Edition.

<comment><USER5> > Anyone have any ideas on how to get the IP blocks of MPAA member companies?

It's been tried before. Maintaining the list is very difficult for the exact same reasons that would have made PIPA/SOPA technically inept.

e.g. <http://en.wikipedia.org/wiki/PeerGuardian>

<comment><USER6> Such lists continue in wide use. Of course they are not foolproof, but it does help.

<comment><USER7> peerguardian and it's ilk don't help at all. they make uninformed people feel safer.

<comment><USER8> Is that true? Could you let me know where you got that info from so I can check for myself? Thanks!

</comment></comment></comment></comment></comment><comment><USER9> I love this article for its irony, intentional or no.

The author cites perfect examples of why the software industry is _exactly like_ Hollywood with its products. Word? Need a license key. Can't open or save ODT files without annoying popups. Apple? Don't even try to partition the system or it will break, and don't use the software on non-Apple hardware. Certainly don't try jailbreaking it. Google? Can we talk about privacy policies?

Of course, the biggest problem is that none of those instances of software are even accessible (fully) by their users. The user can't change the software, they can't even use the software in every capacity.

So I guess the real question is, why are we still acting like Hollywood?

<comment><USER10> "Certainly don't try jailbreaking it. Google? Can we talk about privacy policies?"

Could you explain that? I've been jailbreaking for, maybe five years now, and it's very easy. And I think Google's new privacy policies are an improvement over the old.

Maybe that's your point, but I'm not sure what you're getting at.

<comment><USER9> Well, the Google privacy policies have been consolidated, which means less piecewise freedom for people who use one or two Google products. I, for example, use Mail and (barely) use Search. I don't need to agree to things about Google+!

And jailbreaking Apple devices, while possible and, in some cases, easy, has never been encouraged by or even considered by Apple. In order to jailbreak, you have to find exploits in the software. This is opposed to free software, where you are able to do anything you want with the phone's software from the start--no exploits, no jailbreaking, just freedom.

<comment><AUTHOR> There are certainly ways that tech companies operate in a Hollywoodesque manner.

Apple trying to assert DMCA against jailbreaking phones is a great example. It's YOUR phone. You paid $600 for it (either over time, or up front). You should be able to do whatever you want with it.

You've made a very poor case with Google privacy policies, though. If you don't use Google+, there's no way for any of its privacy policies to affect you. If you don't like their policies, don't use their free product. Period.

<comment><USER9> I suppose I jumped into an example I didn't fully understand--sorry about that :)

</comment></comment></comment></comment></comment><comment><USER11> Most importantly, we should send them extortionate threats of law-suit based on easily fake-able evidence that claim they owe us thousands of dollars just to get us to not send them more letters.

And then when they stop using our service we'll say it must be because they're doing something illegal.

</comment><comment><USER12> You, Mr. living in San Diego, are trying to get KWIK24, PBS Wikipedia LA, instead of KOSA13, PBS Wikipedia San Diego, aren't you?

Well, unfortunately we know that you can't get it over 3G or 4G because you're outside the reception area and we've encrypted KWIK24 to be received by people in LA only on Fibre or ADSL.

KOSA13 might have 30 second ads before each article, doesn't carry half of the most popular articles and re-compresses every image with a watermark, but that's not our problem.

</comment><comment><USER13> Pure genius. You can, by the way, offer better licensing to specific companies and unaffiliated individuals -- leaving Hollywood with the unskippable ads, "premium tweets," and all the rest.

Good luck, however, winning in court to enforce your license.

<comment><USER14> As mentioned on the Wikipedia page for EULAs towards the end [1], the solution is to encase absolutely everything in DRM, making it a DMCA violation to remove the DRM without permission. Then, Google permits everybody except Hollywood to remove it freely.

Oh, and while the DMCA requires DRM to be "effective", that has proved to be a low bar.

More seriously, EULA case results are mixed, and Wikipedia's somewhat sarcastic first sentence of that section as I write this is broadly correct: "The enforceability of an EULA depends on several factors, one of them being the court in which the case is heard." Maybe there's some other legal doctrine about contracts that would knock this out, but it's not immediately obvious to me that this couldn't be done. (Not that it will, of course.)

[1]: [http://en.wikipedia.org/wiki/End- user_license_agreement#Enfo...](http://en.wikipedia.org/wiki/End- user_license_agreement#Enforceability_of_EULAs_in_the_United_States)

<comment><USER15> _Oh, and while the DMCA requires DRM to be "effective", that has proved to be a low bar._

I think the "effective" in "No person shall circumvent a technological measure that effectively controls access to a work protected under this title."[0] probably means something more like "has the intended effect of" rather than "does a good job at."

[0] [http://www.law.cornell.edu/uscode/html/uscode17/usc_sec_17_0...](http://www.law.cornell.edu/uscode/html/uscode17/usc_sec_17_00001201 ----000-.html)

</comment></comment></comment><comment><USER16> Hollywood business aside, I think you just came up with Twitter's business model. I'm joking, but only somewhat.

<comment><USER17> Twitter? Oh I remember them. They were popular back in the MySpace days right? Silly of them to drive away their users with the lag punishment paywalls like that. As I recall it, folks seemed to be wandering over to Facebook and G+ by then anyway.

</comment></comment><comment><USER18> pre-edit: nevermind, Aaron removed it. Better now :)

Whatever that black popdown thing is called is really, really obnoxious.

Here is what it looks like in my browser: <http://imgur.com/cKiYN>

Chrome 16.0.9 on Snow Leopard.

The problem is that it covers text as I'm scrolling through the page.

To recreate it: start scrolling down the page.

<comment><USER19> I can't recreate this in Chrome or Safari on OSX Lion. Are my corner actions preventing me from seeing it?

<comment><AUTHOR> I killed it. Only added it because some readers were having a hard time finding the "share" buttons. I'll find a better solution.

<comment><USER20> That looks exactly like the OKTrends sharing bar. Did you implement it, or is there js library for that?

</comment></comment></comment></comment><comment><USER21> We're sorry, this tweet is not yet available in your country but we are working hard to make it possible !

<comment><AUTHOR> Ha! Awesome. Should have thought of that one.

</comment></comment><comment><USER22> It's mind boggling that people treat being able to consume (fettered or not) media as a god-given right. The suggestion here is that our best option is to 'be terrible' to old media until they understand what it's like to be treated poorly?

You want to know how to fix things?

Stop buying what they sell.

<comment><AUTHOR> That's not my take at all.

The content companies do believe they are God's gift to mankind and they have some very anti-customer policies. They think they are optimizing their revenue from such policies.

I think they underestimate the kind of growth they could see if they started treating their customers the way that most of the tech industry does.

Tech is far from perfect, but it does a better job of being customer centric.

</comment></comment><comment><USER23> > _Since they're so persnickety about licensing agreements,_

I'm not convinced that they are. I'm sure that an audit of Hollywood software licensing would find many unlicensed copied (their word "stolen") bits of software.

</comment><comment><USER24> Hollywood are not in the business of offering a service, only a product. This is mostly why the two aren't compatible and why they aren't interested in developing it.

The thinking is that a product is far more profitable and has higher gains than a service which bleeds money by comparison due to it's constant maintenance costs, upkeep and customer care and that drop in profit would make their pyramid business model unsustainable.

</comment><comment><USER25> That article is dumb in its examples, lets consider something more realistic.

Every developer from this point onward adds a licensing clause for holywood execs - if that product is showcased during the movie a certain amount is owed to the developer at this point. Start putting it in every single app they will start making mistakes.

The other day I saw Open Office 2.0 in Girl with Dragon Tattoo - Libre office could easily add this clause.

<comment><USER26> >Libre office could easily add this clause.

That clause is incompatible with the LGPL, and Libre Office doesn't do copyright assignment, so there are many copyright holders, all of whom would have to agree to the licensing change. Not so easy.

</comment></comment><comment><USER27> Humour.

To everyone taking this seriously, please remember, variously, "two wrongs don't make a right", the "golden rule" (<http://en.wikipedia.org/wiki/The_Golden_Rule>), "don't stoop to their level", etc.

</comment><comment><USER28> Thankfully we can use a user's ip adress to ensure this only effects Hollywood executives.

</comment><comment><USER29> The Twitter one sounds good then you realize an entrepreneur will come in and create a Twitter for Hollywood types. Twitter would lose millions of users to this competitor, as following celebrities draws millions.

</comment><comment><USER30> They probably do. I download movies and they probably download tech.

</comment><comment><USER31> This is petty and immature.

</comment><comment><USER32> I think Hollywood is just a facàde for the US government. A while ago, Hillary Clinton admitted the US government is losing the "information war"[1]. What could possibly be better for winning an information war, than to pass legislation like this, under the guise of "fighting piracy"? The government could not be seen as promoting this kind of legislation.. otherwise, they´d be on the same league as Iran or China..

Hollywood´s not the problem. Your government is.

[1] Hilary Clinton Admits US Is Losing The "Information War": <http://www.youtube.com/watch?v=xMoeDaLV2WA>

<comment><USER33> A long time ago, the US pushed Hollywood because they knew it would essentially be free advertising for everything else the US sold. That's probably unnecessary these days. It's pretty obvious from certain comments that Hollywood is helping members keep their seats (via campaign funding), and threatening to pull the funding of anyone who rocks the boat.

It's like a Hollywood movie, about a beast (or robot) which ends up overpowering its master.</comment></comment>


Sexism in the PHP Community - <AUTHOR> http://caseysoftware.com/blog/sexism-php-community <comment><USER2> The typeface is blatantly offensive, but it took me a while to see what was supposed to be sexist about the shirt. You have to read it out loud to get it: the last two syllables of "PHP-ness" are supposed to be pronounced like the word "penis". So it's not just an ugly shirt, but an ugly shirt which associates an ugly language with ugly ripoff-marketing spam email.

</comment><comment><USER3> It took me a really long time to understand why that shirt (apart from simply being ugly) would be considered offensive to women. I think the author of this article should engage in some introspective self-criticism and try to pinpoint the psychological factors that cause her to get so upset at trivial externalities that dont completely synch with her worldview.

<comment><USER4> As best I can determine, the author's name is D. Keith Casey Jr. I strongly suspect the author is male.

</comment></comment><comment><USER4> I never quite know what to think of posts like this. They usually strike me as really missing the mark, which I hesitate to say in part because I know that "not pc language" (for lack of a better term) _can_ be a serious issue. But I really think these kinds of posts don't help women. I suspect they probably hurt women in tech, but I am not quite sure how to express my reasons for feeling that way.

<comment><USER5> I feel similarly and find it hard to express why it makes me think that way.

I actually thought about writing something more to this effect, but I don't want to come off as critical. The short version of my thoughts though boils down to the idea that a negative stereotype of Feminism is re-enforced by this whole episode, and while people have the right to voice their criticisms about something, using the guise of Feminism to lob the critique doesn't promote what Feminism is actually concerned with.

<comment><USER4> I am a woman. I was one of the top three students of my graduating high school class. I turned down a National Merit Scholarship. I thought I would have a career and family, etc. I ended up a homemaker for two decades. I have read a helluva lot about feminism and all that over the years and thought long and hard about what went wrong with my life. I woke up this morning super cranky about feeling like I still need to choose between having a brain and a sexuality, between having a man and a fulfilling life. I strongly suspect that most men are uncomfortable with so called "feminism" because they fear that if women get lives of their own, no man (or they personally) will ever get laid again. Stupid, stipid, stupid. I have read at least one article by a man who was involved with a feminist. He and the other men would wind up in the kitchen, feeling bad about being male.

Besides, the t-shirt is a play on words for getting your penis enhanced. I have never met a man who wants to proudly display on his chest the announcement that his dick is too small and needs enhancing. It looks to me like the stupidest possible play on words they could have chosen for a male dominated field. It will no doubt die of its own stupidity, winning a Darwin award, without anyone needing to criticize it as "sexist". Having a sexuality is not "sexist". The sooner the shrieky so called pro feminists figure that out, the sooner we can work on real issues and stop freaking out about the normal, routine fact that "sex sells", thus sexual references are incredibly common. The real way to promote gender parity (which I am for, even though I role my eyes at "female equality") is to promote the idea that women are also entitled to enjoy sex and stop implying that if a man likes sex, he clearly is a disrespectful pig who should burn in hell.

Anyway, I have an errand to run. Which is for the best because I was grumpy about this topic before this piece was posted.

Later.

<comment><USER5> Well said.

</comment></comment></comment></comment><comment><USER5> Were there other tee shirts on sale at the conference or was this the sole piece merch?</comment>


Statement on DMCA Lawsuit - <AUTHOR> http://blog.cryptographyengineering.com/2016/07/statement-on-dmca-lawsuit.html <comment><USER2> Thank you to Mr. Green and the EFF for putting together this case! Striking down Provision 1201 of the DMCA would be beneficial to all the security researchers who are trying to help make the world's software and technology safer for those using it.

We all need to work towards allowing security researchers to be able to responsibly do their jobs without fear of being sued or thrown in jail. Section 1201 of the DMCA (and of course the CFAA) are used by negligent companies against security researchers when they uncover flaws in products. These chilling effects on security research affect us all.

EFF's Press Release: [https://www.eff.org/press/releases/eff-lawsuit-takes- dmca-se...](https://www.eff.org/press/releases/eff-lawsuit-takes-dmca- section-1201-research-and-technology-restrictions-violate)

</comment><comment><USER3> This story is being discussed at [https://news.ycombinator.com/item?id=12136578](https://news.ycombinator.com/item?id=12136578).

<comment><AUTHOR> Ah, I was debating whether to comment this link there or post separately. Thanks for helping streamline the discussion.</comment></comment>