Seattle Considers Measure to Let Uber and Lyft Drivers Unionize - <AUTHOR> http://www.nytimes.com/2015/12/14/technology/seattle-considers-measure-to-let-uber-and-lyft-drivers-unionize.html?smid=fb-nytimes&smtyp=cur&_r=0 <comment><USER2> My families economic downturn which ended up with us having to put our house on foreclosure and my dad having to declare personally bankrupt was based on something very similar.

My dad was driving for a European logistics company. The drivers were contractors and had to deal with all the expenses themselves just like Uber drivers.

My dad and another guy were spokespeople for all these drivers and when they tried to organize voluntarily to get better conditions the company simply released my dad and the other guy from their contracts.

Long story short my dad only recently got out of his personal bankruptcy after more than 20 years of dealing with the consequences of him trying to stand up for his co-contractors.

So if you ask why do we sometimes need protect this right by the law. This is why.

<comment><USER3> Would your dad have continued to have gainful employment, had he not tried to organize the drivers?

If so, it sounds as though it was his own actions that led to his financial predicament.

The other question that crossed my mind is, was he unable to find another job as a driver anywhere in Europe or the U.S. (wherever he was based)? It seems as though there has been a continuing shortage of long haul drivers in the U.S. at least. As far back as I can remember, about every other 18-wheeler I see has had a "drivers needed" sign prominently displayed.

<comment><USER4> It sounds like you're suggesting that his father deserved to be fired for attempting to support unionization. You can advocate for whatever you like, but understand that this position is in opposition to generations of workers- rights efforts.

<comment><USER3> No, I don't think he deserved to be fired, but his actions did precipitate his getting fired.

</comment></comment></comment></comment><comment><USER5> This is going to lead to messy public arguments, at least in part driven by existing cab drivers that will be seeking rents from the successful upstarts.

I think this tactic was used before in other historically disrupted industries...the incumbents would push for unionization to keep inefficient players on life support, at the cost of the upstarts.

Note I'm not opposed to people's freedom to unionize. In fact, it should not take an act of government to "permit it", and people should do it if they want. It's just the unintended consequences and manipulation of the move to unionize that are interesting.

<comment><USER6> > Note I'm not opposed to people's freedom to unionize. In fact, it should not > take an act of government to "permit it", and people should do it if they > want.

Everyone has the right to organize a voluntary union. What requires special legislated privilege are things like collective bargaining, which is not a normal component or outcome of voluntary negotiations.

Modern unions in the United States enjoy many legal privileges that were specifically lobbied for. It's this type of privileged union which is being argued for, not a mere voluntary association under an impartial legal regime.

<comment><USER7> Can you share some of the arguments in favor of involuntary unions? (I'm even willing to invest some time digging if anyone has some pointers to potential sources of literature, I am genuinely interested.)

My personal experience has been that when I've been the so-called "beneficiary" of one, it has not actually benefited me and has often made for awkward scenarios where there is me and the counterparty ("employer") and this weird semi-interested third-party regulating how we can interact, regardless of what is actually in my self-interest.

Just to be clear, I am all for collective bargaining in the sense of a bunch of (small) actors choosing to work together against an adversary. I would do this myself if I deemed it beneficial. I don't understand why we would mandate that individuals had to be bound by the agreement whether they want to participate or not. I recognize that this is a common structure though.

<comment><USER8> What you are describing is what existed before what we have now. A group of people working for an employer would try to negotiate for safer working conditions, better benefits, etc. The employer would take the list of demands, fire the person who handed him the list and say, "I'm not giving you any of this shit and anyone who talks about it again gets fired too."

So people started organizing by trade. It made sense because workers of a common trade share experiences and grievances. If one particular employer treated its workers bad, that trade guild had more leverage by threatening work stoppage against other employers who could put pressure on the first employer.

Over time employers started to converge and grow in power. Now you have a company who employs thousands of people in multiple locations. To keep the balance in power, the unions converged and grew in power. You cant threaten to replace a union worker if everyone who does that job is in the union(1).

Now the unions are big enough to disrupt economies, sway elections, etc. They are large professional entities of lawyers, financial managers. They want everyone in the union for maximal leverage (ie fewer scabs, more dues) so they lobbied to affect the policies we have today.

The small voluntary no-admin-overhead organization you are describing is ideal, but its really unlikely to work. It would depend on the employer allowing it to happen.

I could say more here about the growing wealth gap, criminalization of poverty, and the quiet ongoing class war, and end with a Malcom X quote, "Anytime you depend on your enemy for a job you're in bad shape." But I dont feel like saying all that. ;)

1\. robots

<comment><USER9> > You cant threaten to replace a union worker if everyone who does that job is > in the union

If an employer did something like that, the FTC would go after them for abusing a monopoly to dictate pricing, for anti-competitive practices (e.g. contracts that prevent doing business with competitors), etc. But somehow it's OK for unions to do that?

<comment><USER10> Maybe.

A very short answer is that there are many differences between capital and labor. (It is even right there on the tin - we don't call our system "laborism", and a few actual words related to that meaning are popularly demonized in the U.S.)

Sure, sure, corporations are people ("my friend"), but most humans still see a difference between John calling in sick because he didn't like seeing his pal Bob fired and things like redlining, oligopoly partitioning, etc.

It has to do with power dynamics, and this is well recognized in law. (One example is that contracts between parties of disparate power are generally interpreted in the light most beneficial to the least powerful. For more extreme cases, look up the legal sense of the word "adhesion".)

And recall that capital always has options.

\- Happy employees tend not to unionize. Many places normally considered to be natural homes for unions don't have them because management doesn't give them a reason to need one.

\- If capital or management decides those proles are too uppity, it can close shop. (Labor also has this option, but that's called 'suicide' and considered in a rather different light.) Walmart did this a while back when (IIRC) their butchers successfully beat them and unionized; Walmart got out of the meat cutting business.

\- Outsource. Amazon has a pile of circuit-breaker corporations that supply them backs and hands. Those corporations (really, binders on a Delaware shelf and bank accounts) take the heat from lawsuits when the backs break and the hands are smashed by robots. This use of non-human shields works surprisingly well in some circumstances, but the tight coupling with the mothership needed by app-driven job direction would make it look pretty strange if they set up shell companies to supply "workers", so that one may not work for Uber.

(update: fixed my goofy formatting.)

</comment></comment></comment></comment></comment></comment><comment><USER11> The Uber policy executive says the proposed Seattle law is "generally believed to be flatly illegal", eh? I wonder when Uber acquired this sudden respect for the law.

<comment><USER12> When they are the ones whose business model is being disrupted...

</comment></comment><comment><USER3> The irony of this situation is that Uber and Lyft would probably never have gotten this big, had they hired only full time employees with benefits.

Their business model works. That's why they're bigger than GM now. And that's why suddenly they're being perceived as unfair and exploitative.

In the Western social democratic system that more or less pervades the old industrial nations of Western Europe and the U.S., financial success is an invitation to lawsuits, unionization, and government fines.

The unionization is couched as a class warfare thing -- the management/owners are making big bucks and we workers are making peanuts -- but in reality, it's all about fighting for a piece of the pie.

The Teamsters rep in Oakland summed it all up: even though Uber's buying a big building there and employing 2,000 to 3,000 people, it's time to unionize and make them "give back".

I just hope that Seattle and California don't set a national trend, or this may be the beginning of the end for the sharing economy, just as manufacturing ended, and just as outsourcing has hollowed out the computer programming field and other domestic professions. What will there be left for Americans to do, if we keep shooting down every innovative business model like this?

<comment><USER13> So you think some people should be able to form a business like Uber or Lyft, but you don't think other people, such as their contractors, should be able to form their own business for the purpose of negotiating collectively?

Because that's all a union is: it's a business. Laws are only required because, as history shows, wealthy business owners want/wanted a completely, and in many cases, illegally, tilted playing field.

Unions are a significant part of the reason that there's a middle class at all.

<comment><USER3> They can try to form a syndicate to force higher rates from Uber. But Uber can just hire different people, problem solved. Clearly there are hundreds of thousands of people willing to drive for Uber. Supply and demand.

I'd be much more sympathetic to a group of drivers who say, we've had it with these low Uber/Lyft rates. Let's form our own ride company, pay ourselves more, and compete with Uber. Get someone to write apps, create websites, do advertising, etc., and then get out there and compete.

That's what makes the wheels of the economy turn around, my friend: competition. Unionizing is like hermetically sealing a container so that nothing gets in, and nothing gets out. A static system that cannot change.

But competition opens new doors, admits new ideas, and who knows? Maybe higher rates for drivers proves to be a competitive advantage and their new company will do very well, forcing Uber and others to raise their own rates.

If higher driver rates are a good thing, then the smart businesses will do it, and succeed. Right?

</comment></comment></comment><comment><USER14> I've never understood how Uber/Lyft gets away with calling drivers independent contractors. If they were independent contractors shouldn't each driver be able to set their own rate and then the company factor in their cut? The model right now seems more like the taxi companies - You drive for uber/lyft you play by their rules/rates - thats not much of a freelance model.

<comment><USER15> Ability to set rates does not define the employer-employee relationship. Uber/Lyft are lead generators to driver's (highly successful and thriving) transportation business. Every once in a while they will present a new customer willing to pay a certain rate, the driver can accept or reject that request.

If the driver is too busy serving other (higher-paying) customers acquired via other channels, they can sign off from Uber/Lyft with no repercussions.

In that sense they don't differ much from lead generators for other businesses (plumbers, roofers, landmowers).

<comment><USER2> Lead generators to drivers?

Why can they then decide which car you should buy? Why aren't you allowed to hire sub-contractors? Why can't the driver just set their own price?

If they where just lead generators then uber would take a cut of whatever price the drivers decided to take for their ride but the actual price negotiation would be between the driver and the customer.

So not it's unfortunately not that simple.

<comment><USER16> > Why can they then decide which car you should buy? Why aren't you allowed to > hire sub-contractors? Why can't the driver just set their own price?

Any lead generator can choose who they deliver leads to, right? Uber can't literally force any individual to buy a certain type car, but they can choose to not do business with people unless they have a certain type of car.

<comment><USER2> Which makes them more than simply a lead generator. Add to that some of the other things and it's obvious that it's anything but a simple lead generator. For examples why should they care if I hire subcontractors?

<comment><USER17> Sorry to just jump in here, but I'm not getting why not allowing subcontractors matters. Isn't that still under the "lead generators can pick the terms they offer" umbrella?

Have a reasonably decent car, do the job yourself, maintain a certain level of customer satisfaction. These all seem like relatively reasonable terms under which to offer contract work.

<comment><USER2> I don't know of that umbrella that is. Got any examples?

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> Does anybody else think that unions are really labor side price fixing, and not much different to companies conspiring to fix prices, or the recent tech companies conspiracy to not poach each other's employees (a form of wage fixing, but on the side of capital.) It seems hypocritical to support one and be against the other.

On a less theoretical note, looking at stagnant wages over the last couple decades, it seems clear that between capital and labor, capital seems to hold more bargaining power. So something is needed to tip the power balance towards labor. Whether that's unions or something else, I have no idea.

<comment><USER19> " _Does anybody else think that unions are really labor side price fixing_ "

I don't think that, at least not in all cases. I've worked in some pretty crappy places that thankfully had unions in place to protect the workers' rights and safety.

<comment><USER18> It's a good point that unions are about more than just getting higher wages.

</comment></comment></comment><comment><USER20> The root cause of the need to unionize is a constant: unfair allocation of profit/dividends, equity, benefits, perks, etc. AKA entitlements the executives / managers / office people feel entitled to as office people. They somehow rationalize it's okay to deny the people doing the actual grudge work these things. Not to mention: it's easier to deny hazard pay for hazard work when you can convince people they're not your "employees". They're just happy little contractors doing this kind of work for "fun".

Also: it'll be interesting to see how insurance companies start coping with drivers who earn from Uber / Lyft.

<comment><USER21> Very, very dangerous things happen when you allow the state to determine what fair means to whom.

</comment></comment><comment><USER22> Uber operates at global scale, will they just exit seattle market?

<comment><USER23> I imagine that they wouldn't want to set that precedent. Uber is very aggressive. They will fight this tooth and nail.

<comment><USER10> Or allocate more towards pushing lobbying, technical and business efforts on self-driving cars harder.

I don't have anywhere near the expertise to guess at how long the legislative meat-grinder for self-driving cars will take to hammer out, but an amoral minimax might be to just double down on firing all the drivers, and let them have a few more shekels for a couple years. But they have the money to walk and chew worker-bees, so we'll probably see both.

( This is getting further afield, but. Do we even have a semi-reasonable comparison for a bundle of legal and societal changes involved in self-driving transport? I can't think of one outside of the original introduction of cars. And on the legal side, that was mostly new law, not revising the assumption of human action across criminal, tort, insurance and whatever other categories. The analogous social changes - at first, demonizing pedestrians to get them off streets; later, suburbs, the propaganda tying the car to U.S. American notions of freedom, towns becoming dependent on violations for income, etc. - are somewhat harder to make bets about, but more interesting.

There certainly have been bigger changes (I'm guessing, of course, but I don't see auto-autos as a bigger deal than agriculture), but I don't know that legal codes were as complex then, and I know we don't have extensive records on the changes. The social upheaval of ag was worthy of the name 'singularity', which I really don't see self-driving cars as matching.)

</comment></comment></comment><comment><USER24> So the disrupter is to be disrupted?

Really. I cannot help but laugh when the upstart flashing new company finds itself as the new oppressor fighting to protect their employees from the evil that is collective bargaining.

Congratulations Uber. You're now Macdonalds.

</comment><comment><USER25> I thought customer ratings helped with that, meaning, if someone has a cheap ass car, is sloppily dressed, is rude and smells, they'll probably be ubered out of a job. The opposite case usually means they have some decent income. Meaning, Uber won't stand up if it doesn't have good service, meaning good employees which kind of works itself out in a self-rating community, no? This isn't the days of old where a corporation can mask treatment of its workers and they must outcry and protest or is it? I'm not an Uber driver but just thinking out loud.

</comment><comment><USER26> Why would a law have to be passed for the drivers to organize?

<comment><USER27> What part of a "union" can possibly be made illegal in the first place? It seems to me that freedom of speech and freedom of assembly are sufficient conditions to implicitly allow freedom of unions, since a union is really just a bunch of people assembling and speaking to each other of their own accord.

<comment><USER28> 1A: "Congress shall make no law..."[0]

The First Amendment just says that Congress can't do it, not that a private company you're not being forced to work for can't.

To that point, you can be fired for attempting to unionize in certain circumstances. Seattle is just trying to explicitly extend that protection to contractors.

[0] [https://en.wikipedia.org/wiki/United_States_Bill_of_Rights#F...](https://en.wikipedia.org/wiki/United_States_Bill_of_Rights#First_Amendment)

<comment><USER27> I see. This is a helpful explanation. Thanks!

</comment></comment></comment></comment><comment><USER29> Feels like we can imagine how we'll define the future:

Government and industry will react in ways we understand to initiatives of our own. They'll be quick to allow any motions that will limit the growth and power of our new companies. We should maximize on this.

</comment><comment><USER30> Here's a quick primer on unions in the US. [https://www.nlrb.gov/rights-we- protect/employerunion-rights-...](https://www.nlrb.gov/rights-we- protect/employerunion-rights-and-obligations)

</comment><comment><USER31> >David Plouffe, the Uber policy executive and former Obama campaign manager, said at an event in Seattle this year that the proposed law was "generally believed to be flatly illegal."

Sad to see that Plouffe has sold his soul to corporate America. I wonder what his former boss would think.

</comment><comment><USER32> Well once self-driving cars take over none of this will matter

<comment><USER33> Uber will never be interested in taking on the capex of owning a full fleet of self-driving cars.

<comment><USER34> Sure, but perhaps they'll do what Lyft has done: partner with a company that already owns a fleet of vehicles [0].

[0][http://www.cnbc.com/2015/10/09/ride-hailing-company-lyft- par...](http://www.cnbc.com/2015/10/09/ride-hailing-company-lyft-partners- with-hertz-shell-to-gain-edge-over-uber.html)

</comment></comment></comment><comment><USER35> What currently stops them from unionizing? (I hope it's not a dumb question)

</comment><comment><USER36> I wonder if this will lead to other groups asking for this ability.

Take farmers, for example. Maybe they could lobby for a waiver for collective price-fixing. Or hair stylists, or truck drivers, or gardeners...

<comment><USER37> > or truck drivers

I assume you've never heard of the Teamsters union?

<comment><USER36> A quick Google search says that only 5% of truck drivers are unionized.

<comment><USER37> Your comment asked if other industries might unionize. I simply pointed out there's an existing union for truck drivers, not its membership level.

<comment><USER36> Sure, makes sense.

My point is more about price-fixing though. Obviously a union that represents 100% of Seattle cabbies will have a lot more power to set prices than 5% of truck drivers.

I suppose it will come down to the language of the Seattle law -- the article isn't clear if this is an optional-membership union or not. I presume it's not optional, because otherwise it would be very easy for Uber and Lyft to sidestep.

<comment><USER38> The full text of the proposed bill is here: [http://seattle.legistar.com/ViewReport.ashx?M=R&N=Text&GID=3...](http://seattle.legistar.com/ViewReport.ashx?M=R&N=Text&GID=393&ID=2296991&GUID=A1841B13-CF4F-4E5A-9409-A613DC6B2B15&Title=Legislation+Text)

Each "driver coordinator" (e.g. Uber and Lyft) will have one union entity that is certified to enter negotiations with the driver coordinator — as chosen by the majority of drivers who choose to participate in the process.

As far as I can tell, the law doesn't require drivers to enter the union but it doesn't prohibit such an agreement:

> 1\. Nothing in this Section 6.310.735 shall preclude a driver coordinator > from making an agreement with the EDR to require membership of for-hire > drivers in the EDR's entity/organization as a condition of being hired, > contracted with, or partnered with by the driver coordinator to provide for- > hire services to the public

The main thing the law does is prevent the driver coordinators from punishing specific individuals from participating in the process. This is a critical factor that is necessary for any real union to take off — otherwise Uber can simply fire anyone who expresses any desire to unionize and prevent the union entity from attaining any critical mass.

> A driver coordinator shall not retaliate against any for-hire driver for > exercising the right to participate in the representative process provided > by this Section 6.310.735. It shall be a violation for a driver coordinator > or its agent, designee, employee, or any person or group of persons acting > directly or indirectly in the interest of the driver coordinator in relation > to the for-hire driver to:

> 1\. Interfere with, restrain, or deny the exercise of, or the attempt to > exercise, any right protected under this Section 6.310.735; or

> 2\. Take adverse action, including but not limited to threatening, > harassing, penalizing, or in any other manner discriminating or retaliating > against a driver because the driver has exercised the rights protected under > this Section 6.310.735.</comment></comment></comment></comment></comment></comment>


Periodic Table of Best-in-Class SaaS Metrics - <AUTHOR> https://www.insightpartners.com/blog/periodic-table-saas-financial-operating-metrics/ <comment><USER2> This is fantastic, I think for first time founders there's a little bit of a gap between how they see their business (primarily product focused) and how an investor sees their business (primarily market focused).

Obviously as companies mature, founders see their business and can capture the value proposition of their business in a more metric focused manner, but I'm always looking for resources like this to get a peek into what people look for in the latter stages.

</comment><comment><USER3> I wish more VC firms with proprietary portfolio data like this published it publicly</comment>


Show HN: Delightfully animated, bite-sized knowledge - <AUTHOR> http://www.brainfoodapp.co <comment><USER2> Downloaded and watched their beta lessons. The animations are beautiful! Feels like Kurzgesagt in an app. Fun way to learn new things. Excited for new lessons to be released.

</comment><comment><USER3> Thank you for this super cool and teaching tool! I work in knowledge and educational organizations and this is one great example of gamifying learning :)

</comment><comment><USER4> Whoa, beautifully animated. Props to the creative team.

</comment><comment><USER5> Interesting idea -- what's the story behind it and who is the target demo? Is it for adults looking to kill some time here and there?

</comment><comment><USER6> Downloaded their beta. Pretty cool and unique way of learning. Looking forward to more lessons.

</comment><comment><USER7> this is pretty cool-the illustrations are really nice. i think the timing is ripe for educational startups given the state of the pandemic, schools not opening up anytime soon, and a shift towards how we think about education going forward

</comment><comment><USER8> Such a wonderful way of learning! Love it!

</comment><comment><USER9> Love the animations, signing up for sure

</comment><comment><USER10> IOS only (for now?)

<comment><USER11> Seriously.. I filled all of it..only to realize it is only iOS. Why?!!!

<comment><AUTHOR> Ahh, Android will be available next week! Sorry earth2mars!

<comment><USER10> Great! Thanks for replying and consideration.

</comment></comment></comment></comment><comment><USER12> beautifully designed product!</comment>


Show HN: Botmake 2.0 No code chatbot creation tool - <AUTHOR> http://botmake.io/?ref=hn <comment><USER2> Chatbot creation platforms have really seen great improvements, having the ability to build a chatbot without having to worry about the complexity of the code behind the whole set up is really a bonus to many business owners who need chatbots for their businesses.

But with so many tools out there, setting up a custom AI chatbot can be so annoying. Many of the tools seem to miss a feature that you REALLY need.

Most times they all force you to pay to have that "Powered by…." imprint removed and AI doesn't work.

How about a done-for-you solution? These Chatifai guys set up a simple custom chatbot for just 19$/m in 72 hours after placing your order! [https://chatifai.datawisepro.com](https://chatifai.datawisepro.com)</comment>


1195725856 and other mysterious numbers - <AUTHOR> https://chrisdown.name/2020/01/13/1195725856-and-friends-the-origins-of-mysterious-numbers.html <comment><USER2> Before I click:

        $ echo 'obase=16; 1195725856' | bc | xxd -r -ps | od -cb
        0000000    G   E   T
                  107 105 124 040
        0000004
        $

Looks like HTTP.

<comment><USER3> printf "%x" 1195725856 will save you one bc process.

<comment><USER2> even better, thanks

      $ printf '%032x\n' 1213486160 542393671 | xxd -r -ps | xxd -g4 -c16
      00000000: 00000000 00000000 00000000 48545450  ............HTTP
      00000010: 00000000 00000000 00000000 20544547  ............ TEG
      $

</comment></comment></comment><comment><USER4> _Maybe we should start printing ASCII in future in some of the error paths..._

I work on image processing; when we get an image we don't recognize, we print out the first few bytes in hex & ascii. Often, it's an error message or HTML error page. The user's code takes the results of an HTTP fetch and sends it to us, forgetting to check for errors.

</comment><comment><USER5> I remember fixing a bunch of bugs in 1990 because someone started running SATAN against our hosts and there mere act of sending ill-formed requests to various ports would cause the associated daemons to crash. What's amazing is that this still happens. In half a day I'll bet I could find at least a dozen _super popular services_ that can be crashed by sending random data to one of their network ports using a default configuration.

<comment><USER6> >SATAN against our hosts

oh, well...

[https://en.wikipedia.org/wiki/R-36_(missile)](https://en.wikipedia.org/wiki/R-36_\(missile\))

<comment><USER7> [https://en.wikipedia.org/wiki/Security_Administrator_Tool_fo...](https://en.wikipedia.org/wiki/Security_Administrator_Tool_for_Analyzing_Networks)

</comment></comment></comment><comment><USER8> Meanwhile, four years ago at Facebook :)

[http://rachelbythebay.com/w/2016/02/21/malloc/](http://rachelbythebay.com/w/2016/02/21/malloc/)

<comment><USER9> This is a good takeway from that page:

> I guess this means 1213486160 is going on my list of magic numbers. Also, it > means that 2008-06-14 23:29:20 UTC is, in a strange sense, "HTTP time". If > you see either that number or that date (with possible adjustments for your > local time zone) showing up in your life inexplicably, this might just be > why.

</comment></comment><comment><USER10> Someone owes me a steak if the thing sending GETs and HEADs (and/or fb303 calls) to any listening port on Facebook machines turns out to be procprint.

Also, we did this debugging. Years ago.

<comment><USER11> What is procprint? Googling didn't get me anything that seemed relevant, a company in Brazil and some SAS references.

<comment><USER10> It's an internal FB thing. But the post was about that, too.

(No, I don't work there... any more.)

</comment></comment></comment><comment><USER12> > the entire company trends towards peak levels of procrastination, doing > literally anything and everything to avoid the unspeakable horror of having > to write a few paragraphs of text. ;-)

the entire company trends towards peak levels of procrastination, doing literally anything and everything to avoid the unspeakable horror of having to write a few paragraphs of BS marketing speak ads for their fellow employees

there, fixed that for ya.

I hate perf! All want to say is Jill does great work, Joe does ok work. Bill might need to work on something else has he doesn't seem into it.

Instead I'm told to write several paragraphs of ad copy trying to make unique and interesting sentences that don't sound the same but basically all say the same thing "Jane does good work". They want specifics like

"Vlad's work on the ABC protocol really took things to the next level. If it had not been for his tireless effort on the ABC protocol discussion list it's likely a different spec would have been ratified and we'd all be stuck with 6 months more work in our implementation."

Now (1) I didn't actually know that because I was head down working on my own stuff so I had to go spend time 30 minutes looking that shit up and (2) That's one out of 6 paragraphs, and everyone better sound completely unique like it was meant to be presented in a magazine.

And, when it's all done it was worthless. What I wanted to write

"Vlad's great, he does good work and I like working with him"

Is all they really wanted to here but the "process" is instead a huge waste of time for everyone.

</comment><comment><USER13> "Last week was the final week for this half's performance review at Facebook, where we write summaries of work and impact we and our peers had over the last half year. Naturally, that can only mean one thing: the entire company trends towards peak levels of procrastination, doing literally anything and everything to avoid the unspeakable horror of having to write a few paragraphs of text."

Ugh, I can relate so strongly. Right now I'm supposed to be filling out my mid-year performance sheet, including team success goals, team player actions, effective communicator actions, achieving business results actions, business goals, personal goals, individual development plan, etc. I've been working on it for 2 days and have hardly anything done. This kind of work is so incredibly difficult for me. It is supposed to be written with maximum business jargon. I'd rather put in a week of all nighters writing some code than working on this.

<comment><USER14> Totally agree. These exercises suck because they are obvious wastes of time that are often ignored, but cannot be done frivolously as they have impact on real things sometimes.

As a manager in one particularly toxic org, you had to strike a balance where you showed constant forward motion, but not too much. Too little and you'd be tortured with meetings with a PMO, too much progress, you'd be declared a genius and the PMO would either appoint you as a "champion" to get shit done or take your people away.

<comment><USER15> It's no more a waste to write these than it's a waste for servers to use disk space writing out logs.

<comment><USER16> Server logs are not manually written by humans. Obviously no one is worried about the disk space. I'm ok with wasting cpu cycles writing something that might never be read but wasting humans time is just rude. [I don't thrive in bureaucratic environments so my perspective may be skewed]

</comment></comment></comment></comment><comment><USER17> The link above doesn't work for me, but the following one does: [https://chrisdown.name/2020/01/13/1195725856-other- mysteriou...](https://chrisdown.name/2020/01/13/1195725856-other-mysterious- numbers.html)

<comment><USER18> I had no idea anyone would find this so fast, so I thought it would be safe to change the url to match the final title before posting anywhere -- how wrong I was.

It's back now. Thanks!

<comment><USER19> Still down for me :/

EDIT: My browser cached your redirect. Opened in private and I'm OK now.

</comment></comment></comment><comment><USER20> Also see this about the same topic: [https://rachelbythebay.com/w/2016/10/07/magic/](https://rachelbythebay.com/w/2016/10/07/magic/)

<comment><USER21> And related HN discussion: [https://news.ycombinator.com/item?id=13132688](https://news.ycombinator.com/item?id=13132688)

</comment></comment><comment><USER22> [https://chrisdown.name/2020/01/13/1195725856-other- mysteriou...](https://chrisdown.name/2020/01/13/1195725856-other-mysterious- numbers.html)

That seems to be the URL now.

</comment><comment><USER23> I've always been weirded out by C's 4 character constants, but they're useful for this sort of thing:

        printf("%d\n", 'GET ')
        1195725856

</comment><comment><USER24> So his first instinct was to waste hours on this debugging instead of just googling the error message and finding the cause within seconds?

<comment><USER25> I've generally been of the Don't Reinvent the Wheel school of programming for a long time. However, I've been digging into Jonathan Blow videos again and he seems to be pretty worried lately about how little time developers spend working on fundamentals, and I agree that is either a problem, or will become one soon enough.

I haven't quite figured out how to incorporate that into my philosophy. I'm still pretty damn sure I don't want your exercise in fundamentals to be running in production, but I also don't want to be surrounded by people who only know how to look things up.

</comment></comment><comment><USER26> oh wow, this is why I got these esoteric errors in my dmesg?

</comment><comment><USER27> on the other side, i use my name as magic number (4 chars)

so both hex and dec representations got me (close numbers)

many protocols and simple ciphers use similar methods btw.

</comment><comment><USER28> TL;DR on the annoyingly vague title: they are short ASCII strings encoded as integers.

<comment><USER29> It's a shibboleth. The joy experienced by someone who's already "in the circle" for 1195725856 justifies the vagueness. For those who aren't, the post brings them in on the joke.

</comment></comment><comment><USER10> "Production hosts". "NFS traffic". How quickly we regress.

<comment><USER30> Are you suggesting you think NFS is never suitable for production use?

<comment><USER31> Depends what you mean. If you mean " _can_ you use it in production", sure. If you mean " _should_ you use it in production", no, never.</comment></comment></comment>


Doctors find way to reverse autism effects - <AUTHOR> http://timesofindia.indiatimes.com/articleshow/6021918.cms?prtpage=1

<comment><USER2> Hmmm perhaps that should be:

        Scientists reverse Fragile X syndrome in a mouse model.</comment>


Fitbit ionic - <AUTHOR> https://www.fitbit.com/ionic <comment><USER2> > This is the watch you've been waiting for.

It's really not, though, as it doesn't even look like a watch...</comment>


How x86_64 Addresses Memory - <AUTHOR> https://blog.yossarian.net/2020/06/13/How-x86_64-addresses-memory <comment><USER3> > There's one exception to this: x86_64 allows for a 64-bit displacement with > the a* registers.

I don't think the example for this ([https://gcc.godbolt.org/z/35ytYW](https://gcc.godbolt.org/z/35ytYW)) is correct.

The highlighted instruction ("movabs rax, offset x") is not a load, it's just moving the address of x into rax. The "offset x" operand is a 64-bit immediate (not a displacement). It will be resolved to the address of x with a relocation.

Indeed, you can get the compiler to emit this form of "movabs" into other registers, which contradicts the point that 64-bit displacements are a* specific: [https://godbolt.org/z/3MYTUC](https://godbolt.org/z/3MYTUC)

To get a load or store to a 64-bit displacement, I think you want something like this: [https://godbolt.org/z/4QMtpo](https://godbolt.org/z/4QMtpo)

<comment><USER4> Whoops! You're absolutely right. I'll fix that in a bit.

<comment><USER3> Cool. :) Nice article btw.

I noticed a few other things in the section about segments:

> The good news is that caring about them isn't too bad: they essentially boil > down to adding the value in the segment register to the rest of the address > calculation.

Surprisingly, the segment register's value isn't added directly (my coworker and I discovered this recently). The segment bases are stored in model- specific registers, and I don't believe these are readable from user-space. [https://en.wikipedia.org/wiki/X86_memory_segmentation#Later_...](https://en.wikipedia.org/wiki/X86_memory_segmentation#Later_developments)

If you try to read %fs directly, you'll get a completely unrelated value (an offset into table I think?)

Another surprising and unfortunate thing is that segment-qualified addresses don't work with lea. That means getting the address of a thread-local unfortunately is not as simple as "lea rax, fs:[var]." You actually have to do a load to get the base address of the thread-local block (eg. fs:0). The first pointer in the thread-local block is reserved for this. That's why this function has to do a load before the lea: [https://godbolt.org/z/jkt28n](https://godbolt.org/z/jkt28n)

<comment><USER4> Thanks for the kind words!

And yep! I need to make the language around the segment registers more precise: if I'm remembering right, the segment value itself gives you the GDT index (maybe only in 32-bit mode?), which you can then pull from.

For 64-bit modes I think those values essentially become nonsense because of the fsbase/gsbase MSRs, as you mentioned :-)

<comment><USER5> If I recall correctly, at least on 32-bit mode the segment registers were a 13-bit offset into either the GDT or the LDT (so a maximum of 8192 entries on each), 1 bit to choose between the GDT and the LDT, and 2 bits for the protection ring. The base and limit (and other details) were loaded from the GDT/LDT when the segment register was loaded; the undocumented SAVEALL/LOADALL instructions could save and load the "hidden" base/limit/etc directly, leading to tricks like the "unreal mode".

</comment></comment></comment></comment></comment><comment><USER6> I actually find the intel manual on SIB bytes quite straightforward and useful. Section 2.1.5 and specifically tables 2-2 and 2-3 show really quite simply all possible values of the ModRM byte and their operands [1].

It can be quite a good exercise to try and produce your own hex opcodes from the tables using something like CyberCheff [2].

[1] [https://www.intel.com/content/dam/www/public/us/en/documents...](https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures- software-developer-instruction-set-reference-manual-325383.pdf#page=38)

[2] [https://gchq.github.io/CyberChef/#recipe=Disassemble_x86('32...](https://gchq.github.io/CyberChef/#recipe=Disassemble_x86\('32','Full%20x86%20architecture',16,0,true,true\)&input=OGIwMAo)

<comment><USER7> You can append #page=N directive in the url to link directly into the relevant page. Section 2.1.5 would be in this url[1].

[1] [https://www.intel.com/content/dam/www/public/us/en/documents...](https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures- software-developer-instruction-set-reference-manual-325383.pdf#page=38)

</comment></comment><comment><USER8> This is a good blog post about instruction encoding. I like to use this data structure to describe how memory addressing works in long mode:

        register char (*(*(*(*ram)[512])[512])[512])[4096] asm(cr3)

Basically each modrm pointer thingy goes through four layers of page table indirection for each memory access, in order to turn virtual memory addresses into real memory addresses. But it's mostly an implementation detail where access to the above data structure is restricted to the operating system only, unfortunately, and the closest thing we have to using it is the mmap api.

</comment><comment><USER9> I think it's good to understand why compilers emit these.

The dominant reason is: it saves registers. X86 is register starved even in 64-bit mode. Just 16 regs means shit gets spilled. If you also needed a tmp reg for each memory access, the way that makes things slower is that it causes spills - usually elsewhere - that wouldn't have been there if the address was computed by the instruction.

It helps that CPUs make these things fast. But it can be hard to prove that using the addressing mode is faster in the absence of the register pressure scenario I described.

<comment><USER10> Well, if you care about register pressure you'll only be saving at most one register, since you can just do a shl/add sequence into that to grab the address, and you can save even that if you're willing to clobber one of your input registers when generating the address, or you want a load into a register from that address later. So I thought that the real reason it existed was that it saved you from the data dependency you've just created if you used the technique described above, plus you have that extra lea execution port/low uop unit or whatever that modern Intel processors have these days for doing this. Plus I guess you save a bit on decoding and code size too.

<comment><USER9> One register is a big deal on x86-64.

Even bigger deal on x86-32.

I recently wrote a x86-64 backed (as in like 4 years ago) and I recall that if address pattern matching (which is now very complete) was not there, you'd lose >1% perf across the board.

I wrote a pretty good x86-32 backend - for a totally different compiler (a whole program PTA-based AOT for JVM bytecode) a long ass time ago and vaguely remember it being like 10-15% there.

Note I'm talking about macrobenchmarks in both cases. And not individual ones - the average over many.

Also don't forget those functions that sit on the ledge of caller saves. Having any caller saves is more costly than having none. So if a function is using all of the volatile regs, makes no calls (so no need to promote to caller save), and you cause it to use one more register, then it's prologue/epilogue slows down.

Registers matter a lot. :-)

And about your point about freeing up ports or other things: that may be a cool theory, but I'm just saying that it's hard to show that using those addressing modes is a speedup if register allocation doesn't care either way (I.e the use of addressing modes doesn't help spills or prologues). Meaning, most of the reason why compilers emit these is for regalloc, and it is the only reason that I've been able to detect as being the one that changes perf across two different back ends.

<comment><USER9> Stupid autocorrect of course turned most of my attempts to say callee save with caller save.

<comment><USER11> Can't you add "callee" to the autocorrect dictionary? I know I've done that on Android with the AnySoftKeyboard app, not sure about others.

</comment></comment></comment></comment></comment><comment><USER12> Neat! I feel like wrapping my head around the 6502's indexed indirect addressing mode a few weeks ago well-prepared me for this article :)

<comment><USER13> Ah yes, takes me back. Page zero is kind of like a large bank of registers with the fast access instructions.

The one that I remember puzzling with back in the day was 'SEI' \- I mean, why have an interrupt disable bit? Wouldn't it be more sensible to set and clear interrupts, not set and clear disabling interrupts.

</comment></comment><comment><USER14> > mov rbx, 0xacabacabacabacab

Am I the only one seeing this?

<comment><USER12> all cats are beautiful

</comment></comment><comment><USER15> Have been digging into segmentation and paging in Linux as well as x86_64 instruction encoding lately. Almost all the technically detailed information I know of elides discussion of historical context. Coming to these things for the first time, there is _so much_ that feels counter to how one would want to design things if starting from scratch.

Thus, I spend quite a bit of thought, trying to infer the historical constraints and motivations that give us x86's beauty, but I'd love to have some resources that could flesh out my understanding in this regard.

<comment><USER16> See if you can find any books about assembly language programming for the 8086 (or 8088) and the 80286. Just those two should give enough context for why things are the way they are on the x86 line.

<comment><USER17> Not sure about that. Segmentation as it was used on Intel CPUs before the 386 ("Real Mode", "Protected Mode") wasn't used in Linux (other then during the boot as PC BIOS was running in 8086 compatible Real Mode). Linus was quite outspoken about the awkward programming model of those earlier CPUs and there's a reason Linux started not before he got a 386 (he was accustomed to 32bit wide flat address space from the 68008 in his earlier Sinclair QL).

Paging is an old OS concept and predates Intel CPUs and even Unix. How far back in time do you want to go?

I think some concepts which were influential in the early days of Linux are well covered in Minix (1.0) code and book (after all, Linus first experimented with a 386 scheduler for Minix).

<comment><USER16> xelxebar was asking about this historical background of the x86 architecture, not a historical background of Linux. Knowing how the x86 architecture evolved over time helps explain the oddities.

</comment></comment></comment></comment><comment><USER18> Nice blog!

Would it fair to say that the following can be considered an encoding of an instruction? ADD rax, rax

Since if we do then we can actually say x86 has 2 forms of encoding. It's assembly form and it's binary form which is abit interesting.

<comment><USER19> You _could_ say this because it is true, but the term "encoding" is mostly used to refer to the binary representation. The textual, human-friendly representation of an instruction is often referred to as an "instruction mnemonic".

</comment></comment><comment><USER20> > x86_64

I don't know why people still use these crazy names. x86_64, x64, etc. The people who designed it call it AMD64. Let's call it that.

<comment><USER4> Author here: I use AMD64 and x86_64 interchangeably (with a slight preference for the latter when publishing something, since it has more Google results than the former). I agree that the proliferation of names is an unfortunate mess.

FWICT, "x64" is mostly limited to Microsoft. I wouldn't mind that one being thrown out.

<comment><USER20> > FWICT, "x64" is mostly limited to Microsoft. I wouldn't mind that one being > thrown out.

Yes, that one particularly, since 86 and 64 don't even have anything to do with each other. One is a product number and the other is a word width - <USER2> did they replace one with the other?!

<comment><USER4> Complete shot in the dark, but I wouldn't be remotely surprised if there's a `TCHAR arch[3]` somewhere deep in MSBuild.

"x86" fits nicely in there and they couldn't refactor it in time, so they just decided to go with "x64".

</comment></comment></comment></comment><comment><USER21> Kinda weird that the author couldn't think of a use for base+index addressing. Doesn't it seem like the obvious application?

Anyway, the tone of the article is unnecessary, IMHO. These addressing modes are useful and easy to understand, and the address generation units do double- duty as low-latency, high-throughput add-and-shift units, via the LEA instruction. CISC is useful, after all.

<comment><USER22> > These addressing modes are useful and easy to understand, and the address > generation units do double-duty as low-latency, high-throughput add-and- > shift units, via the LEA instruction.

While I think you are right that LEA exists because of the memory addressing modes, at least on Intel (and I'm pretty sure AMD) it's been a _long_ time since it's actually been executed on the address generation units. Instead, it's [mostly] treated as just another arithmetic instruction and executed on the same integer ALU's that execute all the other simple integer math. According to Agner ([https://www.agner.org/optimize/instruction_tables.pdf](https://www.agner.org/optimize/instruction_tables.pdf)) it's been this way at least since the original Pentium.

Does anyone know what the last mainstream processor was that actually executed LEA on the AGU? And whether there any less mainstream processors that still do?

[mostly] I say mostly because there are a few odd addressing modes that have longer than usual latencies, and a because the 3 argument form also takes longer than the usual 1 cycle latency. It's still executed on a standard integer port, though, and not on the AGU.

<comment><USER21> Sure, but there's still something special/magic about LEA. For one the ports on which it dispatches are different from the ones available for ADD or SHL, even though is it effectively capable of SHL with register and immediate operands. And it's odd that 2- and 3-component address is 1 uop. Even though it's in the kitchen sink with all the other arithmetic, it's still a special case, rather than being decomposed into several adds, shifts, and moves.

<comment><USER16> Generally speaking, the LEA instruction will never modify the flags, while ADD and SHL will.

</comment></comment></comment></comment><comment><USER23> It's a nice tutorial on base plus index addressing but from the title I expected a tutorial on pointer tags as x86_64 is what makes tags even possible, i.e. we have a 64b address space but not 2^64 memory locations.

[https://www.mikeash.com/pyblog/friday-qa-2012-07-27-lets- bui...](https://www.mikeash.com/pyblog/friday-qa-2012-07-27-lets-build-tagged- pointers.html)

And for ARM.

[https://www.mikeash.com/pyblog/friday- qa-2013-09-27-arm64-an...](https://www.mikeash.com/pyblog/friday- qa-2013-09-27-arm64-and-you.html)

<comment><USER10> Actually, Objective-C's tagged pointers mostly rely on malloc's alignment guarantees.

<comment> dan-robertson This is the case for most tagged pointer systems. Indeed most of them come from a time when 32 bit support was required.</comment></comment></comment>


Schools Are Deploying Digital Surveillance Systems - <AUTHOR> https://www.edweek.org/ew/articles/2019/05/30/schools-are-deploying-massive-digital-surveillance-systems.html <comment><AUTHOR> Related: "Florida Plan for a Huge Database to Stop School Shootings Hits Delays, Legal Questions" [https://www.edweek.org/ew/articles/2019/05/30/florida- plan-f...](https://www.edweek.org/ew/articles/2019/05/30/florida-plan-for-a- huge-database-to.html)</comment>


Action video games improve brain function more than so-called 'brain games' - <AUTHOR> http://www.psypost.org/2015/10/action-video-games-improve-brain-function-more-than-so-called-brain-games-38100 <comment><USER2> I don't know about action games in general but I definitely feel like highly competitive games (esports) have an extreme mental side to them. I'm thinking about some of the top games like Counter-Strike, League of Legends, Dota, Starcraft. Most of the difficulty in those games is decision making, being able to keep track of multiple things at once and, at least in the team games, be able to gather information about your opponent and communicate that to your teammates effectively.

edit: and you get good at those by playing and practicing that one game for thousands of hours

<comment><USER3> Indeed, like the amount of planning and strategy in this Q3 match is incredible, [https://www.youtube.com/watch?v=XdkDjsBiO58](https://www.youtube.com/watch?v=XdkDjsBiO58)

<comment><USER2> thanks for this. I played quake live for a couple months solid last year and just couldn't make a dent against anyone in duels except other new players even though i was working hard to improve

</comment></comment></comment><comment><USER4> PDF link to actual scientific publication here: [http://bbs.sagepub.com/content/2/1/101.full.pdf+html](http://bbs.sagepub.com/content/2/1/101.full.pdf+html)

It should be mentioned that the article is a review article and doesn't provide any actual head-to-head comparisons between "action video games" and "brain games." In addition, one of the authors (Aaron Seitz) developed a cognitive training program (Ultimeyes) that is much more like a "brain game" than an "action video game"

A summary from the article than its title is "A new article argues that it is the specific content, dynamics, and mechanics of individual games that determine their effects on the brain and that action video games might have particularly positive benefits."

</comment><comment><USER5> In other words it suggests penalties trump rewards. It seems to work that way with addictions too: [http://medcitynews.com/2015/05/to-quit-smoking-turns- out-pen...](http://medcitynews.com/2015/05/to-quit-smoking-turns-out- penalties-work-better-than-reward-incentives/).

That is to say: I suspect the "penalty" of getting "killed" in a humiliating fashion thus thwarting a goal is more of a motivation than the reward of hearing a voice say, "good job for memorizing that numerical pattern."

<comment><USER6> If that turns out to be true, then that's a huge finding. That's especially considering the fact that modern psychology/therapy is generally recommending positive reinforcement (treats) as opposed to negative reinforcement (penalties) for teaching/conditioning behavior. This could lead us to revise commonplace methods for teaching children, training pets, and for managing individuals and groups in general.

<comment><USER7> It's possible that the source of the negative reinforcement matters. In games it comes from either the environment, or from another person who's part of a (temporary) outgroup. If you simulate aggression towards that person you will be rewarded. In schools it comes from another person in a position of authority over you, and if you act aggressively towards them the punishment will escalate to you point where you are almost guaranteed to lose.

</comment></comment></comment><comment><USER8> "Action video games" is the fascinating academic-grant-ready rebranding of violent video games, in case anyone is confused what this is talking about.

Is there a stigma associated with violent video games? Of course. No academic institutions are funding developmental psychology research into violent video games the way they fund the study of educational games. This is despite violent video games being way more appealing to children.

Beyond psych? More people have inhabited the Office level in Counter-Strike for more combined time than any office building ever built in Manhattan. But you'll never read about video game architecture in an architecture journal, design blog, etc. It's a universal aversion to serious conversations about games just because they involve shooting aliens.

Can development psychologists get out of the ghetto of investigating games' impact on violence or attention deficit? Maybe. Studies like the one done in this article are a good step forward. But this study still indicts video games for something, just different video games. The improvement-in-vision studies are on the right track, but they are at this point half a decade old. Surely someone has some fresh ideas.

Those game developers haven't read a single page of psychology literature. Yet they have succeeded in massive, non-chemical cognitive behavioral modifications. You'd think someone could make an academic career out of this.

<comment><USER9> While the article did mention first (Wolfenstein: The New Order) and third (Grand Theft Auto V) person shooters as "action video games", the term could easily apply to games like Rocket League which – while similarly fast-reflex online multiplayer games – are violence free.

The specific description of action video games in the article is:

> complex 3D settings, that feature quickly moving targets that pop in and out > of view, that necessitate substantial visual processing of the periphery, > that include large amounts of clutter and task-irrelevant objects, that > require the player to consistently switch between highly focused and highly > distributed attention, and that require the player to make rapid, but > accurate decisions

There is no mention of violence or shooting.

</comment></comment><comment><USER10> Those who are interested in some discussion about games may find extra credits youtube channel interesting.

This particular episode mentions the previous study on violent video games, and talks about how maybe video games actually help make people more empathetic:

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

</comment><comment><USER11> Is this much of a surprise? 'Action video games' these days take place in basically real life 3d simulations - any problems you solve in them can basically map directly into the real world (travelling from A to B, resource/time management, awareness of what your enemies/competition are thinking/doing etc)

<comment><USER12> When my wife asks me why I enjoy FPSs (Titanfall, Call of Duty, Halo, etc), I try to explain to her that its like the fastest game of chess imaginable. The difference being that you can only see a couple of the pieces on the board and you have to try to keep track of where you think the remaining pieces are in your mind.

</comment></comment><comment><USER13> With this type of evidence, it can be easy to justify spending even more hours playing video games. However, everything in moderation. It's very easy to take it too far when it comes to action video games. Now we should ask, which one is better for your well being in the long run? Action video games tend to be significantly more addicting than its counterpart. Is it worth that repercussion for slightly improved brain function?

<comment><USER14> > Is it worth that repercussion for slightly improved brain function?

It's like reading - it's worth it for the eintertainment, and the benefits are nice bonus. And it's easy to lose too much time on it. But I wouldn't switch from reading fiction to reading encyclopedia to be "safer from book addiction".

</comment></comment><comment><USER15> Jane McGonical goes into this in her new book Superbetter too. She singles out Luminosity.

<comment><USER16> My parents swear by Luminosity, are they wasting their time?

<comment><USER17> Yes - for the most part improvements in those memory games improve... performance on those memory games. There is a paper showing that Luminosity specifically doesn't help.[0]

Our brains are really good at learning to optimize for a very specific task.

edit: reference

[0] [http://www.sciencedirect.com/science/article/pii/S0360131514...](http://www.sciencedirect.com/science/article/pii/S0360131514001869)

<comment><USER18> As an example of that task specificity, for master level chess players, they are better than amateurs and novices at memorising real chess board layouts, but not significantly better at scrambled board layouts.

[http://theinvisiblegorilla.com/blog/2012/02/15/how- experts-r...](http://theinvisiblegorilla.com/blog/2012/02/15/how-experts- recall-chess-positions/)

</comment></comment></comment></comment><comment><USER19> It's unfortunate that video games need research to make them seem worthwhile, but sports are widely accepted as being good things for kids to do. Even though I'd bet there's a negative correlation between time spent playing sport and academic performance, at least at the more extreme ends of the spectrum. At high school, it's not even good for preventing obesity since the most lasting obesity starts in childhood before teenage years. Anecdotally, I know several people who played competitive sport at high school then quickly became overweight afterwards apparently because they maintained the high-energy eating habits they needed as a teenager.

<comment><USER20> > It's unfortunate that video games need research to make them seem > worthwhile, [...]

Just wait a generation.

I am willing to bet however, that your opinion on sports is too pessimistic. At low to medium levels sports probably helps academic performance, because it helps everything. (But for a proper bet, we'd have to agree on more precise terms, and odds we are offering, and an amount, and then go ahead and do some research.)

<comment><USER21> > Just wait a generation.

There are still plenty of people who have grown up with games as a normal part of life that look down on those who play them as wasting time and hold it as a badge of honour when they no longer play them, as though this means they have now matured.

Modern sports grew out of gentleman's games in universities, the whole culture was something that people looked up to as civilized before it came to be something everyone 'participated' in.

> At low to medium levels sports probably helps academic performance

I don't believe the parent was talking about actually playing sports, which would help, but was more talking about the Sunday Afternoon Football game where it is socially acceptable to sit and watch the game and associated commentary for hours

<comment><USER20> Have you actually read Asbosto's comment?

> [...] but sports are [...] for kids to _do_. [...] correlation between time > spent _playing_ sport and academic performance, [...] preventing obesity > [...]</comment></comment></comment></comment>


Why is it hard to find an opening for an electrical engineer? - <AUTHOR> i had been going every month through the thread of who's hiring in HN but most of them if not all are for software engineers, why there aren't opening for electrical/ hardware engineers? <comment><USER2> I think HN is not the better way to find a opportunity for electrics...

<comment><USER3> Maybe there are some hardware startups hiring EE's around here.</comment></comment>


Vim on a mechanical typewriter - <AUTHOR> http://qqrs.github.com/blog/2013/05/03/vim-on-a-mechanical-typewriter/ <comment><USER2> isn't that how Vim would have worked if you SSH from a physical TTY _anyway_?</comment>


Ask HN: What about this landing page? Does it rock as it should? - <AUTHOR>

Hi everyone.
This is my first submit on Hacker News, but I've been reading and loving it for months now. Some friends of mine and I are developing a web app called Dayri that lets you keep your diary online. And as every startup, we had to design and ship a landing page. We would love to hear your feedback about it. :)
http://dayri.me/
I think that there are too many similar landing pages, if not alike, and therefore I came up with this. We wanted to give a unique look to Dayri and, at the same time, we tried to find a way to get more subscribers.
In your opinion how does it look? Is it comfortable or you get tired after the second scroll? We originally conceived five slides but we suddenly realized that it would have just bored the user and got him not to sign up for an invite.
Will <comment><USER2> TL:DR

I though each slide had to much text for me to read before I could get to the point. I also missed exactly -what- this service did. It's market (why keeping diaries is good) not brand (why dayri is good).

<comment><AUTHOR> As I said in another comment, we didn't want to say anything about Dayri.

</comment></comment><comment><USER3> I thought the design was cool and creative and I agree with illdave that on an iPad the scroll is satisfying.

Can you please explain what is special about your diary? How is it different than a private blog?

I felt you emphasized the privacy policy a bit too much.

I thought you would appreciate the design of another site (also vertical scroll), see <http://benthebodyguard.com>

Good luck!

<comment><AUTHOR> Thank you kerben. I already knew Ben The Bodyguard and it is fantastic, I love it.

Well, let's say that Dayri will let you write about your day in less than 2 minutes. And it won't be a private blog, it's a completely different concept. :)

</comment></comment><comment><USER4> Nice implementation, but your worries are justified. Try a high impact landing page, and redeploy this in an 'about' context. Maybe work a seamless sign-up, or some other 'action' into every slide as well.

If you are really keen on what you've got, compare it to this one...

<http://thehagency.com/> <http://thehagency.com/start.html>

<comment><AUTHOR> Oh, well... That is fantastic. Many thanks for the feedback. :)

</comment></comment><comment><USER5> The design looks nice, but the scrolling feels excessive.

<comment><AUTHOR> What do you mean exactly? Should I increase its speed?

<comment><USER6> I think increasing its speed would be good

<comment><AUTHOR> I'll increase the speed for sure. Thank you guys. :)

</comment></comment></comment></comment><comment><USER7> I use OhLife[1] to keep a somewhat regular journal online. You all might want to check out their landing page, its very neat and to the point.

On your website, after about two scrolls, I didn't want to keep going. Also maybe make the font a little thicker/bolder. Good luck.

[1]<http://ohlife.com/>

<comment><AUTHOR> I already knew OhLife but thanks for the feedback. Sadly that font, bolder, is a bit ugly.

</comment></comment><comment><USER8> I think it's very creative. It really got my attention and made me curious.

I agree with SethBroomer concerning 'itsworthit." I was looking for a bigger payoff than the well done layout and curious quotes.

I was looking for a big point to be made at the end. "How is dayri.me a brand new way?" Is the question I left with.

<comment><AUTHOR> Thank you for this precious feedback. I'll think about this. :)

</comment></comment><comment><USER9> I thought its too much and by the time I click on it and it scrolled over, i forgot what the first part was. Also, too many screens to go through. Cool effect and unique, but i would do if for like 1 or 2 slides and quicker.

<comment><AUTHOR> Thanks for the feedback. We'll find a solution. :)

</comment></comment><comment><USER10> Clickable: <http://dayri.me>

I'm not really your target audience, but I just wanted to say that, on an iPad, that tap-to-scroll-down is extremely satisfying. :)

<comment><AUTHOR> Thank you for the feedback, illdave. We hadn't tested it on an iPad yet. Thanks. :)

</comment></comment><comment><AUTHOR> You can find a little preview of its design here <http://drbl.in/VdP>

Okay, it's not much but what do you think?

</comment><comment><USER11> 4 clicks just to get the form? I don't think so...

<comment><USER12> I don't like the verbage here. I would Just say: Click on the page to go ahead. The "It's Worth it" is a turn off to me. I agree with set028 that 4 clicks to the bottom is way to much.

Instead maybe you could do something like this: 1\. Have your logo and tag line at the top 2\. In the center put your messaging and have the user either click it to scroll to the next message or do it automatically ever N seconds 3\. Have the sign up at the bottom i.e. make it fit on a 1024x768 screen so that the user always sees your company name and how to sign up.

Hope that makes sense

<comment><AUTHOR> You're right, it's better without "It's worth it". Your idea is nice and you're also right about the logo because if you see the page for the first time you don't understand what it is about. But this is part of the "I want to know more about it" effect, even if I agree with you that the logo should be visible. It's just that in the page as it is now I don't know where to place it.

</comment></comment></comment><comment><USER13> Should "everywhere" be "anywhere"?

To me, "Click everywhere to go ahead" means that, in order to proceed, I must click everywhere.

<comment><AUTHOR> I don't understand the difference but "anywhere" is nicer, it sounds better. :)</comment></comment>


CoinDesk Gets Acquired by Digital Currency Group for $500k-600k - <AUTHOR> http://techcrunch.com/2016/01/13/coindesk-acquired-by-digital-currency-group/ <comment><USER2> A home costs more than this in California...</comment>


Curated List of Online Courses on Marketing, Design and Self-Improvement - <AUTHOR> http://goround.me/streams/growth <comment><USER2> Wouldn't the marketing and self-improvement classes negate each other?

<comment><USER3> The key to self-improvement is broadcasting to everyone that your a better changed person. Better yet, don't change but just do a better job of portraying yourself in a better light.

welcome to the hell of post-digital living

</comment></comment><comment><USER4> Not curated but well organized listing of MOOCs, including marketing, design, etc: [https://www.coursebuffet.com/areas](https://www.coursebuffet.com/areas)

</comment><comment><USER5> There are a couple of things on this list that claim to be free, but when you click through aren't. One example is the 10 Days to Better Design course that is actually $10.

<comment><USER6> Ok, we took "free" out of the title above.

</comment></comment><comment><USER7> tldr:

> Marketing Courses Reduced To 5sec GIF's: Present your product like Steve > Jobs!

<comment><AUTHOR> [http://goround.me/events/37814](http://goround.me/events/37814)</comment></comment>


From GNU social to Mastodon - <AUTHOR> https://thomask.sdf.org/blog/2018/08/19/from-gnu-social-to-mastodon.html <comment><USER2> I've become more and more annoyed with Twitter (the company) and Twitter (the things people are tweeting) and I've been looking for a replacement. I really like the way that the Fediverse has all kinds of different groups/instances/neighborhoods. For example, I joined [https://ruby.social](https://ruby.social) this week and I've had some interesting discussions about Ruby programming. Twitter is a mess of everything because anything and everything is a topic.

<comment><USER3> I like it too, but having used it casually for about a week, I'm wondering how you visit different communities without creating multiple accounts? It should be as easy as visiting a different subreddit.

(I do know that you can subscribe to individuals in other instances, but haven't done that yet.)

<comment><USER4> Let me see if I understand the problem.

alice register on instance "music"

alice wants to see what's up on instance "books"

Is the problem that the default behavior of Mastodon requires alice to register a new account on "books" just to see that instance's timeline?

<comment><USER5> Yes, that is exactly the problem.

Although it might be better to say that that's the manifestation of the real problem. The real problem is that I want to be able to talk about books sometimes, even though I'm a musician so I registered on the musician instance. If there's a way for me to have conversations about books, I don't care whether it's an "instance" or not. I just don't want to manage two separate accounts. (As an end-user, none of my end-goals mention the word "instance".)

<comment><USER4> Yeah, I guess I'm confused about why an instance has any topic whatsoever associated with it.

For a federated design I'd assume the main difference among instances to be code of conduct/ToS.

<comment><USER6> I've been on one Mastodon instance and one Pleroma instance. Neither really had a set topic, and both pulled in some toots from other instances that were "similar", but my posts are about anything I want, as they would be on Twitter.

</comment></comment></comment></comment></comment></comment><comment><USER7> What I don't understand: Why do they promote the software instead of the protocols?

News and e-mail had different server software and clients and were both used around the world.

Mastodon uses standard protocols, too.

<comment><USER8> People use software, the value add Mastodon has over GnuSocial is that it's software that advertises itself to users on its own merits. (Well that and a moderation policy that's stricter than Twitter's, supposedly.)

<comment><USER9> Yeah, but I'd like to use software that isn't written in PHP or Ruby (for a variety of reasons, some valid, and some not). If the protocol was better documented, there might be more choice.

<comment><USER10> There is pleroma which is written in Python and functions with the mastodon web interface natively .

<comment><USER11> Pleroma is written in Elixir

[https://blog.soykaf.com/post/what-is-pleroma/#less-moving- pa...](https://blog.soykaf.com/post/what-is-pleroma/#less-moving-parts)

<comment><USER10> I probably remembered wrong... still not Ruby or php!

</comment></comment></comment></comment></comment></comment><comment><USER12> I tried Mastodon early on and it was pretty slow, which I assume is due to it being a Ruby on Rails app that probably wasn't heavily optimized. Probably also partly due to there only being a handful of popular instances so the inrush of users weren't being spread out very much. Anyone still encountering that?

A fairly popular instance also crashed and lost all accounts, toots etc.: [https://web.archive.org/web/20180325132625/https://mastodon....](https://web.archive.org/web/20180325132625/https://mastodon.rocks/about)

<comment><USER13> The choice of Ruby for a platform that is supposed to enable decentralization does not make sense.

Most Ruby apps have tens to hundreds of dependencies and require a build environment which immediately limits access to a smaller group of developers familiar with Ruby build environments and debugging their way out of any dependency hell. Customization also becomes a problem.

There is also no particular design in Mastodon itself to enable more transparency and prevent any arbitrary behavior and abuse of power.

<comment><USER14> Really?

There's official Docker images that I've been running sucesfully for a while, the deployment of Mastodon is really no different from any other self-hosted app these days.

<comment><USER13> This is even worse. Now you want the average user to know to now only know Ruby but also Docker? These are technologies for technical folks, the kind of troubleshooting required is not trivial.

And just packaging something in Docker does not make the need to understand it go away, what happens when things needs to be configured, when database connections don't work, when things go wrong? You still need to understand the software stack pretty well if you want to run it with any degree of confidence.

<comment><USER14> > This is even worse. Now you want the average user to know to now only know > Ruby but also Docker?

Docker is not a requirement, it's an additional deployment option. Sure, having a static binary might be easier, but with Docker is pretty much equivalent, you get one, static download.

Had Mastodon been written in Go, this would not solve the problem of having to know Go if things go seriously wrong and you need to debug the actual software. Do you need C knowledge to run Linux? No, but it is certainly helpful.

For what it's worth, I've never had to touch anything Ruby-related in my several months of running a Mastodon instance.

</comment></comment></comment></comment></comment><comment><USER15> if anyone is averse to the column layout on the default Mastodon UI they should check out [https://pinafore.social](https://pinafore.social) for a more Twitter like layout.

rather than being a mastodon instance you simply use pinafore as your portal to your existing mastodon account.

<comment><USER16> Can't really figure it out. I try to login and put mastodon.social in the Add instance field, but I get an error:

> Error: undefined. Is this a valid Mastodon instance? Is a browser extension > blocking the request?

<comment><USER17> You'll see that error if the Service Worker failed to register. Check your browser console?

<comment><USER16> I think I've cracked it: it does not work in Firefox Private mode.

<comment><USER18> Author of Pinafore here. Yes, ironically for an app and userbase that is so focused on privacy, things like private browsing, Privacy Badger, adblockers, etc. can cause compat issues with Pinafore.

Interestingly, the reason is (as I discovered) that most of these tools consider cross-origin requests as a signal of a third-party tracker or ad, and therefore block it. Pinafore works by talking directly to the instance's API, and so the instance itself is suspected to be a third-party tracker.

</comment></comment></comment></comment></comment><comment><USER19> I decided to join Mastodon when it first came out. I planned to stand up my own server, but I kept.putting it off...

Flash 2 years later, last week I finally got a Mastodon instance up, and I don't host it myself. I'm using [https://masto.host](https://masto.host)

They let you used your own domain.

My thought process is to not waste my time writing automation to stand up a server until I know I really want to use it.

So far I love it even though I only have 3 followers. I'm "micro blogging" more frequently than I used to on Twitter.

Of you have been meaning to stand up a Mastodon instance but just have not gotten around to it, maybe give mastodon.host a try.

They provide the ability to export and self host.

<comment><USER20> I was wondering if they allow export. I poked around the website for a bit and didn't see anything. That's the primary selling point for me. I want to run my own instance eventually but I'd love to start with something hosted.

<comment><USER21> [https://github.com/kensanata/mastodon- backup/](https://github.com/kensanata/mastodon-backup/) allows you to backup your mastodon data.

It also allows you to expire your toots, boosts, etc. The idea is that you don't want people searching your timeline to find gotcha's.

</comment></comment></comment><comment><USER22> I really miss something like thematic "groups" or "channels" in Mastodon, i.e., a mechanism for making sure that all the people subscribed get all the messages published in it.

That's the #1 feature that allows separate communities to grow, which makes places like Usenet or Reddit or ICQ to become a global conversation where anyone can participate, and where private conversations between restricted communities can happen independent of a central server.

The "timeline" model where everyone publishes their own stream, and anyone subscribe to individual persons, is good for fast propagating of ideas and news; but it doesn't create "clusters" of like-minded ideas that you can follow, and forces everybody to curate their own inputs. This makes it really difficult to jump in, as building a subscription list that provides interesting content and avoids noise has a lot of friction.

<comment><USER23> You can do that with hashtags, but it is only going to show up within your instance's federation. Gnusocial has ! Groups which do propagate all posts, but mastodon didn't implement that bit.

<comment><USER22> Yes, the article mentioned that and that's what made me think about it; it's a different model, close to Twitter but different from other "thematic" social platforms.

Matrix.org has a good model for channels (called rooms), groups of channels [1] (called Communities), and distributed identities. I only hope that Matrix.org will become the common background middleware for all federated services, and all these will tend to implement the same features for interoperability.

[1] [https://medium.com/@RiotChat/communities-aka-groups-are- here...](https://medium.com/@RiotChat/communities-aka-groups-are-here- announcing-riot-web-0-13-riot-ios-0-6-and-riot-android-0-7-4-933cb193a28e)

</comment></comment></comment><comment><USER24> So I was curious and went to look at a few of the servers online. The top server was an unending stream (like, more than once a minute) of Richard Stallman automatically posting political references from some other service he apparently runs. Another server was just some guy who I have never heard of complaining about various things. I came across a group talking about current and passed times they had a beer.

That content will not inspire others to join.

<comment><USER25> >Some guy who I have never heard of complaining about various things

You just described 90% of the content on every social media platform

<comment><USER24> Yeah, I'm a part of the 90% I suppose. :)

</comment></comment></comment><comment><USER26> To get a list of mastodon isntance [https://instances.social/](https://instances.social/) is pretty neat

</comment><comment><USER27> Down for me right now. Mirror:

[https://web.archive.org/web/20180827000013/https://thomask.s...](https://web.archive.org/web/20180827000013/https://thomask.sdf.org/blog/2018/08/19/from- gnu-social-to-mastodon.html)

</comment><comment><USER28> I would love to remember to which instance I signed up with. This is a problem that is harder to solve than email was in the 90's. I knew that it was email@example.com. For mastodon I guess I'll have to go through the list and find the exotic instance i signed up with.

<comment><USER29> Wouldn't you have received a confirmation email from the instance you signed up with?

</comment></comment><comment><USER30> Every social media platform is an echo chamber but it's interesting to see that Mastodon is the first where that's the main selling point

</comment><comment><USER31> So very tempting to post in every single Mastodon-related thread emphasizing it's Mast _O_ don, not Mast _A_ don.

<comment><USER32> More proof we are living in the Berenstain Bears universe, forever disconnected from our original Berenstein universe.

</comment></comment><comment><USER33> Also recently felt a need to leave Twitter and search for an alternative. I initially began using mastodon.social, and have now moved to my own instance [https://mastodon.zone](https://mastodon.zone) as I wanted to setup something in a closer geo location, join if you're around SE Asia!

</comment><comment><USER13> The problem is abuse of power and arbitrary behavior that affects many when they have even a little bit of power. This is what leads to censorship, suppressing views, bubbles and lack of accountability.

Mastodon does not solve this in the slightest, just enables thousands of arbitrary admins. At least with Twitter there is one source and its easier to seek some kind of accountability and put a global spotlight on them.

With platforms like Mastodon this becomes impossible. We instead quickly develop 'ingroups of admins' quietly suppressing others and not amenable to transparency or accountability. Decentralization is about diffusing control not empowering a super group of admins. If that is what you seek why not just stick to twitter.

<comment><USER34> Be your own "arbitrary" admin in that case?

The decentralized nature certainly allows for "competition" between "ingroups of admins". Don't like your current admins? Move to an instance elsewhere. If you have friends, encourage them to follow you in the move.

Different instances have different transparency/accountability metrics, and the good ones tend to have that posted in the Instance About page/terms. Many of the "ingroups of admins" people decry have all of their silences/suspends posted publicly and transparently on GitHub repositories and offer suggestions/propose fixes as GitHub issues and PRs. That's certainly way more amenable to transparency/accountability than anything Twitter has ever offered.

The things that lead to censorship/suppressing views/bubbles/etc on Mastodon aren't power-hungry admins in a secretive cabal, but instead the same powers that be in the world of email: signal-to-noise management (spam management, "newsletter" management, "fwd: fwd: re:" management). That's as much a user opt-in choice/need as any sort of admin opt-out "power", and if other users think you are more part of the noise rather than the signal, then that's more of a "you" problem, isn't it?

<comment><USER13> If the solution is to do your own thing, how exactly is this better than Twitter? Any Twitter user can do that right now, doing your own thing can hardly be presented as a solution. Really, what are the benefits for current Twitter users?

This is just replacing the admins of twitter with random others. So you are not solving the problems of Twitter or decentralization, just promoting your own solution on misleading grounds.

For the average users at least it easier to trust the admins of twitter and expect some accountability and standards of transparency than random others with no accountability.

<comment><USER34> How is it easier to trust the admins of Twitter for the average user? It's a closed, for profit corporation that intentionally obfuscates its moderation practices and in general distrusts direct engagement with admins/moderators.

Every Mastodon instance lists its admins on its frontpage, including how to @ mention them. Most instance admins respond to feedback directly. As I mentioned in the previous comment, particularly good Mastodon instances list their moderation policies and accountability/transparency standards on their frontpages, too, with many of them linking to GitHub repositories or similar where they conduct their business in the source-controlled open.

It's not "random others", because you have the option to choose your instance(s), and can often form personal bonds with the instance's admin(s). Some good instances like toot.cafe and friend.camp are making that a focus that you know who your friendly neighborhood admin is/are and should have a good relationship with them. Sure, your local admin probably talks to other admins or follows other admins, but at the end of the day the admin accountable to the instance is still the one running the instance. There's no central cabal secretly running the show behind the scenes because the admins are already as diverse as the users.

One of the few ways I can see people trust Twitter better is that at least as a for-profit company, it has a business model, and accountability to shareholders (if really, no one else in modern corporate America). There's nothing stopping Mastodon instances from incorporating and forming "proper" business models/governance models to get that additional level of government- blessed transparency. In fact, I've advocated for just that and think that something like a non-profit/charitable Mastodon Foundation to help instances run the business administrivia would be a good idea.

</comment></comment></comment></comment><comment><USER35> With all of its faults, I'll take Twitter and its almost free speech over Mastodon any day. Many people say they are quitting Twitter because of the algorithmic timeline and so on, and they are going to Mastodon where a cabal of people choose to ban opinions that are perfectly legal.

<comment><USER36> I can't help but notice that you, complaining about "free speech", have "88" at the end of your name.

Wonder what kind of speech (which you only defend by its supposed legality) you're concerned about being banned.

<comment><USER37> Are you seriously implying that someone is a nazi just because they have the number 88 in their name? I have the number 87 in my name, what does that tell you about me?

You're a perfect example of what they're complaining about. They've said nothing even remotely offensive, just that they don't agree with shared block lists, and you've already decided that they're wrong and a nazi. I've seen people get added to shared block lists on twitter just because they commented on a thread saying that they both political parties in the US should work together instead of being so devisive, so it's not like only trolls and abusive people get added to those lists.

I hope you enjoy your self-imposed bubble, where everyone you disagree with is a nazi.

<comment><USER36> I don't think everyone I disagree is a Nazi. It's just… easy to lose patience with the "free speech" line of argument when so many people invoking it are doing so in bad faith.

<comment><USER35> Also, not everybody you disagree with acts in bad faith. Nazis, communists, anarchists, you name it: most of them believe their views of society will lead to a betterment of it. They don't adhere to their principles just because they want to fuck with others.

<comment><USER23> Nazi ideology is explicitly about fucking with others. It is about separating people who they disapprove of and killing them. If you're trying to normalise Nazis, you are one of them, and the 88 dogwhistle doesn't look good.

<comment><USER38> I think all ideas should be discussed in an open forum. If you think some people may become nazis, communists or pastafarians because those ideas appeal to them, it's because you're afraid the ideas you're trying to push on aren't that good to begin with. (Posting from another account because that one has been banned for no reason I can discern.)

</comment></comment></comment></comment></comment></comment></comment><comment><USER39> For the social part to really work, you need a community to adopt it. Not just an internet community. Good to see alternatives to Twitter however.

Generally don't like AJAX, it's JS and XML, and in the latter case Twitter services don't require Stylesheets or XLS as it's called -- without -- XML is bloated and creates metadata for sale. In addition to AJAX allowing Orwellian advertisement influence.

Edit: this gets downvoted? reasonable technical criticism or dialogue.

<comment><USER40> do you know how many queer furries are on mastodon right now holy crap, that is definitely a community

Also um I think pretty much the entire fediverse is free of ads right now.

<comment><USER39> Twitter as a media form to participate with the choir in the ether is perhaps more suitable to you than hacker news.</comment></comment></comment>