A Software Architect's View of the Design of Double Entry Accounting (2012) - <AUTHOR> http://ledgersmbdev.blogspot.com/2012/08/a-software-architects-view-of-design-of.html <comment><USER2> I use double-entry bookkeeping as a metaphor when pitching software testing. It's particularly helpful with non-technical audiences who have backgrounds in law, finance, or accounting.

You write software tests for the same reason you do double entry: error detection of a technical system that has expected results. The only difference is that accounting has "real" numbers whereas software is algorithm definitions, so you have to plug in real values to run the tests.

It's also telling how similar (and unforgiving) both software and accounting can be. The mischaracterization of a column in accounting could be the difference between profitability and insolvency for your company. The mislabeling of a macro in your program could be the difference between correct execution and a segfault.

<comment><USER3> _> […] reason you do double entry: error detection_

This is a misconception and if you think about it, it doesn't make a lot of sense since the two records are generally generated by a system that gets a single value from the user, so it would be a software error if they did not even out.

Accounting errors are normally human errors, e.g. entering the wrong amount or specifying the wrong account, none of which are errors that double entry accounting will catch.

However, double entry accounting gives us an audit trail because it tracks how assets are moved between accounts, so if the balance of an account is not as we expect, we can go back and see exactly why it is what it is.

<comment><USER4> > This is a misconception and if you think about it, it doesn't make a lot of > sense since the two records are generally generated by a system that gets a > single value from the user, so it would be a software error if they did not > even out.

That applies to a software system, but not a handwritten ledger. In the latter, it does serve as an error detection mechanism because a human has to enter both values and other humans have to read them clearly.

You are correct, though, that the primary reason for double-entry is audit trail.

</comment></comment></comment><comment><USER5> From the title, I thought it was a repost of something I had seen before, but it's not. What I was thinking of was "Accounting for Computer Scientists" [1], which explains double entry book keeping and profit and loss statements and balance sheets by formulating them in CS terms (directed graphs with accounts as nodes and transactions as edges). It was discussed on HN [2].

[1] [http://martin.kleppmann.com/2011/03/07/accounting-for- comput...](http://martin.kleppmann.com/2011/03/07/accounting-for-computer- scientists.html)

[2] [https://news.ycombinator.com/item?id=2298471](https://news.ycombinator.com/item?id=2298471)

<comment><USER6> [http://nothing.tmtm.com/2006/09/using-a-wiki-as-an- accountin...](http://nothing.tmtm.com/2006/09/using-a-wiki-as-an-accounting- system/) [http://nothing.tmtm.com/2006/09/more-on-accounting- wikis/](http://nothing.tmtm.com/2006/09/more-on-accounting-wikis/)

</comment></comment><comment><USER7> If this is at all interesting to you, you should check out Ledger[1]. It's a command line double entry accounting system that generates reports from a lightly-formatted plain text file containing your transactions. I've been using it for years and have written a bunch of blog posts[2] detailing how I use ledger for personal (and now business) finances.

[1]: [http://www.ledger-cli.org](http://www.ledger-cli.org)

[2]: [https://www.petekeen.net/ledger](https://www.petekeen.net/ledger)

</comment><comment><USER8> As an accountant turned programmer, I've noticed that my fellow software developers are terrible at understanding double-entry accounting and even worse at developing systems for accounting. This article uses a lot of words to not really say or explain much, if your aim is to know more about accounting look elsewhere, this article though factually correct confuses more than it informs.

<comment><USER8> As an example one thing he did specifically is to fixate on balance. Double entry accounting does is indeed a system for tracking balances of accounts but that's not all it does and it might be said that balances are a by product of what it really does. Double entry accounting tracks the flow of how money _moves_ through a system. Using double entry accounting you can get track the balances of accounts at a certain date _OR_ you can track the movement of money through accounts over a certain time period which we call an income statement. I've noticed that developers seem to fixate over the former without understanding that the latter is just as important. In other words it's not just important about how much money you have in an account but also how did the money get there?

<comment><USER9> I started a (now dying of bitrot for a couple years) accounting system in C++ that let you see your balance at every point in time.

All transactions were recorded as individual entries and every single one of them had to match for it to be processed.

So for a specific point in time, it was easy to simply re-run the transactions from last start to that point.

Some years ago I would have really appreciated the help of someone with your knowledge.

Right now I'm focusing on a videogame.

</comment></comment></comment><comment><USER10> I don't understand why the author is so fixated on the idea that "a business owns nothing for itself." The statement doesn't seem to mean anything, its just a confusion about what equity is. Equity is the value of the portion of the assets that are not owed to creditors (not liabilities); in some structures, the accounting of equity is divided between the multiple owners of the entity, but not always.

Double-entry bookkeeping is just this obvious fact, taken to a conclusion: every transactions of money is balanced; an equal amount of money is credited and debited in each transaction.

<comment><USER11> Yes, it's a terribly confused explanation of the concept 'equity'. For example it has no way of explaining the difference between the paid-in amount and par value of stock, as far as I can tell (is there a word in English for this difference, btw? In Dutch it's called 'agio' but I can't seem to find one specific word for it in English).

<comment><USER12> Agio is used in English as well. It is an Italian word denoting the difference of two numbers due to a diverging method of assessing it. It is thus most often used to denote the money banks keep in various transactions. The meaning you specify in Dutch is most closely related to the use of agio to name the difference of the face value of silver coinage and their real metal content.

<comment><USER11> Ah, thanks for that.

</comment></comment></comment></comment><comment><USER13> Lol, at my current job, their accounting system is designed so that all transactions modifications are an UPDATE or DELETE instead of an INSERT. It makes auditing impossible. At the end of the month, the numbers don't even come close to adding up.

(The correct way to design an accounting system is that, if a record is changed, you do an INSERT rather than updating the old record in place. Then there's always an audit trail.)

</comment><comment><USER14> I've been taken aback in the Bitcoin world just how many programmers do not understand double-entry accounting and don't implement anything near it in their systems when they do any transaction that is not recorded on the blockchain (exchanges in particular come to mind). When you're moving around other people's money this is quite important.

</comment><comment><USER15> _...those of us who design and write software find that our approaches are relatively orderly but fragile. Aspects of a system fail to support each other, and we basically add complexity to the system in order to hold it together. Highly engineered systems are thus brittle_

Honestly? I am more likely to conclude that the author is not yet very mature as a programmer.

<comment><USER16> Rather prideful response there.

Most systems I've ever worked with (I end up working on existing systems much more than implementing from scratch) are brittle somewhere in the sense of being potentially incompatible with some random enhancement X sans major rewrites. And when major rewrites aren't possible we resort to complexity.

As developers we're all aware of this and often refer to it as managing technical debt, no?

<comment><USER15> I was aware this could come across the that way when posting and am no paragon of perfection, but that doesn't change my perception. Technical debt is technical debt, and a brittle and complex system that evolves as a patchwork is just an admission of software development driven by bad process.</comment></comment></comment>


Anthem didn't encrypt stolen data - <AUTHOR> http://www.wsj.com/articles/investigators-eye-china-in-anthem-hack-1423167560

<comment><USER2> Unacceptable. Should be mandatory for all healthcare companies with steep fines for non-compliance.

<comment><USER3> Why limit to healthcare companies? Anyone with that dataset should have the same mandates.</comment></comment>


BitCoin: Why I am staying far away - <AUTHOR> http://chxrambling.tumblr.com/post/68754262161/bitcoin-why-i-am-staying-very-very-far-away

<comment><USER2> Oh my god, stop being ridiculous. Parallel construction is _not_ fabricating evidence. It is constructing a case that uses only evidence obtained through criminal warrants so that no classified information is leaked in the process of prosecuting the case, even if the main tip came from classified sources. This is not the same thing as fabricating evidence. It is obtaining legitimate evidence through other, less sensitive means.

Second, Shamir's paper has nothing to do with legal evidence that can be used in a court room. The burden of proof in a courtroom is still very high. If anything Shamir helped future defendants by casting reasonable doubt on any linkage derived from an analysis of the blockchain.

<comment><AUTHOR> So your average judge or jury wouldn't be fooled if faced by something like Shamir's paper? I find your faith in the judical system amusing :)

<comment><USER2> If the defense is worth his or her salt he could have a witness who talks about Shamir's paper and how even thorough analyses of the BlockChain have been inconclusive and error-prone, thus casting doubt on whatever the state's witness says.

The judicial system is far from perfect but in the great majority of cases it manages to reach the correct conclusion about the violation of the law.

</comment></comment></comment><comment><USER3> The key fact here is that Ron and Shamir's paper got nuked by an amateur on Reddit within minutes of it's publication. Turns out the public ledger makes it tough to fabricate anything - even when you're sponsored by Citi Foundation, the charity arm of Citi Group, one of the world's largest banks, as was the case with Ron and Shamir.

I'd rather buy BTC than USD because it seems easier to prove my innocence if I have nothing to hide.

</comment><comment><USER4> That's not a very persuasive argument. If the government is willing to fabricate evidence, what use is avoiding the Bitcoin network? If they want to take you down, it's not like they're going to say "crap, he's never used Bitcoin, so we can't touch him."

</comment><comment><USER5> I generally am pro a little bit of wariness, but I feel like this article is devoid of any real meat and is basically just fear-mongering.

</comment><comment><USER6> Shamir's paper was a very cautiously formulated guess at a connection he thought he had made. It was anything but a legal argument that would hold any water in court.

This blog post is pure FUD nonsense. How it ended up on the HN front page is a mystery to me. Flagged.

</comment><comment><USER7> Since it's so trivial for authorities to fabricate evidence, using a system with a public ledger is actually preferred if you're afraid you might become a victim of evidence tampering. It's so much harder to plant unquestionable evidence in a public ledger.

</comment><comment><USER8> Because the currency with an ill-defined largely private ledger (serial numbers on bills and transaction records from banks) is so much less likely to be used to create a link between you and organized crime.

</comment><comment><USER9> Don't upvote this. It's 3 alinea's, 2 sentences each and it's pure nonsense. As if there aren't any public ledgers of your actions available to DA's now.</comment>


How 'Sailing Stones' Move Themselves Across Death Valley - <AUTHOR> http://m.core77.com/blog/transportation/scientist_figures_out_how_those_big-ass_sailing_stones_move_themselves_across_death_valley_25038.asp

<comment><USER2> How would just the area around the rocks freeze? Why doesent this happen in more places if this is the case?

</comment><comment><USER3> So _that 's_ how they built the pyramids.</comment>


Microsoft Is the Most Exciting Company in Tech, Hands Down - <AUTHOR> http://gizmodo.com/5889659

<comment><USER2> Am I the only one who cringes at the notion of buying anything from Microsoft? In the 90's, if you mentioned the "Evil Empire," everyone knew who you were talking about. Today, Microsoft is, to quote Steve Jobs, "Largely irrelevant."

The Surface is a convertible tablet pc (like the one my gf was smashing out of frustration a couple nights ago), flattened by 10^5 atmospheres of pressure to 1cm thickness.

Let sleeping evil empires rest.

<comment><USER3> And support the conscious ones? Pretty much every major tech company these days (Google, Microsoft, Apple, Amazon, Oracle, etc.) is evil in some ways and not in others. People are excited because Microsoft is one of the few tech companies with the resources to bring new choices to market on a large scale. Actively hoping for less competition seems rather myopic to me.

Who needs to leave Microsoft for you to stop cringing? Does it matter? Do you need to see the company fail before you're comfortable? What about the companies that hire their ex-employees? Will they become evil as well?

I'm a linux guy, but to Microsoft I say, "bring the noise!" In the end we'll all benefit.

<comment><USER4> You ask a compelling question with "who needs to leave Microsoft for you stop cringing?". I'd suggest it is an institutional problem, and while not completely unique to Microsoft (see Apple, Oracle), it is embodied within nearly every aspect of their business model -- save the recent open source bear-hug, the overarching corporate goal is to do precisely the opposite of what you would wish to see: to have all other market options whittled down to One Microsoft Way. They are not currently open -- and as long as Windows and Office continue their bewildering dominance within corporate IT departments, they will never be open, as it is antagonistic to that goal.

<comment><USER2> Exactly. The whole conception of Microsoft is atavistic.

Wishing for the return of Microsoft reminds me of older disillusioned Russians after the Cold War fondly reminiscing about the Soviet Union. Or Hobbits hoping that if only Morgoth would return, he could counterbalance the power of Sauron and Mordor: because the only thing better than facing the Dark Enemy of the World, is having two Dark Enemies of the World!

</comment></comment></comment></comment><comment><USER5> They really are doing some cool stuff, the author mentions a few things. I'd also mention the stuff they are doing in software. ASP.NET MVC, F#, hell even good old C# is just getting better and better. There is plenty of room for Google, Apple and Microsoft to all create cool stuff.

<comment><USER6> ASP MVC isn't very good.

<comment><USER5> I'm not going to defend them any more unless they start cutting checks but you have to admit that even if you don't think it is any good at least they are trying. You work in a windows shop you use whatever Microsoft gives you, we could still be stuck with Web Forms.

<comment><USER6> That's the problem, Nancy is just so much better.

<comment><USER5> Well it is certainly smaller. I'd really like to use it at least for APIs where I am currently using the WCF rest and JSON stuff but it would be an uphill battle to get it deployed to production. Right now I use RabbitMQ and Redis internally and I fight the same battle over and over. They can't believe I wouldn't just use SQL Service Broker. I wish there was a way for Microsoft to "bless" projects like Nancy.

<comment><USER7> Its almost a syndrome, where many (not all) Microsoft shops can't envision using something in addition to what MS offers, even if the effect is positive for the developers, users, budget, timeline, etc.</comment></comment></comment></comment></comment></comment>


Life Hack: Rediscover Twitter by unfollowing almost everyone. - <AUTHOR> http://sxates.com/personal/twitter100/

<comment><USER2> While I see the value in this, couldn't you just utilize lists to work in your favor?

ie - make a list of the ~100 accounts who are of the highest value to you and rely heavily on that stream.

There are just so many interesting people out there (I follow ~750 accounts).</comment>


Show HN: Enterface, a UI design app concept I'm designing - <AUTHOR> http://bendansby.com/enterface/ <comment><USER2> Haha, I love the use of the North Korean flag for "Isolation Mode".

</comment><comment><AUTHOR> For anyone interested in a real, shipping app that offers many of the niceties of Enterface, check out Antetype: <http://www.antetype.com>

I decided to use it for doing the high fidelity mockups of Enterface, and it turned out to have a lot of the stuff I was looking for. I still want my app, though :-)

<comment><USER3> That looks even better. Thanks.

</comment></comment><comment><USER4> A call to action like an e-mail update form would've been a good move, don't you think?

<comment><USER5> Third that.

<comment><USER6> An upvote would do :-)

<comment><USER2> No, it wouldn't. Since upvotes aren't public it's useless to upvote something to show support of a subthread that is already on top in its thread.

<comment><USER6> That's true, but if more people did this, threads would be unbearable to read so I think it's better that we agree not to. Highly voted posts will appear closer to the top, so upvotes are not entirely wasted.

</comment></comment></comment></comment></comment><comment><USER7> This is awesome.

If I can suggest something - it'd be amazing to export some kind of layer- based file format (PSD, really, though that tends to be hard). Your concept looks great for wireframing at a very refined level, but inevitably UI designers will want to go deeper with all the fanciness Photoshop provides.

It'd be incredibly powerful for them to pull in a PSD where all the layers are already in place and ready to be chopped.

<comment><USER8> I agree, this is really sweet. Is there some sort of CSS2 option that is heavier on the images for things like shadows and gradients, and a CSS3 mode which exports as much in the stylesheet as possible?

Also, an "export sprites" option would be amazing. It would spit out the image file and corresponding stylesheet?

</comment></comment><comment><AUTHOR> Hey guys, thanks for all the feedback. Right now Enterface is just a concept, hence no call to action. I would love to have it developed, if only for my own use! I'll need my own icon, too...

<comment><USER9> well, give <http://Salon.io> a spin .. here´s an invite for you <http://salon.io/users/sign_up?token=H7DqXNBcUFAnXtRQYExr>

<comment><USER10> I may or may have not hijacked that invite, sorry/thanks!

</comment></comment></comment><comment><USER11> "Lightbulb image by Svengraph. No affiliation with me or this project."

Surprising at least, why are you using branding that doesn't belong to you?

Is this a concept? A series of interesting mockups of a mockup app, or are these shots of a working prototype?

I get out of this presentation with more questions than answers about this app, and no way to find out more, or be notified.

<comment><USER11> I guess the title of this HN post does mention that it's a concept, so that part is in fact clear here. Not on the site.

</comment></comment><comment><USER12> As a UX Designer, I'd say I've needed something like this: a true UI design app that only had the features I needed. None of Photoshop or Illustrator's extraneous features (with respect to a UI Designer's needs, anyway).

One thing that would definitely make me try it is a bundled/stock icon set that is well-integrated into the app. Finding open-license icons for my mockups (or drawing my own) is actually the most laborious part of my design process. If that was somehow shortened, or if I at least had inspiration built into my design tool, I'd be a happy camper.

<comment><USER13> Then until this app is ready, I would like to reccommend to you: <http://thenounproject.com/>

</comment></comment><comment> martin-adams The things that I have been missing greatly in my UI mockup workflow are:

• Pixel perfect using Photoshop (usually after I have walkthrough concepts using Balsamiq) • Creating reusable assets with various style states (such as menu items selected/not selected) • Taking a design element, such as a table of data, and adapting it effortlessly to other data types (such as different columns) • I'm using Photoshop CS2 and it's layer management can get out of control with some complex designs • A closer relationship to CSS styling (borders, rounded corners, gradients, shadows, etc - in particular doing it on just some edges) - I tried the demo of CS6 to see if there were changes in this area (layer effects) - and nope, nothing. Very disappointing.

I think there is a lot of innovation to be had in this area of UI design. However there may be a lot of basics that needs to be covered first before getting to the UI specific feature set.

First impressions with the site...

1\. The carousel animation is confusion on the screenshots. I keep pressing right but it toggles from left and right animations.

2\. You need a CTA to register interest. You have attention now but no way for capture those who are interested. A wasted opportunity.

3\. The screenshot could show a more complex design to make viewers know it can do what they are used to working with.

4\. The name Enterface makes me think of entering people's faces.

Would love to see this concept developed further.

</comment><comment><USER14> I would pay (prepay) for this. OmniGraffle has been painfully slow to improve, and just doesn't seem to cater to web or app ui design. Unfortunately it's the best thing out there so far. Need something better.

Build this as a native app and charge $monthly. That way people can get started with it for cheap and if you keep making a good product, they'll keep paying you for it.

I really feel like the 1 time app charge model is severely broken for consumers. Omnigraffle gets my $200 bucks and all of a sudden there's nothing I can do to influence them anymore as a customer. The product stays pretty much the same for 4 years, as they move on to find the next pot of gold app to build.

</comment><comment><USER15> Heh, Isolation Mode, indicated by a North Korean flag

</comment><comment><USER16> This looks very promising. What a shame to get on hacker news and not have a way to capture users. Just embed an email capture right now on that page. Maybe add a discount promotion for early adopters or beta users. Overall looks great, just hope it's not some vaporwear at the end of the day

<comment><USER17> Agreed, definitely need to capture emails.

<comment><USER18> Sorry to break the party, but apparently it's just a concept. As in "no lines of code written yet, and no immediate plan to do so": <http://news.ycombinator.com/item?id=4467432>

</comment></comment></comment><comment><USER19> The Flyout Tool is pretty novel. It's one UI quirk that bugs me in a lot of apps that support layering.

<comment><USER20> I was thinking the same thing re the coolness of it, but I don't have enough experience to say anything about novelty. If it is novel, OP's one-year patent clock starts today for the U.S., and the opportunity to patent in the rest of the world is now lost. It wouldn't surprise me if selling that feature to Adobe, Microsoft, or others could pay off more than the proposed (quite cool) app.

<comment><USER19> I suspect that this feature's "pre-announcement" will probably result in "copies" of this feature showing up in other apps, possibly before Enterface itself even reaches general release (assuming it's even in dev).

<comment><USER20> Yes I would expect this too. OP should file a provisional U.S. patent application listing every clever derivation they can think of, tomorrow.

<comment><USER21> Why?

</comment></comment></comment></comment></comment><comment><USER22> As someone who uses Fireworks everyday, I can say that a tool like this is much needed. In fact, I have been cooking up a similar concept. Would love to connect to pursue a potential collaboration.

By the way, put a form on your page ASAP to let people opt-in for updates.

</comment><comment><USER23> Personally, I find it frustrating that this is nearly the topmost link on HN. It's been established that there's an interest in applications of this nature. The web is littered with concept art, mockups, and promises of 'silver bullet' applications of every conceivable type. Daydreaming about merging the best features from a menagerie of rockstar apps is a pastime older than many of us here. So, what separates this mockup from other similar vagaries & pipe dreams? Has crowdsourced curation reached a tipping point towards the worse on HN? My opinion on the matter would seem to be that of the minority...

</comment><comment><USER24> This looks cool and very well put together. It's obvious you've paid lots of attention to detail. At our company, and I suspect many others, there is lots of collaboration between the design side and the implementation of the design (these roles are exclusive). For our purposes, we don't really need pixel- perfect designs, as we just like to get a rough idea implemented, then iterate on it. How do you use this tool in your workflow? Also, how do you use the CSS feature? I would never copy/paste generated CSS into code, but I guess it gives you something to start with?

</comment><comment><USER25> > Enterface is an app for creating polished, production ready, pixel-perfect, > multi-page, multi-state mockups of user interfaces.

I like what you've done.

But I wonder if mockups really need to be polished, production ready, pixel- perfect etc.

<comment><USER26> I would worry about this too. It seems like you could get bogged down using a tool like this, spending days creating pixel perfect mockups, just to throw out your work later. That might be why Balsamiq is such a popular tool; the mockups look like ass, but they let you iterate quickly without caring about the tiny details.

</comment></comment><comment><USER27> If it creates pixel-perfect designs that can be used for implementation, then don't call them mockups, that part was confusing to me.

</comment><comment><USER28> I know a guy who is working on a similar type of project, but his goal is to take the resultant, vector-based output and be able to feed it into devices with differing sizes and resolutions. This looks like it could be a great matchup. If you are interested in hearing more, my contact is in my profile.

</comment><comment><USER29> Small semi-relevant tip:

The slideshow after "Here's what it looks like" shouldn't alternate directions for the transition animation. You should make the screenshot come in from one direction if you press next and the other direction if you press back. This improves visual feedback for the user.

</comment><comment><USER30> I'm really interested in this... just a shame you don't have a way for me to subscribe to an email list so I can see when you release it. Now I'll probably forget about it unless I happen to be online at the right time to see your actual launch post on HN.

</comment><comment><USER31> The one thing I really want to see is HD demos of the product in use to create truly amazing websites.

I think if you dial down the marketing drivel, and dial up the actual functionality, if it is impressive, people will start to notice and share it all by themselves.

</comment><comment><USER32> Excellent. I've been thinking of building something like this ever since I have been a bit disappointed by <http://www.bohemiancoding.com/sketch/>. Shame this is just a concept!

</comment><comment><USER33> It'd be great if this could work with libraries of UI elements, so we could load in Twitter Bootstrap elements if our site uses that, or have the ability to create UI libraries of our own.

<comment><USER34> Isn't the idea of Bootstrap that you can just get a basic site up without actually a design step.

</comment></comment><comment><USER35> This looks great, very well done. I build these kinds of tools for my own company, and while we take a different approach, this is really impressive. I will check it out!

</comment><comment><USER36> Hell of a let down to find out it's just a concept. A good concept, yes. But the wording on the page like "...what can Enterface do for you?" you mean _could_

</comment><comment><USER37> Gimme gimme! So tired of flipping between programs during my process because none of them do it well. Omnigraffle just hasn't evolved enough.

</comment><comment><USER38> Wow.. this has just about everything.

Why not take just the most important layout and design features and create a tool that can output actual web pages?

I'll tell you why. Because web developers code in CSS and HTML. If you can just export a web page, then it takes away their "programming" work.

If we took 1/100th of the effort used to create mockup tools, we could have 10 really great graphical interactive web page and even web application editors.

That stuff about "semantic" markup for SEO is bullshit.

<comment><USER37> Have you ever built a webpage? There are many optimizations that simple software just isn't going to come through on.

Have you ever SEO'd a site? That is something that certainly takes semantics into account and does so in a way that affects every page and their relationships.

Interface design is a separate process entirely, and its focus should not always be constrained by the engineering it would take to actually code the interface.

If it would take so little effort to make such a software, it would certainly exist. The mockup tools out there are pretty primitive and also fairly limited in number. What you describe is certainly in the future, but to be truly good it will require some very sophisticated technology.

<comment><USER38> I've been building web pages and web applications for many years.

What optimizations do you think that software can't do that justifies hand coding CSS and HTML? Probably the first one is related to autosizing layouts.. but guess what, graphical editors CAN do that. Regardless, the majority of web pages today STILL are fixed width.

There are plenty of tools and platforms that demonstrate the concept of graphical UI and application editors. Less so in the web space but there are still several out there. Most are not very popular and are missing some important features like open extensibility.

I have studied SEO and done some of that. Let's get specific. What exactly do you think needs to be in the markup or relations between pages in order for Google to give you a fair representation?

Are you really trying to say that if the div class isn't "whysuperspam.com" or something that it won't get a good Google ranking?

<comment><USER37> Not saying that it goes back to semantic classes or anything like that, but if aligning alt tags, creating hierarchy with headings, being smart about the order of the code vs the order it appears- all those things are going to require 'coding'in a UI that is just as work intensive as coding them in the traditional sense.

<comment><USER38> You really think the hierarchy of the headings matters to Google?

I doubt that the order of the text matters either, but if it did you could create a tool that would order the output.

<comment><USER37> I know from years of optimization and measurement. Everything matters. Google/ Matt Cutts like to state otherwise, but SERPs prove otherwise.

</comment></comment></comment></comment></comment></comment><comment><USER39> You really should have put a mailing list on this page. I'm sure a lot of people are interested in keeping updated.

</comment><comment><USER40> This looks really good! So now I'm wundering what this service might cost and when Enterface might be online?

<comment><USER5> From the image, I'm guessing it won't be an online service, but a native app.

</comment></comment><comment><USER5> This is freakin awesome. How much will it cost? When will it be available?

</comment><comment><USER41> Will help a lot for UX designers..is it cloud based or a desktop app???

</comment><comment><USER42> How do I sign-up for updates? Can I beta test it? When Can I buy it?

</comment><comment><USER6> Two big things I would love from a tool that intends to solve this problem well:

      - Do it on the web, making it free of platform ties.
      - Make collaboration (versioning, sharing, maybe discussion) much easier.

<comment><USER43> There's too much focus on web-based software. This type of product is ideal native, even with all the collaboration features.

<comment><USER6> Why do you consider it "ideal native?"

What was a good case for a desktop app even two years ago works fine on the web today (e.g., WebGL stuff, canvas-based apps.) Chances are this will be even more true 1-2 years from now (when a product like this would have become quite polished.)

A web app can offer cheap distribution, a more iterative development cycle, split testing, more monetization flexibility, piracy protection, a larger market, immunity from platform trends, and virality (share interactive designs even with stakeholders who haven't downloaded or bought a large creative application).

<comment><USER44> For me, the first half of that list is just as easy natively. Larger market from day one, platform, virulence - I can see that. But what of robustness? Access to lower level features in order to create something huge, fast and efficient. without being held back by the browser. Not to mention do I hate not being able to work without an internet connection.

Thinking on it more, you can leverage so much of both worlds and make the best thing ever.

</comment></comment></comment></comment><comment><USER45> Doesn't Fluid JS do this already?

</comment><comment><USER34> This looks awesome. I've been a Fireworks user for UI design for a few years now (switched from Photoshop). I'm utterly shocked anyone gets anything done in PS, it's so fiddly and doesn't serve even the most basic of requirements for a UI design app (align to canvas? pages? hello?).

Seen as Adobe is looking to kill Fireworks, it's not getting a retina update I was thinking of jumping ship to Sketch.

Weird that you didn't build the logo using it though, like Sketch did.

</comment><comment><USER46> I think the UI component details look a lot like Photoshop's... Watch for any patent suits from Adobe!</comment>


Things to know before using AWS's Elasticsearch Service - <AUTHOR> https://read.acloud.guru/things-you-should-know-before-using-awss-elasticsearch-service-7cd70c9afb4f <comment><USER2> Something else people should know: AWS ES is on the Internet. You can't deploy it to a vpc yet, and you can only lock it down using IAM, which may or may not be good enough for your use-case.

For those that prefer the ease provided by AWS ES Service, consider Elastic Cloud, which affords most of the same capabilities but is run by Elastic themselves (it was previously known as Found, which Elastic purchased a few years ago). There's also an Enterprise offering. If you're looking for a hosted Elasticsearch solution, it's probably better than what AWS is offering. Side note: they update about as often as elastic releases, whereas AWS ES is consistently behind.

<comment><USER3> The IAM authentication is really annoying. It's not supported by many client libraries, nor have I found an easy way to make arbitrary HTTP calls with signature v4.

The only other options are completely public or IP-based whitelist, the latter which is untenable in most cloud environments.

<comment><USER4> You can also use a signing proxy.

<comment><USER3> I wasn't aware of that option. I'll look into it.

<comment><USER5> A simple solution in this vein is to white list your the EIP addresses of your NAT. This would give access to all resources in a private subnet (this is useful for Lambda's running in subnets).

</comment></comment></comment></comment></comment><comment><USER6> Article is a bit naive about what it takes to run a shared service. Any API that AWS ES exposes has to be there forever, clearly pending_tasks had some risk of leaking internal implementation details that either couldn't be exposed, or that they didn't want customers building a dependency on.

Likewise with the doubling of nodes, this is obviously a blue-green style deployment. In place updates would be quicker but ES can get into all sorts of weird states that require manual debugging to fix, with blue green for most of the deployment you can simply flip back.

I've been pretty impressed with AWS ES compared to running it myself (other than the poor fit of IAM auth)

<comment><USER7> > Any API that AWS ES exposes has to be there forever, clearly pending_tasks > had some risk of leaking internal implementation details that either > couldn't be exposed, or that they didn't want customers building a > dependency on.

If this is a reality of using cloud based ES then clearly it's something to seriously consider before using it - which is all the author is saying. The article is titled 'things to consider' not 'things AWS needs to fix'.

ES is big complex beast of a Java app. This is good advice regardless from someone who has used both approaches (self hosted vs AWS) in production.

I did not get the impress that he's saying that AWS can resolve this easily.

</comment></comment><comment><USER8> Worth mentioning that elastic.co themselves run a hosted service on AWS that is of a high quality and has none of these flaws.

</comment><comment><USER9> I can confirm the author's frustrations with AWS ES. Having set up clusters on my own (on EC2 hosts) and using the service... The latter is expensive, inefficient, behind on features, hard to integrate with, and generally just a really crappy piece of work (like almost every peripheral AWS service, ie anything but EC2, S3, and DynamoDb).

Elastic search is honestly pretty simple to set up, save yourself money and trouble and just do it.

<comment><USER10> I had the same experience with their code hosting products (CodeCommit). It was better to just setup an EC2 instance and manage it myself.

</comment></comment><comment><USER11> This appears to be somewhat out of date. If you use version 5.x then pending_tasks is available.

[http://docs.aws.amazon.com/elasticsearch- service/latest/deve...](http://docs.aws.amazon.com/elasticsearch- service/latest/developerguide/aes-supported-es-operations.html)

<comment><AUTHOR> Good to know, I didn't realize 5.x has that API available. Why it's only available in 5.x makes no since ES has had the API since at least 1.x

</comment></comment><comment><USER12> Having a DevOps Engineer that wants me to go the AWS Dedicated Everything Route, I need articles like this to explain to him my fear that our problems will just change, not go away, by going that route. + Adding a fat layer of dependency.

<comment><USER13> Complexity never goes away... it just shifts. I dunno if that is a common saying or not but a former coworker of mine once said it and it's very true IMO.

I do infrastructure engineering for a small startup and really I think with any of these managed systems you need to step back and evaluate them within the context of TCO, lock-in, security, reliability, performance and flexibility/customizability. I've heard ES isn't that much of a PITA to manage on its own, but on the flip-side I'd never sign up a small team to run PgSQL at scale.

<comment><USER14> > _I 've heard ES isn't that much of a PITA to manage on its own_

I just run ES for my logstash setup, and ES is lovely and rock-solid... except when it isn't. For example ES deciding to just silently refuse input when its disk is 90% full - that was a bit hard to find when it happened. ES looked alive, but hunting down the reason why it stopped wasn't trivial. I've had a couple of similar but lesser gotchas as well.

I guess you could say of my experience that it's _not that much_ of a PITA (as you say), but it is still a bit of a PITA.

Disclaimer: if these things weren't a bit of a PITA, there'd be no need for us sysadmins, so I should be grateful...

</comment></comment></comment><comment><USER15> Not all AWS services are created equal... Some are rock solid and others ( _cough_ Data Pipeline _cough_ Kinesis Firehose _cough_ ) must have been written by interns.

<comment><USER16> What issues did you have with kinesis firehose? I just deployed a couple of those and would like to know what to watch out for.

<comment><USER17> One issue we've hit is that logrotate with copytruncate enabled breaks firehose, but afaik it's mostly been good.

<comment><USER18> Using copytruncate breaks a lot of software, not just Firehose. I generally discourage its use in favor of addressing whatever root cause is making you want to use it.

<comment><USER14> In my experience, any 'improve logging' ticket goes straight to the back of the dev's backlog. Followed the next week by complaints about the logging system not being all that good... :)

</comment></comment></comment></comment></comment><comment><USER19> Another point of frustration is that because these endpoints are locked down[0] you cannot fully use management tools like curator - [https://github.com/elastic/curator](https://github.com/elastic/curator)

[0][https://www.elastic.co/guide/en/elasticsearch/client/curator...](https://www.elastic.co/guide/en/elasticsearch/client/curator/current/faq_aws_iam.html)

<comment><USER20> Curator support got better in the AWS ES 5.3 release a few weeks ago: [https://github.com/elastic/curator/releases/tag/v5.1.0](https://github.com/elastic/curator/releases/tag/v5.1.0)

"AWS ES 5.3 officially supports Curator now. Documentation has been updated to reflect this."

<comment><USER21> You still can't use Curator to take snapshots, because AWS ES doesn't expose the `/_snapshot/_status` endpoint.

[https://github.com/elastic/curator/issues/639](https://github.com/elastic/curator/issues/639)

</comment></comment></comment><comment><USER22> Like almost everything else you can build on AWS managed services (RDS, Elasticache, API Gateway/Lambda, Kinesis, etc), if it's truly critical to your application's uptime, you should be managing it yourself.

But if your need for ES is to support a backend system that would make your life inconvenient for a while if there are problems, is relatively small and won't grow too fast, but isn't business-critical, then the AWS managed service is fine.

</comment><comment><USER23> Good warning. Yeah, beta software released to production.

<comment><USER24> There is that and also from fragility from ES. I was wondering what alternatives are out there to ES. I know of Solr only.

<comment><USER23> Solr has the added complexity of zookeeper. ES isn't bad, but in an MT context you really have to layer a lot on top for security and configurability.

It's possible it's not MT and they just didn't write the facade APIs. That'd be pretty crazy.

My biggest complaint would be lack of plugin support.

<comment><USER17> To be fair, ZK is great at it's job, and that responsibility is something ES has had a lot of trouble replicating.

</comment></comment></comment></comment><comment><USER25> I looked at using AWS Elasticsearch Service for a project but had to back out due to the lack of plugin support. Running elasticsearch yourself, even in a HA setup is actually fairly easy.

</comment><comment><USER26> Does anyone have any experience of Compose.io's hosted Elasticsearch offering?

I have been using it on a new project the last couple of weeks and it seems to be working well.

</comment><comment><USER27> Had a very similar experience with Redis on ElastiCache. When things go south, it's really hard to debug. You don't get access to logs, you don't get to change a lot of config parameters.

Had to provision our own EC2 instances.

It was 2 years ago though, things might be different now.

</comment><comment><USER28> It even get worse if you use Aws ElastSearch for logs. Logs are usually high volume and it can quickly beczme nightmare.

<comment><USER29> It used to be worse. The max EBS volume size was 512GB (with 15% reserved for Amazon) and a max cluster size of 20.

We hit that limit and had to ruthlessly prune live data.

You can now add 1.5TB per node (with very large and expensive instance types) as well as scale past 20. Requesting the limit increase was a lot more difficult than most other limit increases.

</comment></comment><comment><USER30> I just want to get rid of the stupid proxy I have just so I can make it work... Amazon just let me put it in a VPC

</comment><comment><USER31> Side note: reading anything on medium.com is frustrating, such a slow and janky site for a glorified blog.

</comment><comment><USER32> Bookmarked to look at the next time my boss wants to lock us into yet another AWS service. Thank you.

</comment><comment><USER33> there's also the bit about how adding a whitelisted IP for access takes like 20 FREAKING MINUTES to take effect.

</comment><comment><USER34> Wow WTH Amazon? Take the training wheels off already or fix the defaults for this service.

<comment><USER35> Preferably both.

</comment></comment><comment><USER36> Brutal plug, but MarkLogic is a good alternative if you want a good search solution that runs and scales on AWS (and you can migrate to another cloud or on prem)</comment>


Python's Functional Training Wheels - <AUTHOR> http://thecomputersarewinning.com/post/pythons-functional-training-wheels

<comment><USER2> I disagree with map/filter/reduce being "key" in Python. I've been writing Python for a long time and I never use them. Comprehensions are more pythonic than map+filter, and reduce just doesn't come up. Here's Guido explaining why he wanted to move all three functions out of builtins in Python 3:

<http://www.artima.com/weblogs/viewpost.jsp?thread=98196>

<comment><AUTHOR> My intent there was not to say that they are key in python, but rather in more functional languages.

Yet another reason I worry that Python 3 may fracture the community...

<comment><USER2> Reduce got banished to functools, but map and filter are still around. So people can process collections using the lispy style if they like. I just hope they realize that it's only a difference in style.</comment></comment></comment>


You Can Pay Credit Suisse Not to Work There - <AUTHOR> https://www.bloomberg.com/opinion/articles/2020-05-29/you-can-pay-credit-suisse-not-to-work-there <comment><USER2> I loved this indictment of Movie Pass (or WeWork) style companies:

> "There are other business models. For instance you could make a product that > people kind of want, or that they would want if it were affordable. Then you > convince people to buy it by selling it for much less than it costs you to > make it, or by paying them to buy it. If you do this well, you will have > high revenue and rapid revenue growth, because lots of people are buying > your product. You will not, however, get rich, because you'll be spending > more money making the product than you get from your customers. Your revenue > will be high but your net income will be negative; it will cost you money to > run this business.

> But then you will go to investors, and you will say "look, I have a company > with rapidly growing revenue, that's worth something, you should pay me for > a share of my company." And they will agree—"we love rapid revenue growth," > they will say—and you will sell stock in the company for hundreds of > millions of dollars. And then it will cost them money to run the business, > and you will be rich. There are various possible endgames; in some of them > you go to prison but in quite a lot of them you just stay rich and become an > elder statesman admired for your business acumen."

The later part about the Chinese coffee company fraud also getting caught by motivated short sellers was also great:

> "The thing about inflating your revenue by pretending that you sold more > coffee than you did is that people can go to your stores and watch you sell > coffee. It is a reasonable bet that they won't do that, because it's > incredibly boring. "Who is going to send 1,500 people to our stores to watch > us sell coffee all day, count how much we sell and compare it to our > financial statements," Luckin could reasonably have thought. 1 But the > answer was "short sellers"! They actually hired people to sit around > watching the coffee get made, so they caught the fraud."

Matt Levine is a good writer (often funny too) - I'm impressed he can continually write up these high quality newsletters almost every day.

Between this, Stratechery, and Preet's podcast I find it _really_ hard to actually read all of this.

How do other people do this?

It's hard to really have the time for even just one newsletter or podcast (at least with the podcasts you used to be able to listen in the car, back when we still drove places).

<comment><USER3> > But the answer was "short sellers"! They actually hired people to sit around > watching the coffee get made, so they caught the fraud."

Is it legal to report negatively on a company you're short selling? Wouldn't that count as market manipulation, even if your reports are true? Or will simply disclosing that you have a position while simultaneously disclosing the information make it safe and legal?

<comment><USER4> Yes, that is the whole point of the markets in fact and the reason we allow short-selling. You _want_ information from both sides to be incorporated because it will give you much better price discovery. You _want_ people to figure out that companies are frauds and to tell the world about it and to get people to do that you incentivize them financially by allowing them to go short.

Look at recent private fundraising and VC to see what can happen in markets with no short selling.

<comment><USER5> Wonder why VC firms don't come up with some structure to allow short selling?

If they believe a company will do well, yet someone else believes otherwise, there is money to be earned by whoever is right.

</comment></comment></comment></comment><comment><USER6> My previously employer offers just that : you could spend money to 'buy' up to 10 (more) days of holidays per year (for context, you start with 20 mandatory days, plus 10 to 15 depending on your seniority and your age). It would cost you exactly what it would costs the company to pay you, and seems redondant with simply taking un-paid holiday. They were several benefits to this though : those extra days would become part of your offical compensation, so you are entitled to take them in the year, and you do not need his approbation. It is also slightly better for your pension and your taxes to buy those days rather than take un-paid holidays.

<comment><USER7> But doesn't this cost the company more due to taxes and salary side costs.

At least in Germany this would either not be a good deal for the employee or employer.

Also I'm not sure how legal it would be in Germany and other EU countries.

<comment><USER8> It's a regular feature in NL. You can even do arbitrage. Buy extra vacation days, save some of the days you regularly get in excess of the legal limit (the legal days expire in 18 months, those above in 60 months). Sell those at a later date for your then current income. Beats saving.

Edit: thanks, spelling

<comment><USER9> Off-topic nit: I think you mean "arbitrage", the practice of buying something where it's cheap and selling it where it's expensive. "Arbitration" is a method of resolving disputes by having a neutral third party decide what the correct outcome is.

</comment></comment></comment></comment><comment><USER10> It's always tough to figure out which part of a Matt Levine article the OP wanted to talk about, since the title just covers the first one. They're all interesting. If I had to guess I'd say the Luckin Coffee one, since it also mocks certain startup business models.

<comment><USER11> And shows another reason why companies prefer not to go public and are happy to take money from private investors instead. You don't need to publish your accounts and you don't have to worry about someone looking into them to make money showing you're a fraud.

<comment><USER12> That's definitely a theme that Matt Levine touches on a lot, especially when he talks about the WeWork and Uber IPOs: basically in the private VC market, your investors either pass on the investment, or they invest. They cannot short.

So the investors participating in your market (not the ones who chose to sit on the sidelines) are already selected for being the people that are overly positive or at least believe in the vision. Even if they have suspicions, their incentive is to pump pump pump the valuation and the narrative so they can ultimately dump the company onto the public markets. This largely worked for Uber, but not for WeWork.

Once you're public, you're exposed to short sellers and 10000x the scrutiny.

To expand more, if you're in the private market and don't believe in X company, you could invest in a competitor Y instead of shorting company X, but only if you think the market opportunity is legit and company X is going about it wrong _and_ that company Y is any good. Pretty narrow case.

Matt Levine has a half-funny half-serious suggestion for essentially shorting in the private VC markets if you think the whole market is crap: found a company and have VCs pay you a shit ton of money to run it, and take a golden parachute before the house cards falls.

</comment></comment></comment><comment><USER13> > They have a fixed life, some number of months, and then they end and, if you > still own them, you have to take delivery of oil.

so far so good, this creates stability for companies depending on oil.

> You can build a perpetual strategy around them—buy next month's futures, > wait, and as they get closer to expiry sell them and buy the following > month's futures, etc.—but then the thing you are betting on is not quite the > thing you want. You are betting on the relative value of different futures, > the shape of the curve, the cost of rolling futures, all this technical > stuff.

this looks more like gambling than real economic activity, how does this create new value?

in any case in the end, this is not what the market actually has because "that product is actually impossible to manufacture"

<comment><USER14> _this looks more like gambling than real economic activity, how does this create new value?_

It creates liquidity, which is very useful to oil producing companies, which can sell their product months in advance of it being actually produced.

</comment></comment><comment><USER15> This is also true of academia: you can buy your way out of the stipulated teaching load. Some faculty members with large research grants or side businesses (and little interest in teaching) find this well worth it.

Meanwhile adjunct faculty - who used to only account for a small fraction of higher ed - today do the majority of college-level teaching (generally with low pay and benefits and nonexistent job security).

</comment><comment><USER16> I don't like the straw-man near the end:

> I feel like "quickly doing math on lots of different potential combinations" > is actually a specialty of computers? Usually when I read defenses of floor > traders they are focused on the humans' calm common sense, not their > superior ability to rapidly do complex computations.

in response to:

> Because of the sheer number of possible combinations when every underlying > futures contract, expiration month and strike price is taken into account, > human market-makers shouting and flashing hand signals can work faster and > at lower cost than robots, according to the humans.

I mean, sure, we've got algorithms that can short-circuit combinatorics problems for certain _specific_ categories of problem, but the human brain is still the most powerful general-purpose parallel processor known to humanity.

</comment><comment><USER17> We lose a dollar on every unit, and make it up in volume!

</comment><comment><USER18> In response to the article about USO:

If you wanted to build a financial entity to track oil prices, couldn't you just form a company that just buys a warehouse and stores a large amount of oil? Then its value would be roughly equivalent to the amount of oil it has stored?

Then I guess at the end of the month, the company would buy or sell more oil to align its value. Maybe operate like an etf that tracks an index?

<comment><USER19> That strategy is discussed in footnote #2. Though one of the interesting things about such a physical oil fund is it makes it clear that you're just frittering away investor money on storage costs (discussed in footnote #4), which are more abstract/less obvious when you're spending the money trading futures rather than on a big bin to hold the oil.

<comment><USER20> And so the difference between May and June futures should be constrained by the cost of storing oil for a month (the price of oil for June should be <= may + 1 month storage). Of course, storage facilities take time and money to build and shutdown, so there ends up being supply and demand based fluctuations for the cost of storing oil, and so if we run out of storage space (as happened at the end of April), you can get a huge difference in prices for futures that are a short time apart (which also happened at the end of April).

</comment></comment></comment><comment><AUTHOR> A podcast version of today's newsletter. [https://anchor.fm/talking-money- stuff](https://anchor.fm/talking-money-stuff)

<comment><USER21> This is great, thanks. I'm always behind on Matt's daily email and this will help me catch up. I do wish he would guest on more podcasts!

</comment></comment><comment><USER22> This is an interesting way to spin an unpaid furlough... which many people are being forced to take right now.

It's basically equivalent. "You are going to be furloughed for 2 weeks without pay" means, "You have an additional 2 weeks of vacation, but we're going to cut your annual salary by 1/26th."

Which is the same thing as, "Give us back 1/26th of your annual salary, and we'll give you 2 additional weeks of PTO."

</comment><comment><USER23> Levine can spin the most mundane things, like unpaid time off, into salacious stories.

</comment><comment><USER24> This is a particularly entertaining article.

On one hand, capitalistic systems are clearly optimizing for peak efficiency during global instability which is reassuring in some minor or maybe not so minor way.

On the other, just be nice and give your employees some extra official time off because they're obviously not working as much. Life is slowly returning to normal, but it's still wacked out and stressful - just be nice. Giving kindness when it's needed most pays long-term dividends.

<comment><USER25> > Life is slowly returning to normal, but it's still wacked out and stressful > - just be nice.

I think that the most privileged (of whom I, and I expect many of us on here, am one) are experiencing less of the hardships associated to coronavirus than they did in the first flush of the reaction, and that, in the US at least, there is a rush to try to _act_ as if things are returning to normal, but I don't think that there's much realistic sense in which things are _actually_ returning to normal, slowly or otherwise.

</comment></comment><comment><USER26> No thanks, I'm already not working there for free</comment>


Logistics Is Sexy - <AUTHOR> http://techcrunch.com/gallery/seriously-logistics-is-really-sexy/ <comment><USER2> Logistics is the key in any business dealing with geographical human and material distribution challenges.</comment>


Taskwarrior – TODO List from Your Command Line - <AUTHOR> https://taskwarrior.org/?rand=12084 <comment><USER2> A cooler tool than a list of releases might suggest. Clicking on "Let's Get Started" gets me: [https://taskwarrior.org/docs/start.html](https://taskwarrior.org/docs/start.html)

It's too bad that it isn't the landing page.

<comment><USER3> I've heard that before. It's a good suggestion, thank you for reminding me. I'll roll that out soon.

</comment></comment><comment><USER4> Used this for a few months and I can highly recommend it for anyone who likes the command line workflow (as I do). No mousing around, just typing. I still occasionally use it for tracking how much time I spend on a task:

        $ task add some project
        Created task 1
        $ task 1 start
        ... do some work ...
        $ task 1 stop
        $ task 1

This will show you how long you just worked on it. You can start/stop a task multiple times and it'll show you when and how long you worked on it each time.

The reason I don't really use Taskwarrior on a daily basis anymore is because I don't use any todo list anymore at all. Currently there are things with a deadline, which are either in my head or in my calendar, and there are things that happen at a certain time (e.g. meeting). A todo list doesn't fit in how I currently work.

</comment><comment><USER5> I like this, and have used it in the past. I love having all my software (data & configuration) in plain text.

That said, I have found Emacs' org-mode better to suit my rather simple needs ---structuring my tasks in a kanban-like format. There's even a Trello to org- mode sync system, just in case you collaborate with people.

In general, I find kanban a very good way to structure work because it defines the next task very clearly and _limits work in progress_.

</comment><comment><USER6> Why use this over Todo.txt? That has iOS, Android, and desktop clients.

[http://todotxt.com](http://todotxt.com)

<comment><USER7> That seems more similar to org-mode than TW. TW's features are more along the lines of time-tracking, grouping tasks, managing dependencies and automatically managing tasks on top of the basic management. TW also has Android/iOS and desktop clients (including a GUI), though I haven't really used them as I find the default CLI to be extremely slick and intuitive.

You can do pretty much everything you can in TW with a variety of other tools, it just has its own spin on things and also a _ton_ of features. I've tried other task organizers (especially org-mode), but I ended up sticking with TW because it worked best for me.

<comment><USER6> I'll take a look. I've used todo.txt for a while off and on.

</comment></comment></comment><comment><USER8> Oh wow, "task help" shows an incredible list of thoughtful options. That should be part of the Getting started documentation. I had no idea. You can do

        task +weekend +garden due:tomorrow

That's super cool. I keep a to-do list in a text file, but It would be nice to have the metadata task keeps around for things.

</comment><comment><USER9> Just use plain directories and files. One task per file (or directory, if task has attachments).

<comment><USER10> That's the direction I've been moving. Amazingly simple to write scripts to, for example, turn the data into an html file. And using directories lets you add comments to tasks.

<comment><USER7> For reference, you can add comments (aka annotations) to tasks in Taskwarrior as well as dump to JSON (so halfway to HTML). TW also ultimately uses text files for your tasks.

The major advantage of TW over flat files is you can do stuff like dependencies, urgency, meta-groupings like projects and so on. Features that could probably be implemented with scripts on top of the FS, but by then you're basically cloning TW or org-mode. OTOH, if you don't care about stuff like that then flat files can work really well.

<comment><USER10> Is there a way to get TW to serve as a calendar? For instance, can I list everything that has to be done today, in order, with times of meetings listed and everything with a deadline listed separately? I couldn't find that use case in the docs.

org-mode has served me well, but I want something that's usable from a phone. If I put everything on a web server, I have it whenever I need it.

<comment><USER7> Kinda. You can do `task due:today +calendar` to get a printout of stuff that's due today and tagged as "calendar" and you can tweak the columns it shows and ordering to show it exactly the way you want. I say "kinda" though because it's not exactly the same as a calendar in the sense you can't schedule a duration for a task because there is only an idea of "due time". In my mind, a calendar tracks when an event begins _and_ when it ends. You can create an appointment task that has the due time being the start of the appointment, but I don't think you can say "and it lasts until 3PM".

You can in general pre-define custom views with filters that show e.g. only high priority tasks due on the second Thursday of February that are dependencies of other tasks and then define exactly what you want it to show in its printout. It's also extensible and scriptable, so you can probably add custom hooks and such to do whatever you like. It also supports arbitrary user-defined attributes for a task, so if you really want to make it into a complete calendar you can add a user attribute to track the end time and then have it in a column of a custom calendar printout and maybe add hooks to prevent overlap or check that times are valid etc.

That said, I don't use it this way as it's just not what I want it for. But it can definitely do it; it's ridiculously flexible. Exactly how much calendar- like functionality you want determines how much work it'd take... ranging from none if you just want to track appointment start times for the day to a chunk of scripting if you really want a full-blown calendar.

</comment></comment></comment></comment></comment><comment><USER11> You can actually model diamond or x dependencies with task - I'm not aware of any other todo software that can do this, short of a pert chart or gantt chart.

(I mean where A and B both block C, while C blocks both D and E, which both block F, etc)

</comment><comment><USER12> Also check out Vit: [http://tasktools.org/projects/vit.html](http://tasktools.org/projects/vit.html)

It's a curses based console interface for taskwarrior.

</comment><comment><USER13> _" It uses human-readable text files for storage. It imports and exports JSON, so your data is never held captive"_

I'm a really, really big fan of this.

<comment><USER3> "Not using a database" is possibly our best feature. :)

</comment></comment><comment><USER14> You can try Taskwarrior in your browser: [http://wbsch.de/jswarrior/](http://wbsch.de/jswarrior/)

It's an older version (2.4.3) with a lot of recent improvements missing, but you can get a basic feel for what it is like to use it. I really should get around to updating this to the latest release sometime.

</comment><comment><USER15> I've tried Taskwarrior in the past. The main issue I had is the complexity. It's not simple enough, there's a whole lot of options and things it can do which send me down a path of messing with tasks and organizing them when all I should be doing is completing them.

All I ever need is a simple text file with a list of things to do. I've ended up building a simple version that does what I need on a per-project basis and I check the file into version control sometimes (depending on the project). Sometimes I have git ignore the tasks file and it's more of a personal todo list for the project.

[https://github.com/prophittcorey/t.rb](https://github.com/prophittcorey/t.rb)

I've also integrated it within Vim so I don't even need to touch the commandline:

[https://github.com/prophittcorey/vim-t](https://github.com/prophittcorey/vim-t)

</comment><comment><USER16> I love the simplicity of this.

If there were a way to add alerts when things are coming up that would be a good option. I know there have been times I've made a TODO list thinking I was getting organized, forgot about it, and never got my task done.

<comment><USER4> I put `task` in my .bashrc so it would run every time I open a terminal (which is a lot for me). Since TW sorts by urgency (which it determines on some values, and you can override it if you wish), that is as good as a reminder.

<comment><USER17> I use this too. I open and close terminals a lot so I created a special tag for tasks that I want to "prompt myself about" and these are printed concisely at the top of every new interactive shell.

I need to take the time to try the newest web interface tools and check out the json output. My major issues with taskwarrior have been with having native clients on other platforms. Taskwarrior is lightning fast on my desktop and laptop... It's speed and ease of use are why I love using it. But the quality of the various third party sync, web UI, and native app integration opportunities has left me let down.

Unfortunately all of this stems from a lack of a definition of what a task actually is. At some level we could have a standard like CalDAV. But CalDAV embeds the tasks in other junk, and a separate TaskDAV is not likely as long as the tasks as calendar item paradigm solves 80% of people's task related needs.

</comment></comment></comment><comment><USER18> This looks very interesting. Definitely going to give it a try.</comment>


Tech recommendations for transit systems (2018) - <AUTHOR> https://pedestrianobservations.com/2018/08/15/fare-payment-without-the-stasi/ <comment><USER2> > There are approximately three first-world Western cities that have any > business having faregates on their urban rail networks: London, Paris, New > York. Even there, I am skeptical that the faregates are truly necessary.

Not sure I agree with this, Tokyo has well designed faregates and with contactless it's really fast. Since fare evasion is usually a minor crime and/or comes with steep penalties, I'd rather structurally reduce it instead of making it easier and punishing after the fact.

<comment><USER3> Seriously, I take BART daily and it would benefit greatly from the biggest gates they can find. So many of BART's problems are caused by fare evasion.

<comment><USER4> Taller fare gates are in test at Richmond BART station right now.[1][2] The regular lane works OK, but the fat people/wheelchair lane has problems.

NYC just puts in very strong stainless steel turnstile cages 8 feet high.[3]

[1] [https://www.sfchronicle.com/bayarea/article/BART-s-new- stack...](https://www.sfchronicle.com/bayarea/article/BART-s-new-stacked- gates-meant-to-deter-14083809.php) [2] [https://www.nbcbayarea.com/news/local/BART-Fare-Evaders- Caug...](https://www.nbcbayarea.com/news/local/BART-Fare-Evaders-Caught-on- Video-Scuffling-With-Police-512558982.html) [3] [https://www.nydailynews.com/new-york/cagelike-subway- turnsti...](https://www.nydailynews.com/new-york/cagelike-subway-turnstiles- bambooze-experienced-straphangers-paying-fare-article-1.474935)

<comment><USER5> NYC has some of the most annoying faregates ever conceived of. The "cages" have bizarre mechanics that makes pushing them annoying, and the "normal" turnstiles make it hard to push even a small suitcase through.

Tokyo has probably the best-designed faregates I have ever seen and I wish NYC would copy them.

<comment><USER4> _NYC has some of the most annoying faregates ever conceived of. The "cages"_

That's so New York, to have an in-your-face un-jumpable turnstile.

</comment></comment></comment></comment></comment><comment><USER6> > "To discourage fare evasion, the agency should set up regular inspections > (on moving vehicles, with unarmed civilian inspectors)."

no, no, no, no, no. we do this in LA and it sucks. fare-paying riders (i.e., most riders) are regularly accosted by transit police for fare checks and thus pay most of the cost of this in time and humiliation. instead, costs should primarily accrue to fare evaders, not fare payers.

for instance (off the top of my head), technology should be used to (anonymously) deduct fares at a distance while simultaneously detecting fare evaders (maybe triangulated from multiple NFC readers). transit police can then choose to fine the evader. to incentivize getting it right, give the rider free rides if the system pinpoints the wrong person. or even just allow cards to go negative (to repay later) and save on transit policing.

<comment><USER7> We have that on buses in SF. During the 4-5 years when I heavily rode the bus, fare inspectors came aboard exactly three times. When it does happen, it's no big deal, takes very little time, and there's no "humiliation" aspect (well, except for fare evaders, but they deserve what they get).

(Given the lack of frequency, I expect that there's a decent amount of uncaught fare evasion.)

<comment><USER8> My favorite part of seeing that in SF was the gaggle of homeless and fare evaders who would immediately just walk away, while the inspectors weren't paid enough to physically accost them and force them to suffer for their theft. As a result the thieves walk away while muttering to themselves, and the law-abiding citizens line up. The system works!

</comment></comment></comment><comment><USER9> "To discourage fare evasion, the agency should set up regular inspections (on moving vehicles, with unarmed civilian inspectors),"

This absolutely does not work in a lot of the US urban areas, there is a ton of fare evasion.

BART (SF Bay Area) released their "unpaid citation" numbers, it was in the tens of thousands. San Francisco MUNI is similar. There are existing low- cost/free passes for people available, they're apparently "too hard" for people to get and use.

<comment><USER10> Los Angeles has mostly inspection based fare enforcement and it looks like ~5% evasion rate. Doesn't seem too bad for higher throughput.

[http://metro.legistar1.com/metro/attachments/94807457-8593-4...](http://metro.legistar1.com/metro/attachments/94807457-8593-4f7c-a336-7c5180f96f9a.pdf)

<comment><USER11> Actually LA metro switched to faregates everywhere a few years ago. Busses still have some hopons though

<comment><USER12> There are many stations that lack fare gates, it is not universal throughout the system.

</comment></comment></comment></comment><comment><USER13> Unmentioned is the insanely obvious: there should just be a way to use a standard contactless credit/debit card for occasional riders. Works in London, Singapore, Chicago, a few other cities.

<comment><USER14> The technology was only recently developed, and transit systems are usually not flush with cash to keep upgrading payment systems more than maybe once a decade, if that.

<comment><USER15> Uh, Hong Kong had Octopus cards since I visited in 2003. Probably sooner.

That the western CC industry was reticent to pick up innovation from Asia is not news either.

Transit systems being underfunded is a governmental problem, they should not be seen as being revenue neutral as they facilitate commerce.

<comment><USER14> Octopus is a debit/credit card in and of itself, but you can't use regular bank contactless cards for payment. There are bank Octopus cards but those have to be specifically compatible with Octopus. And it's availble in Samsung Pay but as a distinct card, you can't just use any credit card in your mobile wallet.

The system the OP is describing is compatible with standard contactless technologies (bank cards, Apple/Android/Samsung Pay). It cuts out the need for separate Octopus entirely.

</comment></comment></comment></comment><comment><USER16> Coins, cash, and disability-accessible faregates solve most dimensions of this problem -- portability, scalability, no vendor lock, security, privacy, and equal access -- but even that isn't universally deployed.

If you want to support distance-based, or otherwise complex fare structures, have both entrance and exit gates demand a fixed payment, and give a one-time- use token, ticket, or rebate code that identifies the origin, which, when inserted at the exit, reduces the price if it's below the default amount. Non- payment at exit gates is a similar issue to being caught with fare evasion by roving inspectors, and has similar societal answers (or lack thereof).

If you want to reduce entrance friction, you can additionally deploy faster payment methods for those who opt in, or reconsider the funding model of transit entirely. Roads are a similar public good, yet rarely are 'usage fees' deployed for roads; instead, the funding model of roads is complex, but fees designed to somewhat correlate with road usage, like fuel taxes, are deployed widely for this purpose. Both transit and roads are extensively subsidized from general government revenues as well.

The effect is that roads are generally used without individual purchasing decisions needing to be expended for every trip, and together with cars' intrinsic point-to-point routing, it vastly reduces friction compared to transit. Rethinking the funding model of transit, in places where the road network is under strain and transit is a viable contender, would be worthwhile.

</comment><comment><USER17> New York is slowly rolling out a new payment service called OMNY.

I was curious to see what data privacy looked like in the new system. OMNY's Terms of Service does not say anything about how they might access your personal data from a NFC or contactless card payment _until_ you register your account, which is optional. In that case, the following policy applies:

> In providing us with OMNY Account registration information, you confirm that > the information is current, accurate and authentic. You agree to keep us > updated if any of the information you provide changes. You authorize us to > make inquiries, whether directly or through third parties, that we consider > necessary to verify your identity or protect you and/or us against money > laundering, the financing of terrorism, fraud, or any other illegal or > suspicious activity, and to take action we reasonably deem necessary based > on the results of such inquiries or investigations. When we carry out these > inquiries or investigations, you acknowledge and agree that your personal > information may be disclosed to prevent money laundering, fraud, the > financing of terrorism, or any other illegal or suspicious activity to the > appropriate authorities.

Curiously, it's unclear from anywhere on OMNY's website what the program's name stands for: [https://omny.info](https://omny.info)

<comment><USER18> >> _Curiously, it 's unclear from anywhere on OMNY's website what the program's name stands for: [https://omny.info](https://omny.info) _

Figured out from the wikipedia article[1] that the acronym stands for One Metro New York. You're right that they should really have that listed somewhere on the MTA OMNY homepage.

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

</comment></comment><comment><USER19> "fare evasion" is a fictional concept in any city where the massively subsidized automobile culture exists: fuel cost + pollution externality, parking and roads giveaway of real estate.

<comment><USER20> The math doesn't really work out for your argument. For the DC metro, for example, the cost is about $1 per passenger mile. [https://www.transit.dot.gov/sites/fta.dot.gov/files/docs/300...](https://www.transit.dot.gov/sites/fta.dot.gov/files/docs/30030.pdf). Fare revenue brings that down to a $0.53 cent per mile subsidy. One calculation of driving subsidies (relying on various studies that estimate the cost of parking, pollution, etc.) brings the driving subsidy to about $0.43 per passenger mile: [https://ggwash.org/view/10891/funding-amtrak-is-more- cost-ef...](https://ggwash.org/view/10891/funding-amtrak-is-more-cost- effective-than-subsidizing-roads). (That's from an urbanist, pro-transit website.) Electric cars cut that by more than half. (The direct subsidy for driving is just $0.02 cents per passenger mile.)

So if you didn't have far revenue, each passenger mile of subway would receive about 4x the subsidy of a passenger mile of electric car travel. As it is, the subsidy is slightly higher for the subway than a gasoline car.

<comment><USER19> Increasing ridership (at any time except peak) would lower the cost per passenger mile, at trivial additional cost. would. Does that $0.43 calculation include the effects of reduced ridership due to auto subsidy? I don't see thatin th ggwash article. Nor do I see a line item in the DOT info for the economic value generated by transit but 0% captured by the transit system (as constasted against Tokyo where the real estate system is part of the transit economic model.)

</comment></comment></comment><comment><USER21> Good article, I wonder if the solution is something akin the Amazon store.... you just hop in, and perhaps tag you card, either in the station, or inside the train/bus, which contains some kind of (one way) hash of your face....

The card buying process can be anonymous, and the hash is a card/face combination, (i.e. you can't repro the hash, unless you have both).

The card is only needed for tourist/people that want privacy. For the rest, you can just create an account, and have money deducted automatically when you step in a train. No tagging necessary.

This requires: 1. Great face recognition. 2. Strict privacy rules 3. People being ok with it

<comment><USER22> Why would you need the facial recognition if you're already using your card?

<comment><USER23> To identify your account and allow the system to take a snapshot of your face for the session.

<comment><USER22> Why would the card not identify your account? We already have cards that can do this. It seems that the only point of using facial ID is if you want to _avoid_ forcing people to use cards (or if you want to collect and sell their biometrics, but lets assume altruism).

</comment></comment></comment></comment><comment><USER24> "In Germany, the population is more concerned about privacy. Despite being targeted by a string of communist terrorist attacks in the 1970s and 80s, it maintained an open system, without any faregates at any train station (including subways); fare enforcement in German cities relies on proof of payment with roving inspectors. "

A lot of systems have faregates that work also using anonymous tickets or fare cards.

But kudos to Germany for using such a system, I cannot imagine it working without massive fare evasion in many other countries.

<comment><USER25> Most bus and light rail systems use something like this, don't they? Kind of impractical otherwise.

</comment></comment><comment><USER26> I'm not sure I follow the dislike of fate gates, especially how the author believes the largest rail transit systems in the world should use them but no one else.

My experience has mostly been with Washington DC transit and I don't ever remember having an issue at the fare gate. They also let you buy an rfid card from a machine kiosk with cash.

</comment><comment><USER27> Oslo uses roving fare inspectors and has a wonderfully-unified time-based card system that applies to all subways, trams, buses and ferries. No gates anywhere.</comment>