Ask HN: Falsely accused of ad fraud; what do do? - <AUTHOR> Over the past weeks I've been changing my advertising setup. Now I've already been informed by a couple of potential partners that they don't want to work with me because a third party has (falsely) labelled our website as being involved in Ad Fraud.
I'm sure that there's no ad fraud on the website, since I'm the only person benefitting from ads on the website. I've had the website for years and have always just ran AdX so it can't really be a historic problem either. I don't see anything suspicious in logs or in Google Analytics either.
What I'm thinking that might cause this is the following. The website is a browser games website, so people spend a lot of their time playing a game (as opposed to reading / scrolling / interacting directly with the page). The games are either an swf object or in an iframe. I think that this means that the main page doesn't see any activity / interactions (in terms of DOM events) from the user, which might cause these automatic fraud detection systems to fire.
Is that possible?
Does anyone have another possible explanation?
Is there anything I can do?
One of the companies in question is DoubleVerify, the other is AppNexus. Does anyone know someone at one of those companies who could take a look? <comment><USER2> Hi, I have helped many publishers that have been falsely accused of ad fraud due to bad measurements by the fraud detection companies. But also check to make sure your wordpress installation hasn't been compromised behind the scenes with malware that might actually be generating fake ad impressions. If you need further help, please reach out to me Augustine Fou (firstname . last name [at] gmail )</comment>


Get your own USB PID - <AUTHOR> http://pid.codes/ <comment><USER2> Thank you! This addresses a real need in the open source hardware community.

Is USB-IF aware of this[1]? Would they see this as a violation of the spirit of the current terms in the sense of the revenue loss, and come after pid.codes for every $500 application they feel you might owe them? I'm optimistically hoping that you've discussed this with USB-IF and that although they may not officially endorse or support, they won't actively try to stop what you're doing.

[1] >>This site is in no way supported or endorsed by USB-IF.

EDIT: I should have read the FAQ[2] where you address this question specifically under "Won't you get in trouble?"

[2] [http://pid.codes/faq/](http://pid.codes/faq/)

<comment><USER3> I think it would be pretty mean spirited of the USB-IF to go after open source hardware projects. It's not like these are projects that will be earning someone money. Unfortunately, lawyers will probably get overzealous.

<comment><USER2> I also think it would be mean spirited, albeit somewhat consistent with their current stance of not giving any open source hardware projects a break on the $5K VendorID registration & assignment fee[1].

[1] [http://www.usb.org/developers/vendor/](http://www.usb.org/developers/vendor/)

EDIT: Fortunately, other organizations have done something similar, such as OpenMoko[2], without incurring USB-IF's wrath.

[2] [http://wiki.openmoko.org/wiki/USB_Product_IDs](http://wiki.openmoko.org/wiki/USB_Product_IDs)

</comment></comment></comment><comment><USER4> That's necessary if your USB device is unique. If your device is an instance of a known standard class (keyboard, storage device, speaker, etc.) there's a generic ID.[1] You only need a PID if your device needs its own driver.

[1] [http://www.usb.org/developers/docs/devclass_docs](http://www.usb.org/developers/docs/devclass_docs)

<comment><USER5> Is that true? I thought that you still needed a VID/PID, but you could use generic _drivers_ if you support the proper HID or alternate interface types (ie: generic USB camera / speakers).

<comment> ryan-c There are a bunch of USB device classes with generic drivers that will work even with an unrecognized VID/PID. Mass Storage and HID (keyboard/mouse) are the most common ones.

I have only experimented a little, but it seems that unless your device requires a special driver, you can use the VID/PID of another device that doesn't require a special driver (e.g. some generic keyboards), there won't be any problems. There are probably horrible corner cases that I haven't encountered, though, so don't do this.

<comment><USER6> Wish there was something akin on ad-hoc NFS for transfer between devices. UMS assumes a dumb device at one end, and MTP is a mess and a half.

</comment></comment></comment></comment><comment><USER7> Openmoko Inc. is also giving USB PIDs for free to open hardware projects: [http://wiki.openmoko.org/wiki/USB_Product_IDs](http://wiki.openmoko.org/wiki/USB_Product_IDs)

And I think Qi-Hardware Inc. does it as well.

</comment><comment><USER8> For non-open source projects, an inexpensive alternative source of PIDs is [http://www.mcselec.com](http://www.mcselec.com). Do a product search for PID.

They assert the same rational for selling PIDs under the old license.

<comment><USER9> > USB-ORG wrote a letter that they revoked our VID

ehh...

<comment><USER10> If you read the entire story[1] USB-ORG seems to have made some puzzling decisions. On top of that I do not think they can practically reissue the same VID so revoking it is meaningless.

[1]: [http://www.mcselec.com/index.php?page=shop.product_details&f...](http://www.mcselec.com/index.php?page=shop.product_details&flypage=shop.flypage&product_id=92&category_id=20&option=com_phpshop&Itemid=1)

</comment></comment></comment><comment><USER11> If this proves to be popular, then before they're close to running out they should switch to assigning a few well-known VIDs and then splitting up that space with device serial numbers or other well-defined scheme. There's no need to be limited to 16 bits.

Also, "open source" seems a bit underpowered (as usual). Why not use their position to guarantee that users can easily modify the software running on the device?

<comment><USER12> > _Why not use their position to guarantee that users can easily modify the > software running on the device?_

Because that's not an ideology that everyone supports.

</comment></comment><comment><USER13> I like how they just use Github as the database for the assignments. I've seen other instances before, but here I noticed it in particular.

My first instinct would probably have been to have a traditional SQL database of sorts. That database needs to run somewhere. If I don't want to manage the database manually, I further need a whole web interface running somewhere. Account management. Provisions for users to recover their password if they lose it. And so on.

If you just use GitHub, it's up to the users to create a GitHub account and just send you a pull request. If you like what you see, you merge it. Virtually no effort needed.

And the database in form of the repository has complete history and is easily replicated or moved, by design. It even makes it easy for someone else to pull the database into their own projects, should they feel a need.

</comment><comment><USER14> What's preventing you from just picking at random an ID that hasn't been assigned?

If you're a small-volume project, then presumably people will need to have custom kernel patches anyway and will be unlikely to actually have a device with a conflicting ID.

<comment><USER15> Nothing, which is why it is arguably a short-sighted move for USB-IF to charge such a large amount to hobbyists and such.

<comment><USER16> I'm surprised that the USB-IF itself doesn't have several hobbiest vendor ids that then hand out single PIDs for use (say at $25USD)

</comment></comment></comment><comment><USER17> Very nice, both in concept and execution! I don't have anything useful to add here, other than saying kudos for a job well done :)

<comment><USER18> This is definitely one of my favorite things about the open-source ethos - that unnecessarily complex barriers can be broken by, essentially, just sharing.

</comment></comment><comment><USER19> I don't know if it's still the case, but for example STM would assign you a PID for free under their VID if you were using their USB enabled microcontrollers in your product. This was about two years ago when I last did it.

The whole USB PID/VID problem is a cruddy and unnecessary situation. Bluetooth seems to support full UUIDs, and that's a low bandwidth protocol!

<comment><USER20> Microchip also has a program to assign a free PID to users of their USB products.

<comment><USER21> FTDI, too.

</comment></comment></comment><comment><USER22> > you need a USB Vendor ID and Product ID to uniquely identify your device to > computers.

What's the technical reason why this is part of the USB spec? Why do devices need unique identifiers, or what benefit does this provide?

<comment><USER23> Drivers. When you plug a device into a computer, it uses the ID to determine what driver knows how to run it.

</comment></comment><comment><USER24> Why do unique devices need to have their own PID/VID? What prevents us from having one PID/VID and "driver" for all USB devices, and then chainloading to a device-specific user-mode driver based on some user-mode UUID?

<comment><USER25> In a pedantic sense, the PID/VID are required if you want to use the usb logo to advertise compatibility. It isn't "USB" if it doesn't have a valid (in the sense that it is licensed) PID and VID.

It's also user friendly for a device model to have an identifier (because this is the typical way to match up the driver).

I don't think there is really any technical enforcement of it (but that's based on what I remember from briefly fooling around with a non compliant device).

Edit: [I had something here that was wrong]

</comment></comment><comment><USER26> I didn't know much about USB PIDs, but I expect that with 64k available on one VID, they'll go pretty quickly. Are there any attempts to expand the id space as part of the standard?

<comment><USER27> USB vendor/product IDs are for unique hardware designs/firmware so that they are easily recognized by their respective drivers, not each unique piece of hardware. For example, Logitech's vendor ID (they probably have a few) allows them 64,000 different keyboard, mouse, etc. products of which they can manufacture millions of units.

I don't know of any vendor ID that has exhausted their product ID space which includes companies like Microchip which give away PIDs on their VID when you use their USB chips (with under 10k units in production)

</comment></comment><comment><USER28> This is awesome. Could do with something similar for allocating bluetooth UUIDs.

<comment><USER29> There are no restrictions on 128-bit Bluetooth UUIDs. You do need to register for 16-bit UUIDs, but with SDP it's not needed.

</comment></comment><comment><USER30> Excellent! Well done.

</comment><comment><USER31> This makes me wish I was a hardware hacker just to get 0451.

</comment><comment><USER32> you guys rock

</comment><comment><USER33> Great Work</comment>


Bitcoin is Deflationary, and That's OK - <AUTHOR> http://andrewbadr.com/log/19/bitcoin-is-deflationary-and-thats-ok/ <comment><USER2> I found this remarkably unconvincing: none of the arguments really seem to address the actual concerns with deflationary currencies, but seem to be directed at some (vaguely implied) strawman. I mean, why is the fact that there is a liquid market for bitcoins relevant at all? I don't think that has any bearing on whether a deflationary currency is bad or not. One failure mode for a currency is that it's completely illiquid, but that's not the most likely problem. E.g. there was always a liquid market for gold but it's probably the main example of a deflationary currency in practice.

<comment><USER3> Agreed. The author is beset by muddled thinking. None of the arguments he brings forward are relevant to the question at hand.

The most important consequence of bitcoin is watching programmers and other tech oriented people play armchair economist. They certainly seem to be having lots of fun but they are playing a game no economist recognizes.

<comment><AUTHOR> > None of the arguments he brings forward are relevant to the question at > hand.

That's an unfair criticism, since the arguments I address are exactly those raised by everyone else who has written on the subject.

<comment><USER4> Your third point is good and one that I personally think is the most impactful. At the end of the day, everyone has their "price". You can't take BTC to the grave with you, so at some exchange rate, you are a seller. For some people this amount is $130, or $500, or $5000. But at every new BTCUSD high, it introduces a new group of sellers and eventually all hoarders will get shaken out.

I'm not sold on your second point "someone who sells a Bitcoin for X would have been equally happy to spend it on something they value at X." Using daily volume on Gox as an example, just because $2M changed hands yesterday, it doesn't necessarily imply that these folks would have happily exchange their coins for a good or service. A lot of this volume could represent traders getting in and out of a position, not someone ready to empty their account. However, your general point is that liquidity is a positive reinforcing signal, and I can agree with that. If liquidity is increasing because more merchants need to swap out, this is a direct indication that spenders are willing to transact.

</comment></comment></comment></comment><comment><USER5> Expect lots and lots of arguments against bitcoin because of its deflationary nature. Nearly the entire universe of modern academic economics rests on the Keynesian and/or Monetarist foundation that increasing money supply (thus inflation) is a good thing.

Most people don't connect the fact that their money is worth less year after year with the fact that it is the government itself devaluing their money. Heck, most people don't even realize their money is losing value. Only savers, especially in our current zero interest rate policy environment, come close to understanding what is going on.

Nothing illustrates better what has happened to our money than the current market value of US coins made before 1965. For instance, a 1964 dime (nominally worth 10 cents) is actually worth $1.64 in silver content. That's somewhere around a 95% devaluation in just the last 50 years!

<comment><USER6> Are you saying there is something wrong with nominal inflation? 2% a year is scary when you talk big numbers like that, but the only time that money spans that large of time spans is retirement, which is invested at well over inflation even if you choose something like government guaranteed bonds.

To my knowledge the only way to lose money to inflation is to sit on cash (stupid for other reasons), have it in short term treasury bonds (which are bought by companies that have nothing to do with their flex cash), or have a bad savings account.

<comment><USER5> Yes, it is harmful, particularly to savers. Of course, the Holy Keynesian view is that savings is bad and that we all need to be encouraged to _spend_.

Tell me right now where I can save and earn more than 2%. Maybe 30 year treasuries (with nominal values at 30 year highs, meaning that they have no where to go but down, further eroding savings), but certainly not in savings, a CD, or any other classic savings product. 2% compounding per year is a 22% loss in value over just 10 years. Chasing yield over that 2% per year further distorts savings and markets, and of course that 2% loss per year is good for what? It's just confiscation by the money printers to devalue future debt payments, making it _seem_ all the easier to borrow and spend unsustainably.

But, of course, a steady 2% per year is the pipe dream of central planners and doesn't happen in real life. See, e.g., the 1970s.

<comment><USER7> Saving is not harmful nor beneficial. It all depends on what you do with your savings. If you stuff them under the mattress, saving is harmful. If you invest, then it's beneficial.

An inflationary currency promotes investment. A deflationary one promotes mattress stuffing. You may draw the conclusion yourself.

<comment><USER8> > If you stuff them under the mattress, saving is harmful.

I don't see how. Isn't this equivalent to a distributed loan to everyone who holds dollars?

<comment><USER7> It is unstable. The currency is deflationary by design and the mattress effect effectively reduces monetary mass, creating more deflationary pressure. Up until the point price drops suddenly. It is the poster example of a bubble: artificial valuation, self feeding cycle, disruptable only by change of public perception.

</comment></comment></comment></comment></comment></comment><comment><USER9> Falling prices and strong growth tend to be mutually exclusive in the real economy. Suppose you're an investor and an entrepreneur comes to you with a proposal to build a factory, and the business plan shows next year the factory will cost 5% less to build, and the products will sell 5% cheaper. Why build a factory today if you can get 5% a year increase in purchasing power just by hoarding currency? You need much bigger margins than are currently typical outside tech and zero marginal cost products. Incur debt, and even at the zero interest rate bound, you need 5% more real income next year to pay it back. In a modern economy, especially where there's a lot of debt finance, price deflation is death.

Anyway, since Bitcoin isn't a currency in the sense of a transaction medium, a stable store of value, and a unit of account, but more akin to a digital pet rock or Beanie Baby, deflation doesn't really matter very much.

<comment><USER10> Why build a factory today if you can buy your country's bonds and enjoy a risk-free x% a year?

Why buy a smart phone today if you can wait 1 year and get a much better one for the same price?

<comment><USER9> The short answer is, you don't. When real interest rates are at 5%, that is not normal and those are not usually good times.

Bonds in the US have earned a real 2.3% since 1926. From 1937 to 1981 bonds lost a real -0.72% per year.

You don't buy bonds to earn the rate of growth of real GDP or better. If you want to do that, you have to take risk.

The last 30 years of declining inflation have been the anomaly. People built businesses instead of buying bonds because bonds looked pretty unattractive, but when inflation kept surprising to the downside, bonds did better than expected.

</comment></comment></comment><comment><USER11> None of these arguments is at all persuasive.

"First of all, the present value of a perpetually appreciating asset is not infinity"

Straw man. No one is claiming the present value of anything has to be infinity. And I don't see anyone saying real estate is a good medium of exchange.

"Second, there is a liquid market for Bitcoins."

Another straw man. No one is saying there will not be any trade in deflationary currencies. The amount of Bitcoins that are not being circulated speaks to exactly what people don't like about deflationary currencies though.

"Third, the marginal utility of money is diminishing."

A true fact that has no impact on the criticism of Bitcoin because it's deflationary. Red herring.

</comment><comment><USER12> The article hits on an entire class of silly arguments I've seen against bitcoin from the start: people claim that bitcoins will be worthless because they will be too valuable to trade.

The language used for "too valuable" may vary (scarcity! illiquid! deflation!) But, as the author notes, that's not at all what matters -- all that's necessary is that they're tradeable and people have different values for a bitcoin at a particular time.

</comment><comment><USER13> I think it is not ok, and I think that the deflationary nature of Bitcoin is a wonderful practical example of the problem with deflation.

To the best of my knowledge bitcoin does not seem to be used as currency that much. It's explosion in popularity is not matched in explosion in currency usage. And why would it? If you, for example, buy a toaster online with bitcoin and it keeps appreciating, this toaster may end up costing you a $1000 in a year.

If bitcoin were to fullfil its promise, a large portion of online transactions should take place with bitcoins. AFAIK, thus far this is only happening for illegal drug transactions, for which there is no other alternative.

Thus far bitcoin is something people buy and hold hoping it appreciates. If they are tired of holding it, they sell it back. It is not a currency, it is an object of investment/speculation.

</comment><comment><USER14> It shines a light on the problem with inflationary currencies - one, costs of real goods tend to go down as technology advances, this is the "rising tide that lifts all boats", and is supposed to bring the lower economic classes to enjoy luxuries only available to the riches in eras long ago. Why are we trying to raise the prices on these goods?

Secondly, why are we urging the economy to have exponentially increasing production to maintain nominal value, when we have limited resources on this planet?

<comment><USER15> There are several parties in the game - the "normal plebians", and the upper eschlons. Guess who benefits the most from inflation? Guess who decides monetary policy that leads to inflation?

</comment></comment><comment><USER16> A lot of these arguments against the future of Bitcoin rest on the ill-founded assumption that the Bitcoin protocol is static and unchanging. This isn't necessarily true; there's already reactionary plans should SHA-2 or secp256k1 become comprised.

It seems fair to reason that a community consensus would alter the protocol should deflation ever really become a problem.

<comment><USER17> Replacing the underlying crypto is 1000x simpler than replacing the coin production mechanism, for both political and practical reasons.

<comment><USER18> I think miners who have invested in farms of ( _very_ application specific) ASICs would disagree.

Then again, in theory it's the "economic majority", not that miners, that matter: <https://en.bitcoin.it/wiki/Economic_majority>

<comment><USER17> You can replace RIPE or ECDSA or even SHA (in the address-generation mechanism) without impacting the miners at all.

</comment></comment></comment></comment><comment><USER19> I would think a large majority of bitcoins would end up in the hands of people living somewhere with low interest rates - instead of parking their money in banks, they'll park it in bitcoins. The demand for investing - which applies across all currencies - could easily be greater than the demand to spend bitcoins.

Investment demand has caused deflationary problems in other areas too, specifically food prices when a lot of investment was made in certain agricultural futures.

<comment><USER19> Replying to my own comment, deflation isn't the worst thing that can happen to bitcoin IMO - unstable prices could be a bigger challenge. Since the market for bitcoins is not regulated, it could end up subject to all manor of tricks to create panics or booms. If the price fluctuates rapidly then timing the market becomes a burden of using the currency.

</comment></comment><comment><USER18> Deflation may prevent Bitcoin from replacing all government fiat currencies, but I don't think it has much impact on Bitcoin becoming a popular form of payments / transfer / store of wealth.

Some Bitcoin proponents would be disappointed by that prospect, but I think it would still be a big win.

It likely means several orders of magnitude difference in price, but in either case the price would go up significantly.

</comment><comment><AUTHOR> Hm, HN traffic has grown. The server will be back up in a couple minutes. Edit: All good, I think.

This post has been in the draft folder for a while, but I decided to just run it. A better title would be "Common Flaws in the 'Bitcoin is Deflationary' Argument". There might actually be a convincing "Bitcoin is Deflationary" argument to be made, it's just that no one has made it yet.

</comment><comment><USER20> The comparison to housing seems a little off to me. For example with the property boom, people didn't want to sell their houses because they were going up in value. Therefor they go up in value some more. Therefor people can't afford to buy them, so we fix that with sub prime mortgages..

<comment><USER14> Right, whereas, if we didn't create subprime mortgages, if people couldn't afford to buy them, eventually the price would have had to come down, or else you have idle stock. Instead, we inflated the price bubble by enabling risky individuals to make purchases they shouldn't be able to, and so when the prices actually came crashing down, not only did they take down the housing sector, but the defaulted loans exerted magnified, collateral damage across the entire economy.

</comment></comment><comment><USER21> What stops you from doing business in fractional bitcoins? I'm pretty sure shift is a basic instruction in every architecture.

<comment><USER22> Dealing in fractional bitcoins doesn't solve deflationary problems in the same way that Zimbabwe printing a $100 trillion dollar banknote didn't solve their inflationary problems.</comment></comment>


Bootstrap Xtra extends Bootstrap - <AUTHOR> http://lightglitch.github.com/bootstrap-xtra/

<comment><USER2> I tried to work out what was "Xtra", looked like just Icon Buttons. Then realised it says at the top "Bootstrap Xtra inludes extra features that are not included in Bootstrap but may be useful for some people. Xtra Features: Icon Buttons."

I think there's more planned like a theme for JQuery UI that matches Bootstrap <https://github.com/lightglitch/bootstrap-xtra/issues/3>

</comment><comment><USER3> This really seems like something that should be in the scope of a pull request, or several of those.

</comment><comment><USER4> Good idea to expand on Bootstrap, taken how popular it is. However the only addon here seem to be the buttons. And the example link on top links to the normal bootstrap, not this new version.

</comment><comment><USER5> I think this should more like bootstrap-btns something I can include along side the original bootstrap.</comment>


Stupid Interview Questions - <AUTHOR> http://exold.com/article/stupid-interview-questions

<comment><USER2> The point of the exercise is to see if the candidate can code their way out of a damp paper bag. This is the kind of pedantic bullshit that's all about showing how clever you are at the expense of understanding what's going on.

If you're clever enough to know that "copy a file" is an incomplete description of what a user actually wants or needs, you should be clever enough to know that "point out as many edge cases to confound a simple interview coding question as you can think of" is not what the interviewer actually wants or needs with that particular question.

<comment><USER3> dude, it's a friggin joke...

i suppose you don't find this funny either: <http://www.bibliomania.com/2/9/77/124/21473/1/frameset.html>

<comment><USER4> Yes, it's just a joke, but while it's a moderately entertaining implementation of the FrustrateTheInterviewer response pattern it's really not especially unique or noteworthy.

</comment></comment></comment><comment><USER5> At any point this hypothetical sequence could have been put back on track by the interviewer saying "look, I just want to see that you can write simple systems code, and I need to see you write a basic file copy". People laugh at the interviewee, but in fact she's clearly crushing the interview.

I'd disallow the interview _er_ from doing that job anymore, I'd have someone better question the interview _ee_ , and I'd probably hire her.

<comment><USER6> As an interviewer, after the third or fourth question, I would have said "If you could, in addition to writing the file copy function, list all the issues that you can think of that the code should take into account; the code sample can implement a subset of these" thus giving the interviewee an opportunity to show the familiarity with real-world concerns along with the ability to code.

</comment></comment><comment><USER7> "Write a file copy function" is suitable for basic vetting. The answer to his 3rd or 4th (whatever) question is, "Just write a basic file copy function, thanks."

<comment><AUTHOR> I dunno. The thing that sold it for me was this assertion:

      Q. Look, I'm sorry if you feel put-upon here, please don't
      get hostile. I'm just trying to get a clear picture of the
      specs I need here. Obviously if I'm going to write a file
      copy method, instead of using one of the many extant file
      copy routines in various libraries and frameworks, it's
      going to be fulfilling a specialized set of requirements,
      and I'm going to need to have good answers for these
      questions. If you want, I can hack something together in a
      minute, but I'd have to note that there were many
      unresolved issues as to requirements and purposes.

<comment><USER8> "The candidate has a myopic focus on documentation and best practices, as demonstrated by his failure to apply a simple solution to a simple problem. No hire."

<comment><USER9> I'd say pedantic and difficult to work with, but agreed, no hire.

The correct answer would be to write a simple solution and _note your assumptions_ and point out the edge cases - but not in such an antagonistic manner.

</comment></comment></comment></comment><comment><USER10> Also an interesting point to note is the fact that all questions are valid and non of them are asking for too much detail. This leads me to think how complex our world has become.

Features being added to the API and to the file systems lead to an ever increasing complexity creating more and more opportunities for stuff to go wrong.

And yet, despite increasing complexity, we are still asked to write bug-free code and add even more complexity be it by stacking up abstractions or really add more features to the process itself.

How long until a single person can't know all the steps involved in copying a file any more?

</comment><comment><USER11> Not worth reading.

<comment><USER12> Yes, the author is snarky and makes a mountain out of a mole-hill. On the other hand, the basic point is valid -- interviewers often don't choose suitably specific questions for on-the-fly implementations.

That's what I got from the article. Can you be a little more specific on why you think that it's not worth reading?

<comment><USER13> When I was doing a lot of interviews I often wanted to give a simple problem that the person could code in 20 lines or so, and hopefully had another level that could be discussed after they'd shown some code. I found it surprisingly hard to come up with questions that could be explained quickly, especially across cultural boundaries. Things like ransom notes and anagrams would really just confound people to the point that they couldn't think about the underlying problem.

<comment><USER14> Try fizzbuzz: <http://www.google.com/search?q=fizzbuzz>

</comment></comment></comment></comment><comment><USER15> Bookmarked. Makes a good example of why requirements are important even for something as seemingly simple as file copying.

</comment><comment><USER16> I've done a number of these tests, and typically they consist of unconventional pointer arithmetic, designed to catch you out. Despite having been writing software for the last couple of decades, I probably don't perform well on these paper and pencil tests. My typical strategy is not to sit and stare at code to determine bugs by intuition alone, but just to compile it and see what happens in a much more interactive way, and I also make extensive use of reference materials including the internet, books and previous code which I've written to do similar things.

</comment><comment><USER17> When I interview people, I'll often ask open-ended or incomplete questions because I want to know if the person I'm talking to has any critical thinking capacity. If someone started down this road they wouldn't get very far before I wrapped the interview up.

The business of software development very rarely comes with a full set of instructions, I'm not sure why this guy has such a problem with being given an open-ended question (and one that should be very easy to interpret).

<comment><USER18> Maybe, but a lot of interviewers ask questions like this because they love being smug about catching people out for not asking about requirements before starting.

I was in an interview where a couple of the interviewers asked me to do something, and I asked some basic requirements. After a few questions they just started grunting non-comittally and indicated I should get on an answer the question.

The feedback from these interviewers? That I didn't ask enough about the requirements/details before diving in to answering.

So I have sympathy for this guy.</comment></comment>


Tell HN:  Presenting trick.ly - <AUTHOR> http://trick.ly

<comment><USER2> I like it alot, but do I trust it? Like to see real faces and names of the founders, and a blog..

<comment><AUTHOR> I know the creator. It's cool. Probably such a page will be there soon.</comment></comment>


Silicon Old Town: Tallinn's Startup Scene - <AUTHOR> http://marksblogg.com/blogg/526/

<comment><USER2> I'm wondering how many Tallinn HN'ers there are! I am one myself as well.

<comment><USER3> In the dark, in front of the glowing green screens, there's a whole community of shy and held-back Estohacknewsers.

<comment><USER2> No longer in the dark with summer approaching!

</comment></comment></comment><comment><USER4> Being a resident of Tallinn, I found this an interesting read.</comment>


To Boldly Go Where No Production Application Has Gone Before - <AUTHOR> http://devcentral.f5.com/weblogs/macvittie/archive/2009/07/01/to-boldly-go-where-no-production-application-has-gone-before.aspx

<comment><USER2> The author seems to have boldly gone straight into a tortured metaphor, but the topic is interesting. If you're interested in reading more about hardening software for production, I highly recommend checking out Release It! by Michael Nygard.</comment>


Virginia has decertified its most hackable voting machines - <AUTHOR> https://techcrunch.com/2017/09/08/virginia-dre-voting-machines-hack <comment><USER2> In the UK I walk into my local primary school/church/community hall (no more than a 5-10 min walk away), utter my name and address as identification (no other ID needed), and use a pencil to write a big 'X' against my preferences on a piece of paper I was handed when I entered the polling station.

There are multiple local party volunteers (I was one in the last election) from all the major parties at all stages of the process watching the flow of paper ballots from the sealed black collection bins to the voting halls where local council officals that volunteered, with paltry compensation, to a 12-18 hour shift to collect and count the vote. Some local councils take pride in being amoung the first to report their results, and there is a side competition to see who reports first.

We usually know the broad outcome of the election by the early hours of the next morning, with a handful of recounts in tight races going into the next couple of days.

<comment><USER3> What's your point? That it's easily socially engineered?

That it is archaic, inefficient and a waste of human time?

<comment><USER4> Efficiency is not and should not be the primary concern in a democratic vote. Rather, accuracy and verifiability are far more important. Very little human time is wasted on paper-based elections, but even if it took a relatively large amount of human time to implement an accurate, verifiable voting system, it would be well worth it.

<comment><USER5> Is not accuracy inherent in efficiency? A system that is efficient but not accurate isn't efficient at all.

</comment></comment></comment></comment><comment><USER6> Good on Virginia. When I voted there they had pretty modern and well run machines in my county with some sort of printout to confirm that you vote was cast. Voting is a messy process, but really important, and really important to have the counting be transparent and beyond reproach.

<comment><USER7> Paper receipts are crucial to voting.

<comment><USER8> I don't think you should leave with any proof of who you voted for. I'm worried that it could be used by people to influence elections by paying for receipts from certain candidates or by punishing people who are not able to produce the correct receipt.

I think we should return back to paper ballots. When there are witnesses to elections, I don't think any of them are qualified to judge if an election has been done in a honest fashion. This would require experts on the voting equipment where they can guarantee that it has not been tampered with and that is too high a burden and something that complex can not be trusted.

<comment><USER9> > _I don 't think you should leave with any proof of who you voted for._

I don't think you should leave without (at least _seeing_ ) proof that your votes were properly and accurately recorded.

If that means that you have to be given a "receipt" with the names of those you voted for on it, well, so be it. It isn't like your name and/or any other personally identifiable information would be on it -- just the minimal details needed to achieve the singlemost important purpose: verification.

<comment><USER8> That doesn't solve my concern. If your boss at work tells you to go vote and then demands you show your receipt when you get back it wont matter that your name isn't on it. You would be pressure to vote how they told you to.

The proof would be a paper ballot that you turn in. Your actual vote.

<comment><USER10> These machines, generally print out a receipt. Show it to you and store it in a bin so that it can in theory be counted.

</comment></comment></comment></comment></comment></comment><comment><USER11> Why the fuck do we need to vote on machines, anyway? I don't understand this.

Many other countries use paper ballots, including highly developed ones (e.g., France, UK...)

<comment><USER9> Because we're becoming lazier with each passing day?

I do think we need paper -- a "hard copy" \-- at some level, whether for the ballot itself or just a verifiable audit trail. I think 100% electronic voting would be fine so long as there's an audit trail that matches the (electronically) talkied results perfectly. I don't think dealing with millions of paper ballots would be any more advantageous than that -- you'd have to distribute and collect them (although that would happen at the centralized polling places), a few people would have to hand tally them (to ensure everyone's numbers match up), and then securely store them (via very strict "physical security" procedures/protocols) until, at some later point, they can be properly destroyed.

Logistically, electronic voting with a paper audit trail would be much easier, would require fewer people (i.e., election workers -- who are already in short supply), would give us results much quicker, and would be easier to verify/authenticate later (in the event of disputes).

<comment><USER11> Yeah sure there are some rube goldberg schemes you can concoct like printing a hard copy or whatever, where electronic voting might be secure.

But... why? What is the point of adding all this complexity? What problem is electronic voting solving?

<comment><USER9> Sorry, after posting my comment, I went back and elaborated a bit and just so happened to address the questions you asked in the meantime.

<comment><USER11> > Logistically, electronic voting with a paper audit trail would be much > easier,

Putting a piece of paper in a box is something everyone understands how to do, even elderly people who have never touched a computer -- how is electronic voting easier?

> would require fewer people (i.e., election workers -- who are already in > short supply)

They are? I can't believe it would be more expensive to hire a few more election workers for one day than we're paying for these machines.

> would give us results much quicker,

France uses paper ballots and results are known within hours.

> and would be easier to verify/authenticate later (in the event of disputes).

This is not realistic. We are never going to go back and change an election result whether or not records of the votes were saved. Cf. Florida 2000.

<comment><USER8> Even with electric voting, there are 2 witnesses who's duties are to just watch the election IIRC. FYI: I've done this before and got paid about $10 an hour to do it several years ago while I was in college.

Part of the witness duties should be making sure the votes for that polling location are counted accurately and there is no way to do that with electric voting systems. It's just a black box you have to trust.

</comment></comment></comment></comment></comment></comment><comment><USER12> In WA we have absentee ballots which is really the best of all worlds. You fill it in, sign it and mail it back. Couldn't be easier and you don't have to worry about polling locations. They are also hardcore about checking your signature; If it doesn't match your voter registration the ballot isn't counted and you get a letter in the mail.

<comment><USER11> The problem with this system is that it's possible to prove to someone else who you voted for.

Voting needs plausible deniability so you can't be coerced or bribed into voting for a particular candidate as was alleged to happen in the Balkans many times: [https://en.wikipedia.org/wiki/Bulgarian_train](https://en.wikipedia.org/wiki/Bulgarian_train)

</comment></comment><comment><USER13> I live in Loudoun County, va, and we've always had the option of using paper with an electronic scanner. There have been touch screen voting machines in the last couple of elections, but I didn't use them,

</comment><comment><USER14> I think blockchain is a perfect application for voting machines. Blockchain is public, immutable, cryptographic. Every voter can vote and then verify their vote was actually registered and was untampered via a web platform or something.

The network can be run by the public. Ofcourse there is risk associated with the 51% attack, but it's still a more transparent process than what we have today.

<comment><USER15> Making everyone's voting record public is just about the worst possible idea for a voting system.

Secret ballot is a feature, not a bug. It protects you from coercion and retaliation.

<comment><USER16> The wallet owner is secret, but can be checked by the owner and by the government

<comment><USER17> You must not be able to prove who you voted for. Otherwise you are still at risk of retaliation, coercion and can sell your vote. For the very same reasons the government must not be able to know who you voted for either.

Secret paper ballots really deserve more credit. The tech might be old but it gets the essential features right.</comment></comment></comment></comment>


MacBook Pro Core i7 unboxing and preview - <AUTHOR> http://www.engadget.com/2010/04/13/macbook-pro-core-i7-unboxing-and-preview/

<comment><AUTHOR> Is it me or did Apple just leave the 13" in the dark with a Core 2 Duo? So much for a happy ending for back-to-school'ers.

<comment><USER2> Theoretically, they didn't. The C2D they put in it performs as well as a comparable i3, using a core i3 or i5 meant they'd have to have extra graphics hardware.

A Steve Jobs email is quoted as saying they chose battery over CPU. Looking back on it, that's probably the choice i'd make, as well.

<comment><AUTHOR> Well I do hope that battery will up to its promise like the iPad's. I guess we'll have to wait and see what happens when the reviews roll in with the benchmarks, etc.</comment></comment></comment>


OpenBitTorrent – An Open Tracker Project - <AUTHOR> https://openbittorrent.com/ <comment><USER2> I use this convenient github repo that contains a regularly updated list of open (and working) trackers:

[https://github.com/ngosang/trackerslist](https://github.com/ngosang/trackerslist)

trackers_best is usually sufficient.

<comment><USER3> What's your workflow to query these and find what you're looking for?

<comment><USER4> Uhh. Your torrent client will automatically handle querying them and finding what you're looking for (peers).

<comment><USER5> op is very obviously asking how to find out which files are being shared rather than finding peers

</comment></comment></comment></comment><comment><USER6> Please let me ask a bit offtopic question.

Bittorrent is based on torrent files which describe a specific list of files. Is it really required to maintain them as a single pack/folder? For years I have an idea where one could just tell torrent client where their data storage is (with a flexible granularity ofc), so it could index it and share without any specific torrent file, simply by block hashes. I.e. if I have a file somewhere deep in the tree, and someone wants to download a block that corresponds to that file, or a part of it, it would be served without being a part of some torrent on _my_ side. Why it is not a thing from the beginning?

For me the upside is that I could sort and categorize files (even install and forget) without removing/doubling them off the "Torrents/" folder. I believe this could reduce maintenance burden, thus seeders will not give up on seeds only because there is too much to handle. And also provide vast deduplication and cross-torrent seeding. It's like a distributed filesystem, where you autoshare inodes instead of prepared folders.

<comment><USER7> There's one more obstacle in the way of adopting any such system - the private torrent DRM garbage. Torrent creators stupidly mark their torrents private or not, changing that flag changes the infohash and you might not be able to access the files with the new hash, it's incredibly hypocritical.

<comment><USER8> > the private torrent DRM garbage. Torrent creators stupidly mark their > torrents private or not, changing that flag changes the infohash and you > might not be able to access the files with the new hash, it's incredibly > hypocritical.

Private is not used for _DRM_ , it's used for security on every private tracker.

<comment><USER7> The private flag also annoyingly exists on many public torrents with no good way to override. It is DRM.

</comment></comment></comment></comment><comment><USER9> This is a very old project, and has been online for a long time. It started getting popular when TPB ran into trouble and they started to add OBT as a secondary tracker to uploaded torrents. They also got sued by Hollywood studios but it didn't go anywhere apparently.

\- [https://torrentfreak.com/publicbt-tracker-set-to-patch- bitto...](https://torrentfreak.com/publicbt-tracker-set-to-patch-bittorrents- achilles-heel-090712/)

\- [https://torrentfreak.com/hollywood-appeals-decision-not- to-s...](https://torrentfreak.com/hollywood-appeals-decision-not-to-shutdown- openbittorrent-100106/)

\- [https://torrentfreak.com/court-refuses-to-order-shutdown- of-...](https://torrentfreak.com/court-refuses-to-order-shutdown-of- openbittorrent-091202/)

</comment><comment><USER10> What makes it "open"? What makes it different than other trackers that don't require registration?

<comment><USER11> That you don't need to upload a torrent file somewhere in order for it to be made available by the tracker. That is, it's not running in the typical "whitelist mode", but instead, by simply announcing yourself and a torrent hash, that torrent is made available in the swarm for anyone to get in on.

This mode of operation is one of the fundamental modes of opentracker - [http://erdgeist.org/arts/software/opentracker/](http://erdgeist.org/arts/software/opentracker/) \- which is the software pretty much all of the many open BitTorrent trackers run.

</comment></comment><comment><USER12> What makes this "open" is - I presume - other trackers used to be tied to a forum with a registration, while this is supposedly not tied to a forum or a torrent search website.

However, from what I read some time ago, it's actually connected to Pirate Bay, and when Pirate Bay used to be down, OpenBitTorrent was also down.

</comment><comment><USER13> I'm not sure what problem this is solving, and the info on the website is sparse to say the least. Anyone care to explain?

<comment><USER14> Far as I can tell it's just a regular tracker.

<comment><USER11> The irregular (open) bit is that it does not require uploading torrents for them to be accepted by the tracker. You can freely announce a hash, no pre- requisites, and the torrent will exist in the swarm.

</comment></comment></comment><comment><USER15> I'm curious - what makes people _operate_ a BT tracker?

<comment><USER9> The same reason people run forums, Mastodon nodes, FTP servers. It's fun and a technical challenge.

<comment><USER15> Part of the fun of operating something like a forum or an IRC server is the interaction with your users. In BT there's none of that.

Also, FTP servers? Are there public FTP server people operate? Why?

<comment><USER16> "is the interaction with your users. In BT there's none"

This is by design, but I agree: it would be nice to have at least a way to point users at a place where a common standard and open protocol would allow communications related to the torrent. An IRC channel named after the file hash maybe? In the old days of Napster and later the OpenNap network (anyone here used the Lopster client?) I discovered a lot about unknown rock bands just by looking at files shared by other people and asking them for more information. Those were the early days of multiuser downloads, when downloading a not so famous movie could take like two months (it happened to me) so pestering the poor user on the other side with continuous downloads wasn't an option. Being able to chat also gave the users the opportunity to help each other to solve networking problems or other technical issues. Having some way of communicating without altering the protocol (that is, external server) with the torrent containing just a field in a structure identifying a channel, could be an interesting improvement.

<comment><USER17> It's not torrents, but Soulseek was still running last I checked. Browsing peers' collections, chatrooms, etc.

</comment></comment></comment></comment></comment><comment><USER18> This is at least 10 years old. What is it doing here now?

</comment><comment><USER19> I'm rather curious why the UDP tracker protocol still exists (and is default on this tracker). Back in the day when the only viable web server was a prefork Apache, the small TCP connections from torrent clients would easily overwhelm servers. Nowadays with event based multi threaded servers, it seems this is no longer an issue but I still see the UDP protocol used very frequently, despite its serious design flaws that allow UDP DoS amplification attacks.

<comment><USER17> I'm not aware of any way to cause a UDP amplification attack with a torrent tracker - announcing to it doesn't cause it to connect back to you.

<comment><USER8> > I'm not aware of any way to cause a UDP amplification attack with a torrent > tracker

You are getting peers from tracker in the response and it's more data than in announce, which means amplification attack is possible.

> announcing to it doesn't cause it to connect back to you.

UDP is connectionless protocol, which means it doesn't connect to anything, it just sends data.

</comment></comment></comment><comment> word-reader Countdown to the domain being seized. You'd think there would be some alternative to DNS by now for the pirate crowd.

<comment><USER20> BitTorrent does not require trackers. You can make trackerless torrents that use DHT for peers.

<comment><USER21> DHT does have a few DNS based bootstrap servers.

<comment><USER22> They can be operated by anyone, most Torrent software lets you set the bootstrap servers, rtorrent only requires connecting to a node that knows a bootstrap server.

</comment></comment></comment></comment><comment><USER23> Another off topic? Does this have anything to do with the TRON acquisition of BitTorrent?

</comment><comment><USER24> Why all this old post are published here?

</comment><comment><USER25> .com

<comment><USER26> What's your point?

<comment><USER27> I think he is implying that a .com domain would be more easy to seize by the US authorities.</comment></comment></comment>


Overcoming TV Addiction - <AUTHOR> Anyone have overcome TV addiction around here? Care to share any tips, tricks or things that worked? <comment><USER2> Get rid of your TV and IP block the top five most interesting places you could watch videos online.</comment>


Why isn't there a CAN-SPAM for postal mail? - <AUTHOR> https://medium.com/@braderhart/why-isnt-there-a-can-spam-for-postal-mail-8652fff1e699 <comment><USER2> Because spam is one of USPS's few reliable and large sources of income.</comment>


Show HN: I wrote a book about Grokking Deep Learning - <AUTHOR> https://www.manning.com/books/grokking-deep-learning <comment><USER2> Hi, just wondering, are you planning a second edition?

I'm now at chapter 12, and imho, there are a few things that could be improved to make it even better (e.g. a bit more details on what the code in the later chapters does, redundant explanations that could be removed to add something else, other explanations that are a bit too succinct, etc...).

</comment><comment><USER3> I am reading this book right now and it's EXCELLENT. Building a neural network from scratch is easier than expected, but still challenging. The attention to detail that you've put into this, including all the visualizations and the thorough explanations, is much appreciated. I wish you the best of luck with this.</comment>


The Guardian's new image management system - <AUTHOR> https://github.com/guardian/grid <comment><USER2> I would love to be able to install a service like this with AWS Lamba and API gateway with a React of AngularJS front-end. If anyone has thoughts on how ElasticSearch could work with Lambda?</comment>


Android 4.3 officially released - <AUTHOR> http://android-developers.blogspot.in/2013/07/android-43-and-updated-developer-tools.html?m=1

<comment><AUTHOR> [http://developer.android.com/about/versions/android-4.3.html](http://developer.android.com/about/versions/android-4.3.html) You can find more info about it here.</comment>


Microsoft says Russia-linked hackers exploiting Windows flaw - <AUTHOR> http://www.reuters.com/article/us-microsoft-cyber-russia-idUSKBN12W4ZK <comment><AUTHOR> Microsoft MMPC's blog post: [https://blogs.technet.microsoft.com/mmpc/2016/11/01/our- comm...](https://blogs.technet.microsoft.com/mmpc/2016/11/01/our-commitment- to-our-customers-security/?platform=hootsuite)</comment>


King James Programming - <AUTHOR> http://kingjamesprogramming.tumblr.com/ <comment><USER2> Here is my favorite Bible verse related to programming. I subtitle it, "God, calling a function."

"So shall My word be that goes forth from My mouth; it shall not return to me void, but it shall accomplish what I please, and it shall prosper in the thing for which I sent it." \-- Isaiah 55:11 (NKJV)

<comment><USER3> God: The Ultimate Imperative.

<comment><USER4> Iunno, not having a 'void' return type sounds pretty functional to me.

</comment></comment></comment><comment><USER5> Programming is very spiritual. You start out with nothing but a void and then call things into being with nothing but words.

</comment><comment><USER6> Timely wisdom....

"In view of this, it is ironic that introductory programming is most often taught in a highly imperative style. This may be a memorial unto the children of whoredoms."

[http://kingjamesprogramming.tumblr.com/post/75266347899/in-v...](http://kingjamesprogramming.tumblr.com/post/75266347899/in- view-of-this-it-is-ironic-that-introductory)

</comment><comment><USER7> It's like reading the ramblings of a drunk and deeply Christian contemporary of the Unix guys.

</comment><comment><USER8> The author has provided more info on the blog in response to questions:

[http://kingjamesprogramming.tumblr.com/tagged/ask](http://kingjamesprogramming.tumblr.com/tagged/ask)

</comment><comment><USER9> TempleOS anyone?

<comment><USER10> This was my first thought as well. In TempleOS there's a game where you can go up to the top of Mt Sinai and have a "prophecy" delivered to you which is mostly a bunch of pseudo-random garble. Would be cool to have it use a markov chain generator akin to this.

</comment></comment><comment><USER11> This leads me to the thought that we need to define KJPL and implement a front-end for LLVM. OK, maybe not _need_ ...

</comment><comment><USER12> This is brilliant not because it is funny (at times) but because it gets to a deeper link between programming, literacy and sprituality.

This stuff matters.

<comment><USER13> Really? This is getting toward a deeper link? I don't know about that.

<comment><USER12> Yes, language encodes thought patterns and affects them too.

The software languages we use affect our thinking as much as the spoken languages we use, and to juxtapose the two simply emphasises how closely linked are our notions of spirituality and language used to describe it. calling out the spiritual and throwing the secular world of programming into the same sentence just makes me reconsider which is the driver and which the driven.

</comment></comment></comment><comment><USER14> > "I thank thee, O Father, Lord of heaven and the first variable"

Wouldn't that be "... and the first _constant_ "? ;-)

</comment><comment><USER15> "Come to me, all you who are weary and burdened, and I will give you representational state transfer" \-- Matthew 11:28

</comment><comment><AUTHOR> This was mentioned in Cognicast Episode 50 [1]

[1] [http://thinkrelevance.com/blog/2014/02/25/luke-vanderhart- an...](http://thinkrelevance.com/blog/2014/02/25/luke-vanderhart-and-ryan- neufeld-cognicast-episode-050)

</comment><comment><USER16> I was thoroughly confused when initial reading the title. I thought Lebron James had started experimenting with programming along with his teammate Chris Bosh [1].

[1] - [http://code.org/promote](http://code.org/promote)

</comment><comment><USER17> I'm trying to figure out what I'm looking at. A quick look at what Markov Chains are doesn't really seem to explain it. This is a mashup of these two books, basically, correct?

<comment><USER4> Yep. You're building a statistical model of a corpus of text. Given an ordered set of words, it tells you what's likely to come next. e.g,

      [it, is] -> {sunny, 0.75}

      [it, is] -> {raining, 0.25}

Tells you that given the phrase "it is", what comes next was "sunny" 3/4 of the time, and "raining" the rest.

Once you've got that, you can use it to generate random text that has similar characteristics to the training corpus. You just seed it with a couple starting words, and then start randomly choosing what word comes next according to the probabilities you've recorded.

jwz's got one that you can play with yourself at [http://www.jwz.org/dadadodo/](http://www.jwz.org/dadadodo/)

</comment></comment><comment><USER18> Jesus wept.

</comment><comment><USER19> Am I the only one that was hoping this was LeBron?

<comment><USER20> Same here.

</comment></comment><comment><USER21> Wow, for some reason mashups like this make me feel distinctly weird, like two vegetables or organisms were weirdly mashed together..

</comment><comment><USER22> God is Real, unless declared Integer.

<comment><USER23> FORTRAN, right?

<comment><USER22> yep

</comment></comment></comment><comment><USER24> Yay, my university is in the news! :D

</comment><comment><USER25> makes as much sense as the bible

<comment><USER26> ./configure; make; make believe

\--john 3:16</comment></comment>


Lock-Free Data Structures: Yet Another Treatise - <AUTHOR> http://kukuruku.co/hub/cpp/lock-free-data-structures-yet-another-treatise

<comment><USER2> A fun article. But, it seems odd to me that almost all of the focus in lock free queues are unbounded linked-list based implementations.

Unbounded size is usually undesirable in production systems. It's a fine property to have sometimes, but I would always default to a bounded queue. When a consumer is overwhelmed the producer must experience push-back.

Linked lists produce prodigious garbage. If you really are pushing the performance shown here, 10 million per second, that is a lot of garbage to collect, even if it all dies in Eden space.

Linked list based implementations are extremely complex. My first lock-free queue implementation was based on Java's ConcurrentLinkedQueue. It was a monumental headache, and I didn't quite complete it. Compare that to a (admittedly single-consumer,single-producer) array based queue and the explanation is fairly straightforward, by comparison. You can extend the single-consumer, single-producer to multi/multi fairly easily and still be able to explain how it works to most programmers. (all written in Go)

I am sort of confused by the amount of attention these complex linked-list based queues get in the write-ups. If the intention is to introduce lock-free techniques and concepts then I think the array based queues are much better. If you want the best performance with low garbage and predictable latency I would expect arrays to win almost always. Very happy to be proved wrong here.

The best collection of write-ups on lock-free array backed queues is here

[http://psy-lob-saw.blogspot.co.uk/p/lock-free-queues.html](http://psy-lob- saw.blogspot.co.uk/p/lock-free-queues.html)

My code to back it up :)

The queues I have built are based on work by Martin Thomson (of disruptor fame)

[https://github.com/fmstephe/flib/tree/master/queues/spscq](https://github.com/fmstephe/flib/tree/master/queues/spscq)

<comment><USER2> Nitsan Wakart gave two presentations about lock free queues.

[https://skillsmatter.com/legacy_profile/nitsan- wakart#skills...](https://skillsmatter.com/legacy_profile/nitsan- wakart#skillscasts)

I gave a talk on simple versions of those queues in London.

[https://skillsmatter.com/skillscasts/6163-high- performance-s...](https://skillsmatter.com/skillscasts/6163-high-performance- single-producer-single-consumer-in-memory-queue)

</comment></comment><comment><USER3> These type of data structures seem to me as the perfect case for formal proof systems.

They are (almost) too complicated to understand for a human, yet sufficiently simple (I guess) for formal tools to deal with.

I'm still waiting for a tutorial that will teach me to use both :)</comment>


Apple Products and Planned Obsolescence - <AUTHOR> https://www.reddit.com/r/AskReddit/comments/duby52/people_with_expired_nondisclosureagreements_whats/f74husn/ <comment><USER2> A decision not to release a feature (AirDrop) on older machines, is taken as an example of Planned Obsolescence.

Sorry, that's not what planned obsolescence means.

The machine wasn't made to be less capable over time for what it was originally sold for. Features (software or hardware) weren't decided to suddenly break.

It would just not get some _new_ features in future OS even if it could (which is debatable). It might could (according to the dev) but give a subpar experience, or eat into the battery, etc. One can say "that should be for the user to decide" but that's not how Apple works, nor has ever been part of their value proposition. Their value proposition is "we think of most of those things for you". In the end, even if the older machines could support the feature just fine, not releasing it for them is standard practice to entice people to a new model, and has nothing to do with "planned obsolescence".

If anything Apple has a great track record on both:

1) Getting new iOS releases to older machines. Most Android vendors were horrible at that, abandoning machines even at the first release after being sold.

2) Having machines (including iPhones) keep their resale value high. That's the opposite of planned obsolescence.

<comment><USER3> > A decision not to release a feature (AirDrop) on older machines, is taken as > an example of Planned Obsolescence.

And of course, if Apple DOES release a feature for an older machine for which it's borderline performant, it gets accused of… planned obsolescence.

Can't win with some people.

<comment><USER4> Yep, the prerequisite for AirDrop, Handoff, SMS/voice call relay to your iPhone, etc. was a Bluetooth 4.0-capable wireless chipset. You could actually purchase an upgraded wireless module from 3rd-party sellers on Aliexpress/Amazon/eBay for <$100 and install it in an older MacBook with a Philips screwdriver. Apple made no money in that transaction, and you got to have one of the "killer features" of the latest Macs for a great price.

A better argument for planned obsolescence might be that Apple discontinued this modular design in the current MacBooks and integrated the wireless chipset onto the main logic board, making such an upgrade impossible in future if a new feature has a dependency on more recent wireless hardware.

</comment></comment></comment><comment><USER5> Apple decided Sidecar (an iPad as second screen) isn't available on my Macbook Pro 2015 in macOS Catalina;

Luckily i found [http://dev.zeppel.eu/luca/SidecarCorePatch](http://dev.zeppel.eu/luca/SidecarCorePatch) which patches the SidecarCore framework and now it runs just fine.

<comment><USER6> The CPU in your machine probably doesn't support native video encoding extensions, thus taking a massive performance hit encoding the video stream for Sidecar. I believe that's why Apple did this.

Happy to be corrected on this, by the way.

<comment><USER7> No you're 100% right.

Only the 2016+ generation of Macs support hardware accelerated HEVC encoding/decoding.

My guess is that OP's computer would struggle to use Sidecar with an app like Photoshop (a primary use case for this feature).

<comment><USER8> Ah, I wonder if this is why Google Hangouts is so awful on my 2015 MBP.

<comment><USER9> Google Hangouts is awful on most devices, while webrtc demo apps work fine

</comment></comment></comment></comment></comment><comment><USER10> For this and other reasons I switched to a KDE distro and saved >$1000 on hardware.

Yes it's not as pretty and takes some getting used to. But there was no tangible benefit to paying extra to be in the Apple ecosystem. I can code just the same as before. Perhaps what I miss a little is the trackpad. Those are _nice_.

<comment><USER11> I miss my old MacBook keyboard and trackpad. My xps runs Linux great though

<comment><USER10> Also on an XPS :)

The trackpad yes, but considering _modern_ MacBook keyboards, I think I'm better off with the XPS.

When I'm on my work MacBook I completely ignore the Touchbar as much as I can. It looks cool, but functionally it's just a gimmick. I want to keep my eyes on the screen as I'm typing, not the keyboard.

</comment></comment></comment><comment><USER12> This poster is braver than me. They're almost certainly identifiable based on the projects they worked on, and they admit to insubordination at best and industrial sabotage/CFAA violations at worst. Not that I agree with that interpretation, but if it were me I wouldn't have mentioned the bit about sharing a hack on Mediafire.

<comment><USER13> Apple's star has not been in the best position as of late, at least among the hacker community. If he was to experience retaliation, here's hoping that the community here, on Reddit, and elsewhere will rally around him for exposing their practices. At the very least he will likely have no problem securing crowdsourced funding for the legal fees.

</comment></comment><comment><USER7> In case people missed this:

"The rumor, and I mean rumor, was that there may have been 2008 Mac Pro's sold with a different Airport card than most had"

Which if true meant that Apple could have been subject to class action if they stated that the feature was available for 2008 models.

<comment><USER14> He also says later:

> _But I never seen it_, and there's no reason why OS X couldn't just say > upgrade the airport card. So instead they blocked the entire line rather > than this supposed older Airport card _that none of us were even familiar > with_.

i.e. I believe he was basically implying that it was a bullshit reason that would pass plausible deniability tests.</comment></comment>


The Cool Front-End Developer - <AUTHOR> http://www.mattzabriskie.com/blog/the-cool-front-end-developer <comment><USER2> There is no need to always create an "opposite"-view post in response to other "controversial" posts.

Can't wait for "The Pragmatic Front-End Developer" to pop-up in a few days.

Bottom line, we should focus on discussion that progresses our craft and not superficial rivalries. Take for example the excellent Pure UI by rauchg [1] (at the very least check the first footnote of the article, a true engineer in mind)

[1]: [http://rauchg.com/2015/pure-ui](http://rauchg.com/2015/pure-ui)

<comment><USER3> I'm working on one called GOTO Considered Essential that's gonna blow everyone's minds.

<comment><USER4> I'm working on one called Full Stack Goto that's going to be downright _exception_ al.

</comment></comment></comment><comment><AUTHOR> Yesterday, when _The Boring Front-end Developer_ was posted, the top commentary[1] seemed generally critical of the change-averse attitude. The TL;DR was "this is technology industry, new stuff is good. Get used to it."

Front-end code preprocessors, recent build systems and package managers, new- age frameworks (Angular), "Universal JS", and SPAs would all fit into this category.

Some tend to be skeptical, some are evangelists. There is a line in the sand, and while most developers don't fall clearly on either side, taken in aggregate, the line is visible.

I quite liked the BFED post. However, I submitted this because I think it makes persuasive counter-points.

Given the negative tone yesterday, I thought the crowd here might be more receptive to the more forward-thinking mindset. What's fascinating to me is that, even with nearly directly opposing viewpoints, the commentary on _both_ HN discussion threads is actually quite critical.

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

</comment><comment><USER5> Every time a popular opinion blog comes around that has an opposing opinion come out, I always wonder if these archetypes do actually help to advance the field they're talking about. Meaning, I do actually find it helpful to read about how people are defining their value while performing their skill. Does anyone else find these opposing opinions helpful or do you just see them as wasteful drivel?

Granted, this is just a blog post, so the author isn't probably isn't actively trying to craft a faction amongst front end developers.

<comment><USER6> I find it useful. Individuals are very bad at being balanced. Seeing two opposed viewpoints and weighing them up for myself gives me a better basis for making decisions.

<comment><AUTHOR> Indeed, some the most beneficial exchanges to observe are outright arguments.[1] When no one disagrees, no idea is truly tested.

This reminds me of pg's "What you can't say" essay[2]. We may be able to identify areas we are wrong by evaluating the topics on which we are most unlikely to allow dissent.

[1]: [http://i.imgur.com/akfcNkJ.gif](http://i.imgur.com/akfcNkJ.gif)

[2]: [http://www.paulgraham.com/say.html](http://www.paulgraham.com/say.html)

</comment></comment></comment><comment><USER7> Somebody needs to concentrate on the boring stuff... in particular, making sure all the stuff on npm etc actually works...

The few times I try and use "hipster stuff", like yeoman generators, they don't really work out the box, and it feels like I could have spent that time manually getting things working, also a lot of complexity is added.

In a similar way, the churn rate of JS libs is just absolutely insane.

From - a boring backend developer.

</comment><comment> at-fates-hands He forgot the part about jumping on every new JS library bandwagon when its still in beta and impressing all his friends with a new framework nobody has heard of.

<comment><USER8> Your comment just reads as "I've been using MooTools since my pappy was alive! It works so why change it."

If you want to stagnate and use the same tools, go for it. Other people will continue to push the envelope and improve the day to day lives of thousands of programmers everywhere.

If people were afraid to try new things, we wouldn't have things like Ember, or React, or Meteor, or Mythril, or Rails. You don't have to try every single thing that comes out, but at least be aware of them, and give them a cursory 30 minutes glance. You like programming, I assume? This should be fun, and it is!

<comment><USER9> >> If people were afraid to try new things, we wouldn't have things like Ember, or React, or Meteor, or Mythril, or Rails.

Or washing machines. Or cars. Or penicillin.

The anti-innovation mindset that pervades in this industry just baffles me. Sure, don't rewrite the accounting system every time a new framework comes out, but don't knock those forging the future either. (I know you weren't, I'm adding to your reaction to the parent.)

<comment><USER10> > The anti-innovation mindset that pervades in this industry just baffles me.

Developers in the industry are often in the business of selling their experience with particular technologies. New technologies becoming popular reduces the market value of that experience. The "anti-innovation" mindset -- and more specifically the public dismissal of new alternatives -- is often simple self-interested marketing.

</comment></comment></comment></comment><comment><USER11> One thing the "boring/cool" divide doesn't capture is that a certain amount of the so-called cool kid shit involves an attempt to revive computing ideas that are about 50 years old.

</comment><comment><USER12> No one cares. You're not cool. Shave your beard.

<comment><USER13> I for one, find the lengths people go to seem unique incredibly hilarious, it takes a special kind of person to call himself a lover of a programming language.

<comment><USER14> For real.

</comment></comment></comment><comment><USER15> TIL I am cool. Finally!</comment>


Ask HN: Introduction to web design? - <AUTHOR>

Can anyone recommend a place to find the absolute basics I need to know to create simple, easy-to-use, cross-browser interfaces? I understand the principles behind html/css/js and I've worked on server-side software. Where I fall down is in taking the design in my head and translating it into an actual page. I would prefer to avoid anything aimed at non-programmers because the signal to noise ratio is maddening. <comment><USER2> Don't underestimate how ITERATIVE the design process is. Do something then tweak it, then do it again then tweak it.

Don't think that everything is ruined and hopeless just because you can't get your ideas down right away. Iterate!

</comment><comment><AUTHOR> I eventually found <http://www.betaversion.org/~stefano/linotype/news/169/>

This is exactly what I was after - step by step instructions, decisions made for me, gotchas explained. I highly recommend it for anyone else in the same position.</comment>


Japanese office installs full-size vending machine made out of cardboard - <AUTHOR> https://soranews24.com/2020/05/26/creative-japanese-office-installs-awesome-full-size-vending-machine-made-out-of-cardboard%e3%80%90video%e3%80%91/ <comment><USER2> If you are interested in vending machines but are up for lighter fantasy there is a light novel called: "Reborn as a Vending Machine, I Now Wander the Dungeon"

It has lot's of weird vending machines woven into it's plot. As an LN of the from the "being reborn in another world" genre (Yes that is a thing) it sadly couldn't do without some suggestive scenes but you skip those.

</comment><comment><USER3> Looks like it's based on the honor system, the buttons can still be pressed even if you don't put a coin in. Still pretty impressive for cardboard.

</comment><comment><USER4> I wonder if they sell a Danbo costume?

</comment><comment><USER5> Japan is probably the only country in the world where this kind of vending machine could survive, for a while at least.

Anywhere else it would be torn apart for the 'bounty' inside. Wouldn't last as long as it took to build. Its looters would probably feel a sense of pride in doing so because they'd be "destroying capitalism." Hurrah!

<comment><USER6> They had to put the vending machines in my High School into giant metal cages to prevent kids from destroying them. Up-armored vending machines...

<comment><USER5> In Japan, you commonly find un-armored vending machines on the street corner, or next to the bus stop on a rural street. In hotels, the vending machines dispense beer.

Yet they are seldom robbed.</comment></comment></comment>


The Nexus One Is A Flop: 74 Days In, Just 135,000 Sold - <AUTHOR> http://www.businessinsider.com/the-nexus-one-is-a-flop-74-days-in-just-135000-sold-2010-3 <comment><USER2> If sales volume (from limited time) is measurement of success and flop than OSX is a flop compare to Windows7.

I don't know in which world is selling a new phone of 135k units by a newcomer in the hardware/phone industry is considered a flop.

Nexus One is Google first shot at a phone on an already heavily competitive industry. Without having any experience is selling/producing a consumer product like this, I would say this is a pretty good result for a first time. Come back after 1 year and another iteration of the phone and than we can talk about numbers and perhaps decide whether its a flop or a success.

For now, the way I look at it, its an experiment in progress.

I don't even own an andriod phone. I am still happy with my iphone. But when my contract expires I most likely will consider an android phone.

USA is a matured and very competitive cell phone market, its not very easy to get existing phone users who are committed to their phone contracts. Getting a new phone is a fairly long term commitment for most users.

<comment><USER3> To be fair, their marketing spend compared to their competitors was WAY higher than Apple's was compared to MS. Google did spend a lot of dough trying to roll this out.

<comment><USER4> Which probably plain and simply does explain their success to date. IMHO this launch still isn't a flop though. I know Google is an outlier among most companies, but they're still in a completely unfamiliar market at this point. Consumer selling is a different beast compared to B2B--Google has never truly convinced consumers to pay up before. Would you use an HTC search engine, or hell even an Apple one?

Google's ability to reach into so many distinct markets is pretty remarkable to me. I think we can't ignore the mountains of data they have on consumer buying patterns though. They've probably collected more business intelligence than any other company prior. That's quite the competitive advantage to be allowed.

</comment></comment></comment><comment><USER5> It is only a flop if its goal was really to sell as a commercially viable product. If on the other hand it was meant to be closer to a reference implementation, it could be seen as a success as more and more Android based phones many of which are much like the Nexus One come to market.

The obvious counter to that is why would it be sold at all if it was primarily a reference implementation. And the obvious answer is marketing. A reference implementation is generally something only known about by Engineers and people who track what engineers do. A fully Google branded phone got tremendous press with practically no standard advertising, and it showed consumers what a Android phone could be.

<comment><USER6> +1 on the idea that the Nexus One is Google's ideal (at present) Android phone.

Hopefully the success of the Nexus One will persuade other Android OEMs to stop forking Android and to keep their ROMs up-to-date (to allow consumers to upgrade, hardware be willing, to newer Android OS releases).

</comment></comment><comment><USER7> I suppose this shows Google is not Dell: selling expensive goods online-only requires some specific expertise.

The good thing for Google is, that all they probably really care about is the success of the Android platform; as long as the world buys hardware that plays nice with the open web and (thus) integrates nicely with Google's services, it's fine. So the 1M sales of Motorolas in that graph are good news.

</comment><comment><USER8> I can't see how anyone who really likes their nexus would be phased by this. Droid's success will ensure there's a steady stream of software for the nexus, and handset sales don't affect user experience. It's possible that google might not release a new nexus, and that would probably be bad, except it looks like android as a whole is here to stay. Someone will be manufacturing hi- quality android phones designed specifically to be better than the latest, shiniest iPhone, no doubt.

I just have to add, though, that as a long time fan of apple products, it still very, very weird to be using products with high market shares. You'd think I'd have gotten over it after a couple of years of the iPod, but no, it's still weird seeing apple logos everywhere. It's weird, but I kind of preferred it when apple's stuff was less common.

</comment><comment><USER9> This is really quite disappointing. I really wish Google would have done two things:

1) Released the Nexus One on Verizon already and not just T-Mobile. Yea, yea... I know you can use it with AT&T. I have one, but you can't use 3G.

2) MOST IMPORTANT: A large marketing campaign on Android. I don't know any mainstream user that knows what the "Android" is, everyone knows what the Droid is.

<comment><USER10> All indicators point that it's going to release for Verizon on the 23rd. Granted, that won't help the "first 75 days" numbers, but I'd wager money that the sales will skyrocket when it's released. No, I don't have any solid data or research to back that up, it's just a hunch.

I've held off of disowning my BB Storm and getting a Droid just to wait for the Nexus One. Of course, your 2nd point feeds into that heavily. Anytime I mention Android, several people I know that have a Droid or Droid Eris claim they have an "Android". I suppose technically speaking, they do, but they certainly don't understand the difference.

</comment></comment><comment><USER11> Some Android phones will sell millions, some will sell a dozen. Android is only the platform that makes them run the same software. That would be like implying Symbian is a failure because the nGage didn't sell well.

<comment><USER12> very true. Except the article is stating the Nexus One is a flop, not android:

> Nexus One sales are still flopping.

<comment><USER11> Unless the reader is careful, he could misread the headline as stating Android is a failure while, in fact, it's a very narrow observation on the lackluster sales of a recent device.

</comment></comment></comment><comment><USER13> I went with the Droid because I would not purchase a phone online. I want to be able to either exchange a defective phone or return it within the first 30 days. I read lots of people complaining about the mail-it-in-for-a-new-one online. Turnaround? 2 weeks.

<comment><USER14> That's so weird. I love buying things online... physical stores are such time sucks.

</comment></comment><comment><USER15> My options are:

* Verizon who has no problem selling other Android phones but doesn't have the Nexus One (yet)

* AT&T which I have bad experience with, and is pushing the iPhone

* TMobile which is so bad that a friend of mine who works them strongly recommends you shop elsewhere

I have a basic Verizon phone that I'm replacing with a Nexus One when it comes out Real Soon (TM). That phone is about 5 years old and is starting to fail

Anyone else in the same situation.

</comment><comment><USER16> So it turns out that carriers subsidize phones because ... customers like it that way?

<comment><USER17> Seriously. Who expected people to pony up the extra $300 for the Nexus One (over the Droid) just for the privilege of being on T-Mobile's sub par network and no contract? Most people stick with a carrier for half a decade or so. Two year subsidies are not _that_ onerous.

Bring the Nexus One to Verizon with the option of a carrier subsidy and we'll see how much of a flop it really is...

<comment><USER18> I agree. Also, if you happen to be an existing T-Mobile customer you get to pay a $100 loyalty penalty!

<comment><USER19> In my case it's a $300 loyalty penalty, as I'm on a flexpay plan.

</comment></comment></comment></comment><comment><USER20> but Droid is doing pretty well [http://www.androidguys.com/2010/03/16/flurry- compares-nexus-...](http://www.androidguys.com/2010/03/16/flurry-compares- nexus-droid-iphone-benchmark/)

</comment><comment><USER21> I'm not sure I'd call the Nexus One a flop. A) You, and a lot of others, are still talking about it. B) It's more about getting Android 'out there' than about selling phones

</comment><comment><USER22> I wonder how this connects to the recently announced thing where they hand out free Ones to top app developers. I also heard that speakers that the recently- held Game Developers Conference also all got Nexus Ones, courtesy of Google ...

If you can't sell them, hand them out for free as a PR move?

<comment><USER23> I think handing them out free at the Game Developers Conference was more about getting game developers excited about creating games for the Android platform.

</comment></comment><comment><USER24> That could also be because there are only a few countries where it is being sold, and the lack of advertising for the Nexus One. Many people haven't even heard of it, but I think once they know that flash wont apparently run on a droid, they will consider the nexus one.

<comment><USER23> Flash doesn't currently run on either the droid or the N1 (or the iPhone for that matter). Ever rumor I've read about Flash coming to Android has indicated both the Droid and the N1 are likely to get it.

<comment><USER24> The nexus one maybe, but I adobe have already said it will only be available for smartphone's with fast CPU's, and so not sure if the Droid qualifies (of course I hope it does though).

Either way, mobile technology moves so quickly, this will quickly change. And we all know that Apple does get away with selling inferior hardware devices anyway, so Apple might succeed even if they they sell garbage to people.

</comment></comment></comment><comment><USER25> Reiterating theBobMcCormick's point, Google's UX/UI is a flop (see Buzz). Who wants to buy a phone that's only available online? A phone one can't check out IRL and then take home? Not me, not a lot of people apparently.

</comment><comment><USER26> Which popular Android apps come with Flurry?

Everybody I know who is in the market for a new phone wants to have a Nexus One. They are mostly geeks, though.

</comment><comment><USER27> The nexus one should do better when it goes outside US.

<comment><USER28> Given that much of Europe is used to smartphones costing €600, Nexus One should fit right in.

</comment></comment><comment><USER20> Traction can be a bitch, doesn't mean it's a "flop"... only time will tell on that one.</comment>


On Focus (2018) - <AUTHOR> https://dennisdel.com/blog/on-focus/ <comment><USER2> I think it's interesting that there are people who are naturally focused and can make every minute count. While others have to go through loops and hoops to manage themselves both externally and within their workflow.

That said, while this article is somewhat good, it's also very niche. So, not necessarily something that would apply even to the majority of HN users.

</comment><comment><USER3> Great article. For the tasks of getting blocks to focus and grouping meeting together, we've created a powerful application that can help automate away some of the drudgery. [https://www.getclockwise.com/product](https://www.getclockwise.com/product)</comment>


Bitcoin energy use in Iceland set to overtake homes, says local firm - <AUTHOR> http://www.bbc.co.uk/news/technology-43030677 <comment><USER2> This is an example of bitcoin mining seeking the most renewable, inexpensive energy sources... including geothermal in iceland and hydroelectric in Washington State and China.

As solar or wind get closer to viability, it may soon come that bitcoin starts paying for massive solar investment (due to the "greedy" interests of miners buying up lots of solar capacity) and that further lowers costs of solar... and maybe wind, though I'm less confident on wind.

<comment><USER3> On the contrary, bitcoin using up a lot of solar installation would only displace using the same solar panels for other uses.

<comment><USER4> Implying it won't accelerate the development of more/better solar.

<comment><USER3> There is already a huge demand for electrical power in the world, especially clean one. Bitcoin won't add anything specific for solar.

<comment><USER5> There is huge demand for electrical power, but there is only huge _desire_ for clean electrical power. I'm sure Bitcoin miners want to use clean power, but if it means they have tighter margins as a result, then non-clean will be what they stick with. (Bitcoin used only as placeholder here).

</comment></comment></comment></comment></comment><comment><USER6> >> _Smari McCarthy, a member of the Icelandic parliament for the Pirate Party, tweeted: "Cryptocurrency mining requires almost no staff, very little in capital investments, and mostly leaves no taxes either._

Replace "cryptocurrency" with any other technology service and you'll probably be left with the same net result. The datacenter is presumably charging for the co-location services, so there's certainly tax revenue and the operational jobs (as few as they are) to run the facilities that benefits Iceland.

<comment><USER7> also, >very little in capital investments

what? it doesn't require huge upfront capital compared to say, building a factory, but risk in buying mining equipment is insane given how volatile the price/difficulty is.

<comment><USER6> You're correct, but I believe the MP was referring to the fact that any such capital assets (e.g. miners/servers) are being purchased outside of Iceland, so no tax revenue accrues to Iceland (except maybe indirectly in the form of import duties or shipping costs).

<comment><USER7> >are being purchased outside of Iceland

...as opposed to any other business? if you're setting up any kind of business[1], chances are most of the capital investments won't be goods from iceland.

[1] other than ones centered around processing raw resources [https://upload.wikimedia.org/wikipedia/commons/7/77/Iceland_...](https://upload.wikimedia.org/wikipedia/commons/7/77/Iceland_Export_Treemap.jpg)

</comment></comment></comment></comment><comment><USER8> Bitcoin is a great export product for Iceland. Their biggest disadvantage is being so remote from the rest of the world, so the ability to produce something locally that has zero shipping costs isn't one to be missed. It's effectively a way of turning local geothermal power into money, providing tax revenues to all sorts of services.

</comment><comment><USER9> This is why there is a huge gold rush in Quebec. We have cheap electricity year long and cheap cooling 9 months of the year.

<comment><USER10> True, I have a friend who is building a mining operation of 112 MW in the North

</comment></comment><comment><USER11> While it does sound impressive, as stated in the article, Iceland has only 340,000 people. And almost all heating is done with geothermally heated water further reducing residential electricity costs. Compared to the electricity of aluminum smelting business in Iceland, bitcoin very small (so far).

</comment><comment><USER12> In other words, proof-of-stake is the future. Legacy PoW coins will stick around, but they will not be dominant.

</comment><comment><USER13> so much for all that environmental friendly iceland!

<comment><USER6> The article states " _[Iceland] has seen a marked increase in the number of new data centres, often built by firms wishing to tout green credentials. Nearly 100% of energy in Iceland comes from renewable sources. "_

Unless that's false, Iceland looks like it is still about as environmentally friendly as it was before agreeing to build Moonlite. Perhaps the more interesting question is what Iceland will do to meet the increase in domestic energy demand. Presumably a crude first-order response will be to increase input costs across the board by jacking up commercial electricity rates (assuming they can differentiate between retail vs. commercial facilities).</comment></comment>


Edward Snowden, after months of NSA revelations, says his mission's accomplished - <AUTHOR> http://www.washingtonpost.com/world/national-security/edward-snowden-after-months-of-nsa-revelations-says-his-missions-accomplished/2013/12/23/49fc36de-6c1c-11e3-a523-fe73f0ff6b8d_story.html

<comment><USER2> Thanks, but already submitted and already on front page.

[https://news.ycombinator.com/item?id=6957882](https://news.ycombinator.com/item?id=6957882)</comment>


Demoscene Blu-ray finally available after five years - <AUTHOR> http://trixter.oldskool.org/2011/11/22/mindcandy-volume-3-is-now-available/

<comment><USER2> I just received my copy of this blu-ray last week and am _very_ impressed! The audio and video quality is amazing on blu-ray. There's also a ton of good content beyond the demos, like talks from scene parties and commentaries for almost all the demos. If you're at all curious about demos buy this immediately.

Thanks Trixter for all the work put into the 3 Mind Candy releases. I own all 3 volumes and am incredibly impressed with the quality of each. These are seriously some of the most treasured discs I own.

</comment><comment><USER3> Trixter, you and the production team need medals for the MindCandy series. To preserve any historial software is a vast undertaking, let alone productions as ethereal and finicky as demos. These are as important in their own right as archive.org and the BBS preservation projects.

I don't have any medals on hand but I'll be buying #3 to help a little.

<comment><AUTHOR> Buying a copy _is_ like handing out a medal for us, since we have yet to break even on this release :-)

Thanks for the kind words. Getting the commentary from all the different authors was like trying to juggle cats, but with more cats.

</comment></comment><comment><USER4> For some background on the demoscene, I liked this article from 1995: <http://www.wired.com/wired/archive/3.07/democoders_pr.html>

<comment><USER5> Here's another take on the origins of the demoscene and why it's still exciting: <http://ascii.textfiles.com/archives/1096>

</comment></comment><comment><USER6> Congratulations Trixter! I own #1 and I might pick this one up as well. Thank you for preserving these demos.

I know you've said this would be the final installment, but, any chance of a MC4 with 64ks? :)

<comment><AUTHOR> No, I'm afraid this is it. Ignoring the gigantic irony of filling a Blu-ray with 64k intro output, I am moving on after three great volumes over the past decade. Time to code some demos again!

<comment><USER6> > Time to code some demos again!

Even better ;)

</comment></comment></comment><comment><USER7> I think this is the first Blu-Ray I've seen that has only 720p. On the other hand, 10 hours of content is a _lot_. Did you consider doing a multidisc release?

<comment><AUTHOR> The main demo feature and intros featurette are 720p, but it's important to note they're 60p. 720@60p is the only 60 frame-per-second progressive format Blu-ray supports, so that's why we went with it (because demos at 30fps or lower don't have the same impact). At that size and framerate, 720@60 uses 88% of the bandwidth of 1080@30. I explain all this to illustrate that we didn't go with 720@60 for size reasons -- it was intentional, to match the full quality of the source material.

All the other special features (NVScene talks, production notes, etc.) are 1080@24 or 1080@30i.

We didn't consider a multi-disc release since we were already doing a Blu- ray+DVD combo pack. Trying to do a second disc of both would have increased the cost 50%, and we really wanted to keep it at the $20 mark, because who wants to spend more than that on a Blu-ray?

</comment></comment><comment><USER8> Makes me wonder about BD-J (A J2ME-derived Java runtime available on every commercial Blu-ray player) and the potential for writing demos that actually _execute_ from a Blu-ray disk.

<comment><AUTHOR> Funny you mention that -- I coded a few effects (starfield, plasma, nothing amazing) to be used as the background for the menus around 2009. Unfortunately, the only production toolchain we could use (due to cost) didn't support authoring BD-J, so we dropped the idea. I know of at least one other group working on a Blu-ray BD-J demo...

</comment></comment><comment><USER9> I'm buying this even though I've no way to play blurays.

<comment><AUTHOR> Skrebbel! No worries, that's why there's a DVD in the pack as well. The DVD doesn't have the special features, but the main 3.5 hours of demos are there plus commentary and subtitles.

Blu-ray penetration is only 15% (in the USA, not sure about the rest of the world) so we didn't want to leave anyone behind. In five years when blu-ray players cost as much as a nice meal, you'll be set :)

<comment><USER10> > In five years when blu-ray players cost as much as a nice meal, you'll be > set :)

I've seen $35 blu ray players and (based on DVD), don't expect blu ray to stay below $25 for long.

[http://www.frys.com/product/6902547?site=sr:SEARCH:MAIN_RSLT...](http://www.frys.com/product/6902547?site=sr:SEARCH:MAIN_RSLT_PG) is a $50 blu ray player.

[http://www.frys.com/product/5892973?site=sr:SEARCH:MAIN_RSLT...](http://www.frys.com/product/5892973?site=sr:SEARCH:MAIN_RSLT_PG) is a $28 dvd player.</comment></comment></comment>


Pattern Matching in Swift: switch, enums and where clauses - <AUTHOR> http://alisoftware.github.io/swift/2016/03/27/pattern-matching-1/ <comment><USER2> Looks interesting, but as soon as I see spelling errors my brain switches off.</comment>