Beating C with Futhark Running on GPU - <AUTHOR> https://futhark-lang.org/blog/2019-10-25-beating-c-with-futhark-on-gpu.html <comment><USER2> Monoid homomorphisms for the win. I discussed a very similar approach for computing the length of the longest line in a "rope science" article[1], as well as unquoting strings[2]. In this case, it was very nice to see actual code, and Futhark looks like a good language. For the string unescaping, I used Nvidia's Thrust, which is a templated C++ library; generally pretty similar to the Futhark code, and generally similar results.

[1]: [https://xi-editor.io/docs/rope_science_01.html](https://xi- editor.io/docs/rope_science_01.html)

[2]: [https://raphlinus.github.io/personal/2018/04/25/gpu- unescapi...](https://raphlinus.github.io/personal/2018/04/25/gpu- unescaping.html)

</comment><comment><USER3> I found this more readable and understandable than the Haskell post, although I can't quite say why. It might simply be the repetition.

I'm really interested in Futhark, though I haven't found a project where it would be make sense to use it. But I feel like it has the same potential to make GPU programming not feel overwhelming the same way Elm did with frontend work for me.

<comment><USER4> Since Futhark has sum types, I wonder whether we could transpile Elm syntax to Futhark. I'll have to dig into what's possible with Futhark and how well it would map...

<comment><USER5> James Carson gave a talk at this year's Elm Conf on using Elm to talk to Futhark:

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

</comment></comment></comment><comment><USER6> > Word counting is primarily IO-bound, and it is much too expensive to ferry > the file contents all the way to the GPU over the (relatively) slow PCI > Express bus just to do a relatively meagre amount of computation.

After seeing that it's possible to play crysis using software rendering on an AMD Rome cpu with 128 hw threads [1] - might this lead to some vindication for AMD sticking with opencl (assuming exposing such a cpu via opencl) - or is it just simpler to ignore that (in general and for futark) and just use regular threads for parallelizing aacross many cpu cores?

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

<comment><USER7> CUDA is proprietary to NVidia, and is pretty much the standard for GPU computing. AMD's been chipping away with OpenCL, Vulkan/GLSL, [https://github.com/RadeonOpenCompute/hcc/wiki](https://github.com/RadeonOpenCompute/hcc/wiki), etc. but not much luck so far. I wouldn't say AMD's been "sticking with" OpenCL, if anything it seems like they will deprecate it in a few years, as the plan is to fold OpenCL into Vulkan.

I guess it is possible to use OpenCL on the CPU as well, but it seems to be intended mostly for testing purposes. The Crysis software renderer uses threads: [https://github.com/google/swiftshader/blob/master/src/Common...](https://github.com/google/swiftshader/blob/master/src/Common/Thread.hpp)

<comment><USER8> Last I checked, AMD implemented the cuda apis as "hip."

</comment></comment></comment><comment><USER9> I'm starting to sound like a broken record on this, but if you're going to compare to your system wc without trying to figure out if it was compiled with -O3 [EDIT: and what source code it was compiled from], you haven't shown anything in the sequential case.

What this article does show is that Futhark really does allow one to express this in a much simpler way than Haskell.

<comment><AUTHOR> That's a good point, but the -O3 doesn't actually do a whole lot here. I recompiled the Futhark-generated C code with just -O and performance was unchanged. If you look at the generated C code, there isn't really a lot to do either: [https://gist.github.com/athas/7c8ffc2620a9406e4bbb0df89f2fc9...](https://gist.github.com/athas/7c8ffc2620a9406e4bbb0df89f2fc9f6)

I hope I can assume that RHEL compiles their wc with at least -O.

<comment><USER9> > That's a good point, but the -O3 doesn't actually do a whole lot here.

True, maybe it's not about -O3 but about some factor in the unknown source code of the system wc. I did compile one version of wc with -O3 and it beat my system wc (Ubuntu) by 2x: [https://news.ycombinator.com/item?id=21271951](https://news.ycombinator.com/item?id=21271951)

<comment><AUTHOR> Honestly, I would expect the main reason my wc is faster is that mmap()ing the file and then reading it in a huge chunk is about as fast as the kernel's IO can go. GNU wc cannot do this in general because it's supposed to work on pipes as well, and I doubt anyone cared enough about the tiny performance difference to exploit the case where the input file is mmap()able.

(I had actually hoped Futhark would be slower sequentially, just so this wouldn't be the focus of the discussion!)

<comment><USER9> > GNU wc cannot do this in general because it's supposed to work on pipes as > well

I used the "reference" source code linked from the original Haskell post, a BSD version hosted by Apple: [https://opensource.apple.com/source/text_cmds/text_cmds-68/w...](https://opensource.apple.com/source/text_cmds/text_cmds-68/wc/wc.c.auto.html)

It uses raw read() from a file descriptor and works with pipes as well. I think the only special handling for stdin vs. an actual file it has is calling fstat() if _only_ the number of characters is requested, which shouldn't apply here.

So yes, this version does need to do more complicated I/O than a simple mmap(). And (broken record, but I'll stop after this) it's 2x as fast as my system's GNU wc (when compiled with -O3 vs. however the system wc was compiled).

> I had actually hoped Futhark would be slower sequentially

It might still turn out to be, if you see if you can get a faster C version of wc.

<comment><USER10> >It might still turn out to be, if you see if you can get a faster C version of wc.

You definitely can, at least if you allow manually vectorized code.

On my system, with a 1.661GB file (256 times big.txt from the original Haskell post) GNU wc takes about 6.5s (real time), a stripped down version of Apple's implementation about 4.1s, and a single-threaded vectorized wc (written in C) only 0.27s. (These times are of course only with a hot cache. For reference, catting the same file to /dev/null takes about 0.18s.)

edit: corrected the time for the BSD-derived implementation

<comment><USER11> Would you mind sharing the 0.27s version?

<comment><USER10> See [https://git.io/JeEjB](https://git.io/JeEjB)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Very honest discussion of the results. I liked it.

Would it be possible to use Futhark to rewrite the APL implementation instead of the Haskell one? That would make an interesting comparison.

<comment><AUTHOR> > Would it be possible to use Futhark to rewrite the APL implementation > instead of the Haskell one? That would make an interesting comparison.

Sadly, from what I can see, the APL version makes use of so-called nested arrays in the 'words' function, specifically arrays of strings (this is different from multidimensional arrays). Futhark does not directly support nested arrays. A rewrite of the APL implementation would require using a quite different algorithm (or a nontrivial encoding).

But my APL is a bit rusty, so I may be wrong.

<comment><USER11> In my original version I didn't use a nested array of strings, but [Olzd]([https://news.ycombinator.com/user?id=olzd](https://news.ycombinator.com/user?id=olzd)) pointed out a way you could do that and I added it as a theoretical first attempt (theoretical since it wasn't my first attempt, but would have been had I been better at APL).

My first attempt did some stuff with subtracting items in an array from their neighbor. Now with info I got from [mlochbaum]([https://news.ycombinator.com/user?id=mlochbaum](https://news.ycombinator.com/user?id=mlochbaum)) I have another version that uses windowed reductions.

So those are three versions there; after that I just split it up just to see where that leads and that actually ends up feeling a lot like the Haskell / Futhark solution to me.

</comment></comment></comment><comment><USER13> No time working on my I Ching course for my master degree. However I join a programming competition many years ago About an incident of a crazy assignment for a kid. My clone of the github here:

[https://github.com/kwccoin/ABCDEFGHPPP](https://github.com/kwccoin/ABCDEFGHPPP)

It is fun. I think I even try to use a micro version of cobol to do it. But the fastest is still c.

May be we can start one. Sadly no time to join.

(I think there is a web site that post many versions of the same program. It must have Wc. If not these should be there. )

</comment><comment><USER14> A lot of the Futhark demos you see are rather basic algorithms like matrix multiplication, and the documentation for Futhark does say that it is not well-suited to complex kernels, so that to me puts a big limiting factor on how useful it could be to invest in it.

I really like technologies like this and Sycl which aim to greatly simplify the process of writing GPU code. The important thing is that it can handle what you'd throw at it as if you were writing directly in Metal, Cuda, OpenCL, and I don't think that is the case (yet?) with Futhark.

<comment><AUTHOR> It depends on what you consider a "complex kernel". Futhark is only for regular non-recursive data parallelism, but I'll argue that something like a genetic algorithm that does calibration of market parameters in the Heston model[0] is pretty complex. It comprises multiple levels of parallelism and several kernels (last I checked, the core work is done in four kernels which are invoked in a loop).

But more importably, this benchmark is written as a composition of two reusable parts (a genetic algorithm that is parametric in its objective function, and a specific objective function that does option pricing) that are then put together in an efficient and automatic way by the compiler. You literally _could not_ write it this way in OpenCL or CUDA (modulo extreme amounts of template metaprogramming in the latter). While you could certainly write a specialised GPU program that did exactly this calibration, and probably outperform Futhark, you would not be able to structure it as reusable components without significant performance loss. This, I think, is the main advantage of using a high-level language together with an optimising compiler.

[0]: [https://github.com/diku-dk/futhark- benchmarks/tree/master/mi...](https://github.com/diku-dk/futhark- benchmarks/tree/master/misc/heston)

<comment><USER14> Thank you for this thoughtful reply, really appreciate it.

</comment></comment></comment><comment><USER15> This sounds smart. I haven't programmed Futhark yet, though, but I really enjoy functional programming. Where is this language primarily used, at universities or also in industry?

<comment><USER16> I got to use it in university in a course about parallel functional programming. I think it is still mostly a research language, but if you need to do computation on the GPU and like func prog then it probably would be an interesting alternative to try out. It really does a great job of optimizing and parallizing you program.

<comment><USER15> Which university? :)

<comment><USER16> Chalmers University of Technology, in Gothenburg. Though Futhark is developed in Copenhagen I think. We had a guest lecture with one of the developers of the language. Was a really interesting lecture together with some exercise for us to play with the Lang. Though it has gotten even better since then from what I've seen in their blog.

<comment><USER15> I wonder if this language has spread beyond Europe yet. Do any Americans use it?

</comment></comment></comment></comment></comment><comment><USER17> Beating CPU with GPU would have been a better title.

<comment><USER18> I think the title is a reference to the two previous articles that inspired it. Like the old 'X considered harmful' format.

</comment></comment><comment><USER19> One could easily amortize the startup cost by putting the backend logic into a background service where it only starts up once and continues running. A frontend program like `wc` would just forward requests to the backend service.

</comment><comment><USER20> A nice, unobtrusive way of showing monads at work.

<comment><USER21> These are monoids, not monads.

</comment></comment><comment><USER22> GPU supremacy

</comment><comment><USER23> C is the Mike Tyson of programming languages. There will never be another like it. It's simple, dangerous and fast. You can't beat C, but everyone will keep trying. It may beat itself in the end though as it's too rough for the modern world.

<comment><USER24> I mean, Futhark certainly can. The whole point of Futhark is that it's a functional language that can run on GPUs. Futhark will beat the pants off of C for most any problem that is suitable for GPU computation, even if written in an entirely functional style.

For CPUs, I'd like to introduce you to my good friend Fortran.

<comment><USER25> That's an apples to oranges comparison, because Futhark needs to compete with C on the GPU (CUDA/OpenCL), not C on the CPU.

That's what I'm missing from these benchmarks - how does it fare against a handwritten, competent implementation in those languages?

<comment><USER24> In the linked post, the author tests Futhark running on the CPU without any parallelism or low-level optimizations, and it still beat GNU wc.

Fair enough about apples to oranges, but it was really distasteful to me that the top comment on this post was about how C is "unbeatable", when the article clearly showed that Futhark was faster. And since we're at the dawn of a new age of parallel computing, statements like that are absurd in general.

<comment><USER26> > In the linked post, the author tests Futhark running on the CPU without any > parallelism or low-level optimizations, and it still beat GNU wc.

Barely...

It also mmaps in a whole 100 meg file. :P wc is not optimized to count as fast as possible, resource use be damned.</comment></comment></comment></comment></comment>


Unsafe Object Deserialization Vulnerability in RubyGems - <AUTHOR> http://blog.rubygems.org/2017/10/09/unsafe-object-deserialization-vulnerability.html <comment><AUTHOR> I did a write-up of the vulnerability details here:

[https://justi.cz/security/2017/10/07/rubygems-org- rce.html](https://justi.cz/security/2017/10/07/rubygems-org-rce.html)</comment>


Ask HN: Embedded web rendering engine in your app – alternatives to Electron? - open-source-ux Mozilla's web engine is called Gecko and can supposedly be embedded. I say supposedly because, Mozilla rarely ever promote this feature and their Gecko documentation warns readers the documentation is out of date:
https://developer.mozilla.org/en-US/docs/Mozilla/Gecko/Gecko_Embedding_Basics
Given the growing popularity of Electron, despite its memory-heavy and bloated file size, should Mozilla promote embedding Gecko more prominently (assuming it can beat Electron on file size and memory usage)?
What other options are there for embedding a web rendering engine in your app? Are there any lightweight solutions? <comment><AUTHOR> There's Chromium Embedded Framework, which is the same thing Electron uses to embed things. I've used it in a few projects and it's quite powerful.

If you go Mac only, you can use WKWebView -- it's actually super lightweight, and I've also used it quite successfully in a project. Results are great.

</comment><comment><USER2> [https://sciter.com/](https://sciter.com/) is a light-weight html/css/script engine

There's also [https://github.com/litehtml/litehtml](https://github.com/litehtml/litehtml)</comment>


Ask HN: You have an awesome product/business idea. Now what? - <AUTHOR>

I am sure many of us get awesome ideas for a new product or service that we think can change the world and make us millions. Whether its a new web app, mobile app, or new design on existing tangible product.<p>I come from a programming background so when i come up with a new concept for an app, i am fully capable of making it. I am fortunate to be able to take an idea and turn it into a usable app. I wanted to get some feedback from those that had awesome ideas for a product, but lacked the technical skills or financial means to hire someone to make it.
were you able to take your idea and turn it into a real product?
assuming you found someone to help you make it, whether with a technical co-founder or you paid someone to make it for you, how long did it take you to finally find that person? any personal hardships you care to share that you experienced along the way?
what resources/local groups/meetups did you use to try to find people to work on the idea with you?
if you havent been able to make your idea into a reality, what is your road block? funding? not able to find a technical cofounder? have you tried to raise money to fund your idea? did you start to learn a new skill to build your product on your own? <comment><USER2> I got the idea for uencounter.me last March while talking with a good friend... "wouldn't it be neat if ...", I asked a few more friends and we all tried to find something that did what I was asking for but could not. I am a trained therapist and entrepreneur with a small private practice, not a programmer. I have two much younger brothers who are PhD students at major universities so my first call was to them ... "Do you know any starving brilliant hackers?" (Starving because I didn't have much money). Long story short - One of them had a best friend who loves writing code ... wanted a new project ... and I am awesome at selling my ideas! We brought on one other partner to manage business development/finances and began! That was 10 months ago. Miraculously, we have had a fabulous working arrangement. We divided the work - so much of the front end work was on the coding side but I have spent 40+ hours a week reading and learning as if I was in grad school again. Now - I handle marketing, PR, and manage tasks/organization of ideas every minute I am not working as a therapist! I still have not officially met my technical partner but we talk for several hours per week and burn the keyboard with emails. My most personal hardship was not having any knowledge about the technical side and being impatient while it was built but our communication started out good and has gotten better along the way. My ambition and drive are sometimes too highly energized for the other two partners but that is good as we seem to balance one another nicely. We have spent less than $4,000 at this point and have a fully functional product with several hundred users (and growing) two months post launch. We are terribly proud and visualizing a viable career with the application. Feel free to take a look: <http://www.uencounter.me>

</comment><comment><USER3> I finally got our app done and we're in the App Store ready for a public launch in a few weeks with version 1.1. It took us quite a while because we were not technical founders.

I think we got lucky because an open source option became available with just enough documentation for me to tweak it with the skills I learned by reading books at the library and from links on Hacker News (we're publishing a travel magazine in the Apple App Store and we used Baker and Laker, two great open source frameworks. Check them out at <http://bakerframework.com/> and <http://www.lakercompendium.com/>)

I think without these we would have been stuck and would have never gotten off the ground. From a personal point of view, as an ideas guy who never really thinks about execution, it was very difficult. I enjoy spending my time thinking up ideas that will change the world and getting frustrated when I realize I don't have the skills to implement them.

Working on our magazine was a change for me. It wasn't a grand idea, its not going to change the world. People might love the stories, but its not the "next big thing." And I have to say, I'm ok with that. If fact, more than ok, its very satisfying to actually get something done, to have it in my hands and be able to say its mine, rather than just one of my ideas floating in space.

It still took a lot of work, especially on the motivational side, but I handled that by intentionally breaking it down to the smallest task I could. That was also new for me, and I think, a key factor. Every day I got something done, even if it was small, and then one day 8 months later, it was done.

If I had had a technical co-founder and more money would it have been easier? Yeah. But I didn't.

By far the resources I used the most were Hacker News (for motivation and the stuff I learned from articles), my local library (for books on coding and soon, marketing) and the documentation of the code we worked on (and a bit of help from the guys who built it, once again, check them out they're awesome).

</comment><comment><USER4> I've have many ideas, Ranging from new Operating System designs to Clean Energy to world changing web applications (they are ideas, So, probably many of them may fail ). I don't have a technical education.

When I started getting these ideas, I was very confused about what to do with all of them. But, Now I have great clarity. I'm starting from the easiest to approach.

I started doing web design for hire before 2 years. Meanwhile I taught myself, Ruby, Rails and Jquery. Now, I'm building two of the web apps, I wanted to build.

The biggest challenges I faced were that, there were no immediate technical network for me, to go to. Since, I haven't worked anywhere, nor do I have technical education. So, For every problem, I face, I had to google my way around it, or go in IRCs, or forums. Its not all minus in a way, this self- service style of education, has helped me in some ways.

Here in India, I don't even know where to start, to get funding. But, I think I won't need it, Since, I value freedom for setting my own pace and control over the products more than anything.

In short, Haven't launched a product yet. But, will launch one or two within this month. I'm very happy looking forward for that day. (I'm also procrastinating bcoz, of fear of being ridiculed). But, will take a deep breath and hit enter on "cap deploy" soon.

PS: HN for the past 6 months played a very important role in shaping my thoughts on products, validation, launch etc.</comment>


Show HN: Dynamic image size generator - <AUTHOR> Hi,
Firstly, the link to the tool - https://github.com/DrRoach/DynamicImage
I created a dynamic image sizing tool that allows images of any size to be generated on the fly. It's aims are as follows:
a) Allow users of sites to upload images of any size without the site owner having to worry about their dimensions or having to resize them.
b) Reduce load times for sites as images can be stored on their own dedicated server and be served in milliseconds.
I'd love to hear some feedback as to what you think and whether you'd consider using this tool and if not, why not?
All constructive criticism is welcome! <comment><USER2> Thumbor is an awesome open source solution which has proved itself in many high traffic sites.

[https://github.com/thumbor/thumbor](https://github.com/thumbor/thumbor)

</comment><comment><USER3> Nice! This is definitely an important tool when creating a site traffic in images to be displayed across a variety different sized screens. Having worked on this type of project before I'll mention a few challenges you have not yet addressed.

At some scale point, your single DynamicServer server will have more resize requests than it has CPU cycles to serve. The straightforward solution will be to add more DynamicServer instances. This means that your source image directory will have to be accessible from both instances. It also duplicates your cache directory, meaning a single image size could get generated on both servers. You might solve that by having a shared image cache network directory. Another solution could be to use a hash mechanism to determine a particular backend server from the load balancing layer, so any particular image would always be generated on the same instance.

Something interesting happens when people upload an image to their newsfeed. If it's a public newsfeed, there can be a good many requests of the image within the next several seconds at upload. This means that you can get multiple cache miss requests at the same time coming into your DynamicImage server. Your PHP processes are vertically partitioned, so your server will be simultaneously generating the resize. For users with only a few friends, this is a small waste of CPU cycles, but for users with massive user bases (e.g. Britany Spears), a single upload could grind your DynamicImage server to a halt just because of simultaneous duplicated work. Varnish (and other load balancers) can solve this by collapsing multiple requests to the same resource into a single HTTP call ([https://varnish- cache.org/docs/3.0/tutorial/handling_misbeha...](https://varnish- cache.org/docs/3.0/tutorial/handling_misbehaving_servers.html)).

</comment><comment><USER4> I've created scripts like these as part of our home-brewed CMS system in the early 2000's.

Nice and easy dos tool. Enumerate the width and height parameters and bring down the server fast.

Better way to do it is to specify, or allow admins to specify, a set of named sizes and only allow these named sizes.

You could also think about adding parameters to determine the crop, or force aspect ratio etc. (with the same risk of dos)

<comment><USER5> I did both and used a .htaccess rule to look for a sharded filepath based on the hash of the image requested and parameters in the url.

So you could o a1jjajda.jpg?size=200x150 and it would check for the existence of a/l/jjajda/200x150.jpg and if it didn't exist it would create it from a/l/jjajda/original.jpg store it at the right place and serve it.

.htaccess file looks meant I didn't have to boot PHP to serve an image the second time (we where using laravel and even optimised it takes 30-40ms to come up) and in 95% of cases at all (particulary since I then wrote a shell script that trawled the paths, built a list of common sizes and named presets and requested them when the server was quiet).

It worked out pretty well actually and had the benefit of relying on extremely robust and well tested technology.

That was some hinky looking regexs though.

        RewriteCond %{QUERY_STRING} ^presets=([a-zA-Z0-9_]+)?$
        RewriteRule ^files/(.*)/(.*)/(.*)/(.*) files/$1/$2/$3/%1_$4? [L,QSA]

        RewriteCond %{QUERY_STRING} ^options=[\[|\{]?([0-9]*x[0-9]*)[\]|\}]?$
        RewriteRule ^files/(.*)/(.*)/(.*)/(.*) files/$1/$2/$3/%1_$4? [L,QSA]

<comment><USER4> Thats exacly how I did it, and than the creation of a new cached file was handled by a PHP script ran as the 404 errorHandler which output the image to both the browser and file system.

Still pretty dangerous stuff i.e. ?size=10000x2000000

<comment><USER5> Nah, I'm a cynical fucker, I had...

        $x = $x > 9000 ? 9000 : $x;
        $y = $y > 9000 ? 9000 : $y;

I also had checks for negative values and that what I got actually made sense as an integer, since well it's the internet and a get request, they can put anything.

Tbh even 81MP was pushing it but I got to put the comment

// check and limit maximum image size // it's over 9000!

As someone who was around online back then how could I resist.

EDIT: Just remembered, I had to really resist the urge to change the returned image to a raised middle finger if either parameter was out of limit, not because I didn't think it was funny but because with my luck it'd be me that fat fingered it.

</comment></comment></comment></comment><comment><USER6> Nginx has a module for this which you can tie into your cache: [http://charlesleifer.com/blog/nginx-a-caching- thumbnailing-r...](http://charlesleifer.com/blog/nginx-a-caching-thumbnailing- reverse-proxying-image-server-/)

</comment><comment><USER7> I was playing around with some image optimization libraries a few weeks ago. This looks handy, but my wish list also includes image optimizations to reduce file size.

</comment><comment><USER8> If people are looking for a third party service that does this I would recommend cloudinary.com

</comment><comment><USER9> There are SaaS for that, Uploadcare offers that for free, for instance

<comment><USER10> Good deal for a small site, but if you have traffic, it gets expensive fast. $.25/GB bandwidth vs $.085/GB from Cloudfront va $.06 at a budget CDN.

</comment></comment><comment><USER11> imgix is an image CDN service (not free) that offers this feature and more. Not usually used for personal projects I guess since there is no free tier for it.

<comment><USER12> Imgix is great, but expensive as a cdn + image size on the fly company. I have been testing then for ~6 months for thumbnail generation but will be transitioning off soon. The cost is running about half of my S3 storage and transfer bill for only generating thumbs.

It's hard to justify not just creating my own thumbnails and stashing them on S3 for my use case.</comment></comment>


On the Edge of Class Rules - <AUTHOR> https://thepharo.dev/2020/04/15/on-the-edge-of-class-rules/ <comment><AUTHOR> TL;DR: How to create an object that is its own class in Pharo.</comment>


Numbers Don't Lie: What Website Analytics Tell About Human Behavior - <AUTHOR> http://www.sparklewise.com/?p=1211

<comment><USER2> While numbers don't lie, the conclusions you draw from them can still be incorrect.

Look at the second graph (website visits peaking on Dec 24th for giftcertificatefactory.com). The author concludes the following from this peak: "People favor doing things at the very last possible moment."

But this is nonsense. Such a conclusion would require a model for how people's preferences affect web page statitics. If you don't have a model, your intuition is going to fool you. Let me illustrate this with a simple example:

Assume that in our model world you have two kinds of people: Early-Buyers and Late-Buyers. Early-Buyers buy presents on a random day from Dec 1 to Dec 20. Late-Buyers on the other hand buy presents on a random day from Dec 21-24. Assume that 80% of people are Early-Buyers and 20% of people are Late-Buyers.

If you looked at the number of presents bought per day, you would see that the rates are 25% higher in the days from Dec 21-24. Your intuition will tell you: "People favor buying presents late". But that is not true, because in our model world 80% of the people are actually Early-Buyers!

Now, to explain the web page statistics shown in the article, we would need a more elaborate model; but constructing such a model and working with it is difficult, and that's why people avoid thinking about models, just post raw numbers, and then write whatever their intuition tells them, and then claim that it must be true because "numbers don't lie".

<comment><AUTHOR> Easy tiger. Maybe it's a problem of vocabulary (non-native english speaker here) with "People favor doing things at the very last possible moment." ?

What I meant was that of all days, people buy on the very last. Which makes sense according to our intuition indeed. I didn't mean to imply that (number of people buying the last 5 days) > (number of people buying before during the whole year) as you seem to argue against. I was only observing that absolute numbers increase day by day starting 5 days before Christmas.

Your early buyer-late buyer model is interesting but as you said, it would require more thorough research to set it up and was not in the scope of the article.

I thought the data was interesting and wanted to share it with the community, and I had no ambition to draw a complete buying model from it.

</comment></comment><comment><USER3> Hey Tommy! Im Tjerk your former collegae.

Anyway nice article. However your conclusions are not well founded. For example. what if majority of the traffic to your Gift Certificate Factory came from a website that went offline at the point in the graph. Then there is a different correlation.

Also i have never seen a huge drop like that. Are you sure there are no other reasons for the drop?

The peak for your MBI site might also be because some other guy linked to it from a favority website. This is often the cause for spikes like that.

Just saying, that the conclusions you make might feel right, you can never be sure with only the graphs. So its a bit of speculation.

<comment><AUTHOR> Hey Tjerk, welcome on HN ;-)

You're right sometimes peaks can be coverage from other websites and drops can reveal a problem with a website however here it's no such case. It's pure seasonality, which is why I felt compelled to write about it :-)

</comment></comment><comment><USER4> With no discredit to the author (because this is a decent piece) but numbers sometimes do lie. Outliers? Correlation != causation?

You know what really shows human behavior? Speaking to someone face to face.

<comment><USER5> >You know what really shows human behavior? Speaking to someone face to face.

Well, not really. People lie all the time.

<comment><USER6> Also, lupus.

</comment></comment></comment><comment><USER7> I remember being absolutely amazed after seeing the same number of unique visitors hit my site two days in a row.

</comment><comment><USER8> I was expecting something more along the lines of this:

Human dynamics revealed through Web analytics

<http://arxiv.org/abs/0803.4018></comment>


Ask HN: Is it bad usability to have search be part of a vertical drop down menu? - <AUTHOR>

Working on something that has a series of vertical drop down menus. A selection made in the first menu shows a second menu with selections that are children of the parent selection in the first menu Similarly, selecting an item in the 2nd menu shows a 3rd menu with items that are children of the selection in the 2nd menu and so on.
Ultimately, whichever child level you choose to stop at and click submit that would show you filtered search results based on the selections in the parent and child(ren) level(s).
However, after a point in time, it can get cumbersome to have to make selections in successive menus if you already know which child menu your selection is in so that you can get to the search results you want quickly.
Thinking of implementing a search bar directly in the parent (1st) vertical drop down. The idea is that you could type in this bar and it would reveal all the menu navigation paths that contained the keywords you typed.
You could then simply select the path that applied best and reveal the search results matching that path.
I've just never seen something like this implemented elsewhere and was wondering whether that was because it was considered as bad usability or some other reason.
Hope that all made sense.
Thanks! <comment><USER2> Yes and No.

I figure its simple enough to code

        select from [input 1] where [input 2] where [input 3]
        //I don't actually know SQl so thats likely wrong

But its a bit sloppy for the user to use.

Example:

Naughty America's search system (its a porn site, feel free to judge) actually uses this layout (not with drop down menus mind you). But it presents a field of links, its also 3 levels deep.

The first field is generic category, second is children of that category, so on and so forth.

This system sucks. Its a pain to use and limits how the user can interact with your site. Especially when there is overlap between categories, where a level 2 category might belong to 4-5 different parents, now I have to select each parent category...

I swear this was a solved problem when relational databases were invented in the 70's.</comment>


Why are the iOS Gmail elements at the top - <AUTHOR> https://imgur.com/a/MbFXu5X <comment><AUTHOR> Firstly, I have no UX experience.

Can someone explain why the gmail iOS app places action/touch elements At the top of the phone? It makes zero sense to me why they would choose this design.

Many other apps have the same layout and my common sense says put everything in the bottom half of the display as that's where users fingers/thumbs are?</comment>


Ask HN - why is ISBN so expensive, compared to a domain name? - <AUTHOR>

This is a question for those who've written and published books on their own.  Just saw the prices for ISBN - at isbn.org, it is 125, I didn't expect it to be this expensive.  Isn't it the equivalent of domain names, to books?  Why does it have to be so expensive? <comment><USER2> Old vs New... basically because they can. I looked into ISBN's once too and that's not a bad price, as far as ISBN's go. I ended up using LuLu's 'published by Lulu' service, which put my name on the book, but the official publisher was Lulu... they gave me a free ISBN. An ISBN makes your book 'official' and opens up all kinds of distribution channels that aren't available to plain old ebooks.

This turned out to be a great move, because I forgot about my book but lulu didn't... it got listed on Amazon.com and sold several copies, and (completely without my intervention) made it into the iBook store and I've sold literally dozens of copies (well, 92 copies).

They hide it pretty well, but if you use their 'extendedreach' free distribution package, and if your book meets the requirements (mostly size and page count) you can get a free ISBN. [http://connect.lulu.com/t5/ISBN- Distribution/What-Distributi...](http://connect.lulu.com/t5/ISBN- Distribution/What-Distribution-Services-does-Lulu-offer/ta-p/33503)

Sorry to make this sound like an ad... just a very happy customer here.

<comment><AUTHOR> iBook store? Doesn't lulu sell only physical copies?

<comment><USER2> Nope... think of them as a distributor. So yes, they sell physical copies, but if you have an ISBN they'll get you into the book catalogue and real book stores can order your book. They'll also make a downloadable version of your book that you can sell direct from their web site, or from yours. They'll also (apparently) get it into the iBook store for you. They take a pretty good cut of the money, but for me, it's been well worth it - and I haven't bought any services from them, only paid them commission on my sales.

<comment><AUTHOR> oh okay, got it. Thank you</comment></comment></comment></comment>


A Physicist Experiments With Cultural Studies (1996 hoax) - <AUTHOR> http://www.physics.nyu.edu/faculty/sokal/lingua_franca_v4/lingua_franca_v4.html

<comment><USER2> A few key things to keep in mind:

1) It was not a blind review. The editors knew Sokal was the author and knew he was an important scientist.

2) The editors asked for some revisions, and Sokal refused. <http://linguafranca.mirror.theinfo.org/9607/mst.html>

      "Having established an interest in Sokal's article, we did ask him informally
      to revise the piece. We requested him (a) to excise a good deal of the philo-
      sophical speculation and (b) to excise most of his footnotes. Sokal seemed
      resistant to any revisions, and indeed insisted on retaining almost all of his
      footnotes and bibliographic apparatus on the grounds that his peers, in sci-
      ence, expected extensive documentation of this sort. Judging from his response,
      it was clear that his article would appear as is, or not at all. At this point,
      Sokal was designated as a "difficult, uncooperative author," a category well
      known to journal editors. We judged his article too much trouble to publish,
      not yet on the reject pile, perhaps of sufficient interest to readers if pub-
      lished in the company of related articles."

3) It sat in the offices of the journal until they published a "science wars" edition, and included the article because it was from a scientist. In this sense, the hoax reveals almost nothing about the humanities, but does possibly say interesting things about the role authority plays.

<comment><USER3> so: 1) In the humanities, what you write doesn't matter. It's all about WHO writes it

2) The editors did not really care if there are errors, if the author insists, he can publish any kind of bs.

3) You are right. It seems in the humanities there is no discourse at all, it's all about who has authority and how social you are

C'mon, a little self doubt won't hurt the "social sciences". The article was rife with complete and utter fancy-looking b.s. Even the title is laughable.

Nothing can excuse the editors of this journal.

<comment><USER4> A software-generated paper has been accepted in a Computer Science conference as well [1]. If anything, this is a problem that characterizes academia in general, not isolated parts of it. I understand that humanities-hating is an entertaining activity, but it's important to be aware that naive generalizations of a whole field have no basis in reality.

[1] [http://entertainment.slashdot.org/story/08/12/23/2321242/Sof...](http://entertainment.slashdot.org/story/08/12/23/2321242/Software- Generated-Paper-Accepted-At-IEEE-Conference)

<comment><USER5> Being accepted as a poster in a conference is a very different thing from being published in a journal, as the comments on the article you posted point out.

<comment><USER6> The actual difference depends on the journal, conference and field. In some fields (large parts of CS), the most prestigious conferences are more prestigious than most journals. OTOH, in biology, publishing in Cell or Nature may be career-changing.

</comment></comment></comment></comment></comment><comment><USER6> This indeed made a lot of noise, I still remember quite well the polemic at that time. It should be understood in the context of the "science war" (context which was sometimes missing during the polemic in France, since many French "intelligenstia" are rather ignorant of the American academia). Perhaps ironically, the whole affair has a fundamentally political aspect (one of Sokal's argument was to defend the left against what he feared would become anti-science ideology coming from the universities themselves).

The whole idea of publishing a paper without meaningful content may seem clever, but it really isn't: the same has been done in so called hard science. While amusing, I don't think it proves much. Dawkins forgets to precise that the paper in question was not reviewed and that the authors refused to make changes suggested by the journal which published the paper (not to defend the journal's attitude either).

As for the meat of the argument, things like judging Deleuze by its adequate usage of mathematical concepts is rather stupid. It is like judging Erdos on his peculiar usage of English. I find interesting that Dawkins (and other) blame those intellectuals for not understanding the concepts they are using while he himself does not try to understand much of where they are coming from either.

<comment><USER7> That the editors even bothered to contact Sokal to suggest revisions is damning. It isn't that Sokal wrote a sensible-sounding paper filled with mathematical BS. He wrote BS _in their own language_ , in the "field" in which the editors were supposedly experts. It would be like me, a programmer, walking into a meeting with venture capitalists with a business plan I had specifically designed to make no sense and walking out with funding for a startup. If I did that, would you say the VCs were completely competent, and that it was natural I could fool them because I threw some technical terms into my presentation?

Or, to turn the tables, suppose a Harvard Business School professor pitched a business idea to Richard Dawkins to make money by producing flu vaccine through a process entirely made up by stringing together impressive-sounding terminology that the business professor pulled out of biology papers. Suppose Richard Dawkins offered to invest money in the business. Would you say, "Oh, that doesn't mean anything. Richard Dawkins is quite competent at biology. He only mistook an incomprehensible stream of jargon for a plausible way of manufacturing flu vaccine because he was confused by the business plan?"

<comment><USER8> >" _It would be like me, a programmer, walking into a meeting with venture capitalists with a business plan I had specifically designed to make no sense and walking out with funding for a startup._ "

It might just work. Seriously though if you've established yourself and sold a few startups already with good outcomes for investors then you're already in line for the investment aren't you? You would basically have to convince them not to invest that some how you'd had your day.

Given that the journal kept the paper on the back-burner, as they did, it's like an investor coming in to a bit of extra cash and just saying "what the heck, it looks like dkarls's crackers but something might actually work".

There could also be the fame angle - even if they realise it's crackpot it can bring in some extra readers or get some citations because of the famous name. If they get refutations of the famous person's position then that could snowball nicely - "The Journal of Stuff That Looks Sound-ish, they were the ones that printed Sokal's paper where he went mental ...".

</comment></comment></comment><comment><USER9> Some people find this disturbing and an indemnification of the humanities. (Being, as a whole, an intellectual fraud). I do not find this incident particularly disturbing, and I don't think it says much about the humanities.

The journal in question isn't even peer reviewed. That certain non peer reviewed journals are desperate for content and have low standards for publication isn't exactly shocking.

He wrote a crappy article for a crappy journal, that no one would have even known about, had he not widely publicized it as a 'hoax'.

<comment><USER10> > The journal in question isn't even peer reviewed.

If wikipedia is to be believed the journal switched to a peer review based process due to the Sokal affair.

> He wrote a crappy article for a crappy journal,

Clearly it's a crappy journal, but unfortunately it's associated with some big names like Duke [1] and Columbia [2].

> I do not find this incident particularly disturbing, and I don't think it > says much about the humanities.

Maybe not Sokal's article, but certainly their books says a lot about the humanities. As Sokal, Bricmont and Dawkins and many others have pointed out many of these big names in the humanities were simply talking out of their a __.

[1] <http://en.wikipedia.org/wiki/Social_Text>

[2] <http://www.socialtextjournal.org/about/index.php#contact>

<comment><USER11> _As Sokal, Bricmont and Dawkins and many others have pointed out many of these big names in the humanities were simply talking out of their a._

Actually, as often as not, it was Sokal, Bricmont, and Dawkins (and many others) who were talking out of their ass, egregiously and gratuitously misreading (or not reading at all) the "big names in the humanities" they were attacking.

For one particularly well documented instance, see: [http://pmc.iath.virginia.edu/text- only/issue.197/plotnitsky....](http://pmc.iath.virginia.edu/text- only/issue.197/plotnitsky.197)

</comment></comment></comment><comment><USER12> Relevant: Richard Dawkins' review of 'Intellectual Impostures' by Alan Sokal and Jean Bricmont

[http://richarddawkins.net/articles/824-postmodernism- disrobe...](http://richarddawkins.net/articles/824-postmodernism-disrobed)

</comment><comment><USER13> This is more scary than funny. What is even worse, is that the 'fact-less science' folk are winning a war we didn't even know we were in. This suggests that whatever joke the author felt he was committing, was regrettably on him (and the rest of us)!

<comment><USER14> Sokal notes, "While my method was satirical, my motivation is utterly serious," and goes on to describe his anger and sadness. Indeed, he doesn't describe his effort as a hoax, but rather as an experiment. He expresses the intent of exposing intellectual laziness and ideologically-driven reasoning (specifically by the Left, with which he self-associates), so the motivation appears to be more than humor, and I'm confident he would agree with your assessment of "more scary than funny."

</comment></comment><comment><USER15> The Sokal hoax was effectively a "bitch-slap" to certain philosophical camps that had devolved into a very deep rut of obscurantism. I think that Sokol was perhaps interested in what was going on in those circles but became repulsed by the incomprehensibility of the texts at the time. You really have to (try to) read Derrida, Foucault or Lacan to truly appreciate how FAR from any notion of clarity these dominant philosophers had come.

I take the Sokol hoax as a warning, not just to the humanities, but to any field. At the end of the day if you can't explain the essence of what you're doing to smart 12 year old, you don't understand it yourself and you should be prepared for someone to call "bullshit" like Sokal did.

</comment><comment><USER16> This got no votes when I submitted it, but anyone reading this may find it interesting.

 _The Science Wars Redux - Fifteen years after the Sokal Hoax, attacks on "objective knowledge" that were once the province of the left have been taken up by the right_ : <http://news.ycombinator.com/item?id=2015703>

</comment><comment><USER17> FTA: Would a leading North American journal of cultural studies -- whose editorial collective includes such luminaries as Fredric Jameson and Andrew Ross -- publish an article liberally salted with nonsense if (a) it sounded good and (b) it flattered the editors' ideological preconceptions?

He was about 10 years ahead of his time. This is more or less the formula for most blog posts. Even people who should know better throw in some bullshit because they think it will look good. Take the machine learning post that appeared here a bit ago. At the level of precision laid out in the article, model complexity and scalability are at best totally-ordered sets, and there is absolutely no way you can do a regression of any sort. The graphic, however is cute and appears to flatter the reader's intellectual sophistication.

[http://metamarketsgroup.com/blog/machine-learning-in- wonderl...](http://metamarketsgroup.com/blog/machine-learning-in-wonderland/)

</comment><comment><USER18> Does anyone have the reviews from the original Sokal submission? It would be useful to know how the reviewers actually viewed the article.

<comment><USER9> social text is not a peer reviewed journal.

</comment></comment><comment><USER19> Reading the excerpts from his article, I felt an immediate recognition of the kind of BS I had ground out for my 19th Century Philosophy course. Step into a stuffy, punctuation-laden mode, drop lots of names, and above all focus on metaphors and allusions rather than actual straightforward arguments. "It is clear that" is your best friend :)</comment>


YouTube has a fake Peppa Pig problem - <AUTHOR> https://theoutline.com/post/1239/youtube-has-a-fake-peppa-pig-problem <comment><USER2> I am not at all surprised by things on the internet being scary or inappropriate for kids. Let alone YouTube or really any site with user generated content.

It's no different than parents that let their kids rent whatever videogames they wanted back in the day. As much as I enjoyed Conker's bad fur day it probably mentally aged me a few years</comment>


Sheep logic (2017) - <AUTHOR> http://www.epsilontheory.com/sheep-logic/ <comment><USER2> I take issue with some of the characterizations here about sheep behavior.

As someone who also keeps sheep, I have observed:

Sheep are kind to each other. Whenever we're working on a sheep, our head ewe always comes into the work area to inspect. She stands there and watches, baa's (I assume to let the sheep being worked on know that she's there - although maybe this is anthropomorphizing). She has been known to go find a sheep who can't figure out how to get through the gate and escort them through.

When you take the hay or grain out to the barn, what happens is that one sheep hears you, baa's, and everyone comes running. They jostle each other to get to the grain, but that doesn't last that long. Mostly, they stand side-by-side and eat; everybody gets some, as long as there's enough room.

No, I think what this guy actually wants to talk about is _goat_ dynamics. You bring grain to the goats, the one that hears you doesn't make a sound. She just saunters into the barnyard, all suave, and eats her fill. If two or more goats hear you, then they all have to fight each other to see who gets to eat first. Every single day. For a goat, the sight of other goats eating grain is basically intolerable.

Both sheep and goats may well have evolved flock dynamics for all the reasons the author illustrates, e.g. they act in terms of their own personal self- interest, and not the collective. But there are several local minima in that evolutionary space, and they aren't all equal.

<comment><USER3> Your claims about goats strike me as true, but I have an addition.

In my experience with goats, their salient feature is a maniacal and skillfully-executed desire to escape/vanish/get loose, typically at the most inopportune possible time.

This kinda breaks the metaphor, which is likely why the author used sheep instead.

<comment><USER2> This is true, but goats do observe and _learn from_ each other, and this is especially true in terms of causing trouble. If one goat figures out how to get out, everybody else follows. If one sheep gets out, she is very upset (generally) and does her best to get back in!

Anthropomorphizing again, it looks like goats are more intelligent than sheep. But I'm not sure that's actually true; I think it's just that the same local minimum in the flock dynamics space that cause goats to fight each other for grain also causes them to be more inventive in their random walk through life.

When you house sheep and goats together, the sheep learn to do some of the same things the goats do. If you want to introduce your sheep to a new food, give it to the goats first. They'll eat it, the sheep will see them eating it, and then the sheep will eat it. I've seen goats stand on their back legs to get to the lower branches of trees. The sheep had never thought to do that on their own. But once they see the goats doing it, they try it too. That tells me the sheep aren't inherently less intelligent; there's just less variation in their nominal behavior.

</comment></comment></comment><comment><USER4> _We think we are wolves, living by the logic of the pack._

 _In truth we are sheep, living by the logic of the flock._

Human beings have both modes. We are close relatives to chimpanzees, who will go together in a group with the specific goal of exterminating the next group. Human societies have a communal mode and a feudal mode. One is more egalitarian and communal. (But also hierarchical.) The other is more hierarchical. (But also communal.)

<comment><USER5> That is a generalization of one instance (chimpanse war) and absolutely not usual, perhaps it is not unusual either, but who knows. Just curious what your comment is based on.

<comment><USER4> _That is a generalization of one instance (chimpanse war) and absolutely not usual, perhaps it is not unusual either, but who knows._

They very regularly patrol the borders of their territory. If they find an interloper, it's not so unusual for them to kill it.

 _Just curious what your comment is based on._

The dual nature of Japanese society (feudal/communal) is commented on in the West. However, there's nothing there which isn't also present in western societies. It's just easier for westerners to see it in a different culture.</comment></comment></comment>


Mobile app errors could delay Iowa Caucus results - <AUTHOR> https://www.theverge.com/2020/2/3/21121399/iowa-caucus-app-access-bernie-elizabeth-warren-joe-biden-pete-buttigieg-democrats <comment><USER2> It is getting much worse. The PIN to report the results is on the caucus math worksheet: [https://mobile.twitter.com/wycats/status/1224558210222186496](https://mobile.twitter.com/wycats/status/1224558210222186496) , and many people are posting pictures of these worksheets.

In one case, the person posting picture is Ben Halle, the Iowa Comms director for Pete Buttigieg: [https://mobile.twitter.com/bhalle87/status/12245501117259161...](https://mobile.twitter.com/bhalle87/status/1224550111725916160)

</comment><comment><USER2> The makers of the Iowa Caucus app are: [https://shadowinc.io/](https://shadowinc.io/) .

They received money from the Iowa State Democratic Party, the Nevada State Democratic Party, and Pete Buttigieg for America: [https://mobile.twitter.com/lhfang/status/1224572119549267968](https://mobile.twitter.com/lhfang/status/1224572119549267968) .

I've been following along [https://www.twitch.tv/hasanabi](https://www.twitch.tv/hasanabi) in getting this news.

</comment><comment> lame-robot-hoax Guy on CNN was reporting that the app "doesn't work" and had been on hold for an hour waiting to phone in the results.

While he's on air, a lady finally picks up, but as he's telling CNN he's got to go (which he dragged out far too long), the lady on the other end says hello three separate times before hanging up on him. You can audibly hear the click. He then says hello and just goes....she hung up on me.

</comment><comment><USER3> [https://www.npr.org/2020/01/14/796344796/iowa-democrats- will...](https://www.npr.org/2020/01/14/796344796/iowa-democrats-will-use-a- smartphone-app-at-caucuses-despite-cybersecurity-conce)

</comment><comment><USER4> It'd be great if someone can do a teardown of this app.</comment>


'Better Yield on 5nm Than 7nm': TSMC Update on Defect Rates for N5 - <AUTHOR> https://www.anandtech.com/show/16028/better-yield-on-5nm-than-7nm-tsmc-update-on-defect-rates-for-n5 <comment><USER2> It seems to be that than TSMC needs to increase their prices. They should be extracting more margin when compared to AMD, NVDA etc. They are just killing it. One of the main reasons with intc had better chips was they had the best Fabs.

Its kind of sad we used have guys like shockley, moore, kilby etc. The reason why silicon valley is called silicon valley. Now we are just falling behind Taiwan, south korea, and maybe china.

<comment><USER3> Specialization is a feature of global trade. Regions focus on specific industries to gain expertise and increase efficiency.

Specializations change over time. The US, specifically Silicon Valley, has different specializations today than it did in the 60's. A lot of the semiconductor specialization moved overseas, costs came down, and in general the world is richer. Other specializations include things like China and injection molding, Japan and mechatronic technologies in the 80's and 90's, Thailand and lenses, etc

Obviously the protectionist crowd would take issue with all this, but free trade theory is studied and applied all over in trade agreements, specialization zones (like Shenzen), etc. Generally speaking though, the cost of attempting to be self sufficient in everything (like semiconductor manufacturing) means closing borders to competitors outside, which eventually leads to inferior product. With robust competition, the consumer usually wins on both quality and price. Obviously there are other consequences, such as job migration etc. In general though, everyone is lifted up and made richer over time (evident by the fact that there is quantitatively less poverty in the world today and the 1960's and even the most poor can enjoy things like cellphones, leather jackets, and shoes that fit well that even the kings of a century ago could not). The system isn't perfect, but atleast in my eyes it is the one that does the most good for the most people.

<comment><USER4> > everyone is lifted up and made richer over time

Really? In the 1970's in the US it was possible to own a house and support a family of 4 on a single income in the manufacturing sector. It was also possible to work your way through college and exit with a degree and no debt, in a job market which made that worth it.

Yes global poverty has decreased, but the material standard of living has decreased for most people in the working class in the developed world, while wealth has skyrocketed for a select lucky few.

It's more complex than saying "everyone is made richer" \- it seems what has happened is that a few people have been made _much_ richer, and everyone else is somehow equalizing somewhere closer to the bottom.

<comment><USER5> >the material standard of living has decreased for most people in the working class in the developed world

Who told you that? Both inflation adjusted median personal and household income have increased by double digit percentages over the past 50 years. In the case of household incomes that still happened even with the shrinking average household size (i.e. number of people in a household).

[1][https://fred.stlouisfed.org/series/MEPAINUSA672N#0](https://fred.stlouisfed.org/series/MEPAINUSA672N#0)

[2][https://fred.stlouisfed.org/series/MEHOINUSA672N/](https://fred.stlouisfed.org/series/MEHOINUSA672N/)

<comment><USER6> You're not focusing on the other side of his statement, where costs for housing, healthcare and education have also skyrocketed, along with the development of the two income trap.

What he said isn't controversial for most academics studying this.

[https://en.wikipedia.org/wiki/The_Two- Income_Trap](https://en.wikipedia.org/wiki/The_Two-Income_Trap)

[https://medium.com/@6pranavk/insight-of-the-day-cost- disease...](https://medium.com/@6pranavk/insight-of-the-day-cost- disease-c14f50c1cd2e)

<comment><USER7> And neither of you are focusing on the "extra" stuff you don't "need" \- high speed phones, large TVs, cars with air bags, etc.

Want to compare to 1970? Then live with those restrictions and you'll probably have enough money to pay for insurance, college, etc.

<comment><USER8> This is complete nonsense.

Large TVs in 2020 cost just as much as small TVs did in the 70s (if not less), adding air bags to a car costs mere hundreds of dollars, and is ammortized over 20 years, and cancelling your phone plan is not going to let you support a family of four on a single blue-collar income. Shit, cancelling your phone plan won't even compensate for the _annual_ growth in your health insurance premiums - which is something that compounds every year.

<comment><USER7> "Air bags is amortized over 20 years" Cars don't last 20 years, generally... 5-10. And airbags are one of hundreds of "improvements".

TVs are an example of the plethora of technology that most homes have. From microwaves to air conditioners to cell phones...

"Canceling one thing isn't going to support your family" Which is why I didn't mention one thing... I mentioned a handful of things. A host of "modern conveniences" that add up.

Education, health insurance and other things cost more? Those are also things that the government has stepped in to make more affordable as well... which is a massive topic in of itself.

My main point stands... quality of life and cost of life has risen with hundreds of costs that add up (a mere 100 for an air bag... a mere couple bucks a month for data on your phone... a mere 5 for text messages... a mere 100 for a microwave... etc.etc.etc.etc).

Remove all the "extra" stuff that's standard today compared to 50 years ago and even with outliers (IE Health Insurance), you'll still be much closer to being able to afford the same quality of life as "way back then".

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> This is a problem for Intel on four fronts at the same time:

\- x86-CPUs from AMD with better efficiency in Desktop and Datacenter

\- Apple-ARM Macbooks showing that it doesnt have to be x86 at all

\- x86-APUs from AMD with Navi-GPUs versus Intel Xe

\- Intel Xe as Compute vs. NVidia Cards.

All of these pivot around Intel at least matching the process of their competitiors. Also, Intel has optimized 14nm that much, that their initial yields and performance gains on 10nm and 7nm will probably piss-poor initially.

<comment><USER10> It is not as big of a problem as you think for 3 reasons.

1\. Intel has purchased capacity from TSMC which will presumably be used for Xe HPC. 2\. TSMC does not have enough capacity for AMD to take significant market share 3\. Intel still has a lock on high margin datacenter parts

<comment><USER11> TSMC is is only going to give Intel unused capacity, essentially lowest priority for a few reasons. 1. Intel will drop TSMC the moment their fabs start working as expected - so you don't want to depend on Intel orders at all. High margin orders one quarter that are gone the next will not help TSMC's business long term. 2. TSMC has enough demand from other companies - they even turned down NVIDIA for most of their GPUs 3. A weaker Intel allows TSMC to command higher margins long term. helping keep Intel while it's still a massive competitor makes no strategic sense.

</comment></comment></comment><comment><USER12> EUV being the biggest suspect for yield boost. The 6nm EUV, and 7nm EUV were niche processes incompatible with non-EUV versions, and had own special design rules. I believe very few companies went for them other than for trial runs to gather expertise.

TSMC 5nm uses EUV by default, and very likely has no quad patterning layers, and possibly they threw out double patterning layers too.

Not having to give any considerations to multiple patterning should allow for much freer design rules, and let recover density from sacrificial lines.

<comment><USER13> Can you combine EUV with double patterning?

<comment><USER14> Yes, and I believe TSMC does. Because the dose scales as resolution to the 4th power (or so), it is better to double pattern than to try to single pattern at massive dose. There are also cases where double patterning can reduce defects in self aligned schemes.

</comment></comment></comment><comment><USER15> I've not seen any fab where defects can be traded off against any other parameter...

For example, can I get double the logic density if I'm happy to get defects from 0.1 per square centimeter to 1000 per square centimeter? If I can, I'd very much like to for some usecases. Think of things like SRAM, where you can simply have a "bad address handling unit", which keeps a list of the bad addresses and maps them elsewhere. As long as my design is fine with adding a few cycles latency on 1 in a million ram accesses, I'm fine.

<comment><USER16> Chips are not designed to have fault tolerance. The typical solution on large chips today is to have large number of identical units, and use fuses to deactivate some when they are faulty. This is called binning and how all manufacturers build their line of products. Design and validation of fault- tolerant chips is MUCH more involved, which slows down next-gen products a lot. It's in general better to simply use today's process ASAP, with no or little fault tolerance.

The exception is wafer-scale chips, which are chips that span multiple "reticles", i.e. the size of the masks used to manufacture normal chips.

I have a Ph.D. thesis linked to building a wafer scale chip (ala cerebras, although 10 years ago). And cerebras AFAIK is the FIRST commercial product using wafer-scale approaches. Maybe we will see more products ? I have doubts...

Note also that defect density varies depending on location of the chip on the wafer. There are areas with more defects on average, so it's not as simple as 1 number.

<comment><USER17> > This is called binning

Binning is any kind of sorting by silicon quality. It can refer to sorting by the number of "good cores" you get, but it has usually meant sorting by speed grade or other characteristics.

> and how all manufacturers build their line of products.

Having identical functional units you disable is a great yield maximization strategy if it fits your product. Most semiconductor products are not in this category-- it's mostly just multicore CPUs and GPUs that have a lot of identical cores and relatively small uncore.

<comment><USER14> Agreed on binning, but all DRAM and all NAND are fault tolerant. Between all memory, GPU and GPU-like, and CPU....I have all but mobile, or about 70% of the market.

<comment><USER17> Yes, memories too, are a good mention.

> I have all but mobile, or about 70% of the market.

In dollars, maybe, but there a whole lot of units of things that you cannot build a meaningful deactivation strategy on.

<comment><USER14> Sure! It is a huge mix. ASICs don't, mobile cannot, and you can't really just ignore.

But there are also other tricks, like redundant vias, or SRAM spares, which do make 'yield' less listed by defects than it might first appear.

</comment></comment></comment></comment></comment></comment><comment><USER18> It's slightly misleading to say that there were better yields for 5nm than 7nm because according to the graph in the article the yields have been almost exactly the same, maybe slightly lower. The article's assertion that the defect rate is a key metric seems dubious since it seems to have been roughly the same for the last three generations of chips and thus kind of a nonfactor. But in fact low yield rates were the reason Intel famously had to delay its 7nm processes. The fact that defect rates have been kept roughly constant seems to suggest they can go even further into 3nm processes, but this is the problem with extrapolating from graphs with too little data - at 3nm they'd run into very challenging physical limits and it's not clear we'll ever get a 3nm chip.

It is amazing to me that we can achieve such low defect rates on projects so complicated as highly brain-insecure sticks of meat that evolved to hunt and forage. Under the principle of radical skepticism the true defect rates could be much higher.

<comment><USER19> It sounds like you are conflating "Defect Density" and "Yield". These are not the same. Yield is a function of Defect Density. The function is exponential. Even the appearingly "slight" improvement shown in the Defect Density shown in graph is significant in terms of Yield.

</comment></comment><comment><USER15> This is a bit of an artificial measurement... I mean in the charts shown, this claim of "defects are lower" could equally be stated as "Mass production was started later in the development process".

<comment><USER20> Either way, they're great numbers.

</comment></comment><comment><USER21> Is it possible that they are constraining the design of circuits to elements that will have a higher yield? These probably aren't just "the same circuit but smaller".

<comment><USER22> It's assumed that these results are of Apple A14 or A14X chips.

</comment></comment><comment><USER23> *Intel crying in the corner of the room :D

<comment><USER24> Intel who? If you read comment from anonymous ex intel engineer it was kind of predictable anyway.

<comment><USER9> Do you have any source for that comment?

<comment><USER25> They appear to have been taken down at the personal request of the intel employee. They were originally distributed by 'Retired Engineer' on twitter. See this page for some details: [https://www.guru3d.com/news-story/ex-intel- employees-outs-di...](https://www.guru3d.com/news-story/ex-intel-employees- outs-dirt-about-intel-talks-about-internal-difficulties.html)

</comment></comment></comment></comment><comment><USER26> Wow. That bodes good news for TSMC partners (AMD, NVidia, Qualcomm, and Apple).

I doubt they'll pass on the savings to consumers however. Certainly not Apple or Nvidia, and so the competitors Qualcomm and AMD have no reason to drop prices either.</comment>


Lenovo's Promise for a Cleaner, Safer PC - <AUTHOR> http://news.lenovo.com/article_display.cfm?article_id=1934

<comment><USER2> > ..an automatic removal tool is available on Lenovo.com. No ThinkPads, > desktops, tablets, smartphones nor any enterprise server or storage product > was impacted.

All I can think is the Simpsons episode where a single bear comes down from the mountains which inevitably causes a panic and 'bear patrol':

      Homer: Not a bear in sight. The Bear Patrol must be working like a charm.
      Lisa: That's specious reasoning, Dad.
      Homer: Thank you, dear.
      Lisa: By your logic I could claim that this rock keeps tigers away.
      Homer: Oh, how does it work?
      Lisa: It doesn't work.
      Homer: Uh-huh.
      Lisa: It's just a stupid rock.
      Homer: Uh-huh.
      Lisa: But I don't see any tigers around, do you?
      [Homer thinks of this, then pulls out some money]
      Homer: Lisa, I want to buy your rock.
      [Lisa refuses at first, then takes the exchange]

Granted that the removal tool _does_ work and _is_ necessary, unlike the 'bear patrol'. However, Lenovo proclaiming that the release of the removal tool + 'no bloatware' in future computers will make them a leader in "providing cleaner, safer PCs" feels a lot like lisa's rock.

</comment><comment><USER3> If they follow through, we will finally have a mass market PC maker recognize the importance of a clean install. If they follow through completely enough to get Microsoft's "Signature" branding, then I just might have to start recommending them again.

All because they screwed up so colossally that they had to turn it around or see themselves decimated.

Interesting times.</comment>


Customer decision making behaviours that are consistently irrational - <AUTHOR> http://thegrinch.posterous.com/top-decision-making-behaviours-that-are-consi# <comment><USER2> It's a good list of counter-intuitive behaviors. That said classifying them as "irrational" is an over-simplification. When you take the individual and situation into account, these are often very rational behaviors. People have different utility functions, cost/benefit tradeoffs, and approaches to maximization.

<comment><USER3> A utility function or cost/benefit tradeoff isn't a matter of opinion. If your situation and available information dictates that a certain decision is rational, then we aren't talking about you.

The whole point is that, given a concrete, rational analysis of any particular situation, studies show that people have cognitive biases which induce them to select the wrong choice. The examples given are some of the more popular ones.

It's not just a matter of people using different mathematical models. Decision making is an inherently emotive process, and pretending human beings are, on the whole, totally rational decision makers is a fantasy. That said, we are perfectly capable of making rational decisions if we are trained how to do so and disciplined enough to follow through, but the power of cognitive biases should not be understated.

<comment><USER2> > A utility function or cost/benefit tradeoff isn't a matter of opinion.

Well, they're both contextual and subjective; different people looking at the same utility function or tradeoffs will come to different conclusions. Maybe we mean something different by 'matter of opinion'.

> studies show that people have cognitive biases which induce them to select > the wrong choice.

Studies (done by people with specific cognitive biases according to conventions defined by people with specific cognitive biases) show that participants make choices that they authors of the studies consider "wrong" or "suboptimal". As you say, the power of cognitive biases should not be understated.</comment></comment></comment>


Key factors in JavaScript performance - <AUTHOR> http://ejohn.org/blog/javascript-performance-stack/

<comment><USER2> The web app I'm working on has pretty stringent performance requirements, so we do a lot of profiling in browsers (specifically FF and IE). DOM manipulation and rendering are order(s) of magnitude slower than virtually anything in plain Javascript. This has been so consistent that we've taken it as a design axiom to do as close to everything in pure JS as possible.

From this perspective, Resig is understating his point. Optimizing JS alone isn't going to deliver much; it's not close to being the bottleneck.</comment>


Want to make money on a mobile app? Make a game - <AUTHOR> http://jaredblake.posterous.com/want-to-make-money-with-a-mobile-app-make-a-g

<comment><USER3> My games are consistent sellers, both as free-with-ads or for 99c, whereas my utility apps that actually do something useful (such as True Shuffle <http://bratton.com/trueshuffle/> which plays through all your songs with no repeats ever) get very few sales.

So yeah, I'm focusing on making games... Everybody wants to be entertained while waiting for the bus, but very few people go out of their way to search for a utility aside from a very few like Camera+/Hipstamatic/Instagram, which all being photography-related are somewhat entertainment as well.

</comment><comment><USER4> The problem with any app, games included, is that designing , developing, and then marketing is hard. My wetwork game ( <http://itunes.apple.com/us/app/wetwork/id410170565> ) for the iPhone took a lot of time to develop, but hasn't really gone anywhere in the app store. I'll be the first to admit that it isn't the greatest thing since sliced bread, but it is upsetting that my dumber apps bring in considerably more money.

If anyone has any suggestions on how to market games, I'd really appreciate it.

<comment><USER5> so it looks like you only released your game about ten days ago? that's not enough time to tell if it's a success or not.

i also released a low-key iphone game. it has been in the store for about a year. it has made me a little less than $7,000 to date. i am calling that a middling success.

<http://www.platinumball.net/hearts/>

i can't ever predict what the sales are going to be. along about august, when i had given it up for dead, i suddenly had my best month ever: over a thousand bucks. i have no idea why. right now it's down to about $250.00 a month. i hope it will go back up a bit, once i release some much-needed updates.

i don't have a lot of users, but a few of them are rabidly loyal. one guy did a favorable video review and posted it to youtube. another has been bugging me incessantly to add game center integration. yeah yeah yeah, i'm working on it.

<comment><USER4> Good to hear. I've read a lot about the runaway successes of other apps - <USER2> is easy to get disappointed. I still find it strange that my Gender Scan app does as well as it does though. There is even a copy cat app out there now! Hillarious!

</comment></comment></comment><comment><AUTHOR> Another thing to consider is making adjustments to the price at various intervals. We have seen huge spikes in downloads when we move from $.99 to free and then back. I think the main factor in the download spikes comes from the app showing up on the automated lists of "bargin" apps. I am trying to get some more concrete evidence of this, so if anyone has more examples, I would love to hear about it.</comment>


Startup Has a Clever Tool to Get Non-Techies to Code: Excel - <AUTHOR> http://www.wired.com/2015/07/blockspring

<comment><USER2> VBA is probably one of the easiest languages to get into and so powerful for anyone that uses excel.</comment>


Ask HN: Can you please review my idea? - <AUTHOR>

http://cl.ly/420H472P0m1o3f131e19<p>Thank you. <comment><USER2> It's a great idea -- which is why it has been done so many times. Your competition slides are not a good indicator of how much competition is out there. Pingdom, for example, is not really a competitor, but Clicky, ClickTale, etc. (not shown) are.

</comment><comment><USER3> Seems well worth a shot, especially with server down alerts included. No mention of ssl? Your final link in the PDF points to the memcached site. Pricing would also be key to me; bootstrap-friendly prices would be ideal, including a free trial.

</comment><comment><AUTHOR> And for the monitor <http://vanillamonitor.com> Thanks! :)

</comment><comment><AUTHOR> Clickable link <http://cl.ly/420H472P0m1o3f131e19></comment>


Snow and Tell: Snow Informing How We Use Public Space - <AUTHOR> http://blog.publicbikes.com/2015/01/snow-tell-snow-informing-how-we-use-public-space/

<comment><USER2> This is mostly an extract and link to the much more detailed article at [http://thisoldcity.com/advocacy/photos-what-snow-tells-us- ab...](http://thisoldcity.com/advocacy/photos-what-snow-tells-us-about- creating-better-public-spaces-e-passyunk-avenue) , last updated 04 February 2014 .

There were 192 HN comments on the original article, at [https://news.ycombinator.com/item?id=7206637](https://news.ycombinator.com/item?id=7206637) .</comment>


Any ace hackers out there? - <AUTHOR>

We are a funded startup looking to put together a world class team. If you have the talent and the desire to be a part of the next big thing then we are the company for you. Previous experience in a known startup is a plus. <comment><USER2> What kind of roles are you looking to fill? Developers - if so, what languages?

This is a bit too vague for me to refer people to...

</comment><comment><USER3> I am apart of the team you are looking for. We are a team of web and mobile specialist. Many of us have worked together on multiple projects. A few of us have also successfully brought up startups from the ground up and are looking for a new exciting venture. Please feel free to contact me at email@example.com</comment>


Microsoft confirms UEFI fears, locks down ARM devices - <AUTHOR> http://www.softwarefreedom.org/blog/2012/jan/12/microsoft-confirms-UEFI-fears-locks-down-ARM/ <comment><USER2> First, tihs document is about HW Certification. You can ship an ARM-based system that doesn't follow these rules, just won't be certified by MS -- much like many Android devices aren't Google certified.

Furthermore, MS actually bent over backwards on x86 and required for certification that the option to disable secure boot be provided (they could have been silent on this issue):

"Enable/Disable Secure Boot. On non-ARM systems, it is required to implement the ability to disable Secure Boot via firmware setup. A physically present user must be allowed to disable Secure Boot via firmware setup without possession of PKpriv."

I'd wait for MS's response on ARM. They've taken some interesting architectural approaches with their current ARM implementation (striped and actually secure SD cards). There may be architectural reasons for this. Or it could be that there are security issues with it, given that UEFI on ARM is pretty new.

But in any case, if this is important to an OEM they can simply not get HW certification. This doesn't block anyone from actually installing Windows 8 on ARM on machines w/o this capability.

<comment><USER3> It appears that ARM devices can fallover to legacy BIOS mode to support non UEFI OS's.

From page 109 of _windows8-hardware-cert-requirements-system.pdf_ :

      System.Fundamentals.Firmware.UEFIDefaultBoot

      Target Feature: System.Fundamentals.Firmware

      Title:  All client systems must be able to boot into UEFI
       boot mode and attempt to boot into this
       mode by default

      Applicable OS Versions:
        Windows 8 Client x86
        Windows 8 Client x64
        Windows 8 Client ARM
        Windows 8 Server x64
        Windows Server 2008 Release 2 x64

      Description:
      The System firmware must be able to achieve UEFI mode
      boot by default. Such a system may also
      support fallback to legacy BIOS mode boot for deploying
      OS images which do not support UEFI, if the
      user explicitly selects that option in the pre-boot UEFI BIOS menu.
      This requirement is If Implemented for Server systems and applies
       only if a Server system is UEFI capable.

<comment><USER4> There's no BIOS on ARM. BIOS is x86-only.

<comment><USER3> It's "legacy Bios mode."

I believe that implementation requirements for legacy BIOS mode are not part of the certification.

And in any event, it is likely that the BIOS Boot Specification (BBS) could be used to provide for unique hardware requirements during booting.

</comment></comment></comment></comment><comment><USER5> Microsoft doesn't have a monopoly in the tablet or phone markets. Heck, it's barely a market participant. If Apple doesn't have to let people install Windows on an iPad, then the same should apply to Microsoft. This time, there's no "but there's a monopoly and the rules are different for monopolies" excuse.

<comment> X-Istence Apple manufacturers both the hardware and the software and then sell it, there is no 3rd party involved in this transaction.

Microsoft builds the OS and licenses it to a manufacture, they build the device and sell it. At least 3 parties involved.

Microsoft's requirements need to be met to be able to license Windows 8 for tablets. Microsoft is forcing manufacturers to lock down their devices or else they aren't allowed to use Windows 8.

Google licenses the Android source code/platform/name whatever, and a manufacturer builds the devices. The manufacturer chooses to lock down the boot loader.

Google doesn't make any requirements on the manufacturers to lock their devices down.

That is where the difference lies. Microsoft is being bad here because they are forcing something on its manufacturers that its manufacturers may not have wanted to implement.

I don't see why Apple should have to let people install Windows on an iPad, or for that matter even make it easy for people to do so if they pleased. I don't see why manufacturers should have to let people flash whatever firmware they want to their device. But I do see why Microsoft shouldn't be telling manufacturers that the manufacturers customers can't flash their device if they so pleased.

<comment><USER5> > Google doesn't make any requirements on the manufacturers to lock their > devices down.

But they do. Google has many requirements and if you don't meet them, you won't be licensed the Google apps. That's the same thing Microsoft is doing here. You can choose to make a tablet that doesn't meet their requirements, you just can't sell it with Windows if you do so.

Microsoft isn't preventing anyone from making products or selling tablets running other operating systems... just that the ones they sell with Windows can't be re-flashed.

<comment> X-Istence There is no requirement from Google to build a device that the customer can't change at will after they purchase it. The manufacturers themselves have locked the boot-loaders not at the will of Google.

<comment><USER6> Exactly.

Add to that the fact that Google releases the Android source code. Manufacturers do produce Android derivatives (e.g. Kindle Fire) by removing the Google branding. And HTC just relented by unlocking their bootloaders, providing at least one data point that customers do want the ability to load their own OS.

Must we relearn the lessons from the PC all over again?

</comment></comment></comment></comment></comment><comment><USER7> I've been a Microsoft fanboy for a long time, and I've been speaking out about the Secure Boot brouhaha because there was effectively no evidence that they were actually attempting to lock anyone out, but this is simply inexcusable. Sad.

<comment><USER8> You can't seriously be surprised by this. Microsoft can't be trusted until their desktop monopoly is destroyed. I guess the US vs Microsoft is 14 years old this year. Maybe we've all forgotten how Microsoft destroyed all other PC OS'es and how Windows wouldn't run without Internet Explorer; Microsoft claimed it was part of the OS and there was no way to remove it.

<http://en.wikipedia.org/wiki/United_States_v._Microsoft>

"Microsoft's true anticompetitive clout was in the rebates it offered to OEMs preventing other operating systems from getting a foothold in the market"

It shouldn't be a PC vs Mac world today. It should be PC, Mac, BeOS, OS/2, Linux, etc.

<comment><USER9> >It shouldn't be a PC vs Mac world today.

I thought we were living in a post-PC world? Restricting Microsoft here would unfairly advantage Apple's continuing monopoly of tablets.

<comment><USER8> Apple doesn't have a monopoly on tablets and Google doesn't have a monopoly on search, but people always throw them out as such.

Microsoft, however, has the monopolies (plural).

Btw, here are the numbers to prove that the iPad is not a monopoly.

[http://www.guardian.co.uk/technology/2011/dec/25/ipad- tablet...](http://www.guardian.co.uk/technology/2011/dec/25/ipad-tablet- dominates-third-quarter-2011)

Wouldn't it be great if Windows only had a 65%-70% market share?

<comment><USER10> The install base is what matters, not sales numbers for a short time period.

>Google doesn't have a monopoly on search,

Maybe you would like to look at a few real world numbers like these ones:

<http://news.ycombinator.com/item?id=3458947>

<comment><USER8> I doubt if Microsoft would agree with your search numbers. Can you provide some accepted industry source? At any rate, if you want to switch search engines, it's trivial:

<http://duckduckgo.com/>

<http://bing.com/>

<http://yahoo.com/>

Let me know how easy it is to get enterprise to switch off the Office document formats or off of Windows.

As for tablets, sales do matter. The Kindle Fire sold around 5.5 million units. Android will be a strong player.

</comment></comment></comment></comment></comment></comment><comment><USER11> I may be missing something, but it doesn't sound like an OEM is prevented from including additional keys, from say cannonical and redhat, or even simply an OEM key that is used to sign a generic boot loader like grub.

<comment><USER12> Meaning this is still much more open than the iPad.

</comment></comment><comment><USER13> Damn it, I was so sure that 2012 would be The Year of Linux on the Desktop. And now this!

Kidding aside, there will always be IPhones/Playstations, which need to be jail broken and there will be proper computers. If anything, this UEFI lockdown will make it easier to find appropriate hardware for your Linux box/server, since all that Windows-centric gaming stuff will be sold locked down only.

</comment><comment><USER14> Well, this piece of news certainly just killed my "Windows 8 App" project. Even though I really do like Microsoft's tech, I just cannot support this type of behavior in any way. Maybe with mono I'll at least be able to salvage the server side parts and target Android based devices instead.

</comment><comment><USER15> From my reading of the restrictions it appears that the restriction is only on adding new keys to the boot ROM. So makers could ship arm computers with appropriate linux keys in the ROM already, and still be compatible with the WIndows 8 requirements.

<comment><USER16> That would have to be a public key then. Which is just like allowing no key.

</comment></comment><comment><USER3> The article is a blog post about a blog post about a blog post.

The Windows 8 hardware certification requirements comprise three documents and more than 1000 pages. They are available here [warning license agreement required]:

<http://msdn.microsoft.com/library/windows/hardware/hh748188>

</comment><comment><USER17> The moral of the story is, don't buy a windows phone if you want to reflash it.

<comment><USER18> Or an arm-based ultrabook.

<comment><USER6> Or an x86-based laptop with UEFI Secure Boot*

* Windows 8 logo compliance still requires UEFI Secure Boot. This won't affect desktops as quickly but laptops come with minimal BIOS options. Managing keys to install another OS will be omitted by many laptop manufacturers.

<comment><USER9> Is it too much to ask to read the linked article? Please.

>For non-ARM systems, Microsoft requires that Custom Mode be enabled

<comment><USER6> Yes, I read it. Did you?

Microsoft is requiring Custom Mode not even be _present_ on some of its Windows 8 platforms. How long until they "let it slide" on the rest?

You may be determined to let Microsoft do whatever they please with the hardware you rightfully purchased. That doesn't mean I have to let them.

</comment></comment></comment></comment></comment><comment><USER19> Vendor lockout is not the worst part.

I'd worry much more about the executive branch.

<http://www.sbir.gov/sbirsearch/detail/139791> <http://www.sbir.gov/sbirsearch/detail/4957>

</comment><comment><USER20> And that's how Microsoft killed ARM based netbooks, ultrabooks, tablets, etc that could potentially run Linux because most OEMs will want to have them licensed for use with Windows 8.

Can we rehash all the dozen posts about this from months ago when people swore up on down that Microsoft wasn't going to do... well, what the rest of us expect at this point?

<comment><USER21> _"Can we rehash all the dozen posts about this from months ago when people swore up on down that Microsoft wasn't going to do... well, what the rest of us expect at this point?"_

This is almost the worst part of it for me. Those people get to play "the voice of reason" at the time, but they don't receive any of the deserved ridicule when their fantasy world doesn't pan out.

<comment><USER22> It's almost as if being Right On The Internet doesn't mean anything in the real world!

<comment><USER21> More like: _"It's almost as if being right doesn't mean anything"_ , but yeah.

</comment></comment></comment></comment><comment><USER10> iPad has or had a monopoly in the tablet market, but where are/were the cries for an open bootloader? Where were the complaints to governments?

Motorola and HTC phones/tablets ship with locked bootloaders while leveraging the hard work of F/OSS developers for free. Not to mention the Nook tablet/Kindle Fire which ship with a locked bootloader who get a free pass.

Note that this will be the same set of people who will slag Microsoft for malware getting into the system and will recommend switching away from Windows because it is insecure.

How about forcing Apple to allow users to load alternate OSes like Windows 8 or Android on the iPad?

<comment><USER23> People have hacked iPads and iPhones to run Android. And nobody actually uses it because there is no hardware back button, etc.

When hardware and software are a cohesive unit it's hard to run something generic on the hardware, or run the software on some other hardware. That is not the case for Windows, Linux, and Android, which is why people feel differently about that ecosystem.

<comment><USER24> _People have hacked iPads and iPhones to run Android. And nobody actually uses it because there is no hardware back button, etc._

That must explain the lack of penetration of Android tablets! (They have no back button either)

<comment><USER23> Do they have a home button? I'm sure the answer varies but in general you need the hardware and software to agree on some things. That is my point. Even if the software is flexible such as Android 4 that will display the buttons if necessary, or use hardware buttons if they are available.

AFAIK Android was basically unusable on iOS hardware, using the sleep/wake button in an odd way and other things that do not work well.

<comment><USER24> _Do they have a home button?_

Nope. Only volume and on/off. At least that's what the Galaxy Tab has. As you pointed out, new versions of Android allow emulating whatever buttons the device doesn't have on screen. And the newest phones basically don't have any, relying entirely on the screen.

 _AFAIK Android was basically unusable on iOS hardware, using the sleep/wake button in an odd way and other things that do not work well._

This sounds like the port was botched. Nothing you said explains why it couldn't work. In fact the oppposite: you've already illustrated the button layout is irrelevant.

</comment></comment></comment></comment></comment><comment><USER25> And here I was starting to believe that other article about a calmer gentler Ballmer.

</comment><comment><USER26> Oh no, 0.0001% of all tablets sold this year may end up boot locked due to this. Assuming there's nothing more to the story. Let's panic.</comment>


National License Plate Recognition Database - o0-0o https://www.fbo.gov/index?s=opportunity&mode=form&id=41e27c3974b199abd503304080e791b2&tab=core&_cview=0 <comment><AUTHOR> tl;dr - Homeland Security is taking bids for software that will gather license plate surveillance data, parse it and consolidate it into a searchable database where they can track the movement of vehicles anywhere in the country.

The good news: What? They don't already do this? The bad news: Phone call metadata is small time stuff. What Big Brother really wants is to know where you've been, anytime, anywhere.

<comment><USER2> Bear in mind, what they refer to with the innocent sounding phrase "phone call meta data" actually contains a lot more than simple log of call stats. It's:

• continuous, and historical, location data for a mobile phone (the phone polls the tower every 10 seconds I think)

• if a phone disappears from the network, they know if it was powered down (it sends the tower a message not to look for it) or if the battery was removed (it doesn't) ... And, due to the previous, they know the last location of the device

Sadly, even without this big-brother license plate location history database, they already know where you are and what your travel patterns are ... Just by the nature of you _having_ a cell phone, not that you consciously asked to be tracked like this (or even knew about it when you decided to have a mobile phone).

Frankly both options horrify me.</comment></comment>