Snowflake to Avalanche: A Novel Metastable Consensus Protocol Family for Crypto - <AUTHOR> https://ipfs.io/ipfs/QmUy4jh5mGNZvLkjies1RWM4YuvJh5o2FYopNPVYwrRVGV <comment><USER2> Initial reactions:

1\. Sybil-resistance (faking strong consensus by deploying cheap replica nodes you control) in a protocol like this is crucial. All I could find is this:

 _To prevent Sybil attacks, it uses a mechanism like proof-of-stake that assigns weights to participants in committee selection based on the money in their accounts._

2\. Every non-proof-of-work protocol I've seen, including Ripple Consensus Process and proof-of-stake creates a problem of initial coin distribution. PoW systems have a clean distribution mechanism based on external resource consumption. Non-PoW systems produce an airdrop situation. Players start with no funds, and so can't stake. The creator of the network manually assigns ownership, with important long-term political consequences (e.g., Ripple).

3\. The lack of an incentive structure around fees in protocols like Ripple creates bizarre economic consequences. For example, Ripple is guaranteed to lose money stock because fees are simply burned, rather than given to the consensus leader as in Bitcoin.

4\. So far, I haven't seen anything in the paper regarding denial of service attacks on nodes. In other words, I see no negative incentives levied on those who can sign transactions from flooding the network with useless spam, bogging everything down.

<comment><USER3> > PoW systems have a clean distribution mechanism based on external resource > consumption.

Unless the creators are the only ones mining for a time.

<comment><USER4> Even without that it's still not fair because of ASICs not being widely available to consumers. It's not as fair as simply selling tokens/coins which grows linearly with how much money you have, which is what you'd be spending on electricity and hardware anyway, you're just taking the shortcut of not using them and is one of the more popular arguments for PoS.

</comment></comment></comment><comment><USER5> This seems like a thoroughly thought out version of a DAG (directed acyclic graph) based currency. I don't have time to go through it with a fine toothed comb, but I'm curious about others' reactions.

There are well known problems with DAGs: lack of incentive to run full nodes, tip choice attacks, flooding/spam attacks if there are no fees, and many and varied types of Sybil attacks.

For flooding or spam a transaction proof of work isn't enough. Not only does it "waste" a lot of energy (though at the edge nodes where it's less visible than mining farms) which negates part of the purported benefit of a DAG, but it's vulnerable to ASICs or botnets. If you can short a cryptocurrency on any major exchange that supports short selling then it will get attacked with the goal not of stealing coins or censoring transactions but of just destroying it.

Tip choice attacks combined with Sybil attacks can be very sophisticated. Tip choice is "random" but randomness cannot be verified. 3, 18, 593, 3, 3, now prove those were not random numbers modulus 1024. You can't of course. So I can non-randomly choose the transactions I link to. If I combine this with some sophisticated analysis of the network's transaction structure and physical topology I might be able to skew the network in some disastrous way over time in ways that would be completely undetectable since my apparently "random" tip/link choices were not in fact random. Then I can do something like short the coin and do something nasty to the network.

Attackers can be very _very_ creative, and attacks only get better.

Last but not least: there is no mining mechanism in a DAG coin, or at least I've never heard of how one could be done. This means DAG coins are "Big Bang" coins that begin with all the money that will ever exist. This is problematic from an economic point of view and opens a huge can of worms around what is done with that money and how it is distributed to initial holders.

</comment><comment><USER6> Please update the submission title to match the title of the linked paper, i.e. "Cryptocurrencies" and not just "Crypto".

<comment><USER7> It's probably too long with the entire word.

<comment><USER8> Then maybe trim the initial catchphrase, or the word "novel."

</comment></comment></comment><comment><USER9> This sounds an awful lot like each transaction can consume exactly one UTXO, but can have multiple UTXO outputs. This would cause progressive "shattering" of the UTXO set into millions of low-value "dust" UTXOs, a problem that Bitcoin is struggling with (specifically, how best to incentivize "cleaning up" the UTXO set by making transactions with multiple inputs, even though that increases the overall transaction size).

"We adopt what is commonly known as Bitcoin's unspent transaction output (UTXO) model. In this model, clients are authenticated and issue cryptographically signed transactions that fully consume an existing UTXO and issue new UTXOs."

<comment><USER10> Seems like ambiguous wording on that part. However, they do not seem to require single-UTXO-inputs, but can consume multiple.

</comment></comment><comment><USER11> Either "using crypto" or "for cryptocurrencies"

</comment><comment><USER12> It would be good if the authors would have extended figures 20, 21, and 22 out to networks of size 20,000 or more nodes. Or at least described what they expect to happen. I.e. if you have many more nodes, does the throughput remain above 1k tps?

I also always like authors who are willing to acknowledge the limitations of their work. If this work described the limitations I didn't see it; maybe they think there are none :-)

<comment><USER10> Cursory reading, they do seem to discuss limitations. They say that the system is not guaranteed to provide liveness for double-spends.

</comment></comment><comment><USER13> We're a technical community. Can we not shorten cryptocurrencies to crypto? Admin can you change the title?

</comment><comment><USER14> Is this Sybil resistant though?

<comment><USER15> That's my question as well, the introduction says:

> Specifically, the system operates by repeatedly sampling the network at > random, and steering the correct nodes towards the same outcome.

Obviously random sampling could be trivially manipulated if anybody can spawn nodes very easily. I expected that the "fix" would be in the "Snowflake" algorithm but I don't see how it prevents that:

> When the protocol is correctly parameterized for a given threshold of > Byzantine nodes and a desired guarantee, it can ensure both safety (P1) and > liveness (P2).

But isn't that threshold effectively infinite? If you look at something like the bitcoin network there are very few incentives to maintain full nodes. Meanwhile if having a majority of nodes let you cheat and steer the network (which is not the case for BTC thanks to PoW) the incentive to spawn a huge amount of byzantine nodes would be very high.

After that the paper introduces the notion of "confidence" which might be the key to unraveling all that but I haven't yet fully understood that part. I don't have more time to look into it at the moment, hopefully somebody else will.

</comment></comment><comment><USER16> At this point, are these papers simply to reduce the cost of verification?

It seems thats the only problem in the crypto world, but I dont know if verification will ever be scalable.

<comment><USER15> What do you mean about "cost of verification"? Verification is not too difficult, it's reaching a consensus among trust-less nodes that is.

PoW solves the problem by making it so that any node which receives two valid but conflicting versions of blockchain has an objective metric to decide which one is the "right" one. The answer being whichever has the most work put into it. Since you can't fake work you can't arbitrarily create a new chain that would take over the others (unless you manage to work harder than all the rest of the network combined, hence the 51% attacks).

Without PoW if you receive two valid but conflicting chains you need an other metric to decide which one you select. This paper describes such an approach.

<comment><USER17> Verification becomes difficult, when the system gains adoption and processes thousands of TX per second. Then the issue becomes about the trade-off between node resource requirements, and decentralization. Fundamentally, every node having to process/verify every single transaction in the network,is not scalable.

<comment><USER18> Hence the ongoing debate around whether verification should be less computationally costly than computation (BTC) or whether a system can be architected to successfully scale even when verification == computation (ETH).

</comment></comment></comment></comment><comment><USER19> Much like hashgraph [https://hederahashgraph.com](https://hederahashgraph.com)

</comment><comment><USER20> Do you think it would be possible to build a consensus algorithm for scientific consensus?

</comment><comment><USER21> Perhaps this is the technology behind [https://chia.net](https://chia.net) ?

<comment><USER22> Chia is bitcoin but with farming (storage) instead of mining (compute), plus a whole host of cleanups to do it right. So no DAG or any such thing.

One could read "Beyond Hellman's Time-Memory Trade-Offs with Applications to Proofs of Space" [https://eprint.iacr.org/2017/893.pdf](https://eprint.iacr.org/2017/893.pdf)

<comment><USER5> Is proof of space actually "greener" than proof of work? Memory and hard drives consume power, and querying them consumes power. Seems like it could be just another kind of work. It would be more ASIC resistant though.

<comment><USER22> yes. vastly.

<comment><USER5> I'm curious about this. Are you saying that relying on storage latency and volume is energetically cheaper than relying on compute?

I see a few flaws in this. First of all: all fast storage media consume energy even when idle. Secondly I think this neglects the embodied energy (energy to manufacture) of storage media. Lastly if a proof of storage mining scheme became popular you'd probably see ASICs that incorporate onboard fast memory controllers with huge caches and other approaches that would improve performance to the point that this would just become another proof of work.

Comparing full life cycle energy of different approaches to securing a cryptocurrency is actually pretty tough. It's also pretty hard to compare it to the energy requirements of more conventional approaches to currency since the energy cost of those is so spread out across society.</comment></comment></comment></comment></comment>


Ask HN: How to improve a whiteboard interview performance? - <AUTHOR> I have recently started looking for a new job. And I think I have a performance problem when it comes to a whiteboard interview.
I often struggle to come up with any kind of specific solution on the spot even if I can outline the general idea. I don't usually feel particularly nervous, so it is not that. Shortly after an interview ends, on my walk outside, I often have a breakthrough when the solution comes to me in a much greater detail, so that I can articulate it much better at least to myself.
I have also noticed that I can typically only solve Medium problems on LeetCode within an hour when left alone. Hard problems often take me a couple of hours at least.
The observations above make me think that maybe I'm slow and/or ill equipped when it comes to solving problems on the go. And certain types of problems are easier for me to solve in solitude.
Does anyone have any suggestions what I can do improve my onsite performance? I will of course keep on practicing, but certain opportunities are getting away from me. <comment><USER2> Hey ZhL,

that's not just you.

It's me and everyone else I know.

That's why these are called whiteboard firing squads.

The only way I know to improve on whiteboard interview performance is to do more whiteboard interviews unfortunately.

I know it does not make sense. I know it does not teach your or help you further any actual skill you will actually use day to day, but that's the problem we programmers have painted ourselves into.

The "remote" equivalent to whiteboard interviews are "live coding" sessions where you type code into a site like codebunk.io

Some random person who works at your potential employer will send you a link to a site you can type code into and ask you to solve a "5 minute problem". It's not fizzbuzz, it's not a for loop - it's going to be something slightly tricky like finding the sum of 3 numbers that add up to a specific number.

One thing I can recommend at a whiteboard firing squad is to see whether the firing squad has people in it that want you to win.

If you think out loud, show them you know what you're talking about, they might come out, feel your issue and work with you.

Isn't that the kind of people you want to work with regularly anyways?

I am happy to work out some trial whiteboard interviews with you if you feel that would help.

<comment><AUTHOR> Haha - whiteboard firing squad - I like that. Thank you for the offer to do a trial interview. I really appreciate that! Let me see how this week interviews go, and I may take you up on that.

As opposed to failing 2 out of 2 whiteboard interviews, the "live coding" sessions have been a mixed experience for me. It often works just fine if I'm given a clearly defined problem at the beginning of the interview and enough time to quietly think about it. It does not work very well when I'm asked behavioral questions first, coding session is limited to 20 minutes, problem keeps evolving and interviewer comes across impatient or in a rush. Solving a LeetCode/HackerRank hard problem within an hour also does not work for me. But most companies in my experience have been more reasonable than that so far.

Btw, TripleByte (no affiliation) does a much better job at technical screens in my opinion than the rest of the companies I tried so far. I wish more companies would use them.

</comment></comment><comment><USER3> I interviewed at FB London about 6-7 years ago, and they also gave me whiteboard interviews. They're one of the stupidest things ever invented.

If you want to master it, I guess you need to buy a whiteboard, and have a programmer friend give you random problems on a timer.

Having said that, do you really wanna work at a company that does this? I would never ever go to FB again, and not just for the pathetic and horrendous things it does, but the interview process just feels like "ooh, i know this crappy thing that was taught in high school, which nobody actually uses/needs, and you don't".

<comment><AUTHOR> Yeah, that would require a whiteboard and a programmer friend who is kind of enough to endure the misery of watching me struggle with a marker, trying to remember how to write by hand again..

I have very little experience interviewing (my previous job lasted 10+ years, my current one - almost 6). But I thought that solving problems on a whiteboard is fairly common, if not a golden standard for an on-site. At least both of the on-sites I had recently had a whiteboard component.

I think certain problems are a good _partial_ fit for a whiteboard interview: math/geometry, graphs and trees, combinatorics, system design. However, it does not feel natural to solve the _entire_ problem on a whiteboard. Additionally, I was also expecting whiteboard sessions to be a collaboration and a discussion. That hasn't been my experience so far.. I had either very little feedback, or a feedback that was more confusing than helpful (to me at least). Hence the question if I can do anything at an interview to increase the chances of a positive outcome. Or if there is a systematic approach to this problem.

<comment><USER2> > Or if there is a systematic approach to this problem

There is.

The whiteboard firing squad questions are pretty predictable once you do enough of them.

The very bad ones will ask directly from one of the popular sites. DFS/BFS/Invert Binary Tree/Coin Change/Hop Jump Skip/you know.

You have to learn it once and can regurgitate until you forget them again.

I am happy to help a fellow HN'er and work out some trial whiteboard interviews with you if you feel that would help.

</comment></comment></comment><comment><USER4> It's been a long long time since I've interviewed for a developer job, and unless anything wildly radical happens, unlikely to happen ever again. BUT... At the time I recall that what worked very well was that I'd start with the knucklehead solution. I'd say, "Well, a naive way of doing this would be..." and what this does is buys a bit more time of thinking as you talk through the facile way of doing things. That alone is not going to be enough to pass this kind of interview, but I remember this as a useful trick.

<comment><AUTHOR> Yes, starting with a brute force solution is a good advise. That paid off for me a couple of times. I need to keep reminding that myself - sometimes I get carried away trying to jump straight ahead to something more optimal.

</comment></comment><comment><USER5> I've only experienced one whiteboard interview in six onsites within the past three years, so their popularity may be waning.

Also, there seem to be several different types of whiteboard interview, a) the algorithmic solution, b) the conversation starter, and c) the problem analysis. I mention this so that you don't focus solely on the algorithmic type, the other two really are there to help interviewers know how you approach problems.

</comment><comment><USER6> If I ever get into a position where I will be interviewing like that again, I will definitely buy a white board and solve coding problems on your white board, alone. This should get us a little more familiar with the actual interview situation. It's not 100%, but it's something you can easily start doing today.

<comment><AUTHOR> Yes, I think that will help. For me personally it is also helpful to be able to analyze the problem by myself, without having to talk through it. Being able to write some code in an editor is also helpful as it springs my brain into action. Not sure how to adapt all of that for a whiteboard interview. Maybe a mental trick? Or an entirely different way to approach the problem?</comment></comment>


Sprint owner reportedly abandons bid to merge with T-Mobile - <AUTHOR> https://arstechnica.com/information-technology/2017/10/sprintt-mobile-merger-is-off-preserving-wireless-competition-for-now/ <comment><USER2> I'm not sure there was a T-Mobile customer out there who was happy about the possible merger. T-Mobile has been doing a really good job of providing value and improving their network, at least in reasonably populous areas.</comment>


Why Don't Software Engineers Get More Respect? - <AUTHOR> http://news.dice.com/2014/08/19/dont-software-engineers-get-respect/

<comment><USER2> I don't think the average person really understands IT and what's involved. If I'm at a dinner party and I'm asked what I do, and mention what I do, peoples' eyes immediately glass over. They don't want to understand.

The average non-IT end user is a sheep. Full stop. They don't want to wrap their head around how something works -- they want it all the be transparent unicorns and glitter.

I really dislike fellowship with non-IT people anymore because it seems like I cannot have a decent conversation that requires more than a few brain cells. Honestly, and I'm not being mean, but the average person out there that is not in a STEM-related field really does not grok much beyond basic life. Sad really.

I have to explain what I do, unfortunately, to the higher ups far too often. These people, collectively, seem like they don't have the cerebral chemical processes to power a lightning bug's ass.

</comment><comment><USER3> "...Engineers make plenty of business decisions every day: Deciding the size of a database field, for instance, or a data type. Those types of choices impact the business, admittedly in a micro way..."

Micro? I have seen decisions about database architecture that cost hundreds of thousands of dollars and thousands of hours of work over time.</comment>


Statistical Aspects of Data Mining - <AUTHOR> http://sites.google.com/site/stats202/lecture-notes

<comment><USER2> There's an older - but possibly still useful - set of video lectures (a Google Tech Talk series) covering this class from 2007. Day one is here:

<http://www.youtube.com/watch?v=zRsMEl6PHhM>

</comment><comment><USER3> This looks interesting. I'd been planning to learn R for a while, but never got around to it.

The main course page includes homework problem sets (with solutions):

<http://sites.google.com/site/stats202/></comment>


NeuG USB True Random Number Generator - <AUTHOR> https://shop.fsf.org/storage-devices/neug-usb-true-random-number-generator <comment><USER2> Weird how they specifically point out "free as in freedom", but then the real brain of this entire thing is a proprietary STM32F103 MCU.

<comment><USER3> To be fair, yes, the proprietary nature of a particular chip is bad for open source, but on the other hand, the marginal cost of a chip is not zero, like it is for software. There's the chip fabrication costs which only goes down in quantity. That means there's an inherent risk in developing a new chip.

However, if you're that concerned about it, there are open source designs which create free truly random bits, so you are free to choose a design that meets your need.

<comment><USER4> Additionally, and I'm not positive that they've actually done this, but the chip _also_ has fully open toolchain. While the guts of the chip aren't open source, it's possible for the firmware to be 100% open source without any binary blobs.

</comment></comment></comment><comment><USER5> Controversial opinion: Hardware Random Number Generators don't solve any real problem.

The problems they're supposed to solve are entirely fictional and usually stem from a poor understanding of the real problems there are with random numbers (which can mostly be traced back to a few issues: boot time entropy, userspace RNGs and use of insecure RNGs by mistake).

<comment><USER6> How are you supposed to get entropy into a system with no (good for RNG) inputs and no sources of noise? (think: embedded)

<comment><USER7> Not with a USB HWRNG.

<comment><USER8> I don't understand this part of your criticism. Your core criticism has been that we don't really need hardware TRNGs because the math of CSPRNGs doesn't lead to "entropy depletion" in the way that people's mistaken mental models might suggest.

That's fine, but boot-time seeding problems are also a real source of RNG- related security problems, as described in the "Mining Your Ps and Qs" paper. (E.g. "The removal of IRQs as an entropy source has likely exacerbated RNG problems in headless and embedded devices, which often lack human input devices, disks, and multiple cores. If they do, the only source of entropy—if there are any at all—may be the time of boot.") Having a hardware TRNG for seeding in this case would presumably prevent these problems.

<comment><USER9> Embedded systems may be physically small enough that plugging in a USB key doesn't make any sense. An embedded HWTRNG chip onboard or in the SoC may make sense.

<comment><USER8> Thanks, that makes sense.

</comment></comment></comment></comment></comment></comment><comment><USER10> This is also available at Seeed Studio: [https://www.seeedstudio.com/FST-01-without- Enclosure-p-1276....](https://www.seeedstudio.com/FST-01-without- Enclosure-p-1276.html) By the time you read this, it'll probably be sold out, but I coincidentally signed up about a week ago to be notified when they were in stock, and I got that notification yesterday.

It's also possible to have MacroFab [https://macrofab.com/](https://macrofab.com/) manufacture these for you on demand, using the KiCad files: [http://git.gniibe.org/gitweb/?p=gnuk/gnuk.git](http://git.gniibe.org/gitweb/?p=gnuk/gnuk.git) The cost for a single unit is about $45, and it drops quickly to around $30 if you order a few.

<comment><USER11> Blast. I read this, it was in stock, I added to my cart...then the office lunch order showed up and I had to deal with the delivery for 5 minutes. Came back, out of stock. So sad.

<comment><USER10> If your goal was a small hardware RNG and you don't mind spending some time hacking, then I can save you some money.

Buy an ST103F development board ($1.72 shipped to US from China): [https://www.aliexpress.com/item/1pcs-STM32F103C8T6-ARM- STM32...](https://www.aliexpress.com/item/1pcs-STM32F103C8T6-ARM- STM32-Minimum-System-Development-Board-Module-raspberry-raspberri-pi-2-watch- nmd-diy/32786765274.html)

Also buy an STLink programmer for it ($1.98 shipped): [https://www.aliexpress.com/item/ST-Link-V2-Programming- Unit-...](https://www.aliexpress.com/item/ST-Link-V2-Programming-Unit-mini- STM8-STM32-Emulator-Downloader-M89-New/32636724482.html)

Build [https://github.com/texane/stlink/](https://github.com/texane/stlink/) or install OpenOCD.

Clone the NeuG repo and build for the Maple Mini target: [https://anonscm.debian.org/cgit/gnuk/gnuk/neug.git/](https://anonscm.debian.org/cgit/gnuk/gnuk/neug.git/)

Now flash neug.bin to the development board via the STLink, then unplug it and plug the board into your nearest micro-USB cable.

You now have a hardware RNG running the same NeuG software on the same processor family as the FST-01.

This board doesn't have enough program space to run GnuK, I think. Nor is it in the tiny form factor of the FST-01 that makes it more suitable as a hardware token.

</comment></comment></comment><comment><USER12> Hardware random number generators sound like a great idea (I've bought an Entropy Key, long ago), until you realize all the problems they intrinsically have (besides all that "you don't need them stuff"):

* software has /no/ random failures, hardware does

* hardware ages and breaks down, often in subtle ways

* a broken down randomness engine is very hard to detect, since all HWRNGs do some whitening: your randomness source can output 1's all the livelong day, when you only see the output of some stream cipher operation or some chained hashes, no statistic tests are going to save you

* probably many more things

Hm, I really should consolidate my notes into that long-planned HWRNG article someday.

</comment><comment><USER13> Or just grab some hotbits: [https://www.fourmilab.ch/hotbits/](https://www.fourmilab.ch/hotbits/)

</comment><comment><USER14> Don't we already have "true" random number generators embedded on most modern processors? I was under the impression most motherboards have some sensors strictly for this purpose--to read data from static or thermal sensors in order to add entropy to the pool.

<comment><USER15> Intel CPUs do indeed have a random number generator onboard: [https://en.wikipedia.org/wiki/RdRand](https://en.wikipedia.org/wiki/RdRand)

Probably the safest thing to do is to use a combination of this and other sources (multiple entropy sources), just in case there's an NSA backdoor or it's otherwise broken. Things like microphones, cameras, input devices, and other sensors are nearly ubiquitous now.

<comment><USER16> Is there any trick to combining entropy sources? Do you just add the numbers together, or is it something more involved, to make sure that you -- I don't know -- collapse entropy away in the combination, or something.

<comment><USER17> For cryptographic applications you generally just hash every input you have together with secure hash function.

Somewhat philosophical corollary to that is that when you have hash function that is secure enough for your application you can just build CSPRNG from it and use small (eg. 128 or 256 bit) seed and you have no need for hardware RNG.

<comment><USER7> Yes, modulo the fact that you want to update the CSPRNG with new entropy continuously to re-key it. Not to improve the cryptographic strength of the output or (for God's sake) to avoid "depletion", but to create forward secrecy. For instance: if the interval between reseedings is short enough, because updates are super cheap, you can make your RNG state churn too fast to be a useful target for something like Meltdown.

<comment><USER18> How does reseeding the CSPRNG create forward secrecy? I thought that if someone lifts your CSPRNG internal state (after it's been seeded and the seed tossed), they wouldn't be able to play it backwards to get previous output you've used as session keys or whatever.

<comment><USER7> I'm abusing the term, I know. But the idea is simple, right? Even a minuscule update to the kernel entropy pool makes a previously compromised state unusable. So you don't want your CSPRNG to just be a bit generator, like HMAC or CTR.

(Zvi Gutterman refers to the property I'm talking about as "backwards security", so my abuse of the term is particularly egregious).

<comment><USER18> Hah, I was really asking what you meant, not trying to chide you about about terminology. Makes sense, thanks.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> I like how they call it a 'true' RNG... unless it's got a cesium core and a Geiger counter mounted on the USB, I'd hardly call it 'true' :). At best, it's good enough.

<comment><USER12> Why do you think that radioactive decay is the only "true" noise source?

Shot noise, avalanche noise etc. are just as true. Even throwing a die would be in the same category.

<comment><USER19> Even the roll of a die could be called non-random, since the numbers that come up are actually the result of a number of forces acting together on the die, including the force of the rollers hand, gravity, air gusts, the surface they fall on, etc.

Same principle would apply to all the other methods you mentioned since there's always a definite seed value, regardless of how difficult it is for you or another observer to capture it.

All the approaches you listed would result in quality pseudo-random numbers, however, a genuine random number at the source has no apparent cause or series of events leading up to it. Cesium is one such source of genuine, uninspired and uninfluenced source of randomness. Cosmic radiation is probably another although that's probably a lot harder to capture.

Here's a more detailed explanation of why radiation from radioactive decay is bona fide random.

[https://www.symmetrymagazine.org/breaking/2009/03/30/real- ra...](https://www.symmetrymagazine.org/breaking/2009/03/30/real-random)

[https://engineering.mit.edu/engage/ask-an-engineer/can-a- com...](https://engineering.mit.edu/engage/ask-an-engineer/can-a-computer- generate-a-truly-random-number/)

The NeuG is best described as a high quality PRNG as are most others unless they truly capture some random, cosmic phenomena, like echoes from the big bang detectable as cosmic background radiation.. Allegedly nothing tops the big bang as a random number generator.

<comment><USER12> From your article: "So how does this lead to random numbers? Statistically, a cesium-137 atom has a fifty-fifty chance of decaying in 30.17 years. BUT, there is absolutely, positively no way to predict exactly when any individual atom will decay."

Still no difference to shot noise or avalanche noise. You have a statistic that says how many electrons you exppect to see, but no foundational knowledge which electron will be seen at what point in time.

I find your point of view very esoteric.

</comment></comment></comment></comment><comment><USER20> Why not just sample a noise diode, or thermal noise from a highly amplified resistor? Is the process of amplification (i.e. periodic power supply noise) enough to influence the randomness?

<comment><USER21> why do you think that's simpler than what they're doing?

you'd still have to feed that through something to get it into a PC. the STM32 is about the cheapest way of doing that. and it turns out it comes with some ADCs that are so noisy they're good sources of randomness themselves.

<comment><USER22> The cheapest way is to use good old soundcard, an opamp and passives. You could fit in $1 easily.

</comment></comment></comment><comment><USER23> Shoot some photographs (or video frames), make sure there are no duplicates, take hash functions of them, delete the images - and voila, you have the finest true random bits of data.

<comment><USER24> It's not that simple.

Some years ago I used an analog TV card tuned to an empty channel that was giving seemingly white noise and captured frames to generate entropy. I only used the least significant bit of each RGB value of each pixel.

When I supplied the bits to the diehard testsuite, it complained about a number of patterns and failing tests.

The hash function will of course save you, but it's hard to tell the amount of real randomness that's coming from the sensor.

update: Oh, I may have misunderstood. If the whole images changes in random ways and is secret, then of course this is fine.</comment></comment>


Goal for 2011: Do not learn another programming language - <AUTHOR> http://chopmode.wordpress.com/2011/01/14/goal-for-2011-do-not-learn-another-programming-language/

<comment><USER2> This reminds me of the old adage: "A jack of all trades is a master of none".

I totally agree that learning new programming languages is great, and can help someone get a lot of new concepts. It certainly is fantastic for learning to separate syntax from algorithms from styles of thought. However I have found that there is a point of diminishing returns.

There is only so much you can get from learning e.g. 5 different object models, at some point it is no longer new, just annoying and different.

This is doubly true and noticeable if your previous languages were all over the map -- say js, python, haskell, c, prolog and so on.

At some point, it becomes more useful to dive deep into other things. Are you a systems guy? Attack a kernel bug. Are you a network guy? Make a traffic classifier. (or want to learn them well...) Trying to learn a new language and a new problem is prohibitively expensive sometimes.

My general rule of thumb is: if there is nothing about the new language that excites me, find a different problem that does. If I have to learn that language I will, but I don't need to force it.

<comment><USER3> At some point in your programming career, you should learn an ALGOL-descendant (C, C++, C#, Java, etc), a Lisp-descendant (CL, Scheme, etc), A Prolog- descendant (Prolog itself, maybe SQL as a programming language), A Forth (better yet, read _Starting Forth_ by Leo Brodie and write your own), an ML- descendant (like Haskell) and an APL-descendant like J. Nearly every language leans heavily upon one of these foundations.

<comment><AUTHOR> Most of us are exposed to SQL during our careers, but I expect that few think of it as a programming language. Can you recommend any good resources in this area?

BTW where would you say that Erlang belongs in this picture?

</comment></comment></comment><comment><USER4> The author proves his own point by using C# as an example for a "boring and similar" language; he clearly doesn't know the language well enough if he truly believes that.

That being said, there are two reasons you would want to learn a programming language: to add it to your tool set or to learn the concepts behind it, either for personal gain or to apply those concepts in other languages. I really don't think I will ever use Common Lisp in a production environment, however learning the concepts in Common Lisp really influenced the way I code in, say for instance, JavaScript or C. There is no need for me to learn all the intricacies of Common Lisp in depth because I will never need that knowledge. However, you need to have a very good understanding of the tools you actually use every day.

In short, my advice is to keep learning new languages to discover new concepts but also keep learning more about the tools you use every day; they're equally important.

<comment><AUTHOR> Well, the term "boring" is of course very subjective. I'm certainly not claiming that I have nothing left to learn from C#, I'm just not very interested in it right now, for various reasons.

Other than that, I completely agree with your thoughts on this.

</comment></comment><comment><USER5> My compulsive frequent jumps to new programming languages have also settled down after learning Clojure, for pretty much the same reasons. I never really felt comfortable with any languages I've messed with, even as a novice programmer. I just feel so at home with Clojure and yet there is so much to learn and improve on that I should be busy with it for awhile. It really is a masterful blend of beauty and practicality.

<comment><USER6> I've had the same frequent jumps between programming languages, most have never really felt right. I always loved C, but C is very handicapped for a lot of things I have to do. Erlang was close, communication processes really felt right. I once come across a language called 'Alef' which I feel in love with. But sadly it was no longer in development. Lucky for me 'Alef' closest cousin 'Go' was released in late 2009 and I've been focusing on that ever since.

<comment><USER7> A nice thing about Go is that is a relatively small language, and you can grasp the whole language and have a chance of holding the whole thing in your head without going insane in the process.

And despite that, it has plenty of interesting and fun parts like the implicit-interfaces type system, etc.

</comment></comment></comment><comment><USER8> I have been struggling with this myself lately. For instance, at work, I have:

(1) Flask App (2) Django Apps (1) Ruby on rails app (1) Symfony / PHP app (1) Play framework java app (1) Perl Catalyst app

I wrote all these in the last two years or so, and just keep changing languages for no legitimate reason. I am sure things might improve if I focused on creating them all under one language, no matter what it may be.

I think part of the drive for many of us is, we don't want to be caught not knowing technology X. So we strive to learn, but that puts us into the jack of all category.

</comment><comment><USER9> I have worked with PHP, Javascript, Python and Java professionally while using Lua to mod my editor (first SciTe, now TextAdept)over the last four years.

I'm making a conscious effort focus on other aspects of programming now - algorithms, data structures, ai, etc... I think that studying these in addition to learning Python && Javascript && Lua indepth will be a better learning experience.

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


The dirty little secret about Google Android - <AUTHOR> http://www.zdnet.com/blog/btl/the-dirty-little-secret-about-google-android/38260

<comment><USER2> (disclaimer: I realise HN is full of people who really like their Android so I hope not to get downvoted just to give a different opinion.)

I think the problem with Android, which is behind what the author (a bit confusingly) presents as evidence, is its licence agreement. The iPhone did not improve the freedom for the user, but Apple had managed to distinguish between manufacturer and provider.

Basically the iPhone (and all the others that would have followed: WebOS, WP7, etc...) had put the manufacturer back in a position of strength: "Do you want to have a 'modern' mobile on your network? Then don't mess with it".

Once the Android came out though, and it got embraced by Motorola, HTC and Sony, the situation change completely. By far and large there is nothing unique to any Android phone. All manufacturers can access the same CPU, the same screens (actually here Samsung has a slight advantage), etc... This past year has shown the result: a fast dynamic hypercompetitive market.

Just like for the PC before, companies were left with only one real way to compete: price. And it's this that has suddenly put the providers back in the driving seat. Verizon can request specific changes (like not-erasable apps) and they either accept them, or they lose the massive subsidies.

I don't think Google did this with any bad intention. Indeed, and kind of ironically, it seems to me that the Nexus One was the second step of Google's strategy and was a complete failure _because of it_. Google found itself with no power over the mobile providers: as the article say Verizon waited for a similar speced phone to come out and quickly moved to sell that one instead.

Android is in a way so good, that now the mobile phone providers don't need to beg the manufacturers to come to them: they know they will always be able to have custom made Android phones, and Android phones are so good that they can survive without an iPhone or a Pre.

In the end I think Google tried to avoid having a new Windows (one OS with a massive market share). But they didn't realised that rather than giving the power to nobody (everyone competing) they gave it to the guys with the money: the providers.

</comment><comment><USER3> I don't know enough about mobile to say if everything is false here. But this article's internal logic doesn't hold together.

As a commenter "batpox" on that site notes, "Using the same logic, the dirty secret about Linux and Windows is that they let Acer, Dell, HP, etc. determine what hardware our OS runs on."

I think the article is trying to claim (in a roundabout, implicit way) that good phones are the ones which are so well-marketed, and so tightly controlled, that it gives the manufacturer leverage over the network carrier. In this article, other forms of leverage (like manufacturer alliances) are disparaged based on innuendo and hearsay.

In other words: the iPhone is the only good phone. Google is evil.

<comment><USER4> No first hand experience with Android, so I can't confirm any of its claims, but I think you're misreading the article. The problem isn't the different hardware, the problem is that the open OS allows the carriers to modify the OS (not the hardware) as they see fit. An analogy would be if you bought a Dell computer and it came loaded with "Dell Windows", which was basically just like Windows except that it had a lot of useless Dell apps that were a pain to remove. And as a result, the original Operating System is degraded and the compatibility is compromised.

<comment><USER3> > An analogy would be if you bought a Dell computer and it came loaded with > "Dell Windows", which was basically just like Windows except that it had a > lot of useless Dell apps that were a pain to remove.

But... that _is_ what happens today.

And at least you usually can remove that stuff easily. Or go to another, less- shady manufacturer. With the iPhone no amount of effort and expense will help, since they also control the entire competitive landscape. I'm not saying that's worse or better (if you like an Apple-managed platform, fine) but that doesn't mean that more open strategies have failed. Unless you can show that in practice, there are no good Android phones available.

<comment><USER5> Actually my understanding is that with Android you _can't_ remove the crap apps that are pre-installed.

[http://latimesblogs.latimes.com/technology/2010/07/android-j...](http://latimesblogs.latimes.com/technology/2010/07/android- junkware.html)

<comment><USER6> You can remove them... if you have root (or in case of newer Motorola phones, can flash custom firmware).

That's why having the ability to replace firmware is important - you do not depend on manufacturer support for newer versions AND they can not force their crap on you.

<comment><USER7> Right and doesn't roooting your phone void the warranty? If so, I have to root my HTC Evo, voiding its warranty to get rid of a NASCAR app I will never in my life use.

</comment></comment></comment></comment></comment></comment><comment><USER8> IMO I think "The dirty little secret about Google Android" is that it's not actually as open as people assume it is.

Yes, Android is more open than iOS but that's not really saying much.

The comparison I tend to make is ("< is less open"):

      iOS < Android < MeeGo/Moblin/Maemo

In a similar way to:

      Windows < OS X < Linux

For example, while OS X is based on an open platform (FreeBSD) it's got a whole pile of proprietary stuff on top which AFAIK is pretty much how Android operates also (in terms of core applications etc). Not only that but my understanding is that the Android kernel is so different from when it was forked that it is also no straight-forward task to port features (e.g. drivers) from it back to the mainline kernel. And AIUI Google has shown no great desire to anyway.

In comparison with Maemo (which I've had more familiarity with than Moblin/MeeGo but assume there's similarities) where Nokia (over time, admittedly) worked with upstream projects and companies to get a lot more of the system into existing open projects.

By way of example, "getting root" amounted to checking a box, installing a terminal and executing a shell command. All with warranty intact.

Getting root on a Nexus One requires voiding your hardware warranty.

Without root access you don't even get complete read-only access to your phone's filesystem. That's not open. Even with my proprietary PalmOS Treo 650 I could at least read every single file off the device if I wanted (well, there were some "no copy" settings for some apps but I'm not sure if the non- official tools obeyed them anyway). Particularly in this aspect Android is a huge step backwards.

Of course, the problem with MeeGo/Maemo/Moblin is that outside of the N900 you can't buy a phone with it--so its openness is somewhat of a moot point.

Okay, rant over for now. :)

</comment><comment><USER9> > Apple co-founder Steve Jobs said, "iPhone is the first phone where we > separated the carrier from the hardware. They worry about the network, while > we worry about the phone."

Wow, did he really say that? Here in Europe, many people buy their phones separately from their SIM cards, myself included.

<comment><USER2> Yeah, and my understanding is that sadly he was right too. As are you that in Europe things are very different: the author acknowledges that too. Basically my understanding is that Europe is so far from the USA that the iPhone did a first step (but wasn't quite there yet) and the Nexus One did the second one.

<comment><USER9> > he was right

No, he wasn't. Maybe he was if you qualify that with "in the US", but the US is not the center of the world.

<comment><USER2> While I completely agree with you (I am European) I think Apple is pretty US centric (as is Google). When Jobs said that the iPhone was only available in the USA, and most of its audience was probably american too.

So yeah, I think he was talking about the USA. He either didn't know about the rest of the world, or he didn't care about it.

<comment><USER9> Fair enough: from a marketing point of view what he said sure sounds a lot better than "this is the first phone _in the US_ that's not ...".

</comment></comment></comment></comment></comment><comment><USER10> This article has some incorrect facts.

"Members such as HTC have gone off and added lots of their own software and customizations to their Android devices without contributing any code back to the Alliance"

That's not true. HTC added sense UI on top of android. They are 100% allowed to do that. Android is licenced under the GPL, and HTC came along forked it, and added their own stuff to it, then released the source code (<http://developer.htc.com/>). The alliance is free to take whatever HTC does and merge it into the android core if they are so inclined.

I'm not buying that carriers and are gaining 100% control of the software. They are legally bound to release the source code. That would have never happened before the open software alliance and android, ergo, the OHA is not "in shambles", and is working as intended.

Carriers are free to charge for whatever services they want to provide. The market should take care of most of that. If sprint wants to charge $30 for tethering, but T-mobile will let you do it for free, then it's advantage T-mobile.

<comment><USER11> Android is licenced under Apache v2 (not GPL) <http://www.openhandsetalliance.com/android_faq.html>

<comment><USER10> I stand corrected. The net effect is the same however.

<comment><USER12> No, it isn't. Apache License has no virality. HTC Sense is not open-source (and is not even hinted at anywhere on the website you linked to claiming had the source).

</comment></comment></comment></comment><comment><USER4> iOS could be accused of bloatware as well. The fact that you're not allowed to remove the built-in apps is mystifying to me. I don't use Stocks because I don't own any stocks. The Contacts app is mostly redundant with that section of the Phone app. And I've never bought anything off the iTunes store from my phone. Why shouldn't I be able to free up the screen and disk space? Only a small handful of apps (e.g. Settings) need be protected in this way, the rest could just be offered free on the App Store for anyone who changed their mind.

<comment><USER2> Sure, my guess is that Apple hasn't done so simply because they haven't got the time/resources/patience. It's not like Apple is making _any_ money from something like Stock!

But if you remove it from the phone then those people who are using it are going to get pissed. So in order for the improvement to be seamless to the user, it needs first to move Stock to the App store, then to remove Stocks (and other apps) from the OS, and then finally redownload the application... all in one system update. Not hard for someone with the money of Apple, but hardly worth the trouble (for now, I imagine once the pace of development slows down things may change).

Edit: minor grammatical changes

<comment><USER4> If you would read a bit closer, my suggestion was simply that users be allowed to delete those apps if they so desire.

<comment><USER2> Ok. And what happens if they then want them again? Stuff from the store can be re-downloaded. Hence why I either Apple will change them into store app (in the way I described, for example), or they won't remove them.

I am not saying I agree with them... just a polite guess from their history.

(Edit: grammar and the last paragraph)

</comment></comment></comment></comment><comment><USER13> IMO Pushing contract-less smartphones into the market was a good move, but the market didn't seem to go for it in the US.

If Google really wanted to "capture" the market, they should come out with a no-contract sub $200 unlocked smartphone, and let the market decide if that is a better price point. $529 is too expensive for US consumers, when "free" phones are available.

<comment><USER14> To me, one of the problems with unsubsidized phones is that the lower price from the carrier is not obvious. Or at least, I'd always be wondering if I might be paying the same price as someone with a subsidized phone.

That being said, I did buy an iPhone before it was subsidized.

<comment><USER15> The real problem is a non-subsidized phone costs you more on most carriers than the subsidized version. Even if bringing your own phone gets you out of having to have a contract, you don't save anything in the process. You pay the same monthly fee as someone that got a "free" phone. So why give that up? It's a tough sell.

<comment><USER16> On T-Mobile you actually pay $20 less per month on every single individual plan if you're not in contract.

<comment><USER15> T-Mobile really seems to have turned their act around. I was with them for a long time but went to AT&T for the 3Gs (at the time being able to tether at a decent speed was worth it).

Now, I don't know. I'm on Verizon and Verizon's coverage was surprisingly good in places I've never had GSM coverage. I'm not sure if I could go back. I wish I could, though - I'd love to give them my support for things like that.

</comment></comment></comment></comment></comment><comment><USER17> Samsung Captivate here. Took 30 seconds to root it and another 10 seconds to remove the AT&T bloatware with Titanium Backup.

<comment><USER18> ...but should you have to root it to remove the bloat? On the Evo with Froyo, there isn't yet a root method available. Should those folks be out of luck?

I think the point of the article was that Android was created to allow the average consumer more control and choice over their device. While "enthusiasts" like us will always unlock features we want, I don't think you should have to hack into your device to gain this kind of control over it. If I spend 200-600 bucks on a smartphone, I want control over what software is installed on it.

<comment><USER19> So how does tethering on the iPhone under AT&T work out. Surely you just click a checkbox, correct?

<comment><USER20> Rooting most Android phones and jailbreaking an iPhone are about the same level of technical difficulty as far as a consumer is concerned.

<comment><USER19> Indeed. The post I responded to opined that you shouldn't have to root to unlock functionality of your phone, and this was relative to Android devices. Yet to tether your iphone you have to either root, or pay an extra $20 a month to AT&T on a non-"unlimited" data plan: Your device is limiting you on behalf of your carrier.

</comment></comment></comment></comment></comment><comment><USER21> Hmmm... I have an HTC Desire and it doesnt seem crippled or bloated with money greedy apps.

<comment><USER22> Praise my N1

<comment><USER23> Though it is still pre-loaded with the Amazon MP3 store.

We want it all ways. Take off everything we don't want, but don't dare to sell to us anything less than all of the packages we do want.

<comment><USER24> No... You can put all sorts of shit on there, but give me an easy way to install my own ROM, and don't put on impossible to uninstall apps.

</comment></comment></comment></comment><comment><USER3> What the hell is going on here? 24 upvotes? Either the HN community has turned completely stupid, or marketers are flooding the site and no admins are deleting their crap.

<comment><USER25> Such a declaration is worrying because I come here and generally trust the upvoted things, and as such, I've incentive to toss your declaration out as the biass and the spin. So, as though you were talking to someone who doesn't know enough about the smartphones to make an informed decison (me), please explain your position.

</comment></comment><comment><USER26> Seems awfully unfair to blame Google for what other members of the Open Handset Alliance are doing with Google's GPL code.

You either have open code and deal with people forking it, or you have closed code. It's tough have it both ways.

<comment><USER20> That's why I'm mostly fine with iOS being proprietary to Apple. Anyone reselling it would just make it worse by changing it.

<comment><USER25> Unless they made it better.

<comment><USER20> Recent history says that's unlikey

</comment></comment></comment></comment><comment><USER27> Verizon's open 700Mhz network hasn't materialized yet because they're busy rolling out LTE on it. It will be very interesting to see what the manufacturers do when they don't need carrier approval.

</comment><comment><USER28> I want to buy an Android phone, because I detest the iPhone's iTunes requirement, but I have two issues with Android:

1\. It doesn't look the same everywhere. Companies are modding the interface, and in my opinion, that is wrong. I should know what to expect, UI-wise, from an Android phone without even looking at the box.

2\. Updates depend on the company who makes the phone. In my opinion, when an update to Android becomes available, everyone should have access to it.

</comment><comment><USER11> Slightly overstated but I think the author has correctly identified a trend and it's one that we would do well to resist.

</comment><comment><USER19> While there are kernels of truth, this is a garbage article that has no place on a site like HN. The author is pandering to the iPhone fanbase where it will certainly see traction. Do a "news" search of it in the next 6 hours and you'll find it linked on every Mac and Apple site, and will almost certainly see linkage on Daring Fireball.

It's garbage. Utter claptrap garbage.

The author (a strong iPhone proponent, as an aside) is holding the iPhone as a model of openness (open from carrier control at least) which is absolutely _perverse_. The iPhone is very tightly controlled by Apple (they just finished patenting how they'll brick your rooted device), and Apple's control has a strong input from the carriers, where in the US your choice is limited to one.

Why can't you use facetime on 3G? Why can't you tether for free? Why can't you use Google Voice without essentially using a roundabout? and on, and on, and on.

<comment><USER29> I also get a hint of "open for me but not for thee" here: we're supposed to believe the Android's openness (which began as an asset) is now a liability because _carriers shouldn't be allowed to modify it_.

So who is to be the judge of who gets to modify Android? Google? Jason Hiner?

He also mischaracterizes a lot of the modifications that have happened to Android: sure, the uninstallable NASCAR app on the EVO was decidedly crapware, but to simply lump the Sense interface in with it is a deliberate mischaracterization. (Especially after many reviewers noted that they believed Sense _improved_ on stock on Android-- an opinion I don't share, but a debate worth having).

So my question is thus: does Jason Hiner think Google should rescind its open- source license for most of Android? Does he think that such a move would honestly be more "open" than it is now?

Because it certainly appears that he does.

<comment><USER30> They don't need to close the source, just figure out some way to indicate to buyers that if they buy an Android phone, they're guaranteed to have a certain experience.

<comment><USER31> Google does require certain things in order for it to get the Google branding. Currently this seems to be limited to including the core Google applications, but if google deems the rise of handset-specific frontends to be an issue perhaps they could expand the license requirements?

I, for one, don't see the proliferation of Motoblur/SamsungSense/HTC-Whatever to be a negative thing. It is an additional factor that consumers can use to differentiate between phones. One reason I own a DroidX is the great hardware, but another reason is I think the moto skin adds a lot in certain areas (it's calendar widget, for example).

In other words: let the market decide.

<comment><USER29> I'm sad to see that the market has apparently decided against Google's own offering. The prospects of a Google-controlled, Android reference phone available to all consumers on all networks was just plain nifty.

Having said that, I have several family members with HTC, "Sensified" Droid Incredibles, and it doesn't seem to be that bad. (Then again, there is no NASCAR app either...)

</comment></comment></comment></comment></comment><comment><USER32> Insanity Wolf says :

Buy straight jacket / wear it

translation

You bought your carrier branded phone because it was subsidised / suck it</comment>


Updated Zune software drivers hints at Zune Phone – istartedsomething - <AUTHOR> http://www.istartedsomething.com/20100127/updated-zune-software-drivers-hints-at-zune-phone/ <comment><USER2> It will be a huge hit, much like the Zune ;-)

</comment><comment><USER3> MS may want to make a phone but after the danger incident, I don't think anyone will let them.</comment>


Victims of the "madness industry" - <AUTHOR> http://www.newscientist.com/article/mg21028151.900-bipolar-kids-victims-of-the-madness-industry.html?page=1 The "madness industry" seems like a market segment begging to be disrupted.  Any takers? <comment><AUTHOR> Seems like a market segment begging to be disrupted. Anyone out there actively trying to do so?</comment>


Robot hand beats you at rock, paper, scissors 100% of the time - <AUTHOR> http://www.kurzweilai.net/robot-hand-beats-you-at-rock-paper-scissors-100-of-the-time

<comment><USER2> previous (not even a day old) discussion: <http://news.ycombinator.com/item?id=4163714>

</comment><comment><USER3> By cheating.</comment>


Women in tech largely unfazed by men's behavior - why-el http://www.sfgate.com/news/article/Women-in-tech-largely-unfazed-by-men-s-behavior-4815337.php

<comment><AUTHOR> Well the article itself says this but it's still worth saying in reply to the headline - of course a lot of women in tech won't be reacting to bad behavior. First, they have real job to do. Second, the person who gets fazed by this kind of behavior is showing weakness, looks shrill and like an outsider and so-forth. Third, these are the women in the industry who are used this kind of bad behavior. If they were fazed, they would have left and indeed arguably many do.

Anyway, is it women's job to fight bad, sexist behavior or is it everyone's job? I vote everyone.</comment>


Just finished a redesign of my news site, ShortFormBlog. Would love feedback. - <AUTHOR> http://shortformblog.com/?wptheme=shrtfrmblgnew

<comment><AUTHOR> Hi guys,

My name's Ernie Smith, and I run this site called ShortFormBlog. It's something of a big, broad side project I do on top of my full-time job at the Washington Post Express, but the basic idea is that I try to use design and humor to give you the heart of a story using brevity.

It covers a little of everything, but focuses mostly on news, politics and technology, with little regular features here and there.

I've been working on the site for nearly ten months. In that time, I've seen what works and what doesn't with the site's design. So, I've been working hard to make sure it evolves along with the nature of how it's read.

I had three set goals when I put together the redesign:

1\. Simplify the front page: I felt that reading the news blurbs on the front needed to be a simpler process, one that was uncluttered. I wanted the focus to be on the simple bites of information, not all the other stuff that comes with the territory. So I tried to get the furniture out of the way to emphasize content.

2\. Make the inside pages easier to navigate: When the site started, the focus was on the front page experience over that of the inside pages. Over time, it became clear that most people were visiting the site from individual links. So a huge goal was to make the site as easy to navigate from a retweeted link as the front page.

3\. Encourage exploration: There are a lot of posts on the site – at last count, nearly 4,500. That number is growing daily. I want to make the site something you can dig into and look around for a while.

I'd like to know four things: What you like, what you don't like, what's broken, and what's missing. Does something confuse you? Does something look really awesome? Can I expand on an idea further? Let me know. I want to make this site awesome. Any way I can help make it better, I'd like to.

For contrast, here's the site's current design: <http://shortformblog.com/?wptheme=shrtfrmblg>

Compare. Contrast. Try a few things. Let me know how to do this better. It's much appreciated.

</comment><comment><USER2> 1\. Over did the mega font size 2\. Post separators seem to detract a bit from the design, might be because the font size is HUGE 3\. menu font color sucks for contrast 4\. No idea what the site is about from the header

<comment><AUTHOR> 1\. That's the one thing that's not changing about the site. When I first made the site, the whole idea was to play with scale. There's big type and small type. The idea is to attack a topic with visuals and to limit the number of topics in front of you. I've stood my ground on this, and lots of people like the site anyway. Trust me, it works.

2\. Now you're just being a jerk. YC isn't a good place for this.

3\. It shouldn't contrast, because then it gets in the way and takes your focus off the content.

4\. Valid complaint. As the site's been around for a little while, I take that for granted. I'm a little link-heavy up top; I can change one of those to a description of what the site is about. I can also rework the title to add the slogan.

<comment><USER2> Not being a jerk, sorry if it came off that way, you asked for feedback so I gave it.

</comment></comment></comment><comment><USER3> I think the separators between posts need to be more pronounced. At first glance, it looks like it's all one big article and it's very visually jarring to look at it all at once.

<comment><AUTHOR> Just so I'm clear – are you suggesting that I put more white space in, or are you suggesting the color of the lines be darker?

And does the separator style on the original site bother you?

I'm trying to find a balance between function and silence regarding those. I don't want them to yell. My thought process partially came from the Facebook news feed, admittedly, and I feel like my lines are louder than those at the moment.

<comment><USER3> I don't know what would make it more clear without being too loud. I just know that at the moment, I have a hard time separating articles from each other.</comment></comment></comment>


Ask HN: Does it makes sense to manage users like this? - <AUTHOR>

There are rules in place in HN that will give you a period of time as a new user when your username is green and people can see your posts. Then either manually or automatically after some time, your username becomes black, and this can mean one of two things:
1. You are an active user pass the trial period and people can see your posts.
2. Only you can see your posts.
Instead of this, why not just keep the user from posting? All I have to do to get another user is to delete the news.ycombinator.com user cookie and create another user. You could block by IP, but we all know that causes problems. Is this a commonly used way to manage users, by making their comments totally invisible to others? Why can't this community be more open?
Also, why show the up arrow by each post if it doesn't do anything as a newbie/ghost user? <comment><USER2> I'mno expert, and I have no inside knowledge, but as far as I know, new users can upvote things, and their posts are visible to everyone.

On the other hand, if you've attracted enough flags on submissions and/or downvotes on comments then you can be slow-banned, or hell-banned. Being hell- banned means that everything looks fine to you, but no one else can see or be affected by your actions.

This has been discussed many, many times - search for the terms. If you think you have been treated unfairly then email pg and ask to be reinstated. Again, search for contact details, and search for advice on how to get a response from a busy person.

In response to why hell-banning is used, if someone is a troll then it's better not to tip them off that you know they're a troll. Hell-banning is the best way to do that. There are occasional false positives - I've been caught - and they get sorted quickly by an appropriate email.

If you tell us the username you think as unable to votes and/or unable to post then perhaps we could look at previous submissions and/or comments and offer advice.

Finally, the guidelines specifically say not to post questions like this here. You might want to read them.</comment>


I Tried VR Porn, and It Was Weird - <AUTHOR> http://kotaku.com/i-tried-vr-porn-and-it-was-weird-1689987385 <comment> FLUX-YOU >If nothing else, it will help you hide your porn better, seeing as it will be strapped to your face.

Well, they might not be able to see your porn, but you'll still leak metadata while watching it.

<comment><USER2> > leak metadata

Is that a euphemism for failing to discreetly watch VR porn on the train because back in reality you're sporting a raging boner?

<comment><USER3> There might be a more obvious euphemism there

</comment></comment></comment><comment><USER4> I've tried this. I concur with not so much the author but "the friend" of the author -- you definitely will have a real sense of intimacy with the actor, especially if they make eye contact and smile warmly at the VR camera, as if they are really happy to be there with you.

And what's particularly interesting is that afterwards, you can really remember the whole thing. It's like it really happened and the memory is even an enjoyable one if the acting vibes were good.

What I think would be fun and wish I could try with my girlfriend would be for her to take the part of the actress and do what she does while I lied back and watched the HMD. I even volunteered for her to wear the HMD (there are videos with female POV), and >I< would do what the guy does. From what I've read you can develop an incredible sense of presence with such fun and games.

No luck, of course. She just laughed and thought I was cray cray.

</comment><comment><USER5> I think many people will suffer from this invention. Our brain did not evolve to be in an environment with access to so much sexual stimulation, people are already becoming addicted to porn and rewiring their brains to only be turned on by pixels on a screen. This results in erectile dysfunction when they actually try to have sex and decreased energy and motivation in their lives. Just look at some of the stories on the pornfree and noFap subreddits to see what kind of problems porn can cause.

Personally I'd hope to try VR Porn once or twice in my life, further than I can't see the value in it. I believe that sexual energy is a finite resource that should be spent wisely on people you love, not in cold virtual realities.

</comment><comment><USER6> Next keynote by Carmack might be on accidentally solving the Fermi paradox.

<comment><USER7> Sometimes I look at app game markets and think, "Wow, humanity is burning a lot of cycles on perfecting distraction... that doesn't seem safe."

Usually I just load up HN or Total War to forget about it...

<comment><USER8> We'll be left with people who preferred 'RL' experience over 'VR'.

They will be the ones who reproduce, while the rest of humanity are trapped by 'VR'.

<comment><USER9> Do you guys think people had this same conversation when pornographic films were first created?

<comment><USER10> Those who cannot remember the past are condemned to repeat it. I'm not even sure whether that part of history is recorded.

</comment></comment></comment></comment></comment><comment><USER11> I can't help to be reminded of the "Don't date robots" PSA video from Futurama.

[https://vimeo.com/12915013](https://vimeo.com/12915013)

</comment><comment> super-serial Where's that guy with anxiety from yesterday? Strap this to his head and put him in extremely awkward situations of close personal contact. Have the app give instructions on strategies for dealing with anxiety so he can try those things out.

Someone should make that... I'm not into VR yet and have too many other projects or I would.

<comment><USER12> This is indeed an area of research, you're not unique in seeing this use (sorry! :D)

I am agoraphobic and am aware of, though have not participated in, virtual reality assisted exposure therapy programs for agoraphobics. It's early days, but there's people working on it.

It's particularly exciting for agoraphobia and certain other anxiety issues which respond very well to exposure, but exposure is expensive and difficult to do and takes a lot of work on behalf of the patient and practitioner, whereas VR obviously makes things easier if you can make it work as well.

</comment></comment><comment><USER13> The layout that allows comments by paragraph is really interesting, first time I've seen that.

<comment><USER14> I guess you have never read a Medium article?

</comment></comment><comment><USER15> If the experience is so real, will it be possible to fall in love with the VR characters ?

The shit future generations will have to deal with is amazingly complicated, at least that's one of the good parts of getting old(er) and old-school-ish.

<comment><USER16> The question is not "Can it happen?" The question is "How widespread will it be?" A small percentage of people have already demonstrated falling in love with dating sims, realdolls and anime characters to the point of taking their "waifus" out on physical dates and couples vacations.

My experience in mass-market products has taught me that when you reach a very large number of people, you are going to affect a small number of them much more strongly than you would have ever imagined. When VR goes mass market, it will be a positive force for a huge number of people and a negative one for hopefully a much smaller number. Like cars vs car crashes, we'll have to weigh the benefits based on statistics rather than possibilities.

</comment></comment><comment><USER17> after legalizing gay marriage/sex, the next big hurdle will be the legality of robosexuals

<comment><USER18> "If anyone asks, you're my debugger." ;-)

</comment></comment><comment><USER19> OT but what's up with all the references?

</comment><comment><USER14> >New York Times, 2032: waifu's rights organization want new laws regarding piracy of their members

</comment><comment><USER20> Maybe if the author wasn't such a prude, this would have been more enjoyable to read.

<comment><USER20> Downvote me you prudes. Hell ban me for all I care about this wretched site.</comment></comment>


300 actions a minute? Truly mastering StarCraft - <AUTHOR> http://arstechnica.com/gaming/news/2010/07/excellence-of-execution-video-of-starcraft-mastery.ars <comment><USER2> > According to this video, you need to be over 300 APM to be competitive.

> That means in 60 seconds, you need to accomplish over 300 things.

These are totally different. Although a pro SC player accomplishes a lot more than a beginner, I'm pretty sure there's no one out there that's actually doing 300 different things a minute - they are just pressing buttons 300 times. Most of it is switching between hotkeys to check if units are complete, ordering units to slightly different positions, etc. There's a lot of spamming going on too (like mashing the first hotkey for no good reason) to keep the APM rate high.

<comment><USER3> Nope. I think the article understates this but there is a difference between APM and EAPM. eAPM (Effective APM) is probably what he was getting at.

Semi-pros can have APMs of 200-700, with 70% of their actions being actions like spamming multiple right clicks. So their EAPM may be from 60-210 only, most in the bottom range.

Real pros have 60% or more of their clicks as unit/selection group selection, etc so they're a lot more useful.

In battles, some pros even peak up to 500-600 APM. So that may be an EAPM of 300-360 or more.

There's a vast level of skill difference between the top pros and semi-pros.

<comment><USER4> There's an American warcraft3 player who does around 120apm(as I recall) called Axslav and he was quite good, not a top pro but good enough to beat other pros with good strategy.

On the side note you can actually see how pros are micro-ing by spamming ctrl-c (at a good apm) when watching replays, it centralises the screen on what the player is currently selecting and can be fascinating to watch.

</comment></comment></comment><comment><AUTHOR> What I'd like to know is how these guys avoid suffering from repetitive strain injuries (RSI)? Or do they just play through the pain? Or maybe they drop like flies from the competitive gaming world after a few years because their bodies can't take it anymore?

My hands hurt just looking at that video...

<comment><USER5> I'm curious too. One thing that strikes me as unusual (and perhaps others can lend some sort of insight here) is that I have been working with PCs on a daily basis, often for excessive lengths of time (12-16 hours a day or more) for about 24 years now.

At no time during any of these years have I ever encountered symptoms of RSI, or required any special breaks. I have terrible posture and I don't go to any lengths to protect myself against RSI, either. I've wondered if perhaps moving in a more digitally-inclined direction has somehow led to us being more conditioned to deal with these repetitive movements, or if I'm just lucky (or, more scary to think about, destined for some sort of horrible crippling onset of RSI at some point soon)?

<comment><USER6> I'm much the same. I always figured it was one of those things where when you've always used your body to do certain things from an early age, it's so well adapted that the action is no signficant burden at all.

Most people can walk a very long way without becoming too tired, even if they could only run or cycle a short distance. Their threshold for that kind of activity is low enough that walking just doesn't tax them.

Personally, I have a limit on how many push-ups or crunches I can do in a set: with training over the years, the numbers have gone up, but I always start to feel it after a while and eventually I have to stop. However, I know people who can outlast a bleep tape and still be doing crunches with correct form and only a little tiredness. It's so easy for them that there is negligible cumulative fatigue.

Personally, I've been using computers since I was small, and I also play a musical instrument and play sports that involve a lot of arm/wrist/hand movements. I've never adopted the kind of "bad habits" that many people of my generation who only started typing lots as adults have: I've just always kept my hands relaxed, wrists aligned, etc. because using my hands and fingers efficiently comes naturally to me. Maybe we're both just lucky, but I suspect we also have bodies that have adapted to this particular kind of task from an early age and we've never got into the kinds of bad habits that tend to exacerbate any natural predisposition to RSI. Which is still lucky in a way, I suppose.

<comment><AUTHOR> Exercising is probably what helps you. Most RSI sufferers don't exercise enough (myself included).

I don't think it has to do with habit; a lot of RSI sufferers, myself included, started using computers very young. Humans have evolved to walk long distances, but we haven't evolved to sit all day holding our arms in front of us in a relatively static position, doing repetitive wrist and hand movements. If on top of that you don't exercise, have weak muscles overall and bad blood flow... Well, that's asking for trouble.

</comment></comment></comment></comment><comment><USER7> By the way, the second player we see is MooN.. many says he's the best player of war3 of all time since he's been at the top scene for so much time.

And it's true that in warcraft3, APM is less important than starcraft since you have less "things" to do, but the thing you actually focus on are way more important.

And by the way, 300 apm is an exageration.. usually it's around 250+ and again, this is not always necessary. For instance, in the first 30-45 seconds of the game, you could actually use only 30 apm or so.. however, spamming (mass clicking) helps some players to focus and be ready for when the game "really" start.

<comment><USER8> >>300 apm is an exageration.. usually it's around 250+

Actually all top Terran players(Flash, Ruby, Fantasy) have around 400 APM. The other 2 races are not so micro intensive, but still 300 is not good enough to win a big torney.

<comment><USER9> I hear that Baby's peaks are about 500-600 APM

</comment></comment></comment><comment><AUTHOR> For those who would like to see some high-level games of Starcraft 2 with commentary, check out these Youtube channels:

<http://www.youtube.com/user/HDstarcraft>

<http://www.youtube.com/user/Huskystarcraft>

It's surprisingly entertaining if you are familiar with the game, and almost all videos are available in 1080p.

<comment><USER10> If you want some actual insight and analysis, Day[9]'s the way to go: <http://day9tv.blip.tv/>

<comment><AUTHOR> Yes, I should probably have added that link. But if you are a newbie to Starcraft, you should probably start with HDsc and Husky to get familiar with the game. They're more like sports commentators, while Day[9] is more like a chess teacher.

<comment><USER11> Actually I think the other way around that you should watch Day9 if you're new as he explains everything better.

<comment><AUTHOR> I can see how that makes sense. I guess it depends on your type of personality and what will hook you more. It's the difference between listening to a song and looking at the sheet music and trying to understand how it works.

Some people might like one more than the other in the beginning, and I assumed that most people would probably like to simply listen to the song before diving in the mechanics. But maybe that's wrong with this crowd.

</comment></comment></comment></comment></comment><comment><USER12> I wish there was something like StarCraft, but where you can actually focus on _command_. A real general wouldn't be ordering individual units around, and it's silly that most strategy games implement things at that level.

You should just be able to give high-level commands like "build a base there", "focus on Air-to-Ground development" etc.

<comment><USER13> Civilization?

<comment><USER12> It's a strategy game, but it's not in the "compete with someone for 20-60 mins" followed by the game being reset category.

</comment></comment></comment><comment><USER14> If I weren't addicted to Starcraft myself, I would be linking to the "How to lose time and money" discussion.

Maybe it's more relevant for me because I'm addicted and not competitive.

</comment><comment><USER15> For typists, 60 words per minute is about 60x6=360 key presses per minute (6 = ave word length of 5 + a space).

Watch a guitarist's or pianist's fingers, and it's quite amazing how fast the movements are (even or especially when the fingers are your own). Writing with a pen requires surprisingly rapid movements. It can be quite hard to even follow them - the hand really is quicker than the eye. We have amazing engineering.

</comment><comment><USER16> APM is not that important. It is just the age old problem that a measurable factor will tend to overshadow other factors that are not as easily measurable.

What is much much more important for the game of Starcraft is split second decision making ability to micro and macro, overall awareness, having a large number of possible strategies and unit interactions stored in your mind and ready for instant recall, etc., none of which are really measurable.

A player that has less APM can be much better at micromanaging his/her units than a player with larger APM. The less APM player can just make sure that all those clicks and button presses count more.

Blizzard decided to measure current APM and give you a real time readout for Starcraft 2 which very predictably resulted in a lot of spamming, i.e., players meaninglessly cliking their mouse and pressing buttons in order to raise their APM and to convince anyone watching them that they are really really good.

</comment><comment><USER8> Pro games from Korea:

<http://www.youtube.com/user/jon747#g/u>

<http://www.youtube.com/user/nevake#g/u>

For first person view search for videos with FPVOD in the name.

<comment><USER9> Those will be meaningless for anyone who hasn't watched a lot of pro Starcraft already. It took me six months before I felt comfortable watching games without english commentary.

I'd suggest starting with the Gom TV tournaments, which have commentary geared towards those new to Korean Starcraft:

<http://www.gomtv.net/classics3/vod/>

After that, I'd suggest violetak, which does pretty good sports-style commentary, or Day9, who does really in-depth analysis (although he's starting to focus almost exclusively on SC2).

violetak: <http://www.youtube.com/user/VioleTAK>

Day9: [http://www.teamliquid.net/forum/viewmessage.php?topic_id=104...](http://www.teamliquid.net/forum/viewmessage.php?topic_id=104154)

</comment></comment><comment><USER17> I have played SC, WC3 and the SC2 Beta and I love them all, but I feel as though they need to implement a more complex macro system to allow for advanced players to not need APM's this high. For me personally, it is just too tiring (physically) to attempt to consistently play 100+ APM games.

</comment><comment><USER18> Anyone else sees this as an opportunity to design a better high-performance gaming UI?

<comment><USER19> The current UI is very well designed for SC2, the video highlights what it takes to play in perhaps the top 1%

</comment></comment><comment><USER20> Heh, it seems a lot of Starcraft enthusiasts are lurking around HN. Last time I've been on /r/starcraft's IRC channel half of the people where programmers (no not progamers). Coincidence, you tell me! :)

</comment><comment><USER21> Compare this to the number of notes a decent jazz pianist plays. Then compare the number of hours required to really master either craft.

(Jazz because jazz is generally extemporaneous, like gaming)

</comment><comment><USER22> I want to enjoy SC2, but stuff like this makes me worry I'll have to devote my life and become a maniac to be good enough to even have fun.

<comment><USER23> It is unnecessary to work that hard at it to enjoy it. SC2 matches you against players of equivalent skill level. It may be an ego bruise to be in the bronze level instead of platinum or diamond, but you can still have fun with it.

/silver level, APM 65

</comment></comment><comment><USER24> <http://www.youtube.com/watch?v=Ijf6RysNq9I#t=36m37s> <http://www.youtube.com/watch?v=Ijf6RysNq9I#t=39m05s> Looks like he's been playing hockey or something, not a computer game.

</comment><comment><USER25> You may notice that the player repeatedly strikes the same key in quick succession. Usually this is what some call "Spam" and count as actual actions for this metric but are not discrete actions that affect gameplay.

<comment><USER26> A friend of mine started getting involved in the competitive Starcraft scene, and I noticed this tendency while watching him play. I think that any given player's APM is non-trivially influenced by the numerical "pissing contest" effect; every time I see a video like this it makes me want to see someone get really skilled while maintaining a reasonable APM and mop the floor with everyone else, just to show that it's a silly measurement.

EDIT: Full disclosure; I have played Starcraft since it came out in 1996, I possess a so-called "reasonable APM," and my spamming friend with an APM in the triple-digits could wreck me probably without even looking at the screen. I will never forget watching my entire fully-upgraded army somehow crumble impotently against a small, carefully-controlled contingent of foot soldiers at the perimeter of his base.

"ur micro is terrible dude, lol"

When did I hit the button that turned my guys into _papier-mâché_?!

<comment><USER27> I felt this way until I tried it. The rationalization, which I agree with as well, is that spamming in the early game and keeping up a steady rhythm "warms you up" in a way that makes it easier to maintain that speed when you really need it for micro-intensive portions of the game. So I don't believe it's really a pissing contest for very many players. (Although it's a poor metric.)

Also worth considering is that high APM is an unnatural requirement imposed by some limitations particular to SC:BW -- no automining, huge armies but a control group size limit, queued units consume minerals immediately (thus queueing is suboptimal.) In other RTSes without limitations like this, it's much more practical to have a lower APM. For example, in WC3, which has less units on the field at once and less base management, some players have been successful at a near-pro level with only around 60 APM. In SC2, with automining and large control groups, it seems like the best current players are frequently only between 100-150.

<comment><USER11> Note that it's 100-150 apm on SC2's fast setting even though you're actually playing at faster, so the apm is actually higher.

<comment><USER27> I forgot about that, thank you.

</comment></comment></comment></comment></comment><comment><USER28> I had programmed an APM counter for the SC2Beta that either:

A)autoreports your APM every 10 seconds, or

B)warns you when your APM is below a user defined threshold

let me know if there is any interest and I'll release it (windows only atm).

</comment><comment><USER29> For Dota/Heroes of Newerth an apm of 100 is plenty enough!

<comment><USER30> You just compared a one unit game to an entire army.

<comment><USER29> And explained part of the reason why I prefer the one unit game, because to be a pro it doesn't require you to be a total freak.

<comment><USER30> Where did you point out that you prefer the one unit game?

Essentially everything you put in this second comment is absent from the first- it's in your head, but not anyone else's until you say it. Anyone who knows what Dota is will know why it only needs 100 apm, but to anyone who doesn't? It's disingenuous. Your value judgment of 300 apm was completely absent, as was your reason for your (again, unmentioned) preference.

It's not even clear how you prefer the one unit game- to play, or to watch? They both merit claim as a spectator sport. Is your preference complete, partial, or completely uninspected? Not everyone thinks like you (snark: thankfully), so please do us some favors and try not to leave all your relevant assumptions outside of the conversation.

<comment><USER29> You really are a nice guy.

Seriously, go pick your Internet fights somewhere else.

<comment><USER30> Care to point out the fight? I'm not seeing it.

</comment></comment></comment></comment></comment></comment><comment><USER31> And I get wrist pain from doing C-x b a hundred times per day!

</comment><comment><USER32> mtw DaviN used to have like 90 apm and that was enough to school great players like Zacard.

Sure, that was Warcraft 3, but apm isn't everything, it's what you do with it.

<comment><USER33> DaviN doesn't "school" Zacard. Even relatively low apm pros like grubby and tod played with 200+ apm, and grubby's apm has gone up recently.

I can play with 90 apm, and let me tell you I do lots of stuff late and some not at all. 90 apm is not at all competitive with pros (though you could still win sometimes if something big goes your way, e.g. unscouted expansion and some good creep steals).

<comment><USER32> Learn your facts sir, what he did at EPS was schooling.

</comment></comment></comment><comment><USER34> This is why I like simple turn based games like Wesnoth.

</comment><comment><USER8> BTW Starcraft 2 beta phase 2 just started in US.

</comment><comment><USER35> The importance of APM always struck me as evidence of misguided design in Starcraft/Starcraft II. It takes emphasis off the parts I find fun (the strategy), and puts it on the parts of the game that aren't interesting at all: micromanagement of units is just drudgery.

To increase the strategy and reduce the drudgery, you could either implement APM restrictions directly on the player (drop clicks, etc. -- very annoying) or you could design units to be maximally effective by default, without micromanagement.

<comment><USER36> Actually, that's the nice thing with SC2. First, APM apparently has gone down with SC2 because a lot of the drudgery is being taken care of. Most of the APM is spent on macro and micro that makes a real difference. Micro is an important element of the game. Watch some good games on YouTube, and you can see how players will micro certain units in a controlled movement (Move/Shoot/Move/Shoot), or splitting different units up rather than just blindly moving them forward in a single mass.

That being said, the second part is really where the new Battle.Net and SC2 design shines. I'm not a pro-player by any stretch of the imagination. However, SC2 makes playing online fun. The majority of the games I play are intense, even though I'm hitting only about 40 APM. The match making system is excellent, and so each game I'm playing against people who are usually at my skill level.

So rather than change the game, they worked hard at good match making, and they succeeded.

</comment></comment><comment><USER37> Simply put. the most useful article on hacker news...ever. I bow in envy to the 300+ apm people.</comment>


The Pentametron: Mining Twitter for unintentional lines of iambic pentameter - <AUTHOR> http://pentametron.com/

<comment><USER2> I'd love to know what dictionary this uses to look up pronunciations. Is it the CMU wordlist, or is there a better one that's freely available?

<comment><USER3> It is indeed the CMU wordlist.</comment></comment>