The Problem of Async Programming, and a Crazy Idea for Solving It - <AUTHOR> https://medium.com/connect-platform/the-problem-of-async-programming-and-a-crazy-idea-for-solving-it-cf368a9ea949 <comment><USER2> Callback hell was never about promises, but callbacks (!) which would require a third-party library or some gymnastics to implement control flow. Promises and async/await both solve it reasonably well. The problem presented can be rewritten as:

        Promise.all([
            doA().then(a => doC(a).then(c => [a, c])),
            doB().then(b => doD(b), b_; return b; })
        ]).then(([a, c], b) => doE(c, a, b))

No need for `new Promise(resolve => ...)`. Or with async/await:

        const [a, b] = Promise.all([doA(), doB()])
        doD(b)
        const c = await doC(a)
        doE(c, a, b)

Is it worth introducing the complexity of visual programming to solve this 'problem'? I have a much harder time understanding the graph than the code.

<comment><AUTHOR> yeah I think the article actually starts with that Promise-based code snippet. Even the sequential graph is based on the promise-based code.

<comment><USER2> Look closer - the original is way more convoluted - there is no reason to use `new Promise` constructors when you're dealing with other promise-returning functions.

<comment><AUTHOR> yes you are right the constructors aren't indeed needed.

as for the complexity of the graph, basically the way I see it is that even this promised based method is a way to solve the problem of putting the graph into the proper promise-based format (for example, chain doA and doC and return an array of their result) vs simply drawing the intended graph. I mean it does take sometime to get used to it specially if you are really used to just working with code (which I myself originally was), but since the graph is the more intuitive way to represent it compared to other methods, after going through the learning curve it seems to be less complex and easier to manage.

that said its not like I have conducted proper academic research on the matter and it might as well be a pretty subjective thing.

</comment></comment></comment></comment><comment><USER3> Doesn't seem new at all, just like functional programming with lazy values. The new part isn't the async it's the visual programming of which there are others. Does incorporation async make visual programming different?

<comment><AUTHOR> Yeah I don't think so that on its own the visual programming makes any difference (or even adds any value). The main point here is that the "visual programming" is coincidentally a solution for async programming.

<comment><USER3> The actual problem with async functions is mixing them with non-async ones. Having all futures/promises makes it easy. Now if the visual style could represent current mixed js code, that could be awesome for display and editing I'd have to try before deciding.

<comment><AUTHOR> Yeah we reached that point pretty early on while developing the PaaS with the tool, so had to incorporate support for mixed synchronous JS blocks. you can check out how to do that here: [https://medium.com/connect-platform/inline- coding-in-connect...](https://medium.com/connect-platform/inline-coding-in- connect-platform-534fce3c8cdf)

</comment></comment></comment></comment><comment><USER4> > To see that for yourself, try to re-write our async code snippet again using > only async/await statements and see how does that pan out.

With async/await, wouldn't the example just be:

        let aOut = doA();
        let bOut = doB();
        let cOut = doC(aOut);
        doD(bOut);
        doE(cOut, aOut, bOut);

That is, it looks the same as the sync version.

The difference is in the "do" functions themselves: they would be async (meaning they return a promise, and they accept promises as parameters).

<comment><AUTHOR> so in your code sample, would 'aOut' be a promise or a value? in case it is a promise, then basically doC() would needed to be re-written to handle when it gets a promised value instead of an actual value, and if not, then doA() must be invoked synchronously, i.e. the `let bOut = doB()` statement must be awaiting `let aOut = doA()` statement which is not what the desired async execution flow is.

<comment><USER4> Yes, aOut would be a promise. It would look like this:

        async function doA() {
            ...
            return "the-result-of-a";
        }

(Which returns a promise. Assuming execution reaches that last line of my sample code, the promise will resolve to "the-result-of-a" when you "await" it.)

> ...then basically doC() would needed to be re-written to handle when it gets > a promised value instead of an actual value

Well, wait a minute... it wasn't written in the first place! Let's write it though. It would look like this:

       async function doC( param ) {
           ...
           // we use "await param" where we want to
           // access the value of param. e.g.:
           const paramValue = await param;

           ...
        }

So not bad.

<comment><AUTHOR> yeah really not bad at all, didn't think of that solution originally. edited the article accordingly.

</comment></comment></comment></comment><comment><USER5> I don't think the leap to visual programming is necessary considering we have tools like make that work essentially identically and remain text based. All this is really doing is moving the dependency declaration to lines instead of words and this would get very messy very quickly.

An example in make (if I'm reading in the right direction) format which I'd argue is more readable and could scale much better would be:

      doA: doC doE
      doB: doD doE
      doC: doE
      doD:
      doE

<comment><AUTHOR> Shouldn't it be like

doE: doC, doB, doA doD: doB

etc?

anyways the problem with this approach is that doD() is assumed to be a general function (or statement or async command) that is not by definition bound to doB(), but rather in this specific case we need it to be executed after doB() is done.

<comment><USER5> > but rather in this specific case we need it to be executed after doB() is > done.

Why is that? If it needs any result from doB() then it is a dependencies that must be specified. If it needs to be done only after doB is successful then it is a dependency, just an implicit one we rely on the procedural execution to handle. In either case some sort of surrogate dependency (or better syntax) would have to be introduced.

But the point is that either would necessitate or be aided by graphical programming.

<comment><AUTHOR> ok imagine doB() is a function that loads a record from the database and doD() is for example a password hash matcher (really imperfect example, just trying to get the point across). You might want to use both doB() and doD() in other contexts as well, so basically it is not the case that you would want to execute doD() always after executing doB(), neither is it the case that executing doD() always requires executing doB() beforehand. It just happens that in a specific case you would want to execute doB() and then pass its result to doD().

</comment></comment></comment></comment><comment><USER6> Is the author aware of Dataflow programming ?

These do give the described benefits, however, the tradeoffs are massive.

<comment><AUTHOR> to a pretty limited degree, could you elaborate more?

<comment><USER6> \- Syntax is slower to write. Copying and pasting is a non trivial operation. In order to benefit for the clean representation of the process, you need to spend a good amount of time ordering the boxes around. The representation can be misleading (wires crossing, overlapping boxes)

\- Very low density of information per pixel compared to any textual language (if no zoom feature). Any long name that has to be rendered on screen become fugly. Since we tend to order the boxes in a process from left to right, only the equivalent of a single line of code can be represented on the screen at once when displaying the names of variable and functions.

\- Functions / sub diagrams generally sit in their own separate window (or worse, file). This discourage making functions, to a degree depending on how good/bad the UI is. Getters and setters in OO visual code are a pain.

\- Execution order is not guaranteed to be sequential, so no try/catch structure. Error handling has to be explicit. Witch mean dragging along an additional error variable all over the place.

\- The graph representation doesn't translate well into source control and diff tools.

\- If you need to fire an arbitrary number of parallel stuff at runtime, you still need a "call this asynchronously" structure.

Coming from a LabVIEW dev. The benefits described in the article are still absolutely valid.

<comment><AUTHOR> first off, many thanks for the feedback.

> \- Syntax is slower to write. Copying and pasting is a non trivial > operation. In order to benefit for the clean representation of the process, > you need to spend a good amount of time ordering the boxes around. The > representation can be misleading (wires crossing, overlapping boxes)

copying can be made much easier. on these kind of features, we are acting on user feedback to prioritize. but since this one specifically is one that my co-founder has been bugging me since the day he joined, I don't think it'll be too much down the pipeline.

also, automatically re-ordering the boxes to get the flatest version of the graph (which seems to correlate to the "cleanest code") is something on our mind, which would alleviate that issue.

> \- Very low density of information per pixel compared to any textual > language (if no zoom feature). Any long name that has to be rendered on > screen become fugly. Since we tend to order the boxes in a process from left > to right, only the equivalent of a single line of code can be represented on > the screen at once when displaying the names of variable and functions.

that is partly by design to encourage modularizing. on that front, we have gone for possible overshooting and then slowly tuning towards the optimal point.

> \- Functions / sub diagrams generally sit in their own separate window (or > worse, file). This discourage making functions, to a degree depending on how > good/bad the UI is. Getters and setters in OO visual code are a pain.

is that because of the increased inefficiency of switching between sub- diagrams? if that is the case, thats also a user feedback that has been on our radar for sometime and will probably tend to it soon-ish.

> \- Execution order is not guaranteed to be sequential, so no try/catch > structure. Error handling has to be explicit. Witch mean dragging along an > additional error variable all over the place.

actually it does not need to be sequential for proper error handling. each node in the graph is equipped with its own error-handling, i.e. if an error is somehow thrown during its execution the node will report it properly, which has in many cases led to faster detection of error-sources in the context of the projects we have done with CONNECT up until now. still, admittedly the error-handling system needs to become more robust, and all of this is basically only referring to errors that you wish you would catch and fix during development phase. for errors that should be handled on runtime, yes they need to be somewhat dragged along, which I do not necessarily see as a bad thing, as it forces you to explicitly choose the corner-cases that might occur and need to be handled in runtime. this separation actually helps completely avoid using one big 'try/catch' that would blind you to 'bugs' that should not make it to runtime in the first place.

> \- The graph representation doesn't translate well into source control and > diff tools.

that is true as mentioned in the article as well. we've tried to make it really human-friendly, however we have plans for further tooling specifically on that front.

> \- If you need to fire an arbitrary number of parallel stuff at runtime, you > still need a "call this asynchronously" structure.

that is true unfortunately. personally I am still thinking on how to represent such dynamic branching within the graphs without causing more confusion. since this is also a corner case, we have kept it on the drawing board until a proper solution is found.

</comment></comment></comment></comment><comment><USER7> Yes, because XML is too old to us.

<comment><AUTHOR> and to be fair its a really redundant format. I mean I personally would prefer the current undesirable situation rather than doing XML-based coding all day.</comment></comment>


Godoc has been down for 8 hours - <AUTHOR> https://github.com/golang/gddo/issues/364 <comment><USER2> Remember you can run a local server with all your locally-installed packages and exactly the correct version of the core Go packages with:

        godoc -http=127.0.0.1:9000 &

(or local OS equivalent), which make them available at [http://localhost:9000](http://localhost:9000).

Godoc is more useful for the searching for packages you do not currently have than the docs themselves, because you ought to be running a local server. (I have noticed if you add new packages the server will need to be restarted, but it picks up on changes to existing packages as you change them.)</comment>


Reduced Pricing on Azure Storage - Price Matching Amazon Web Services - <AUTHOR> http://blogs.msdn.com/b/windowsazure/archive/2014/01/24/storage-price-match.aspx <comment><USER2> Azure prices are pretty high : 10 times more than digital ocean. Does anyone know why this discrepancy?

<comment><USER3> You get what you pay for.

<comment><USER4> Example: when you pay for an overpriced service, you get an overpriced service. That's _Causality 101_.

In other words, please elaborate and provide some facts!

</comment></comment></comment><comment><USER5> I've not tried Azure yet, but Digital Ocean we have been using for a few months. No complaints there.

</comment><comment><USER6> Being completly biased. I won't use Microsoft services in any way. Even if it was 10x cheaper.

</comment><comment><USER7> So instead of being very expensive and slow it's just expensive and slow?

</comment><comment><USER8> You will probably find you're paying for all the redundancy and backups.

</comment><comment><USER9> Now if only their networking and security models didn't blow...</comment>


The first Open Whisper Systems Spring Break Of Code - <AUTHOR> http://www.whispersystems.org/blog/spring-break-of-code/

<comment><AUTHOR> You know, a deal like that doesn't come along very often for _anyone_.

If you've put in the time and energy to develop the talent to qualify for this gig, you could have done worse.

That is all.</comment>


Posmetrics (YC W13) launches to help businesses collect better customer feedback - <AUTHOR> http://blog.ycombinator.com/posmetrics-yc-w13-launches-ipad-based-customer-feedback-solution-for-brick-and-mortar-businesses

<comment><USER2> This looks cool. Is it meant to on a dedicated iPad or in a Square-type POS flow?

Side note: NPS questions should be on a 10 point scale, and the actual NPS should be the % of promoters - % of detractors instead of a straight average.

<comment><USER3> It's meant to run on a dedicated iPad in a business. Yes, we calculate NPS from those questions as well as the average response, and use the NPS as the primary metric to compare between locations and track satisfaction over time.</comment></comment>


You Can Be Awesome at Hiring Developers - <AUTHOR> http://blog.obeautifulcode.com/Leadership/You-Can-Be-Awesome-At-Hiring-Developers-Part1/

<comment><USER2> Great post. I really enjoyed the "How would this job posting behave at a party?" metaphor.

Also, the point about the CTO (not HR) being the first touch point is huge.

> Contrast this to the frame that's created when your first round is with HR. > It's rare to meet someone in HR that has past experience writing code. > Although HR will be well-versed in the vocabulary of development, it's > difficult to trust their assessment of the situation because they attempt to > speak with authority about something they have never done.

<comment><AUTHOR> thank you!

</comment></comment><comment><USER3> Overuse of the word "Awesome" is a bad smell for a workplace.

</comment><comment><USER4> Are your job postings enough or how do you source candidates?

<comment><AUTHOR> I have found that job posting are enough. Of course, you should try to tap your network whenever you can, but in practice that will mean a much smaller pool of people who are both qualified and looking for a new position.

<comment><USER4> Also do you find different job postings work better for different networks? Github vs SO vs Glassdoor.

Which networks have you found most effective for finding good engineers?

<comment><AUTHOR> I love StackOverflow careers. They are expensive, but draw a quality crowd.</comment></comment></comment></comment>


Economist Raj Chetty has found a surprising tool to fight housing segregation - <AUTHOR> https://www.vox.com/future-perfect/2019/8/4/20726427/raj-chetty-segregation-moving-opportunity-seattle-experiment <comment><USER2> _> Hendren estimates that the lifetime benefit to a newborn child of moving from a low- to high-opportunity neighborhood is about $210,000 in additional income, or an 8.1 percent increase in lifetime earnings. Compare that to the $2,700 cost of counseling, and an additional $2,500 to $3,000 more per year per family that Section 8 paid due to higher rent in their new neighborhoods, and it looks like a pretty exceptional deal. The program doesn't quite pay for itself by increasing future tax revenue, Hendren says — but it comes pretty close._

This logic assumes that none of this benefit is positional. The family moves to a richer area, the kids do well in the fancy local schools, get into top colleges, make lots of money, etc, yes. But a lot of these opportunities look like "each year we take the best N people we can", so there are probably other (less qualified) kids who do slightly worse than they would without the move.

As an analogy, if being in the tallest 5% of society makes you earn $100k more, we would expect a randomized controlled trial on increasing children's heights to have a large positive effect on income. But if we then rolled that out to the whole society those benefits would turn out to be illusory.

This is still valuable from a perspective of reducing segregation and inequality, but I'm skeptical of its presentation as an extremely good deal economically.

<comment><USER3> This is a very zero-sum take on the project, where it's very possible that creating more diversity in the neighborhoods these families are moving to raises the level of education and outcomes for everyone involved. Making some people smarter doesn't require making others dumber.

<comment><USER4> > Making some people smarter doesn't require making others dumber.

On the other hand, it doesn't have to be a requirement to happen. Making some people smarter can actually have a negative effect on the smarter ones.

This can be illustrated with schools, where it benefits the troublemakers to be placed in a group with calm children, but it is on the expense of the calm children who will now be disrupted in their studying. In the scandinavian countries, this is often done to children. Troublemakers, most often boys, are placed together with groups of calm children, often girls. This is such a common practice that there is an expression for such girls - pillow girls, "kuddflickor".

[https://translate.google.se/translate?hl=sv&sl=auto&tl=en&u=...](https://translate.google.se/translate?hl=sv&sl=auto&tl=en&u=https%3A%2F%2Fwww.skolaochsamhalle.se%2Fflode%2Fskolpolitik%2Fgunnlaugur- magnusson-om-kuddflickor-och-inkluderingsprincipen%2F)

That said, isn't the Chetty proposal (moving from low-opportunity location to higer-opportunity location) basically why there are millions of migrants in Europe right now.

<comment><USER5> It may not be as straight forward as you seem to think it is.

Girls are generally expected to be better behaved. This can be extremely suffocating and unhealthy.

If they are exposed to "troublemaker" boys and learn to have a little back bone and stand up for themselves (to possibly oppressive adults), it's still less socially acceptable for a girl than for a boy. So then she blames the "troublemaker" boy to cover for herself because he will get in less trouble than her and that's what the adults find plausible anyway.

It's entirely possible that even if she tried to accept the blame, the adults would interpret that as her trying to be kind to him and cover for him.

<comment><USER6> The post is about Norway.

</comment></comment></comment></comment></comment><comment><USER7> Raj was on Ezra Klien's podcast recently discussing this topic.

Very much a similar discussion to this article, but they focus a bit more on the macro benefits. I felt like it was a really nice blend of political topics and data science. Raj seems to do a very good job of finding and conveying meaningful insights and statistics.

[https://player.fm/series/the-ezra-klein-show/can-raj- chetty-...](https://player.fm/series/the-ezra-klein-show/can-raj-chetty-save- the-american-dream)

<comment><USER8> I really cannot stand listening to Ezra Klein for more than 10 seconds but I enjoy Raj's work. Might have to slog through it.

</comment></comment><comment><USER9> There are many hyper-local issues like this where the real solution involves:

\- actually wanting the problem to get solved

\- finding out, at a very micro-level, how to solve it

\- deploying those seemingly unscalable resources towards solving the problem

I suspect it will be more challenging to roll this out in a wider pilot and then city/state/nationwide because of bullet point #1.

<comment><USER10> Indeed. My understanding is that most socio-economic housing segregation is deliberate (on the part of those that can afford it). The ethno-racial segregation is a byproduct. Potential allies of reforming the latter are de facto opposition due to the former.

<comment><USER11> Racial segregation in the US is at least partly a direct descendant of New Deal and postwar housing policy that mandated segregated housing projects. Segregation was a deliberate policy and a massive social engineering effort.

There is nothing natural about the current amount of segregation in the US.

<comment><USER12> Not a descendant. Redlining was explicitly part of the New Deal era's HOLC's mission. There's a great podcast on the topic from a couple years ago here: [https://castro.fm/episode/UxCiQp](https://castro.fm/episode/UxCiQp)

 _Segregation was a deliberate policy and a massive social engineering effort_

Yep you got that right for sure.

</comment></comment></comment></comment><comment><USER13> I'm absolutely in no way qualified to interpret results, but it seems like in Western Australia we've had a similar policy since the 1990s, where the WA Housing Authority put policy in place to ensure that no suburb had more than 1 in 9 houses dedicated to public/government housing.

[https://www.watoday.com.au/national/western-australia/the- su...](https://www.watoday.com.au/national/western-australia/the-suburbs- bearing-the-brunt-of-perth-s-public-housing-20190306-p5124q.html)

That said, there's been some notable kerfuffles when "rich" suburbs didn't want their allocation.

<comment><USER14> Over here in the ACT, we have an official policy of "salt and peppering", i.e. spreading public housing out evenly across the city including in wealthy areas.

Of course, whether the policy matches the reality... [https://www.abc.net.au/news/2019-05-15/canberra-public- housi...](https://www.abc.net.au/news/2019-05-15/canberra-public-housing- inner-city-reduction/11113346)

<comment><USER15> also, is it better to build public housing in expensive areas (which implies less housing for the same fixed budget), or build public housing at the lowest cost, maximal housing capacity (which implies going to lower cost areas).

<comment><USER16> In the United States, projects applying for Low Income Housing Tax Credits actually get a 30% _boost_ in their subsidy if they're in qualified low-income Census tracts.

</comment></comment></comment></comment><comment><USER5> _It's a relatively labor-intensive intervention.

But it worked.

It was a high-touch intervention, but one with amazing results._

Social issues need social solutions. Money may be needed to make it happen, but merely throwing money at the problem typically doesn't work. Tech can do a lot of good things, but tech solutions for social issues often fail.

People problems are generally solved by the right kind of human involvement.

 _The program doesn't quite pay for itself by increasing future tax revenue, Hendren says — but it comes pretty close._

I wonder how those figures look if you also include savings on future welfare programs and even incarceration.

<comment><USER17> Agreed. It's also why federal programs are so ineffective: how can you possibly try to administer a fair and effective high-touch social assistance program across 330 millions people across very diverse localities?

No, you need local programs that take into account local economic conditions, social situations, etc.

I'm a libertarian at the federal level, but I'm much more receptive to local government interventions and have voted for local tax increases when I live a place that seems to be well-run.

<comment><USER18> > I'm a libertarian at the federal level, but I'm much more receptive to local > government interventions and have voted for local tax increases when I live > a place that seems to be well-run.

That's an interesting take, but would you agree that it's often the places that aren't particularly well-run that also have the most need for interventions? What if federal programs were conceived as high-touch assistance programs for local government?

<comment><USER17> What form would that assistance take? Kicking bad politicians out? Rewriting bad laws? Investigating crimes, arresting and prosecuting criminals? Picking up the trash?

No, that would just eleminate the idea of a local government. The only thing they can really do is throw money around, or some glorified variation thereof.

Centralizing power is risky (a lot of things can go wrong), ineffective, and promotes division.

Imagine Congress deciding on one kind of car for everyone in the country -- people in manhattan don't want any car, people in the suburbs want a sedan, outdoor people want a truck, etc. It would be a huge argument dividing everyone in the country into factions and nobody would be happy. It sounds ridiculous, but that's what happens to a small extent with each new federal law that gives more power to the central government. And look what's happening.

</comment></comment></comment></comment><comment><USER19> It kinda sucks that the tone of this article ("you should have an objective of moving out of your not-so-great neighborhood to the rich neighborhood") is basically the position that we've ended up on for fighting disparities.

Maybe busing should become a thing again... get everyone motivated to fund _all_ schools properly and not just have dumb magnet schools

<comment><USER20> It's not just school funding. It's the classmates the child has in school, the extra curricular opportunities unrelated to school in the neighborhood, the lower incidence of crime (especially violent crime), lower levels of environmental pollution, safe places to play outside, and so on and so forth.

</comment></comment><comment><USER21> > And as is usually the case in the US, the racial divide is also an > opportunity divide.

> Living in certain neighborhoods seems to expand opportunity, and living in > other neighborhoods seems to diminish it.

What I don't get about these policies is that they do zero to actually address the problem and instead just shift things around.

If you have good neighborhood A and bad neighborhood B, taking a handful of people from B and relocating them to A does nothing to actually address the problems in B for those that remain in B. B continues to B bad.

The solution that should be pursued is how to make B as good as A. Once B is as good as A, people from B will naturally migrate to A and people from A will migrate to B. This is essentially what gentrification accomplishes. The problem with gentrification is that is pushes people in B out to some other bad neighborhood C.

It seems to me that this being the case, the ideal scenario is to figure out how to gentrify B without displacing those in B to C. What you want is good influences found in A to dilute the bad influences in B until the bad influences are extinguished.

</comment><comment><USER22> I live in north Seattle. There is a tremendous amount of misleading information in this article.

In fact, the neighborhoods mentioned as 'high opportunity' already have quite a lot of low-income, public, and section 8 housing. Yes, demand exceeds availability, but that's true anywhere in Seattle.

<comment><USER23> Wondering if you could go into greater detail about what you found misleading. I'm from Seattle and nothing really stood out to me that way.

</comment></comment><comment><USER24> Suggested title replacement: "Moving vouchers as an effective tool against poverty". Really interesting article and topic, but title is clickbaity.

</comment><comment><USER25> > Most American cities have a stark racial divide. In Seattle, the divide runs > north to south: North Seattle is largely white; South Seattle is largely > not.

Wouldn't this mean the divide runs east to west?

<comment><USER26> I know what you mean, but it's more of a gradient than a divide. Here's a regional ethnicity map:

[https://www.psrc.org/sites/default/files/race16.jpg](https://www.psrc.org/sites/default/files/race16.jpg)

<comment><USER25> Wow. I have trouble seeing how that could possibly be called a "stark racial divide".

<comment><USER27> This map might make it easier to see.

[http://demographics.virginia.edu/DotMap/](http://demographics.virginia.edu/DotMap/)

<comment><USER28> The is an amazing map, but like so many such maps as you zoom out you loose the dynamic range to capture the difference between populated countryside and city.

</comment></comment></comment></comment></comment><comment><USER29> Didn't Freakonomics tackle this subject and concluded that school doesn't make that much of a difference in results and it was more about each persons makeup?

</comment><comment><USER30> Our cities did not used to be so divided but this was the direct outcome of Roosevelt era polices which actually forced it. The FHA when created would not insure mortgages for blacks and went to far to finance new subdivisions for whites only - requiring that no blacks be allowed to buy. Legal unionization allowed exclusion of low skilled labor which effectively pushed nearly a half million out of jobs and thereby out of their homes.

Throw in how most New Deal recovery efforts were only aimed at states the Democratic party needed votes in and this lead to the exclusion for any funds to help poor blacks in the South.

The FHA created this mess and on purpose. It simply comes down to politicians constantly trying to focus the ire of the people on those who did not cause it so as to keep people divided and the situation perpetuated.

Want to fix housing segregation and outcomes, get politicians out

<comment><USER31> FHA policy had a lot to do with neighborhood segregation but we shouldn't ignore the role of community violence directed against black families trying to move into white neighborhoods either. Black owned houses in certain areas really did tend to burn down and that's a huge indictment of the people who lived there and the local governments who were unwilling or unable to do something about it. So while the federal government deserves blame there's plenty to go around.

</comment></comment><comment><USER32> Worth doing, but it only serves the deserving poor. What about the undeserving poor, which includes most of the druggies?

 _I 'm one of the undeserving poor, that's what I am. Now think what that means to a man. It means that he's up against middle-class morality for all of time. If there's anything going, and I puts in for a bit of it, it's always the same story: "you're undeserving, so you can't have it." But my needs is as great as the most deserving widows that ever got money out of six different charities in one week for the death of the same 'usband. I don't need less than a deserving man, I need more! I don't eat less 'earty than 'e does, and I drink, oh, a lot more._ \- From _My Fair Lady_ / _Pygmalion_.

<comment><USER33> Unless, they started doing drugs, or whatever else you consider immoral or that which deserves poverty, by choice from the day they were born, society failed to raise them as good humans.

</comment></comment><comment><USER34> You can fight the tide with the help of someone looking after you and helping keep you on the straight and narrow. Parenting and life at home have a far greater influence on a child's future than the neighborhood does. The real opportunity zone is the one under the roof.

</comment><comment><USER35> > the housing navigators worked with landlords to expedite inspections and > generally try to cut through red tape that might make landlords not want to > deal with Section 8

So, the key to getting people to move, is to get the landlords to allow it. Surprising tool they call it?

</comment><comment><USER36> When I read the title, I was thinking there is another tool. That tool might be homelessness. The homeless do not care after all whether they sleep in a posh uptown or a run down ghetto. If there are enough of them opportunity levels would surely equalize as median income of inhabitants averages out to zero.

</comment><comment> consultant-hole I'm going to sound like an asshole, but part of the reason to pay 750k+ for a basic home is so that your family lives in a neighborhood with families of a similar socioeconomic background... what is the benefit of integrating housing to the people paying a premium for the privilege of living in an exclusive neighborhood?

<comment><USER37> Who knows or cares? Overcoming the opposition of wealthy, cloistered local elites is an important political problem, but the specific nature of their opposition isn't relevant to the policy issue or the public interest.

<comment><USER25> You don't often see the argument that understanding the nature of opposition to something isn't relevant to overcoming that opposition.

<comment><USER37> It's relevant to the political problem of defeating their opposition, sure, but not relevant to the merits of the policy.

It's also fairly obvious - rich people think they're better humans than poor people and don't want to live near them. Not worthy of much hand-wringing or fretting in my opinion.

<comment><USER25> > It's relevant to the political problem of defeating their opposition, sure, > but not relevant to the merits of the policy.

This seems... unlikely.

</comment></comment></comment></comment></comment><comment><USER38> >This time around, they linked the experiment to tax records and concluded that people whom MTO had placed in lower-poverty neighborhoods really were likelier to go to college and had higher average earnings than kids who didn't move.

Doesn't seem terribly surprising. The cultural atmosphere pervading low-income areas is not conducive to academic and financial achievement. Children who see strangers walking down the street at night are not going to have the same attitude towards school and behavior in general as children who see neighbors walking dogs in the morning. Garbage in, garbage out. ANY kid is capable of doing great when they're not surrounded by shit-heads.

<comment><USER39> > Children who see strangers walking down the street at night are not going to > have the same attitude towards school and behavior in general as children > who see neighbors walking dogs in the morning.

I'm fascinated by this view, and it's the first time I've ever heard it. Can you elaborate as to what you think the connection between seeing strangers outside and educational drive is?

<comment><USER38> I don't believe I implied strongly enough that said mention of strangers referred to suspicious or dangerous-seeming persons.

<comment><USER39> Ah yea, that's sort of where I was expecting your comment to go, but as written, it just seemed like an indictment of exposure to people you don't know. Thanks for clarifying.</comment></comment></comment></comment>


Apple store workers should be paid for time waiting to be searched, court rules - <AUTHOR> https://www.latimes.com/california/story/2020-02-13/apple-workers-paid-for-searches <comment><USER2> > Employees are supposed to find a manager or security officer to do the > searches after they clock out. Employees estimate that waiting for and > undergoing the searches can take five to 20 minutes, or, on busiest days, up > to 45 minutes.

This also seems to be their process for picking up orders at the store. It's pure chaos, and I find it at least somewhat amusing that at least Apple treats their employees and customers identically.

<comment><USER3> Does Apple really have a "process" for picking items up? I ordered a maxed out iMac Pro for around $15,000 and waited nearly a month for it to finally arrive at the store. I got a voice mail and an email instructing me to come pick it up. Only upon driving all the way to the store was I finally informed in person that they "accidentally" gave my iMac Pro to the wrong customer an hour ago who had merely ordered a base model iMac. Their solution was to reorder mine and I'd need to wait yet another month to get it. I don't really see how it's possible to hand an online order to the wrong customer. The customer name is in large bold text on the barcode sticker on the box that they scan before completing the sale. The employees weren't able to explain how it happened. They didn't even try to articulate a process by which they would discover who was responsible. Just told me they were totes sorry and stuff.

They went to great lengths to avoid any communication about the theft taking place through Apple's systems. They intentionally made me waste my time to come in person before telling me what would happen next.

I believe an Apple Store employee knew what orders were coming to the store and he wanted mine for himself, so he conspired with his friend to come pick it up for the price of a base model iMac.

I was recently interested in buying a maxed out Mac Pro for 50k+ but this experience has frightened me into avoiding expensive custom orders from Apple. Furthermore I don't want to risk some rogue employee's goons taking it to the next level by physically attacking me and robbing me on the way to my car. I'm probably not going to order a Mac Pro until I can find bodyguards to hire to escort me from the store through the shopping center and to my car. Which means I'll probably never order a Mac Pro. None of this is sarcasm or hyperbole.

Are you listening, Tim? Probably not.

<comment><USER2> In the minds of the corporate workers that came up with the Apple Store Brand Story, every Apple Store employee is your best friend and will jump at the opportunity to assist you, Apple's most loyal customer, with anything you need. So of course they're not going to make you wait in line like the PC Guy from those ads from 10 years ago would; they will be waiting for you when you walk in, just like Hachikō waited each night for his owner at Shibuya station. For nine years after he died.

Over in the real world, the employees have spent 10 hours of their 12 hour shift explaining to the world's least-technically-adept people how to activate their Verizon service with 4 prepaid debit cards and a ripped $20 bill. Sixty times. While being yelled at. So... they might accidentally not notice you if you just come in and don't aggressively try to attract their attention. I do not blame them.

<comment><USER4> >ripped $20 bill

This is a hilarious problem to anyone who has been using polymer bills for nearly a decade.

<comment><USER5> Um, polymer bills rip too.

<comment><USER4> only if they're cut. In practice I can tell you how many ripped bills I've dealt with since we've had them. 0.

<comment><USER6> The plastic money introduced in the UK can rip.

Once it has a small tear, it very easily tears the rest of the way.

Once it is folded it never goes flat again.

They also feel really cheap.

<comment><USER7> > They also feel really cheap.

I thought that at first.

Now the old ones feel really cheap to me. I guess you just get used to it

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> Good.

If the company makes you do something, it's work.

<comment><USER9> I only wish this would carry to non-California locations and to the service industry in general - when I worked as a waiter in a Rocky Mountain West state, after ending a shift we were not allowed to leave the premises until rolling exactly 100 sets of silverware. If no silverware was available, we would also have to run them through the dishwasher 2-3 times. We additionally had to perform two other "closing" tasks (e.g. restocking a particular mini- fridge, wiping down floor). This is pretty standard in the restaurant industry - the only problem is that in this state, servers are paid $2.15/hour, with the assumption that they'll make the rest up to minimum wage by serving tables.

Anyway, some nights it would take me 1.5-2 hours to leave (not atypical), and I would get a whopping $4 of pay for that time.

<comment><USER10> That sounds more like an issue with the tips system. It's one fo the worst things about visiting the USA, combined with taxes not being in the price that is.

</comment></comment></comment><comment><USER11> As a thought experiment, what if companies are made to pay for commute time? How would that change the labour market? Would they hire local? Provide better transportation? Work with cities to reduce congestion? Encourage more remote work? Decide it's too expensive to hire workers and cut hours? Work towards more inclusive housing?

<comment><USER12> That is way unfair to the company, when you will have certain people who are 'happy' to travel 1.5 hours each way. This seems insane to me, but there are plenty of people who do this and see no issue at all.

How would a company hire local anyway, by rejecting candidates who live to far away? What if they promise to move, but don't end up doing it?

> Work with cities to reduce congestion?

The only real working way to do that is to ask them to introduce a congestion charge, which I am all for.

<comment><USER13> In France this problem is solved by the company compensating for 50% of the commute. Turns out not many people are "happy" about a 3-hour daily commute.

<comment><USER14> I believe that's only if you use public transport through the Pass Navigo. I'm not sure individual tickets are reimbursed, and I'm pretty sure gas isn't either.

But getting 50% off of your Navigo, which is a monthly pass allowing you unlimited use of Paris and greater Paris public transports. Which is about 75 euros. So when your are subsidised by your company with respect to public transport, you have unlimited access to all public transport in and around Paris for 38 euros. Which is nuts because the Parisian public transport network is crazy (metros, trams, buses, transiliens, RERs).

<comment><USER15> you can get individual tickets reimbursed too, my mom is working part-time around Paris and she keeps her used tickets as a proof of payement.

When I was working as a consultant at Alten, in theory my gas could have been reimbursed (based on distance travelled and car horsepower), but I never tried since I used public transport during all my time there.

</comment></comment></comment></comment></comment><comment><USER16> Isn't this at odds with the ruling in Amazon's favor about a similar issue?

[https://www.washingtonpost.com/politics/courts_law/supreme-c...](https://www.washingtonpost.com/politics/courts_law/supreme- court-rules-amazon-doesnt-have-to-pay-for-after-hours-time-in-security- lines/2014/12/09/05c67c0c-7fb9-11e4-81fd-8c4814dfa9d7_story.html)

<comment><USER17> No, not necessarily. Pretty narrow ruling. It depends on the facts of the cases.

<comment><USER18> The facts look quite similar to me. I think the difference is law. The Amazon case was based on U.S. law and the Apple case on California law. In the Amazon case, the ruling said "These arguments are properly presented to the employer at the bargaining table, see 29 U. S. C. §254(b)(1), not to a court in an FLSA claim."

EDIT: There's a thread about this farther down: [https://news.ycombinator.com/item?id=22322608](https://news.ycombinator.com/item?id=22322608)

</comment></comment></comment><comment><USER19> "A federal district court judge ruled in favor of Apple, deciding that workers had to prove they not only were restrained from leaving but that there was no way to avoid having personal items searched."

So workers that would not have a personal bag would avoid a search? You can take away stuff from the store by hiding it in your clothes, I guess unless you're working naked. How would anyone be able to avoid the search?

Am I missing something?

<comment><USER20> There are some really terrible Federal judges. And they can be there until they die of old age.

</comment></comment><comment><USER21> This reminds me of when I worked at a casino. I had to sign in my keys at the end of the night. My supervisor had the lock box keys and they got those keys from a Security officer. The supervisor was usually in the poker pit and couldn't leave. Other supervisors would be standing around talking about football and ignore me. I just stood there and waited making overtime while talking to the girls at the bar. The manger was so inept she couldn't get her staff to find five minutes to sign me out.

Some business seem to see your time at work as being your normal state of being and your own personal time as "unwork". I go to work for eight hours for the money trading my time for your money. The other 75% of my time is mine it's not unworking it's normal personal life.

</comment><comment><USER22> Seems like Apple was probably selected for the class action suit due to being a prominent and hugely wealthy company (just like Google and Amazon with respective labor related activities targeting them). And that was a good strategy, because here we are discussing it.

As a society with high and growing inequality the US is structured in a way that incentivizes retail theft, so the frequency of this kind of theft isn't going down anytime soon.

The question is who should bear the cost of it.

This has always been framed as an issue of immorality of retail workers, so the cost has borne by them in the form of lost time/wages or maltreatment by police or security services. This is of course a false and incomplete framing, because it's arguably more immoral for a company to steal time / wages from all workers in this case when the product theft is only committed by a few.

What is the loss due to theft of a smartphone vs. the cost to the worker who will now double pay in lost wages and the time for extra child care caused by the delay in leaving work?

Framed economically instead it's just the cost of doing business in our society, just as with credit card fraud.

Going forward, it looks like it will be borne by the retailers and ultimately, their customers, which is far better than it being borne by workers.

<comment><USER23> This isn't new though. In the late 90's I worked for Best Buy and somewhere in early 2k's I got a check for $1500 to compensate for hours lost due to these kinds of loss prevention processes. I'm surprised it took this long for this to happen.

</comment></comment><comment><USER24> This is how you undermine employee loyalty to the point where they start stealing.

<comment><USER25> Exactly this. I don't live in North America so perhaps there's different expectations there, but I'd be more worried about staff cohesion and loyalty than of occasional thefts.

How should any employee take a company's concern about theft seriously when the same company is so brazenly committing theft of an employee's time?

<comment><USER26> I have completely given up trying to understand the mentality that surrounds work in the US (At least service work).

</comment></comment></comment><comment><USER27> The whole concept of searching your employees after their shift just pisses me off.

Just install security cameras and track your inventory. If your inventory is off, check the security footage. This isn't rocket science.

<comment><USER28> The morale destruction must be enormous, being treated like a potential criminal at the end of each workday. Seems like a tech company should have a tech solution to this.

</comment></comment><comment><USER29> Why can't they just keep proper inventory and reduce their lost inventory liability with basic tracking and analytics? If high value goods go missing during a particular shift at a particular store THEN you increase security at that one store or ideally track which employee took the goods and make an example of them by taking them to civil court since the average Apple product is much more then petty theft...

</comment><comment><USER30> Is this common in the US? (retail workers being searched)

<comment><USER31> I don't know about in the US, but in Canada, I used to work at Forever 21—a California-based retail chain—and you are required to go through a pat-down right before you leave the store.

You'd have to look for a manager, and ask them to escort you to the front of the store, and have them pat you down.

<comment><USER32> That's surprising, if only because I'm not sure how you could steal more than $10 worth of stuff without a full garbage bag.

Didn't seem to help them. They filed for bankruptcy.

<comment><USER33> _> if only because I'm not sure how you could steal more than $10 worth of stuff without a full garbage bag._

People who have an idea how to do it, please don't write it here, as it can lead to worsening of the situation for store workers.

<comment><USER34> Your regular honest worker is better off, when dishonest coworkers won't steal.

<comment><USER33> I meant worsening of the situation for workers because of increase in security buffonata as a probable reaction to such revelations.

</comment></comment></comment></comment></comment></comment><comment><USER35> If being searched is a task required by your employer, I don't see how that's any different than time spent doing any other task.

This also seems like a good way to align incentives. If time spent on security is compensated time, then there is a baked-in need to make the process less onerous.

</comment><comment><USER36> This is how trillion dollar companies earning billions per year treat their employees. Disgusting. Why not tag devices that cannot leave the store using the same tags retailers use to prevent shoplifting?

<comment><USER37> EAS tags are notoriously simple to bypass for insiders.

<comment><USER38> Apple could easily mark serial numbers of store devices and make sure they can't work anywhere outside the range of store wifi.

<comment><USER39> They would simply disable the tags before leaving, like they do for items that customers have purchased.

</comment></comment></comment></comment><comment><USER40> Really... Apple makes huge margins, and they can't afford to pay for the time they require their employees to work?

Also, the fact that this is even possible is a very good example why the US needs more unions. It obviously doesn't work with the current model where employees (of any industry) gets screwed over by the corporate overlords. But no, union BAD!! I don't see a better way to bring weight to the table and force employers to do the right thing, they certainly won't do it of their own accord.

<comment><USER41> Exectly. With Apples great resources comes great responsibility. They have no excuse for not treating their employees with respect.

</comment></comment><comment><USER42> Good lord. Why fight this? This is the obvious right thing to do. If it amounts to significant impact on costs, then they have failed to run their store's operations well. Sheesh.

<comment> t-writescode Money

</comment></comment><comment><USER43> Good. The search is exclusively for the businesses benefit. The employee should be compensated for their time wasted. If they come in at 8 they should get paid from 8 on.

Otherwise it is simply theft from the employee

</comment><comment><USER44> I really didn't think Apple would ever get into search.

<comment><USER45> made me smile

</comment></comment><comment><USER46> Why would Apple even waste their time arguing this? They're obviously wrong: change the policy and move on

<comment><USER47> You don't get to be the richest company in the world by paying your workers well.

<comment><USER34> Google and Microsoft are doing pretty well.

<comment><USER47> Neither of them are the richest companies in the world.

<comment><USER34> Exactly who is on top depends on how you define that.

Judging by eg Enterprise Value is a reasonable way.

But also, you need to specify what you mean by 'company': lots of companies are actually made up of lots of partially or fully owned subsidiaries. There's no monolithic Apple or Google.

Lots of the details of that structure depend on responses to tax incentives.

See [https://www.forbes.com/sites/alapshah/2018/08/02/apple- hits-...](https://www.forbes.com/sites/alapshah/2018/08/02/apple- hits-1-trillion-but-its-still-not-the-most-valuable-company-in-the- world/#2c838ce02175) for some attempt.

Instead of looking at total value, you could also look at something like profit per employee or revenue per employee. But that's also not quite so clear cut.

</comment></comment></comment></comment></comment><comment><USER48> So will they be forced to pay backpay to all the employees Apple stole from up to this point? It's unclear if retroactively enforced means backpay, but it should.

<comment><USER38> Would it be pay at the hourly contracted rate, or pay to meet minimum wage when the extra hours are considered?

<comment><USER48> Why would it be anything but the hourly contracted rate agreed in the employment contract? Anything else is a breach of contract just like not being paid at all is a breach of contract (which is also illegal but unenforced).

What should happen is a penalty for the CEO. I'd like to see Cook spend a few weeks in jail, incommunicado because I'm sure this was done at his direction. The government will never do anything to hurt such a company's bottom line in a significant way, however. If a regular person steals fifty cents worth of merchandise from the Apple store all hell will rain down upon him, but if Cook steals millions from his employees, he's a great CEO.

</comment></comment></comment><comment><USER49> Note this is in California. At the US, level, 5 years ago, the Supreme Court ruled that Amazon did not have to pay its workers for the time spent waiting for screening.

Excerpt from the NY Times article about that decision:

WASHINGTON — The Supreme Court on Tuesday ruled unanimously that a temp agency was not required to pay workers at Amazon warehouses for the time they spent waiting to go through a security screening at the end of the day. The workers say the process, meant to prevent theft, can take as long as 25 minutes.

NY Times article: [https://www.nytimes.com/2014/12/10/business/supreme-court- ru...](https://www.nytimes.com/2014/12/10/business/supreme-court-rules- against-worker-pay-for-security-screenings.html)

Non-paywalled version of above article [http://archive.is/Az21a](http://archive.is/Az21a)

EDIT: Added excerpt from the article about the US Supreme Court decision.

<comment><USER50> more context

>…The U.S. 9th Circuit Court of Appeals, where the case is now pending, asked the California Supreme Court to clarify whether state law requires compensation.

…

>A federal district court judge ruled in favor of Apple, deciding that workers had to prove they not only were restrained from leaving but that there was no way to avoid having personal items searched.

>Apple said it could prohibit employees from bringing any bags or personal Apple devices into its stores altogether but gave them that benefit. The California Supreme Court said a ban on any personal items would be "draconian."

<comment><USER51> > Apple said it could prohibit employees from bringing any bags or personal > Apple devices into its stores altogether but gave them that benefit.

What if you have asthma and need to keep an inhaler? Or one of the numerous other medical conditions that also necessitate keeping an item on hand.

<comment><USER52> The ADA obviously requires them to make accommodations.

<comment><USER51> Yeah, so what I was wondering is, if you have asthma do you get paid for the time you spend waiting to be searched?

<comment><USER52> They're going to search your inhaler?

<comment><USER51> You'll need to bring the inhaler in a bag of some kind, which Apple will want to search.

<comment><USER52> You could put it in a pocket.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER53> This is horrible. They weren't working. They were just being effectively imprisoned with the threat of losing their jobs.

They shouldn't be paid for that.

/s

</comment><comment><USER54> Yes. Yes, they should. The fact that this went to court is outrageous.

</comment><comment><USER55> Omg, I still can't believe that was in any doubt.

If you are required to be at work, then you should be paid for that time. Just because you aren't "working" does change that the business is requiring you to be there.

If nothing else this should push them to make leaving work not take 20- _45_ minutes.

WTF. How does anyone think it's acceptable to [funcitonally] detain people.

<comment><USER56> >How does anyone think it's acceptable to [funcitonally] detain people

From the business perspective, provided they can get a way with it, it is just another business decision, namely reducing cost and increasing profit. I would do the same.

<comment><USER57> Alternatively, you could treat people like people and give them an actual measure of respect instead of stealing time and money from them.

But, frankly, literally every time without exception that I remember seeing you post, it's been a variation on the theme of "of course they shouldn't be decent, why should they, I shouldn't have to be decent either", so I'm going to pass on being surprised.

<comment><USER56> >Alternatively, you could treat people like people and give them an actual measure of respect instead of stealing time and money from them

Thats depends on what one value, if you think treat people like people is important then yes you should do it but if one value profit then doing what apple did make sense.

<comment><USER20> Would you be unhappy if someone stole money from your bank account? Because you're condoning theft. It's not clever business practices, it's theft.

<comment><USER56> >Would you be unhappy if someone stole money from your bank account?

If I'm the one being stolen, of course but not if I'm the one who stole (again provided I will not be in trouble).

Provided they won't get in trouble, how is it not a clever business practice?

<comment><USER57> Because we have obligations to each other because we live in a society?

Because it's fucking _wrong to do it_?

<comment><USER56> Not everyone is agree with that. If everyone did that we wouldn't need police.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER58> This also says they search their personal iPhones. What exactly are they searching for that someone could steal?

Do they just mean checking serial# or something to make sure someone didn't swap their phone for a new phone?

Or are they actually searching/examining the contents of the phone?

<comment><USER20> Just that is their iPhone and not a brand new one from the store.

<comment><USER59> That sounds to me like Apple retail employees need to start blatantly using Android phones.

</comment></comment></comment><comment><USER60> What exactly is meant by having their personal Apple devices searched?

Searching a backpack for stolen hardware seems somewhat reasonable (although it doesn't reflect well on their hiring standards) but what right does Apple, champion of privacy, have to search through their employees devices?

<comment><USER61> Note that it says "personal Apple devices", not smartphones or laptops in general. I think what is probably meant is that they check whether someone for example swapped their old iPhone with a new one from the shop's inventory (maybe by checking serial number, etc.).

</comment></comment><comment><USER62> This is fair enough. You're still on the clock if you need security to sign you off to leave.

</comment><comment><USER63> Yeah, this ruling makes sense. They should be on the clock until they are allowed to walk out of the store.

</comment><comment><USER64> Never had any issues waiting at an apple store. I was thinking to myself while reading this wow people's experience is way more negative than my own. But it makes sense, if you have good but not extraordinary service you are unlikely to leave a comment. Most comments will come from those having poor service.

Good ruling, pay the employees if you make them wait.

</comment><comment><USER65> I thought this kind of thing was settled law long ago. Good that court agrees.

</comment><comment><USER66> >The court's decision is retroactive.

This seems like a pandora's box. If the employees are already off the clock to endure this delay for the searches, how will they be able to show how much time was lost in a way that would be worthy of a payment?

<comment><USER67> They can ballpark it. Round up if necessary.

</comment></comment><comment><USER25> I wonder, do these security guards get searched at the end of _their_ shifts?

</comment><comment><USER68> Seriously?!? When I worked at Apple Retail it took all of 10 seconds for the security search. This was at one of the busiest stores in the nation and during the booming period of the iPhone 3/4.

EDIT: Y'all are completely smokin me with these downvotes. I am not against this decision, I am just surprised that the issue grew to be this severe.

<comment><AUTHOR> I'd wager to bet that Apple's inventory is much more diverse and smaller (in physical size) compared to the iphone 3 days. I don't remember Apple having as many SKUs as they do now that are expensive and highly-wanted and very small, e.g. Apple Watch and Airpods.

<comment><USER68> Apple has always had a metric ton of accessories ... so I would posit their SKU count is actually not that different than before. Technology is also greatly improved -- runner is accessible via an iPhone/iPad and that is also integrated with payments and whatnot. Previously it was a hodge podge of Windows CE devices.

I would imagine store operations are vastly more efficient than they were when I worked there -- so I am more surprised that this got worse rather than better.</comment></comment></comment>


The World's Most Idiotic Copyright Complaint - <AUTHOR> http://torrentfreak.com/the-worlds-most-idiotic-copyright-complaint-150222/

<comment><USER2> If I wanted to kill the DMCA (or at least how it's currently handled) this is how I'd do it.

</comment><comment><USER3> This works perfectly for Google censorship; they can take down anyone and then point to the ridiculous list to wash their hands.</comment>


Show HN: 3D iOS Map alternative for SF - <AUTHOR> http://blog.recce.at/post/32746871967/hello-san-francisco

<comment><AUTHOR> We've just released our Recce app for San Francisco - a 3D mapping app that looks more like SimCity than Google Earth. We're aiming to bring maps to life, with real-time, personalized data.

We are very early in our journey, and working on some great new features to take advantage of this great visual platform, and allow real personalization and contribution to the map. But in the meantime, and feedback welcomed!

<comment><USER2> I'd have liked to have seen sfmoma look more like it does. I think the app is really fun and "mapping" is a hot area right now with lots of room for different approaches.</comment></comment>


A Stochastic Model for Picking Winners in the NCAA Tournament - <AUTHOR> http://rwwb.wordpress.com/2010/03/17/a-stochastic-model-for-picking-winners-in-the-ncaa-tournament/

<comment><USER2> For people interested in this kind of analysis I recommend Mathletics by Wayne Winston. He's written a blog and a book about similar subjects.

The book itself is approachable with a basic knowledge of mathematics, probability, and statistics. It provides a good introduction to things like Sabermetrics (for baseball), and applications to the NBA and the NFL.

</comment><comment><USER3> "In real life the probability of one team beating another team is independent of what happened in the past."

This sentence seems under-specified, but no matter how I slice it, it's not true. In sports, past performance _is_ indicative of future results. Even in college you'll have correlations brought on by relatively stable (across decades in many cases) coaching staffs. The correlation isn't anywhere near perfect, but it isn't 0 either.

(In your statistics courses, everything is independent for your computational convenience. In the real world rather a lot of things are _not_ independent.)

Consider what it would mean for past performance to say nothing about future results. It doesn't match reality.

</comment><comment><USER4> I've wasted a lot of time on this kind of analysis for picking brackets. I estimated that the odds of a person picking a perfect bracket are 1 in 924 trillion: [http://www.codeswimming.com/blog/2008/03/the-perfect-ncaa- br...](http://www.codeswimming.com/blog/2008/03/the-perfect-ncaa-bracket/)

If you want a shortcut to estimate win probability instead of looking it up in a chart:

Prob Team 1 winning = Rank Team 2 / (Rank Team 1 + Rank Team 2)

That formula only breaks down at 1 vs. 16 and 1 vs. 2.

It's fun to postulate, but it won't really help in picking your bracket. What I do is look for teams highly rated by Sagarin or kenpom, but underrated by seeding. I have Wisconsin winning the whole thing in my bracket. You've gotta maximize the probability of occurance while also minimizing redundant picks with the rest of the pool. However, I've never done especially well in practice and regularly get beat by people who choose by jersey color. It's still fun though.

</comment><comment><USER5> Some of the stats are kind of self-explanatory.

For example, "#8 seeds often upset higher ranked teams. In the four match-ups against #2 teams, #8 teams won twice. They have also beaten #4 and #5 seeds more often than they lost to them."

For an 8 to play a 2 (or 4, or 5) they'd have to have already beaten a 1. That's a pretty good 8. The typical 8 will have already lost to a 9 or 1.

Personally, I love Ken Pomeroy's rankings / predictive model (kenpom.com). It breaks games down into possessions and then builds a statistical model of each team from that. The predictions seem pretty accurate by the time February rolls around.

Of course, the biggest caveat of this kind of model is that it doesn't take into account extraordinary events. For example, a player gets injured or comes back from a suspension.

<comment><USER6> Does Pomeroy's beat Vegas odds? Has any model beaten vegas odds?

</comment></comment><comment><USER7> Not just critiquing this particular model, but at least a couple things that need to be improved upon in game prediction:

1\. Need to take into account playing styles of the teams along with their seed. (eg. how do teams that rely on 3pt shots fare vs. teams that play very physical defense, and all other permutations)

2\. As Locke pointed out, extraordinary events play a large part in games. There was an article in the NY Times on stat analysis where a team official (may have been Houston Rockets' Daryl Morey) lamented a lucky shot-clock- beating 3-pointer by the opposing team, saying those kind of instances significantly alter the game. It'd be interesting to see if some teams are better at creating these lucky instances, or if they're strictly random

<comment><USER8> That would be this great magazine piece [http://www.nytimes.com/2009/02/15/magazine/15Battier-t.html?...](http://www.nytimes.com/2009/02/15/magazine/15Battier-t.html?pagewanted=all) written by Michael Lewis.

If you're looking for the quote about the three it is at the end of the article, and is made more interesting by the context of the 'lucky' shot. Briefly - Kobe misses 86.3% of long 3 pointers heaved up in the final seconds of games. The Rockets knew this. Quoting now: 'It was a shot Battier could live with, even if it turned out to be good. Battier looked back to see the ball drop through the basket and hit the floor. In that brief moment he was the picture of detachment, less a party to a traffic accident than a curious passer-by. And then he laughed. The process had gone just as he hoped. The outcome he never could control.'

<comment><USER9> Absolutely great article.</comment></comment></comment>


Ask HN: What software/service helps you be an effective remote developer? - <AUTHOR> <comment><USER2> I use the combination of OBS, ffmpeg, and YouTube to share knowledge asynchronously with teammates.

Whenever I need to document a particularly complex task or procedure, I record a 10 mins screencast and explain the process + show the steps. Any screen capture tool would do, but I find OBS to be very good and versatile [https://obsproject.com/](https://obsproject.com/)

But who wants to watch a 10 min video, with slow sections, typing and "ummm" pauses? Why not compress the information into 6.66min instead? Using the following command will speedup the video as if the user is watching at 1.33x:

        ffmpeg -i "$1"  -filter_complex "[0:v]setpts=0.6666666666666*PTS[v];[0:a]atempo=1.5[a]" -map "[v]" -map "[a]" "tmp-$1"
        # Delay audio of $1 by 60ms to fix discrepancy caused by above step
        ffmpeg -i "tmp-$1" -itsoffset 0.06 -i "tmp-$1" -map "0:0" -map "1:1" -acodec copy -vcodec copy  "faster-$1"
        rm "tmp-$1"  # cleanup tmp file

After that I upload the video to youtube as "unlisted" and share the link so my teammates can check the video whenever they have time. It's as effective a communication medium as having a meeting, but communication is async. Example use cases: git rebase tutorials, documenting devops procedures, code walkthroughs. (edited to provide also the command to fix 60ms delay)

<comment><USER3> On the subject of "ums" \- does anyone know if there's a tool out there to automatically remove ums and uhs from spoken audio?

Seems like it'd be a useful and comparatively doable problem to solve.

<comment><USER4> Like @ndh2 has stated, train yourself to not do it. Otherwise, your spoken audio files will be fine, but your conversations in team meetings over webex or conference calls will still have it, and it would be annoying everyone else (if it's a lot) and you wouldn't know about it because no-one is going to tell you.

Also, if you start to edit the ums out, you will quickly get tired of wasting time on doing this, and would train yourself to not do it yourself. I went through this exercise after recording youtube screencasts that are 5 to 10 mins long, and wasting about 30 minutes editing out my ums and ahems.

<comment><USER3> This is good advice, but one question: why is the default assumption here that I'm the only person I ever record?

I'm pretty good at not um-ing too frequently (20 years of public speaking will do that), but I can't exactly require all my guests for podcasts or interviews, for example, first rigorously train themselves for months!

<comment><USER4> > why is the default assumption here that I'm the only person I ever record?

Because your question was in response to OPs statement regarding screenrecording, and in that, OP is talking about video and audio for recordings he/she does, not of group meetings.

> Whenever I need to document a particularly complex task or procedure, I > record a 10 mins screencast and explain the process + show the steps

Source: OP.

</comment></comment></comment></comment></comment><comment><USER5> Sure! A few of them:

1\. Dropbox Paper for easy note-sharing. We've got a ton of docs we share, update, and constantly reference to

2\. Appear.in - [https://appear.in/](https://appear.in/) \- probably the best team conference software we've used. We compared it to Slack, Skype, Hangouts (which is horrible), and a few others. Appear.in always won out, plus we can use it with contractors/clients without the need of an account. Works really well from the phone, too.

3\. Org Mode - a recent addition, we've been using org mode to plan out dev sprints and story out features before putting them into PM software

4\. Slack - self-explanatory

<comment><USER6> How is Dropbox Paper better than Google Docs?

<comment><USER7> Imagine if you could format Google Docs using markdown, including code fences with syntax highlighting built right in.

Paper does that.

I've been using Paper for months and it feels old and stodgy now when I open a Google Docs.

</comment></comment></comment><comment><USER8> Decent audio -- far more important than video.

Your rapport goes up 10x. You can not just discuss but also talk over the top of each other in the way that is naturally part of conversation; and even argue.

We develop a system originally for broadcasters and audio engineers to transfer live audio: [http://cleanfeed.net/](http://cleanfeed.net/)

It's a niche but interestingly more and more developers seem to be using it for audio quality -- and of course, we use it to develop it.

Whereas regular conferencing systems don't give good performance as they are focused either on video, or trying to process bad audio into good.

With proper hardware and software you can eliminates the stop-start feeling in conversations.

<comment><USER9> Cleanfeed looked interesting until it got to "Chrome only".¹ I'm curious: is there anything _actually_ Chrome-specific in it at present, or is it just about focus? (A mistake, in my opinion, unless it's depending on something only available in Chrome at present, but I acknowledge the validity of the argument.)

\---

 _¹ OK, so it still looks interesting, I'm just turned off by that as a long- time Firefox user—and most of the people I work with are Firefox users also._

<comment><USER8> It's both.

When we started Firefox didn't have the level of functionality that we needed; it wasn't even possible to capture stereo audio, for example. Even today we're reliant on Chrome functionality that either isn't in the standards, or is undocumented.

That has been changing over time, and periodically we go through the codebase and re-align it with what's going on in Firefox or the standards as best as possible. You may even find you can close the warning and try and use it anyway. I'm also a long term Firefox user, and a proponent of a multi-browser world (I only started using Chrome to develop and use Cleanfeed!)

Cleanfeed began as a tool used to produce live radio; focusing on Chrome is a practical way to keep the bug footprint lower. That's important when things like the audio handling can be 'within spec' but just not performing very well. Things get more interesting with the peer-to-peer nature too, everything blows up in possibilities when you start trying to get Chrome to peer with Firefox and so on -- not just supporting each browser version, but combinations of them.

So I think we're justified as we sit on the bleeding edge a little, but also try and keep an eye on browser developments too, especially important if Cleanfeed finds uses in other areas. I'm happy when I hear people do care about Firefox (and other browsers) so the right thing is to let us know.

<comment><USER9> Yeah, the audio input world isn't at all great on the web. Nor is the output world, for that matter. I wish Mozilla's Audio Data API had won, it's _so_ much more sensible as a foundation than the Web Audio API.

</comment></comment></comment></comment><comment><USER10> Been doing remote development for past 5 years. These are some of the super useful tools i use.

# needtomeet.com - for scheduling meeting.

# Screenhero - for collaborative screen sharing.

# Monosnap - for screenshot and annotate.

# Google doc - for collaboration.

# Zoho - for project management. They have a suite of apps so it's easy to integrate.

# Google wiki - for documentation.

# Rundeck - for automation. Will save lot of your time.

# Slack, Skype and Whatsapp - for communication.

# Secretserver - for credentials sharing.

# Autossh - for always connected ssh session.

# Tmux - for collaborative debugging.

# Dropbox - for file sharing.

# F.lux - remote developers spend more time staring at the screen so take care of the eye strain.

<comment><USER11> > remote developers spend more time staring at the screen so take care of the > eye strain.

Uh... we do?

<comment><USER12> Not OP here. Think of all the time people spend in face to face meetings every day when working from the same office. And now think about the time you spend on conferences in front of your monitor.

<comment><USER11> Well for me it's a ten minute stand up every day, so about an hour more per week. I hate f.lux though. Tried it for a week and I found my screen going yellow just made me feel like my eyesight was fading every evening

</comment></comment></comment></comment><comment><USER13> I use a tool called [http://casual.pm](http://casual.pm) to break larger problems down into smaller chunks. It's a mix of a todo list and a flowchart. They even allow drilling down into sub tasks which is super handy.

</comment><comment><USER14> Zoom for screen sharing and conference calls. It's incredible.

[https://zoom.us](https://zoom.us)

<comment><USER15> As other people have noted, I've had issues with zoom as well.

The most stable, easiest video conference and screen sharing tool I've found is [http://appear.in](http://appear.in)

</comment></comment><comment><USER16> Corporate credit card. ;) It's used to finance the tri-yearly two-to-five day meetups with the whole team in one location to work together and do more extensive longer term planning, plus 'bonding' dinners.

</comment><comment><USER17> 100% remote developer for several years. The only tool I use that's specific to remote development is tmate[0] for pair programming.

[0]: [https://tmate.io/](https://tmate.io/)

</comment><comment><USER18> I was hoping this thread would discuss remote whiteboarding. As a remote engineering team, I think inability to easily/quickly whiteboard collaboratively is our biggest productivity sapper. What are people using?

We have started trialing RealtimeBoard with an iPad Pro + pencil. It's a good start but their iOS apps are kinda terrible. Anyone got something really successful?

<comment><USER19> Using a Wacom tablet with:

* A drawing app e.g., OneNote or Sketchbook or Krita

and

* A screen sharing app e.g., join.me

Has worked well for me. What's particularly nice is that you have a saveable, shareable, modifiable artifact when you're done with the remote session.

I'm also a bit surprised that Wiimote whiteboards never really took off: [https://youtu.be/5s5EvhHy7eQ](https://youtu.be/5s5EvhHy7eQ)

<comment><USER20> Also check out Astropad [https://www.astropad.com](https://www.astropad.com) which turns the iPad into a Wacom like graphics tablet.

Couple that with a drawing app and it works great

</comment></comment></comment><comment><USER21> Shared terminal sessions using `screen` or `tmux`.

<comment><USER22> For what purpose exactly? Surely you don't have multiple developers writing code with one cursor.

<comment><USER23> In a pair programming situation, this is _very_ useful.

And yes, one cursor. But you can have multiple terminal sessions open on your local machine, but only be connected to one common session. That defeats the purpose of pair programming though.

You both want to be focusing on the same thing, at the same time.

</comment></comment></comment><comment><USER24> Slack, Google Docs, and our cell phones.

I know people want more profound answers than that, but the company I worked for got by just fine with nothing but the basics. Being effective remotely is far more about your actual communication skills than the tools you choose to use when engaging those skills.

</comment><comment> d--b Shameless plug: we made a screenshot tool with an extremely simple annotation system to make it easier to communicate around visual issues.

Chrome extension is available here:

[https://chrome.google.com/webstore/detail/screenr/ppgaejlknk...](https://chrome.google.com/webstore/detail/screenr/ppgaejlknkbfkhjoiijoodojfiogpgmp)

<comment><USER25> No HTTPS on your site [http://screenr.co/](http://screenr.co/)?

<comment> d--b Sorry, yes, we've just shipped a first version of that website, and https hasn't been done yet.

We'll do it asap. thanks for the reminder

<comment><USER26> Your embedded video links to a random Vimeo Staff Pick

<comment> d--b Indeed... sigh... thanks

</comment></comment></comment></comment></comment><comment><USER27> I don't like working from home personally. I pollute my personal space with working habits. And pollute my working habits with my activities from my living space. So for me, going away from home to work - even just a coffee shop.

If I need to be working from home I like to use pomodoro to keep me on task. Having a clear list of tasks is good. Taking notes in org-mode on the activities that I'm working on is also good. Basically anything that I would normally do to deal with complexity I need to do when I'm working at home or I end up wasting swathes of time unless I'm really well slept and on point (which I'm usually not because I work at a tiny startup)

</comment><comment><USER28> everything which helps you to communicate with your colleagues:

* skype, google hangouts, webex, zoom for 1:1 and conference style video-calls

* github/zenhub and/or atlassian jira/confluence for scm/bugtracking/codereview/backlog/agile boards etc.

 __especially: write comments to tickets and PRs (!) even if it often seems trivial. it helps documenting work-progess and keeps decisions for later reference. don 't forget any kind of wiki for documentation

* screensharing via ... screen/tmux or vnc, teamviewer or even some videochat - not skype because of its poor image quality - to do pair-programming

* irc/slack/skype-chat/... - any kind of im for synchronous text-based chat

* good old email for everything else :)

<comment><USER29> To add to this, Webex also has excellent desktop sharing. I use it many times every day.

That said, the phone is probably the best friend of the remote developer.

<comment><USER30> WebEx always works really well. I wish it had better Linux support.

</comment></comment></comment><comment> a-saleh Not really a remote worker (I am in a QE team that shares an office), but often we work in small, distributed subsets (i.e. small project containing QE crom Czech republic, OPS guy from Ireland, one eng from Spain and second from Germany).

1\. Rocket chat - i.e. the self-hosted slack

2\. Blue jeans - conference calls, integrated in our meeting-rooms, no idea how much we pay for it, but fairly reliable. Can record sessions, good for sharing among people :-)

3\. Google-docs - mostly for sharing things that need to be discussed and meeting-minutes

4\. Having a help-repo, containing internal guides and how-tos, that everybody can improve

5\. having good ci/cd on all of your repositories, because sometimes there is no-one online yet and only one that will reply to you is your irc bot and Jenkins :-)

</comment><comment><USER31> As a remote freelance front-end web developer I use the following to help me manage the business side of being a remote developer.

1\. Cushion [https://cushionapp.com/](https://cushionapp.com/) \- Super helpful freelance managing software targeted towards solo freelancers. I use it to track different projects and their invoice feature with Stripe integration is amazing.

2\. RemoteLeads [https://remoteleads.io/](https://remoteleads.io/) \- A newsletter that sends you free remote front-end freelance leads to your email about twice a week.

Shameless Plug: I started RemoteLeads to make it easier for myself to get those leads coming in.

<comment><USER32> What made you limit this to front-end?

<comment><USER33> Parent is apparently a frontend dev as he states in the first line.

</comment></comment></comment><comment><USER34> Slack for communication

Toggle for time tracking - [https://www.toggl.com/](https://www.toggl.com/)

Bookmark OS for bookmark sharing - [https://bookmarkos.com](https://bookmarkos.com)

<comment><USER35> Try out [https://wakatime.com](https://wakatime.com) for automatic time tracking.

<comment><USER36> Can't use this where I work because of information being sent to their servers. Even if it is just absolute paths.

<comment><USER35> Try adding this to your wakatime.cfg:

hidefilenames = true

</comment></comment></comment></comment><comment><USER37> Many of the tools that I use have already been mentioned, so I'll only mention that VPNs make me feel much better about working from coffee shops. I use EncryptMe, but most any VPN will do

<comment><USER38> Can you explain how that matters? I mean, isn't every service you use on HTTPS these days?

<comment><USER39> Sites using HTTPS are still vulnerable on a public WiFi access point if you don't use a VPN. To give an example, an attacker can perform session hijacking:

[https://scotthelme.co.uk/advanced-session- hijacking/](https://scotthelme.co.uk/advanced-session-hijacking/)

<comment><USER40> That's sites not using HSTS and where the user is not paying attention

I'd argue people who are thinking of using a VPN wouldn't fall for this kind of attack.

<comment><USER39> > "where the user is not paying attention"

What signs should the user be paying attention to?

<comment><USER40> The https lock logo. If it is there the interception mentioned in the link is impossible.

<comment><USER39> How so? Effectively with a MITM attack the attacker becomes a router. Users don't connect to sites directly, the attack can be made transparent at the user level.

<comment><USER40> The only way one can MITM an https connection is by terminating the https connection at the level of the attacker and presenting an http connection to the user, hoping he won't notice the absence of the green https lock.

The attacker cannot serve to the victim a valid certificate for facebook.com unless the facebook.com private key or a CA has been compromised.

Alternatively the attacker could try a close enough domain (facebooks.com, or something) that it controls and for which it can get valid certificates, and redirect the victim hoping the user won't notice the slight difference in domain name.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER41> A chat client that supports animated gifs; and a screenshot tool that lets you snag a gif and paste to chat. Helps a ton if you do any UI related work.

A voice chat with good audio quality and group calls. Preferably integrated with the chat, so you can "escalate" from chat to voice for the same group. Sadly I haven't seen a better app for this than Skype (which is terrible apart from the sound quality).

</comment><comment><USER42> I don't do much remote work but I am always trying to promote teamwork across sites. I use Trello for grouping projects with some success. Slack a bit for chat.

Currently trialing shelf.io as a repository. It syncs your dropbox and drive etc and adds wonderful search capabilities, even inside scanned pdfs. Everyone can dump all the project docs in and you can still find what you need quickly.

</comment><comment><USER43> Great question

[https://wakatime.com/](https://wakatime.com/) allows you to install a plugin in your IDE for tracking time

Virtual desktops (windows but there is a mac version - Mission Control) is great for quickly moving back and forth between work desktop (no distractions) and communication desktop (email etc)

<comment><USER44> for automated time tracking, I've found that "Timing 2" is a bit better at giving a better overview since it also tracks the things you did "around" coding such as research and whatnot. Tasks not inside IDEs.

<comment><USER45> On Windows, I can recommend ManicTime (www.manictime.com) myself. It's free and all data is only stored locally/offline.

I've found it to be very useful, especially as it logs away times and the currently focused window titles. You can also set exclusions if you want.

</comment></comment></comment><comment><USER46> Personally i think communications tools help me more then anything in the remote developer category. Programming tools are the same if i am in the office or not.

I have found zoom has the best screen share quality. Great for pair programming/explaining

I find it best to over communicate what you are doing to the team. "Starting on x task", "brb coffee" even of no one cares or replies it just lets people know what i am doing

I work in an agency so i use slack status with the icon of the client i am currently working on.

The company encourages the use of a service called wooboard i feel that might be a good tool to keep up with the non remote team but i struggle to actually use it my self

</comment><comment><USER47> Honestly, I've been remote for 5 years now (September 2012) and it's never been an issue for me. A combination of video calls, a decent chat client, and any work organization tool (something with tickets, assignment, and comments) had meant I've always felt more productive at home then in the office.

I've used more than one of each of the above and o never found that low quality caused issues as long as it was close to real time.

The hardest part is questions: they're asynchronous much of the time. Calendar software with appointments is the cure for questions that must be asked synchronously.

What are you having trouble with? That may help you get better responses.

</comment><comment><USER48> GotToMeeting for group meetings/calls

Skype For Business for one-on-one company calls & PSTN calls

Skype for VoiP with external parties

Yammer for company latent awareness/news sharing

TasksInaBox for collaboration planning and task followup

Doodle for meeting scheduling

Sharepoint for document repository

</comment><comment><USER49> File synchronization helps me keep documents and other data ready in both my laptop and worstation (that way I can always be on the go). Dropbox, google drive or resilio can help.

Having a remote session server ready can also be very helpful when you want to dial back home (vnc or teamviewer).

I also try to keep different users to help me focus on work on my machines, maybe even enable some kind of parental controls in the work account if you find yourself drifting away browsing the web (blocking some distracting websites).

</comment><comment><USER50> We are a 7 member team and only 3 come to office. Rest 4 are in different cities - but same time zone.

We use the following 1) [https://appear.in/](https://appear.in/) => Good conferencing tool 2) Asana -> to plan 3) Google docs to share the docs 4) Google chat & whatsapp web to chat

Has been working pretty well till now.

</comment><comment> z-magic Many of our developers are remote, so we needed a solution for facilitating retrospectives. I found a web app called RemoteRetro [https://remoteretro.org/](https://remoteretro.org/)

Completely free, and it's also open source. Highly recommend even if your team is local.

</comment><comment><USER51> Tools we love:

1) Discord - superb chat, voice & screen sharing (weak on file sharing)

2) GitHub - +LFS if you track large binaries

3) Paper - note taking tool from Dropbox (best for personal use only)

4) Dropbox - bit pricey but more natural to use than Drive etc

5) Asana - can be slow, but good for project org

Tools we used to love:

1) Skype - malware, UI train wreck

2) Slack - distraction contraption

3) Hangouts - too much wtf

4) Hipchat - slow, annoying

5) Google Drive - feels half baked

6) Trello - scale fail

</comment><comment><USER52> It's the boring stuff: IRC, email.

</comment><comment><USER53> Zoom / Gdrive / Github

For personal management todoist <3

I'm now getting a wacom tablet to draw during presentations or explanations, since I believe sometimes a couple of boxes and lines is way better to express intention other than 20 pages docs.

</comment><comment><USER54> I use Loom to create instantly shareable screen casts:

[https://www.useloom.com](https://www.useloom.com)

Also full disclosure: founder. But a large chunk of our team is remote and it's certainly made my life easier.

<comment><USER55> I _love_ loom. We use it heavily at my company both internally and with customers.

<comment><USER54> Woah - awesome! It's really cool to see other people on HN know what Loom is. :-) Hopefully more goodness to come in the new year (and more HN peeps using it).

</comment></comment></comment><comment><USER56> The phone usually works OK as long as both people have a good signal. But actually audio latency can be an issue so whatever you pick that is one thing to optimize for. Hangouts etc. that are online might work better.

</comment><comment><USER57> In my case, Slack, Hangouts for communication with my partners, and any music/podcast service to help me focus on my task, instead of listening to others noise. My favourites are Spotify and my iTunes Podcasts.

</comment><comment><USER58> Any good time management tools out there? What do you guys use?

<comment><USER59> My app for productivity and project tracking: [https://qotoqot.com/qbserve/](https://qotoqot.com/qbserve/)

</comment></comment><comment><USER60> [http://host.binarytask.com](http://host.binarytask.com) Global Distributed Hot-Deployment PaaS.

</comment><comment><USER61> I use these working remotly on multiple projects:

1\. JetBrains YouTrack , HUB or 2\. Visual Studio Team Services 3\. Telegram , Keybase & Discord

Thats it

</comment><comment><USER62> Slack for the noisy chat.

GitHub issues for taggable discussions.

Zoom.us for calls and beer hangouts.

Google Docs for collaborative writing.

Screenhero for pairing/reviewing together.

<comment><USER63> Screenhero is dead and I have not found a viable alternative yet.

<comment><USER64> Screenhero is in slack now, so... Pay up?

<comment><USER63> We paid for screenhero before they stopped charging. Last I heard, it was not as good as it once was now that it is part of slack. That aside, my work looked at going to slack and it was shot down vs staying with hipchat for a few reasons. Partly the cost of slack itself and partly the cost of chat bot rework (we have an unhealthy coupling of chat bots to hipchat that make it hard to migrate them to slack apparently). The bot(s) handle pr workflows, build jobs, internal service disruption comms, paging, and more.

</comment></comment></comment></comment><comment><USER65> pomodoro technique

[https://tomato-timer.com](https://tomato-timer.com)

its really hard to not go into always working mode and this helps with that.

</comment><comment><USER66> Password manager. I recommend Enpass or 1Password.

</comment><comment><USER67> * Discord - Free Voice and Text Chat for Gamers || [https://discordapp.com/](https://discordapp.com/)

</comment><comment><USER68> TeamViewer, Slack, WhatsApp and Skype.

</comment><comment><USER69>
      ssh, tmux and emacs --daemon

</comment><comment><USER70> Absolutely Slack and Google docs.

</comment><comment><USER71> rescuetime for time tracking

</comment><comment><USER72> SSH

</comment><comment><USER73> 'screen -x' is my favourite. Has been there for ages.

</comment><comment><USER38> I'm a bit disappointed by the current comments here. "Skype" can't have been the answer the OP was looking for? It's like saying JavaScript made you a more effective programmer. No, it just made you a programmer.

I'd like to add a less conventional tool to the list:

We're currently trying out [https://sneek.io](https://sneek.io), a tool that takes a mugshot every minute and shares it with the team on a panel. Most of us use it on a separate device next to their workstation/laptop. The idea is that it simulates an office environment a tiny bit. This has two great benefits: 1) you know whether someone is behind their computer. Knowing that someone is away means your IM message will not get a speedy response for sure so you won't wait for it (or maybe not even ask it). This reduces time spent in IM. Secondly, faces instead of names, text and voices somehow makes the team feel more like a team.

This concept was popularized by Sqwiggle, but they went bust. I'd be very interested to hear other people's experiences with tools like this.

By the way, anyone found a good Screenhero replacement? Slack bought them but even 2 after years in development hell their calling and sharing support is ridiculously slow and buggy. For the uninitiated, Screenhero was a tool that gives everyone their own mouse pointer in a screen sharing session. Perfect for pair programming.

<comment> d--b Ooomph, I would absolutely hate sneek. It really feels like you're in an office.

A few key benefits of being remote for me are that:

\- I don't want to sit at my desk all the time, because I like to walk to think. If you do this in an office, people tend to think I'm not working. As a remote engineer, not showing up on that screen capture tool would make it even worse.

\- I don't want to have to think about how I dress or where I sit or if I lie down.

\- I don't want to have the distraction of checking who's there or not.

I get the idea behind it - that you need more human contact and everything, but this looks terrible to me.</comment></comment>


Transitioning from SHA-1 TLS Certificates - <AUTHOR> http://www.symantec.com/connect/blogs/transitioning-sha-1-tls-certificates <comment><AUTHOR> I think in theory SHA1 collisions may be easier than factoring 1024-bit RSA, but the latter may be easier in practice.</comment>