Ask HN: Undelivered email or false claim? - <AUTHOR>

I am the client/developer facing girl at our tiny little startup. We have outsourced a lot of miscellaneous tasks to independent-freelance developers in the past very successfully.
But recently, this developer we are working with, has come into the habit of responding to emails too late (which lag the projects and hurt our client relations). When inquired, he claims that he had already delivered the email and chances are that I missed it because of possible technical reasons. And he sends in the email again (2-3 days late). This has already happened 4 times during past 3 weeks. Is there any way to verify if he is being honest?
In short, I would like to know if there is a way to verify false email delivery claims. <comment><USER2> I'm sure you can get a more in-depth technical explanation out of someone here, but to give you a high level:

Email today is very, very reliable. If you are not getting his emails the only reasonable cause would be that they're getting caught in a spam filter somewhere. Of course if you're receiving emails from him at all, that's pretty unlikely.

There's nothing he could send over (like an old sent email) that would prove what he's saying. Email is easily forged and he could cook up a fake 'sent' email in a couple minutes if he felt he had to.

Just sounds like he's unreliable. I would suggest you replace him post haste.

<comment><USER3> > Email today is very, very reliable.

Not in my experience. Email is as reliable as the weakest link in the chain. The weakest link is often the other party's email system which was set up years ago, buggy and not maintained very well. Amongst small businesses, misconfiguration is very common and much buck passing goes on as few of those involved have the understanding to diagnose a fault. Lame DNS delegations are particularly common which can cause the same DNS lookup to sometimes fail and sometimes succeed.

However, I think that most suppliers would take immediate extra steps if it appears that their emails aren't getting through. If this is happening repeatedly then I don't think that unreliable email is the reason.

<comment><USER2> I haven't experienced any of those issues but I'll take your word for it. I have seen a similar problem with a DNS setup on a site. Almost every second request would throw an error. Turned out to be a two separate, conflicting records for the same address.

</comment></comment></comment><comment><USER4> This is sort of the shadow case for Basecamp and what have you.

Incidentally, this is a dog-ate-the-homework problem. My, what interesting tastes your dog has. If he does it again, you still fail. It is _amazing_ how many students can retrain their dogs given motivation like that.

</comment><comment><USER5> Generally, no. You could look at the incoming mail logs if you run your own server, and I've used that to verify someone _was_ indeed mailing in but it was labelled as junk immediately (grepping through the junk mailbox was prohibitive). I _watched_ as I had someone on the phone saying "I'm mailing" to make this happen.

I'd vote for the basecamp option, but not specifically basecamp (not my cup of tea - I'm using redmine right now). Having a central web service where email is ancillary to the process, not vital, helps keep everyone up to date _and_ has the added bonus of creating a history log of what's happened on a project. This makes bringing in other people easier to do because they can see the history of the project at a glance and ask more intelligent questions when getting started.

</comment><comment><USER6> One easy way: for the moment, have him confirm sending an email by another "more reliable" channel like phoning you.

After all, if he's telling the truth, he'll want to confirm this is happening since that is a first step in diagnosing the problem.</comment>


A False Economy Powered by Ads and Lies - <AUTHOR> https://www.johnwdefeo.com/articles/false-economy <comment><USER3> > When the reward of being dishonest is (seemingly) greater than the risk, no > person or company is accountable: The entire system is at fault.

This dynamic is a great factor in many overarching issues today. In politics, it's so easy to get stuck on ideology, ethics or morality. But in practice, it comes down to incentive structure. And carrot usually works better than tick, for several reasons.

Consider the problem of tax evasion in retail. Greece is imposing fines on those who conduct a large enough ratio of their transactions in cash[0]. Taiwan solved this more elegantly in 1951, IMO, with introducing a lottery with a number coming up on each receipt, thereby creating an incentive for consumers to ask for a receipt[1].

0: [https://fortune.com/2019/12/16/greece-digital-economy- cashle...](https://fortune.com/2019/12/16/greece-digital-economy-cashless- fines/)

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

<comment><USER4> How about this:

1\. Have a way for buyers to report when a seller is bribing them to fake reviews. If the report turns out to be genuine, give the buyer a small reward ($5/10).

2\. Have Amazon occasionally pretend to bribe people to do fake reviews. If a user does the fake review, their account is banned for one month. If the user reports the fake review, they get the small reward.

Between the carrot of reporting fake reviews, and the stick of being banned for falling for the request, you'd "crowdsource" a lot of the issues.

<comment><USER5> "If the report turns out to be genuine"

This still requires the platform to detect _genuine_ transgressions which is very difficult.

<comment><USER4> > This still requires the platform to detect _genuine_ transgressions which is > very difficult.

I had in mind situations where a seller contacts a buyer who has left a negative review, and offers free merchandise for changing the review. If it happens within Amazon's system, they should be able to verify it.

Obviously an attack you have to defend against is unscrupulous seller E posting fake review requests on Facebook (or wherever) "on behalf of" honest seller A, causing Amazon to ban / punish A in the rankings.

</comment></comment></comment></comment><comment><USER6> There seems to be a lot less gaming of the negative than the positive reviews. So on Amazon, etc. I like to read the worst reviews and see if they talk me out of buying.

I suppose if this approach catches on, scammers will spend more time denigrating competitors than boosting their own products, and it'll become less effective.

<comment><USER7> I don't know if gaming negative reviews is less common than positive ones (I assume it is), but there are plenty enough fake negative reviews to cause me to stop paying any real attention to them too.

I use reviews for only one thing -- to find out about specific tips and tricks about using whatever the product is. I pay very little attention to how the reviewer actually rated the product.

</comment></comment><comment><USER8> That's not a false economy, that's the only economy that started since it's inception. Information asymmetry and game theory talks a lot about it

<comment><USER9> Yep. That's a 100 years of Edward Bernays.

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

That's the guy who started it all.

</comment></comment><comment><USER10> What should we/they do?

Even in real-life, you're never sure, when someone recommends a product, be it a salesman in a brick and mortar store ("this one here is a lot better then that one there", even at the same price, could mean different profits). With platforms like youtube, you have atleast minimal trust in a few youtubers you follow regularly (and this literally means "a few"), but doing a random search means 80% chance the reviewer got sponsoder or atleast received the product for free in exchange for a good review. Star systems on sellers pages have their own sets of issues... usually people don't write reviews at all if the product is good, and complain only after it breaks (unless they're 'paid' for the review).

<comment><USER11> They can do what legacy retailers have done for ages, which is to not stock goods from fly-by-night sellers. Offer customers choice among established brands, and eschew becoming the Western version of DealExtreme, AliExpress or Wish.

I don't see fake reviews of TVs or headphones on Best Buy's site, and I've begun purchasing from brick and mortar establishments (buying online or doing instore pickup) more often now. Amazon's supply chain can't be trusted.

<comment><USER12> having worked on a system that managed reviews for a certain giant electronics retailer, I have bad news for you.

<comment><USER11> I'm less worried about possibly astroturfed reviews if the brand is something I've already bought from, like Samsung or Sennheiser, or a cheaper but otherwise reliable one like Anker.

</comment></comment></comment></comment><comment><USER13> 62% of ad revenue goes to publisher so there is a clear incentive to keep people outraged.

[https://ibb.co/k8F413r](https://ibb.co/k8F413r)

</comment><comment><USER14> > Two months before the collapse of Bear Stearns, the first investment bank > claimed by The Great Recession, The New York Times ran a story entitled, > "Can banks self-regulate?" Clearly, the answer was no. Yet, in the face of > new regulations that followed, the surviving big banks have grown bigger and > more powerful than before. A similar situation may play out with big tech > companies.

I turned skeptical when I read this plus the Upton Sinclair quote. Nothing about Amazon's marketplace or ad business or even fake reviews is even remotely close to the financial system pre-financial crisis. AAFG are not holding the bill for trillions in potential liabilities on highly leveraged positions in complex derivatives. They're operating a market that doesn't involve any credit whatsoever outside of payments. Seems like the author has something of an axe to grind rather than a rational assessment of the risk and problems.

I don't think it's _good_ that this system is the way it is, but _caveat emptor_ seems like a perfectly fine solution. I've become more skeptical about what I buy on Amazon, and I imagine most other consumers have done the same. If Amazon wants more business from me again, they can improve the quality of offerings.

<comment><USER15> How is an emptor supposed to caveat if the so-called review system is systemically dishonest?

Caveat emptor doesn't work, because Amazon has no incentive to improve review or product quality.

Bezos is rewarded whenever an item is sold. Most items won't be returned unless grossly faulty or misdescribed. Accurate reviews and more selective product filtering would decrease his earnings - a strong negative incentive, if you're someone like Bezos.

With current legislation, the only thing that might improve the situation for buyers is aggressive competition. As a de facto monopoly, Amazon doesn't need to worry about that.

Putting it crudely, e-commerce automates and amplifies scamming and dishonesty. There's limited accountability for sellers and virtually no accountability for the owner of the marketplace.

In the non-virtual world there are trading standards and other consumer protection mechanisms. They're not infallible, but they do at least exist.

The online equivalent would be some kind of blanket consumer-good-faith system which punished fake news, manipulated reviews, and substandard products.

Good luck getting that written and passed as coherent legislation with adequate enforcement.

<comment><USER16> Amazon isn't a de-facto monopoly by any reasonable definition. Most big box retailers have online shopping, and Walmart even offers the same delivery speeds in many areas.

<comment><USER17> One of the biggest long term risks for Amazon's retail business is that they don't really have a moat. They can beat people logistically, but eventually, other companies will catch up, and there's probably a diminishing returns effect on money poured into that. They have Amazon Prime, which was probably created to try to be a moat, but I think they've had more difficulty making that a moat over the long term than they may have initially hoped. Why would I pay for faster shipping if Wal-Mart pretty much offers it by default? Tacking on a lot of mediocre streaming services is a weird way to add value to that.

(AWS has a lock-in moat. Once you're in, you will find it harder and harder to leave over time. True of all the clouds, but that plays in favor of the biggest which at the moment AWS is.)

If you look, you can kinda see a lot of flailing on Amazon's part over the past several years trying to figure out how to build a moat around their retail in a lot of ways; Amazon Basics, various games around Prime, trying to convince people to buy retail through Alexa which is hard-coded to Amazon, of course, etc. Almost everything the retail side is doing amounts to that in the end.

<comment><USER18> I don't trust Amazon to buy important things. Like expensive electronics. Or things where the risk of counterfeits are too high. I'd rather buy it from Target, and pay more, because I can get access to reliable customer support.

</comment></comment></comment></comment></comment><comment><USER19> Until marketplaces are fined by the FTC directly for enabling I think this will continue to grow as an issue.

</comment><comment><USER20> As of the middle of 2019 Google continued to be inundated with fake business listings, some of them are outright scams and fraudsters who harm consumers. All of them are intended to harm local businesses by making them invisible compared to the fake listings. I have not heard of Google finding a solution to this problem.

Some specific fields, like dentistry, seems to be flooded with SEO that is meant to prevent price comparison research. I'm no expert in ad fraud but I suspect the most polluted categories are the ones with very high click-through revenue.

While there are many things Google gets right, including fighting SEO where revenue is not much at stake, they have obvious perverse incentives to ignore these problems as well as the way fake reviews contribute to these problems.

</comment><comment><USER21> We need a review site linked to hard identity + purchase verification + ability to see all other reviews by that reviewer (how many things do they review, in what categories, and are they potentially biased? Also, for complex products, do they have any authoritative credentials that might make them subject matter experts?) + ability for other reviewers to review reviewers, sort of like a peer rating system...

<comment><USER22> Not what you're suggesting, but a site with at least ethical aims (and potentially additional features for things you bring up): [https://lib.reviews/](https://lib.reviews/)

</comment></comment><comment><USER23> We can criticise the regulators as not doing enough and complain that they lack resources, but the reality is, they don't need to compete with (and beat) tech giants, they only need _teeth_. Ideally the regulator (FTC or whatever) would just write some sensible laws (e.g. no fake reviews or no lies in ads), then burden the tech giants themselves with enforcing these laws... then investigate not necessarily _non-compliance_ (i.e. evidence of fake reviews), but also lack of process, i.e. the inability to detect _potential_ fake reviews... and of course impose humongous fines (% of worldwide revenue, a la GDPR but actual fines, not just threats).

<comment><USER24> This is exactly how things are currently done (DMCA, "sex work" search results), and it leads to more people being outraged by big tech companies acting as judge jury and executioner.

<comment><USER25> But it works.

<comment><USER26> You should talk to all the indie youtubers who had their videos taken down by DMCAs

<comment><USER25> Yes. Their videos are still down. It works.

</comment></comment></comment></comment></comment><comment><USER27> This is a failure of lack of regulation, as human nature is to go too far in order to understand how far they can go.

Therefore, some of us will always take it too far until we reach the wall. This wall cannot be built by ethics or morals or any "self-regulation". It needs to be externally built, and well-enforced.

</comment><comment><USER28> It shocks me we don't have a place to read honest reviews. Where professional reviews who get paid will test things and give an honest opinion, anonymously, so they won't be bribed, and you can go there to read what they say and see their rating.

<comment><USER29> In the UK we have 'Which', a private organisation that does not allow advertising in its magazine or website to avoid conflicts of interest. I understand that their reviews are impartial. They prioritise features that do not always overlap with my own preferences so their 'best buy' recommendations are not always aligned with my personal preference, BUT their reviews are very thorough and I purchase a membership whenever I plan to buy a significant item.

</comment></comment><comment><USER30> > Machines aren't going away, but they are learning from us - both our lies > and our truths.

Respectfully, I disagree.

Programmers are responsible. Machines only follow the instructions humans tell it to follow.

Everyone who codes should really look at themselves in the mirror now and then.

<comment><USER31> > Machines only follow the instructions humans tell it to follow.

I suggest that you read something about AI and ML. The "instructions" that go into these pipelines are many levels removed from the outputs. It's like saying that cells only follow the DNA instructions given to them - <USER2> evolution, mutagens, exogenetics, etc. The original instructions don't tell anywhere near the whole story.

Is the opacity of these algorithms a problem? Yes, it surely is, precisely because the machines are _not_ just following instructions in any meaningful sense.

<comment><USER32> Just because the instructions are convoluted and implemented by people who don't code the math themselves doesn't mean the outcomes are removed from the inputs. It's still a machine.

Heuristics use random number generators and produce random (non-deterministic) results, is that not following instructions written by programmers?

<comment><USER31> > is that not following instructions written by programmers

Not in any useful sense. Everything's deterministic with perfect knowledge, but nobody has perfect knowledge. The universe is still a machine too, and yet somehow manages to surprise us anyway. As soon as you inject non-replicable random numbers into the process, "following instructions" isn't entirely true any more.

</comment></comment></comment></comment><comment><USER33> what about the underlying currency system which depends _only_ on everone's trust in it?

there's very little which keeps fiat money connected to reality...

<comment><USER22> Except some enormous military power and other law enforcement requiring the payment of taxes in the fiat currency…

</comment></comment><comment><USER34> Luckily products from well established companies are still free from fake reviews (on Amazon) by and large. As long as you avoid the hordes of 5 star products with very generic brand names that you have never heard of, you can still trust reviews to have some degree of accuracy.

Not to say that the suspiciously cheap product with near perfect reviews that always shows up at the top is always the wrong choice. I bought a knock off dremel for $20, and later ended up using it to cut quite a bit of 1.8in mild steel and it performed great. Only a little bit of smoking from the internals. On the other hand, I bought a cheap microphone from the same style of seller, and it was an unmitigated piece of garbage.</comment>


Alternatives to Showing Photos on Twitter - <AUTHOR> http://www.codebelay.com/blog/2012/12/10/3-alternatives-to-showing-photos-on-twitter-after-the-instagram-yank/

<comment><USER2> Sorta lost me with these two bits.

Via.Me* is hands down the best for power users that need to post images to both Twitter and Facebook. Your photos also show up Pinterest-like on the app's web page for leisurely desktop viewing. Below is Via.Me in a Twitter card.

* Disclosure: I work on the API at Via.Me.

I mean, why even?

</comment><comment> g-garron pinterest?

<comment><AUTHOR> Yes, I think it would be great if Twitter would let us know which major apps use Twitter cards and which don't.</comment></comment>


Watch the Inspiring Movie 'CODEGIRL' for Free on YouTube Until November 5th - <AUTHOR> http://techcrunch.com/2015/11/01/watch-the-inspiring-movie-codegirl-for-free-until-november-5th/ <comment><USER2> When i was a much younger lad in my schooling days, programming was not a popular hobby. It was not one you broadcast to your peers, and certainly not one that you took pride in. What you created, was yours. And if you were lucky enough to have surrounded yourself with friends that understood your obsession, you could share with them what you were learning.

One thing i observed, is that ignoring the social conventions of what you are "supposed" to enjoy, is much easier for prepubescent and pubescent males than it is for females of the same age bracket. Females stress far more over 'fitting in', and the approval of others. Unfortunately, this means that in those critical formative years, females are missing out on the growth and development needed to make great programmers. Great programming requires long established brain development in the required disciplines, a deeply laid foundation of logic, and this is best established very early on.

Much of the bias in information technology, is not because of discrimination or sexism, but because females aren't in an environment that cultivates the necessary skills. This is not necessarily something that requires intervention from educators, or politicians. It's something that teenagers need to value, and to appreciate.

When i was a young lad, anti-intellectualism was a religion, and was heavily practiced in the social fabric i was required to navigate. I'm unsure if that trend has been corrected, but i am sure that we're seeing the side effect of that in the professional landscape with the amount of qualified females with an interest in the STEM fields.</comment>


30 years ago, this anime invented the Internet - <AUTHOR> http://www.tubechop.com/watch/2931716

<comment><AUTHOR> It's WONDERFULLY USEFUL and INTERESTING.

See also: [http://www.tubechop.com/watch/2931716](http://www.tubechop.com/watch/2931716) and [http://www.tubechop.com/watch/2931852](http://www.tubechop.com/watch/2931852)

<comment><AUTHOR> First one should have been [http://www.tubechop.com/watch/2956144](http://www.tubechop.com/watch/2956144)</comment></comment>


Testing Sync at Dropbox - <AUTHOR> https://dropbox.tech/infrastructure/-testing-our-new-sync-engine <comment><USER2> hey all, author of the previous post ([https://news.ycombinator.com/item?id=22595782](https://news.ycombinator.com/item?id=22595782)) here, and I'm happy to answer any questions about the system! I think the author isaac is here too.

<comment><USER3> Whenever I start Dropbox (boot my laptop) it takes ~30min of maxed out single- core work to "catch-up" since the "last-update". It's just really annoying as it makes my laptop quite loud.

Why is that? Google Drive doesn't seem to need to struggle that much.

<comment><USER4> How much data (total size/count of files) do you have?

<comment><USER3> According to windows: 371790 files and 15.6GB.

</comment></comment></comment></comment><comment><USER5> Interesting, I learned this technique of having a third, synchronization intermediary with offlineimap and this helpful blog post: [http://blog.ezyang.com/2012/08/how-offlineimap- works/](http://blog.ezyang.com/2012/08/how-offlineimap-works/)

<comment><USER6> Thanks for sharing. This is indeed a very helpful blog post

</comment></comment><comment><USER7> > To cover this layer of our codebase, we also run Trinity in a "native" mode, > targeting the platform's actual filesystem. However, running against the > native filesystem incurs a huge performance penalty (roughly 10x), which in > turn means Trinity Native can't test as many different seeds.

What platforms do you test in "native" mode? What hardware backs it?

<comment><USER2> we just use our regular CI infrastructure for running linux, macOS, and windows. we have infrastructure for managing VMs for our different supported platforms, setting up filesystems, and so on.

here's a talk from one of our engineers on our macOS CI infrastructure: [https://blog.macstadium.com/blog/virtualizing-mac- infrastruc...](https://blog.macstadium.com/blog/virtualizing-mac- infrastructure-at-scale-a-ci-case-study-with-dropbox)

</comment></comment><comment><USER8> I'm sure Dropbox is first-class behind the scenes, but the desktop app has become simply awful with time, so that I almost feel sorry for them and embarrassed towards other people when I use Dropbox.

</comment><comment><USER9> I find the capitalization of the title here on HN to be rather misleading.

I thought Dropbox was actually testing Sync ([https://www.sync.com/](https://www.sync.com/)) in-house and doing a public comparison.</comment>


Google's Newest Role: Venture Capitalist - <AUTHOR> http://www.businessweek.com/technology/content/sep2007/tc20070831_697591.htm

<comment><AUTHOR> Does anyone know who they funded in this manner?

<comment><USER2> sergey's wife's company (23andme.com)?

[http://www.techcrunch.com/2007/05/22/google-takes-stake- in-s...](http://www.techcrunch.com/2007/05/22/google-takes-stake-in-sergeys- wifes-company/)

<comment><USER3> Thanks for the link! Apparently I've got a Google funded competitor now...</comment></comment></comment>


Anger spreads faster than joy on social networks - <AUTHOR> http://www.technologyreview.com/view/519306/most-influential-emotions-on-social-networks-revealed <comment><USER2> I've noticed this on HN too. When otherwise lightweight stories get a lot of upvotes, the most common cause (probably more than 90% of the time) is that they're something users are indignant about. The more clickbaitish news sites know about this phenomenon and deliberately milk it.

<comment><USER3> Isn't this also true in real life causes? E.g., I see many more political campaigns gain traction when they invoke the language of impending doom, illustrate a threat to a way of life, and call attention to something outrageous. I can hardly think of any successful cause that was carried on what I would consider positive messaging.

It seems to me that the promise of some great outcome seems either/both unbelievable and easy to defer action toward. But negative outcomes are immediate and demand action now. Negatively-charged stories seem to press all the same buttons -- "can you believe this!?", "this must stop!", "they're at it again!"

<comment><USER4> the political campaigns that get a _surprising_ amount of traction - as in relative to what you would expect from the political machine, however, tend to point out criticism (which could be construed as "negative") in the context of a greater positivity/aspiration (I'm thinking in 2008 Barack Obama, Ron Paul), so it gets tricky to label things in such black and white negative/positive contexts.

</comment></comment></comment><comment><USER5> This shouldn't be surprising, psychologists have known this for a couple of decades. See mood contagion: [https://en.wikipedia.org/wiki/Emotional_contagion](https://en.wikipedia.org/wiki/Emotional_contagion)

Anger, being a highly negative, high energy-level emotion, is _very_ contagious.

 _People respond differentially to positive and negative stimuli, and negative events tend to elicit stronger and quicker emotional, behavioral, and cognitive responses than neutral or positive events. Thus, unpleasant emotions are more likely to lead to mood contagion than are pleasant emotions. Another variable that needs to be taken into account is the energy level at which the emotion is displayed. As higher energy draws more attention to it, the prediction is that the same emotional valence (pleasant or unpleasant) expressed with high energy will lead to more contagion than if expressed with low energy._

</comment><comment><USER6> This is relatively unsurprising to me, but it's cool to see a study done about it. Think about how quickly faux outrage will spread throughout Twitter or Facebook. How many people do you know posted articles expressing their "disgust" at Miley Cyrus during the VMAs (anger)? Now how many people posted anything congratulatory about their favorite bands that won awards at that same show (happiness)?

</comment><comment><USER7> The study was conducted on microblog networks in China. The people who use the networks have plenty to be angry about, and few other channels for expressing dissent.

The fine article submitted here correctly notes that this is not a finding about the West, and so the first thing to do to find out how general this phenomenon is is to study the West directly. "Of course, it would be interesting to see whether the same effect can be observed in western networks such as Twitter. That should be relatively straightforward to find out given the growing interest in sentiment analysis and the increasingly effective tools available to carry it out." So, yes, let's see what we find out when other social networks are put to the same test. And let's see what is found in China someday when China has a free press and an open political system.

</comment><comment><USER8> "Nothing travels faster than the speed of light with the possible exception of bad news, which obeys its own special laws." \-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"

Switch out "bad news" with "angry news."

</comment><comment><USER9> Why would you spread messages of sadness and disgust? I can also see why you would spread messages of joy to friends and family. I can see why you would spread messages of anger to everyone - because you're informing people of situations that you hope to correct.

Tweet SAD: "My rotten car broke down for the last time today. I guess it's the bus for me #YOLO"

Tweet DISGUST: "When I was in line at Starbucks yesterday, the guy behind me puked on my shirt. Ugh. #YOLO"

Tweet JOY: "Looking at the sunset on a Thai beach with the one I love. Thailand has changed me forever. #YOLO"

Tweet ANGER: "Our wonderful police force have gunned down a black man looking for help after crawling out of a car wreck! #YOLO"

Only one I'd consider retweeting is the last.

<comment><USER10> Outrage cues a defense reaction. It's an alarm signal.

If you're a hits-motivated advertising site, they guarantee traffic. That's the abuse angle.

</comment></comment><comment><USER11> >Anger spreads faster than joy on social networks.

News like this really pisses me off.</comment>


Slovak newspaper claims Threema broken by Europol in murder case - <AUTHOR> https://translate.google.com/translate?sl=auto&tl=en&u=https%3A%2F%2Fdennikn.sk%2F1483667%2Fpolicia-prelomila-kocnerove-sifrovane-spravy-hlada-aj-tie-ktore-mali-byt-stratene%2F <comment><USER2> Jan Kuciak (an investigative journalist) and his fiancee were killed (2 shots in the heart close range and then, bullet in the head while kneeling respectively).

At the time he was investigating the connections between the current government and mafia. It triggered huge protests in Slovakia. The prime minister of Slovakia was forced to resign.

Marian Kocner is a suspect of ordering the murder. Apparently he was using Theema to do that.

</comment><comment><USER3> If it's true I'm really curious how they did this. Probably they got the private key somehow?

<comment><USER4> They could receive the private keys from Theema directly, but they also have access to Kocner's phone so they could extract it from there.

This is an investigation of high-profile murder so I assume they have resources to do either of these.</comment></comment>


The Venture Capital Squeeze - <AUTHOR> http://www.paulgraham.com/vcsqueeze.html

<comment><AUTHOR> Interesting to re-read this article in light of recent HN submissions on VC and startup valuation.

Old, but still good.</comment>


AppHarbor (YC W11) adds New Relic performance monitoring - <AUTHOR> http://blog.appharbor.com/2012/03/27/new-relic-is-now-an-appharbor-add-on

<comment><USER2> Good move. New Relic is _awesome_ with .NET.</comment>


Zo from Ameelio.org is doing an AMA on Reddit - <AUTHOR> https://www.reddit.com/r/IAmA/comments/hy70st/i_am_zo_orchingwa_a_yale_law_student_and/ <comment><USER2> bump</comment>


Why Every Educator Should Read Hacker News - <AUTHOR> http://educationismylife.com/why-every-educator-should-read-hacker-news/

<comment><USER2> > As educators we are constantly trying to spark our student's "intellectual > curiosity".

Rarely. Let's be honest here, most teachers are not even teaching, not to mention sparking anything. They're just (slightly) glorified babysitters maintaining a space where people store their kids during the day (vide <http://www.paulgraham.com/nerds.html>) with some supposed benefit to the kids and society at large but the results are so hard to quantify that no really knows.

You're an outlier in your field. Which is also probably why there is no popular site like HN for educators -- there are too few of you who really care, not in theory, not in declaration but in the constant effort to improve their process and results. I'm not blaming them, there are no incentives, no feedback loop, and almost no leaders to imitate.

<comment><AUTHOR> I think I may have agreed with you completely five years ago, but today's world of education is changing...fast.

We may be still seen as outliers in our field, but the landscape is changing an many educators are getting on board. I'm also looking at the glass somewhere half full, which may not be the case...

<comment><USER3> There are enough tools now for these teachers to find one another rather than been islands in a school.

Growing up, I can count the number of educators that cared enough to "hack their craft" on one hand. None of them knew about each other. What has changed is that these people now have a way to know one another. This also helps some teachers with hacking potential that would have otherwise slipped through the cracks to realize potential as a hacking teacher.

TBH, without a site like hacker news and places like github, how many here would still be working a lame enterprise programming job coding in VB.NET or Java in the basement of some big company where programming isn't the core business, but simply view as another job that needs to be done.

<comment><USER4> "There are enough tools now for these teachers to find one another rather than been islands in a school."

This is not true. I've been teaching for 15 years, and I've looked every year or two for good online ed communities. There are some good ideas out there, but every one I have seen has a significant shortcoming: over-commercialized, technologically inferior, poorly moderated, diluted by the whining and complaining that plagues staff rooms...

The value of a true HN clone is real. I'd love to see someone make an exact clone of HN, called Educator News, if pg would be fine with it. I can't run it, but I'd sure help moderate it.

</comment></comment></comment></comment><comment><USER5> I loathe passing around links about education to anyone in the profession. The comments almost immediately go negative. The first comment on this post was calling teachers babysitters. Everyone immediately turns against each other (parents, teachers, armchair educators, politicians).

Most good school teachers don't have time to read sites like hacker news for even an hour a day. They're in the weeds --running after school programs, early morning programs, writing IEPs, planning upcoming lessons, and whole slew of other stuff most people don't even think about.

People in the tech field all have the luxury to stop working to check out a few articles on the internet. We even pretend like this is making us better at our job. Teachers do not have this kind of time. They are on the moment they walk in to the moment they walk out (and them some more before they go to sleep).

Good teachers are like full stack engineers. They have to worry about everything and carry all the wait. They're thrown into a 50+ year system that almost never changes. Their version of a startup is creating a new school, and that's still a derisive, hot topic (chart schools). Instead most of them work for the education equivalent of IBM.

But still, Academic Recess sounds like a good idea. I just signed up. Hit me up at gaelenh at gmail dot com if you want any help.

<comment><AUTHOR> Don't let the haters get us down! I'll reiterate that I do believe perception is changing amongst many teachers in the field. However, the perception outside of the field is what you said...

<comment><USER5> In NYC I would say that it's still a mixed. The comment section on gothamschools.org (great local edu news site) is full of Angry Teachers waiting in the wing to jump on editorials and commenters with vitriolic language.

</comment></comment></comment><comment><USER4> I am a high school teacher who reads HN as well. I completely agree; there are many ideas in the hacker world that are quite relevant to education. I would love to see an "Educator News" clone of HN. A simple site where the focus is on high-quality ed articles, where all the BS banter and whining that occurs on almost all ed sites is downvoted and killed. A site where educators who act as professionals every day gather, and start to take education back from politicians and legislators. I will check out Academic Recess. If it's a clone of HN, and it is well-moderated, I will love it. If it's just inspired by HN, I'll wait and see.

<comment><AUTHOR> We are planning a similar site and we are looking for moderators... Thanks for the interest and I completely agree.

<comment><USER4> I just signed up. I'd be happy to be a moderator with the goal of creating a professionally-minded community that demonstrates ownership of education.

</comment></comment></comment><comment><USER3> Interestingly I think the OP indirectly touch upon the reason why everyone should learn to program and not just people who want to do so as a profession.

Programming is the lever which allows members of a community to surmount all the obstacles that form a barrier to sharing, collaboration and developing best practices out in the open with others.

Without programming, sharing and collaboration is reduced to the amount afforded by fundamentally human "bandwidth". Programming gives you the tools to create and marginally, but constantly improve systems to increase not only the bandwidth between two members of the community, but the number of people within the community with whom a single member can collaborate and share with.

I would say that tools like Github are the most important tools in the community because use of it ultimately inspires a lot of the discussion in the community. It takes the basic building block of what the community is most passionate about, code, and accelerates and multiplies the interactions between two to many people involving that code.

In the educational community, something similar that involves lesson plans, exercises and other teaching material would be awesome.

For example, were I a science teacher, how could would it be if it were easy to share exercises, fork and modify them, hack together individual exercises of greater complexity that not only teach underlying principles but how multiple underlying principles work together.

What tools would allow people who have a passion for teaching to come together and collaborate over material? Programming allows the building of those tools. The more members there are of a community that can program, the more likely that there will be diversity of solutions and rapid iterations of those solutions.

</comment><comment><USER6> Very interesting post. I've been getting more into educational technology (I have school aged children and recently became co-chair of the tech committee at their school).

I've been thinking of a "Hacker News for Education" for some time, so I signed up for academicrecess -- let me in! :)

<http://academicrecess.com/?lrRef=4EVtr></comment>


Universe shouldn't exist, CERN physicists conclude - <AUTHOR> https://cosmosmagazine.com/physics/universe-shouldn-t-exist-cern-physicists-conclude <comment><USER2> seems like a lazy conclusion. maybe our model doesnt account for the data.

<comment><USER3> More likely a lazy headline. It reads better than "Existence of our universe discovered to be statistically improbable but, due to the infinite nature of time, also inevitable"

If "the big bang" was just one in a series of big bangs / big annihilations, then eventually one will have a random scattering of matter and anti-matter in which there will be enough non-mixing of the two (all the matter on the right and all the anti-matter on the left) that the result of the big bang will take much longer to reach the big annihilation. And if the expansion continues to grow, as current evidence suggests, then maybe it'll never annihilate, it'll just heat-death out.

Or something.

<comment><USER4> What does "infinite nature of time" mean in this context when time is a feature of the universe we inhabit? Your whole post makes it seem like there is a grander, more absolute notion of time that's independent of our universe.

</comment></comment></comment><comment><USER5> Now 404</comment>


Hell Money - <AUTHOR> https://en.wikipedia.org/wiki/Hell_money <comment><USER2> There will be hell to pay!</comment>


Monopolizing bandwidth - <AUTHOR> http://blogs.reuters.com/felix-salmon/2014/02/17/monopolizing-bandwidth/

<comment><USER2> In a nutshell: If I want fast, cheap internet, then I should get the heck out of the US (where there's no competition and no government enforcement of anti- trust law, competition law, or consumer protection law); vote with my feet; and go to South Korea. There, the government intervenes in the market and regulates ISPs _to foster competition_ :

"South Korea's government worked closely with providers, encouraging investment and coming up with a development strategy that was collective but still included a deep reliance on competition." Source: [http://news.cnet.com/South-Korea-leads-the- way/2009-1034_3-5...](http://news.cnet.com/South-Korea-leads-the- way/2009-1034_3-5261393.html)

"A number of governments, including South Korea [...] have experimented with or embraced infrastructure-sharing as a way to get new companies to compete in the broadband market." Source: [http://www.cnn.com/2010/TECH/03/31/broadband.south.korea/](http://www.cnn.com/2010/TECH/03/31/broadband.south.korea/)

By contrast, here in the US, regulators like the FCC are toothless, and the Courts favor Big Business. We just saw Verizon crush the FCC's _net neutrality_ policy in federal court. And we probably won't see the DOJ stop this Comcast/Time-Warner merger either.

There is a Whitehouse petition to "Stop the Comcast/TimeWarner Cable merger and require more competition in the cable industry." [https://petitions.whitehouse.gov/petition/stop- comcasttimewa...](https://petitions.whitehouse.gov/petition/stop- comcasttimewarner-cable-merger-and-require-more-competition-cable- industry/ym52vbd4)

I will sign it, but I don't expect it to do any good--the Democratic party is beholden to Comcast as much as the Republicans are to Verizon. See [http://shopyourpolitics.com/category/telecommunications](http://shopyourpolitics.com/category/telecommunications)</comment>


Erase your darlings: immutable infrastructure for mutable systems - <AUTHOR> https://grahamc.com/blog/erase-your-darlings <comment><USER2> Since my move to nixos I've considered to reinstall my system every morning - since the entire system config is a few .nix files (+ home-manager). Haven't quite found the determinism yet. Perhaps I should do it tomorrow morning. :)

edit: If I get three more upvotes I'll do tomorrow.

edit: two more.

edit: one more.

edit: all filled up, it's going to happen!

edit: Some more context. Although I have a laptop (a 13" 2015 mbp) I don't bring it to work anymore, but have two desktops, one at home and one for work. All three run the same nix configuration, shared through a git repo. Whenever I discover there is some program I need I add it to the config and after switching machines run `sudo nixos-rebuild switch` - so the thing I added becomes available on the current machine there, too. All this just works (tm) and I'm fairly confident the re-install will be painless.

<comment><USER3> I wonder if this could be used instead of image based computer management for enterprise settings. Basically the team managing the systems have some settings, employees have their own overlay (to account for personal preference in tools or directory structure), and then you just install the entire machine at the start of every day.

It seems really complex though, so I'm not entirely convinced it's a good idea.

<comment><USER4> How would this work from a bandwidth and caching perspective? I'm thinking it would be problematic if hundreds of workstations need to download gigs of software at 9am every morning.

<comment><USER2> At least for nix you can set up local caches, so this would save most of the bandwidth. But you could also just keep the /nix/store folder - as it's an immutable store for all the packages.

</comment></comment></comment></comment><comment><USER5> I would love to get to a point where my laptop can be managed as immutable infrastructure.

All the big chunks of data are already isolated into redundant partitions, but it's the system config that's tough.

I have a time machine backup, but that's still not the same as being able to say "I'm gonna wipe my hard drive and start over today".

So does anyone have have good suggestions on maintaining a MacOS laptop in an immutable way?

<comment><USER6> In the world of commercial software that's essentially impossible.

Any immutable infrastructure lights up license keys and demo restrictions like a spotlight.

Take, for example, Apple's desktop OS: You used to be able to drag-drop an application to install it. To uninstall you would delete it. Simple. Easy. Stateless. They talked about it a lot and so did Mac evangelizers. But it also meant you could walk in to an Apple store, connect a USB drive in your sleeve to a demo computer, drag, drop, and walk away with full versions of very expensive software. So, the OS fell prey to the same stateful pitfalls as Windows: places to hide keys, system hooks, etc, etc, etc.

Your best bet these days is likely to manage all software config through a system management tool, keep your data backed up in Time Machine, and "reprovision" your laptop every X days or months.

<comment><USER5> > Your best bet these days is likely to manage all software config through a > system management tool,

Got any good examples? This is usually where I get stuck and can't find a good solution that works well with MacOS.

<comment><USER6> I can't remember the particulars right now, but there's a small team that remotely manages the macbooks of Google employees. I suspect that their tools would be a great fit here.

<comment><USER7> They started using Puppet against Mac dev machines, then switched to internal tools I believe. But it was one of the first times it occurred to me that we should manage and use DevOps and SRE practices against user machines and user workloads where possible. The trouble is the tooling isn't that mature yet, and we can't assume real-time data or always connected machines, and we don't have a herd because users only have one machine with them at any time and remote state deletion only works when you know you're not deleting critical state, which in turn requires better tooling and a greater understanding of user application state persistence behaviour than most are willing to invest time in doing.

This is what makes Chromebooks so easy to maintain though: web apps and sandboxed Android apps can all easily sync to the cloud and compartmentalize their data.

<comment><USER8> I would pay real money for a linux distro that works as well as ChromeOS or macOS that doesn't have all the phone-home endemic to both (yes, Macs phone home like mad even with iCloud and all of the analytics off).

</comment></comment></comment></comment></comment></comment><comment><USER9> This is basically the setup we've been using with vagrant (and in production) for years.

Vagrant launches a bare-bones VM. Local files mount on /vagrant Chef-zero uses local mount to provision the systems and configurations necessary.

On every vagrant reload, this process repeats. Chefs idempotent nature means that any manual drift is automatically repaired.

In this setup there's no difference between `vagrant reload` and `vagrant destroy && vagrant up`.

It's possible to package this so that it's simultaneously "Infrastructure as Code" while also satisfying "Immutable Infrastructure". Our stab at this is now 6 years old and we're surely not the first to do it.

</comment><comment><USER10> As someone who loves NixOS and runs it on my daily-driver laptop -

I can't see running NixOS in production.

We're running 100% Kubernetes, including for databases and other stateful workloads. Kubernetes implements the author's pattern just fine - any OS state is defined within the container image, and any application state is defined within a Persistent Volume. Unfortunately, NixOS doesn't have a good story yet for service management (Disnix isn't nearly as featureful as the Kubernetes scheduler and doesn't see nearly the same activity / community buy-in as Nix / NixOS) let alone ensuring that networked storage is re-attached to the particular node that runs the service in the same reliable manner that Kubernetes offers.

IMO the way forward for Nix / NixOS in production is to:

a) develop a container runtime that would allow a Kubernetes node to run pods that specify Nix expressions directly in the image field, instead of the current workaround of creating Docker containers from Nix expressions and dealing with the overhead of external registries

b) improve the experience of running Kubernetes on NixOS such that ease of installation more closely approaches that offered by managed Kubernetes providers.

<comment><USER11> > develop a container runtime that would allow a Kubernetes node to run pods > that specify Nix expressions directly in the image field

Do you really want to give kubernetes the added responsibility of building your images?

<comment><USER10> Kubernetes isn't building the image, really, it's just passing the Nix expression directly to the container runtime that Nix would provide. This is more or less how Nix works already, as the Nix tooling takes Nix expressions and builds derivations which are stored in the Nix store.

</comment></comment></comment><comment><USER12> I feel pretty strongly against the idea of immutable infrastructure when you're "infrastructure" (shared systems, running other people's software), but this article isn't about that.

The beef I have with this article is the idea of:

> New computer smell

> Getting a new computer is this moment of cleanliness. The keycaps don't have > oils on them, the screen is perfect, and the hard drive is fresh and > unspoiled — for about an hour or so.

In my observation (and in datasets that I have access to), computers systems tend to follow the "infant-mortality" curve. This means that if they run for a little bit, they're likely to run for a long time (and in addition, if you have many of them, they tend to die around the same time). My conjecture is that many computer systems have initialization routines which are not as thoroughly tested as the normal operating state of the system. Due to this, we tend to run into more issues in "immutable" systems than you otherwise would in "mutable" systems.

</comment><comment><USER13> Horror story: [https://thedailywtf.com/articles/Designed-For- Reliability](https://thedailywtf.com/articles/Designed-For-Reliability)

</comment><comment><USER14> So this is mostly about Nix, but I've used (in production!) CoreOS, which implemented some of the same concepts.

You couldn't just update anything easily. Well, anything is possible, but CoreOS made it very hard to do it the wrong way, with the readonly system partitions.

But it made upgrades really easy. And you have a second, backup system partition to boot from, if the update messed up things.

We had to move back to a 'standard' Linux distribution and now all those old habits are creeping up. It takes a lot of discipline (and enforcement) to avoid the applications of 'fixes' which get eventually forgotten.

<comment> yjftsjthsd-h > We had to move back to a 'standard' Linux distribution and now all those old > habits are creeping up

That sounds very relevant: Why did you have to go back?

<comment><USER15> Most likely because Container Linux (previously CoreOS) is nearing end-of- life. Your options are to move to Fedora CoreOS or Flatcar Linux, so it's likely they decided to go with a more vanilla distro instead of migrating to one of the more similar options.

<comment> yjftsjthsd-h That's actually a fairly encouraging failure mode, given that it means there's nothing inherently wrong with the approach, just that particular implementation.

</comment></comment></comment></comment><comment><USER16> Here's my dotfiles for some of my nixos servers and home computers.

[https://github.com/ghuntley/dotfiles- nixos](https://github.com/ghuntley/dotfiles-nixos)

Steal away and enjoy.

</comment><comment><USER17> For years I've been doing this in a lightweight way with a shell script (and cache of auxiliary data files). I suspect many others do this as well.

The basic idea is to image with some lean/vanilla image, then run the script to put the system into the desired state. Kind of like Puppet, except far easier to understand and change.

Properly done, one can reimage pretty much at will, which is nice if there are lot of people making local 'root' changes on boxes.

edit: typo

<comment><USER18> > The basic idea is to image with some lean/vanilla image, then run the script > to put the system into the desired state.

Spot on. Much better than most CM tools.

The Nix setup is pretty hackish and does not track files changed by running applications.

What we really need is automatic version history on whole filesystems.

<comment><USER19> ZFS (and btrfs) snapshot diff does that easily. Also any overlay filesystem. But after a point combing through the diff becomes an insurmountable task. Nix forces the user to declare what goes where up front. (And yes, it's not exactly a user friendly syntax/style. systemd has support for WorkingDirectory, RootDirectory, RootImage, RuntimeDirectory, StateDirectory, CacheDirectory, LogsDirectory and ConfigurationDirectory, but so far most unit files don't take advantage of that.)

<comment><USER17> This is nice to have, but it doesn't really distinguish between the "logical" differences and the "physical" differences.

As a trivial example, one step in one's setup script might be "install package X". That can end up creating/modifying a lot of files, but many of those differences aren't necessarily meaningful or something one would want to carry into future reimages. And as things progress over time, those diffs might even be "wrong".

I liken it to whittling vs CNC. Either can be the right way to go, but usually at scale we end up doing better with CNC. And the best CNC program is a compact one.

<comment><USER19> That's the advantage of Nix's top-down approach. You declare everything on as high level as you want/can/wish. You specify the package plus your customization for it.

It's not that much different than a one-liner that installs the package plus uses echo to write your config file. The magic is the "forced" reproducibility by default.

<comment><USER17> Conceptually, I think nix is great. Most of us can appreciate the value of a perfectly reproducible system, etc.

That said, unfortunately nix is a practical option for about zero percent of commercial shops. Sigh.

I did actually work at a place that tried it once. Summarizing, the introduction failed through some combination of politics and the perception that nix would introduce a lot of complexity vs a standard vendor distro.

</comment></comment></comment></comment></comment></comment><comment><USER20> As a tiny effort to tame the immense mutability of Windows, at least for the question of "what programs are installed at which version?", I'm using a combination of _Chocolatey_ (an unofficial package manager for windows, [https://chocolatey.org/](https://chocolatey.org/)) and _Git_.

I maintain a 'packages.config' xml file in a git repo that lists all the packages I decide I want to be installed and their versions. I intentionally don't list dependencies of the packages I want in this file, so I can remove a package later and I don't have to trawl through the huge list of potentially unnecessary packages now that I've changed what I want. I don't (typically) manage the version number listed in packages.config, I have a few scripts to help me do that:

install.ps1 has two uses: 1. install on a new system by cloning (or downloading the zip of) the repo and running the script, which will download and install the exact versions of the software that is declared in packages.config. 2. If I want a new package I can edit the packages.config to add the line then run install.ps1 (this second capability could use some UX work).

update.ps1 lists all of the packages that are currently out of date, gives you the option to update all of them, and then (regardless of which option you chose) rewrites packages.config with the currently installed versions. This allows you to use git to identify and manage the version differences between multiple windows installations and also upgrade all of them easily.

This doesn't configure any of the applications, but at least they're installed and they're the same version when you move from one computer to another. You can also quickly identify version differences between installations which makes debugging application version problems much easier. And you also don't forget what you have installed.

</comment><comment><USER21> Haha, nuke and pave as a first resort rather than a last resort.

<comment><USER22> Over the years I went from making fun of Windows Admins rebooting to fix everything, to, say, 12 years ago rebooting my unix boxes _any_ time I made a change.

Virtually by definition if I was changing something, it wasn't in production at the moment, and I just learned my life was so much easier if I made sure my changes were really committed to state _at the moment I made the change_ rather than learning it the hard way at 2am 6 months down the road, and desperately trying to remember what I had "fixed" and why.

Granted, these were still pets, but at least they were well-trained pets.

</comment></comment><comment><USER23> How that could work with suspend/hibernation when one doesn't do reboot for weeks?

I rarely shutdown Linux desktop. I also keep desktop VMs with project context suspended to just reopen it next day or in a month to be at place where I stopped the work.

<comment><USER19> Why wouldn't it work with suspend? NixOS works because it's brutally up-front about its declarativeness. Since you have to specify everything in your config that's not what the default gives you, you'll have your own changes in your config file (or files).

It's great because it separates /etc into vendor-provided defaults and your own customizations. It's not so great because it's not that automatic, you need to script it.

systemd/Lennart also explored this topic a bit: [https://www.youtube.com/watch?v=pL0AMLiwPj8](https://www.youtube.com/watch?v=pL0AMLiwPj8)

[https://www.freedesktop.org/software/systemd/man/systemd- vol...](https://www.freedesktop.org/software/systemd/man/systemd-volatile- root.service.html)

</comment></comment><comment><USER24> Sounds pretty neat. I wonder if the same is achievable with Guix, which is based on Nix. Now I am gonna have to spend some of my precious free time noodling around the Guix docs!

</comment><comment><USER25> Wouldn't using k8s that needs docker images built from docker files achieve this ?

</comment><comment><USER26> Git. Vagrantfile. Last pass. G Suite. I can work anywhere if I've got a vm.

</comment><comment><USER27> wipes the bits they dont consider persisting, but designs a persistence model in ZFS to say "ok: next time, keep this bit"

takes discipline, but interesting.

</comment><comment><USER16> Check out the NixOS for existing sysadmins workshop over at [https://github.com/ghuntley/workshops/tree/master/nixos- work...](https://github.com/ghuntley/workshops/tree/master/nixos-workshop)

If you want a TL;DR overview of NixOS then start here [https://github.com/ghuntley/workshops/tree/master/nixos- work...](https://github.com/ghuntley/workshops/tree/master/nixos- workshop/modules/01-introduction-to-nixos)

<comment><USER16> For an advanced example of overriding nixpkg and usage of pinning/override layers (ie some mandate or reason to run super old version of grpc) — [https://github.com/digital- asset/daml/blob/master/nix/nixpkg...](https://github.com/digital- asset/daml/blob/master/nix/nixpkgs.nix#L10)

</comment></comment><comment><USER28> Why not use docker containers which will do this by default for stateless portion of your infrastructure?

<comment><USER16> Docker containers are not reproducible and building the containers takes bloody forever/poor cacheability.

Look at every Dockerfile

FROM Ubuntu/Ubuntu

RUN apt-get update (or apt-get install) # BOOM — no longer possible to reproduce the build

<comment><USER4> Sure, if you always rebuild your container images - but surely a more typical approach is to build them and put them in a container registry?

Of course, they would be rebuilt when base layers change, but if you really want exactly the same image, you reference it by a digest, which will give you a point-in-time image.

</comment></comment></comment><comment><USER29> I love immutability it makes things ten times easier. This isn't really immutability? It looks like an infrastructure refresh on deploy. If you are refreshing something by definition it's probably not immutable. I guess the author means getting rid of the mutation of state.

I'm just waiting for the day they can make the database immutable. It'll probably look something like git.

<comment><USER30> > I'm just waiting for the day they can make the database immutable.

Wouldn't event stores with CQRS effectively do this?

<comment><USER29> No. You still need a regular database due to read performance. If I want to read the "latest" data, a search on an event store for a piece of data that wasn't changed in the past year would take an inordinate amount of time.

Additionally what if I want to look up a "row" of data that was modified 5 times on 5 different "columns" at various dates across 3 years? That's an aggregation job across 3 years of event data.

For event sourcing you still need to turn the "event" into an actual operation and record that database operation in a classic database.

Event stores just make the "event" the source of truth. It doesn't get rid of regular databases.

Traditionally other services read a single entity database/service and use that as a source a truth. Now a single button click records data across several databases and several services. It's not necessarily a better architecture, just different/buzz-wordy, and definitely more complicated.

<comment><USER31> Look up database as a value rich hickey talk on datomic which essentially does this.

Bottleknecks writes through an acid layer, makes reads against any single database connection (the value) immutable.

<comment><USER32> Querying history(values of attributes in time) is very very slow in datomic. It is meant for auditing/troubleshooting, not to be used for your application domain.</comment></comment></comment></comment></comment>


Resilience Engineering Papers - <AUTHOR> https://github.com/lorin/resilience-engineering#resilience-engineering-papers <comment><USER2> Jim Gray, Why Do Computers Stop and What Can Be Done About It?, [https://www.hpl.hp.com/techreports/tandem/TR-85.7.pdf](https://www.hpl.hp.com/techreports/tandem/TR-85.7.pdf)

Joe Armstrong, Making reliable distributed systems in the presence of software errors, [http://www.cs.otago.ac.nz/coursework/cosc461/armstrong_thesi...](http://www.cs.otago.ac.nz/coursework/cosc461/armstrong_thesis_2003.pdf)

But I'm heavily biased.

<comment><USER3> The armstrong thesis is one of the most insightful reads on software construction (I think).

</comment></comment><comment><USER3> Crash Only Software

[https://www.usenix.org/legacy/events/hotos03/tech/full_paper...](https://www.usenix.org/legacy/events/hotos03/tech/full_papers/candea/candea.pdf)</comment>


Cleaving to the Medieval, Journeymen Ply Their Trades in Europe (2017) - <AUTHOR> https://www.nytimes.com/2017/08/07/world/europe/europe-journeymen.html <comment><USER2> > Traditionally, a journeyman was not allowed to travel or seek work within a > 60-kilometer radius of his hometown — a guideline intended to encourage an > exchange of ideas among those practicing any given trade.

this also works like a regional non-compete with whoever has trained the formerly-apprentice journeyman

</comment><comment><USER3> They're quite a rare sight, though. I've only ever seen one at a train station in Vienna. Maybe they're a bit more common in Germany.

<comment><USER4> They're not such a rare sight in Transylvania/Romania. There are even some "journeyman friendly" pubs. I've once encountered 4 that made it all the way to Indonesia.

</comment></comment><comment><USER5> Would be interesting to consider what a digital version of this looks like.

The concept is entrancing, but very structured towards physical labour and travel.

How not to be found, thinking on your wits, working in exchange for food and accommodation only.

It seems developers who live in vans and boats are undergoing a broadly equivalent process, albeit less formalised.

</comment><comment><USER6> Thanks for sharing this. You learn something new every day</comment>


Man arrested for reading wife's email - <AUTHOR> http://news.yahoo.com/s/digitaltrends/20101227/tc_digitaltrends/maninlegaltroubleforreadingwifesemail;_ylt=Athwb8E_c9wj7cBUxUrPPyes0NUE;_ylu=X3oDMTRrMWxrdTE3BGFzc2V0A2RpZ2l0YWx0cmVuZHMvMjAxMDEyMjcvbWFuaW5sZWdhbHRyb3VibGVmb3JyZWFkaW5nd2lmZXNlbWFpbARjY29kZQNtb3N0cG9wdWxhcgRjcG9zAzgEcG9zAzUEcHQDaG9tZV9jb2tlBHNlYwN5bl9oZWFkbGluZV9saXN0BHNsawNtYW5pbmxlZ2FsdHI- <comment><USER2> > "The guy is a hacker. It was password protected, he had wonderful skills and > was highly trained."

> ... after finding her password written in a book next to their shared > laptop.

</comment><comment><USER3> The parties in this case were in divorce proceedings; they were, apparently, legally separated. There's a huge difference between being married and being legally separated; for instance, in a community property state (Michigan isn't one), property acquired after separation isn't community property.

What seems to have happened in this case is no different from what would happen if my babysitter borrowed our computer to access her email, and I snatched her password. Use of a shared computer to access your email _does not_ surrender the account to everyone else who uses the computer.

It looks like the guy straight-up broke the law. Good for Michigan for actually enforcing it.

<comment><USER4> Where did you read that? The linked story states that they were married at the time and that she filed for divorce in response to his snooping.

<comment><USER5> It's in the WSJ at [http://blogs.wsj.com/law/2010/12/27/can-email-snooping-a- cri...](http://blogs.wsj.com/law/2010/12/27/can-email-snooping-a-crime/)

'In a voice message left with the Law Blog, [Michigan prosecutor Jessica] Cooper added that two judges have denied Walker's motion to dismiss the charges. Walker and his wife "were in divorce proceedings and had separate email accounts, separate computers, separate everything," Cooper said.'

</comment></comment></comment><comment><USER6> Existing discussion: <http://news.ycombinator.com/item?id=2042615>

</comment><comment><AUTHOR> _"Many legal professionals are shocked by the lawsuit, but a jury will ultimately decide whether or not Leon Walker does time."_

I don't see why this case is so outrageous or why they have to use a law that puts this in a gray area. The guy clearly stole his wife's password and broke into her account. This would be clear cut if it were a stranger who did it.

Even if he believed the son to be in danger, there are ways of address the situation without compromising her email account.

<comment><USER7> _This would be clear cut if it were a stranger who did it._

But he's _not_ a stranger. Married couples do all sorts of things which would be criminal if they were strangers.

It seems to me that the key point here will be his state of mind when he found the password and logged in to his wife's account -- did he believe that his wife would object? (Obviously in hindsight we know that she did object, but you can't hang a man based on hindsight.)

(Analogous situation: Man fondles woman's breast. If they're strangers, it's sexual assault. In a happily married couple, it's perfectly normal. If the wife is thinking of getting a divorce she might tell him to stop fondling her. But no court is ever going to demand that husbands receive written permission from their wives prior to each instance of breast-fondling, because there's a general recognition that people in relationships can make judgement calls about the boundaries of those relationships.)

<comment><USER3> He _is_ a stranger. They're in divorce proceedings. World of difference.</comment></comment></comment>


Is Math Education Too Abstract? - <AUTHOR> http://mindshift.kqed.org/2011/09/is-math-education-too-abstract/

<comment><USER2> To my opinion, the main purpose of teaching mathematics is to teach abstraction and abstract reasoning... It is not to teach how to balance a checkbook!</comment>


I'm resigning as a moderator from all Stack Exchange sites - <AUTHOR> https://meta.stackoverflow.com/questions/389906/im-resigning-as-a-moderator-from-all-stack-exchange-sites?cb=1 <comment><USER2> From a day ago: [https://news.ycombinator.com/item?id=21118780](https://news.ycombinator.com/item?id=21118780)</comment>


Why do high-end prostitutes make so much money? - <AUTHOR> http://www.marginalrevolution.com/marginalrevolution/2010/01/why-highend-prostitutes-make-so-much-money.html <comment><USER2> Presentation. Escorts wear nice clothes, speak the language properly, and are talented enough to pass off as a wife or girlfriend if that's what you're looking for. They can roll with a wealthy business crowd and not stick out too much. Just good ole' fashion market demographics at work. I'm sure some metric of success among the people who use their services is to brag about how much money they spent on a high end call girl. No different than bragging about your new $60k car in the driveway.

<comment><USER3> I think it has to do with the perception of the quality.

The single biggest risk on sleeping with a prostitute is getting a (or multiple) STDs, or even HIV.

If you sleep with a street hooker, your risk of getting something is relatively high (even if you use condoms, and all that). That street hooker that cost a hundred buck for couple of hours, probably sleeps with 20-30 people a week. Talking about used good. This is actually really risky.

A high end prostitue, could get away with sleeping with only few people a week, and still make good money. She probably is sleeping with only rich people, so the risk factor is different. The chance of her getting something from her are a lot lower.

Plus I heard that the high end ones, look really good, compare to the regular ones.

The really high end ones, are the ones that act as a gf. They don't get paid directly, but basically splurge on everything they can using your credit card. If you have seen the move "Priceless", it is a good one to watch: <http://www.pricelessthemovie.com/> (mostly a comedy). But the "gf" for the month, phenomena is real in Europe, and some countries in South America.

</comment></comment><comment><USER4> _Mayflower Madame_ is an autobiographical piece with some info related to this topic. She had a few women working for her who were paid $500/hr (iirc), in part because they were just so much more beautiful than the others. The book also has some hilarious tales, for example of gay men hiring the same girl over and over to be a fake gf for weddings and other family events. In one case, the family liked the girl so much, she and the gay man had to stage a dramatic break-up because his family wanted him to marry her. The author had insider information and didn't have to do a survey to get her numbers (or her explanations as to why X amount was charged), so they are probably a bit more reliable (though dated at this point).

</comment><comment><USER5> I'd like to point out that the methods employed here to survey the wages of prostitutes leave plenty of confounding variables in play. "Analyzing wage information on more than 40,000 escorts in the U.S. and Canada collected from a web site, we find strong support for EK."

1\. Remember from statistics class what the problem with conducting polls via random telephone calls to thousands of different homes? Not everybody has a phone, and the reasons are nonrandom. Well, not every prostitute has the internet...or advertises on the internet...etc.

2\. Just "a" website? Only one? Well, this isn't _necessarily_ a problem-- so long as the conductors of the study can provide reason to believe the population of prostitutes advertised on this particular website is demographically no different than the total population of (be it "high-end" or "all") prostitutes into whom they attempt to gain insight. Yeah, good luck with that.

3\. Are we assuming that the listed hourly rates of the prostitutes on the website exactly correspond with what ends up being charged? This can swing results in several different directions: perhaps some bartering occurs on occasion, maybe special deals can be had ("Two-for-one, ehh? Oh, but only for the 26- to 30-year-olds? Well damn."), maybe they round off the time spent "on the job". In addition, the _averaged_ 'hourly rate' a prostitute charges often decreases as the total time billed for the evening increases ($50 for 15 minutes vs. $100 for 45 minutes, for example), which would make it difficult to guess at true wages from one number alone ($/hr), given that the math will inevitably be done differently from prostitute to prostitute (as well as from pimp to pimp, if one is involved). And let's not even start down the road of analyzing the "a la carte menu"...just know that each girl could have a different menu with different prices, or even no menu at all. Again, good luck to the study conductors in dealing with all these confounding variables.

4\. Etc.

Point: Though I haven't read anything more than the abstract, I nonetheless highly doubt that this study was done in the proper statistical manner. "Good enough" never really is. If there are confounding variables, they need to be eliminated. Otherwise, no conclusions can be reliably drawn.

</comment><comment><USER6> Because they are selling a lot more than "just sex".

<comment><USER7> you are after all paying them to leave after.

<comment><USER8> Hah, you're missing the point. The kind of men that pay for super-high-priced call girls are just as often looking for an educated, interesting woman to talk to as they are for sex. Lots of the "elite" call girls have higher degrees, for example, or are well-traveled.

I posted a Hulu link to the CNBC episode of "Dirty Money" where they talked about the high-end of the prostitution business. It's pretty eye-opening if you take the time to watch it.

<comment><USER9> I saw the special and I honestly think that's a myth, at least most of the time. It just seems like a rationalization, the guys can tell themselves they can't find a suitable mate and have to pay these women, the women can say and think they're paid for more than just sex, everyone wins, it's not just high dollar prostitution. The other thing that the kind of guys who pay for super- high-priced call girls want is silence, silence regardless of who asks and silence when a tabloid offers $10k for the story. To me that's much more logical than a rich, educated guy not being able to find an educated female to converse with.

It might be true to some degree but the reason you pay a hooker isn't for the sex, it's for the discretion. Think about it for a second, if she's hot and educated and can be with him in public, why doesn't he just marry her? He's rich, she wants money, it's almost perfect. Why do they maintain the prostitute and john relationship?

<comment><USER4> _Think about it for a second, if she's hot and educated and can be with him in public, why doesn't he just marry her?_

If he wants to keep enjoying a certain quality of experience, marriage may not be the best means to get that. Wives usually stop dressing as well as they did when they were dating. Housework takes more of her time and energy. There are endless jokes about women having no energy for sex after doing housework and raising kids all day. A woman who is expected to look good 24/7 and "perform" for him at the drop of a hat...well, it's not very realistic. A prostitute only has to meet that standard during work hours and can then go home, take off her high heels and make-up, and not care what he would think about it because he isn't there anymore to judge her.

<comment><USER9> Yes but we're not talking about a typical love marriage, are we? Those are things that could be put in a prenuptial agreement. Then to social taboo goes away, "she's his wife."

Or rather, how about high dollar matchmaking services instead?

<comment><USER10> It sounds like 'leasing' rather than 'renting', both of which are different than 'buying'.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> CNBC did a really good report on this for their "Dirty Money" show a while back. It's on Hulu, and definitely worth a watch if you have the time, if only for the economics and social perspective it gives you:

[http://www.hulu.com/watch/83070/cnbc-originals-dirty- money-t...](http://www.hulu.com/watch/83070/cnbc-originals-dirty-money-the- business-of-high-end-prostitution)

<comment><USER11> Anyway to watch this outside of the US?

Edit: Found it on their website - [http://www.cnbc.com/id/15840232?video=1183761885&play=1](http://www.cnbc.com/id/15840232?video=1183761885&play=1)

</comment></comment><comment><USER12> As an aside, I'll tell about my experience in Asia for lower end prostitutes salaries...

A friend of mine in China was the boyfriend of a massage salon madame (she started out as a prostitute, saved money and opened her own salon later on). In this salon, it was mostly handjobs, the price was 70RMB + tip (so usually around 120RMB -> 17$) ... out of this the salon took 40RMB and 30RMB if the girl was requested directly (in the case of a return customer). The best girls get about 4-5 customers/day. To compare, at the time I paid my cleaning lady 10RMB/hour and the official minimum wage in shanghai is 680RMB (but in practice a girl working as a waitress fulltime is paid 1000-1200RMB/month). Those are prices from 3 years ago. So a successful girl could earn at least 7000RMB/month and the most successful girls would move over to higher end salons where they could get more money (higher end salons would charge 2x/3x as much for the same service). That's higher than the starting salary of someone who graduated from a good university like jiatong daxue.

Another element of comparison, where I used to live in japan, there was a soapland next to my house that was hiring new girls and showed the salaries... The salaries were around 6000-8000$/month...

So outside of high end and street workers, I think there's quite a few number of not college educated girls who make a very decent living of the trade much better than if they did normal jobs (one chinese girl I met in japan was doing this kind of job to pay for her studies).

</comment><comment><USER13> Two words:

Veblen Good.

<http://en.wikipedia.org/wiki/Veblen_good>

<comment><USER14> I would guess most people who see prostitutes don't want other people to know about it. Every other Veblen good I can think of is the opposite -- the idea is to conspicuously consume.

<comment><USER8> You're right...most people who see prostitutes don't want other people to know about it.

On the other hand, most of the people who see _high-end_ prostitutes _do_ want people to know that there's a charming, beautiful woman with them for a certain occasion or whatever (but obviously they fail to mention that she's being paid to be there).

</comment></comment></comment><comment><USER15> _"Why are high-paid prostitutes paid highly?"_

Seems to be begging the question a bit, perhaps? (With evidence of bias towards proving his pet economic theory).

Further, the reference quoted only found a high hourly wage for prostitute through scanning records. That high hourly could be a matter of the particular "worker" only getting a few gigs and having to invest unpaid time in setting up the transactions as well as having to share earning with pimps/escort services. Considering this kind of thing happens on the edge of legality, the real income of an escort probably couldn't be found through merely looking at accounting records.

</comment><comment><USER16> The dollars aren't for putting the 'X', they're for knowing _where_ to put the 'X'.

</comment><comment><USER17> There's a whole chapter in Levitt's SuperFreakonomics that covers this and a lot more about the economics of prostitution. Good reading.

</comment><comment><USER18> Isn't it econ-101 demand and supply?

It simply shows that the demand overwhelms the supply of people who are both willing and capable of doing the job.</comment>


Fan remake gives Super Mario 64 a fresh look [video] - <AUTHOR> http://www.polygon.com/2014/3/15/5512138/fan-remake-gives-super-mario-64-a-fresh-look

<comment><USER2> Posting that video (and it ending up on polygon) has doomed this project. He'll be getting a Cease and Desist letter from Nintendo in a few days.

<comment><USER3> Yeah, the same thing has happened to the "Super Mario in a Browser" project a couple of months back.

<comment><USER4> On the other hand, they didn't do a thing to Super Mario Bros. Crossover ([http://www.explodingrabbit.com/games/super-mario-bros- crosso...](http://www.explodingrabbit.com/games/super-mario-bros-crossover)) or Mari0 ([http://stabyourself.net/mari0/](http://stabyourself.net/mari0/)), both of which contain 100% of the original SMB game. So...I'm not sure what the lesson is. Maybe "it's okay to duplicate as long as you also add stuff"?

<comment><USER5> Neither of the games you point to seem to be using original Nintendo models or assets.. the style is similar, and a trademark suit could be made, but would be difficult. I remember a Super Maryo Bros, and a couple of other games as well... I really wish that Super Mario War could be playable as a portable game with network multiplayer, that would be awesome.

<comment><USER6> Maybe you forgot to put on your glasses. What he said was accurate: Both of these games contain within them a 100% accurate recreation of Super Mario Bros. Complete with original graphics and sounds. Just with some other stuff you can do.

</comment></comment></comment></comment></comment><comment><USER7> Bad title. Almost the first thing he says in the video is that the graphics are just a quick stop-gap. Therefore 'fresh look' gives an inaccurate view of what he's trying to do - at least at this stage.

Outcome. People are just going to leap in and criticise the textures.

</comment><comment><USER8> The linked server is dead, but is basically a wrapper for a youtube video [https://www.youtube.com/watch?v=mM9ADXfvnVo](https://www.youtube.com/watch?v=mM9ADXfvnVo)

</comment><comment><USER9> Microsoft and Bungie released a remake of Halo a few years back. I hope Nintendo does something similar with Mario 64.

<comment><USER10> Nintendo recently remade The Legend of Zelda: The Wind Waker for the Wii U, upgrading models and textures, and improving the lighting model in a bunch of ways. They even went as far as tweaking sections of the game that were met with widespread criticism at release, streamlining some of the more tedious aspects.

That's based on a GameCube game though, and many of the games on that platform hold up pretty well today. Games from the N64 era however don't fare so well and would probably require a lot more work.

<comment><USER11> _Nintendo recently remade The Legend of Zelda: The Wind Waker for the Wii U, upgrading models and textures, and improving the lighting model in a bunch of ways._

Personally, I felt there was nothing _wrong_ with the old lighting model, aside from being based on a fixed-function pipeline. The new lighting is full of bloom, gouraud shading, and other things which scream "HD NEXTGEN!!!!" but do not convey the original sense of cartooniness, like playing an immersively interactive Bluth animation. (No, the edited-together-in-real-time-movie _Dragon 's Lair_ doesn't really count.)

 _Wind Waker HD_ would have benefited by adopting the lighting model of, say, _Ni no Kuni_.

</comment></comment></comment><comment><USER12> Reminds me of "Dangerous Dave in Copyright Infringement"... except the author here seems to be oblivious as to the law or perhaps even common sense.

Its a shame. It would be cool to have a HD remake...

</comment><comment> vezzy-fnord It's interesting to see a game made using the BGE, considering how rarely you ever see it in the real world. I guess for 3D platformers like this, it works very well.

</comment><comment><USER13> Is he gonna fix the damned gamera as well?

<comment><USER14> He says so in the video that he needs to work on the camera angle, among other things.</comment></comment>


Ask HN: What are some good Machine Learning Experiment tracking platforms? - <AUTHOR> I'm talking about tools similar to Comet ML or MLFlow. I'm also interested in hearing about your experiences with them if possible. <comment><USER2> I don't have experience with this yet, but the CEO of comet.ml gave a demo of it at work this week and it's brilliant. You install 1 pip package, add 1 line of code, and you've got a log every time you train your model (with a diff of what changed). Super-easy to use and share with your team.

I'm thinking one cool use case is: easily let several team-mates try out different model hyperparameters, and you just pick the best one (easy to see in the comet.ml online chart)

</comment><comment><USER3> This is probably not what you're looking for, but I'll describe my setup. I do CT research, and would basically store information about how an image was generated in the filename and log files. This didn't scale well, so I developed [https://github.com/stilley2/filesdb](https://github.com/stilley2/filesdb) which is a wrapper on Python's sqlite library. It allows me keep track of the parameters used to generate each image and easily search/locate them.

</comment><comment><USER4> Some tracking and training tools mentioned here:

[https://firstname.lastname@example.com/4-helpful-websites-for- mac...](https://firstname.lastname@example.com/4-helpful-websites-for-machine- learning-researchers-c9b32d98edaa)</comment>


Visualization of DHH's commits to Ruby on Rails from 2004-09 [video] - <AUTHOR> http://www.youtube.com/watch?v=r0ji8FDNTj0

<comment><USER2> Sometimes I see such visualizations and it makes me depressed.

I'm a day dreamer most days and any other days I feel like it takes me twice as long to get productive with a certain framework than it does other colleagues.

But I have other visions and I see the bigger picture and at some points there are ideas, BIG ideas that no else seems to get excited about BUT I can get excited about and I think to myself "You're so slow, how are you ever going to get to the end of your vision?"

So maybe that's my big challenge, how do I make my vision complete? Do I use Rent A Coder? Do I code it myself and not worry about a time line because time constraints are just worries made up my by subconscious?

I don't think I will ever work at the speed of DHH, Jamis Buck, or any other contributor.

But I think I have a vision. And I will complete it.

<comment><USER3> The secret is: there is no genius programmer. One just needs to stop worrying start with something and eventually it will turn into a success which will make other people assume that you are the genius programmer. But there really isnt such a thing.

</comment></comment><comment><USER4> The story to take away from this is how much GitHub can add to a project's contributions. I'm sure Rails' popularity didn't hurt either. See <http://www.youtube.com/watch?v=r0ji8FDNTj0#t=5m10s> for the GH migration.

<comment><USER5> No kidding. GitHub absolutely _exploded_ the number of contributors to Rails (at least, judging by this visualization).

<comment><USER6> My instinct is that it's just increasing the number of _attributed_ commits. Before Github the committer was always whichever user actually committed it, here the committer is the author.

<comment><USER7> Why? Git logs both author and committer. When you apply patches from the fork queue, the author is the original author and you are the committer. So any stats that look at committer would be ... wrong, github or not.

<comment><USER6> Right github would record the author as being the person. SVN has no conception of an author/committer distinction.

<comment><USER7> Oh right, Rails was originally SVN.

I wiped the SVN era from my memories as a way of coping with the pain it caused me.

</comment></comment></comment></comment></comment></comment><comment><USER8> I did one of these yesterday for myself. Great, great fun (Google for [gource]). I was hoping to blog about it but the video ended up being too gigantic for me to load into my Ubuntu VM to transcode in any reasonable amount of time.

<comment><AUTHOR> Here's a link to the sourcecode: <http://code.google.com/p/gource/>

</comment></comment><comment><USER9> Or you can watch a video of DHH winning a recent motor race: <http://youtu.be/ef-CtcXM89g></comment>


Google Search trends in the US suggest a second wave is on its way - <AUTHOR> https://www.independent.co.uk/life-style/gadgets-and-tech/news/coronavirus-second-wave-us-google-trends-covid-19-symptoms-a9559371.html <comment><AUTHOR> The chart takes a sharp turn upward. Arkansas, Arizona, Utah, South Carolina, oof.</comment>


Ledger Basics and Habits (2014) - <AUTHOR> http://matthewturland.com/2014/03/29/ledger-basics-and-habits/ <comment><USER2> [http://plaintextaccounting.org](http://plaintextaccounting.org) if you want to find similar apps.

I use Beancount. Great community and an awesome web UI beancount-fava.

<comment><USER3> Probably also worth mentioning hledger[0], the Haskell version of ledger which has a limited but growing number of features. They also provide a text-based (hledger-ui) and a web-based (hledger-web) interface.

For my simple needs, this is the one I use.

[0]: [http://hledger.org/](http://hledger.org/)

</comment></comment><comment><USER4> I have tried a couple of times to get into ledger-cli, and what generally happens is that get really frustrated with "post-date ambiguity". In other words: do I enter a credit card transaction or check as the day I wrote it or the day it cleared? If I do it the day I wrote it, my balances are impossible to reconcile. If I do it for the day it clears, my balance view is ignoring things I know are about to happen. It is even worse when for self transfers, where there is an origination date, a "change visible in originating account" date, and a "change visible in the target account" date.

I guess I could get around it by having "in flight" accounts that deduct the money from the originating account, but at that point it is basically quadruple entry accounting, which seems like an excellent way to make a complete mess of it.

<comment><USER5> This isn't as big a problem as you think. There are several ways you can handle it, including:

\- use your dates. Most people don't need to reconcile every day, and you can pick a day where there are no pending transactions, or few enough to be easily understood.

\- use the bank dates. This happens automatically if you import converted bank data.

\- use both dates. Eg, your date as the main transaction date, and (when helpful), the bank's date on the bank posting(s) only.

\- there's also a primary/auxiliary date feature, but I think it's unnecessary

</comment></comment><comment><USER6> I think something like this will be useful to me - if I can make the time. I have a online accounting package and have to manually upload stmts from my bank (which I have to manually download ) - and sometime back they broke their own matching algorithm such that the same amount on same day with same ref will be counted twice and. Have no means to delete one of the transactions. This causes no end of pain.

A simpler way might be to write to ledger and then from there upload to whatever "analysis" package I want

But ... The investment in time is huge and I don't want to find myself trapped. Any feedback on this or others ?

<comment><USER2> Having a plaintext ledger of yourself is always worth the time invested. The author of Beancount (another plaintext accounting tool) wrote a doc comparing Beancount and ledger [http://furius.ca/beancount/doc/comparison](http://furius.ca/beancount/doc/comparison)

Personally I use Beancount because the BQL query language and the beancount- fava project. Just look at [http://fava.pythonanywhere.com/income_statement/](http://fava.pythonanywhere.com/income_statement/) and see it for yourself.</comment></comment>