Errol Morris's Secret Weapon for Unsettling Interviews: The Interrotron - <AUTHOR> http://www.fastcodesign.com/1663105/errol-morriss-secret-weapon-for-unsettling-interviews-the-interrotron <comment><USER3> " _Think about it: How does Morris get such penetrating interviews if the interviewee is just looking at a camera? If they 're looking into the lens and not at Morris, it would be hard for Morris to get anything like the unsettling, revealing, startlingly personal interviews that are Morris's bread and butter. Would you tell a flat piece of glass about the biggest mistake you ever made in your life?_"

This is formulated to sound as convincing as possible without any evidence, but I don't buy it at all. The recent documentary "Human" is full of heart- rending interviews of people having emotional breakdowns and looking straight at the camera. I'm quite sure they did not use any such mirror system. You can occasionally see the interviewee glancing sideways at the interviewer, but if anything, it seems that talking to a camera gives them the strength to talk about personal things in an unusually powerful way. (Disclosure: I know some people on the production team and have done a bit of work on their website)

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

<comment> sjm-lbm I'm a massive Morris fan (so much so that I've read about this contraption before), and while I've only watched a few minutes of the documentary you linked, I do think that the interview style is different. It's not just about talking to the camera, but rather about talking to the camera as if it's human - McNamara, for instance, regularly wiggles his finger at the camera, as if he's lecturing to you in your seat. Toss in the fact that Morris regularly shouts his questions or comments from somewhere off to the side - <USER2> somewhere across the same room, as dictated by the way that this system works - and there really is an unsettling way that it feels as if _you_ are the focus of what is happening, with the SecDef during the start of the Vietnam war and your crazy shouty uncle over for dinner.

It's just so hard to articulate how it feels, and I'm sure the effect doesn't work on everyone as well as it does on me. Errol's movies have changed my opinions on both McNamara and Rumsfeld, though, and that's a phenomenally tall order (and, I think, speaks to how vividly human he can make his interview subjects).

<comment><USER4> Changed your opinions in what way?

<comment> sjm-lbm I'd seen both of them as something like a character out of House of Cards - Rumsfeld in particular as a obviously corrupt and power hungry man (my opinion of McNamera going in was, I guess, somewhat more nuanced).

Their respective documentaries, though, provided believable human motivations for what they were trying to do. I'm pretty convinced that both men harmed the world in serious ways, but I'm also pretty convinced that both genuinely meant well - which somehow makes me both sympathetic to them and a little frightened at the same time.

</comment></comment></comment></comment><comment><USER5> When are they going to put this concept into video conferencing? The worst part about a video call us that the other person is looking at your eyes which are usually below his camera so there is a huge conversational disconnect.

<comment><USER6> When people again tolerate box-like, not-flat, computer monitors. The trick requires an off-axis camera and that requires a mirror tilted at 45*, creating a device slightly thicker than it is tall. There are some tricks (stepped mirrors etc) that might reduce that depth, but to do so without distortion would be difficult.

I'm not sure that a camera hidden inside the screen would work. Getting that 'intimate' effect requires the subject to look directly at the camera lens as they would at another person's eyes. So any camera hidden inside a monitor would have to be aligned with the eyes/face of the image, a problem on larger screens. This is why the technique works best with small screens and probably isn't workable on larger screens or screens situated too close to the subject.

<comment><USER7> > Getting that 'intimate' effect requires the subject to look directly at the > camera lens as they would at another person's eyes. So any camera hidden > inside a monitor would have to be aligned with the eyes/face of the image

Do face detection on the video from the other end, and move/crop it to place the eyes right where the camera is.

<comment><USER8> This is a bloody clever idea. I am off to the patent office right now :P

<comment><USER6> But think about how the image would look if locked to the centre of the subject's face. Every little head tilt would translate into wobble of everything in the background. A simple slight nodding of the head would look very unnatural. Our eyes compensate for this, but on screen it might be very strange.

<comment><USER8> Intel has already solved all this and is about to release a camera that does it (see my sister comment for details). It is still a brilliant idea even if it is not original :)

</comment></comment></comment></comment></comment></comment><comment><USER9> In the first graphic, it looked like the blue person was holding the laptop which was incredibly confusing and seemed totally impractical.

<comment><USER10> Yes! That confused the hell out of me. Let's also address the horrible background color and the unreadable font.

The formatting in general was bad, too. The first paragraph could've been more clear, and the embedded youtube videos force you to jump around.

edit: WOW! The last paragraph:

      Luckily, the basic idea is simple enough that any enterprising
      filmmaker could probably build her own if she really wanted to.
      And Hardie's illustrations should make that process even easier.

<comment><USER11> There's a more readable version of the graphic if you click through to Hardie's site:

[http://www.whiterabbitdesigncompany.com/interrotron.html](http://www.whiterabbitdesigncompany.com/interrotron.html)

and then click the PDF link at the bottom:

[http://www.whiterabbitdesigncompany.com/uploads/1/4/1/3/1413...](http://www.whiterabbitdesigncompany.com/uploads/1/4/1/3/14130356/interrotron_w_render2a.pdf)

</comment></comment></comment><comment><USER12> This is also how teleprompters work.

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

<comment><USER13> Fun fact: once you know to look, and provided they're close enough to the camera, you can sometimes see the view-ee's eyes making small side to side movements as they read lines of text from the prompter.

<comment><USER14> Once you know to look? In most cases I've seen it's totally evident, even if its done by the most experienced news presenter...

</comment></comment></comment><comment><USER15> We recently completed shooting two online courses (MOOCs) using an Interrotron and I definitely think it makes for a more intimate experience between the subject and the viewer, but as with all tech, the interviewer still matters a lot. It doesn't just magically work. You still have to engage and draw out the subject.

</comment><comment><USER16> In case anyone's interested in ready-made solutions, this company builds Interrotron-like gear:

[http://eyedirect.tv/](http://eyedirect.tv/) (video overview: [https://vimeo.com/108373352](https://vimeo.com/108373352))

</comment><comment><USER17> Erol Morris is quite brilliant in shaping the narrative of each documentary. I think he has a message to sell and he's found way to make that message come across in a very sterile, non-forced way. I'm curious if Elizabeth Holmes will be a subject coming up. He was recently hired by Theranos to film some videos in the lab there, and around the company. [1] Should be interesting.....

[1] [http://www.wsj.com/amp/articles/under-fire-theranos-ceo- stif...](http://www.wsj.com/amp/articles/under-fire-theranos-ceo-stifled-bad- news-1468195377)

<comment><USER18> I saw the video shot - it was linked here, I think - and what was released is just a puff piece. She talks about realizing her life's purpose and that leading to the creation of Theranos. Perhaps he got some more interesting footage, too, but I expect the company owns it all as a work-for-hire. (And if they don't, that's really dumb considering they just exposed your CEO to one of the world's great interviewers.)

<comment><USER17> Well if Theranos continues on its current trajectory, it's going to crater. Maybe then the perfect opportunity for Errol to step in and say Ms. Holmes, lets tell your side of the story.

</comment></comment></comment><comment><USER19> Anyone else see this when trying to access the first video?

> This video contains content from Zefr SonyPictures, who has blocked it on > copyright grounds.

</comment><comment><USER20> He used the Interrotron on his incredible First Person TV series, which essentially gave us 17 Morris-quality (ie, "as good as it gets") short documentaries.

Highly recommended - [https://en.wikipedia.org/wiki/First_Person_(TV_series)](https://en.wikipedia.org/wiki/First_Person_\(TV_series\))

<comment><USER21> This must have been amazing to watch back then but now it just seems like a lot of questionable has-beens like Temple Grandin, Josh Harris, the 'Mr. Debt' lawyer (who is now in jail), etc. The series just didn't age well.

I think the TV networks forced Morris to do much more topical subjects than he was used to. His film work has a much more timeless quality. As a Morris fan, I cringe a little at the "flavor of the month" style interviewees from the old TV show. I think this is also why documentaries have so much more potential than TV. There's far more autonomy for the creators and less of a corrupting profit incentive.

<comment><USER22> Could you elaborate on Temple Grandin as a 'questionable has-been'? I quite enjoyed one of her books recently.

<comment><USER21> I think she represented the 90s pop-science autism fad (ASD hero worship stuff that trivializes non-HF autistics - which is sometimes called the ableist view) and a lot of her claims are on the receiving end of a fair bit of criticism. That's on top of her clear conflict of interest being a consultant to agribusiness and the Oprah-like PR her people have developed for her:

Some links if you're interested:

[http://www.autistichoya.com/2013/08/critiquing-temple- grandi...](http://www.autistichoya.com/2013/08/critiquing-temple-grandin.html)

[http://www.forbes.com/sites/vickeryeckhoff/2011/12/06/horse-...](http://www.forbes.com/sites/vickeryeckhoff/2011/12/06/horse- slaughterhouse-investigation-sounds-food-safety-and-cruelty- alarms/#380c39c63036)

[http://dailypitchfork.org/?p=536](http://dailypitchfork.org/?p=536)

</comment></comment></comment></comment><comment><USER23> I don't want to be "that guy", but this is just the age-old teleprompter technology re-purposed to show another camera feed instead of text. It's not exactly a "eureka!" invention.

<comment><USER24> Who would expect a filmmaker to make stunning technical contributions? That's not the point. The point is that he made a slight new change to an existing device to great artistic effect.</comment></comment>


Why Discourse uses Ember.js - <AUTHOR> http://eviltrout.com/2013/02/10/why-discourse-uses-emberjs.html <comment><USER2> Great post.

Client-side web applications have come a long way in the past year. In the comments I read when Discourse was released, many people dismissed out-of-hand rich JavaScript apps based on stale information.

For example, they assumed that infinite scrolling would mean you would lose your place when hitting the back button. They also assumed you would not be able to command-click a link to open it in a new tab.

Surprisingly to many, both work just great in Discourse; try it out if you don't believe me.

Many people also held on to the belief that JavaScript apps are fundamentally incompatible with assistive software; that one is also a common misconception that's just not true anymore. Steve Klabnik wrote up a great overview of it[1].

[1] <http://words.steveklabnik.com/emberjs-and-accessibility/>

A lot of people pan client-side apps as being slow and bloated and overloaded with JavaScript. Surprisingly, they don't have more than your average full- featured, server-side web application[2][3]. And I think Discourse proves that you can build large apps that feel lightning-fast.

[2] <https://twitter.com/tomdale/status/300653212472598528>

[3] <https://twitter.com/tomdale/status/300653225785311232>

If you investigated building apps like this in the past and didn't think it was ready, now is a great time to give it another shot. The tools are maturing rapidly, and while still not perfect for every use case, we're knocking down limitations every day. I'm excited for all the cool stuff people will build in 2013.

<comment><USER3> The problem is, we're trying to write desktop applications on top of browsers which were designed for navigating hypertext documents. It's akin to writing apps with macros inside Microsoft Word. Somehow, everybody still thinks this is sane.

 _Something_ has to give. Either browsers just turn into JS VMs with HTTP capabilities and get away with window chrome and the page interaction model (aka, back/forward), or we give up on web apps. Right now, web apps are all about endlessly duct-taping the browser together in JS to try and get a decent UX with a new, ground-breaking framework someone released this month, but developer productivity still sucks and polish is never quite there.

<comment><USER4> >we're trying to write desktop applications on top of browsers which were designed for navigating hypertext documents

I think that's a rather silly thing to say. You might as well say that computer games are doomed because we're trying to render complex scenes using hardware that was designed for simple calculations. Just about all successful technology comes about through an evolutionary process, building on older technology and morphing into new applications. When people notice this and say "this technology was originally designed for something else! It must be wrong, so let's reinvent it from scratch!" it usually doesn't end well.

<comment><USER3> > I think that's a rather silly thing to say. You might as well say that > computer games are doomed because we're trying to render complex scenes > using hardware that was designed for simple calculations.

We certainly aren't trying to render complex scenes using hardware designed in 1995. Browsers, on the other hand, have the same interaction model since 1995, but we're trying to use it for a totally different intent (static vs. interactive). I'm talking about _user experience_ here.

> When people notice this and say "this technology was originally designed for > something else! It must be wrong, so let's reinvent it from scratch!" it > usually doesn't end well.

It's not about reinventing from scratch, it's about actually evolving the browser. It's semi-broken currently. Mobile made the problem even more apparent (show me a useable mobile web app).

<comment><USER5> Can you give specific examples of what is broken and how you would fix it?

<comment><USER6> Broken may not be the best description. People are managing to make it work just fine for the most part.

Unnecessary may be a better way to put it. What benefit do we really gain from doing all kinds of crazy DOM manipulations to return to what effectively amounts to a framebuffer and a few built-in drawing functions, emulating what we've been able to do on the raw hardware for decades?

"It exists" seems to be the best justification at this point. And that is a pretty strong justification, don't get me wrong. There is simply nothing better for on-demand distribution of network applications.

However, if we were to rebuild the model from scratch, I see no reason why we would want to include HTML as the basic building block. HTML rendering would more appropriately be an application built on top.

</comment></comment></comment></comment></comment></comment><comment><USER7> The only issue I take with this is:

> _So maybe we add another data-liked="true" attribute. ACK! Just typing this > all out is giving me a headache!. Congratulations, your code is now > spaghetti, your data is strewn out in the DOM and your logic is tied to a > particular layout of HTML elements._

For certain super-rich highly complex webapps, sure -- and believe me, I've done those.

But most of the time, it's actually quite a reasonable way to go about things. Most of the time, your DOM/HTML/code _is_ tightly coupled, and uncoupling it just adds complexity. And it's only spaghetti if you let it be -- there's nothing inherently spaghetti-like about using data- attributes with jQuery events and simple DOM manipulation, if it accurately and intuitively reflects user actions and site usage. It's really only when you get to multiple views of the same data, and data that changes in real time, that the game changes.

The kind of blanket assetion that " _congratulations, your code is now spaghetti_!" really comes across like a bad case of "a little knowledge is a dangerous thing". Or maybe just big-time exaggeration...

</comment><comment><USER8> If you use Ember.js, and store the JSON data in the HTML body, how will search engines crawl your site properly? In the codinghorror blog post on Discourse, it says the author found out forums were valuable because he frequently stumbled on them using search engines.

Try go to a thread now. Not the list of threads, but actual forum thread on the meta.discourse.org forum. (e.g. [http://meta.discourse.org/t/welcome-to- meta-discourse-org/1/...](http://meta.discourse.org/t/welcome-to-meta- discourse-org/1/23) not sure how long this link will last) Search for some text from the forum post in the HTML source. It isn't there! How can you find this information on search engines then? Can search engines be reliably expected to run javascript now?

EDIT: EvilTrout has a good response:

"Actually we aren't using server side handlebars rendering for the Google aspect, although that's something we considered! We're using it for more boring stuff like our Oneboxes.

Our site is indexable by Google and it doesn't do much fancy. On certain URLs, we generate a small HTML view of the content in the <noscript> tag. You can see this by viewing source or disabling JS in your browser. It's just a simple ERB template in Rails, and uses the same object graph that we serialize via Active Model Serializers.

Google can see it and index it, we've confirmed by searching post launch.

As time goes on we'll probably work more on it to make the SEO even better. As you can imagine it was tough to do when we were in stealth mode ;)"

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

</comment><comment><USER9> "Yehuda Katz has done amazing work on Rails 3 and Bundler. When he tells me that he's not going to abandon Ember.JS, I believe him, because he has a track record proving so"

Uhhh nothing against Yehuda but I strongly object to this as someone who got burned badly with Merb. I've also seen his Rails.app Kickstarter project languishing and how many versions of SproutCore/Amber/Ember have there been that are now completely obsolete? I love a lot of his work but to say he has a track record of not abandoning projects goes against the facts.

<comment><USER10> This is complete FUD. First of all, I'm not familiar with Merb but didn't it merge with Rails? Regarding Rails.app, how is it languishing? Yehuda has given status updates[1] and code is on Github right now[2]. SproutCore continues to be developed to this day[3]. Ember was briefly named Amber for about a day. What are you talking about?

[1]: [http://www.kickstarter.com/projects/1397300529/railsapp/post...](http://www.kickstarter.com/projects/1397300529/railsapp/posts/393849)

[2]: <https://github.com/tokaido>

[3]: <https://github.com/sproutcore/sproutcore>

<comment><USER11> As someone who worked on a Merb app fulltime for about 4 years (before merb 1.0 through to well after rails 3 released) it's more accurate to say that Rails got rearchitected with some of the good ideas Merb had on the backend.

When the plan was originally announced, Yehuda blogged (<http://yehudakatz.com/2008/12/23/rails-and-merb-merge/>):

        In particular, we will do Merb releases with deprecation
        notices and other transitional mechanisms to assist
        developers in tracking down the changes that will come
        between Merb 1.x and Rails 3. Expect a number of interim
        releases that get incrementally closer to Rails 3, and
        expect parts of Merb (most notably the helpers) to be
        ported to run on Rails 3 in order to further reduce
        friction.

This very specifically did not happen, and a lot of people are stuck on Merb or had a painful migration. Of note, Rails 3.0's first beta was released Feb 4 2010 (just over a year after the announcement), and 3.0.0 final was August 29. Merb had a 1.1 prerelease Feb 20, and the last version (1.1.3) July 10. Since then Merb has been dead.

Again Yehuda:

        You will not be left in the cold and we're going to do
        everything to make sure that your applications don't get
        stuck in the past.

Now I'm sure as part of the merb community I can take some small part in blame of this, but nobody, not merb developers, not rails developers, not merb users (to the best of my knowledge) wound up putting any serious stock into providing anything resembling a migration plan. Which is a shame.

</comment></comment></comment><comment><USER12> The bigger question, I hope someone will answer is : Why Discourse?

Not putting down the software, but I did look at the about page and didn't get much convincing. Also, even though I'm not mainly a PHP dev, the assertion that "ancient, legacy PHP/MySQL code bases" doesn't apply to bbPress or Vanilla (or at least I hope not, I haven't really looked at the code in a while).

Also, and this may be what sells it to me, can I use it comfortably if I'm disabled? I've built some discussion forums for sites that cater to people who have difficulty navigating cluttered environments (some have suffered strokes or other brain injuries) and some who are legally blind. Can they replace their forums with Discourse?

Other forums, even the crappy legacy code ones, still have real HTML links that can be browsed. Can I use it while having JS disabled (let's say I'm some privacy freak)?

Edit: Should have read the FAQ first ;) So my Lynx and text-to-speech users are out of luck.

<comment><USER13> > can I use it comfortably if I'm disabled?

tomdale posted a link in a comment above, but yes, you can. I wrote about using Discourse with screenreaders here: <http://words.steveklabnik.com/emberjs-and-accessibility>

<comment><USER12> Accessing content and having a voice are not the same. As sams99 points out, some users still won't be able to communicate without JS.

<comment><USER13> Yes, some users that choose to turn of JavaScript or that use old screen reader software that works with JavaScript.

My point is that (at least) anyone with a computer running OS X has a screen reader that works just fine with JavaScript heavy sites.

</comment></comment></comment></comment><comment> mck- Thing I didn't like about Ember is how vastly different the 1.0 prerelease is from the previous version, resulting in a lot of SO solutions that only work if you have the right version. Guides and tutorials out there are rather scarce, despite the size of its community.. Perhaps that has changed in the last few months?

<comment><USER14> I started learning Ember a few days ago, and this has been my experience. There's a serious lack of up-to-date guides and resources for support out there.

The official guide was decent. It does an amazing job covering everything it attempts to cover. My problem is with the things it _doesn't_ cover. Specifically, I'd like it to be more practical by answering the question: "How do I get started immediately?" That means going into more detail about things like Ember Data, the ember-rails gem and other language/framework-specific details, etc.

Personally, I'd love to see an up-to-date tutorial for setting up a very simple Ember app with Rails or whatever. I find guides like that to be the most effective at getting people up to speed with the necessary basics.

<comment><USER15> I'm in the same boat as you, recently starting to learn Ember. The tutorial that Brian Cardarella created at Dockyard [1] covers creating a simple app and is really good. There are a few other simple tutorials. I'm struggling because all the resources I've found cover single model apps. Anyone know of any more in-depth complex resources?

[1] [http://reefpoints.dockyard.com/ember/2013/01/07/building- an-...](http://reefpoints.dockyard.com/ember/2013/01/07/building-an-ember-app- with-rails-api-part-1.html)

<comment><USER13> The peepcode is well worth the $12.

<comment><USER14> Thanks for the heads up. I bought it and it was useful. Still, it's woefully incomplete. For example, no coverage of Ember Data, no use of Views, etc. Still, it was a good starting point, and I've been able to figure out most of the rest of it myself.

</comment></comment></comment></comment></comment><comment><USER16> Its rather odd he mentions the docs on ember, I have actually found them to be much less useful than the angular docs. Especially compared to a year ago, when the project was begun.

Does anyone else have experience with both frameworks?

<comment><USER17> I also think the biggest problem they have is the lack of good documentation. I hope they make it top priority to create very simple and complete documentation.

<comment><USER18> A lack of application patterns and tooling (generators, etc). A lack of a persistent store, I found ember-data to be difficult to use and buggy, also low on documentation. Complexity around every corner: almost everything is a StateMachine. I'm betting it's an anti-pattern. Also views & templates, controller and scope between layers.

Angular still faults on a couple of these. (Tooling for one)

</comment></comment></comment><comment><USER19> It's interesting to read a different perspective. I found AngularJS was more in tune with how I think and like the way they decouple the code from DOM manipulation. I'm also a big fan of \HTML based templates and having to not touch code when I want to enable/disable some feature. That's the kind of thing I like about small libraries like garlic.js and such.

</comment><comment><USER20> Eric Bidelman explains why emberjs is heading in the wrong direction when it comes to templating while AngularJS is doing it right by implementing the html5 web component spec, you can watch it here [http://www.youtube.com/watch?feature=player_detailpage&v...](http://www.youtube.com/watch?feature=player_detailpage&v=eJZx9c6YL8k#t=1978s)

</comment><comment><USER21> The criticism of Angular's Transclusion is spot on. I like Angular, but the concept and description of Transclusion is very confusing.

<comment> brown9-2 I've been working my way through my first app using Angular this weekend, and after the stellar tutorial and introduction to the framework, I have to say the documentation becomes very technical very fast. The transclusion snippet isn't the only part that feels like it was written by experts for experts.

<comment><USER22> You might want to have a look at <http://egghead.io/> if you haven't already. John manages to explain topics in simple terms and examples, usually much easier to digest than the official documentation.

</comment></comment></comment><comment><USER23> We have an Ember based application that includes a report display with about the same amount of data as the Discourse topic list.

We have found giving users the ability to sort on each column to be very slow. I noticed the Discourse doesn't have sort or filters. Was this due to performance reasons?

</comment><comment><USER24> Very interesting post!

"Additionally, we do some server side rendering, which is much easier with string templates because we don't have to boot a whole PhantomJS environment."

Does it mean that google is able to crawl a discourse page even when it's using client-side mvc ? Can anybody tell me how it works ? Thanks.

<comment><AUTHOR> Actually we aren't using server side handlebars rendering for the Google aspect, although that's something we considered! We're using it for more boring stuff like our Oneboxes.

Our site is indexable by Google and it doesn't do much fancy. On certain URLs, we generate a small HTML view of the content in the <noscript> tag. You can see this by viewing source or disabling JS in your browser. It's just a simple ERB template in Rails, and uses the same object graph that we serialize via Active Model Serializers.

Google can see it and index it, we've confirmed by searching post launch.

As time goes on we'll probably work more on it to make the SEO even better. As you can imagine it was tough to do when we were in stealth mode ;)

<comment><USER24> Thanks for the info!

</comment></comment></comment><comment><USER25> Small nit: the link to the ember.js guides actually goes to the AngularJS guides.

<comment><AUTHOR> Fixed, thanks!

</comment></comment><comment><USER26> The big question (for me, at least) is: why not Backbone.js?

<comment><USER27> Lack of automatic 2-way data binding?

<comment><USER28> backbone is just not worth it; May as well use vanilla JS.

</comment></comment></comment><comment><USER29> The greatest thing I've gotten out of Discourse so far is the fully functional, real-world Ember app that I can use to learn Ember. So many frameworks seem to think that a to-do application is enough of an example, but it isn't.

I decided to start transferring an app over to Ember.js this morning, and I've made more progress by looking at the Discourse code than I have via the official docs.

</comment><comment><USER30> Great post.

I think it's unfair picking on Angular for obtuse docs when Ember has the same problem though.

The PeepCode Ember video was a big step towards Ember being accessible to all; it's still _really difficult_ to use compared to Backbone etc and I don't think experienced devs close to the framework appreciate this enough.

Also, Discourse is a phenomenal learning resource, thanks so much for that :)

</comment><comment><USER31> I'm all for Ember apps but the experience on your site is jarring because the content appears and disappears so quickly.

<comment><USER32> can you please expand on this? not following

</comment></comment><comment><USER33> trying out discourse, pretty cool. but how do you get to the admin? and what are the default credentials?

<comment><USER34> If you're using the default db seed, then you should log in as eviltrout with the password "password"...

Otherwise, I think you need to create a new user and edit the user manually in the DB.

</comment></comment><comment><USER35> Yeah, the Ember docs have been given a huge boost, all that is missing is how to glue them, I've noticed ember-rails is broken for instance.

I prefer Batman.js, but have recently been looking for leave. Slow development, crappy performance, and generally slow on accepting pull requests. Barely works well on mobile.

<comment><USER29> I started building an app with Batman.js a few months ago, and I've come across those exact same issues. The performance is a real problem as I'm doing a lot of live updates to big-ish data sets, and it's noticeably chugging now.</comment></comment>


Ask HN: QA testing for Agile teams - <AUTHOR>

I've read a number of papers and presentations on how best to integrate QA processes into Agile development, and have some ideas of my own, but I'm curious how other HN folks have tackled this problem.
Obviously, pervasive testing (from unit tests to Selenium) helps a lot with improving quality, but I suspect there's still some value to putting an experienced tester in front of a running instance of your application and seeing what they can break.
How have you guys worked this into the development workflow? Test stories? Periodic "feature freeze" periods where QA drives the development of bug fixes? External QA that simply submits bug reports into the product backlog? <comment><USER2> It's more of a constant testing mentality, from the clients, managers and developers. It's a bit like security.. you can't stop in the middle of the development and say: Hey, let's make that app. secure. It's a continual way of thinking. How you test it, however, is really application dependent.

For sure, a thing that I find the most important in the agile way, is to let the client use the app as much as possible and as sooner as possible. This way, they practically test the application for you and help you focus on the right things.</comment>


MeiliSearch: Ultra relevant and instant full-text search API - <AUTHOR> https://github.com/meilisearch/MeiliSearch <comment><USER2> After installing, I was able to access the API from the localhost. But, without any firewall active on the host, I wasn't able to access the API from other machines in my local network. The documentation didn't mention how to enable full network access to the API.

Also, it would be a good idea to explain the scope of the project in the documentation. Apparently this isn't a tool that indexes a bunch of PDF, DOC or TXT documents on a local computer, or HTML documents on a web server. It expects some form of pre-indexing, like the movie list in JSON format in the example. The "full text" aspect is relevant to that list or pre-index, not the full text of the referenced files, right?

<comment><USER3> Hey, I am in the MeiliSearch team.

You can enable your full network access to the API by launching it like this `meilisearch --http-addr=0.0.0.0:7700`. The default listening address is 127.0.0.1 which is why you can only touch it from localhost. You can also pass it as env variable, you can read more on the documentation [https://docs.meilisearch.com/advanced_guides/binary.html#env...](https://docs.meilisearch.com/advanced_guides/binary.html#environment- variables)

And yes, MeiliSearch does not ingest PDF or DOC out-of-the-box, it's a RESTful API to which you can send JSON. You might want to look at [https://github.com/dadoonet/fscrawler](https://github.com/dadoonet/fscrawler), but it is working only with Elastic atm.</comment></comment>


Scottish politician says email in Ashley Madison database was 'hacked' - <AUTHOR> http://www.bbc.com/news/uk-scotland-scotland-politics-33999675

<comment><USER2> Of _course_, it was. We believe you. <laughing up sleeve>

Is it my skewed perception, or is lying the first defense of any politician, no matter what the issue?</comment>


The Lowly Thermostat, Now Minter of Megawatts - <AUTHOR> http://www.technologyreview.com/news/527366/the-lowly-thermostat-now-minter-of-megawatts/? <comment><USER2> The utilities pay Nest $25 + $15/year for each Nest owner that agrees to sign up, while the owner gets a _one-time_ $85 rebate. Excuse me?

I'm all for helping lower peak demand, but if the utilities are going to be saving billions, I think this should reflect an ongoing savings for the customers, too.

<comment><USER3> Don't customers also receive a benefit by having a lower utility bill?

<comment><USER4> It depends on which Nest feature we're talking about.

The consumer clearly benefits from not air conditioning an empty home.

But, the article conflates this with "demand response" \-- which is more about time-shifting your electrical usage to avoid peak times than it is about reducing your energy usage. The meter will read the same, but it's a huge benefit to the utilities.

A simple way to fix this: price energy more expensively during peak times.

<comment><USER5> Which some markets are doing.

In Chicago you can opt into a program where you pay real-time pricing for electricity. This price can swing from 0.0c/kWh during overnight summer hours when peaker plants need someone to burn off wattage, and I've seen it go over $1.00/kWh during heat waves or when the south is having a freezing snap and everyone is running their heat pumps down there. Standard users pay about 7.5c/kWh.

While the Nest doesn't connect to this pricing, ComEd also offers an optional breaker box (connected via cellular radio) to cycle power to your A/C compressor for short periods of time when the price exceeds a certain level (i.e peak summer demand). So this kind of automatic control exists without needing the Nest infrastructure in place.

In the meantime, I've saved about 15% off my standard bill with a little bit of diligent dumb-thermostat programming. I'm planning a more intelligent system of my own that can watch pricing, house occupancy, and weather forecasts to try and beat that statistic.

<comment><USER6> So you can end up getting charged ~13x the price if you opt-in?

No wonder it's not particularly popular.

<comment><USER5> Like I said, I've saved money with the program. If you're not able or motivated to monitor your usage and the current price then yeah, it's not going to work.

This is where a more intelligent system than the Nest could be beneficial. I'm not for the _power company_ modulating your use but if you had a system that cooperated locally with your habits I think there's a lot of potential. Nest is 50% there.

<comment><USER7> I'm on RRTP too. I've saved > 25% using it in the summer. In the summer (for example), I'll crank it down to mid to low sixties overnight (it's pretty cheap) and give it one final kick down to high fifties / low sixties just shy of 6 am. Then set it for 76 or so for most of the day (If it's pretty hot and the temp has drifted up I may do a mid day cooling for a short bit)....then kick things down again at 8 pm or so. You can follow the pricing here: [https://rrtp.comed.com/live- prices/?date=20140522](https://rrtp.comed.com/live-prices/?date=20140522) (that's today) or predicted next day: [https://rrtp.comed.com/live- prices/predicted-prices/](https://rrtp.comed.com/live-prices/predicted- prices/)

<comment><USER5> Preloading the house is definitely a great trick for the hot summer days. I've toyed with the idea of building some kind of thermal storage unit in the basement for the really cheap periods...but it was getting kind of silly.

But if you know anyone selling a cheap commercial ice maker I'm all ears.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> This is cool, few years ago, I interned for the Tennessee Valley Authority on their Energy Efficiency and Demand Response team. The bulk of our peak demand savings came from industrial customers [1] but we did have a program for residential users, but it was more on the general efficiency side [2].

[1] - [http://www.enernoc.com/our-resources/brochures-faq/faq- tenne...](http://www.enernoc.com/our-resources/brochures-faq/faq-tennessee- valley-authority-demand-response)

[2] - [http://www.energyright.com/residential/](http://www.energyright.com/residential/)

</comment><comment><USER9> With solar on the roof, I'm putting power onto the grid during those peak times. Maybe if they paid for more peak power, more people would put on solar, which would provide peak output when AC is most needed.

Seems less invasive than tracking when I tend to be home or not home. Next up, they'll track where I'm driving and only turn on the heat/AC when I appear to be heading home. I wonder who else would find that kind of info useful.

<comment><USER2> Yeah it seems PV generation and AC is a good match, except that peak load happens later than peak production since temps peak in the afternoon and AC use goes up as people get home.

</comment></comment><comment><USER10> This indiegogo campaign launched 2 days ago is doing a "Nest for split A/Cs": [http://igg.me/at/sensibo/x](http://igg.me/at/sensibo/x)

Hopefully they can help the rest of the world become more energy efficient. Thermostats are not common outside the US.

<comment><USER11> > Thermostats are not common outside the US.

Do you have a source backing that up? I was in Germany last summer, and they seemed to be just as ubiquitous. (both in Berlin and Munich)

<comment><USER10> Just my experience. The systems you are referring to are most-likely residential heating systems, and not full-blown HVAC system that are based on a heat pump.

Asia: I have traveled for months in China, India and Japan and don't recall seeing any thermostats, aside from hotels and commercial spaces.

Europe: no A/C in most countries (aside from commercial projects). They make extensive use of residential heating using liquid pipes that pass through the building. In southern europe split ductless A/C systems are common.

South america: I believe they have both central air and split systems.

USA: central air everywhere!

Africa: no money for A/C. ;-)

The split systems are much more energy efficient, so they should be gaining ground.

</comment></comment></comment><comment><USER12> Am I missing something here? I'm genuinely curious why anyone would think it's a good idea to surrender control over something that directly affects their everyday comfort, especially if it's air conditioning in Texas.

<comment><USER13> It partially compensates by cooling the house down before peak. Also, you can override it at any time and it will learn what you want. The point is to find ways to cut back that don't affect comfort.

</comment></comment><comment><USER14> I can imagine a future where energy is priced in real time. The only reason it hasn't been done so far is that it wasn't technically practical until recently. Imagine if you could tell your Nest to optimize the comfort of your house and keep it below a projected budget. If battery technology progresses, the Nest could even one day store energy at low points and use the battery at more expensive times.

<comment><USER15> There are many reasons it hasn't been done besides technical practicality. Besides the obvious issues of market manipulation (ala Enron) and information security (sending false prices to cause blackouts), there is a giant problem with customer acceptance. Most people don't like bills that are unpredictable, they don't like bills that are hard to understand, and they don't like change. I'm a big fan of real-time energy pricing but you have to understand that the technical problems are really quite minor compared to the market design and consumer acceptance problems.

I'm also somewhat skeptical of personal batteries being used to save on your electric bill. If it's worth it to peak-shave with batteries, it's almost certainly going to be more effective for companies to do it at scale and with expertise. The only reason it might make sense for consumers to do it is because of the retail-wholesale pricing difference, but if home batteries become popular, you can bet that loophole will be closed.

Source: I used to work at a utility

P.S. Another big problem is systems control. It is very hard to predict how decentralized actors will work side by side. For example, you don't want to change the price of electricity by a cent and then have 10 MW of demand instantly come on across the state just because everyone's Nest price threshold was hit. There are many plausible sounding solutions to this problem (price fuzzing, delays, subpenny pricing), but they have difficult edge cases as well.

<comment><USER16> I agree that there would be economies of scale to saving up energy at off peak times for use on peak. But the only way I know of this happening on the MW scale is pumped storage. Utility pumps water up into a reservoir all night and then let's it back down through Hydroelectric generators the next day. But the ability to do this is limited by geography. Maybe we are at a turning point. The island of Ohau recently put out an RFQ for a large energy storage system. Will be interesting to see if and who bids.

<comment><USER2> Maybe [http://www.lightsail.com/](http://www.lightsail.com/) ?

</comment></comment></comment></comment><comment><USER17> Looks like most of Texas has it. Too bad I'm up in the panhandle.</comment>


Ask HN: How do you advertise without spending money? - <AUTHOR> If someone wants to share their story, it would be of enormous help to people here (HN users are constantly launching new products).
With a 2 man work force, I do basic advertising by sharing content of the product to free services (email, print stuff (brochures, posters, etc), twitter, facebook, flickr, youtube, this kind of services). I have also the benefit of being a designer myself, in this way I can deploy targeted websites, and somehow try to impress the potential customer with graphics or words.
(edit: It gets tricky to track all this services, though, without paying services who offer dedicated stats/tracking)
As a developer, what do you do to advertise without spending money (ie. by not paying services)?
Or, if you're a designer, what other methods do you use? <comment><USER2> Organic search engine optimization. I could talk about this topic every day and not get tired. My two best tips are that 1) create a way such that linking to your site solves a problem for someone else and 2) do #1 in a scalable fashion. If you can do that, organic search is like a free money buffet.

Failing that utopian outcome, at the very least you can create things on your website which solve problems for the type of people who give links. For example, I'm a Rails developer. Among other talents, I can write code. Being able to write code means I'm able to write OSS projects of use to other businesses which use Rails. I host them on my site, and when other developers write blog posts taking credit to their friends and bosses for solving the problems that I actually solved for them ( _grins_ ), I generally get a backlink.

OSS is by no means the only thing you can do. Good tutorials, evergreen resources (things which will never go out of style in your field), authoritative statistics, high-quality visualizations of data, etc etc, all attract links. Again, try to do them at scale.

 _twitter, facebook, flickr, youtube, this kind of services_

Do you find that that actually gets results? I am kind of outside the Valley, physically and spiritually speaking, and I just can't imagine a business spending time on Facebook or Flickr and that benefiting them more than spending the time on their own website.

SEO getting you a little money to reinvest into AdWords or similar paid acquisition strategies is a nice feedback loop if you can get it, too.

<comment><AUTHOR> Yeah, I forgot to mention organic SEO (it's almost always the first thing you can do).

>> twitter, facebook, flickr, youtube, this kind of services

> Do you find that that actually gets results?

Yes, if the tech industry isn't the only industry :) . I mean, it's not always about web applications, like this time I have to advertise a series of books (not mine).

Till, there is a company that centralizes this process (like a product recommendation service/device in every ones homes; like a Google TV with Google Tv Ad :P), we'll have to do things like this manually.

EDIT: If you're pretty much always responding on twitter/other service about the bugs on your OSS project, then it might be considered a bit of customer satisfaction, I guess.

</comment></comment><comment><USER3> I don't actually do these myself, but if I was a developer I'd do these:

1) start blogging about things in your niche.

That way you'll get a number of people in your niche coming to your site every day and seeing a link to your product.

2) There are a ton of free/bonus advertising coupons, $100 at Adwords, $100 on Facebook, $50 on Myspace, $100 bonus when you spend $30 on Yahoo. etc etc

Focus on long tail keywords in your niche, and you'll be paying 5 cents a click, which will go a long way.

3) Since you are a developer create a few templates for all those blogging services. Wordpress, Tumblr etc. Throw a link in the footer "Web Design by YOUR COMPANY" and eventually you'll have a thousand blogs a) linking to your site and b) showing off your work to thousands of people

4) Volunteer to do design for a few rising stars. i.e. from what I understand Pallian did the early Mixergy's design for free to get his name out there.

5) create a bunch of long tail websites, and advertise your services through those.

6) Print a bunch of business cards go to your local town center, and offer to build sites for all of those small businesses. Charge one amount for a template, and a much higher amount for a custom job.

7) Get on those freelancer sites, and start bidding on projects.

</comment><comment><USER4> Not sure if it applies to all startups but writing case studies or producing info-graphics are great ways to attract attention. <http://www.flowtown.com/blog/> are doing great job at the latter and we (<http://visualwebsiteoptimizer.com/case-studies.php>) try to do a good job at the former

</comment><comment><USER5> It helps if you can donate some of your time to an open source project that's complementary or related to what your company does.

For example, I volunteered to write the tutorial for Sigil (<http://code.google.com/p/sigil/wiki/BasicTutorial>) because it's a great alternative to the closed, expensive InDesign product (<http://www.adobe.com/products/indesign/>).

Tutorials or presentations are also good.

I created a basic overview of how to create an e-book, and presented it at BarCamp5 in NYC.

After the conference, I posted the slides and links on my personal site (<http://denis.papathanasiou.org/?p=286>).

As a result of both activities, my company's site (<http://www.fifobooks.com>) gets traffic and business (new registered authors and readers, as well as other opportunities I hadn't expected).

</comment><comment><USER6> I share my excitement about what I'm working on with my close group of friends. I give them free gear (shirts) when possible, behind the scenes access as in stories about what I'm doing and seeing what I need to do. I ask them for favors and get them involved. They get as excited as I am and there you have the beginnings of word of mouth.

<comment><USER7> You also get stories in publications that are always hurting for an interesting story.

</comment></comment><comment><USER8> I do alot of the stuff like you mentioned but I have a slightly more nefarious method that I've been thinking about trying.

There are alot of 'coupons' for Google AdWords. If you sign up for HostGator's $5/month plan, for example, you get a $50 or $100 (I forget which) voucher. If you buy the Google Analytics book (well worth the investment), you get a credit. There are lots of websites and services online. You could theoretically string these together to create a number of free advertising campaigns.

Of course, the catch is that you have to create a new AdWords account each time (most of the coupons are only for 'new' customers).

<comment><USER9> And it may be tough to register multiple google AdWords accounts for the same domain name. I think they check against that.

</comment></comment><comment><USER10> SEO is the biggest thing its keeps driving traffic and should keep getting bigger as time goes on.

Blogging works to get you some visitors, as long as you write something people want to read.

Contact bloggers, and local newspapers to write a review about your product or site.

Post on related forums with a link in your signature

Not free but cheap:

Print out some flyers and post them around town (if going for a local market)

Create t-shirts and wear them and give them to people to wear.

</comment><comment><USER11> I would figure out if there is a way to create incentives for your existing customers to spread the word. If they derive a benefit from talking about your site/product, both they and you benefit from more eyeballs.

<comment><USER12> ^^ This ^^ and SEO are the two best ways. Having your customers spread the word inherently increases SEO as well.

Email me for a demo, we are about a week away from our beta launch for a custom incentive engine.</comment></comment>


Origin of Wall Street's Plunge Continues to Elude Officials - <AUTHOR> http://www.nytimes.com/2010/05/08/business/08trading.html?th&emc=th

<comment><USER2> As somebody who used to work in Program Trading, I suspect that unanticipated side effects of Reg NMS amplified already substantial market movements. The regulation, designed to prevent trade-through, has the effect of creating a submarket for those interested in fast execution at any cost. This submarket is very light on liquidity.

</comment><comment><USER3> It seems conceivable that everything functioned exactly as it was designed.

As the Yen spiked, holders of much borrowed USD needed to liquidate and pay back their borrowings, and program selling snowballed across very very thin markets.

Several 'liquidity providers' including TradeBot withdrew liquidity in the plunge, perhaps leading to the 0.00 and 0.01 bids that applied to quite a few stocks.

We have a very poorly regulated system, with few safeguards for regular investors. Sure, the spreads are generally tighter than the old days of floor trading, but the secret dark markets and computer trading can be turned on and off at will, leading to the kind of thing we saw Thursday.

<comment><USER4> You seem to be under the erroneous assumption that human specialists and market makers actually caught falling knives in the past. Sure the rulebooks said they were supposed to, but rules aren't reality.

Black Monday is the classic example. Lots of phones were ringing and simply not getting picked up because they didn't want to deal with the orders. That's even worse than today. Unless you were on the right trading floors, you couldn't know what was happening and you couldn't cancel or enter new orders.

</comment></comment><comment><USER5> Someone called it a "display of digital nukes". Here is a quick chart I did on spot market EURJPY which is a proxy barometer for equity markets (it is corelated, like copper price is for world economic growth): <http://i.imgur.com/E6MK2.png> massive inverse cup and handle on a daily chart. So it is by TA, straight from a textbook. Movement was rather dramatic though, and still more to come after a bit of consolidation (from a week to about end of the summer at most).

<comment><USER6> But you have to keep in mind, the market is specifically afraid of the Euro collapsing, so it might not indicate anything _today_ other than the fact that people would rather have JPY than EUR.

<comment><USER5> EUR/JPY is a known gauge of market sentiment, same as copper is for economic growth. Markets go up, EURJPY goes up, markets go down, EURJPY goes down. It's a known correlation that hasn't been broken yet. Intramarket analysis is a widely popular field in the economics. Just because people are afraid it doesn't mean it won't happen. Every possible TA is indicating on further collapse to come this year, at most by the end of summer. Even Elliot Wave suggests it if you are into EW. Even fundamentals are all wrong, carry unwind just happened, dollar is surging because of the credit market collapsing, vix is going mad, ecb is incompetent/inert. ECB will try to do something, tomorrow I'm sure - but it's a bit too little too late. Avalanche had its first run this week. We'll see a period of consolidation for a week, to up to a summers end if we are lucky! People can downvote my first post, but they cannot ignore that chart and should not.

<comment><USER6> "Past performance is not indicative of future returns."

A large country in the Eurozone has not defaulted on its debt before. This default affects the price of the Euro. You can't just look at a graph and assume that it's always right.

The Euro isn't even old enough to make claims like "always", anyway. It's only been on the market since 1999 and only in circulation since 2002.

</comment></comment></comment></comment><comment><USER7> Some say don't rule out sabotage [http://thehill.com/homenews/administration/96713-white- house...](http://thehill.com/homenews/administration/96713-white-house-doesnt- rule-out-sabotage-in-market-fluctuation) The article doesn't provide a quote using that word, but this isn't the kind of media outlet that would typically make up something so inflamatory.

</comment><comment><USER8> My naive guess is automatic stops. If you enter a position electronically, you set stop losses for the low barrier. If it falls below that, the stops will trigger, selling off the stock, lowering the price, and causing other stocks to do the same creating a domino effect.

<comment><USER6> But there are people on the other side of the equation, too, with orders to buy when the price reaches a certain number. And there are the options traders.

</comment></comment><comment><USER9> Yeah. It was interesting. It's still unknown. Most of the trades canceled. Some people made big bucks / losses (up to 60%).

Can we please move along?

<comment><USER10> Part of the stock market just core dumped, resulting in a significant one day loss for a lot of very big stocks.

I'd advice against resolving this bug, whether a "workaround" exists or not, until we actually understand it.

<comment><AUTHOR> resulted in _the_ most significant intraday drop _ever_ \- this is worth spending some time looking into and understanding what happened</comment></comment></comment>


I Quit My Job to Live on Donations to Zig - <AUTHOR> https://andrewkelley.me/post/full-time-zig.html <comment><USER3> There's a huge positive-feedback-loop problem in technology right now that needs to be solved to make projects viable.

Never received even one donation/rating/comment/etc.? Be prepared to wait approximately forever.

Got a few, especially publicly-visible? Suddenly things trickle in faster.

Well-known project with 5000 stars? Here, have more stars. Here, have more donations. Success breeds success.

Meanwhile, wasn't it shown that crucial infrastructure like SSL had between 1-2 unknown developers? How many other projects are there? How many developers can you _name_? How many _different_ projects have you donated to? How many "not well known" apps have you balked at paying even $0.99 for?

It's a problem. There needs to be better ways to vault critical "boring" projects into the well-known category. And, there has to be a way to keep positive feedback loops from ballooning ratings and income for projects simply because they sorted to the top and stayed there.

<comment><USER4> > There's a huge positive-feedback-loop problem in technology right now that > needs to be solved to make projects viable.

> Never received even one donation/rating/comment/etc.? Be prepared to wait > approximately forever.

> Got a few, especially publicly-visible? Suddenly things trickle in faster.

That's not tech specific; there's a reason that places with tip jars preseed them with an initial stash of visible tips, and advertising (for consumer products, charity, and even B2B productos) features endorsers known to the target audience. Human social behavior is strongly based in imitation.

<comment><USER3> The tech-specific differences are things like:

\- Compared to setting up a coffee stand, it can take _years_ to build really good technical solutions. (Longer, if you actually care and put in "invisible" effort like making it not crash or delete data regularly.) Yet, that app can still be lumped in with all the rest in the begging-for-scraps models of many monetization schemes.

\- Unlike a coffee shop, where you can probably assume _some_ amount of traffic and tips on a regular basis, software is often firmly set at ZERO. Or negative, if you consider any other cost. There isn't a "software neighborhood" where people might walk by and see your project alongside only a couple others in the area.

\- Unlike any "natural" recognition in the real world, tech projects are recognized in entirely unnatural ways. No one may know about an app for months; yet if/when knowledge _finally_ spreads, the message is generally LOUD and _everywhere_. Say, being featured in the App Store: you go from "never heard of it" to "almost everyone in the world with an iPhone who checked top-10 lists this week". That is far, far beyond the reach of normal ads, and also insane: it pretty much guarantees over-rewarding and under-rewarding developers across the board.

<comment><USER5> Thus the crazy amount of money that is spent on advertising and its silent twin sister, public relations. And bot nets. Don't forget the bot nets clicking on things.

</comment></comment></comment></comment><comment><USER6> Here's a story about Andy.

Two years ago, I was writing a modest Lisp interpreter in C. The evaluator was more or less working, but I was totally stuck on parsing user input (in other words, I had the E in REPL, but not the R). After spending an entire night banging my head against the parsing logic without making any progress, I began to despair that it would never work and I would have to throw the whole thing in the trash.

Well, that morning I met Andy. Groggy and frustrated, I told him about my problem. He said "Why don't you try tokenizing the input before parsing it?" This was a revelation to me. Yes, it turns out that reading a string character by character and trying to recursively convert it into a Lisp object all at once isn't the best way to do it. Who knew (aside from anyone who had ever learned anything about parsing)?

The resulting parser code: [https://github.com/nickdrozd/lispinc/blob/master/parse.c](https://github.com/nickdrozd/lispinc/blob/master/parse.c)

Anyway, I don't know anything about Zig, but Andy sure helped me out of that jam.

</comment><comment><USER7> Andrew, if you're listening, add some higher thresholds on Patreon, you'd be surprised. Someone who's willing to give you money (any amount, even $1) is probably also willing to give you $5 or $10 (impulse spending, basically).

<comment><USER8> He has 92 patrons giving him $596/month.

Methinks you don't understand how Patreon works.

<comment><USER9> If he made the default $5, it's quite possible that the average and total would go up further.

When you set your default, you are implicitly saying "this is what I think my software is worth to you". That's an anchoring point. Most people who decide to donate less than the default will probably feel slightly bad for doing so. Some of those people who would just stick with the default at $1 will also stick with the default at $5. Some people will generally always give more than the default, and that "more" might be even more if the default is $5 than if it's $1.

It's probably _incredibly_ rare that someone would click through, see a $5 default (including the possibility to donate less), and say "wow, this person is full of themselves thinking $5 is reasonable; I'm not going to donate at all in protest". So there's little to no downside risk in raising your default by a non-crazy amount. Obviously some defaults are absurd; $1000 would be crazy and probably off-putting. But $1 is certainly a low-ball.

<comment><USER10> I don't know how likely it is, but there's a risk that this could backfire:

> Most people who decide to donate less than the default will probably feel > slightly bad for doing so.

If the default amount is too much for me, then my choices are to donate less and feel slightly bad, or not donate at all. It will be pretty tempting to keep my money, rather than give some up and feel guilty anyway. Paradoxically I might even feel less guilty for not donating, because that's a passive act and I can tell myself I'm only postponing the decision, rather than definitively making an ungenerous choice.

</comment></comment></comment></comment><comment><USER11> What's amazing to me is that he's sustaining living in NYC on currently $423 a month. He must be pulling from a pretty large savings fund. Even his "fully sustain working on zig" goal is only $3000.

[https://www.patreon.com/andrewrk/memberships](https://www.patreon.com/andrewrk/memberships)

<comment><USER12> > What's amazing to me is that he's sustaining living in NYC on currently $423 > a month.

I don't think he is?

<comment><USER11> According to his Patreon I linked he is.

<comment><USER13> That is.. quite impossible. He's living off additional savings or a mooch or homeless.

<comment><USER14> He answered that in another comment [https://news.ycombinator.com/item?id=17257056](https://news.ycombinator.com/item?id=17257056)

</comment></comment></comment></comment></comment><comment><USER15> OKWS author here. I have to take some issue, we made a lot of improvements to the infrastructure over the years. The Tame system for instance was a big one. [1]

[1] [https://www.usenix.org/legacy/events/usenix07/tech/full_pape...](https://www.usenix.org/legacy/events/usenix07/tech/full_papers/krohn/krohn.pdf)

<comment><AUTHOR> Hi Max! Amazing, I thought that tame was there since the beginning. BTW my "hack week" project was going to be replacing tame with cpp-coro [1] but I quit before hack week started.

[1]: [https://github.com/lewissbaker/cppcoro/](https://github.com/lewissbaker/cppcoro/)

<comment><USER16> Tame had only just been applied in earnest when I started in 2007. Pre-tame code was pretty unwieldy!

</comment></comment></comment><comment><USER17> Having the courage to take the plunge is admirable, and that's enough to get $1/month from me. Congratulations on making such a big decision!

One thing I'm curious about: the current ~$400/month from Patreon (minus fees) isn't close to enough to cover a similarly comfortable standard of living in New York, and I imagine that this would affect your "runway", if you will. Are you able to live and work off of savings, or will you be relocating for a lower cost of living?

Apologies if this comes across as prying into your financial details. I'm more just curious about the process. Again, congrats!

<comment><AUTHOR> Thanks for the support :)

As much as I love NYC, it may be practical to relocate somewhere with a lower cost of living. Alee & I will reevaluate when the lease is up. She's in grad school, so who knows where that will take her? I'll probably just live where she needs to for her career.

<comment><USER18> Hey Andy, dev/ops nerd turned marketer here. First of all, AWESOME that you quit your job and are attempting to make a go at this! Huge congrats!

I would recommend you put in a couple higher levels on the Patreon and think about what people would want from you. For instance, I ran a popular blog and asked my readers what they would pay monthly for. Turns out one of the biggest requests was just a private webinar (I hate that word, so you could call it something else, like "knowledge brain dump") once a week. I ran them for 60 or 90 minutes and took questions at the end. In fact, I may do this again in the future, since I continue to get requests for it long after the fact.

People here have expressed how articulate you are when describing the language. Setting up a group at say $19/mo or even $49/mo where you deep dive into software dev, practical applications of Zig, and/or programming languages in general "live" once a week might be something people are willing to pay for, and would get you "out of the red" more quickly.

<comment><USER19> Totally agree. I happily have my company pay good money if the software shows to be really useful. And I refer to give that money to small devs instead of Atlassian, Oracle or others. Yearly plans are also easier for me to pay. Dealing with monthly is a little bit of a pain.

</comment></comment></comment></comment><comment><USER20> For anyone like me who's hearing of Zig for the first time, I totally encourage y'all to watch the video that's attached on his Patreon page.

It's rare to see a technical presentation done in a way where the concepts are so clearly understandable. Makes me want to take a peek into Zig and see what it's like in there and consider supporting the author just because. Hope it works out well enough for him to live his dream :).

<comment><USER21> I'm tempted to spend a good while studying Zig just because it says "Zig competes with C instead of depending on it" _and_ folks here are not thrashing it ('Why compete with C at all?' would be my guess of general reaction)

<comment><USER22> Based on what other posters are saying about the language design and the interface design, it's built in such a way that you don't have to do a ton of boilerplate to integrate Zig code with C/C++ projects. That, in turn, means that you can start new sections of your code base in Zig and gradually start eating your legacy C/C++ code until you have a project written in Zig instead of C. And it seems like it does this by not being too opinionated about your use of memory, unlike Rust.

I would be really interested in using it if I had more Clang support in bare metal systems. I think the consensus among embedded developers is that we would all really, really like a modern language with modern type-safety and type-checking, but we also still want to do crazy crap with memory at times.

It doesn't matter so much that there's a way to do something, but it matters a great deal how you are expected to do it. Keeping it simple matters, and Zig looks pretty simple compared to other compiled systems languages that I've seen, so that's wonderful.

<comment><AUTHOR> > you can start new sections of your code base in Zig and gradually start > eating your legacy C/C++ code until you have a project written in Zig > instead of C.

[http://tiehuis.github.io/iterative-replacement-of-c-with- zig](http://tiehuis.github.io/iterative-replacement-of-c-with-zig)

</comment></comment></comment></comment><comment><USER23> I think this may be exactly what I've been looking for. I've been wanting a "Better C" type of language, but all the existing candidates fall down on some point like - too complicated (Rust/D/C++), no manual memory management (Go), etc. I've even made some half baked attempts at writing my own language.

It seems that the design goals of this language are exactly what I'm after. Going to have to give it a try later.

<comment><USER24> What part(s) of Rust do you find too complicated, and why?

<comment><USER23> In general I prefer languages to be small and simple - like Go and C. This doesn't seem to be a design goal for Rust, which puts me off. Some specifics:

Trying to do anything non-trivial with ownership/lifetimes/borrowing always ends up in a tangle, fighting with the compiler.

Everything in the stdlib seems to have a giant api with pages and pages of functions. Example: [https://doc.rust- lang.org/std/string/struct.String.html](https://doc.rust- lang.org/std/string/struct.String.html) Scrolling down through those methods is overwhelming.

The overhead imposed by the goal of maximising safety is big, and not that important to me (as I'm not writing Very Important Crypto code or whatever, I don't find it hard to write good enough code for my purposes in C).

<comment> star-castle Click the [-] at the top right of that doc page. You won't find it so overwhelming.

</comment></comment></comment></comment><comment><USER25> People here are commenting that NYC is quite an expensive place to live off donations.

I'm not sure what advantages that the location brings when working on a programming language (networking?), but I can suggest moving to South Africa where cost of living is low and quality of life is high. Yeah there's "crime" \-- but it's not too bad as long as you're a little smart about the way you conduct yourself.

Cape Town is an obvious first choice and is really cosmopolitan with a good dev community, but I can suggest Durban as a good runner up; it was recently voted "Most Livable City in South Africa" [0]

For New York level "hole-in-a-wall" rentals, you can live like a king in South Africa :) If you're willing to share a spot you can really get a palace for yourself, and enjoy some of the best beaches in the world (in Durban).

[0] [https://www.iol.co.za/mercury/news/durban-is-most- liveable-c...](https://www.iol.co.za/mercury/news/durban-is-most-liveable- city-in-south-africa-13963052)

<comment><USER26> Most people who live in cities don't realize how inexpensive it can be to live in the US.

For example, I lived a spartan but comfortable life in Rochester, NY for well under $20k/year. That was renting an expensive-for-the-area apt in a nice neighborhood. When I had roommates my rent was <$250/m. You can buy a house in Rochester for under $20k.

<comment><USER27> Given the weather in Rochester, what were your utility costs?!

<comment><USER26> It depends on the home and the method you use to heat. Many houses in Rochester pre-date modern insulation and cost a lot to heat. That said, there are plenty of reasonably priced newer homes with good insulation available. The last place I lived was well insulated and cost <$150/m to heat in the worst conditions.

</comment></comment></comment></comment><comment><USER28> I envy the kind of confidence that would lead someone to decide that a new programming language is their ticket to riches.

<comment><USER29> That's a little mean. The author writes:

> 100% of donations I receive go towards paying rent, buying food, and > generally attempting to live a modest, but healthy life.

He doesn't expect to get rich from this.

<comment><USER30> Also, who was the last person getting rich from a programming language?

Programming languages are more of an open-source thing. You can't make much money from them.

<comment><USER31> Anders Hejlsberg got $1M for joining Microsoft: [https://en.m.wikipedia.org/wiki/Anders_Hejlsberg](https://en.m.wikipedia.org/wiki/Anders_Hejlsberg)

<comment><USER32> To get the principal engineer behind the languages Turbo Pascal, Object Pascal (Delphi) and then C# and TypeScript that seems like the deal of the century if you factor the business value of all of the above.

<comment><USER33> Indeed, and at the time I was surprised that they got him for so little. There's so many design decisions in C# that resemble Object Pascal and Turbo Pascal, that it's pretty obvious that Anders=C# (not to take anything away from what are surely some of the best compiler engineers in the last few decades, I just don't know their names off-hand).

<comment><USER32> As someone who programmed heavily in Delphi back in the day their absolutely are and it's one of the reasons I like C# so much, it feels like home.

So does TypeScript.

<comment><USER31> I also used all languages designed by Anders, his practical approach is clearly visible in all of them. Unfortunately there are just a few interviews with him but they are all high quality: [https://www.artima.com/intv/anders.html](https://www.artima.com/intv/anders.html)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER34> Cool, good for you :). I like the world where the internet enables niche creators to live and engage with invested supporters/patrons.

Aside, have you seen the language Jonathan Blow's working on (jai)? Curious how you'd compare the two, goals or implementation-wise. (Given he hasn't released anything yet, no worries if this is unanswerable :))

<comment><USER35> There is at least this comment in the docs:

> Zig is taking cues from Jai's stance on allocators, since that language is > being developed by a high-performance game designer for the usecase of high- > performance games."

[https://github.com/ziglang/zig/wiki/Why-Zig-When-There-is- Al...](https://github.com/ziglang/zig/wiki/Why-Zig-When-There-is-Already- CPP%2C-D%2C-and-Rust%3F#no-hidden-allocations)

</comment></comment><comment><USER36> He also have a liberapay account: [https://liberapay.com/andrewrk/](https://liberapay.com/andrewrk/)

</comment><comment><USER37> Best of luck. Is there any place you wrote about why you belive Zig is better than all the other alternatives to C? Why should I look at Zig, insted of looking at Rust?

Not trying to be dismissive, genuinely curious what your thinking is.

<comment><AUTHOR> [https://github.com/ziglang/zig/wiki/Why-Zig-When-There-is- Al...](https://github.com/ziglang/zig/wiki/Why-Zig-When-There-is-Already- CPP%2C-D%2C-and-Rust%3F)

</comment></comment><comment><USER38> Do you see a niche you could conquer with zig?

For ruby it was rails. Python profited from data science. Etc.

<comment><USER39> Systems programming, I think? Also, much less complexity in the type system than Rust, one of the main new contenders along the old gang of C and C++.

</comment></comment><comment><USER40> Looking for more on Zig I found a talk [0] (~1 hour) on the language by Andrew Kelley from just a few months ago.

Edit: I see there already questions about Rust in this thread. There's an audience question on Rust in the talk [1] and the creator states that Rust is Zig's biggest competitor.

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

[1] [https://www.youtube.com/watch?v=Z4oYSByyRak&feature=youtu.be...](https://www.youtube.com/watch?v=Z4oYSByyRak&feature=youtu.be&t=2602)

<comment><USER41> IMO we're about to see a robotics renaissance.

That embedded world needs a simple, performant, low-level language that isn't C. If Zig focuses on providing that for the robotics domain, I could see it becoming popular.

<comment><USER24> What makes you think we're about to see a robotics renaissance?

<comment><USER42> Michael Bay's documentary Transformers

</comment></comment></comment></comment><comment><USER43> I want this to work so much (because this is exactly the "business model" by which I'd like to live.)

I know of another example: the guy who draws and writes the web- (and now print too) comic "Kill Six Billion Demons". I believe he's currently living off of direct fan support (through Patreon too, as it happens) although he has published a physical book collecting the first arc of the story. (I guess that is also fan support..?)

<comment><USER44> In Asia, several dozens of authors are earning millions (in USD) by releasing chapters of novels on a daily basis. And English translators gets about ~$20-$100 per day from Patreon donations:

Check

      - https://www.wuxiaworld.com/ (note that this is a very large community)
      - Earnings of Tang Jia San Shao and I Eat Tomatoes
      - Article on New York Times: https://www.nytimes.com/2016/11/01/world/asia/china-online-literature-zhang-wei.html

</comment></comment><comment><USER45> Props to you buddy! Glad people like you are always willing to take risks to move the software community forward. Whether it works out or not, I give you my thumbs up!

</comment><comment><USER46> Has anyone tried Zig? From reading the project page I don't see anything that it has/plans over something like Rust that's much further along.

<comment><USER47> Error management is different, and quite uniquely done. Zig deals with failure modes in a much more fine-grained way than Rust, which favours the algebraic- wrapper approach (Result / Option types). If you're writing actual, low-level systems code, your code might need to react differently depending on the failure mode: you need to know if it was an I/O issue, or out-of-memory, or disk-full, or etc. At the call point, Zig lets you enumerate all of the possible failure reasons comprehensively, and handle each one specifically if you choose to. This enumeration is produced and checked by the compiler, so you can't miss any cases. (It also lets you disregard the specifics if you don't care.)

<comment><USER48> That sounds quite similar to Rust, except _less_ fine-grained than Rust. The Result type has an Error parameter which is usually an enumeration of the possible failure conditions, e.g. [https://doc.rust- lang.org/std/io/struct.Error.html](https://doc.rust- lang.org/std/io/struct.Error.html) . That is, an IO function returns only IO errors, as compared to Zig's strategy which unifies all declared errors in the program into a single "error" enumeration.

(To be clear, there's a lot of cases when this precision isn't so useful, but the contention here is how fine grained they can be.)

<comment><USER47> There's definitely there's a distinction here between the approach you've described (Rust can indicate that a function returns only IO errors -- but doesn't tell you which subset of "all IO errors" might actually occur at this call point) and Zig's (the function call can result in an arbitrary set of specific errors, some of which might be IO and some might not; and only the actually possible errors are included in the set).

Is one better than the other? I doubt that question has an objective, one- size-fits-all answer. I'm happy to see experimentation in this domain! My point really is just that Zig is different from Rust in how it handles errors, even if there are some superficial similarities.

<comment><USER48> I think you haven't understood my point or maybe I haven't understood yours, and maybe it is because I have misunderstood Zig's approach.

My understanding is that something like `fn f() -> %T` returns a T or an `error`, and the latter can be literally any error value that exists anywhere in the program. It isn't restricted to the actual possible errors that might occur inside f, and thus has the same failings of Rust that you point out (don't know which subset of errors might be returned), except the unknown set of possible errors is likely to be larger.

(And, you can still get all the niceties of Rust's error handling infrastructure like the ? operator if you manually define an error type that is restricted to the exact set of possible errors: there's not a privileged type for how to represent errors.)

<comment><USER49> Zig's errors are actually different and the variants can be statically known. Error type returns are not usually specified since they can usually be inferred. They can be explicitly specified if needed [1].

For example, the following code

        fn errorOrAdd(a: u8, b: u8) !u8 {
            if (a == 2) return error.FirstArgumentIsTwo;
            if (b == 2) return error.SecondArgumentIsTwo;
            return a + b;
        }

        pub fn main() void {
            if (errorOrAdd(0, 0)) |ok| {

            } else |err| switch (err) {
            // will force a compile-error to see what errors we haven't handled
            }
        }

emits this error at compile-time:

        /tmp/t.zig:13:18: error: error.SecondArgumentIsTwo not handled in switch
        } else |err| switch (err) {
                     ^
        /tmp/t.zig:13:18: error: error.FirstArgumentIsTwo not handled in switch
        } else |err| switch (err) {
                     ^

You can use the global `error` type which encapsulates all other error types if needed, replacing `errorOrAdd` in the previous `main` with the following function

        fn anyError() error!u8 {}

now requires an else case, since it can be any possible error.

        /tmp/t.zig:13:18: error: else prong required when switching on type 'error'
            } else |err| switch (err) {
                         ^

This works pretty well and is very informative in most cases. The tradeoffs are it can make some instantiation of sub-types a bit clunky [2] and you need to avoid the global error type everywhere. The global error infests all calling functions and makes their error returns global as a result. You can however catch this type and create a new specific variant so there is a way around this for the caller at least.

Do remember that Rust allows passing information in the Err variant of a Result while Zig's error codes are just that, codes with no accompanying state.

[1] [https://github.com/tiehuis/zig- bn/blob/3d374cffb2536bce80453...](https://github.com/tiehuis/zig- bn/blob/3d374cffb2536bce80453e6110ceae0cbd04db2a/bigint.zig#L467)

[2] [https://github.com/tiehuis/zig- deflate/blob/bb10ee1baacae83d...](https://github.com/tiehuis/zig- deflate/blob/bb10ee1baacae83dfb410b88bd9fcc62090712f7/deflate.zig#L99)

<comment><USER48> _> Zig's errors are actually different and the variants can be statically known. Error type returns are not usually specified since they can usually be inferred. They can be explicitly specified if needed [1]._

Yep, as a sibling points out, I was working with a long-ago version of Zig's error handling.

</comment></comment></comment></comment></comment></comment></comment><comment><USER50> Since Zig is pretty unknown language, I would actually buy swag. Cap/t-shirt. It's not like a monthly donation but if it can get you extra cash...

<comment><USER51> This is brilliant. Create a $10 tier to receive swag perhaps

</comment></comment><comment><USER52> I've looked at the guide[1] to writing _Brainfuck_ interpreter, and the _Zig_ language indeed looks very practical. In particular the _test "..." {}_ block is neat, and the love for stack backtraces makes me feel at home.

Definitely a language to keep an eye out on.

[1] [https://blog.jfo.click/how-zig-do/](https://blog.jfo.click/how-zig-do/)

<comment><USER39> I am curious whether it's inspired by Elixir's ExUnit test macro or the idea for that sprung up independently. Greatness is 99% transpiration nonetheless.

</comment></comment><comment><USER53> Zig, or making a better C sounds like a genius idea. C is so enormously successful that a better C could be huge.

</comment><comment><USER54> Hi Andy! Wanted to let you know that I appreciate the niche you're exploring. Pledged on patreon. Keep up the good work. Please do consider the comments suggesting a periodic video / podcast/ etc., that would allow you to share your process. Thanks!

</comment><comment><USER55> What exactly are people getting for their $1/mo? We have a donation page on our website that we send to people who ask but we haven't taken the plunge to exposing it yet out of fear of backlash.

<comment><USER56> Try "softening the blow" by selling a limited line of $SOME_PRODUCT_OR_SERVICE and releasing a donation page at the same time... And retain the donation page once the limited supply runs dry.

</comment></comment><comment><USER57> I would love to see zig compile to C so I can use it on platforms which clang/llvm do not support.

<comment><USER58> I'd think it would make sense to do this as an LLVM backend so that everyone could use it. This used to exist [1], but I don't think it's maintained, which suggests there wasn't much demand for it.

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

</comment></comment><comment><USER59> Hey op your andrewkelley.me/donate link is broken! might wanna look into that.

</comment><comment><USER60> Eh, it says he's getting $720 per month? Won't last long on that...

</comment><comment><USER61> Absolute awesomeness. I can't wait to see it to become next big thing!

</comment><comment><USER62> I run a small church. It's pretty much the same idea, except for YHVH.

</comment><comment><USER63> Go kick some butt man. - <USER2>

</comment><comment><USER64> [deleted]

<comment><USER45> that he isn't a d*ck and made fun of him cause that was "compiler 101", but helped a brother out!

<comment><USER65> I hate this elitism attitude people have like everyone should have taken a 101 for every topic in the universe. If all bugs are shallow given enough eyes, all problems are "X 101" problems given enough people.

"So and so helped me fix a hard problem"

"Isn't that just [problem category] 101?"

</comment></comment></comment><comment><USER66> I've been shat on HN before for saying this but I stand by it: you're not a programmer/developer/"whatever it's called now" until you have done a parser for something at least as complicated as lisp in whatever the lex/yacc equivalent is in your language of choice.

The difference between people who get regular languages, pretty much everyone who codes, and the people who get context free grammars is more than $100k a year.

<comment><USER67> I don't understand, are you saying that writing a language parser is a litmus test that that only real programmers can pass?

What makes it so special compared to other tasks of similar difficulty?

<comment><USER66> Parsing is the fundamental task of programming: taking information, performing a transformation on it, passing it along.

If you can't do it you might use computers but you're not programming.

Tuning DE solvers might take as much skill, or more, than getting context free string parsed, but it's not a skill that is used outside of numerical computing. DBAs aren't called programmers for a reason, but they are no less valuable for it.

The same applies for every niche skill that takes years to develop.

<comment><USER67> >The same applies for every niche skill that takes years to develop.

so you just defeated your own argument, instead of hyper-focusing on writing parser why not just say "years of experience" if that is what really matters?

no wonder you got shit on.

<comment><USER66> If you spend decades being a better juggler you won't be a better programmer, the same is true for all the meta-programming jobs.

</comment></comment></comment></comment></comment><comment><USER68> [deleted]

<comment><USER69> Why? For some people traveling is their fulfillment of life. For other people it can be hacking, gaming, watching all TV shows that are on the planet, etc.

<comment><USER70> Living the drean then. Trying to get through everyshow this summer.

</comment></comment></comment><comment><USER71> There's a "take off every zig" joke in here somewhere.

Take off from OkCupid, start every zig?

<comment><USER72> I'll bite: kickstart every zig.

</comment></comment><comment><USER73> About donations, recently Twitter blow up with the story of Minister who lives in 35,000 square 25-rooms mansion, and asked for $54,000,000 donations for his fourth Jet [1]. Reasoning was that public planes are "tubes filled in with demons" that in the post "bothered [him] with their prayers". He also wrongly claimed that he needs new jet so he flies without stopping anywhere to refuel as the gas prices are high... altho everyone flying private jets know jet fuel is cheaper almost everywhere outside of US.

His "apology" video is worth watching [2] ... his office is literally dripping with gold; the Eggs on his desk are $4,000 per piece. Given recent price of pound of rice, one of those eggs will get you 12,000 pounds (!!!) of raw rice. It takes approx 0.8 pound of rice to feed one person per day. 12,000 / 0.8 gives you 15,000 days worth of rice for one person, or 41 years. One Egg! [2]

Anyways the point of my story is that if in first world country like USA you can find people gullible enough to buy stories like this one and keep on living in literally liquid luxury for 40 years (like that minister does), then it doesn't surprised me someone quit job, begs people for donation and actually makes a solid living.

[1] [https://www.cnn.com/2018/05/30/us/jesse-duplantis-plane- falc...](https://www.cnn.com/2018/05/30/us/jesse-duplantis-plane- falcon-7x-prosperity-gospel-trnd/index.html)

[2] [http://www.jdm.org/xw- partnerupdate.aspx?source=TWITTER](http://www.jdm.org/xw- partnerupdate.aspx?source=TWITTER)

PS. Oh and while you on your donations spree, you don't have to be transparent; here Jesse Jets beacon is off; not only he doesn't fly with peasants like you and me, he doesn't want you to know where he is "burning the Jet for Lord Jesus": [https://flightaware.com/live/flight/N770JD](https://flightaware.com/live/flight/N770JD)

<comment><USER74> There's no "story" here. The guy has written a real piece of software. You can download it and try it yourself. If you like his work (many of us do) you can tip him a small donation, barely even beer money, to show your appreciation. It's kind of silly to act like this is some sort of scam.</comment></comment>


The 25 most recommended programming books of all-time - <AUTHOR> https://www.daolf.com/posts/best-programming-books/ <comment><USER2> Yet another artificial list of Amazon affiliate links (tag=daolf-20); this one's ninth submit in less than 3 weeks (sometimes with a tweetstorm wrapper):

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


Linux kernel advances - <AUTHOR> http://www.ibm.com/developerworks/linux/library/l-kernel-advances/index.html?ca=dgr-lnxw97Kernel-Advances&S_TACT=105AGX59&S_CMP=grsitelnxw97

<comment><USER2> That's great that the kernel has all of those new features, but I don't feel better knowing that the kernel is now 2M lines heavier than before.

<comment><USER3> Yeah, I was thinking the same. I wonder how many of those lines are really "kernel-for-real" essential code and how many are in various drivers.

<comment><USER4> the vast majority are drivers, there are thousands upon thousands of drivers in there which means hundreds of thousands of lines of code.

</comment></comment></comment><comment><USER5> Now that squashfs is finally in vanilla, hopefully a solid unionfs implementation will make it in soon. Both have been shipping on livecds for years, but just never made it all the way upstream.</comment>