We Used Broadband Data We Shouldn't Have - <AUTHOR> https://fivethirtyeight.com/features/we-used-broadband-data-we-shouldnt-have-heres-what-went-wrong/ <comment><USER2> Nice to see they're being so transparent about setting the record straight. Mistakes like this happen in the journalism business, but few outlets make a serious effort correct misreporting beyond burying corrections where nobody sees them.

<comment><USER3> Overall they do such a good job of that. They seem to really value self- improvement and reflection. Its part of what keeps me as a regular reader. One editor even does a yearly public review of the work he did that year, what he did wrong, and how he plans on improving it.

[https://fivethirtyeight.com/tag/mea- culpa/](https://fivethirtyeight.com/tag/mea-culpa/)

<comment><USER4> Harry Enten is probably my favorite personality of FiveThirtyEight, mainly because of the amount of humility he has despite the fact that he's _very_ good at his job from what I can tell.

</comment></comment></comment><comment><USER5> Unfortunately they don't discuss two of the biggest disparities I've seen in reporting on broadband internet access:

1) How do they define "Access"? Does it mean actual subscriptions? Does it mean the building/home is connected? Or does it mean a line passes the household, but there's actually no way to connect to it? (Look up New York City's lawsuit against Verizon's FIOS rollout.)

2) How do they define "Broadband"? In 2010 the FCC defined it as 4 Mbit/s down, 1 Mbit/s up. In 2015 they redefined it as 25 Mbit/s down, 3 Mbit/s up. Currently I have 50Mbit/s down and 1Mbit/s up which Comcast absolutely defines as "Broadband", but it doesn't meet the FCC definition.

<comment><USER6> >In 2015 they redefined it as 25 Mbit/s down, 3 Mbit/s up.

How can that be? That's the same time we achieved net neutrality. That's not net neutral. That's fast lane on download, slow lane on upload. Asymmetric bandwidth is a prime reason why we all can't host our own clouds and social networks.

<comment><USER7> I have never seen anyone define net neutrality as including symmetric bandwidth. I am also skeptical that lack up upload bandwidth has much to do with the lack of success for self-hosted social networks.

<comment><USER8> I've heard two theories about capped upload bandwith: making possible to upsell premium hosting services and P2P damage control.

<comment><USER7> I think the simplest explanation is that the transport uses a fixed allocation of bandwidth between upstream and downstream flows, and they've chosen an allocation that matches typical workloads. It looks like full-duplex DOCSIS (data-over-coax protocol) was just announced last year:

[https://en.wikipedia.org/wiki/DOCSIS](https://en.wikipedia.org/wiki/DOCSIS)

<comment><USER9> That's begging the question. The up/down ratios they choose determine what workloads are possible/typical. More upstream means there would be other workflows enabled.

<comment><USER10> > That's begging the question. The up/down ratios they choose determine what > workloads are possible/typical. More upstream means there would be other > workflows enabled.

Not really, because the options exist at different tiers. If you have 5/1, 10/3, 25/5, and 100/20 as options, and you notice that people choose 10/3 and saturate their download but only use a third of their upload capacity, then turning that into a symmetric system would result in them having to pay _more_ for the same usage.

On the other hand, if you noticed that people were choosing the 100/20 but only peaking at 15 down and 15 up, then yes, it would be clear that customers would prefer a symmetric system.

As it stands, P2P is a pretty rare use case for residential broadband, even when the capacity exists. Access to symmetric speeds is unlikely to increase P2P usage, because those aren't the main blockers.

<comment><USER8> _Not really, because the options exist at different tiers._

There are not so many options where I live, none in practice.

Anyway, those tiers are, after all, commercial options. Is the cost for providers really different? If there isn't a substantial difference, then the upsell theory stands.

If people doesn't want upload, why do they throttle it? It would be a nice selling point: you offer a plus that looks nice and costs you nothing.

 _Access to symmetric speeds is unlikely to increase P2P usage, because those aren 't the main blockers._

That's backwards. What they're supposedly doing is _discouraging_ usage. There is more usage than wanted (no matter if it's not common) so measures are put in place to shrink it even more.

The measure does not affect most users so they can get away with it: "only those few freeloaders want more".

Edit -> also consider this: upload limitation in P2P isn't obviously negative. You still can download at max speed so you could think the limitation as a bad thing _for others_. You need to think for a while to understand why it's also bad for you.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> So if I'm reading this right, there are three data sources here:

1) US Census, which is based on surveying households "do you have broadband, Y/N"

2) FCC data, which is based on ISPs self-reporting (In a footnote the article says they're using Pai's new slower definition of broadband, 10Mbps, not the 2015 definition of 25Mbps.)

3) ASU/Iowa, which depends on a derived variable in commercially-purchased data which "denotes interest in 'high tech' products and/or services [including] personal computers and internet service providers" as a proxy for broadband ownership

...and the first two roughly match each other, while the third doesn't. The academics claim the company that sold them the data told them it was a reasonable proxy for broadband, the company says they didn't say that.

</comment><comment><USER12> I just wanted to comment that I think this is brilliant and the kind of analysis and general skeptical of data we should see more of.

Just for context,of its not obvious, I work with data. Both putting it together and analyzing it. And one of my chief frustrations with academia (and biggest lessons to people I advise) is a kind of "cultural reverence for the data set".

Just because data is collected, in no way does that assure that's it's right or suitable, even if the valuable name says it is.

Be skeptics. Private suppliers have incentive to sell you data. Private industries have incentives to keep data from you (it constitutes competitive advantage). Government data has political interference on what is collected, even if you're lucky enough to live in a world where the actual collection is independent and rigorous. Reporters and responses to surveys and interviews may be innacurate even when people thought they were being honest, and on socially contentious topics they usually don't have that.

And even if you managed to avoid all that, it doesn't mean your data isn't problematic. Our census in my country, for example, is done in the winter time. How good is that at tracking information in seasonal towns?

Proper data collection is some of the hardest work you can do, and proper analysis comes from measuring, corroborating, justifying, hypothesising on the data you have. It does not involve just calculating a stat or, god forbid, just testing things for statistical significance just because it's on your data set.

For all those reasons, I highly commend this article. We need more of it.

</comment><comment><USER13> I'm really confused by this : surely if you want to make a data set that has Internet speed binned by county surely the way to do that is as follows:

1\. Go to a large Internet services provider (Amazon, Google, Akamai, Netflix).

2\. Ask them to statistically sample the TCP flow rate observed in client traffic, by source IP address.

3\. Get a data set that geolocates IP addresses to ZIP code (Amazon for example has this data).

4\. Join the two.

<comment><USER14> How many people are represented by a single IP address? How do you deal with changing IP addresses (most residential ISPs assign dynamic addresses)? How do you distinguish between residential and commercial traffic? How do you deal with cellular devices (for which GeoIP data is much less accurate)? How do you account for people who don't use the service you got the data from? (Netflix in particular has a limited subscriber base, but all the providers would exclude, say, elderly folks who do nothing but email).

Getting good data at nationwide scale is never as easy as it sounds in your head, unfortunately.

<comment><USER13> All good questions:

1\. Typically a single IP address represents a single connection. Yes there are providers who NAT multiple subscribers onto one IP but they are rare (because if they do that then they have to maintain NAT logs in order to identify criminal subscribers to law enforcement -- easier to just have 1:1 IP to subscriber).

2\. Residential addresses are in fact not really dynamic. Yes they can change from time to time but for the most part they don't (see #1).

3\. Cellular traffic can be identified because the cell carriers use specific identifiable netblocks.

4\. It doesn't matter if not everyone uses the sampling service because that's the point of sampling.

</comment></comment></comment><comment><USER15> Responsible adults; I approve.

Notice we applaud the careful report on a research report in exactly the same way we applaud the post-outage report.

</comment><comment><USER16> Personally - there is something that I would like:

A monitor of exactly how much traffic is used by ads vs content.

So if I load a page, and say that page is just an article with text. What % of the content is the bandwidth-consumption I am interested vs the ads surrounding it?

The reason why this number is important is Mobile.

So a user signs up for "3 gigs of data" \- how much of that 3 gigs is consumed by ads and shit they dont want/need?

Actually - it would be good to have a standard on reporting for any given page "this page weighs in at 50KB for content and 500KB for ads..."

Does this exist?

<comment><USER17> Large providers do scrape this kind of information, but I'm not sure anyone discloses it.

</comment></comment><comment><USER17> I don't recall which FCC action it was last year, but as I recall, the large providers are no longer required to at least show they attempted to offer broadband to all households.

Previously they had to show state and fed gov't this info. Now they get to concentrate on providing access to the most profitable while ignoring the less profitable.

</comment><comment><USER18> Kudos to FiveThirtyEight on being transparent and analyzing what happened. But also...this was a series of mistakes, some of them pretty scary.

FiveThirtyEight's biggest mistake seems to be trusting an academic dataset when they had no idea how it was collected. This is understandable, especially when the data was published on the Arizona State University's Center for Policy Informatics data portal. (You can go there right now and download the bad data - scroll to CATALIST DATA here [https://policyinformatics.asu.edu/broadband-data- portal/data...](https://policyinformatics.asu.edu/broadband-data- portal/dataaccess/countydata)) A university should be a trusted source. But FiveThirtyEight took an unbelievable outlier from this dataset and wrote an entire post about it ([https://fivethirtyeight.com/features/lots-of-people-in- citie...](https://fivethirtyeight.com/features/lots-of-people-in-cities-still- cant-afford-broadband/)). The dataset claims that only 29% of Washington D.C.'s adults have broadband. (The real number according to the other datasets FiveThirtyEight looked at in the new post is closer to 70%.) They even make a point of how extreme the Washington D.C. datapoint is on the histogram in the article as the only large county with such a low percent. That should be a clue to question your data.

What I find worse is that the academic researchers published this dataset. They bought behavioral marketing data and trusted a salesperson that the variable HTIA ("Denotes interest in 'high tech' products and/or services as reported via Share Force. This would include personal computers and internet service providers. Blended with modeled data.") was a good proxy for broadband access. To be clear, HTIA includes modeled data, which means they took demographics, voting records, and whatever other individual data they could grab (maybe they have records of your purchases, I'm just guessing), and predicted whether each adult in the US was interested in tech. This is the kind of data companies buy for ad campaigns, figuring that if they advertise to these adults, it might be better than random. There's no reason to think the aggregates of these numbers would be accurate or calibrated correctly, especially for an entirely different purpose (broadband vs high tech).

It's disturbing that these sort of datasets are floating out there in academia and really makes you wonder what other bad data is being blindly trusted to write blog posts, research papers, and news articles.

</comment><comment><USER19> Does anyone here know if there is a way to opt-out of being in the Catalist dataset?

</comment><comment><USER20> I few things I don't like about this;

"After further reporting, we can no longer vouch for the academics' data set. The preponderance of evidence we've collected has led us to conclude that it is fundamentally flawed.... The idea behind the stories was to demonstrate that broadband is not ubiquitous in the U.S. today, even as more of our lives and the economy go online. We stand by this sentiment and the on-the-ground reporting in the two stories even though we have lost confidence in the data set."

If the data you used to reach a conclusion is fundamentally flawed, it's pretty disingenuous to claim you stand by the _sentiment_. So they started with a conclusion, set out to prove it, later found the data they used to prove it was flawed, but still believe it's true.

The second thing I don't like is it seems readers are very confused between _access_ and _usage_ and their sloppy wording often conflates the two. It appears they were studying _usage_ (actual subscriptions) not _access_ (availability of a high speed connection).

Lastly, they also seem to disregard an LTE wireless connection as _usage_ of broadband, when I would have assumed it would clearly be considered. If LTE wireless is more commonly used as a form of access to broadband internet in certain areas (i.e. rural areas where density can't justify running the fiber, or dense metro where the LTE is so good there's no need for a wire) then not surprising you'll find broadband "usage" is low in those areas, even if those households are absolutely using broadband internet through an LTE hotspot.

<comment><USER21> > So they started with a conclusion, set out to prove it, later found the data > they used to prove it was flawed, but still believe it's true.

Nate Silver and 538 are fairly hardcore Bayesians, and this is how pretty much all Bayesian thinking works.

You start out with some prior "sentiment" (a.k.a. prior belief), and use then use data to update your "sentiment".

In turn, invalid data would mean that you'd revert back to your original prior sentiment, and when you get new data you'd start Bayesian inference once again.

Edit: Looking at the on-the-ground investigative reporting and the other sources and studies they've cited in the related articles, I actually agree that they have decent evidence to support their belief without these data sets.[0][1]

I mean, ignoring the data sets, would you argue against the idea that many people in cities can't afford broadband or that many places in rural America have crummy internet infrastructure? Certainly, I'm less confident than I would be with the additional data, but my confidence is still relatively high without it.

I do agree with your other points. Mobile internet access--with or without hotspots--is unreasonably ignored. The conflation between access and usage was a lesser concern since I managed to navigate the articles well enough.

[0]: [https://fivethirtyeight.com/features/the-worst-internet- in-a...](https://fivethirtyeight.com/features/the-worst-internet-in-america/)

[1]: [https://fivethirtyeight.com/features/lots-of-people-in- citie...](https://fivethirtyeight.com/features/lots-of-people-in-cities-still- cant-afford-broadband/)

</comment></comment><comment><USER22> I'm probably being too harsh but...

Good on them for writing this, it's important to admit when you're wrong. However, I feel like this outlet has a larger responsibility to be actual data analysts as well as journalists (over say a more traditional journalist for a more traditional news outlet). As such, why was the analysis done in the postmortem article not done prior to publishing the original articles? A good analyst is one you can trust, and trust for an analyst is built by drawing conclusions from highly defensible data, and highly defensible data is data which has undergone sever scrutiny of the analyst _before_ conclusions are drawn, not after. Also, they should probably update the now erroneous articles with a disclaimer indicating that much of the research is now invalid.

<comment><USER23> It's true that we have lost trust in their analysis, but there is an important thing to remember here: fivethirtyeight is not a peer reviewed journal. You should treat their articles in roughly the same category as a CNN article on something Trump tweeted, not in the category as an article published in _Nature_. While they do tend to do better data analysis than the Associated Press, 538 articles are not refereed and should not be treated as such. The assumption of a "highly defensible" data analysis is a little strong for them. This is very apparent on their sports section, which should give you a clue about the actual rigor of their analyses. Don't cite a 538 article in your academic research unless the 538 article is directly citing peer-reviewed research (and even then you should probably just cite the original research).

If you think of them as a news organization that uses data as it's gimmick to sell page views, you will be less surprised at events like this (disappointed, yes- surprised, no). They have the same incentive to sensationalize things as a regular news organization. Their mission is not to increase the knowledge of the human race, their mission is to bring in page views to sell ads and make money.

It may sound like I'm coming down harsh on fivethirtyeight. I genuinely enjoy reading some of their articles, but I make sure to remember what kind of organization they actually are and don't fall for the trap of thinking they are a think tank staffed with postdocs.

<comment><USER24> This anchors motives too much in economic determinism. It's a useful mental model to remember this is a factor, and it can come to dominate and cause problems, but it is not always the one true factor to rule them all through which we should view all motives.

You basically end up arguing that it is all about money, and real journalism cannot happen under profit-seeking organizations. It also trivializes that journalism's big challenge right now is how to do real journalism when the big tech players have vacuumed up their ad revenue.

I also wouldn't treat 538 as the same as CNN writing about a thing Trump tweeted. They actively talk about and discuss their journalistic goals. They try to be openly self-critical about what and how they cover topics. They are trying to compete by not doing the same thing as other organizations.

<comment><USER23> I think that real journalism can happen under profit seeking organizations, because people find value in real journalism. However, real journalists don't do original research, they compile insights from experts. Journalists have a tendency to get it wrong when they try to add original insight in an article. Just about every person who is an expert in a field has a story about when their field made it into the news cycle and the journalists butchered some important concept.

I'm a statistician, and we always work with investigators that are experts in their field- unless we are researching statistical methods, then we act as our own experts. The statisticians handle the data analysis and make sure that the investigators don't make silly data mistakes. The investigators handle the reasoning and mechanisms behind the research. When they work together they can collect good data that they are familiar with and know how to interpret correctly. When they work separately they are prone to mistakes.

Fivethirtyeight (and also the ASU researchers) fell into this trap. They were not involved in the data collection, so they don't really know what each variable means, and just took someone's word for it who, (back to the economic motives) has an incentive to sell their dataset and not to tell the researchers to go look elsewhere.

I'll admit I was too harsh in comparing fivethirtyeight to an article about Trump's tweet, 538 is typically decent investigative journalism. However, I maintain that it isn't on the level of peer-reviewed academic research. Articles on 538 don't go through peer review. They aren't submitted and languish for months with revisions and answering follow up questions. I'm not saying that this mistake _would_ have been caught by a referee, but in the peer-review process a referee _could_ have caught it by asking questions about the analysis process and if it's valid to use a variable named "X" was being used as a proxy for a variable named "broadband access."

<comment><USER25> >I think that real journalism can happen under profit seeking organizations, because people find value in real journalism. However, real journalists don't do original research, they compile insights from experts. Journalists have a tendency to get it wrong when they try to add original insight in an article. Just about every person who is an expert in a field has a story about when their field made it into the news cycle and the journalists butchered some important concept.

It's much much worse than this. I was once interviewed about my research by an NPR reporter. He had already decided what his story was about and tried a variety of tricks get me to say some pithy quote he had devised so he could use it on air. The problem was that my research actually debunked, rather that supported, the story he wanted to run, and the pithy quote was scientifically unsupportable.

I often wonder whether some of the quotes I hear on NPR are edited versions of the interviewees saying "no it wouldn't be accurate to say x" cut down to "x".</comment></comment></comment></comment></comment>


DHH: we're already overloaded with connectivity - <AUTHOR> http://www.37signals.com/svn/posts/347-youre-not-on-a-fucking-plane-and-if-you-are-it-doesnt-matter <comment><USER2> Sorry, PG, but I think you are wrong in the article description. I think everybody is missing the point of the article:

Summary: "Offline web app access is getting too much publicity. I can't control myself. For example: if I had online access on a plane, I'd have no choice but to use it to work on my site. Cherish the plane, because people don't need even more internet access, we're already connected too much."

The article was more about his inability to control his behavior, thinking that a plane is special because he doesn't have to be online while he's on it.

While David did mention that offline web apps are getting an undue amounts of attention in the first sentence, the rest of the article was a rant about his inability to control his behavior. He didn't say they are overrated. He's just saying he's glad planes don't have internet access so he can read a book or enjoy a coffee, because otherwise, he would be online working on his company site.

I think he just needs to control his own behavior better, such as by taking less electronic devices with him so that Internet access doesn't suck up his life.

In fact, I would say offline web apps would actually be a plus in his situation, because he could focus on just the tasks he's trying to accomplish, without feeling overwhelmed by connectivity. If his goal is to savor time away from internet connectivity, he should leave his devices at home, or take a laptop to an area without internet access and work with software and web-apps offline.

<comment><AUTHOR> Hmm, maybe so; I changed the title.

<comment><USER2> Wow, what fast tech support. Happy to post something found useful. Thank you for this web site, for accepting me to startup school, and advice to move to SF. And the articles.

Although David added the first sentence about offline apps to get reader attention, his whole post was about his embarrassment about not being able to control himself. I think offline web apps would actually help him, not hinder him, to work on the things he needs to accomplish in a remote area without AIM, trillian, skype, cell phones, etc to bother thim.

</comment></comment></comment><comment><USER3> I think its always dangerous to make overarching statements that are meant encompass a whole category of applications. (this goes for multi-column keys too..)

I have found myself many times with my laptop in my car but unable to check my work's webmail to double check my calender because I'm offline.

Just to expand a bit I think its necessary for anyone building a webapp to look at how and why people need to access their app and develop accordingly.

</comment><comment><USER4> Web apps are so successful because you don't have to instal anything: no setups, no runtimes, no permission requirements on corporate sites, no need to run updates etc.

This new wave of "we need to be offline" is undermining all of that with a non-existing problem. I have no need to have offline GMail, for example. I might have a need to have offline Google Docs (if their site is down) but that's so low on my list of requirements since Google.com is up 99.99% of the time.

I believe that every one of these "web app on your desktop" movements will ultimately fail for being unnecessary.

</comment><comment><USER5> I somehow agree and I wondered why all this excitement for offline access of applications. Of course syncing and having offline backup of your information is good but, nowadays, they only way to escape being online is by choosing it. I am aware of flights over atlantic that have wifi...

Really, how many times in your life did you find yourself offline and needing to use a web application? And if you did find yourself offline most probably you are without your pc or your mobile which means you end up using another device.

Oops! That means no access to that trendy offline application you installed the other day!

Everyone is moving inside the web, not outside it.

Go Grid!

P.S And I think now I am getting it! Thaaat was the sarcasm from Google with GMail Paper!

<comment><USER2> The author writes that there is way too much connectivity, and hard to escape it (except for a plane ride, which he thinks is awesome.) I think that's an argument FOR offline web apps, and FOR self-control.

<comment><USER5> but being unable to escape connectivity makes useless for most users offline web apps...and i think having to use offline web app (a term that really sounds wrong) would just add frustration

<comment><USER2> No; people just need to take control of themselves and use offline web apps or desktop apps when they want to work on just one thing without distractions. Plus, the battery is going to last much longer for both phones and laptops that way.

</comment></comment></comment></comment><comment><USER6> Oh, yay, DHH. The same guy who insists that you never need a multiple-column primary key.

I currently work for a company (yeah, yeah; the startup is gonna be next year, once I graduate) that produces software for health care agencies. We're writing the next version of our app in Rails, but the problem is that a significant number of our customers need to be able to use the app out in the boonies. Out where if they're lucky, they have _analog_ cell phone service.

There is a real need for offline capability for webapps; you just don't see it when you keep your eyes on 37Signals-type apps.

<comment><USER7> _There is a real need for offline capability for webapps; you just don't see it when you keep your eyes on 37Signals-type apps._

What kind of apps do you think are more suited for this? Just curious.

<comment><USER6> Well, as I said, my company's app needs it. And if you follow the link to DHH's site, you see many people in the comments talking about their apps that need offline support; companies working with Australian ag businesses, for example.

Another thing might be 30Boxes or whatever favorite calendar app you have. Sure, you can sync the feed to iCal, but you can't do everything off a feed.

</comment></comment></comment><comment><USER8> I think people in general are missing the point about rich-client web-apps. It is _NOT_ about offline access, but about leveraging web-app skills (HTML, Javascript) to access hardware resources that otherwise would be blocked by the browser.

Web-based apps and RIA are here to stay, but there's still space for client- side apps. Example: Skype and iTunes.

<comment><USER5> Someone already could deploy the user interface of their application using HTML/CSS, using either the awesome IWebBrowser2 COM interface from Microsoft, or the Mozzila Browser. Norton Antivirus is using IWebBrowser, Skype i think is uzing Mozzila's... Applications like Skype could never be developed using anything else than the perfomance of native compiled C/C++. And if not compiled, they could never use tricks to stop you from debugging Skype...

<comment><USER8> Skype uses Qt, not Mozilla: [http://www.google.com/search?hl=en&q;=skype+qt&btnG;=Google+Search](http://www.google.com/search?hl=en&q=skype+qt&btnG=Google+Search)

I agree that a Javascript-based client-app might not perform as well as a native C/C++ app, but I would not say "could never be developed"...

Adobe Apollo does generate a compiled package (aka "air"). I believe Apollo also generates a native executable file after the app is installed.

PS: I'm not an Apollo evangelist. I just wanted to point out that web-based client apps are not about off-line features.</comment></comment></comment>


USB-C charging: Universal or bust! We plug in every device we have... - <AUTHOR> http://www.pcworld.com/article/3017182/hardware/usb-c-charging-universal-or-bust-we-plug-in-every-device-we-have-to-chase-the-dream.html <comment><USER2> this situation is just plain stupid.

but kodus to google for trying to clean this mess.</comment>


Who's Writing Linux? - <AUTHOR> http://spectrum.ieee.org/computing/software/whos-writing-linux

<comment><USER2> For those wondering:

 _Linaro is a not-for-profit engineering organization that works on consolidating and optimizing open-source software for the ARM architecture, including the GCC toolchain, the Linux kernel, ARM power management, graphics and multimedia interfaces. It was announced at Computex in June 2010 by ARM, Freescale Semiconductor, IBM, Samsung, ST-Ericsson, and Texas Instruments in a joint press conference. It also provides aligned engineering and investment in upstream open source projects, a monthly release of tools and software and support to silicon companies in upstreaming their system-on-a-chip (SoC) support._

That makes sense why Linaro is the 5th biggest contributer. (I'd never heard of them.)

<comment><USER3> might have heard of them but ignored it, because it didn't resonate as much with you.

[http://arstechnica.com/gadgets/2012/06/android- performance-b...](http://arstechnica.com/gadgets/2012/06/android-performance- boosted-30-100-percent-by-linaro-toolchain/)

</comment></comment><comment><USER4> This is off topic, but their main content is a small fixed-width area, and their related topics flow on the right. On a large monitor, this means that the screen is dominated by related story squares, and the main story is really hard to parse.

<comment><USER5> A Spectrum editor here- yes, we know the layout is far from ideal, especially on large monitors (I'm painfully aware-my primary monitor is a 30-inch cinema display). We just had a meeting about page templates for infographics last week, so hopefully it will me much better in a couple months.

<comment><USER6> A couple months? Aren't things supposed to move quickly in the Internet age?

</comment></comment></comment><comment><USER7> Surprised at how fast the LOC are increasing in Linux. Makes the possiblity of exploits and vulnerabilities being slipped in increasingly likely.

Interesting graph I found while looking up LOC for comparable projects: [http://www.informationisbeautiful.net/visualizations/million...](http://www.informationisbeautiful.net/visualizations/million- lines-of-code/)

</comment><comment><USER8> Interesting analysis. I didn't think that by this point volunteers would have the upper hand in %.

</comment><comment><USER9> Does Ubuntu developers count as individual contributors or does Ubuntu not help?

<comment><USER10> You can see what people using canonical email addresses are contributing[1]. If you look at the changesets you can also also see the type of changes they're upstreaming, many are simply one liners for hardware support. Hardware support is clearly valuable, but it isn't the level of contribution some other companies put in by any stretch.

1\. [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux....](https://firstname.lastname@example.com&ofs=50)

</comment></comment><comment><USER11> I have to admit I haven't been following the development as I used to. Could someone in here say to which FS the article is referring to:

"The increasing size of the Linux kernel is due to the incorporation of significant new features, including a file system optimized for solid-state drives"

<comment><USER12> I suppose he is talking about F2FS which is in kernel since 3.8.

</comment></comment><comment><USER13> How much do these types of jobs pay?

<comment><USER14> Red Hat, or volunteering?

<comment><USER13> Red Hat, Intel, etc. -- People whose salary is earned by developing Linux.

</comment></comment></comment><comment><USER15> Is there really 17 million lines of code for the linux kernel?

(from the chart at bottom)

<comment><USER16> Approximately, yes. (looking at 3.10 because that's what the graph was looking at for 17 million lines)

((v3.10))~/linux-2.6$ wc -l `find . -type f | grep -v [.]git ` | tail -1 16956298 total

Only 15.8M of that is C header/source + assembly,

Documentation is some ~450k.

There's about 260k lines spent for the build system and other scripts.

There's another 135k spent in other tools.

Leaving ~300k in README, TODOs and other misc files.

I'd say closer to 16 million for v3.10, including build scripts and other tooling.

For comparison, v3.13, ~ 6 months later, has 17.9M lines of C and assembly.

<comment><USER17> I wonder how many of those are compiled if the target is an x86 processor.

<comment><USER16> 380280 total lines of assembly, but only 38925 lines of that are in arch/x86/ (again, v3.10), so barely a 10th of it.

<comment><USER18> There's also a bunch of stuff in drivers/ that would be excluded in a typical x86 build, though it (mostly) isn't explicitly architecture-dependent. Over half of the whole kernel LOC are in the drivers directory, which includes support for all sorts of unusual devices.

<comment><USER16> Oh good point.

I was curious so I did make allmodconfig (I'm on 64-bit x86) and 'made bzImage modules' and counted lines of c/asm source with a corresponding .o file, all the header files and Makefile/Kconfig lines and got:

headers: 3011226

c/asm source: 8264404

generated .mod.c: 8414151

makefile/kconfig: 2032728

total 21722509

(Again, this is v3.10) (I also included the generated .mod.c files) [https://gist.github.com/fragmede/8782876](https://gist.github.com/fragmede/8782876)

</comment></comment></comment></comment></comment></comment><comment><USER19> Neckbeards.</comment>


"Study Death Always": Seneca's advice for living centered on dying - <AUTHOR> https://www.laphamsquarterly.org/roundtable/study-death-always <comment><USER3> I wrote this in response to someone asking about other Stoic writings who, in the interim, deleted their response, so I'll post it as a stand-alone response:

I'm an avid reader of Stoic philosophy, to the point I would say it's a central pillar of my life. I would strongly advocate anyone interested in Stoicism not read these recent texts first, or, if I'm honest, really at all. I get that they're trying to making it approachable, but I feel that in an attempt to modernize the message they really lose most of it. One of the beautiful things about Stoicism is that the ancient philosophers were very mindful of speaking plainly, and their texts are extremely approachable. Epictetus' Enchiridion is very easy to parse and is packed full of very practical knowledge. It is one hundred percent the place to start. Following that, read Seneca's letters to Lucilius, which are titled either Moral Letters to Lucilius or Letters from a Stoic. These are very straight forward teachings in very direct language.

Beyond that there's a whole canon of writing. The only extant writing from Stoic philosophers are from Epictetus and Seneca. There are fragments from Musonius Rufus, and a small handful from the very ancients like Chrysippus and Zeno. There are writings about Stoicism by Marcus Aurelius, a very famous follower but not a teacher himself, and by Cicero, though he also wrote against the philosophy in other places. Marcus Aurelius' writings are very approachable and often recommended.

There are a few modern academic writings I would suggest to someone who has read the ancient sources, specifically the papers by A.A. Long. If you absolutely must have a modern book about the school, I'll contradict my earlier statement and say that William B. Irvine's A Guide to the Good Life is one exception.

I love Stoicism and am happy to talk about it at length. Anyone who is interested can feel free to contact me about it, my email is in my profile.

Ad fontes!

<comment><USER4> [https://enchiridion.tasuki.org](https://enchiridion.tasuki.org)

Which translation would you recommend?

<comment><USER5> Hey I made that! Never would've thought it'd be shared here. Makes me very happy :)

</comment></comment></comment><comment><USER6> I've recently started participating in Funeral Honors Details as a Navy Reservist.

We fold the flag, present it to the next of kin, play taps, and provide an honorable exit for anybody who has served.

It's been the most meaningful part of my 14 years of military service - <USER2> included a combat deployment.

Simply walking through the cemetery before the service is profound. All that remains of a life time of stories is usually just a name and a date. It's humbling to reflect that within 100 years (at the very very most), I too will be there...and some random stranger may come across my grave.

Death makes life all the more meaningful for me. Engaging with mourning families at least monthly helps me cherish my moments doing the things I love all the more.

<comment><USER7> Thank you for this service.

My friend's step-father recently passed away. He was a Vietnam era veteran and didn't leave this world with much planning for his passing. The service provided by the volunteers was of huge comfort to my friend and his family, the simple yet meaningful service lent dignity to the end of a situation that didn't have much of it.

</comment></comment><comment><USER8> I've been an avid reader of Stoicism, and was introduced to it by, you guessed it, Tim Ferriss. I have been conciously trying to adopt the philosophies and mantras into my day to day life.

Have compiled the following tangible techniques/approaches to thought feel free to add your own:

* Premeditatio Malorum (premeditation of evils or Negative Visualization) * Stoic Fork - Make the best use of things in your control and let nature handle the rest * Temporary Ownership - Never think of things you own as yours, merely borrowing from the universe (recycle) * Superficial Experimentation - Put yourself through situations that warrant ridicule in order to become resistant to it * Worse Case Scenario Simulation - Set aside a certain number of days to eat the cheapest food and cheapest clothing asking yourself: is this the condition I so feared? Make yourself uncomfortable * Only be ashamed of things worth being ashamed of; inoculate against superficial attachment in what others think * Planned Fasting * Planned Cold * Planned Poverty * Planned Ugly Clothing * Context Shifting - Cosmic relativism; remember you're going to die and the world will keep turning * Growth mindset - praise yourself for the work not the result; challenge creates growth * Remove Distractions - am I afraid of death because I won't be able to do THIS anymore ? If it's no, then Remove the conveniences. * Opinions to actions - opinions are fine to have and express if they are followed by action but you shouldn't have an opinion to have an opinion * Default to action - action before talking; so what needs to be done instead of "I should" * Daily quote meditation - take a stoic quote and reflect on how to apply it to your life everyday * Stoic Mindfulness - be in the moment; be attentive to what's happening * Daily reflection journal - what did I do right ? What did I do wrong? What could I have done better? * Art of Aquiescence

<comment><USER9> I'm genuinely curious - what is this mindset supposed to accomplish?

<comment><USER10> All life is suffering, but mercifully it ends with death.

However, we don't want to die (because we are so attached to life, it's hard to overrule billions of years of evolution).

So we have to endure the suffering until we die on our own, or until the suffering becomes great enough to overcome the mental barrier of suicide.

Just as we can train our bodies through exercise to deal with exertion, so too can we train our minds through philosophy to deal with suffering. It makes life easier to live.

<comment><USER11> > or until the suffering becomes great enough to overcome the mental barrier > of suicide.

Does Stoicism rationalize suicide?

<comment><USER10> Epictetus words it thusly (Discourses, book I, chapter 24):

>But remember the principal thing, -that the door is open. Do not be more fearful than children; but as they, when the play dues not please them, say, " I will play no longer," so do you, in the same case, say, "I will play no longer," and go; but, if you stay, do not complain. [p. 1081]

A detailed analysis can be found here: [https://people.creighton.edu/~wos87278/Stephens/Ancient- Phil...](https://people.creighton.edu/~wos87278/Stephens/Ancient- Phil_2014_365-391.pdf)

Aurelius as such (Meditations, book V):

>As thou intendest to live when thou art gone out,...so it is in thy power to live here. But if men do not permit thee, then get away out of life, yet so as if thou wert suffering no harm. The house is smoky, and I quit it. Why dost thou think that this is any trouble? But so long as nothing of the kind drives me out, I remain, am free, and no man shall hinder me from doing what I choose; and I choose to do what is according to the nature of the rational and social animal.

(and in book X):

>For to continue to be such as thou hast hitherto been, and to be tom in pieces and defiled in such a life, is the character of a very stupid man and one overfond of his life, and like those half-devoured fighters with wild beasts, who though covered with wounds and gore, still intreat to be kept to the following day, though they will be exposed in the same state to the same claws and bites. Therefore fix thyself in the possession of [virtues]: and if thou art able to abide in them, abide as if thou wast removed to certain islands of the Happy. But if thou shalt perceive that thou fallest out of them and dost not maintain thy hold, go courageously into some nook where thou shalt maintain them, or even depart at once from life, not in passion, but with simplicity and freedom and modesty, after doing this one laudable thing at least in thy life, to have gone out of it thus.

In short: leaving life on one's own terms is fine, provided they are rationally considered (so not on the spur of a moment).

</comment></comment></comment></comment></comment><comment><USER12> The project I run, Standard Ebooks, has all of Seneca's dialogs available for free for your ereader: [https://standardebooks.org/ebooks/seneca/dialogues/aubrey- st...](https://standardebooks.org/ebooks/seneca/dialogues/aubrey-stewart)

If you're interested in Stoic philosophy, Marcus Aurelius is also an excellent read: [https://standardebooks.org/ebooks/marcus- aurelius/meditation...](https://standardebooks.org/ebooks/marcus- aurelius/meditations/george-long)

Stewart's Seneca translation is admittedly not a super great one, but it does the job. Long's Marcus Aurelius translation is very solid though.

<comment><USER13> While I like Marcus Aurelius, I find Gregory Hays' translation more readable than Long's.

</comment></comment><comment><USER14> I think the specialization of our society has really cost us in terms of becoming acquainted with death. My career path (military, medicine, pathology) has brought me in closer contact with death than most. And I'm a huge fan of Stoicism. Have read everything from Epictetus, Seneca, Aurelius. The act of witnessing death, the event itself, has had a profound centering effect. Be careful with the arrow of causality here.

Thinking about death is probably not that healthy of an idea. But exposing yourself to death is probably quite valuable. Consider volunteering at a hospital or nursing home, or even an animal shelter.

<comment><USER15> Your comment, and this piece reminded me a lot of one I read about the perception of death in Bhutan[1]:

"Rich people in the West, they have not touched dead bodies, fresh wounds, rotten things. This is a problem. This is the human condition. We have to be ready for the moment we cease to exist."

[1]:[http://www.bbc.com/travel/story/20150408-bhutans-dark- secret...](http://www.bbc.com/travel/story/20150408-bhutans-dark-secret-to- happiness)

</comment></comment><comment><USER16> The Stoics of ancient times had something profound to say about everything, it seems. The reason for that, of course, is because what they actually describe is a way of thinking, a way of life. As you can gather from the article, there is also some religious context which is really fairly optional. Or at least you could substitute your own religious beliefs in with all the talk about God. But you can apply Stoic principles to really any situation you could think of. No kidding, and as implausible as it sounds, I've thought of things I read from Marcus Aurelius in the heat of combat, just having sort of popped into my mind. Though I will say that I'd been through a really tough stretch of life around that time, and had been reading some of the Stoics (among others) as an escape. So it's just as likely chance as anything else that brought that dude's writing to mind. Marcus Aurelius is kind of held up among the other greats of Stoic philosophy, but Seneca is really IMO the best. Epictetus is a close second. But Marcus Aurelius is popular because of course he was the Emperor, and never intended on publishing his diaries (which we today call "Meditations"). You want a rabbit hole that will save your life, perhaps not only figuratively? Here it is!

<comment><USER17> If you don't mind me asking: which Aurelius idea(s) specifically popped into your head, and how did it save you?

<comment><USER16> Hmm. I suppose I should clarify that these ideas did not save me in combat, and probably would not save anyone in combat. There isn't a philosophy in this universe that would save you from " _Whoops_! Should have juked right when I juked left!"... But from other things that can kill you, Stoic philosophy will set you up for survival.

About the question, though, I thought about what he said about telling friends and family you're always busy. It was just something that came to mind, making me wish I'd spent more of my time with people I enjoy being around.

</comment></comment></comment><comment><USER18> I strongly recommend Seneca's _On the Shortness of Life_. It's one of the best books I've read, and at the very top on the subject of Carpe Diem.

[https://www.amazon.com/Shortness-Life-Penguin-Great- Ideas/dp...](https://www.amazon.com/Shortness-Life-Penguin-Great- Ideas/dp/0143036327/)

<comment><USER19> I just read it a few weeks back and was disappointed. His views on life seemed to boil down to something like "make as much wealth as possible, so you can retire as fast as you possibly can, so you can spend all of your time on whatever is meaningful in your life, and by no means ever have any fun." It seemed full of selfish anti-social advice for the extreme curmudgeon. But I also listened to it while on the road, so maybe I missed something.

<comment><USER18> This is a short book, but it's full of ideas and already very concentrated as it is. So if you really think you can boil it down to a single sentence, I think you are in fact missing quite a lot.

I'm not going to go through the entire book point by point, but here are some salient points your summary misses:

One of the main points of the book is that when most people complain that life is short and they don't have much time they are mistaken. They are mistaken for various reasons, one of the main ones being that they waste their time.

Seneca would not agree with you that merely spending time "on whatever is meaningful in your life" would necessarily be a good use of your life. He goes on at length to decry the many things that even exceedingly rich people occupy their lives with that he thinks are a waste of time (such as vanity; chasing fame, wealth, or favor; being busy-bodies; concerning themselves with trivia, etc), and then talks about the things he thinks would be a good use of one's time -- the best according to him being (Stoic) philosophy.

He emphasizes that one should live for today, rather than for the future. _" The greatest hinderance to living is expectancy, which depends upon the morrow and wastes today."_ _" Everyone hurries his life on and suffers from a yearning for the future and a weariness of the present. But he who bestows all of his time on his own needs, who plans out every day as if it were his last, neither longs for nor fears the morrow."_

So chasing wealth in order to at some future time have the leisure to enjoy it would be antithetical to Seneca, and is in fact one of the things he explicitly argues against:

 _" You will hear many men saying: "After my fiftieth year I shall retire into leisure, my sixtieth year shall release me from public duties." And what guarantee, pray, have you that your life will last longer? Who will suffer your course to be just as you plan it? Are you not ashamed to reserve for yourself only the remnant of life, and to set apart for wisdom only that time which cannot be devoted to any business? How late it is to begin to live just when we must cease to live! What foolish forgetfulness of mortality to postpone wholesome plans to the fiftieth and sixtieth year, and to intend to begin life at a point to which few have attained!"_

He's not encouraging the reader to chase after any get-rich-quick schemes either. The man upon whom fortune smiles today could be crushed under its foot tomorrow. Self-mastery and tranquility of mind is what he's after, as only then can one be indifferent to fortune's whims.

There's much more as well. This book is just so chock full of wisdom, I can not praise it highly enough. I really recommend you sit down one day, read through it slowly, and carefully think through each of the things he says.

<comment><USER19> That brought back a few memories of the book. I remember being extremely turned off when he listed all the things a person shouldn't do for a living and wondering if this book was only targeted at those who were born independently wealthy.

</comment></comment></comment></comment><comment><USER20> Aurelius said that all you have is the present moment so when you die the only thing you can lose is the present moment. That one really stuck with me.

<comment><USER21> But you don't lose the moment... you go into a new body. (Anticipating down votes for this, though)

<comment><USER22> You anticipated correctly yet you don't seem to realize why. Where can we possibly take this conversation now except into a religious flame war? If you had approached it from a philosophical perspective, we could actually have a fruitful (or at least interesting) exchange of words. As it stands you dove straight into belief territory, which obviously cannot be debated productively.

(I don't mean to be a jerk but I do mean to criticize your apparent lack of self-awareness.)

<comment><USER21> Yeah, that makes sense. But I don't understand what you mean about lack of self awareness? (Perhaps validating your point)

<comment><USER22> I'm a (sort-of) Buddhist myself but I don't presume to know anything for certain, especially not how it should affect the way we see our lives. It just seems arrogant to me to present such things as facts, without so much as an argument. Sorry, shoulda been clearer in my initial reply.

</comment></comment></comment></comment></comment><comment> happy-go-lucky Here's an interesting read:

Parallels in Hindu and Stoic Ethical Thought

[http://www.studiesincomparativereligion.com/public/articles/...](http://www.studiesincomparativereligion.com/public/articles/parallels_in_hindu_and_stoic_ethical_thought.aspx)

> Krishna reminded Arjuna that "Thinking about sense objects will attach you > to sense objects. Grow attached and you become addicted. Thwart your > addiction, it turns to anger. Be angry and you confuse your mind. Confuse > your mind, you forget the lesson of experience. Forget experience, you lose > discrimination. Lose discrimination, and you miss life's only purpose".

<comment><USER23> This is a comparison b/w oranges and pigs. Hinduism is founded by priests to favor Brahmin's and nothing more. Instead of the slavery like in US which is binary(slave or not-slave) in hinduism the caste system is a multiple levels of slavery. Any caste must be a slave to another and if they obey(no choice) they will get another caste as their slaves. Finally at the root node is this Dailt people who are slave to every one in the hierarchy. In contrast Stoic is religion agonistic, in fact Stoicism does not care of religion. Seneca talks about how it does not matter if there is a god exists or not in his reference to free will and determinism in his letters.

</comment></comment><comment><USER24> If you agree with this, it makes it a lot easier to realize what the current purpose of human life is, i.e., to achieve biological longevity. (By 'current' I mean until we achieve this, it's not of much use to ponder the bigger question of why we're truly here).

This mindset can be used as an alternative to existentialism in which you realize life has no purpose, and that is followed by 'you make your own purpose'. It helps eliminate some of the post-modernistic relativism and introduces some level of objectivity into this big question.

<comment><USER25> Seneca would not agree. He thought how you lived was much more important than how long you lived. The stoa did not view death as a bad thing, rather as a change in state.

</comment></comment><comment><USER26> I haven't read the article, but the general point is also a teaching in some kinds of Buddhist philosophy.

(Googling, others who know more about both have made this connection too: [https://dailystoic.com/stoicism-buddhism/](https://dailystoic.com/stoicism- buddhism/) For that matter, from that article: "[stoicism stresses] being in accordance with nature and accepting all of the things that happen in life" reminds me that the word "Islam" means "submission" in this sense too -- accepting what God gives you, i.e. what the 'universe' gives you. I guess there's probably some fundamental similarities at the root of most spirituality)

</comment><comment><USER27> So, the western version of Maranasati?

[https://en.wikipedia.org/wiki/Mara%E1%B9%87asati](https://en.wikipedia.org/wiki/Mara%E1%B9%87asati)

</comment><comment><USER28> for editor: I remember reading that Seneca died not by suicide, but by first slitting his wrists -- and not dying -- before he then went to the bath and died by chocking on the steam, is his death reason controversial?

<comment><USER18> It's more his life rather than his death that's controversial. During his life he chose to serve Nero, one of Rome's bloodiest tyrants, and profited greatly from his service. To some that has seemed rather hypocritical for someone who preached a life of self-denial, detachment from worldly things, and distance from rulers and politics.

In Seneca's defense, some have pointed out that he tried to moderate Nero and steer him towards the path of virtue, though he ultimately failed.

</comment></comment><comment><USER29> For some reason HN has been mimetically pulled into the seneca philosophy. Just so you guys know, there are many many _many_ other philosophies and really great books about ways to look at life and how to live it than just stoicism. Don't let something as important as a life philosophy be steered by social media influencer culture. Take some time to read from sources outside your filter bubble. Your 70 year old self will thank you for it.

<comment><USER30> Can you suggest few readings?

<comment><USER31> The Bible

edit: For those of you down voting me for whatever reason, can you at least contribute to the discussion and explain how my answer was a poor one?

The bible is one of the greatest stories ever told containing a myriad of different ways at looking at life.

<comment><USER32> A particularly important read concerning the meaning of life is the book of Ecclesiastes. It tells of Solomon's great experiment of finding meaning in knowledge, pleasure, wealth, accomplishment, etc..

I am often bewildered by those who pour a great deal of energy in planning for retirement and ignoring the fact that they will soon thereafter be pushing up daisies. Death awaits us all.

<comment><USER33> I pour a lot into retirement because I don't want my final days to be a time of financial hardship or to be a burden on my children.

Today, I can easily move around, feed/wash myself, and but that won't be true forever. Putting money away for later gives me some measure of confidence I'll be able to pay someone to help me when the time comes.

<comment><USER34> Why not kill yourself when you get too old to wash/feed yourself? I'm being serious. I've asked myself that many times and can't find a good reason why not.

<comment><USER35> It's not even about washing/feeding yourself. I simply don't want to have to work all my life. I'd like to spend my days reading, watching movies, traveling, eating out, etc.

To your question though, I find that as I get older life is increasingly more interesting. I suspect that will be the case regardless of whether I'm hobbled by my body.

Also, if I have grandchildren I can imagine wanting to hang around to see them grow up.

</comment></comment></comment></comment></comment></comment></comment><comment><USER36> Sam Harris recently had a podcast on the topic for those who are interested:

[https://samharris.org/podcasts/the-lessons-of- death/](https://samharris.org/podcasts/the-lessons-of-death/)</comment>


US has boots on the ground in Syria - <AUTHOR> http://www.bbc.com/news/world-middle-east-39217015 <comment><AUTHOR> Obligatory link [https://m.youtube.com/watch?v=eFvxqQTh3m4](https://m.youtube.com/watch?v=eFvxqQTh3m4) Very sad for the guys out there...</comment>


Ask HN: How do you convince yourself that you're good enough? - <AUTHOR> For things like applying for better paying jobs, coding open source software (and not being concerned your code sucks), writing articles, building your own commerical products, building a business network, doing freelance work, etcetera.
I always feel like I'm not good enough or worse that I'll never be good enough. I've done things in those area's that I'm proud of but I still feel this gnawing anxiety that I won't ever be good enough. This applies to everything outside the scope of this question as well.
I won't apply for jobs that I think I'm not good enough for, I don't want to publish any of my projects code because I fear its trash and people will be critical of it. I like to write but I don't feel confident about what I can contribute.
To me the anxiety of not feeling like I'll ever be good enough sucks all the joy out of these things. I've stopped projects that once inspired me and never returned. I'm not even sure why. I just get this anxious feeling that only goes away when I give up and distract myself with entertainment. <comment><USER2> I've had many similar feelings and still struggle with this.

Look for objective feedback and praise you've received from other people. Most people give compliments when they mean it honestly. Depending on the situation, you can take people's word for it.

Think about how you've gotten better. Do you think back to anything you did in the past and feel like you'd do it better now? That means you've learned.

Things like that are not delusional and giving yourself credit for that is not bullshit.

I suspect with both of us that these feelings touch on something deeper that just reflecting on past progress may not fully address. I'm still struggling with it.

Have you seen a therapist before? These are the kinds of things they're good at dealing with.

<comment><AUTHOR> I really appreciate your reply.

I like objective feedback and praise and I feel it helps on the surface but it doesn't really help with the underlying issue. It's like having a default mode set to "Negative" that can only be overridden for a short period.

I agree with you that there is some deeper underlying issue that needs to be addressed.

I have seen a therapist for a assertiveness course I did which was great. I couldn't see her after that though. I would like to see another therapist but here they are very expensive and I can't afford it. I have thought about using one of those therapy apps as they're much more affordable.

</comment></comment><comment><USER3> i dont but i see it differently, if i felt i was good enough it would remove the feeling that i need to get better, the people around me tell me im good enough regularly so i guess i must be doing OK but i wont let that make me feel comfortable as thats when ill start getting lazy

what youre experiencing is "imposter syndrome" you feel like those around you are good at what theyre doing and youre just sort of faking it/winging it and dont belong there when in fact you do. its a wild guess but i suspect youre someone who in younger years didnt really have expectations of great success and youve done better than you expected you would. this is especially common among the self taught and those who have had skill for a long time but only recently been picked up for a technical job.

i personally have been able to code and work with hardware etc since a very young age but im entirely self taught so until nearly age 30 i worked in bars, warehouses and shops for min wage, then suddenly im a key player in a tech role which leaves you feeling slightly like you dont belong especially when those around you have been in the industry for years and have countless qualifications

battling this isnt easy as generally someone else telling you isnt going to stick or change anything, its something you have to find ways to come to terms with yourself

<comment><AUTHOR> For some reason I find it totally demotivating. I don't feel compelled to get better at all. That makes me lazy because I just feel so anxious I have to do something else to distract myself and feel better. It also naturally makes me feel very reluctant to go back to whatever made me feel that anxiety.</comment></comment>


Mapping an EC2 Instance to a Local Drive on OSX - <AUTHOR> http://falicon.com/post/10203037945/mapping-an-ec2-instance-to-a-local-drive-on-mac

<comment><USER2> Nothing revolutionary or EC2-specific here. The article could well be titled "Mounting an SSH host on OS X using OSXFuse".

<comment><USER3> Apparently sshfs is news enough in the Mac community that it seems like a Cool Trick instead of a standard tool.

</comment></comment><comment><USER4> I would really recommend against using MacFUSE if you're not using Lion. I've had MacFUSE hang my system on a daily basis until I figured out the problem.

<comment><USER5> I recommend using ExpanDrive [I write it] - it works great on Lion and does some aggressive caching to make this a much more usable solution.

<comment><USER6> As a paid ExpanDrive user, I second this. It's good software.

</comment></comment></comment><comment><USER7> Cool. I've been testing out an app called ExpandDrive which does something similar but it hangs like crazy if network bandwidth goes up.

<comment><USER8> You can also use Transmit to do this.

<comment><USER7> ps. Started using Transmit and ReMate plugin and everything runs much more smoothly. Thanks for the advice.

</comment></comment></comment><comment><USER9> For Windows there is Dokan, a library similar to FUSE in Linux. There is an implementation of SSHFS for windows which works pretty well. <http://dokan- dev.net/en>

</comment><comment><USER10> I use this version of macfuse for lion

[http://wualablog.blogspot.com/2011/07/wuala-for-os-x- lion.ht...](http://wualablog.blogspot.com/2011/07/wuala-for-os-x-lion.html)

</comment><comment><USER5> You can also do this on Windows with ExpanDrive [<http://www.expandrive.com>]

</comment><comment><USER11> Transmit

</comment><comment><USER12> Is this over ssh? Couldn't you use s3fs for this?

<comment><USER13> I think s3fs is more for mounting a S3 bucket as a drive...what I wanted to do was access the files on my EC2 instance as local files (EC2 is basically like a remote computer, S3 is just remote storage).

That being said, you might be able to use s3fs to accomplish the same thing...I just wrote this up because it's the solution that I use...could be (probably is) better ways to accomplish this...

<comment><USER12> Sorry, my bad. I got ec2 and s3 all mixed up. Thanks for clarifying!

</comment></comment></comment><comment><USER14> Why not just use rsync or scp?

<comment><USER13> I didn't find any Mac clients that I liked for either of these approaches...and what I wanted was a really simple way to be able to edit files on my EC2 instance using TextMate...this solution works really well for me to do just that (though there could be much better ways to accomplish this that I just didn't bother to research/figure out).

<comment><USER15> I use Cyberduck[1] for that; just hit Edit and it opens up the file in your editor, syncs back when you save.

[1] <http://cyberduck.ch/>

<comment><USER13> I've used CyberDuck in the past too...of the SFTP options, I liked it the best.

With this mapping option, I can drop down to Terminal app...move to the directory, and then mate * to open a whole project within TextMate (great for searching all files in a project and other little things)...and I can also do other comand line like things, but semi-locally...so just a bit more powerful for my personal use cases is all.</comment></comment></comment></comment>


Remember Babylonian Twins? It's now on Apple's top suggested games for iPad - <AUTHOR> http://www.apple.com/games/hardware/index.html#mobileextreme

<comment><AUTHOR> I posted about this game to HN a few months ago when the game was close to launching[1] and it got a lot of attention so here is an update. The game was a big success and made it to the Top 25 of the Apple store charts in it's category in a lot of countries, and continues to do so, except in the US where it stayed there for a short time only.

I'm excited about it because it was written back in Iraq some 17 years ago for the Amiga by a group of my friends in college. But then the conditions there made it really hard to get it published, and soon after that the Amiga market died and the game died with it. Until recently, when Rabah, the game developer, decided to bring the team back together to re-launch the game on the iPhone and iPad. It goes to show the value of persistence. Congrats Rabah.

History: <http://babyloniantwins.com/background/>

[1] <http://news.ycombinator.com/item?id=1059188>

<comment><USER2> Are there any plans for a droid port?

<comment><USER3> No concrete plan yet, but we have people requesting Android as well as PSP. Thanks.

<comment><USER2> Count my name in the bucket! Great to hear :)

</comment></comment></comment></comment><comment><USER4> Congratulations on the success!

</comment><comment><USER5> Mabrouk :-)</comment>


Google is polluting the internet - <AUTHOR> http://www.guardian.co.uk/commentisfree/2010/oct/30/google-polluting-internet

<comment><USER2> Ugh, sensationalist crap. Yes, advertising on search engines is potentially corrupting. It is not necessarily a foregone conclusion, and I think that Google has avoided "being evil" in regards to ads in their search results, for the most part.

The really disingenuous part of this article is that Google does not own a monopoly on information, or information indexing. Nobody is "allowing" them to control information indexing; it's just good enough that there hasn't been a compelling need for an alternative. In fact, the author draws a parallel between public libraries and search engines - yeah, the government controlling our information indexes on the taxpayers' dime without any incentive to actually provide good results or to improve upon the system is _obviously_ a better solution.

The author, or anyone here, or some kid in his parents' basement is more than free to create their own completely open, free, self-funded information indexer (see: DuckDuckGo!). The problem, of course, is that Google provides much better, more complete, more comprehensive, more useful results for the vast majority of information indexing, because of the ridiculous amount of money and talent they've invested into solving these problems. As nice as the idea is, the world doesn't run on nice thoughts and good intentions - at the end of the day, that brilliant engineer that figured out how to return your search results 0.03 sec faster has to feed his family.

Advertising in a search engine isn't inherently evil; it's _dangerous_ , because advertisers will want to buy the first search results, and will often pay well for that privilege. The temptation of that offer is strong, but honestly? Google's big enough at this point that they've proved that they can be enormously profitable without having to sacrifice result quality. If anything, Google has made advertising more useful to me as a consumer, rather than allowing advertising to degrade my end-user experience. Google is successful because they've delivered consistently useful results, and then attached advertising to it, not because they've delivered advertised results and then the actually useful stuff 2/3's of a page later.

I eagerly await the author's new, open, free-to-use, ad-free, as-good-and- fast-as-Google search engine. I'll use it if he'll deliver it, but he'll be too busy Googling quotes for his next article to make that happen.

</comment><comment><USER3> A different perspective - but definitely worth being analyzed. What do you think?

</comment><comment><USER4> Nooo. That's why Google became successful. They focused on providing relevant results. If they were a commercialized search engine then they'd be no better than the yellow pages.

Their ads supplement their amazing results.</comment>


Ask HN: Examples of startups websites without functional product? - <AUTHOR> Hey there! My startup doesn't have a functioning product yet, still few months away. But we need a website, chiefly to dissemination newsletter.
If someone could point me to some example of startup websites without working product that would be swell.
I would appreciate any words of advice as well! <comment><USER2> It's best to start with an early validation website, showcasing an MVP or at least testing interest and pricing with sketches or other mockups.

You could use one of the various landing page websites out there like leadpages, kickofflabs, etc. and have an email sign up form. From there you can email updates to your list of early adopters.

Buffer's MVP story is an easy to follow example: [https://buffer.com/resources/idea-to-paying-customers- in-7-w...](https://buffer.com/resources/idea-to-paying-customers-in-7-weeks- how-we-did-it)

<comment><AUTHOR> This is great! Thanks for the link, the 'Hello! You caught us before we are ready' gave me few ideas.

</comment></comment><comment><USER3> [https://web.archive.org/web/20180828113917/https://theranos....](https://web.archive.org/web/20180828113917/https://theranos.com)

Joking aside, I think most have a MVP or something to tease people. I.E kickstarter etc

<comment><AUTHOR> We might go with 'something to tease people', namely mock-ups of the actual service.

</comment></comment><comment><USER4> ProductInsights.co

<comment><AUTHOR> Very similar to the Buffer story from the @reflect reply. I prefer the latter, more minimalistic approach.</comment></comment>


Ask YC: Your most interesting bugs / bug fixes? - <AUTHOR>

I ran across this Reddit story:
http://www.reddit.com/info/6n7k3/comments/
And enjoyed both the article and the commentary on people's own bug troubles. Do you guys have any of your own stories (preferably as detailed as possible) about bugs and bug fixes?
This has to be one of my favorites:
http://www.ibiblio.org/harris/500milemail.html <comment><USER2> At my game development job we got some incredibly hard to reproduce crashes every now and then on the game that was supposed to be shipping soon. We were using Lua for scripting, and the stack traces showed that it was happening somewhere in Lua. This was on the Wii, so dropping to a debugger is only possible if you happen to be running the right build on the right hardware attached to a PC running the right software. Which meant not in the QA department.

Not that a debugger helped that much after they managed to get a fairly reliable but convoluted repro. It turned out that really stressing the scripting system with certain patterns would cause the crash to happen much more frequently, so I could see it in the debugger. It didn't help all that much, it was an apparently random memory stomp, and by the time it crashed, it was much too late to tell where it came from. I forget how I figured this out but I eventually managed to narrow the cause down to garbage collection runs. Now, GC runs were periodic, but consoles place hard limits on memory. You can't just swap to disk when the going gets tough, so we had memory budgets for each game component, including the scripting system. So if scripts got particularly greedy, they'd run out of memory before the next GC run.

Now, as the memory limits were hard, some clever sod had put a GC call in the Lua malloc hook that was supplying the memory to run when there was no memory available (and the game would have crashed) - no doubt in order to fix an earlier bug. Most of our scripts didn't create hash tables, arrays, and strings frequently, so this bug hadn't been a big enough problem for what must have been years. In Lua, those types of objects require _two_ allocations, one for the base object and one for the data storage. You can see where this is going.

If Lua ran out of memory halfway through creating a hash table, array, or string, that is, after successfully creating the base object, but failing on the data store, it would trigger a GC run. Thankfully this was actually not that hard to hit, as the data store memory generally was way bigger than the 16 or so bytes used for primitive types (i.e. base objects, numbers, ...) so the probability of not having enough contiguous space was much higher than not having a 16-byte slot. In any case, the hash table (etc) constructor had of course not returned yet, and therefore there were no references to the hash table object yet, and it promptly got collected. The memory was initialised as a hash table and returned from the constructor, and it was just a matter of time until another allocation wrote straight over that. Not just any allocation of course, as re-allocating it as a (legal) primitive type wouldn't have caused a crash.

The fix was of course easy once the cause was known: don't put the base object in the allocated list for GC consideration until the whole object had been assembled.

Took me _days_. And I wasn't even the first person to be assigned the bug, it was one of those hot potatoes that went round all the senior people until it landed on the junior tech programmer's list. (mine)

I looked in the checkin history for the malloc hook, and they had shipped at least one game with that bug in. (records didn't go back far enough to rule out the game before) If you figure out what scripts to trigger repeatedly, you can make that game crash.

I can't really blame just one person for this. Putting the GC call in the malloc was thoughtless. Maybe I would have done the same without checking that it was safe. In Lua itself, that was a pretty careless way to handle object creation given that the malloc hook is user-defined, so Lua has no control what goes on in there.

More bedtime war stories another time.

</comment><comment><USER3> I'm ashamed to admit that I've still got a hefty little piece of VBScript at a grocery store that does some price & cost number crunching for them; it features a very funky two-stage inner loop which will occasionally produce random numbers if you feed in very large data sets. Two different pretty sharp people have spent a lot of time trying to track it, and nobody can find it. One of them looked at it and about cried when he realized how it was supposed to work.

Not too long ago, I had to figure out a timing issue in some JavaScript for a photo gallery. It's about as multi-tasking as JavaScript can get, and the code has its own task manager. Each new task was supplied with a UID, which was just the number of milliseconds since 01/01/1970. Occasionally, however, a task wouldn't fire. It would get queued, and then disappear from the queue, but never run. Every time I set breakpoints in the script, used alerts, or otherwise examined the code as it ran, everything worked fine.

It took me most of an afternoon to realize that occasionally two different tasks were being created within the same millisecond, and getting the same UID. Subsequently, one of the tasks would stomp on the other one. I kicked myself for knowing better than that and wrote a more reasonable UID hash.

Years ago, one of the first languages I got to play with was Pascal, on a pre-7.5 Mac OS. I was using THINK Pascal at the time, and having fun, but occasionally my program would bomb out in really interesting ways. It took me a long while to trace the bug to a problem in the compiler, where a struct that was supposed to be 4 bytes long was getting loaded on to the stack in 6 bytes. Usually this wouldn't be an issue, except that one of my functions was popping the struct off the stack as a longint, instead of as the actual struct. Whoops.

But, probably the most fun "bug" I ever figured out wasn't really a software issue at all. I worked in the data processing department of a Bay Area school district. Despite being one of the better school districts in the area, and having enough spare change for student A/V programs and the like, a lot of their systems ran on an ancient Unisys mainframe, COBOL74, and reel tapes. (Hey, it worked. Unisys mainframes have incredible recovery abilities.)

The reel tapes had a little reflective strip near the end of the tape, and the tape drive had this optical sensor that would pick up the reflection as the strip flew by, and dismount the tape.

It was the damnedest thing -- sometimes, usually in late Spring or early Summer, a tape would be in the middle of some operation, and it would dismount, even though it was nowhere near the end of the tape.

I was sitting in the room one day when it happened, and turned around in time to see a perfect little sunbeam sneaking through the blinds and shining right on the drive's optical sensor, fooling it.

</comment><comment><USER4> The visual plotting component I was working on would suddenly stop producing output: just a black screen but everything else was normal - no leaks, race conditions, crashes, etc - just no video. The bug was so rare that only customers ever saw it, but they were pissed (serious manufacturing folks, they ran our software 24/7 on production floors)

Eventually I wrote a debugging code around it to take screen shots of the main window and compare it with a reference image about 20 times a second (after each blit) and left it running for months on an old PC.

One night I got an SMS sent by my debugging script with attached call stack, etc, but I knew what had happened without even reading it: I got it 1 second after daytime savings time kicked in - the plotter didn't handle it properly and was trying to plot data from the future, which, of course hadn't happened yet.

</comment><comment><USER5> Some of the more interesting bugs are the ones not in your code.

I decided to list the ones outside my code that I've found in the last year or so. These are windows / .net bugs.

1\. When you add a program to run at startup to the registry and that program has a space in it. Like this "CoolCompany CoolSoftware.exe" it will also launch the program in the same directory called "CoolCompany ReallyCoolSoftware.exe"

2\. The FILETIME data type in .net is mis-defined as signed. This leads to conversion problems that were really hard to track down. File times would magically change in certain conditions by a few seconds to a few minutes. This was still in the 3.0 version which is the last I checked.

3\. .net Socket library pins the buffer in memory to prevent garbage collection and allow the call to not lose the buffer. Unfortunately it never unpins the memory. This looks like a memory leak and fragments the heap badly.

4\. The split control width is reported differently on XP and Vista. Hiding the split on one platform will give a width of zero. On the other one it reports the width.

5\. The zip lib on .net CLR ends up with much worse compression than a properly implemented zip lib. Ironically the J# zip lib works well.

6\. The windows setup in visual studio release build fails to install required components like .net. The debug build will?

7\. The .net file and directory objects don't support long paths. A user can easily create a path longer than the limit by dragging another user's directory to their desktop. These files will (un)conveniently be unreachable by any .net app not making direct win32 calls.

8\. I don't even want to think about the threading model in .net with delegates (they don't always work) etc. Bonus they work differently on Vista yea! Give me a semaphore, a mutex, etc.

9\. Vista UAC is such an embarrassment. I'm completely astonished it got released. In my opinion everyone who even saw it should be fired. The design is worse than privilege elevation designed over a quarter century earlier. The implementation is so bad any still sane person that uses their computer for more than light work will turn it off.

Windows aside. If anyone is developing a commercial app on windows. I strongly recommend writing directly to the win32 API. If you try to implement anything non-trivial (like I did) you may end up with a huge rewrite. In my opinion the convenience of .net is just not worth the loss of control.

I'm in mid port to a native code version of my application. I've lost 95% of the re-distributable size and increased performance by 50%.

Seriously though. I think there is a general problem with programming.

Part of the problem is the workaround. There is a certain amount pride / respect someone gets for figuring out a work around to a tough problem. The issue with this is that it discourages the fixing of the root problem.

The other part of the problem is consistency. "I don't care what the interface is as long as it is concise and consistent." I often feel like a turn of the century mechanic trying to build a car from a box of randomly sourced parts. At the turn of the century there were not any standards for important things like bolts. Everything varied from thread width to thread angle to thread spacing. The situation with non standard mechanical parts is pretty close to what we have today with software. Sometimes I think all I do is write code to convert data from one type to another. All to appease the requirements of the various APIs I need to use.

Someone will probably note that I'm on windows and X is so much better to code to. I will prematurely completely agree. I typically hack on my mac and my grid runs on linux boxes. I need a windows component for market reasons.

Bonus!!! The Unknown or expired link when posting to Hacker News after typing for a long time.

<comment><USER6> > Bonus!!! The Unknown or exprired link when posting to Hacker News after > typing for a long time.

Definitely. I hit it after reading your comment. If you ever want a technique to discourage long and insightful comments, this is it.

</comment></comment><comment><USER7> One bug I had to fix recently was in the commentary system of a PS2 soccer game (with an ancient codebase, parts of which hadn't been touched in 10 years).

The commentator would always refer to a particular player on a particular team by the name of a different player on that team. No-one had any idea why.

This issue had been knocking around for years and somehow ended up on my plate. After about 3 or 4 days of digging around and finding nothing, I finally got to the bottom of it. It just so happened that subtracting the ID's of the two players in question gave exactly 65536. It didn't take me much longer to figure out that the game's database used 32 bit integers for player ID's, and the commentary system was using 16 bit integers, so from the commentary's point of view, the two players had the same ID.

Luckily for me, I was able to fix it by swapping in a slightly-less-ancient commentary system which used 32 bit IDs instead.

</comment><comment><USER8> My company made a machine for medical labs, and I wrote an app that monitored the performance of those machines. Our basic metric was samples analyzed per hour, and my app would grab the runlogs from all the machines (we needed the data in the logs for other purposes, or I'd have done the analysis on the machines and just transferred the results), count how many samples were analyzed each calendar day, and then divide by 24. Easy, simple, and worked a treat. That is, until one fine spring Monday.

The service manager walked into my office bearing the graph of machine performance, and said there was something wrong with my script. He showed me the graph, and pointed out that most of the machines had exhibited a nearly 5% drop in productivity on Sunday. This wasn't usual; the machines either worked, or they didn't, and they were expensive enough that labs generally ran them continuously. We looked at the graph for a while, and realized that the affected machines were all in the US; the ones in Asia looked normal.

This was baffling, but I did a little checking of the data, and it looked like the script was counting samples correctly. The nearly 5% drop was real.

But the next day everything was back to normal and people stopped bugging me about this, so I just let it go, though I couldn't get rid of a nagging feeling that I was missing something.

I didn't realize what it was until six months later, when those selfsame machines exhibited a nearly 5% rise in productivity, again reported to me by the service manager on a Monday. I looked at him for a moment, then said, "Not all days are 24 hours long!" I'd forgotten about daylight savings time (not observed in Asia), which makes one day in the spring only 23 hours long, and one day in the fall 25 hours long.

I fixed the calculation by using time()s, so the script'll work for any time zone. As an added bonus, even the occasional leap second is handled correctly.

</comment><comment><USER9> When I was working on Adonomics there was a bug that caused certain virus scanners to claim that we were trying to install spyware on the visitor's computer.

It just so happened that there was a string on the page that matched the scanners' virus signature. It was in the HTML so between a few of the offending lines I inserted . Problem solved.

I'd never, ever seen a website that did that, let alone one that I created!

</comment><comment><USER10> I once had to fix a random memory corruption in some X windows code which used a proprietary third party library to which we didn't have the source. After linking with my own malloc/free library that would carefully add lots of guard space around every allocation I discovered that it tended to overwrite an area just past a structure it was responsible for allocating. We reported the bug to the vendor but we had a demo coming up so in the meantime we just wrapped calls to their stuff with some code that swapped in my allocator. Simply allocating 10% more than what the library asked for made the problem go away.

<comment><USER11> Ooh, those kinds of bugs are evil. I once had a bug in Rivet caused by Apache and Tcl linking to different versions of the same struct, getting confused, and stomping on some memory. It was really a bitch to track down:-/

</comment></comment><comment><USER12> This is pretty common. I used to name my submit buttons "submit", but when I started using Javascript to do the submission, I found that form.submit() didn't work everywhere. The reason is because form fields are accessed by form.field_name, and so the field data replaces the function stored in the "submit" slot. _sigh_.

</comment><comment><USER11> I love doing quick, hacks to improve stuff. Sometimes it's even more fun if it's a system I'm not familiar with. Not really a 'bug', but I made Linux boot faster off of USB pen drive type devices by adding a wait queue:

[http://www.welton.it/freesoftware/patches/blkdev_wakeup-2.6....](http://www.welton.it/freesoftware/patches/blkdev_wakeup-2.6.18.patch)

Although I don't know if it ever made it into the official kernel, as I got tired of prodding those guys to either accept it or reject it (and in the meantime they put in some lame hack telling the kernel to wait N seconds before proceeding in the hope that that was long enough to mount the device), but a number of people have thanked me for it over the years.

BTW, I'm in awe of people who spend all their time hacking kernel stuff. It's hard work, and for many things, you risk crashing your whole computer if things go wrong.

</comment><comment><USER13> On the game project I'm working on(as a designer) we use an internally developed scripting language that was originally meant for simple timelined cinematics. It was, according to the author, made in one day.

Each line gets a time in seconds followed by a call on some entity: hello world is "0.0 Script:Print("hello world")". The syntax quickly gets verbose from there - and no multi-line statements allowed!

Some of the flaws of this language:

-Miserable computational abilities. Until just this morning we were unable to add two numbers together. The main limitation is poor access to information - getting things like the x position of an entity requires a language extension - an easy one, but when it's not there....

-A vague notion of types. Variables attached on entities are typically enclosed in quotes: "true", "100", etc. But in arbitrary instances you can also use space-delimited vectors, for example: Script:Goto(100) or Entity.SimpleMovableInst:SetPosition(0 0 0). If you use the wrong thing, you will be lucky to get an error message. Usually it just silently fails.

-Lexical macros. These were added in order to cut down on the number of custom scripts we were using: instead of cut-and-pasting "switch1...door2....etc." variables we could say "$[target]" and it would be replaced at runtime with the contents of variable "target" on that entity instance. But they have the effect of giving a lot of false errors in the cases where we don't need to use those variables on a rich, multi-purpose entity. Worse, if I forget to add a variable necessary for the script, that instance will fail and I may not realize why.

-The parser doesn't recognize delimitation of strings, among other things. Putting a colon inside a print statement causes an error message.

It is no surprise that endless grief has resulted from these various flaws. I fixed bugs resulting from all of the above just today.

It works fine for timelines, but I'm hoping to get Scheme(or something with similar potency) for the next project.

<comment><USER14> Lua is designed for exactly the type of work you describe here. I wrote a Lua interface for The Nebula Device (Open-sourced 3d game engine from Radon Labs.) It took about a weekend, starting from scratch. Interfacing to C or C++ code is dead simple. And the language itself draws a lot of inspiration from Scheme without abandoning a more familiar syntax. You get first-class functions, closures, lexical scoping, coroutines, and a clever "metamethod" system for defining object behavior. It's an extremely quick and efficient implementation written in strict ANSI C, and it works well in constrained environments like games. It's quite popular in both console and PC games for higher level functions on top of a low level engine. Give Lua a look-see!

<comment><USER13> I integrated Lua once for a project of my own. But on this project the choice wasn't mine - we ported over existing technology to a new console to meet a five-month ship deadline.

Also, Lua is imperfect for games: Squirrel is considerably more attractive because it is designed to work in real-time situations(no GC interference). I also had issues with Lua's error-handling.

</comment></comment></comment><comment><USER15> Debugging VHDL on a FPGA (which ran correctly in a simulator) is, uh, fun. I don't remember the details, but it was a single _character_ fix.

Also, debugging MS Office file format generating code is painful when the only feedback you have is Office giving you "corrupted file" errors.</comment>


Restaurant Watches Old Footage Of Customers And Uncovers A Shocking Truth - <AUTHOR> http://www.lifebuzz.com/restaurant-truth/ <comment><USER2> Those that have grown up with mobile phones view the world differently than the older generation. I'm old enough that I only use my phone when I'm with others to mute it. So, I have a hard time understanding those younger than me. Maybe this crowd can help answer my questions.

When we break bread together, why do you respond to texts/mails? Did you know that it sends a message to whoever you are with that you don't respect their time or just as bad that you'd rather be talking with someone else?

I've often seen a clump of friends hanging around, at a mall, or in a pub, yet none are talking to each other. Instead the group is almost entirely on their phones. Please explain what's going on.

<comment><USER3> Receiving a text message lights up the same area of the brain stimulated by addictive drugs such as cocaine.

[http://yaledailynews.com/blog/2010/09/08/the-new-drug-on- the...](http://yaledailynews.com/blog/2010/09/08/the-new-drug-on-the-block- texting/)

<comment><USER2> Reminds me of pg's essay on Addiction.

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

</comment></comment></comment><comment><USER4> I'm pretty skeptical of this story. For one, it's just a transcript of a craigslist post. Secondly, a couple of those figures are hard for me to believe (e.g. "26 out of 45 customers spend an average of 3 minutes taking photos of the food", and "8 out of 45 customers bumped into other customers..."). This sounds more like social commentary than an actual report on findings. We probably won't know for sure, but even given the lack of verifiable data, I would argue this should not be treated as news.

<comment><USER2> Good point. The Craigslist post* was under 'rants and raves' dated July '14\. Even then this anecdotal evidence fits with observations on society. Is it news? I'd argue it's no less newsworthy than much of the crap published by news organizations--mind you that's a pretty low bar.

*[https://web.archive.org/web/20140712154835/https://newyork.c...](https://web.archive.org/web/20140712154835/https://newyork.craigslist.org/mnh/rnr/4562386373.html)

</comment></comment><comment><USER5> While the content highlights modern restaurant visits ([EDIT] or maybe not), this website highlights modern "journalism".

A headline followed by a "share on facebook" button then a "context" paragraph a stock photo then a massive block quote. Finally there is a "via" link at the bottom telling you where they got it from. Which is: [http://news.distractify.com/culture/craigslist- surveillance-...](http://news.distractify.com/culture/craigslist-surveillance- restaurant/?v=1) by the way. That page then says the source is: [https://newyork.craigslist.org/mnh/rnr/4562386373.html](https://newyork.craigslist.org/mnh/rnr/4562386373.html) which seems to be on its way to the virtual dustbin.

Pretty bloody ridiculous.

</comment><comment><USER6> Happy Place tackles this "study": [http://happyplace.someecards.com/stop- sharing-this-crap/a-re...](http://happyplace.someecards.com/stop-sharing-this- crap/a-restaurant-studied-its-old-surveillance-and-discovered-why-it-takes-so- long-to-get-a-table-happy-place-investigates/)

</comment><comment><USER7> Linkspam for a duplicate of an apocryphal story (I don't believe this is a true story) already submitted to HN.

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


Errors should never pass silently - <AUTHOR> http://pybit.es/error_handling.html <comment><USER2> Agreed. except: pass is a major bad smell in any Python codebase, just as catch (...) is in C++. The higher up the stack you are the worse it is. A top level event loop with catch (...), maybe dispatching events, is a major red flag.</comment>