Tiny Farms Raises Seed Round as Cricket Farming Heats Up - DanI-S https://agfundernews.com/tiny-farms-raises-seed-round-from-a-zuckerberg-as-cricket-farming-heats-up5396.html <comment><AUTHOR> As someone who once owned geckos and fed them with crickets, the memory of the smell alone is enough to deter me from ever eating any cricket-based product.

<comment><USER2> Seafood can be quite stinky also and yet lots of people have no problem eating it.

<comment><USER3> Exactly. And honestly, if you've ever eaten a whole, unpeeled shrimp or prawn before, it's not _too_ much of a stretch going from there to something like crickets. They are both arthropods. They are distantly related. They look kinda-sorta-not-too-dissimilar in their natural state.

The key difference is size. There's a lot more meat in your typical prawn, and this allows you to peal and prep it in a way that distances you from its natural appearance. There's less meat inside the cricket, so you pretty much have to eat it whole, shell and all. The resulting texture is less meaty and more mealy/crunchy.

In my experience eating crickets, I've always been aware that I'm eating crickets. There is no fantastic way to mitigate the texture and the mouthfeel, shy of grinding up the crickets into a powder and reconstituting them in some other form.

(The texture doesn't bug me per se, but it sure does seem to bug a lot of people who've tried crickets. No pun intended.)

<comment><AUTHOR> It's possible some crickets are less stinky than others. But man, that smell... Shrimp, etc don't stink like that.

</comment></comment></comment></comment><comment><USER4> If there really isn't a way to do even small scale fish or eggs efficiently then we don't need to eat insects if that isn't part of our culture. There are plenty of other satisfying ways to get adequate protein, such as nuts and beans. Hundreds of millions of people live healthy lives without meat or insects.

An approach to making it more tractable to meet food needs is to integrate it back into our urban/suburban environments and take advantage of advanced indoor farming which can be carefully monitored and tended by humans or robots, which can dramatically reduce resource usage for agriculture and greatly improve land use.

[http://tinyvillages.org](http://tinyvillages.org)

</comment><comment><USER5> I can not wait to see a 2000 pound cricket, bred for size by conventional means...;)

<comment><USER6> Sorry to step on your harmless joke, but big insects can't breathe:

[https://bioteaching.wordpress.com/2012/03/24/gigantism-in- in...](https://bioteaching.wordpress.com/2012/03/24/gigantism-in-insects/)

<comment><USER7> While that exact realization did make me stop being freaked out by giant spiders in movies, technically "they can't breathe" _in earth 's current atmosphere._ Presumably, if it was worth the expense involved, you could grow giant insects in closed biomes with higher oxygen levels and (I assume) higher atmospheric pressure.

Also: Jurassic Park is BS for the same reason. The T Rex would not function in earth's current atmosphere -- at least not without tampering with their physiology and/or some kind of extra support system.

<comment><USER6> Even then they probably didn't get much bigger than a cat.

[http://listverse.com/2013/01/14/10-prehistoric-bugs-that- cou...](http://listverse.com/2013/01/14/10-prehistoric-bugs-that-could- seriously-mess-you-up/)

The huge dragonflys were still only somewhere between a crow and raven in size.

<comment><USER7> Well, I don't know what the limits would be on size, but you seem to be presuming that historical limits are hard limits. I think that is as much a mistake as assuming current sizes are hard limits. It might take crazy levels of oxygen and pressure or it might be undoable, but if we were to create environments for this purpose, hell, why stick to recreating historic earth conditions?

</comment></comment></comment></comment></comment><comment><USER8> Chocolate dipped crickets actually doesn't sound that bad. It could be a hipster's crunch bar in a few years.

</comment><comment><USER9> Unfortunately for them this reminds me of pigeons! [http://www.nytimes.com/2015/03/05/magazine/the-pigeon- king-a...](http://www.nytimes.com/2015/03/05/magazine/the-pigeon-king-and-the- ponzi-scheme-that-shook-canada.html)

</comment><comment><USER10> IIRC it's been shown that cricket farming at scale is no more effective than cow/chicken farming

<comment> DanI-S I'm one of the founders of Tiny Farms. I think you're probably recalling an article published in PLOS ONE last year that suggested the sustainability of crickets might not meet the hype.

We were obviously very interested in the study! It turns out that the paper missed some crucial factors that make insects a sustainable, efficient protein source.

I guest-wrote this post with some details; do take a look if you're interested.

[http://blog.exoprotein.com/crickets-vs- chicken/](http://blog.exoprotein.com/crickets-vs-chicken/)

<comment><USER11> Sooo tl;dr: is that chickens use more water, produce more manure, and tend to be butchered away from the farms, but the study was still correct in it's food to protein conversions being almost the same between poultry and crickets?

<comment> DanI-S I guess I'd summarize the feed conversion part as follows:

\- Crickets are slightly better than poultry at converting poultry feed into protein.

\- Crickets are great at converting processed grocery store waste into protein; poultry can't do this at all.

\- Both species are awful at converting low quality food waste (a mix of chicken poop and straw) into protein.

\- The efficient feed conversion of modern poultry comes only after years of research, development and breeding; the efficient feed conversion of insects comes "out of the box" and will only improve over time.

<comment><USER12> > Both species are awful at converting low quality food waste (a mix of > chicken poop and straw) into protein

Wait - what? Do farmers really try to feed their chickens with chicken shit?!

<comment><USER13> That's pretty much how we got Mad Cow Disease [1]

        A British and Irish inquiry into BSE concluded the
        epizootic was caused by cattle, which are normally
        herbivores, being fed the remains of other cattle
        in the form of meat and bone meal (MBM), which
        caused the infectious agent to spread

[1] [https://en.wikipedia.org/wiki/Bovine_spongiform_encephalopat...](https://en.wikipedia.org/wiki/Bovine_spongiform_encephalopathy)

<comment><USER11> They were giving the cows feed that was salted with protein sourced from ground up sheep, of which there were trace amounts of neurological tissue containing the prions.

It's not unusual for farmers to add amino acids as a supplement to feed. It's one of the targets for high-nitrogen (amino acid) GM corn.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> I think if they are going to sell at volume, it has to be as animal feed. I just can't see enough people wanting to eat crickets themselves - but most of those people probably don't care what the animals they are eating were fed with.

</comment><comment><USER14> > Farms raise seed round

Pun intended??

<comment><USER15> GMOney cricket !

</comment></comment><comment><USER16> > The tiny insects have been eaten in developing nations for centuries, but > now consumers in the Western world are increasingly accepting them as an > efficient and sustainable source of protein.

Every food has protein in it. Bananas have protein. Tomatoes have protein. All plant foods have a complete amino acid profile fit for human consumption. In fact, protein is the easiest macronutrient to get enough of, provided caloric needs are being met. So it's perplexing why eating insects is billed as a 'sustainable source of protein'. Is it more sustainable than say, rice or potatoes?

<comment><USER17> When you want to eat protein, what do you eat? Meat. It usually comes from livestock (chicken, pork, beef, fish, etc). Crickets are far more sustainable than those conventional sources of protein.

<comment><USER16> As I had explained in the parent comment, all food has protein, so it's not necessary to specially source it from a particular food. Especially when that food appears extremely unpalatable (or am I the only one who doesn't salivate at the sight of crickets?).

<comment><USER18> All food may have protein, but all food does not have essential amino acids (which cannot be made by your body) in the quantities required to maintain health. This is why non-meat eaters must be sure to add certain foods (or certain combination of foods) to their diet if they want to stay healthy. Not bagging on vegetarianism, but the idea you can get sufficient protein by just eating any old plant is.... wrong. And animal protein is a far easier and certain way to get essential amino acids. This from a guy who was a vegetarian for a number of years.

<comment><USER16> > All food may have protein, but all food does not have essential amino acids > (which cannot be made by your body) in the quantities required to maintain > health.

> the idea you can get sufficient protein by just eating any old plant is.... > wrong.

You're quite mistaken. If what you say were true, a warning of it would be clearly made by medical and nutritional authorities. Alas, no respectable organization says it, precisely because it's a myth. You can easily search on Google to find evidence which contradicts your post. Here are just the first two results I found when looking at potatoes as an example:

> The high nutritive value of potato protein can be understood when its > composition is compared with that of whole wheat (Table 2). Apart from > histidine, it contains substantially more of all the essential amino-acids ; > this superiority is particularly striking for lysine, the amount present > being similar to that in a typical animal protein.

[https://www.ncbi.nlm.nih.gov/pubmed/13536266](https://www.ncbi.nlm.nih.gov/pubmed/13536266)

> For a 120 pound adult, five potatoes (960 calories) supply over 100% of the > recommended intake for all essential amino acids.

> It's pretty difficult for an adult to eat a plant-based, vegetarian diet > that doesn't provide all EAAs, as long as caloric needs are met.

> Finally - The pool of AAs that our body uses to manufacture its own proteins > isn't limited by what we eat. Normal daily turnover of our cells provides a > substantial pool from which to draw amino acids. Bacteria that line our > colon also manufacture AAs, including EAAs, that we can utilize.

> It is a misconception that plants provide "incomplete protein", regardless > of what Ms. Lappe advanced in her 1971 book, "Diet For A Small Planet."

[http://fanaticcook.blogspot.com/2008/04/if-all-you-ate- were-...](http://fanaticcook.blogspot.com/2008/04/if-all-you-ate-were- potatoes-youd-get.html)

<comment><USER18> for a 120 pound adult....

But I weigh over 200 pounds. So 9+ potatoes a day from me to get all the essential amino acids. That's a pretty high starch to protein ratio and would be nearly my whole intake in calories to get a bare minimum of amino acids. Essentials aside, is that enough protein? Also at that point I would have fulfilled my daily requirement of calories but be still be short vitamins A, K, E, calcium, selenium, fatty acids and who knows what else.

That aside, potatoes are one plant. I don't dispute you can eat certain plants or combinations of plants to get all essential amino acids. To restate "the idea you can get sufficient protein by eating just any old plant is... wrong". It is. You'd be in serious nutrition trouble if you tried to live on just broccoli or lettuce. You have to carefully balance your diet as a healthy vegetarian and it is far easier just to add some animal protein.

For the record I still eat a "mostly" vegetarian diet. But not completely. And I feel a lot better and have more energy than when I did ate a full vegetarian diet.

</comment></comment></comment></comment></comment></comment><comment><USER19> nope</comment>


MIT startup Eterni.me promises to let you to Skype with the dearly departed - <AUTHOR> http://www.boston.com/business/innovation/blogs/inside-the-hive/2014/01/29/mit-startup-eterni-promises-let-you-skype-with-the-dearly-departed/WHeuH78CHDCYBZjzZwI9oO/blog.html <comment><USER2> Wow, I guess the creators watched Black Mirror.</comment>


Userspace WireGuard Implementation in Rust - <AUTHOR> https://github.com/cloudflare/boringtun <comment><USER2> Previous conversation at [https://news.ycombinator.com/item?id=19500725](https://news.ycombinator.com/item?id=19500725)</comment>


Ask HN: what's the site that is a dir of devs and designers by location? - <AUTHOR>

<comment><USER2> Perhaps sortfolio.com will help you.</comment>


Broadcom joins the Linux Foundation - <AUTHOR> http://lwn.net/Articles/422001/

<comment><USER2> Considering this will presumably include the Atheros chipsets they just bought, this is a very good thing.

<comment><USER3> That's Qualcomm - easy to confuse with Broadcom I agree :)</comment></comment>


Show HN: Street View Simple – Explore Street View Data in a Browser - <AUTHOR> https://callumprentice.github.io/apps/street_cloud_simple/ <comment><USER2> That's doesn't properly look like lidar data to me; at least it wouldn't be lidar that is mounted right on the street view car. Maybe they use aerial lidar somehow? Or maybe the resolution is purposefully poor?

<comment><USER3> Yeah, this definitely doesn't look like lidar data... unless its really low quality. The buildings show spatial depth, but the cars and pedestrians are pretty much all in a circle (they have no depth).

<comment><USER4> I don't know much about lidar but.. is it possible Google have done this intentionally with some sort of algorithm? After all, pedestrians and vehicles are just "noise" in the context of mapping/visualising streets.

</comment></comment></comment><comment><USER5> This seems really cool, but I don't quite understand what I'm looking at. Is this a processed version of the LIDAR data for the environment?

Also why do the "pixels" get less dense at the edges of the view? I.e as you rotate, the pixels that were previously at the center of the screen get more sparse as they reach the edges of your view? My intuition is that if you sample points on a hemisphere equally (a difficult task in of itself), then you shouldn't get this kind of pixelation. So is there something going on here with either the orientation of the squares, or sampling that causes the density/exposure to fall-off with cosine of the vector looking ahead and vector to the side?

<comment><AUTHOR> Yep - there is way to grab the depth data from each Street View pano along with the image data. I plot each point 3D space and grab the corresponding color from the image. The separation is uneven - depends on what the the depth camera sees I guess - many of the points are marked as off at infinity.

<comment><USER5> Interesting, so it's the data they provide that is sparse. If you expand the view to full screen, and stare straight-on at the wall, you can clearly see the 'sparse' pixels form a circle around the camera on the ground and at the sky.

I don't really know how LIDAR works, so I don't know if it's something intrinsic to the process, or a decision made by the engineers.

<comment><AUTHOR> Yah, I've noticed that too - I wondered if it was an. artifact of the way I render the points but since the building look mostly right, I figured that was the way it is.

<comment><USER5> That's a possibility. Are you rotating your squares in just the xy plane, or also along the "pitch"?

I find your project fascinating, thank you for sharing it!

<comment><AUTHOR> Thank you so much. I use the built in point cloud primitive which I think is a list of billboards geometry and all you can change is the size of each point.

<comment><USER5> Okay, so it has nothing to do with the orientation of the point planes.

Having thought about it some more, I think this is a consequence of the reduction of surface area hit by the LIDAR rays, as the square of it's distance. Basically, the rays are cast in a spherical distribution (which has a surface area of 4 _pi_ r^2). So the further out you go, the rays "capture" less of the environment, and you get the sort of sparse pixels at a distance.

So those circles are just reductions in pixel density that are proportional to linear distance from the center of the LIDAR sphere. You can kind of see how depending on the distance to the building walls, the surrounding 'halo' of circular pixel density increases or decreases.

<comment><AUTHOR> Nice! I noticed that halo effect you mentioned - fascinating to get some background. Thanks for taking the time to post.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> Is there any software (preferably open source) that can be used to build one's own street views for areas/countries that are not covered by Google?

<comment><USER7> The software is not open-source but both Mapillary and OpenStreetCam have very permissive licenses. I contribute to and use both services to improve OpenStreetMap.

Mapillary: [https://www.mapillary.com/](https://www.mapillary.com/)

OpenStreetCam: [https://openstreetcam.org/](https://openstreetcam.org/)

<comment><USER8> OpenStreetCam itself isn't quite closed-source: it is on Github. But the app was built on top of Facebook tools, which many people will not want on their phones. See the notorious outstanding Github issue [0]. At least OSC's hard dependency on Google Play Services appears to have been removed, though – last time I looked into installing Mapillary, it still would not run on a bare Android like LineageOS.

[0] [https://github.com/openstreetcam/android/issues/8](https://github.com/openstreetcam/android/issues/8)

</comment></comment></comment><comment><USER9> This is very cool! I'm thinking the depth data that is captured is of higher resolution. Is that true? Was this limited by the API? Or a limitation of the browser?

Super cool to see this depth data IRL.

<comment><AUTHOR> Thank you! As far as I know (it's undocumented) the only source of depth data is very low resolution. The image data (where the color of each point comes from) is much, much higher - shame they're not on par with each other.

<comment><USER10> I've been very interested in getting access to the depth data for a VR project I'm working on. Is this something you could talk more about, perhaps over email (in my profile)?

<comment><AUTHOR> Yes of course - email sent - I spoke too soon - message was blocked for unspecified reasons. My email is my profile if you'd like to start a conversation.

</comment></comment></comment></comment><comment><USER11> I've got no idea what this is. The text on the page is truncated in Safari on iOS so I assume there are some explanatory notes I can't see?

<comment><USER12> Even with the full text I do not understand what I am seeing. The comparison to previous projects did not help because I do not know them either.

It appears to be a different rendering of the Street View data that will be loaded from Google servers. What is the purpose of this site? Just to show how Street View works internally?

</comment></comment><comment><USER5> Looking at this makes me wonder how Google combines the point data to generate clean polygons. I.e when I hover my mouse over a wall in Street View, it identifies correctly the entire connected plane.

Does anyone know how this is done?

<comment><AUTHOR> I'd like to know that too - all kinds of neat things are possible when you have polygons vs points.

</comment></comment><comment><USER13> Does not work in firefox...

<comment><AUTHOR> Oh no! I don't think there is a reason it won't - I'll grab Firefox and see if I can fix it now.

<comment><AUTHOR> I just grabbed the latest version for macOS (77.0) and it works okay there? Which platform are you seeing it fail on?

<comment><USER14> Works for me on the latest versions of MacOS and Firefox :)

<comment><AUTHOR> Thanks!</comment></comment></comment></comment></comment>


Applying to an accelerator? We predicted 2014 deadlines YC, AngelPad, etc. - <AUTHOR> https://www.bloc.io/founder?utm_campaign=founderlaunchhackernews&utm_source=hackernews&utm_medium=hackernews

<comment><USER2> How do I get our accelerator added to this list? [http://brandery.org/](http://brandery.org/)</comment>


Scott Morrison says Australia's political parties have been hit by a cyberattack - <AUTHOR> https://www.abc.net.au/news/2019-02-18/prime-minister-scott-morrison-cyber-attack-hackers/10821170 <comment><USER2> Retaliation for the encryption law, perhaps?</comment>


Why MIT uses Python instead of Scheme for its undergraduate CS program (2009) - <AUTHOR> https://cemerick.com/2009/03/24/why-mit-now-uses-python-instead-of-scheme-for-its-undergraduate-cs-program/ <comment><USER2> > However, he did say that starting off with python makes an undergraduate's > initial experiences maximally productive in the current environment.

I read this as "the parents paying tuition wanted their kids to learn practical skills so they can make money".

I learned Scheme as a first language and I will be forever grateful for it.

<comment><USER3> Same here. When I learned programming at UC Berkeley in the 90s, Scheme was the intro language. It was perfect precisely because it was so far from being the kind of language you'd use to engineer large projects. The first day, the professor spent less than half of the period introducing the entire syntax of the language...it's so damn simple. Beyond that, all learning was abstraction, problem solving and CS concepts. It was learning how to take a very limited set of primitives and construct a larger whole.

I pity the MIT students that will waste so much of their intro course learning what is a vastly more complex language. There will be so many students that will struggle to learn python-specific topics that are irrelevant to learning the act of coding and may decide that CS and programming just aren't for them. Scheme is such a perfect language for this task because it puts so little between the student and the crucial experimentation phase that can instill a fascination/curiosity with programming. And now MIT students will miss out on that.

<comment><USER4> We also live in an era where it's basically impossible that kids getting into MIT's CS program haven't been exposed to programming before. I think it's a romantic idea, but the fact is college isn't where you learn to program, it's where you learn the time complexity of btrees.

<comment><USER5> This is a really significant point. I mean, I love SICP. I think Scheme is elegant as hell. But I learned to program with Basic in high school, and SICP in Scheme would have _seemed like_ a huge step backward. I know Fortran did, which was my first college-level experience. I can appreciate Scheme now, but I don't think I would have then. And I can only imagine how "kids today," who have grown up on real languages would feel ("real" in contrast to Basic, not Scheme).

</comment></comment></comment></comment><comment><USER6> I couldn't be more thankful that python was one of my first languages, and this is something that I've passed on to everybody I've ever mentored.

Python is a real language that does real things, but it's also completely approachable to a newbie.

If programming seems hard, then you have a bad teacher that is probably just trying to evangelize their hobby to you.

And god help anybody that tries to start with JavaScript.

<comment><USER7> I don't get why people hate on starting with JavaScript. Since ES6, JS strikes a really nice balance between practical usage and theoretical value. Like Scheme it's a dynamically typed language focused around a single data structure (list for Scheme, object for JS), with first class functions. Sure, it has weak typing and there's some scoping complexity. But, that's a completely reasonable tradeoff for being one of the most useful languages in the entire world. Not to mention, JS's weird casting issues are not as common as people make them out to be and const/let solves a lot of the scoping problems.

<comment><USER8> I disagree completely - javascript encourages shitty programming by design and by culture. If you don't expose the young chances are they won't get infected.

<comment><USER9> Because all of those who started on something like C, C++, or Java have way better programming practices? My experience tells me that starting language is literally not a vector in determining how good of a programmer someone is.

<comment><USER8> I agree. Maybe its the barrier to entry for publishing that has gotten a lot lower and thus pushing down the quality of public code (which is natural). Or maybe im just worried about everything being pushed to the browser.

</comment></comment></comment></comment></comment><comment><USER10> 10 years ago; I'd really like to hear a post-mortem of this decision.

For context, MIT's previous EECS curriculum began with 4 required courses for all EE and CS majors. This meant that EEs had to suffer through Scheme, and CS'ers had to suffer through circuits. I'm sure everyone has their own opinion on whether this is a good thing or a bad thing.

Regardless, the EECS department switched to a new 7(?) "core" class format in which students choose 4(?), giving students the freedom to take more relevant courses to their interests/major. In this switch, 6.001 (scheme) was out and replaced with a more hands-on robotics-based Python lab class.

I can't really say which approach is better, but I do think there's an important place for the more pure "thinking" computer science classes too, even if it's not the first class taught to freshmen.

<comment><USER11> I hire people coming from this program. I can no longer rely on students understanding control systems, having read Leveson's therac paper, having worked with a notebook-style REPL (I.e., something stressful to model exactly in your head, promoting confusion, leading to notes and comments and structure.)

The near-total demise of Athena matters here too. I can and do hire people with all those skills! It's still very possible to get them at MIT. It's just not nearly the default, and since it's way up in electives I'm at least as likely to find the best people carrying a degree that says 21W as VI-3.

I don't envy the VI admins. They have a problem akin to that of a suddenly virally successful startup. 400 people a year come in; about that many better succeed.

</comment></comment><comment><USER12> As someone who's read SICP when first starting out and re-reading it and re- watching the lectures much much later - I can say that 95% of the value of SICP flew completely over my head when I was first learning.

I remembered catch phrases like 'assignment is bad', only to be led down the 'functional programming' cult years later because it reminded me of sicp.

Building up entire systems from first principles is quite beautiful and illuminating - once you've used existing systems and began to wonder how they came to be.

For most people - I don't think they're really that curious. University is not structured to give you the time to go deep or be curious - you're busy doing assignments, readings and studying for tests. SICP is a gem for those who are lucky to have a few months to really go down the rabbit hole. For everyone else, it'll likely feel like needless torture or 'wow, that's cool and I don't have time to explore it any further' at best.

<comment> white-flame > _University is not structured to give you the time to go deep or be curious > - you 're busy doing assignments, readings and studying for tests._

That statement, while true, should anguish the heart of anybody in any way related to or concerned for academia.

<comment><AUTHOR> Undergraduate coursework has always been that way. Especially in any truly competitive environment.

You do, however, get that time when you write a master's thesis.

</comment></comment></comment><comment><USER13> I think scheme was better educationally but harder pedagogy. It requires a french metric tonne of time and contact time and patience to get some ideas through. I speak as one who did FORTRAN 74 first and tried to learn LISP self taught. Talking to others who did LISP first, what they did is recapitulate the instantiation of fundamental data structures and algorithm concepts while we just made 10x over engineered battering Rams out of rusty iron bars.

Python3 (which I live in btw) doesn't exactly exude it's functional elements beyond the simple lamda you have to import from functools so recursive solutions don't lend themselves to it syntactically speaking, inherently in the language.

OTOH those battering rams come in handy for beating simple problems into submission.

<comment><USER14> Yes, exactly.

I think there's basically only three ways to teach EECS: stack top-down, bottom-up or as-needed/random.

If students learned bottom-up, starting at silicon, they'd have a firm grasp, and be more mindful, of practical system capabilities. Python and such would either be a starting crutch or a last learned.

Just like Scheme, a learning language, we had a learning OS: MINIX 2. Such constrained environments are easier to teach but less relevant in the real world, but the valuable part is the mastery of concepts is portable across technological fashions... it instills a confidence that playing with the Linux or FreeBSD kernel doesn't because it's so overwhelming to all novices, rather unlike a minimal working example.

Furthermore, because of the bifurcations in tech, fewer people have even seen a server much less racked a datacenter floor up, or understand assembly or C. This is concerning if academia is mostly producing CS students narrowly focused on web FE/BE.

</comment></comment><comment><USER15> I feel like Python is too half baked to be a really good language to teach fundamentals. By "half baked" I mean - sort of supports functional programming, but not really. Sort of supports object oriented design, but not really. Sort of allows type system theory to be taught, but not really. So many sort ofs. It's a great language if you just want to get someone cranking some code. But if I wanted a language to be a base from which I could explore all the corners of computing I'd think else might make more sense (and having written that I can't really think of a good one - Scala in theory, but in practice it's awfully complex to get started in).

<comment><USER16> Wait, don't all these "sort ofs" make it actually an ideal tool for teaching the basics? I mean, we're talking about basics, so what you're saying is that you can teach the basics of a number of different paradigms with one language.

<comment><USER17> > what you're saying is that you can teach the basics of a number of different > paradigms with one language.

I don't know about Python, but that is one of the delights of SICP and scheme in general.

It's not that there isn't a OO implementation in scheme; it's that there are too many. Implementing an OO system is a medium-advanced exercise left to the reader. As a result there are many available, up to the point one wonders if "OO" can be rightfully coined "a paradigm".

Constraint based/logic programming? I think it's a chapter in SICP, and covered by one of the SICP video lectures showing how to build a simple prolog-like language to illustrate some other concept

Type systems? This one is a little funny. There's a SICP lecture on it (the recordings are from the 80s), and I thought it was an unfortunate choice of name, since "type systems" are a real and important concept now in modern computer languages and the naming would clash, but no, it actually was an implementation of a type system as we now use the term.

I think one of the reasons scheme doesn't have "a lot of stuff" is because most stuff, if well understood, is trivial. If it doesn't seem trivial, one simply doesn't have a deep enough understanding of the concepts yet.

One of the things about using scheme effectively as a teaching language is that it puts the wizardry in the actual wizard, not in the magic box with the blinkenlights.

</comment></comment></comment><comment><USER18> Can someone from MIT confirm that only Python is taught in the MIT intro to cs class? We also teach SICP as the intro to cs class at Berkeley (cs61a.org), and we start with Python, but then change to scheme by the latter half of the semester.

<comment> Ar-Curunir AFAIK the switch to Scheme is not complete, no? You're still writing Python for the most part.

</comment></comment><comment><USER19> I like to imagine Lazy University, where the committee meets and immediately standardizes on somebody's offhand remark that the intro course should use Javascript because it's probably running on every device the students are using.

Or, replace Javascript with any other high level language likely to be running on every smartphone. If there are competing offhanded suggestions then bonus lazy points for using a random number generator to decide the winner.

Only when the committee meeting is over do Lazy U. profs begin planning how to teach their classes. And there's more time for that since the Lazy U. committee meeting was an order of magnitude shorter than most. (Although the laziness would probably be recursive and result in the elimination of the lecture, lab, geographic proximity to students, and assignments that can be distinguished from publicly accessible repositories full of code and research.)

</comment><comment><USER20> I love Python for a lot of things but I've come to realize how complex it can really be.

I regularly see others write Python code that I have to fix to add robustness. I also run "pylint" or equivalent tools before committing major changes to scripts because it is quite easy to make mistakes that won't otherwise be found right away.

Some of my least favorite pitfalls:

\- If you call a function that _happens_ to refer to a variable that only exists in the calling code, it will _work_ (and yes, since the same function can be called from more than one place, "caller" is not always the same so the effect is not always the same). Bonus points if it only matches the caller because of a typo. Any convenience afforded by this behavior is not worth the potential for head-scratching and painful debugging.

\- Python has things that "seem" like the obvious/right thing to do when they are not. One great example is "except:", which to this day I have to keep correcting in various scripts to prevent important errors from being completely lost. Another one is expecting to write the entire script at column 0, when people are supposed to know 'if __name__ == "__main__"'. Also, a type's apparent shared/unique status is not always clear so novices can get a _long_ way with sort-of working code until they are completely confused by the broken cases (e.g. you can simply list and "initialize" class fields with trivial string and number values _until_ one day you add something like a "dict()" and everything breaks for that _one_ field because all your class instances are mysteriously sharing it; suddenly you need to define a whole new "__init__()" to fix things when it wasn't apparently needed previously).

\- It is not always obvious to maintainers of functions that keyword arguments are extremely fragile and that they can overlap with other arguments. If an argument is renamed or relocated for example, stuff elsewhere can break in stupid ways. Tiny code changes can create big headaches.

<comment><USER21> > If you call a function that happens to refer to a variable that only exists > in the calling code, it will work

Could you give an example of what you mean by this?

<comment><USER22> Not the OP, but I think what they are referring to is the following:

      def foo():
        return bar

      if ...:
        bar = 42
        print(foo())
      else:
        print(foo())

If ... evaluates to a truthy value, bar will be defined and foo() will return 42, if it is falsy, bar will not be defined and the code will throw a NameError.

I would agree that this is extremely confusing behaviour. Of course people wouldn't write code like this (hopefully), but a similar situation might occur in a much more obscure situation.

</comment></comment></comment><comment><USER23> One of the best electives I took in my CSE program was Art in Code. We covered Processing and Arduino and the only required textbook was Making Things Talk. [https://www.amazon.com/Making-Things-Talk-Practical- Connecti...](https://www.amazon.com/Making-Things-Talk-Practical- Connecting/dp/0596510519)

These tools were designed to be accessible to non-programmers and had our entire cross-disciplinary class making games, interacting with hardware, and getting inspired to find new ways to interact with computers. I wish this class had been required by every first-year CSE student.

</comment><comment><USER24> Where I went to school, they didn't teach programming at all. First day, first class, if I remember correctly, the teacher walks up in front of the class and says something like, "Computer science is the design and implementation of algorithms..." and finishes with saying they won't teach us any programming. The assignments must be implemented in C and run on campus computers. There are optional, zero credit labs to get help learning to program or get help with homework held by the TA's.

I went to one lab, the lab computers and all campus computers were running Slackware with Afterstep. I was a Window Maker and Red Hat user at the time, I was impressed and thought it was neat.

Of course this is from memory and 18 years ago almost to the day, but that's the gist of it. Anyway, I felt like I learned a ton and loved it every bit. I went to a few of the CS club meetings and got the impression basically every one had already had internships with Intel, IBM, or Microsoft. This was my freshmen year and was basically in awe.

</comment><comment><USER25> > Then, what generaly happened was a programmer would think for a really long > time, and then write just a little bit of code, and in practical terms, > programming involved assembling many very small pieces

Oh how I bloody want to do jut this today. I want my program to be split into as small parts as possible, every part (i.e. every function) being defined in a separate file. But Python encourages the direct opposite - writing long files of code to avoid introducing too many "modules" and this is a debilitating headache.

> At some point along the way (he may have referred to the 1990's > specifically), the systems that were being built and the libraries and > components that one had available to build systems were so large, that it > was impossible for any one programmer to be aware of all of the individual > pieces, never mind understand them.

Thanks to my ADHD it is very hard to me to fit anything that doesn't fit in half a screen into my mind. The longer a module growth the lower my productivity falls.

<comment><USER26> > But Python encourages the direct opposite - writing long files of code to > avoid introducing too many "modules" and this is a debilitating headache.

How does Python encourage mega-files? AFAIK there's nothing that prevents nor discourages proper organization of code into files.

I frequently use multiple files to organize my library implementations.

<comment><USER25> Just some clues: A class definition can not be split in many files (e.g. in C# you can do this easily with "partial class" declaration and that's amazing, needless to say you can and almost always do split one module (a namespace) into many flies there). Whatever you put in a separate file you will have to import manually everywhere you use it and you have to care about circular imports. You have to invent names all the time, a package, a module and a function having the same name smells a headache. The C# namespaces definition system could be made even better than it is already (i.e. by allowing class- free functions directly inside namespaces) but it already feels just so much better than Python "module = file" model.

<comment><USER27> >A class definition can not be split in many files (e.g. in C# you can do this easily with "partial class" declaration and that's amazing, needless to say you can and almost always do split one module (a namespace) into many flies there).

I think most would consider this a good thing. WYSIWYG. If a class is so gargantuan as to require multiple files, it should probably be multiple classes that communicate via a well defined, public API, not implicitly.

>You have to invent names all the time, a package, a module and a function having the same name smells a headache.

This is only an issue if you are importing *. If you import in a namespace (`from foo import module`, `from bar import other_module`), you can have `module.module`, `other_module.module` and anything else all living in harmony. If you work in python as python intends and not C/C++ (namespaced imports, not text-prepended ones), it's much, much cleaner.

It's also possible to, generally speaking, have private submodules within one larger module. You can do this with `__init__.py` by importing the various submodules, explicitly re-exporting the things you wish to be top-level public, and setting `__all__` to include them. This is why I can do something like `import numpy as np; np.ndarray` even though ndarray is defined in an extension module referenced by `numpy.core.multiarray`.

See multiarray ([https://github.com/numpy/numpy/blob/master/numpy/core/multia...](https://github.com/numpy/numpy/blob/master/numpy/core/multiarray.py)), which pulls things from `numpy.core._multiarray_umath`, then exported by core via `numeric` ([https://github.com/numpy/numpy/blob/master/numpy/core/__init...](https://github.com/numpy/numpy/blob/master/numpy/core/__init__.py#L60)), then again by the top level __init__ ([https://github.com/numpy/numpy/blob/master/numpy/__init__.py...](https://github.com/numpy/numpy/blob/master/numpy/__init__.py#L143)).

<comment><USER25> > If a class is so gargantuan as to require multiple files

IMHO anything that doesn't fit in one screen is "gargantuan"

> If you import in a namespace (`from foo import module`, `from bar import > other_module`), you can have `module.module`, `other_module.module`

Which looks ugly and feels a nasty headache if you want to maintain intuitive vision of your code and dependencies structure.

> It's also possible to, generally speaking, have private submodules within > one larger module. You can do this with `__init__.py` by importing the > various submodules, explicitly re-exporting

I know but even reading this paragraph hurts. Too much mess to manage manually.

<comment><USER27> >IMHO anything that doesn't fit in one screen is "gargantuan"

This is a bit of an odd definition, but sure (I've seen C++ files whose imports alone were gargantuan under your definition). I just looked through a production python application, and it there were 2 non-test classes that were more than 100 lines long. Both were relatively verbose (well commented, use type hints so argument lists use significant vertical space, etc.)

In general, it seems like you're limiting yourself to, with the necessary boilerplate, one or two functions in any file that isn't "gargantuan". This makes it needlessly difficult to understand the structure of your applications since you are forced to split related logic up among multiple files. This, more than screen length or the import syntax, makes it much, much harder to "maintain intuitive vision of code and dependencies structure" as you say.

>Which looks ugly and feels a nasty headache if you want to maintain intuitive vision of your code and dependencies structure.

Not at all. It's more explicit about the dependency structure (`module.method( _args)` at a call site gives you a much better idea of the structure than just `method(_ args)`), and so makes it significantly easier to maintain an intuitive vision of the code and dependencies.

It's incalculably easier to understand dependency structure when using the `import module` syntax than `from module import Class` or `from module import *`. So much so that the former allows reliable, large scale refactorings without any runtime information. The others, as you correctly recognize, do not.

>I know but even reading this paragraph hurts. Too much mess to manage manually.

Then don't! You don't need to. It's really only necessary for truly public/widely used APIs (like numpy) where understanding the internal structure of the module is not worth it for the average user.

<comment><USER25> > Then don't! You don't need to. It's really only necessary for truly > public/widely used APIs (like numpy) where understanding the internal > structure of the module is not worth it for the average user.

I mean for the library developer, not for the user.

</comment></comment></comment></comment></comment></comment></comment><comment><USER28> I contend that within reason, it really doesn't matter exactly which language happens to be one's very first programming language. Programming is ideally motivated by passion, and in that case, a person is certainly not going to give up and change career just because their intro language was a bit inconsistent or rocky. Anyone who gives up programming before at least being fluent in three languages, is giving up prematurely.

This doesn't mean assembler or brainfuck is okay as a first language (although the former was the 2nd langauge I taught myself and its reputation for difficulty is vastly exaggerated in my opinion), but it does mean that endless discussions about whether Python is better than Javascript or C is better than Lisp is probably splitting hairs.

<comment><USER29> Assembler is arguably a better intro language than most. It makes it explicitly clear what each step of the programming does and how it executes. Once students have done a few projects the they'll be ready to appreciate a higher level language like C.

Throwing objects and lambdas and type inference at kids without giving them any grounding in what a computer actually is and does is unfair, and leaves them building castles in the sky.

<comment><USER30> I can't tell if this was meant to be serious of facetious, but I took this route. I learned 8088 assembly to make an ancient robot platform move, and then learned C a few months later.

Assembly had a few weird architecturey things that you had to understand before things made any sense (e.g. registers, segment:offset addressing, stack pointers, calling conventions), but beyond that, all of the tasks were simple and self-contained.

C was a breath of fresh air after that. Things like pointers, which have a reputation for being confusing, make perfect sense coming from assembly.

<comment><USER29> Serious. I'm not saying you should stick with assembler for any great length of time, but understanding what instructions and registers and memory _are_ is pretty important later on. In university I had fellow students who struggled with pointers because even at the end of first year they didn't really understand what memory _was_ or how it worked.

<comment><USER31> [https://stefansf.de/post/pointers-are-more-abstract-than- you...](https://stefansf.de/post/pointers-are-more-abstract-than-you-might- expect/)

</comment></comment></comment></comment></comment><comment><USER32> Bullshit translator: mean intelligence of newcomers becomes so low that we have to lower our programs or only veeeeery few can attend them. And we need more students so more money. Disagree? Say thanks to all school reforms in the past 30-40-50 years.

A bit of extras: in today world we can't produce really anything new due to managerial-driven society and beside that it's better people do NOT really understand how things work to avoid not only embarrassments but also potential idea to radically wipe out certain kind of business models. So better saying: you can't understand the big picture! Keep play with thing Bigs&powerful give you, they came directly from the nature do not worry about it.

Sorry to have made few "potential-flamey comments" in a row but reasons written in the article have really no other meaning to my eyes. That's not intended to be political or flamebait, it's simply what I see. I do NOT start with scheme, I discovered it years after and I even do not love it too much due to it's n-th implementation incompatibilities, srfi and "sparse" documentation... But when I discover lisp-like languages in general I see a completely different world and really change my mind. Guile scheme, even with the lacks of libraries etc it's now one of my preferred way to express concepts.

Also as per explanation I can't accept as engineer and even as a citizen to make thing, under my responsibility, with my signature etc that I do not really understand. This kind of idea is simply the exact opposite of engineering.

<comment><USER33> > mean intelligence of newcomers becomes so low that we have to lower our > programs or only veeeeery few can attend them. And we need more students so > more money. Disagree? Say thanks to all school reforms in the past 30-40-50 > years.

uh, you know this is about MIT right? A school that has seen its acceptance rate dwindle to nearly 7%?

<comment><USER32> Yep, and I also see few of their on-line filmed lectures and form my present opinion...

I'm European so I came from a really different (older/less reformed) school system and I'm old enough to see how it's change. I also casually interact with USA people and my conclusion is simple: having really poor schools "because there is college after" it can't really work. I see in EU, reform after reform, how unprepared become high-school students and how hard, if not impossible, universities try to "recover" them changing their programs. In the USA this phenomenon it's extreme so even with a super-low acceptance rate results have to be also extreme.

You simply can't get smart but ignorant people and in few years transform them in high-skilled and acculturated guys. Being smart help of course, but learn require time. The better you start, early, the better you'll end up after.

</comment></comment></comment><comment><USER17> The article mentions Prof. Sussman in "the great macro debate".

This reminded me of a phrasing I once read, but never quite understood, in the "acknowledgement" section of the R4RS Macro appendix:

"Hal Abelson contributed by holding this report hostage to the appendix on macros".

Can anybody who was/is closer to the subject matters explain what this entails?

</comment><comment><USER34> Lots of previous discussions:

[https://hn.algolia.com/?query=mit%20python%20scheme%20points...](https://hn.algolia.com/?query=mit%20python%20scheme%20points%3E10&sort=byDate&dateRange=all&type=story&storyText=false&prefix=false&page=0)

</comment><comment><USER35> basically instead of building your own pipelines and valves and pumps and reservoirs, etc. from scratch, today those thing are already available and proven to be working.

so you only need to learn to be a plumber.

</comment><comment><USER36> Better question is why they'd use the completely impractical scheme in the first place.

<comment><USER37> Because it was intro to computer science, not intro to computer practicalities

</comment></comment><comment><USER38> Python makes sense for engineering, like building robots, where practicality is the most important goal.

However, Python is a lousy choice for computer science, where clarity and correctness are much more important. It saddens me that an elite institution like MIT apparently can't see the difference.

<comment><AUTHOR> To be fair, I think many people expect that a BS degree in either computer science or engineering would make them employable.

<comment><USER38> Sure, but the emphasis is different. Someone with a CS degree should understand both theory and practice. Someone with an engineering degree doesn't need much theory.

FWIW, I have a CS degree, and my job is mostly engineering, but using a sound theoretical approach to problems has saved me many times. On the other hand, I've worked with several good programmers over the years who didn't have a college degree at all.

<comment><AUTHOR> About 15 years ago companies stopped hiring people that could grow into a space, and started hiring people that could immediately work in one.

</comment></comment></comment></comment><comment><USER39> I just wish there was a simple way to serve web pages in Python like PHP, without having to learn a whole framework/stack/templating language.

<comment><USER40> Flask is not bad.

</comment></comment><comment><USER41> For it is intro??!

Edit: Never mind, its good now. ;)

</comment><comment><USER42> Perl or bust.

</comment><comment> gamma-male I had to learn scheme in uni, everyone hated it. It scared me away from functionnal programming languages for years until I understood that parenthesis are not necessarily tied to FL and cool FL exist like erlang or ocaml.

</comment><comment><USER43> I think it's because if,then,else in Python is less verbose than LISP family language.</comment>


How Steve Jobs Changed (James Surowiecki) - <AUTHOR> http://www.newyorker.com/talk/financial/2011/10/17/111017ta_talk_surowiecki

<comment><AUTHOR> The thesis of this piece is that Steve Jobs was less controlling after he returned to Apple than before, and that the iPhone "is far more open than the Mac ever was..."

I am guessing that James Surowiecki does not read Hacker News. Would anyone here care to make the case that iOS is more "open" than the Mac, in any sense?

</comment><comment><USER2> The more interesting point he doesn't mention is the swithch over from PowerPC architecture to Intel x86. Has anyone done a good analysis of the impact?</comment>


Evernote just got hacked. Big time. - <AUTHOR> http://mostcosmic.tumblr.com/post/44377575824/evernote-just-got-hacked-big-time

<comment><USER2> I don't think there is much doubt that the error is on their part. That advice is still good though.</comment>


How I built my blog in one day - <AUTHOR> http://erjjones.github.com/blog/How-I-built-my-blog-in-one-day/

<comment><USER2> The problem with these "I made this X in 5 minutes" announcements is that frequently, it _looks_ like you made it in five minutes (and I don't mean that in a good way). This phrasing " I did X in Y time" is obviously meant to highlight one's skill and speed, but if the product looks crappy, the forest is missed for the trees.

I think this is a neat collection of frontend tools to make your Jekyll (or other static) blog snazzy. It's a good article in that respect: "Here are all the tools you need for a full featured Jekyll blog." But making the point of it being a "fast setup", as someone else pointed out, is a weak point, since wordpress and others are just as fast or faster.

<comment><USER3> I couldn't agree more and was about to make a comment like this. Bootstrap does not mean that you don't need a designer or time to think about UX, and it makes me ill to see all these sites coming out with no thought put into design or ux that are boostrapped and they say "hey look how great this is, and how fast I made it!"

Straight up default bootstrap is even worse in my eyes than craigslist style css. It's overused, and it's not enough to impress anymore. Take 6 more days, talk to a designer, and make this a real blog.

<comment><USER4> FWIW, I tell most developers I know to not stress out about their personal blog design and just focus on the value of content. The vast majority of default/built-in blog layouts are just fine. You're not a designer, you're not seeking to show off your design chops with a custom layout – just write good articles.

That said, this particular sort of design where it's not a standard blog theme and not a custom design, but is just tweaked Bootstrap just seems neither here nor there.

<comment><USER5> That's true to some extent, but I think it's worth to throw in a couple personalizations to avoid looking totally cookie-cutter.

I think most readers would be OK seeing something looking bootstrappy, but not with something that is pure unmodified boostrap.

</comment></comment></comment></comment><comment><USER6> First of all, I _hate_ the "here is my weekend project I created in x seconds/minutes/days", _but_ I consider the title of this post to be an ellipsis: "How I built my blog in one day _and you can too!_ ".

If you click on the link, you'll see that it's a project that is not there to promote the submitter nor stroke their ego, but to help other people simplify something many find to be tedious and difficult - and in an incredibly well- presented way.

I know about the Twitter Bootstrap like everyone and their dog, but I only see articles of praise rather than articles that praise by showing instead of telling through a guide and demonstrating the result in the form of the site itself.

Well done. This is the best article I have seen on Twitter Bootstrap.

</comment><comment><USER7> Or you could just install wordpress? Unless your aim is to jump through the hoops, or satisfy the nerdy carving of coding we all have.

<comment><USER8> Wordpress requires a database, Jekyll does not.

Jekyll is also much easier to maintain, with it's built in web server for testing, and static page generation, using a github repo is so simple it's stupid.

Jekyll is the way to go.

<comment><USER7> I don't remember every having to deal with database after installation. And with most host nowadays, it's sort of auto-managed.

Update with wordpress is a click-away.

I've seen much difference between two when it comes to maintaing, having to touch databases etc.

<comment><USER9> Judging by the number of Wordpress blogs that become unresponsive when they hit the front page of HN, it doesn't seem like it's too easy to keep them running with any traffic (or at least, people seem not to be doing it).

</comment></comment></comment></comment><comment><USER10> How I built my blog in one day:

Sat down with Go, wrote a web handler (they already have http support). Added code to parse a tree of directories containing blog posts. Write markdown code in individual files in those directories. Blog code reads the markdown, parses it, and inserts it into a template. Add Disqus to taste and serve.

Final step: don't submit it to hacker news, profit :)

<comment><USER11> I'd be interested in seeing that Go code ..

<comment><USER10> It's only been tested on Plan 9, with an older version of Go, but you can check out the code at <https://bitbucket.org/floren/goblog>

It's not as nice as it could be, but I'm pretty happy with how it works.

<comment><USER11> Thanks for that - as a new learner of Go, its definitely nice to have something interesting to read. Oh, and the fact that you're a Plan9 user making use of Go: awesome! :)

</comment></comment></comment></comment><comment><USER12> Great, Another Bootstrap Site :)

</comment><comment><USER13> what the hell is up with all the WE WROTE OUR WIDGET IN 18 HOURS crap

do it right, nobody gives a shit how fast you achieved mediocrity

<comment><USER14> I'm actually surprised how it took a whole day to set up a blog on bootstrap html with no custom styling. yawn

</comment></comment><comment><USER15> I did something similar last week -- you should invest in theming your site away from the default bootstrappy look/feel. Also it would be helpful to add details some more details about applying/switching themes and perhaps mention customizing the page lists used in navigation via declaring pages in a defined group in the YAML front-matter of a page and iterating over them in your layout's default.html.

</comment><comment><USER16> Ignoring the Bootstrap aspect, I don't really see the need to explain how you added the Twitter/G+/Reddit buttons. I mean, they're just a script you copy and paste from the websites.

On the other hand, the dynamic Repo/Followers count was a nice touch. Didn't know about that one.

<comment><AUTHOR> Agreed. It is a lame explanation for sure. I thought I would aggregate everything in one place whether it was easy or hard. Thanks for the feed back.

<comment><USER16> No problem. It would make a person who wanted to do exactly the same thing with 0 knowledges life a lot easier, but on the other hand I don't think someone like that would be using Jekyll.

</comment></comment></comment><comment><USER17> thanks for this. one barrier for me is that it is a requirement for the code snippets to render nicely in google reader, but this can probably be solved by using markdown instead of gists. another barrier is that i can't write special code, like a vanity url redirector, to keep my SEO juice when content moves, but maybe this is not so big an issue as i originally thought it was.

what is your draft management workflow like? this is important to me too, more important in fact than optimizing for people to actually read the blog, because if draft management sucks then i don't blog enough to get readers.

<comment><USER18> What do you mean by 'workflow'?

I've been writing on a github pages-based blog and I dump all draft blog posts into a _wip folder. They get version controlled like any other file and I can add the YAML and move them into the _posts folder when I'm ready to publish.

Edit: Since I've been posting on that blog, I've decided to move my personal one to GitHub pages too. When posting is as simple as pushing a file it becomes easier to focus on writing. The only reasons I haven't switched are (1) extracting content from my old provider and (2) theming and set up for the new one.

<comment><USER17> what tools do you use to edit? i loved using google wave to manage my drafts, and i haven't really recovered from that - i use google docs now but there's no great way to extract content from that in a way that will be fragile to changes in factors outside my control.

<comment><USER18> Ah, now I see what you were getting at.

I just use plain text files and my current editor of choice is Sublime Text 2 (really like the full screen mode). I write in markdown and if I really want to 'preview' it I open a copy of the file in Coda, where Ive installed a plugin for this purpose. That's pretty much all I need.

The remaining barriers to writing are non-technical (e.g. time, will, etc)

</comment></comment></comment></comment><comment><USER19> I searched high-and-low for a way to make sense of Jekyll for anything other than a blog. It nearly drove me mad. I ended up abandoning the idea of hosting notes on github as a website, and ended up cramming content into HTML manually.

<comment><USER20> Vagrant's online documentation is done with Jekyll, the idea being that it's very easy for contributors to edit content and view their changes.

<http://vagrantup.com/docs/index.html>

</comment></comment><comment><USER21> I also built mine with same version of jekyll that github is using since I want to host my site in github pages however the build is broken when I commit a post that has {% raw %} tag. So I cant write a post with that tag anymore.

</comment><comment><USER22> Thanks for the post, Eric. I found it very useful. I wasn't aware of Jekyll, so it was great to discover that you could survive just fine in 2012 without a DB. Time to migrate from Wordpress.

</comment><comment><USER23> I'm a big fan of octopress, which is essentially Jekyll + themes + social media + generation and deploy scripts. Octopress includes good documentation and has been easy to use with Github.

</comment><comment><USER24> I have been learning rails and had a similar project idea of developing a blog creator using this framework, but you have bet me to it! Now, I have to look for another idea. :)

</comment><comment><USER25> Here's how to make a blog in 10 minutes!

1\. git clone git://github.com/erjjones/erjjones.github.com.git 2\. Delete posts, write posts, push to your own repo.

<comment><USER25> Update: I didn't know about octopress. much better.

</comment></comment><comment><USER26> I like the blog style and the bootstrap use. Good job

</comment><comment><USER27> I'm using Jekyll bootstrap too, mostly as a way to get acquainted with Jekyll....however, for any new blogger, I think they'd do better to just do Wordpress at first</comment>


Van Eck Phreaking - <AUTHOR> https://en.wikipedia.org/wiki/Van_Eck_phreaking <comment><USER2> See also: [https://en.wikipedia.org/wiki/Cryptonomicon](https://en.wikipedia.org/wiki/Cryptonomicon)

...and the entertaining tangent story involving Van Eck Phreaking and vintage furniture.

<comment><USER3> "Entertaining" isn't a word I'd use to describe that overlong digression in an otherwise entertaining novel. I love Stephenson, but he sure could use a stern editor at times.

<comment><USER4> It certainly wasn't the only digression either. I think you sign up for this when you pick up a Stephenson book. It's part of his intellectual style.

<comment><USER5> The Diamond Age is like 75% digression.

</comment></comment></comment></comment><comment><USER6> Markus Kuhn's work on "optical eavesdropping" — reconstructing a CRT image from reflected visible light — is really interesting: [https://www.cl.cam.ac.uk/~mgk25/ieee02-optical.pdf](https://www.cl.cam.ac.uk/~mgk25/ieee02-optical.pdf)

<comment><USER7> A related idea:

[http://graphics.stanford.edu/papers/dual_photography/](http://graphics.stanford.edu/papers/dual_photography/)

(with video: [https://www.youtube.com/watch?v=p5_tpq5ejFQ](https://www.youtube.com/watch?v=p5_tpq5ejFQ) )

</comment></comment><comment><USER8> This SDR implementation looked really interesting for sniffing monitor output - [https://github.com/martinmarinov/TempestSDR](https://github.com/martinmarinov/TempestSDR)

Alas I don't have a suitable SDR to try it with.

<comment><USER9> Holy crap, it works for distances up to 120m using a custom built antenna. [https://youtu.be/8HV70b-DpE0?t=23m46s](https://youtu.be/8HV70b-DpE0?t=23m46s)

Though $50 will get you enough of an antenna, amp and SDR to get started...

</comment></comment><comment><USER10> If you want to play around with Van Eck Phreaking, try [https://packages.debian.org/sid/tempest-for- eliza](https://packages.debian.org/sid/tempest-for-eliza) , which lets you listen to MIDI-like music via AM radio from your computer monitor.

</comment><comment><USER11> Unrelated, but at the bottom of [http://celeriac.net/sx/public/](http://celeriac.net/sx/public/) is a sonification of Van Eck's sequence</comment>


Posterous.com (YC Summer 2008) launches Autopost to Facebook - <AUTHOR> http://blog.posterous.com/new-on-posterous-autopost-to-f-6001

<comment><USER2> Hey Garry and Sachin please work faster and make the rest of us look bad.

We're not giving this back: <http://is.gd/75Vl>

<comment><USER3> our lawyers need to contact your lawyers about the use of our image there. who are your lawyers? ;)

<comment><USER2> You already know how I treat lawyers.

</comment></comment></comment><comment><USER4> Garry, you guys are _incredible._ You launch a new feature, what, every other week?

</comment><comment><USER5> pretty sweet actually.

</comment><comment><USER6> How does Posterious authenticate you? Anyone could forge the email sender.

<comment><USER3> we have a whole system in place for analyzing the email headers and determining that you are who you say you are. Arrington challenged people to spoof his site and it worked well. He still uses our site today: <http://techcrunch.posterous.com/>

<comment><USER6> That's cool. What if I take an e-mail from Mike Arrington's iPhone and just change the contents (well, I would also change stuff like headers with date/time)? I can't try it with Arrington because I have never received email from him, but I would have received email from my Facebook buddies I wanted to prank. _wink_ _wink_</comment></comment></comment>


How to implement a proper credit card processing solution for your business - <AUTHOR> http://www.mehdi-khalili.com/processing-credit-card-transactions#.U42qjOBF_TI.hackernews <comment><USER2> For small businesses the only way to properly set up CC processing is to leave everything to an outside company, the CC data may not be entered at all on your site so you don't end up with having to comply with PCI DSS, the audits and the associated costs.

<comment><AUTHOR> I agree. A startup really doesn't have to build their own credit card processing solution.

WRT PCI DSS it's not very hard to comply. Some 7 years ago in a company that persisted everything about customers we changed the system for compliance within two weeks.</comment></comment>


Demo Days: Obsolete. Over-Hyped. Disaster (India) - <AUTHOR> http://www.vijayanand.name/2012/10/demo-days-obsolete-over-hyped-disaster/

<comment><USER2> i was trying to access your model but site shows Sorry. The Squarespace account thestartupcentre is not available. If you are the Site Owner for this account please login above.</comment>


Game Theory Calls Cooperation Into Question - <AUTHOR> https://www.quantamagazine.org/20150212-game-theory-calls-cooperation-into-question/ <comment><USER2> Rather amusing title since it could be reworded as "Game theory still fails to explain biology." We know organisms cooperate. The fact that we consistently fail to find reasons to cooperate in game theory suggests that the simplifying assumptions that it makes are incorrect. To give only one example, what happens when agents can choose from among a set of games to play with opponents with known histories?

<comment><USER3> Exactly correct. Why play with cheaters?

The fundamental flaw in applying game theory to biology is to constrain the possible outcomes when unfairness is detected. In game theory, all you can do is change your strategy for the next round; in reality, we have multiple punishments to bring to bear, such as refusing to play, public shaming, fines, imprisonment, killing, etc.

Game theory is only an "ok" model of cooperation/competition in real life.

<comment><USER4> That's not a problem with game theory. That's a problem with using overly simplistic games. You can easily model all of those punishments with different payouts in a game. In fact, when I studied it in school most of the games we worked through included punishment mechanisms.

</comment></comment></comment><comment><USER5> Perhaps "cooperation brings game theory into question" would be a better title?

<comment><USER6> You can't upvote this enough. If the predictions of your model don't square up with reality, reality that came into being through evolution on the geological timescale, it's time that you should look at the shortcomings of your model. Perhaps _it_ can evolve into something with actual predictive value.

</comment></comment><comment><USER7> Many people seem to have game theory backward.

Game theory is a modeling tool that assumes all relevant utility is baked into the payoff matrix.

Games (payoff matrices) that capture unique outcomes/behaviors are often given memorable names from human situations that approximate the games. For example the matrix referred to as 'prisoners dilemma' demonstrates a situation where dominant actions give a suboptimal outcome. In describing where this game may apply, economists found simultaneous interrogations to be a colorful and close enough approximation to the idealized game.

It's _not_ the case that game theorists started with the situation of interrogating prisoners and ended up with the game matrix.

Similarly, for anyone saying that 'that wouldn't happen in real life', you're actually saying that the payoffs don't accurately model the outcomes.

<comment><USER8> > Game theory is a modeling tool that assumes all relevant utility is baked > into the payoff matrix.

Correct, and they mostly use the prisioner's dilemma, which is very simplistic, and probably not what it happens in nature (or common situations) most of the time.

</comment></comment><comment><USER9> Pack animals like dogs naturally discourage fighting amongst themselves [1]. Strife weakens the pack.

Consider the effort it takes 1 person to build a house, or the amount of effort it would take to build an mp3 player alone from scratch.

Game theory would have you believe the optimal way to win at poker is to booby trap the card table and rob your competition.

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

<comment><USER4> Correct and there are games that model that behavior, for instance iterated stag hunt[1]. This shows the benefits of cooperation for pack animals much more than the classic prisoner's dilemma. Of course you could construct a more detailed game that includes factors like defense and having a single leader that would be even closer to reality. The math behind game theory is right, its a question of whether we have chosen the right game to play.

[1] [http://en.wikipedia.org/wiki/Stag_hunt](http://en.wikipedia.org/wiki/Stag_hunt)

</comment></comment><comment><USER10> _A monkey will scream to warn its neighbors when a predator is nearby. But in doing so, it draws dangerous attention to itself. Scientists going back to Darwin have struggled to explain how this kind of altruistic behavior evolved._

Seriously, this is not that hard. If the prey is relatively mobile, for most predators the gig is up if the prey is aware of them. If the prey is alerting it's friends that a predator is around, then that particular animal has seen the predator and is usually therefore relatively safe from it. For example, if an angry dog is barrelling towards your unsuspecting friend, shouting out may draw attention towards you, but you can shout and take countermeasures at the same time. It's not a zero-sum game, and you don't need hundreds of iterations to make it beneficial to yourself. I mean, hell, watch a random Attenborough nature special, and you're likely to hear him talk about the prey spotting the predator, leading to an abandonment of the hunt.

The strange maths continues with the "Bat's Dilemma" example. In the case where both bats do the same thing, share or not share, there are disconcordant outcomes. Same population of bats, same amount of food available, yet somehow there is much more hunger if they don't share. This would only make sense if each bat only occasionally had a meal from a source which was much larger than it could eat by itself, then had a long period without finding food... in which case, sharing the excess really isn't a dilemma, since it's excess. I really don't understand the maths in that example.

Game theory really does seem to be a hammer desperately searching for anything that looks like it might possibly be a nail. It is interesting that the end of the article says it has some suitability for microbe research, where things are much more stimulus/response and much less complex.

</comment><comment><USER11> > In a single instance of the prisoner's dilemma, the best strategy is to > defect — squeal on your partner and you'll get less time.

No, that is not right, if it was there would be no dilemma, and this subject would not be discussed ad nauseam. The whole point is that the situation is symmetrical for both players, _they should reach the same conclusion and act the same way_... and using the strategy of cooperation their outcome is better than defecting.

<comment><USER12> Cooperating is strongly dominated by defecting in Prisoners Dilemma. This is an obvious and very basic game theory result.

Game Theory models strategic situations and doesn't offer insight outside what is modeled. If you think there should be communication supporting cooperation in the game, that game is NOT the Prisoners Dilemma and is in fact another game.

The Prisoners Dilemma is a model that is stacked very much against cooperation. Think about it, the prisoners are held in separate rooms and not allowed to communicate at all in the original story.

<comment><USER13> Iterated Prisoners dilemma is less clearly stacked in favour of defecting, although I assume that the actors' memories would fall under "communication":

[http://en.wikipedia.org/wiki/Prisoner%27s_dilemma#The_iterat...](http://en.wikipedia.org/wiki/Prisoner%27s_dilemma#The_iterated_prisoners.27_dilemma)

<comment><USER12> Yes, a repeated game like Iterated PD is a different game with a different solution. The Grim strategy for example.

</comment></comment></comment></comment><comment><USER14> The question I was left with is, what conditions do you introduce into an evolving population that make cooperation more beneficial than extortion? They talked about just introducing random conditions or mutations but I wonder if the ones that led to (cooperation beating extortion) had any sort of pattern.

</comment><comment><USER15> The most interesting point that was glanced at in the article from my point of view is that small changes in conditions lead to big changes regarding optimal strategy. My chaos theory is a little flimisy but I think conceptually a general framework of considering optimal strategies as strange attractors makes sense.

In fact I think it's more interesting to find the systems in which a given strategy is successfull as opposed to finding a successfull strategy given the system. There's all sorts of interesting questions that arise from this point of view the most obvious one being how does one (or animal populations) change the inputs that form the system in such a way that it leads to the given strategy being successfull.

</comment><comment><USER16> Evolution happens primarily in spurts with high selection pressure in which cooperation probably makes less sense than in stable populations with relatively low selection pressure.

</comment><comment><USER17> Yes, this is a quip:

Carrot and stick: The two poles of community (of the community magnet).

</comment><comment> barry-cotter >Researchers have proposed different possible mechanisms to explain cooperation. Kin selection suggests that helping family members ultimately helps the individual.

This is wrong and should significantly reduce any trust you may have had in the journalist who wrote the piece. Kin selection is about how helping family members helps the genes that make the individual. Behaviour will spread if it increases inclusive fitness. If you can save a sibling (coefficient of relatedness 0.5) with probability 1 and the chance of you dying is 0.4 you do it. If P(death) is 0.51 or higher you don't.

>Group selection proposes that cooperative groups may be more likely to survive than uncooperative ones.

The conditions necessary for group selection are incredibly strong and very rarely occur in practice in biological settings. When they do you get hive organisms like naked mole rats or the Hymenoptera. There is stronger evidence for group selection in cultural evolution than in most of biology.

Further reading [http://lesswrong.com/lw/kw/the_tragedy_of_group_selectionism](http://lesswrong.com/lw/kw/the_tragedy_of_group_selectionism)

>"As mutations that increase the temptation to defect sweep through the group, the population reaches a tipping point," Plotkin said. "The temptation to defect is overwhelming, and defection rules the day."

>Plotkin said the outcome was unexpected. "It's surprising because it's within the same framework — game theory — that people have used to explain cooperation," he said. "I thought that even if you allowed the game to evolve, cooperation would still prevail."

>The takeaway is that small tweaks to the conditions can have a major effect on whether cooperation or extortion triumphs. "It's quite neat to see that this leads to qualitatively different outcomes," said Jeff Gore, a biophysicist at the Massachusetts Institute of Technology who wasn't involved in the study. "Depending on the constraints, you can evolve qualitatively different kinds of games."

Mathematicians develop model that gives us a deeper understanding of the shallowness of our understanding of cooperation.

Unfortunately my math isn't strong enough to understand the paper but you'll get a much better understanding of how game theory applies to biology from _The Selfish Gene_ by Richard Dawkins than from this article.

Don't read anything by Stephen Jay Gould [http://pleiotropy.fieldofscience.com/2009/02/krugman-on- step...](http://pleiotropy.fieldofscience.com/2009/02/krugman-on-stephen-jay- gould.html)

[http://en.wikipedia.org/wiki/Stephen_Jay_Gould#The_Mismeasur...](http://en.wikipedia.org/wiki/Stephen_Jay_Gould#The_Mismeasure_of_Man) In 2011, a study conducted by six anthropologists reanalyzed Gould's claim that Samuel Morton unconsciously manipulated his skull measurements,[82] and concluded that Gould's analysis was poorly supported and incorrect. They praised Gould for his "staunch opposition to racism" but concluded, "we find that Morton's initial reputation as the objectivist of his era was well- deserved."[83] Ralph Holloway, one of the co-authors of the study, commented, "I just didn't trust Gould. ... I had the feeling that his ideological stance was supreme. When the 1996 version of 'The Mismeasure of Man' came and he never even bothered to mention Michael's study, I just felt he was a charlatan."[84] The group's paper was reviewed in the journal Nature, which recommended a degree of caution, stating "the critique leaves the majority of Gould's work unscathed," and notes that "because they couldn't measure all the skulls, they do not know whether the average cranial capacities that Morton reported represent his sample accurately."[85] The journal stated that Gould's opposition to racism may have biased his interpretation of Morton's data, but also noted that "Lewis and his colleagues have their own motivations. Several in the group have an association with the University of Pennsylvania, and have an interest in seeing the valuable but understudied skull collection freed from the stigma of bias."</comment>


Show HN: pgXplorer - A GUI for postgres - <AUTHOR> http://pgxplorer.com

<comment><USER2> Screenshots might go a long ways to making this more popular.

<comment><AUTHOR> Thanks for the comment Justin. I shall add some soon.</comment></comment>


The rocket motor of the future "breathes" air like a jet engine - <AUTHOR> https://arstechnica.com/science/2020/06/the-rocket-motor-of-the-future-breathes-air-like-a-jet-engine/ <comment><USER2> This is an example of what's known as a Rocket Based Combined Cycle engine (RBCC), sometimes also referred to as Ducted Rockets or Air Augmented Rockets or Ejector Ramjets.

It's essentially the chemical analogue of a jet engine, using the thrust of a small rocket for compression instead of fan blades. While like a ramjet it doesn't have any moving parts in the airflow, the rocket engine lets it produce static thrust, so it can potentially take off from the ground. The pressure rise from the rocket exhaust can be much higher than what a mechanical system of the same weight could produce. The exhaust of the fuel rich rocket engine can be combusted further downstream with the entrained air, acting like an afterburner. The hot exhaust mixes with and heats the incoming air very quickly which is important at high speeds where the air has a short residency time in the engine. At higher altitudes where there isn't enough air to support combustion, the duct acts as a large and thus high-efficiency nozzle for the rocket engine. While not necessarily the best propulsion method at any one stage of the flight, RBCCs are unique in that they beat rocket performance at every point from ground to orbit.

That all being said, RBCCs have some limitations. The ducts add significant weight and make the rocket more aerodynamically complex. For single stage to orbit orbit, most trajectories spend little time in the range where RBCCs provide their greatest advantage. For two stage to orbit, a Turbine Based Combined Cycle (TBCC) engine outperforms the RBCC for the first stage and the weight can't be justified over that of a pure rocket for the second stage. Finally with the advent of propulsive landing, the value of an airplane-like shuttle with a heavy structure has been called into question.

While interesting and promising, it's hardly a new technology, it's been in development for decades. The Soviets were likely the first to seriously explore the concept in the form of their GNOM ICBM which reduced the size sufficiently for the ICBM to be transported easily on land[0], using Nasa explored an RBCC powered SSTO shuttle in the early 90s known as GTX[1]. Solid Propellant RBCCs have seen wide use in recent years for the latest generation of air-to-air missiles from several countries.

[0] [http://www.astronautix.com/g/gnom.html](http://www.astronautix.com/g/gnom.html)

[1] [https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/199900...](https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19990062726.pdf)</comment>


Show HN: On-demand data from Web Services, right in your spreadsheet - <AUTHOR> https://www.flex.io/ <comment><AUTHOR> Hi all -- its been a long journey, but wanted to share our app that makes remote data accessible as a custom function in Excel/Google Sheets. In addition to Python/Node.js we have a handful of nocode function packs for various web services, but happy to do some free coding if there are some specific integrations you'd like to use. :-) For fun, here's a Hacker News one: [https://www.flex.io/integrations/hackernews](https://www.flex.io/integrations/hackernews) Any thoughts/feedback would be appreciated.</comment>


The ocean is broken - <AUTHOR> http://www.theherald.com.au/story/1848433/the-ocean-is-broken/?cs=12 <comment><USER2> This is one tiny piece of a lot of troubling fukushima news

[http://www.okcfox.com/story/23728488/scientists-puzzled- as-r...](http://www.okcfox.com/story/23728488/scientists-puzzled-as-rare-sea- monsters-wash-ashore)

[http://www.vancouversun.com/travel/Sudden+disappearance+sard...](http://www.vancouversun.com/travel/Sudden+disappearance+sardines+serious+economic+ecological/9034961/story.html)

[http://rt.com/news/fukushima-apocalypse-fuel- removal-598/](http://rt.com/news/fukushima-apocalypse-fuel-removal-598/)

[http://www.washingtonpost.com/blogs/blogpost/post/fukushima-...](http://www.washingtonpost.com/blogs/blogpost/post/fukushima- plant-could-be-sickening-killing-ringed-seals-in- alaska/2011/12/28/gIQATdPhMP_blog.html)

<comment><USER3> Fukushima is very troubling, but at least it was only an accident. The overfishing mentioned in the article is systemic.

<comment><USER4> The article also mentioned the other effects of the tsunami: telephone poles, styrofoam, pieces of buildings, etc. were all still floating. Again, an accident, but it's hard to deny that it's preventable; at least one town was saved by a sea wall that was relatively inexpensive to build [1].

That said, overfishing is probably the worse problem since it's not tractable to enforce regulations (since police aren't on site to ensure that there isn't too much "extra" catch thrown back, etc.). At least it would be possible to mandate the construction of seawalls.

[1] [http://www.dailymail.co.uk/news/article-1386978/The- Japanese...](http://www.dailymail.co.uk/news/article-1386978/The-Japanese- mayor-laughed-building-huge-sea-wall--village-left-untouched-tsunami.html)

</comment></comment></comment><comment><USER5> In general, I want a little more evidence than this before declaring global catastrophe.

For example, I'd like to get confirmation of the problem from NOAA[1], particularly the NMFS[2]. Alternatively, Green Peace[3] would no doubt be one of the first organizations to raise an alarm - they care about the ocean, and presumably gather signals from many sources. I want confirmation because the simple fact is that it's impossible to get a comprehensive picture of the Pacific's health from one voyage - there are too many variables at play.

The skeptic in me questions the tacit assumption (the one that makes the OP's observations so troubling) that _the entire Pacific is normally teaming with fish_. However, I assume that fish travel in schools, and that fish density is wildly variable. E.g. there are normally vast swaths of the Pacific that are "dead". Indeed, anyone going out to fish for sport knows that fish aren't uniformly distributed, and they don't stay in one place. In the open ocean, these schools are vast, but so are the dead zones when there are no schools.

That said, not being in the field, I'm not sure how we gauge the health of an entire ocean from a "supported biomass" perspective. Nor do I know anything about who would be responsible for officially raising an alarm about global catastrophe. Or if they did, what we could do about it. It seems like the only thing we really _could_ do is reduce the rate at which we harm the ocean, rather than dumping into it.

[1] [https://en.wikipedia.org/wiki/National_Oceanic_and_Atmospher...](https://en.wikipedia.org/wiki/National_Oceanic_and_Atmospheric_Administration), [http://www.noaa.gov/](http://www.noaa.gov/)

[2] [https://en.wikipedia.org/wiki/National_Marine_Fisheries_Serv...](https://en.wikipedia.org/wiki/National_Marine_Fisheries_Service), [http://www.nmfs.noaa.gov/](http://www.nmfs.noaa.gov/)

[3] [http://www.greenpeace.org/usa/en/](http://www.greenpeace.org/usa/en/)

<comment><USER6> You are right to be skeptical in the fact that anecdotal evidence from a yachting voyage could establish a general case for mass bio-mass (or lets just say a sub-set of bio-mass, like catchable fish) decline, and your point that large portions of the Pacific are normally dead-zones is true because of the way that anoxic regions can develop due to oceanic circulations of nutrients and dissolved oxygen concentrations.

But, you might be concerned to learn that the NOAA typically only reports on mass die offs fairly close to US shores, at least within our EEZ zone- because they are only adequately funded to do so- [1] is an example of such a report. There is no well-funded transnational environmental authority that can make a reliable 'alarm' about the potential of mass common-water oceanic die-offs (think 'tragedy of the commons'); Greenpeace is more of an advocacy organization than a scientific or monitoring authority.

One thing we can indirectly empirically gauge is the size of these large garbage patches at sea simply via imaging. In fact NOAA has put together a fact sheet on this [2], although it is rather simplistic. What we can glean from this is the fact that they are real, quite large, and if you look at the map it looks as though the OP's voyage passed through it at least once if not twice. Which would explain much of what he saw, but not necessarily the consistency (pervasiveness) of the dead zones observed..

Finally, just food for thought (er.. perhaps bad choice of words.. haha) that there is a sort of conflation in the article about the long-going decline of fish stocks and accumulation of garbage due to dumping and the more acute poisoning/death of fish stocks due to radioactive leakage from Fukushima in the areas off-coast Japan specifically. There is academic evidence [3] that large fish, specifically tuna, are acting as vector to transport large amounts of spoiled biomass as far afield as California. How much of the biomass die- off does this explain? I have absolutely no idea, but since both issues are quite concerning in their own right we should probably keep tabs on both..

[1] [http://www.dailykos.com/story/2013/07/30/1227489/-Mass- Aquat...](http://www.dailykos.com/story/2013/07/30/1227489/-Mass-Aquatic-Die- Offs-in-FL-NOAA-Declares-2nd-Unusual-Mortality-Event-Since-April)

[2] [http://marinedebris.noaa.gov/info/pdf/patch.pdf](http://marinedebris.noaa.gov/info/pdf/patch.pdf)

[3] [http://www.pnas.org/content/109/24/9483.short](http://www.pnas.org/content/109/24/9483.short)

</comment></comment><comment><USER7> When I read these types of articles, I always end up doing a bit of mental translation in my head to make sense of it.

The ocean is obviously not "broken". It is a large body of salt water covering the majority of the planet's surface. It still exists as a liquid, therefore it's still an "ocean"

A more useful translation of the title is "The ocean had a lot of artistic meaning to me in the past. A recent trip demonstrated to me that this artistic value is now gone"

Very difficult to get clicks for, sure, but at least with the modified title I can pick it up and know what to do with it.

It's a shame the author had this experience. I too like the birds and water without debris. I wonder, though: is the state of the entire ocean the same as this author indicates? Or might he be using a bit of artistic license and hyperbole to emphasize his loss?

I feel that he's probably stretching things quite a bit for effect, but that's fine. After all, the point is his emoting to us and us understanding his feelings. I was able to feel what he was feeling. Very well done.

The problem here, however, is trying to have some sort of public policy discussion based on what amounts to a poetic interpretation of reality. Just what is the ocean supposed to do? Look pretty? Purify our air? What job do we assign the ocean that it can then fail or succeed at? Do we owe some consideration to a large body of water that we don't to, say, a rock? Or is the ocean's "job" just to keep us alive?

These are subjective questions. Different people can have widely different answers to them. We make a mistake when we jump from a nicely written article about one man's personal loss at his view of the changing state of a large body of salt water and deciding what's right or wrong for everybody else in the world.

So I liked it, but with caution. Many readers will be unable to both appreciate the author's loss and keep in mind the context of these types of works. It all just bleeds together to them.

<comment><USER8> It has nothing to do with "artistic meaning". The ocean's are acidifying and being over fished at the same time. The entire ocean ecosystem is collapsing. Soon there will be no fish, the ocean will be fully of jelly fish. Ecosystem's dependant on the "old way" will be next up to start collapsing.

Oh right, and we need the ocean as a carbon sync and it generates most of the oxygen on the planet.

But yeah, it's all about the art. Nothing to do with the ocean being an incredibly complicated delicate life support system for the planet that we are breaking...

<comment><USER9> Nice story, but the "ocean is broken" is still linkbait. Its not in any way true as a statement or even as a concept. The article is _a_ story about "how my pre-conceived notions" are broken, signed--The author. That hurts the credibility of the author, and diminished any (actual) point he was trying to make.

</comment></comment></comment><comment><USER10> Yep. Everytime I through it down the trash or toilet I wonder where it's going for about a minute. Then I forget about it.

[http://en.wikipedia.org/wiki/Great_Pacific_garbage_patch](http://en.wikipedia.org/wiki/Great_Pacific_garbage_patch) [http://es.wikipedia.org/wiki/Isla_de_basura](http://es.wikipedia.org/wiki/Isla_de_basura)

</comment><comment><USER11> Time to build a million year wall around this plant, deep enough to protect the aquifer and big enough to keep it from the ocean and the ocean from it.

<comment><USER12> No, more like "time to learn how to do arithmetic", such as how little something like Fukushima amounts to when diluted in a volume the size of the Pacific Ocean.

The Soviets used to dump scrap ship reactors into the Arctic Ocean whole. Many of them, and over a long period of time.

<comment><USER13> It all adds up, and over a long period of time.

<comment><USER12> Not really.

The ocean already has 4.5 billion tonnes of uranium in it. That's the equivalent of 45 MILLION reactors.

And of course the Fukushima reactor wasn't dumped in the ocean whole to begin with.

</comment></comment></comment></comment><comment><USER14> Relatedly, here is an excellent article on ocean acidification by the Seattle Times:

[http://apps.seattletimes.com/reports/sea- change/2013/sep/11/...](http://apps.seattletimes.com/reports/sea- change/2013/sep/11/pacific-ocean-perilous-turn-overview/)

<comment><USER15> Not really. Here is Cliff Mass' response:

[http://cliffmass.blogspot.com/2013/10/ocean-acidification- an...](http://cliffmass.blogspot.com/2013/10/ocean-acidification-and- northwest.html)

<comment><USER14> And their response to his response:

[http://blogs.seattletimes.com/seachange/2013/10/12/expert- cr...](http://blogs.seattletimes.com/seachange/2013/10/12/expert-critique-of- seattle-times-sea-change-project-ignores-the-science/)</comment></comment></comment>


Why Is Bitcoin Rising? - <AUTHOR> https://medium.com/digital-asset-news/why-is-bitcoin-rising-45a026161faa <comment><AUTHOR> I think this signals that altcoin season has started and the crypto winter has begun to thaw.

I think there are several factors including Fidelity, the trade war, Project Libra, etc... even WeChat banning crypto and ICO chats ups demand for Bitcoin in China.</comment>