How traffic actually works - <AUTHOR> http://jliszka.github.io/2013/10/01/how-traffic-actually-works.html <comment><USER2> What an arrogant article. How can you title something 'How traffic actually works' when you don't examine _actual_ traffic. Instead, make up a simple model, run some code, claim it shows what you want.

It's not like modelling traffic is so insanely hard that we need such simplistic models. Pick as complex a model as you like; we have the computing power to simulate it!

<comment><USER3> What author is trying to argue against is the idea of "smoothing-the-wave", which he does prove in his overly complicated article.

Yes, there is too much rambling for making a point, yes the tone of title is quite arrogant / link-baity.

But this terrible essay did prove the point: smoothing the wave is not going to make you go faster.

<comment><USER4> I'm not sure who actually thought that "smoothing the wave" did make you actually go faster though, since a moment's thought shows that "going faster" would necessarily involve going through the bumper of the car in front of you. I think it's about a "laminar" traffic flow being a lot less annoying and dangerous to drive in, if you are going to go slow.

I think he fell down on his own argument when he claims that doing that causes a "big traffic jam" downstream of you; how can it, if you're only 10 or 20 seconds max further behind than you otherwise would be? You can only cause that much additional "traffic jam" in the back, and it may well be worth it to create a more laminar flow.

<comment><USER5> >I'm not sure who actually thought that "smoothing the wave" did make you actually go faster though,

Probably all the people that passed around the critiqued link and suggested that it gives a way to improve traffic flow?

<comment> j-kidd The gist I get from the link is that the act of "smoothing the wave" will not benefit the one who performs the act, but it benefits the drivers behind the lane. You can't fix the traffic jam in front of you, but you can do your part to prevent one from forming behind you.

And that's why people pass around the link.

<comment><USER5> Right: like I said -- and like the GGP (jerf) just denied them saying -- the claim is that it will hasten the traffic flow. Individual vs group benefits is beside the point.

</comment></comment></comment></comment></comment></comment><comment><USER6> _Since occupancy determines flow rate, there's not much benefit to trying to "cancel out" a traffic wave_

This is so fundamentally mistaken as to make the rest of the analysis useless. Traffic waves account for the majority of highway traffic (excluding on and off ramps), and cause the flow rate for a road to be decimated. It should be obvious that avoiding rate decimation is (literally) an order of magnitude more effective than preventing people from merging in front of you.

 _Road signs commonly ask you to use both lanes up to the point of the bottleneck. That's reasonable advice, but it's not going to get anyone home faster._

No, but if your line is twice as long it is twice as likely to cause contention on the roads behind you. ie, if an exit road has a traffic line twice as long, it is probably causing traffic on the non-exiting highway. So, do everyone a favor and (a) don't tailgate (b) ignore people merging in front of you (c) don't drive in rush hour, and (d) ignore traffic advice from people who don't drive.

([http://tomvanderbilt.com/traffic/the- book/](http://tomvanderbilt.com/traffic/the-book/) has actual good advice)

<comment><USER7> >Road signs commonly ask you to use both lanes up to the point of the bottleneck. That's reasonable advice, but it's not going to get anyone home faster.

If you simply kept reading:

>This is good because it is less likely to affect other traffic by spilling out onto onramps and surface roads. Also maybe there's someone on the highway who's planning to exit 3 miles before the bottleneck. If the backup is 2 miles instead of 4 miles, that person doesn't have to wait in traffic.

<comment><USER6> His point is a little different: that someone exiting the highway might exit before reaching the traffic if the line were shorter. My point is that a line on an exit ramp which reaches back onto the highway will _cause_ additional traffic for everyone on the highway. Since his model doesn't take traffic- causing-traffic into account, he never reaches my conclusion.

Exit lines are particularly costly because adjacent lanes of traffic generally only sustain a 10MPH difference in speed. Once the right lane is stopped, a 4 lane highway has a maximum safe speed of 30MPH in the left hand lane. This reduces the flow capacity of the highway and may cause the left lane to lock up because left lane drivers get frustrated at slow speeds and are the more likely to tailgate and cause traffic waves.

His model also is only concerned with the self: "can I reach my goal any faster", and he reaches the mostly correct conclusion that he basically cannot (even though avoiding traffic waves by driving in the rightmost non-exit lane would help him significantly). He does not appear to value his contribution to the delay of the people behind him, which is where all the really interesting conclusions are found, including the reason why traffic wave busting is beneficial.

</comment></comment></comment><comment><USER8> There are cases where leaving a greater-than-normal lane spacing makes sense, in the interest of safety. Safety is something utterly ignored in the fascinating analysis in this article. For example, if I'm in a left lane buzzing along at wide-open freeway speeds and the right lane next to me is congested and backed up and not moving, I leave more than normal spacing in front of me. Why? Because it's very likely that someone stuck in the right lane is going to dart out in front of me or the driver in front of me, and very likely that I'm going to need to make a very sudden stop. It's just unsafe to cruise along at 75 mph next to hundreds of cars that are looking for an opportunity to jump in front of me.

The prisoner's dilemma also applies to this. Behavior that is "optimal" for a single individual in terms of getting to destination is not what's optimal for the collective in terms of safety. And optimal behavior for getting to destination is not the optimal behavior for safety or lower stress driving, either.

<comment><USER9> Shouldn't you leave less space, to dissuade people from jumping in the gap?

<comment><USER10> No - because you don't know what's going on in front of you, and you may need to stop suddenly.

<comment><USER11> If you want to prevent people from jumping the gap, speed up.

If you want to be safe from random edge cases (like someone in front of you slamming on the brakes), slow down.

<comment><USER9> I'd leave at least a minimum safe distance between my vehicle and the one in front.

But Parent suggested that it's a good idea to leave more space in case someone jumps in. I'm not sure I understand that - if they jump in it's always dangerous because you don't know what the person behind you is going to do and you don't know when the jumper is going to jump in. Thus, you want to try to prevent them jumping. This is achieved not by giving them more room (which encourages jumping) but by leaving less gap (reducing jumping) but still leaving the safe minimum.

<comment><USER11> The stopping distance of my car (a Lexus IS300) at 70mph is 171 feet. So I know I need over 14 car lengths in front of me for me not to hit anyone with brakes at full power.

Do I actually leave that much space in front of me every time I drive 70mph? Hell no. But the slower the cars beside me are going, the quicker i'm going to hit one if it pulls in front of me. If they were going 70mph too, I would only have to brake down to, say, 65mph, which would should only take a second. But if they're going 10mph, I now have to come to an almost complete stop to prevent from hitting them, which as you can see above is a lot of car lengths.

</comment></comment></comment></comment></comment></comment><comment><USER12> The central assumption for this argument is that the average time between cars is fairly consistent no matter the environment; small changes to this time do not matter.

However, on a congested road very small changes can have huge effects. IIRC, one study showed that a 1% decrease in the number of vehicles resulted in a 28% decrease in commute time.

<comment><USER13> This. I've studied traffic extensively and if you ever wonder how it works, it is actually quite similar to any other network. Imagine road traffic is the same as traffic through your servers. There are hard bottlenecks at various points, but in practice what matters is planning for variability. Real-life situations like someone cutting you off, people rubber-necking, the natural commute tendencies etc tend to be much more impactful. Unlike with servers, you can't just spin up a new lane, and "packet loss" is pretty much unacceptable :)

EDIT: For all you infra folks out there, imagine not being able to dynamically provision resources, no packet loss and worse, the packets can basically do what they want. That includes things like crashing into each other and stopping any other packets from making it through.

<comment><USER14> re spinning up a new lane: the A38-M Aston Expressway into Birmingham, UK dynamically multiplexes its lanes together into variable width channels depending on the required upstream/downstream bandwidth :) - [http://i3.birminghammail.co.uk/incoming/article1294911.ece/A...](http://i3.birminghammail.co.uk/incoming/article1294911.ece/ALTERNATES/s615/astonexpressway-1294911.jpg)

<comment><USER15> aww hell no. I'd be terrified of merging into that lane with no highway divider between me and oncoming traffic. Small two lane highways are bad enough! :P

<comment><USER16> There are less terrifying, less dynamic alternatives:

[http://en.wikipedia.org/wiki/Barrier_transfer_machine](http://en.wikipedia.org/wiki/Barrier_transfer_machine)

<comment><USER15> Nice! yeah, this would be preferable. If there's a catastrophe in the opposite lane, I'd really love it if it could stay over there while I'm going 70 miles an hour in the opposite direction :P

</comment></comment></comment></comment></comment></comment><comment><USER14> The catastrophe theory model seems compatible with the anti-traffic solution to traffic 'standing waves' \- by slowing down a little when approaching stationary traffic, allowing that stationary blockage time to 'evaporate', you avoid slowing down below the catastrophic threshold that puts your rear bumper more than 2 seconds behind your front bumper, keeping the road in the higher capacity regime. Same reasoning is why UK motorways signpost 'advisory speed limits' \- and some even have variable enforced speed limits - to manage road capacity.

<comment><AUTHOR> OP here, excellent point. Since so much is determined by occupancy (cars per km), I think the only way to switch domains is to lower the road's occupancy, which is exactly what you're doing when you leave extra space in front of you. However, I tried to point out that this probably comes at the expense of increased occupancy somewhere else, so you're just moving the jam around.

<comment><USER17> One thing your analysis leaves out is the human/psychological element. I've never bought into the idea of "erasing" the waves causing an overall throughput increase directly, but rather that it adds buffers so the traffic is a lot more predictable. The more people need to slam on their brakes, the more they deviate from the optimal-flow following distance, effectively wasting throughput. I guarantee you that when humans are involved, you'll get a lot better throughput from a line of nicely synched cars humming along at 25mph with a 2 second gap than the same cars constantly speeding up and slowing down, but maintaining an average speed of 25mph and attempting to maintain a 2 second gap despite wildly varying traffic conditions.

</comment></comment></comment><comment><USER18> For a blog post that that claims to explain "How traffic actually works" I find it disappointing that the author doesn't even briefly touch on the dynamic properties of this problem.

No, this is not how traffic works, the model is much more complex and you're missing very large dynamic effects.

</comment><comment><USER19> This is such interesting stuff. If you go just one step further and plot the carrying capacity of a road against the speed of traffic on it you get a hump which tends towards zero as speed reaches infinity.

The significance of that hump is that it represents a maximum carrying capacity for a road - an optimum speed. If you do the numbers I believe it's about 50mph. What I think is really cool is that when the road is completely at-capacity, traffic is stable above 50mph (as cars can just slow down and capacity increases) but collapses to a jam below below 50mph (because as the traffic slows down to absorb new cars, capacity falls still further).

This is way why, when the M4 motorway funnels down to only two lanes as you approach London, there is a 50mph speed limit - it literally allows the road to carry more vehicles per hour. I also suspect that it's another benefit (other than safety) of setting 50mph speed limits in contra-flows and during roadworks - it allows the road to carry more vehicles despite having fewer lanes.

</comment><comment><USER20> I'll have to try and find the article, this was years ago, but there was a study about people just tapping their brakes lightly that would cause the person behind to do the same, a little longer, etc. etc. that would cause a big traffic jam over time. The study calculated some figure that showed if people just kept their distance up to the person in front, and instead of lightly tapping the brake as a reaction to a merge, and just let the car idle a bit to slowly decelerate, you could reduce traffic slows / jams by a lot. This seems more reasonable than the solutions presented by this article, don't let people merge.. really?

<comment><USER21> I believe the article you seek is the one being critiqued by this author.

Currently I drive for about 15 miles on a major highway (during rush hour at least once) on most days of the week. I rarely _need_ to use my brakes.

</comment></comment><comment><USER22> The article claims that the maximum theoretical throughput for traffic per lane is 2,400 vehicles per hour.

What if every vehicle is separated by 2 seconds of stopping time, but all vehicles are moving at the exact same speed of 200 Miles per hour?

It would take one vehicle 0.005 hours to cover a mile (5,280 feet).

Assuming each car had a length of 10 feet, it would take 0.005/528 = 0.0000095 hours for a vehicle to cover it's own length at 200 mph.

2 seconds is the equivalent of 0.0006 hours. So each vehicle would take approximately 0.0006095 hours to cross any given point.

Providing a number of 1/0.0006095 = 1,640 cars per lane per hour according to my calculations.

I expected the number of cars per lane per hour to increase with speed, which is why I did the calculations, but apparently it does not!

If you could actually drive 200 mph on your way to or from work however, you would get there sooner than you typically do in traffic. It's an odd problem to think about.

<comment><USER23> Hmm? This shouldn't be surprising at all given the rather large assumption that one car passes a fixed point each two seconds. Go as fast as you like... an observer on the roadside must still wait two seconds for each car to rocket (or crawl) by. Imagine having an ethernet card that could only send one frame a second to a party on the other side of the globe: would you care if the additional network latency due to switches and the speed of light were 1msec or 200msec?

Where we may see great improvements in road throughput is in driverless cars that greatly reduce that gap.

<comment><USER24> It'll be really interesting to see how driverless cars negotiate things like natural merges (a freeway losing a lane), and how that affects traffic flow. Ostensibly they'll be as efficient as possible, but if two lanes become one, there's going to be some slowing regardless. Furthermore, in a vehicle that also ostensibly wants to get you to your point of interest in as timely a manner as possible, how does it decide whether to subject itself to staying in a right lane where it might be subject to moreane merges, or does it ever decide to go around a particularly bad or congested spot for the sake of getting you to the destination?

</comment></comment></comment><comment><USER25> I'm having a very hard time accepting the claims of original article, "The Physics Behind Traffic Jams."

Recently, I've tried to perform a few basic hypermiling techniques, especially "timing a light": if I'm the first car to encounter a red light, I leave extra space and can sometimes be moving through the light at 20mph or more when it turns green instead of stopped. It seems analogous to leaving space in front of you during a traffic jam, so that you can exit the jam at a faster speed.

The problem with this is that other drivers will often take advantage of your behavior. They think the most appropriate thing to do is race up to the red light. So instead of profiting from the faster speeds out of the light, they instead cut you off and start the light cycle at a predictable 0mph. You haven't done anything except swap places with these jerks.

<comment><USER26> Flying through a light that _just_ turned green for you is a good way to hit a pedestrian or someone coming in from the left or right trying to catch the tail-end of their yellow.

Please don't do this.

<comment><USER27> Surely most (all) lights leave a significant gap between one set of people going red and the next going green. Of course, people noticing this gap may think "well it only went red two seconds ago, so I have time" \- which would mean not shooting off at the green makes you safer - but if people get used to everyone else waiting 2 seconds after it turns green, then suddenly they have even more time after their turn goes red to make it through...

</comment></comment></comment><comment><USER28> This article is so horribly incorrect and fails right at the very beginning with the wrong assumptions and a idea that isn't thought through. What the author forgot is to take by far the most important variable into account: _SPEED_

So let's quote the author:

"The important fact: there is a limit to the number of cars that can pass by a given point on the highway in a given amount of time, and that limit is one car every 2 seconds, per lane. So imagine you are in heavy traffic during rush hour. There are a certain number of cars in line in front of you. Let's pick a point on the road to call the front of the line — say, the point at which you plan to exit the highway. The line gets shorter by one car every 2 seconds. If there are 1,000 cars in front of you, it's going to take a minimum of 2,000 seconds for you to get to the front of the line. It doesn't matter whether people are kind and let cars merge in front of them, zipper-style. It doesn't matter how much stop-and-go there is. The simple fact is that it takes 2 seconds per car for you to get to the front of the line, and there are some cars in front of you that have to get there before you do."

Ok this is correct. BUT: I don't care if it takes me 2,000s if my exit is 44 miles away (80mph) but I do if my exit is 10miles away.

So you drive along at 80mph and there is cars around you everywhere. Do you care? No, you're covering distance. It's the same as if you were all by yourself on the highway. The distance between cars is absolutely irrelevant and so is the time between cars if you still go 80mph. Nobody would call it a traffic jam.

Next quote:

"Leaving space in front of your car for people who are trying to merge won't solve anything."

Yes it absolutely does. And it again solves one very very important piece of a traffic jam: Average speed. Leaving space is crucial. It allows people to do two things:

\- Accelerate

\- Not having to brake

These two are crucial to get speed up and thus resolve traffic jams. Incidentally he linked an article which visualizes exactly this:

[http://www.smartmotorist.com/traffic-and-safety- guideline/tr...](http://www.smartmotorist.com/traffic-and-safety- guideline/traffic-jams.html)

(Section: Merging-lane Traffic Jams, A Simple Cure)

You can see on the right side how his "cars per second" is _exactly the same_ than on the left side. Yet, everybody will be much happier on the right side. Why? Because the speed's been increased and people in the cars cover ground.

Next quote:

"Suppose you're on a 2-lane (each way) highway and one lane is closed up ahead due to construction. Now the flow rate of your lane is cut in half (or there are twice as many cars in line in front of you, depending on how you want to look at it). Road signs commonly ask you to use both lanes up to the point of the bottleneck. That's reasonable advice, but it's not going to get anyone home faster"

Yes it absolutely does. Why? We are all programmers here so let's talk in our lingo: This is our API. Our interface that we agree on. _If_ people follow the interface (rule), _then_ we have people agree on it and we are predictable and prevent braking. This is exactly what we want. Increase speed (with gaps), prevent breaking, be predicable. No surprising cars merging means no breaking and thus increase in average speed which in turn means no more traffic jam.

Please, disregard this article. The conclusions are wrong, the assumptions are wrong and the deductions and the terrible advice he gives at the end is wrong.

<comment><USER29> > You can see on the right side how his "cars per second" is _exactly the > same_ than on the left side.

Is it my browser, or is this completely wrong? For me, the right side moves about double the amount of cars into the upper edge of the image. And I believe that this is the _point_ of the section — it wouldn't make any sense otherwise.

<comment><USER28> Cars per second are the same. Open the two gifs next to each other. Each has 8 frames and the top right lamp is on for 4 and off for 4.

<comment><USER29> The lamp is irrelevant. Look at the _cars_.

</comment></comment></comment></comment><comment><USER30> _Don't let people merge in front of you, ever._

When you merge, you're merging in front of _somebody_ , so a rule like this, universally followed, is effectively a ban on merging. How's that going to work, exactly?

Travel time isn't the only consideration. Things like safety, fuel consumption, and stress levels are important too.

</comment><comment><USER31> I thought the whole point of these "fixed traffic jam" articles was to make your undoubtedly terrible commute go faster by giving you something to do, or at the very least providing a false sense of control over a situation (like a superstition). The science behind traffic is completely arbitrary and nonsensical no matter how many graphs or numbers you put behind it. There are simply too many different drivers out there to make any empirical evidence useful.

<comment><USER32> I think the idea is to give it a treatment analgous to how statistical mechanics works for properties of gas, for example. True, we can't easily say what individual atoms/molecules might do, but we can say something about the gas as an ensemble.

It's true that free will may make drivers tougher to predict than individual molecules. But molecules obey quantum mechanics and one could conceivibly construct probability distributions for how that particle might behave. In principle, probability distributions could also be constructed for the behavior of individual cars/drivers, so a statistical approximation for the behavior of the ensemble of drivers in a system is probably a reasonable aim.

<comment><USER31> I get that we want it to be consistent but having driven the same roads for years, in the same times of day, in varying but similar weather patterns the driving is completely sporadic so no amount of normalization well give you anything more than a crapshoot on any given day other than "it will probably take me anywhere from 20 to 50 minutes." Statistical analysis is great for many things but understanding the "now" of a traffic pattern is not one of them.

<comment><USER32> I think it depends on what one wants to model. For a general understanding of how traffic flows, a statistical model is okay. On the other hand, if you want to know why a specific traffic jam is happening and how it's affecting the flow, a statistical model won't be sufficient.

</comment></comment></comment></comment><comment><USER33> I wish more drivers would follow the driving etiquette that advises one to "stay right except to pass."

On every highway trip I see countless cars camped out in the left lane but moving at the same rate as the rest of traffic.

One should only use the left lane for passing. Otherwise, stay right.

Traffic flows smoothly when people follow this system.

<comment><USER34> I blame The Eagles. By popularizing the meme of "fast lane" in preference to that of "passing lane", they've badly damaged the laminar flow of highways, and likely contributed significantly to road rage.

<comment><USER35> It _is_ the fast lane in California. According to the California Driver Handbook, the left lane is known as the "fast" lane (p32). They suggest if there are three lanes to use the left lane to drive faster, pass, or turn left. They also say "Do not drive slowly in the left (fast) lane." (p64)

[http://www.dmv.ca.gov/pubs/dl600.pdf](http://www.dmv.ca.gov/pubs/dl600.pdf)

<comment><USER36> The California fast-vs-passing lane pattern also emerges due to two things that California requires that other US states tend not to require: semi-trucks must go slower and keep right.

From the handbook cited above, or see also signage on many CA highways: _The maximum speed limit on most California highways is 65 mph. You may drive 70 mph where posted. Unless otherwise posted, the maximum speed limit is 55 mph on two-lane undivided highways_ and for vehicles towing trailers.

... _When you tow a vehicle or trailer, or drive a bus or three or more axle truck, you must drive_ in the right hand lane _or in a lane specially marked for slower vehicles._ [emphases added]

On divided highways of 2 or 3 lanes in each direction, such as I-5 in the Central Valley, these requirements strongly separate traffic into 2 sets - semi-trucks doing 55-ish in the right lane, and non-trucks doing 65-70-ish in the "fast" lane. (okay, yes, 85-ish, except in Kern County).

The results are that 1) over-the-road truckers dislike driving in CA, and 2) CA non-truck drivers quickly learn to avoid the right lane.

The other 49 US states tend to have more of a "keep right except to pass" pattern, depending of course on other local variations, especially population density, traffic volume, and similar.

Source: someone who drives (and tows) in 18+ states per year.

</comment></comment></comment></comment><comment><USER37> That was the clearest explanation of traffic I've come across. I'm inclined to buy into it (often it seems no one knows what they're talking about when it comes to traffic).

It also runs counter to what is commonly said about traffic jams. Most people focus on restoring smooth flow by doing things such as driving really slow to create space in front of you. This guy makes the case that "flow" is not really the important factor here.

For the record, I am "that guy" who runs all the way down to the end of the closed lane before merging over. Except I don't consider it an asshole move because as OP points out, I'm making the best use of the road ahead (while allowing fewer people to merge ahead of me)

<comment><USER38> This is the one thing that really pisses me off. It gets worse when the lane that you are merging into has a line of cars going back almost a kilometer.

Doing this is like saying "Hey you idiots, look how smart I am" to everyone waiting for their way in the right lane.

<comment><USER39> What pisses me off is having to wait in a kilometer-long line of people merging when what I really want to do is turn right down a side street.

Please keep that line as short as possible by using all the lanes available.

<comment><USER40> I thought we were talking about freeway/tollway/highway traffic? If there are side streets, that's a different situation.

</comment></comment></comment></comment><comment><USER41> I've tested this theory and others on my commute. Whether I speed up and never let anyone in (nearly impossible since someone won't care and will merge knowing you'll most likely not hit them) or keep a good 7-10 car distance, it doesn't matter. My commute on the freeway with either of these two ways or on side streets is always 45 minutes +/\- 1 minute.

The difference is I'm using less gas and putting less wear on my clutch, brakes, etc. by leaving a big gap between myself and the cars in front of me.

Furthermore I find that my demeanor is much more calm and relaxed when I leave a big gap because I'm not tensing up to avoid rear ending someone every time I stop.

</comment><comment><USER42> Great. I really hope that like 100% of jerk drivers do not find out about this. Never let people merge in front of you...geez man, really?

<comment><AUTHOR> That was a joke ;) Onramp regulators are the real answer, letting only 1 car merge into traffic at a time at a rate well under 1 every 2 seconds.

<comment><USER43> > That was a joke ;)

I found your article interesting in light of the popular traffic piece you mentioned, but ending it with jokey suggestions after a fairly serious analysis doesn't really make it clear if you're joking or not.

But hey, maybe @themodelplumber and I are the only two who thought you were serious.

<comment><AUTHOR> Yeah, I failed there. The whole article started out jokey but I ended up cramming a bunch more "serious" analysis in.

</comment></comment></comment></comment><comment><USER44> "At the risk of being helpful, here are some things YOU can do that are actually guaranteed to improve commute times for everyone: ... 2\. Don't let people merge in front of you, ever."

How will the commute times of those who sit there waiting to merge be improved? If traffic flow was heavy enough they would never merge.

If they didn't pack a sandwich they'd starve!

</comment><comment><USER45> Smooth flow doesn't get you there any faster than highly variant turbulent flow. This is obvious. Now given that there will be little difference in overall throughput would you rather a) have a relaxing smooth drive or b) a stressful highly variant aggressive drive? The answer should be a, because the increased of risk of a fatal crash vs. the miniscule return of a few car lengths is not worth the effort you put in.

You can verify this yourself. Drive as smooth as possible. Smoothly accelerate and decelerate. Leave large gaps. Try to use both your accelerator and brakes as little as possible. Now observe aggressive drivers and memorize their car's make, model and license plate. Observe the amount of risk and effort they undertake to get ahead. Then observe them only getting about 5-10 car lengths for their trouble. Finally observe them stopped behind you two traffic lights down.

Laminar flow = turbulent flow, but laminar is so much better.

This is besides the fact that laminar flow reduces traffic waves, reducing the variance for all those behind you, leading to a reduced risk of death and injury for everyone in your lane. My driving style has probably saved a life, or two.

</comment><comment><USER46> I honestly believe it's the quick decrease in speed by drivers that causes non-accident traffic jams during rush hour.

Don't hit the brakes before merging and when someone merges in front of you, you should have kept enough space so you do not need to hit the brakes. Really, I think traffic would move much smoother if drivers leave at minimum 2 car lengths of open space between the vehicles in front of them and only hit the brakes on the highway when it is absolutely necessary.

If all the cars are put to a halt because of quick and hard braking cars ahead of them, its going to cause a chain reaction that is way more time consuming to drivers behind you than the author's "2 seconds slower to destination" factor due to a merge in front of you.

</comment><comment><USER47> The purpose of making traffic flow smoother is that it'll push out the point where flow breaks down and you can extend the zone of (relatively) uncongested operation with higher vehicle throughput. Smoother flows leads to fewer abrupt stops and rear-end accidents that make the wait even worse. (Cars in a 'beautiful line at 35mph' behave differently from stop-and-go and for instance a fleet of self-driving cars would make the highest throughout, and extreme example)

As for late merging, evidence shows that it's more efficient in congested areas and by reducing the line, you help prevent spillover to other areas and importantly accidents due to conflicts. I can see one super suboptimal situation where a car completely stops to change lanes (into a stopped/slow one) due to bad flow, resulting in more than just a 2 second impact on one lane. MN signs say "use both lanes / take turns" and dynamically adjust based on traffic conditions. In LA, the "zipper merge" seems to be standard for most construction zones in traffic jams, with the only distinction being where you merge in the last 200 feet

[http://www.dot.state.mn.us/trafficeng/workzone/doc/2004DLMS-...](http://www.dot.state.mn.us/trafficeng/workzone/doc/2004DLMS- Evaluation.pdf) [http://www.dot.state.mn.us/trafficeng/workzone/doc/When- late...](http://www.dot.state.mn.us/trafficeng/workzone/doc/When-latemerge- zipper.pdf)

</comment><comment><USER48> Thanks for explaining this for us. What is missing from this compared to what I see on the roads is trucks. The truckers always leave large gaps and it's a sure bet that jerks will cut in front of these rigs. I don't think the trucks are leaving that much space to "smooth out" the traffic but it's more a matter of safety and efficiency (saves fuel) when all the nimble passenger vehicles are stop and go and zipping all over the place. Truck drivers are so patient, they have to be, especially in rush hour I've seen cars jump in front constantly and the trucks keep making more space for them. The other half of people seem to just follow at the same pace instead of cutting in front, and every time some one does cut in front it slows them down another 2 seconds. So my theory is aggressive drivers aren't much affected by trucks but easy drivers are slowed down because they won't get in front... But if nobody gets in front of the trucks then everyone makes it at the same time. Basically the trucks are blockers for the aggressive drivers, so if you use them they'll get you home ahead of others. I don't imagine any truckers are on HN?

<comment><USER49> If ever I hit a jam on the motorway, I always pull to the left lane (UK), join the trucks, and imitate their driving style. Almost always, over the length of the jam, I beat my neighbours in the middle lane without doing any lane hopping.

</comment></comment><comment><USER50> Hmm. Interesting. I have always contemplated this problem. First, I want to simplify the problem a bit and hope it'll apply to traffic jams. I think the problem is human reaction time. I must be missing something but hardly people talk about this. (although my solution might not be feasible). Let me explain.

So, lets say you are stopped behind 30 cars and the first car is waiting for the red to turn green. Now, as soon as it turns green, it takes a second (or two) for the first car to start moving. After that second, second car adds another second before starting to move. Based on this, you won't move your car until 30 seconds have passed. Isn't this one of the big issue? If all of 50 cars instantly start driving once it hits green, wouldn't it reduce traffic jam greatly. Now, I do realize this is not feasible but if computers were controlling the car, 50th car can move instantly after green.

On a side note, I realize the bottleneck situation can't be solved easily BUT again, I think human reaction (response) time is a huge part of it in most of these scenarios. If computers were driving, I wonder if we can have 10 times the car we have today without traffic jams.

</comment><comment><USER51> I'm wondering what if I'm missing something here:

"If anyone tries to tell you that if only drivers left space in front of them and took turns merging, traffic would flow smoothly, and it's only because of jerks that there are any traffic jams at all, just ask them what's going to happen at the next merge. Where is that extra space going to come from? You cannot keep 2 seconds back from the car that has just merged in front of you without, um, slowing down. If the car in front of you is also slowing down for the same reason, you have to slow down even more. This is basically the definition of a traffic jam."

However, if you have two lanes, with one lane blocked, then wouldn't not allowing for another car to safely merge into your lane prevent them from merging? Then you have one lane moving quite fast, but the other lane would be going more slowly...

Like I say, there may be something I'm missing here, I'm happy to be enlightened!

</comment><comment><USER52> Given that ants don't have this problem, won't driverless cars be able to adopt ant-like traffic protocols to eliminate congestion?

cf. [http://www.phschool.com/science/science_news/articles/ant_tr...](http://www.phschool.com/science/science_news/articles/ant_traffic.html)

<comment><USER53> Ants have no momentum, to a first approximation. It's not at all clear their algorithm would scale.

<comment><USER54> > Ants have no momentum

And collisions between ants are not catastrophic.

</comment></comment></comment><comment><USER55> Isn't the real problem with traffic more perception than reality? I'd be much more interested in how much additional stress/unpleasantness is caused by stop-and-go traffic that would be alleviated with the concepts mentioned in the "wrong" article.

</comment><comment><USER56> As a matter of general policy, if you're going to declaim another article as wrong, you really should bring clearly stronger evidence—generally in the form of citations—to the table. Otherwise it's just "he said she said" as in this instance.

</comment><comment><USER57> Has anyone tried to use genetic algorithms with traffic simulations to try to determine if there's a better way to manage traffic, especially in regards to the design of merge lanes, on/off ramps, etc?

I've thought for a long time that it would be fascinating to build a complex traffic simulator that could be used by people designing freeways, neighbors, shopping malls, etc to plan for traffic. Right now those designs are just based on best guesses (or terrible guesses) by architects and not simulations.

</comment><comment><USER58> "... there's not much benefit to trying to 'cancel out' a traffic wave by leaving a ton of space in front of you."

What do you mean by a ton of space?. What do you mean by 'not much'?"

The real question we should try to answer is "What is the optimum distance all cars should try to keep between them? And that can't be answered qualitatively, only quantitatively.

</comment><comment><USER59> This article accounts for some of what causes traffic jams, but have a look at this video. It shows a study done where people tried to drive on a circular track at a constant speed.

Things start out okay, but it quickly devolves into the back propagating wave.

[http://www.youtube.com/watch?v=Suugn-p5C1M](http://www.youtube.com/watch?v=Suugn-p5C1M)

</comment><comment><USER60> I don't understand the claim that front bumper to front bumper is a bigger problem the faster you go. When you're going fast, the 4 meters of a car are much shorter (in terms of time), because 4 meters at 4 m/s is a much smaller amount of time than 4 meters at 0.2 m/s.

<comment><USER16> It says it is a bigger problem at low speeds.

<comment><USER60> ...oh. Wow, major reading comprehension fail there. Thanks.

</comment></comment></comment><comment><USER61> I suspect that a critical mass of self-driving cars will improve traffic flow for everyone.

I don't have a clue what the percentage to achieve critical mass is, but my wild-ass guess would be 20-50%.

</comment><comment><USER62> My two favorite parts of this article: the author lives in New York and "Don't let people merge in front of you, ever." Now I understand New York drivers!

</comment><comment><USER41> Shockwave effect is a big contributor to traffic. Even moreso than accidents/road construction.

</comment><comment><USER63> How to avoid traffic: work from home.

</comment><comment><USER64> "Don't let people merge in front of you, ever."

Californians have this one covered.

</comment><comment><USER65> Everyone has their own pet theory of how people should behave in traffic. The problem isn't even that most of them are wrong -- most of them are "correct" in the sense that, if everyone behaved in this way, traffic jams would be less common and have shorter durations.

The problem is that you don't know which theories other drivers have, so you don't know how they will react to different situations. If you don't know how other drivers will react, you need to drive conservatively -- which usually means slowing down.

Take a construction merge down to a single lane. It might be the case that it's best to use both lanes up to the merge, so that the traffic jam takes up less space. It might be the case that it's best to merge as soon as you figure out what's going on, to provide more time for the merge negotiation and reduce the risk of accidents at the merge point.

In reality, it doesn't matter either way. If I try to use both lanes, I don't know that I'll be allowed to merge at the lane closure. If I merge early, I don't know if someone is going to use the now-unoccupied lane to zoom up and cut someone off, making both lanes slower and more accident-prone. I can't do either one and confidently say that I've made the correct choice, because I don't know how other drivers will react. What I do is just pick one, and slow down when something unexpected happens.

This article also generalizes some things incorrectly (it seems based mainly on German data, presumably because they have better infrastructure for measuring such). For example, I live in the northeastern U.S. We are notoriously bad drivers up here, even among other east coasters. Here, a two- second following distance at 65MPH is almost unheard of -- actually, a two- second front-to-rear distance probably qualifies as a "large space", as some people here seem to think such a space can fit multiple vehicles. That's about 100ft or 30m, so I suppose it technically can, but it is not safe.

I can react to this either by leaving a very large space (5-6 seconds seems sufficiently large that people get impatient and leave before it fills up) or by leaving a small space (.75-1.25 seconds is the largest I can leave and have a good chance of nobody trying to use it). The former is much safer, so that's what I do.

The key is that, over a period of about two minutes, I need to maintain this following distance relative to the same vehicle. Usually this is fine: at most three cars tend to use that space at a time, and if anything they're more likely to tailgate the vehicle I'm following than to stay back near me. Occasionally I need to slow down in a situation where many vehicles fill that space, or someone moves in and immediately slows down. This is the exception, rather than the rule.

Yes, I know this behavior can cause traffic jams under certain conditions and with certain other drivers -- but so could the alternative, under other conditions. Given the choice between two bad options, I optimize for my personal safety.</comment>


Cryptocurrency trader 'forced at gunpoint to make Bitcoin transfer' - <AUTHOR> https://www.theguardian.com/uk-news/2018/jan/28/cryptocurrency-trader-forced-at-gunpoint-to-make-bitcoin-transfer <comment><USER2> OT: I understand the need/want for reporters to get paid, but jfc Guardian, there's a giant blob at the bottom of the page asking for support, _and_ a giant banner that takes up easily a 4th of my screen asking for support.

[https://i.imgur.com/LydtPuJ.png](https://i.imgur.com/LydtPuJ.png)

I'm no UX/UI guy but come _on_.

<comment><USER3> Well, I find it better than sites which just refuse to show you the content.

<comment><USER2> Can't disagree with you there.

<comment><USER4> Join as a subscriber (£5 a month) and it goes away ;)

But seriously - I am a very happy £5 subscriber - I don't get any benefits over you, but feel very happy that I'm supporting the paper in the coverage it provides. They don't get everything right, but they are my go to source for news an I'm happy to pay for that.

</comment></comment></comment></comment><comment><USER5> [https://www.xkcd.com/538/](https://www.xkcd.com/538/)

<comment><USER3> Remember, if you store coins on an exchanges, they are not your coins. Be the bank.

Bank grade security? What's that?

I'm using a Ledger Nano with password and 24 words seed phrase generated with physical fair dices thrown by me. I'm super safe.

<comment><USER6> Safe from the wrench? Your comment is the first panel of the comic.</comment></comment></comment>


Travel Survival Guide - <AUTHOR> http://www.jonobacon.org/2016/08/10/the-bacon-travel-survival-guide/ <comment><USER2> Transportation tickets are time sensitive too! Some of my friends do insane amount of travel per year. Apparently, they book their tickets in advance at least 6 months in advance so they can save as the tickets are wickedly cheaper.

Also, see if you can get a discount as a visitor for transportation like the JR Pass in japan.</comment>


0xF Rules - <AUTHOR> http://fabiensanglard.net/ilike/index.html <comment><USER2> Given that they're numbered from 0x0 to 0xF, there are actually 0x10 rules listed.

<comment><USER3> "There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors."

<comment><USER4> Can I ask a stupid question about this? I've always wondered what this quote really means. It seems obvious that the author deems "cache invalidation" to be badly or awkwardly named, but is that really the joke? Isn't cache invalidation a pretty straightforward term? Maybe I don't feel the awkwardness as much as a native English speaker? Or is it literally that cache invalidation is hard? Isn't cache invalidation on a completely different level as naming things, both conceptually and in difficulty?

<comment><USER5> > Or is it literally that cache invalidation is hard?

It's literally that cache invalidation is hard. You can also think of "cache invalidation" as a substitute of concurrent programming: keeping multiple related threads of logic synchronised.

>Isn't cache invalidation on a completely different level as naming things, both conceptually and in difficulty?

I'd say it's on a conceptually different level, but not less difficult, and because "naming things" is easy, it's more insidious.

From my point of view "naming things" is a substitute for architecting software instead of coding your way out of dead ends whilst inventing a lot of off the cuff names in the process. (of course, in the current climate, such ad-hoc solutions are now the standard, called "design patterns", and people find names that have "Factory" in them twice a normal thing.)

<comment><USER6> No, naming things is really hard. Well, giving things (functions, variables, classes, algorithms) _bad_ names is easy, giving them good names is hard. For instance, when did you last see a class called <something>Manager? Then consider the fact that "manager" means absolutely nothing.

<comment><USER7> > "manager" means absolutely nothing

do you know a better name for "window manager"? i don't mean to hold that up as a paragon of great naming, just genuinely curious what you'd call it.

like, i'm no fan of AbstractFactories (or classes for that matter), but i never quite got this sentiment. to me, "manager" suggests that you have a bunch of resources that should be centrally _managed_ (created/freed, whatever), and theres's something (perhaps an object) that handles that.

ofc it's really generic, and a more concrete name should be used if possible, but i wouldn't say it's meaningless

</comment></comment></comment></comment></comment></comment><comment><USER8> I have the same kind of website. I once showed it to an employer and he almost laughed.

It's like the internet has been overtaken by an army of advertisers and wannabees photoshop artists.

I'm curious about UX, because sometimes it's aimed to make consumers feel good, and sometimes it's to be productive. I'm wondering if UX is backed by science/engineering.

<comment><USER9> > I'm wondering if UX is backed by science/engineering.

Yes it is and has been for a long time. Time and motion studies were taken throughout the 20th century and even in the 19th. (There was a recent HN posting about such a study in aircraft cockpits of the 40s or 50s and the need for adjustable seating, relaying to air crashes). Don Norman published one of the first great such books (Design of everyday things) — check out the nuclear plant photo!

There was a deep study of the efficacy of design in print media which fascinatingly to be settled on different design points in different countries, though the most scientific such studies waited until computers were readily available.

Early GUIs were controversial and UX studies going back to the early 70s by people like Stu Card and by Fitts have been both surprising and influential. Xerox PARC where Card worked even hired anthropologists.

UX researchers are pretty important today. All the "big guys" (FAANG etc) and less well funded companies as well.

Engineering? Well companies spend a lot on their sites and devices. You can decide on that part.

<comment><USER10> > UX researchers are pretty important today.

If that is true, one has to imagine that their skills are being employed differently than they used to be. It feels to me like UX used to be about serving the user's interests, which is definitely not something modern UX paradigms seem to concern themselves with.

<comment><USER9> On web sites the goal is typically to tune the user experience to achieve the company's goals. Sometimes it may help the company if it takes you longer.

</comment></comment></comment></comment><comment><USER11> A thing about these fast, static and minimalist websites (which I love) is that they use a monospaced font (which I don't love) instead of proportional, which I find easier to read. See [http://antirez.com/](http://antirez.com/) as another ecxample

It's not a criticism but an observation that giving up on so much modern junk seems to mean discarding something I consider good; better fonts.

Not intended to be provocative, just a note.

<comment><USER12> I spent a lot of time thinking about this when I redesigned my own website. I really like the narrowness of Iosevka, and couldn't find a good proportional font to match its look and feel. So I just used Iosevka for the body text too. (I am currently experimenting with a quasi-proportional variant, Iosevka Aile, but I am not quite sure how I feel about it.) It looks weird, especially with justification, but I think I'll probably keep it.

</comment></comment><comment><USER13> Justified text with a monospaced font is an unusual choice.

(I can't work out whether my browser is stretching the space between letters as well as the space between words.)

<comment><USER14> I also like monospaced fonts, but using them for articles is a bit unusual. Justifying monospaced fonts seems wrong on some levels, but who am I to judge.

In my browser only the spaces between words get stretched, spaces between letters are not affected.

<comment><USER15> If you care about your readers, justifying _any_ font is wrong. Justification makes the text "look nice" but harder to read; it should be avoided as much as possible.

<comment><USER16> Justification generally isn't that bad, but browser implementation are much worse than real typesetting system, like TeX.

<comment><USER15> Justification doesn't make any sense. Why would you want to have spaces of variable size, making the text harder to read?

</comment></comment></comment></comment></comment><comment><USER17> Well, this is clearly inviting tons of subjective opinion threading, so here's the version tweaked for my preferences.

0x0. I like blazing-fast websites.

0x1. I like websites that are easy to read.

0x2. I like websites that are device-agnostic.

0x3. I like when the authorial voice is identifiable.

0x4. I like when the author leaves contact information.

0x5. I like when a full changelog is available.

0x6. I like justified text.

0x7. I like when quotes and citations are easy to find.

0x8. I like to minimize technology wherever possible.

0x9. I like RSS.

0xA. I dislike analytics which serve the author's ego and track me.

0xB. I dislike the blog format.

0xC. I dislike ads.

0xD. I dislike sites with wide main content.

0xE. I dislike visible reflow.

0xF. I dislike parasitism on main content.

<comment><USER18> How do you differentiate between analytics that serve the author's ego and analytics that serve other purposes?

<comment><USER15> > How do you differentiate between analytics that serve the author's ego and > analytics that serve other purposes?

What are those other purposes?

<comment><USER19> I have in the past built websites where I _assumed_ that Part A would be the most popular part and so put a lot of effort and work into Part A. Less effort was put into Parts B, C, D etc.

When I launched it and let it run for a while, it turned out - thanks to analytics - that Part B was the run-away success that was getting lots of search-engine traffic and 90% of the visits to the site.

Had I not had analytics then I'd not have known that and would not know which parts of the site people valued. As a result I put the larger part of my focus into Part B instead.

<comment><USER20> That can be solved through server-side log parsing assuming bots visit either all or nothing of your website (close to reality no?).

<comment><USER21> Ie analytics

</comment></comment></comment></comment></comment></comment><comment><USER22> Because the images on that page don't have a size set on the img tag I do get visible reflow when visiting that page.

</comment><comment><USER23> I dont like the vertical spacing of the font. While it makes the page shorter, it's bad for reading. Getting a lot of text on one page is good for programming (getting a overview, quick access of areas), but for reading it's generally worse (sequential action).

Othervise i can follow most guidelines.

</comment><comment><USER24> I liked Fabien's old site. With the images that faded in when you moused over them, to give you some idea of what a given article was about before you clicked on it. I don't remember it as being particularly slow to load, though I wasn't timing it or anything. Not a big deal, I doubt I'm conscious of the design of a blog for more than a second or two after I load it, but not sure the change is an unalloyed good.

</comment><comment><USER19> I really enjoy Fabien's articles - really great fascinating stuff.

I have to wonder about the choice of custom PHP to generate the pages, especially if you are going to start from scratch when the intention is drastic simplicity?

I can understand the rationale of picking PHP many years ago to hand-roll something, but these days there are a lot of excellent static site generators which might be a better choice? E.g. Jekyll is _very_ simple and flexible in my experience, and you can hand-roll some HTML + CSS and get something looking and behaving (e.g. URL structure) how you like very easily. I have had less success with Hugo (in terms of URL structure etc), but I know a lot of people prefer it to Jekyll for its golang-based compile performance.

Am I missing something for the rationale for PHP here?

It would seem that most of the rules here are editorial/design decisions rather than technical restrictions really. I guess perhaps there is the legacy issue of loads of old articles that are written in PHP that would need to be migrated, but that sounds like something that can be trivially automated and would only need to be done once.

<comment><USER25> Not sure about the OP, but I have a small devlog which is basically just a Bash script which I run whenever I need to write a new post. The script takes a bunch of markdown files in a folder and spits out HTML files (common index.html + files of each individual post) with a header/footer. This HTML is then served using a web server.

I just tried visiting the Jekyll website to see how to get started, the documentation page has the following under the Getting Started section --

1) Install Ruby, Ruby Gems.

2) Understand what Gem, Gemfiles, Bundler(?) are.

3) Tells me about it's community for some reason.

4) Finally there's a page which tells me how to make a 'Hello World' blog.

5) 10 more pages explaining what Liquid, layouts, includes, datafiles, assets, deployment are.

6) I still don't know how to make a new post.

Most static site generators have too much of cognitive load. I just want a bunch of plain HTML files generated (ideally in <1s + no JS) from a bunch of markdown files, I don't really care for 99% of the features these things have. I would rather spend a few hours a write a simple script to do it myself instead of wading through the documentation looking for the relevant parts.

<comment><USER26> I left Octopress (a flavor jekyll) for those reasons[1]. Pelican[2] is what I use now. It takes a dir of markdown files and makes a decent website. It was even easy for me to write a no-nonsense theme without being good at python.

[1] [https://brashear.me/blog/2017/07/30/migration-from- octopress...](https://brashear.me/blog/2017/07/30/migration-from-octopress-to- pelican/)

[2] [https://blog.getpelican.com/](https://blog.getpelican.com/)

</comment></comment></comment><comment><USER27> I dislike sites that don't redirect HTTP to HTTPS.

<comment><USER28> I also dislike sites that don't use semantic and accessible markup

</comment></comment><comment><USER29> My website [0] exists by the same rules. Only differences are that I use a Makefile and Bash scripts relying on the GNU coreutils and xml2/2xml [1] to generate static pages from my template, and I use git to synchronize it with my server. Oh, and I write these in Emacs :).

0\. [https://pablo.rauzy.name/](https://pablo.rauzy.name/)

1\. [https://packages.debian.org/buster/xml2](https://packages.debian.org/buster/xml2)

</comment><comment><USER30> I actually rather miss the commenting on Fabien's site. IIRC, he initially kept the comments underneath the older articles, but now those are gone too. On his site at least, the comments were frequently quite insightful or at least asking interesting questions.

Yes, there's also spam and trolling in comments, but eliminating them entirely feels like a waste and cuts off an important way of interacting with the readers. At least personally, I'm far more likely to ask a question or to point out a mistake in a comment than I am to send off an e-mail.

</comment><comment><USER31> As much as I'm an advocate for simple websites; I still prefer his old design.

It was simple and wasn't bloated, and it was much more readable imho.

</comment><comment><USER32> >I like when the author's name is clearly stated.

Legal name, or online identity? I don't feel comfortable revealing my legal name online.

<comment><USER33> > _Legal name, or online identity? I don 't feel comfortable revealing my > legal name online._

Name that a reader can recognize as something that identifies you to the collective. There's a 0% chance that he cares what your parents wrote on a paper at the hospital.

</comment></comment><comment> satish-setty > 0x6. I like monospaced fonts.

Author doesn't follow his own advice?

[http://fabiensanglard.net/git_code_review/index.php](http://fabiensanglard.net/git_code_review/index.php)

May be he forgot to update his php pages, which are all in proportional fonts.

<comment><USER34> He changed layout and theme in 2018. See related post[0].

[0] [http://fabiensanglard.net/bloated/index.html](http://fabiensanglard.net/bloated/index.html)

</comment></comment><comment><USER35> His contrast is too low even for my normal eyes. Did not notice that initially though, until I turned off Dark Reader extension to view website colors as designed.

<comment><USER33> Eh? The text contrast is 19.20 which is a AAA pass for WCAG. It uses literally the same text fgc/bgc as HN.

<comment><USER35> I do raise it here too. But might be related to my monitor's settings.

<comment><USER33> You should fix your monitor.

</comment></comment></comment></comment><comment><USER36> The next step is having the same but decentralised, uncensorable and with the domain absolutely under your control.

I think it is the best way to have your complete freedom.

</comment><comment><USER9> I still prefer rss because going to the web site Just to see what's new is annoying.

</comment><comment><USER37> I do not like the "serves the ego".

Like:

(1) Is there anything wrong in an ego? (2) If it were wrong, are you sure the intent is to serve the ego?

<comment><USER38> There is something wrong if you do it at my expense

</comment></comment><comment><USER39> What if I told you that you can have all of these things, while also having a website that looks good?

<comment><USER40> Good looking website without proportional font? I don't believe it.</comment></comment>


OpenCV 3.0 released - <AUTHOR> http://opencv.org/opencv-3-0.html <comment><USER2> These complex sort of projects are the ones that could really do with small neat introductionary blog posts where simple features are demoed with code demonstrations..etc. this is so much more needed than more ruminations on JS libraries but also so much harder work for the blog authors I guess!

<comment><USER3> Is this the sort of thing you're looking for?

[http://docs.opencv.org/doc/tutorials/tutorials.html](http://docs.opencv.org/doc/tutorials/tutorials.html)

<comment><USER2> That is good stuff but no: what I am after is blog posts that are editorially aimed at drawing the reader into the subject and then making something of practical/genuine value happen. There is many tutorials presented on OpenCV's page and I'm by no means judging all of them but many of them do seem to fall into 2 discreet categories, either a) extremely simple ( [http://docs.opencv.org/doc/tutorials/introduction/load_save_...](http://docs.opencv.org/doc/tutorials/introduction/load_save_image/load_save_image.html) ) or b) extremely complex ( [http://docs.opencv.org/doc/tutorials/ml/non_linear_svms/non_...](http://docs.opencv.org/doc/tutorials/ml/non_linear_svms/non_linear_svms.html) ). Neither is very exciting/accommodating for someone starting out in the field.

</comment></comment></comment><comment><USER4> I'm so happy they finally moved the official documentation to Doxygen ([http://docs.opencv.org/master/index.html](http://docs.opencv.org/master/index.html)), which appear to be a huge step up from their old Sphinx docs ([http://docs.opencv.org/](http://docs.opencv.org/)).

<comment><USER5> I'm comparing Doxygen and Sphinx for a new project; what things do you like about Doxygen over Sphinx? (also, does anyone know why OpenCV switched?)

</comment></comment><comment><USER6> Direct link to release on GitHub: [https://github.com/Itseez/opencv/releases/tag/3.0.0](https://github.com/Itseez/opencv/releases/tag/3.0.0)

</comment><comment><USER7> Does anybody know of some good, comprehensive book (free or paid) with guide to all the algorithms available in OpenCV and how to use them, approachable for a "common programmer"? (i.e. for somebody with approximately zero knowledge of image recognition terminology). I'd be very interested in reading one; when looking purely at the API docs, I'm totally lost.

<comment><USER8> Seconded. I have a specific application in mind. My current approach is an IPython notebook (with OpenCV 2) and trial and error to find a combination of algorithms that work, but I'm not convinced I'm using the correct algorithms at all.

<comment><USER9> I highly recommend [http://www.amazon.ca/Mastering-Opencv-Practical-Computer- Pro...](http://www.amazon.ca/Mastering-Opencv-Practical-Computer- Projects/dp/1849517827)

</comment></comment></comment><comment><USER10> Are there any plans to move it out of sourceforge?

<comment><USER11> OpenCV installer will detect 'agree' checkboxes on screen and automatically uncheck them for you.

</comment></comment><comment><USER12> One of the long withstanding issues with Python 3 has been that some of the major libraries have yet to support it. I think this is great news for the Python community. Hopefully more will follow suit soon.

<comment><USER13> That is good news! From the announcement:

"greatly improved Python support, including Python 3.0 support, many new tutorials & samples on how to use OpenCV with Python."

</comment></comment><comment><USER14> I wish VxL was better documented, because it has much nicer code than OpenCV. The lack of documentation also seems to have lead to its abandonment.

[http://vxl.sourceforge.net/](http://vxl.sourceforge.net/)

</comment><comment><USER15> Now that OpenCV has deprecated C a while ago, I would love to see someone release an OpenCV wrapper for Rust. This is what I am missing to jump into Rust.

<comment><USER16> What do you mean that they've deprecated C? I see C code everywhere in their sourcetree. From their front page: "It has C++, C, Python and Java interfaces and supports Windows, Linux, Mac OS, iOS and Android"

<comment><USER15> [http://answers.opencv.org/question/17546/opencv-will- drop-c-...](http://answers.opencv.org/question/17546/opencv-will-drop-c-api- support-soon/)

> Actually C API will stay in the library, but it will not be available by > default. It will be put into separate header files, that should be manually > included by user. So, it would be possible to compile the legacy code, but > you should add these compatibility includes manually.

> It is possible that OpenCV will generate compiler warnings in case you're > using C API. These warnings will notify you that you're using deprecated > API, and you should migrate to C++

They go on to say that basically OpenCV's internals are moving to C++, the C API will essentially no longer be an officially supported API until some kind of automated C-to-C++ wrapper in made in the future.

The C stuff still available has to be included manually, no longer officially documented and is an older OpenCV version.

</comment></comment></comment><comment><USER7> Google Cache version of the page: [http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://opencv.org/opencv-3-0.html)

</comment><comment><USER17> any precompiled binaries not hosted on sourceforge? Given recent developments I'd rather not run an exe from them.

<comment><USER18> Use 7zip to extract the files from the exe (it is just a self executable archive).

</comment></comment><comment><USER19> I haven't found a way to figure out what features have a OpenCL implementation, that I could use with the Transparent API. For example, in the features2d folder only FAST, ORB and BFMatcher have files in the opencl folder, so can't other features be used with OpenCL? Is there a list of features that have OpenCL implementation?

</comment><comment><USER20> "a subset of Intel IPP (IPPCV) is given to us and our users free of charge, free of licensing fees, for commercial and non-commerical use. It's used by default in x86 and x64 builds on Windows, Linux and Mac."

Has OpenCV just had a great big binary blob dropped in the middle of it?

<comment><USER21> From what I understand, Intel has been part of the development of OpenCV from the begining. So I wouldn't call it exactly a "big binary blob dropped in the middle".

<comment><USER20> What's that got to do with it? It still means if I do a "default install" of OpenCV it will be executing code from a mysterious blob for which source is not available.

</comment></comment></comment><comment><USER22> Site seems to be crippling under a load, homepage is now throwing an "Error establishing a database connection". Off topic, but another great real-world case of why static sites are smart.

</comment><comment><USER23> Happy to see that they have improved their Python support!

</comment><comment><USER24> Seems to be giving a Database Error.

Any future plans of shifting the repo from SourceForge to GitHub?

<comment><USER25> Their repo is on github...</comment></comment>


Why the iPad mini matters for Apple in India - <AUTHOR>

So Flipkart (India's Amazon), just started selling the iPad mini in India starting at Rs. 21,900 (about $400) http://www.flipkart.com/apple-16gb-ipad-mini-wi-fi/p/itmdfwgjthu4feut. This, at a time when the 16GB Nexus 7 is retailing for Rs. 19,999 ($368) in India http://www.cromaretail.com/NEXUS-7-ASUS-1B019A--7%22-Tablet-(Brown)-pc-16045-162.aspx. (Flipkart does not sell the Nexus 7). This is a big deal for Apple to foray into the Indian market. India has always been a very price sensitive market. The key to doing well in India is to provide a great bargain, hence the dominance of android in the smartphone market. Carriers do not subsidise smartphone costs in India, which means that to get an iPhone 5 in India, you will end up spending anywhere upwards of $750. Android phones retail at less than a $100 and a decent android phone (the galaxy nexus) will cost about $350-400, less than half the cost of an iPhone. Very few people in India will have experienced using an Apple product. Macbooks and the iMac are too expensive (the macbook air starts at about $1300). We completely skipped the iPod revolution, jumping from the walkman to the mp3 and FM radio playing Nokia featurephones and now smartphones. The tablet market is an emerging market. No one has yet taken control of this market in India. The 7" galaxy tab 2 starts at $368 and the 10" galaxy tab 2 starts at $550.
In summary: iPad mini - $400 Nexus 7, Galaxy tab 2 7" - $368 Galaxy tab 2 10" - $550 iPad 4th generation - $590
Anything priced above $500 will in general have a hard time selling in India, especially a "luxury" device like a tablet. The iPad mini hits the pricing sweet spot where it is a great device at a price that doesn't leave you feeling like you were robbed. For Apple, the iPad mini could be the gateway device for the consumer in the developing market to enter the world of Apple. Now only if Apple sorts out their distribution network in India, it has potentially a billion more consumers waiting. <comment><USER2> I'm sure between getting a shiny new tablet and putting food on the table, Indians will choose Android. That Rs 21,900 is a lot of money that could be spent on food and clothing.

<comment><USER3> Lol I am not entirely sure if you are trolling or not!

<comment><USER2> I'm just keeping it real. IMO Android and the Dalvik VM are very inefficient. I wish someone would do put Lua and IUP with Cairo on top on Linux in a tablet. Android is a cheap option that remains popular though and no matter what Apple does its devices will only be bought by a minority of rich people _worldwide_. Android will remain on top until there's a DIY tablet kit for a more powerful iteration of the Raspberry Pi.</comment></comment></comment>


How to Read a Book a Week (2016) - <AUTHOR> https://hbr.org/2016/02/how-to-read-a-book-a-week <comment><AUTHOR> I recently stumbled upon this link and found it to be a huge eye-opener. I am curious to know how often folks here apply similar techniques while reading books.

Do you do this only for non-fiction? Or maybe, you do this for fiction or research papers too?

</comment><comment><USER2> Combine this method with Anki and it will make you genious</comment>


Steven Johnson on "Spacewar" [video] - <AUTHOR> http://blog.longnow.org/02018/02/14/steven-johnson-on-spacewar/ <comment><USER2> I made a HTML5 version based on the DOS spacewar.exe as an exercise at [https://spacewar.pro](https://spacewar.pro)

</comment><comment><USER3> The original game in emulation (including a simulation of the Type 30 CRT, without which it doesn't make much sense) may be played here: [https://www.masswerk.at/spacewar/](https://www.masswerk.at/spacewar/)

I did also an analysis of the source code, see here for a walkthrough: [https://www.masswerk.at/spacewar/inside/](https://www.masswerk.at/spacewar/inside/)

</comment><comment><USER4> Links to an YT vid:

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

BTW I find the use of 5 digits for years (02018) very clever!

<comment><USER5> > BTW I find the use of 5 digits for years (02018) very clever!

Why?

<comment><USER4> OT.

Because I am a pessimist and have a view that humanity will not survive that long. At least in the form where all of this shit will matter.

Planet Earth will be fine, but people 8,000 years from now?...

<comment><USER5> I still don't get what makes the 5 digits year count "clever" then. You think humanity will not be there in 8k years, ok, but how does that make the 5 digits clever?

</comment></comment></comment></comment><comment><USER6> I hear they do live demos of Spacewar on a PDP at the Computer History Museum and I keep meaning to check that out.

<comment><USER3> According to the website they do it every first and third Friday: [http://www.computerhistory.org/hours/](http://www.computerhistory.org/hours/)

</comment></comment><comment><USER5> At ~2:20min he says that the realistic nightsky didn't add anything to the game. I was instantly reminded of Elite2:frontier and why it didn't really amaze as much as the predecessor did.

<comment><USER3> I'd argue, it did add to the claim of the program being an accurate simulation of space flight.

Compare this brochure by DEC, which may well be the first corporate PR material on a video game: [https://www.masswerk.at/spacewar/pdp-1-computer- and-spacewar...](https://www.masswerk.at/spacewar/pdp-1-computer-and- spacewar.html)

</comment></comment><comment><USER7> Well, I was hoping this would be the Steven Johnson of fftw fame. The curse of common names...</comment>


Backers, Tokens and Crowdfunding as a New Form of Commerce Itself - <AUTHOR> https://medium.com/@ramiaidy/backers-the-ground-between-owners-and-consumers-9f404f8b8cfd <comment><AUTHOR> Hey HN,

I've been somewhat a consistent frequenter of this site, but have never openly posted anything. I figured I will open myself up and share some of my ideas with you.

I've been following the crowdfunding space for a very long time, and realized that what's happening is a new class of individuals that we may call "backers", have showed up as a middle ground between traditional owners and consumers of a firm. Tokens correspondly represent then, a middle ground between products and equity.

I've written a Medium post titled "Backers: The Ground Between Owners and Consumers" to fully explain this phenomenon.

Check it out, I'd really appreciate your feedback. Also, if you have a Medium, feel free to follow me, you got my following back.

Thanks!</comment>


Code Firefox - <AUTHOR> http://codefirefox.com/ <comment><USER2> I love contributing to Mozilla. I contributed to a bunch of projects in the past years, including Chromium (a very friendly bunch BTW), but Mozilla makes me feel like I'm a real part of this, not just some guy sending a patch.

\- Literally everything they do is in the open, volunteers can participate a lot if they want to, even start new projects. (~50% of their employees remote, I guess that helps a lot here.)

\- They're mentoring people new to a project really well - I love this even though I prefer to just dive into the code myself.

\- They call you a "Mozillian", send you foundation/company/product updates, invite you to Mozilla Summit (I was there this year, and it was amazing) etc.

\- Mozilla is not profit oriented, they just care about their mission: Moving the web forward and keeping it open. Makes me feel like part of a good cause, as opposed to unpaid labour.

All in all, they really got this figured out. I can recommend them to anyone who wants to contribute to something big/important.

<comment><USER3> do they have anything that an inexperienced person can contribute too? i'd love to get involved but don't know if i am experienced enough.

<comment><USER4> Jump in at #introductions at Mozilla channel on irc. There is always something that you can contribute with, and you will learn too!

<comment><USER5> It's actually #introduction (no plural), but yes, we are a friendly bunch!

</comment></comment></comment></comment><comment><USER6> This is very welcoming sort of page. Good job!

Compare this to most open source projects of this scale, where you will have people just tell you "to look it up in the wiki".

This wiki, if you're lucky enough to find it and find the right article, then often only has a 50% chance of being up to date and therefore missing some crucial information, causing you to spend days getting your build-setup _still_ not working.

Before you even get to contributing, you're already meeting roadblocks on roadblocks and a dismissive attitude to your offer for help.

This on the contrary, looks very inviting. Kudos to Mozilla :)

<comment><USER7> It really is. This gives me the warm fuzzies. If every free/open source project were like this (ok, ok, like this _appears to be_ ) then we would be rolling in riches. I can't count the number of times I've seen a bug in some software and thought "I bet I could solve that!" And I probably could, because I'm not a bad programmer. But the barrier to entry is like the north face of the Eiger sometimes. This turns it into an on-ramp with friendly road signs and a cafe halfway up that serves really good coffee. Bravo, Mozilla!

</comment></comment><comment><USER8> It would help to have the steps described in text next to the videos as well. Not only because some steps can be boring to watch for some people, but it would also help to be able to copy-paste URLs and command line options and so on.

<comment><USER9> Everything should be here: [https://developer.mozilla.org/en- US/docs/introduction](https://developer.mozilla.org/en-US/docs/introduction)

</comment></comment><comment><USER10> "Setting up a Windows build environment"

... what? Why would they only support Windows? Why would they even suggest Windows? Why at least not offer information on Linux, where I'm sure a large percentage of folks are contributing from? It _is_ a FOSS project. You should develop it with FOSS software, such as Linux.

<comment><USER11> Obviously there's a slip up with at least not including placeholder/unavailable topics for Linux. That said...

Maybe the reason so many contributors to most FOSS projects are developing at Linux is partly because so many FOSS projects are so goddamn hard to get into from a Windows environment. I know that most Windows build instructions for the projects that I've been interested in have been an absolute nightmare. Wrangling standard make instructions into something that Visual Studio will play nice with is a challenge that will turn off a lot of potential contributors.

By explicitly helping Windows users to pitch in on Firefox development, they are potentially capturing a set relatively untapped helpers. I feel that contributions to a FOSS project should be judged on their individual merits, not on the OS/environment it was developed in.

And because this it HN, I'm going to preempt any comments about 'how about patches derived from slave (or slave-like) labor?' with, well obviously those are bad, but in no way is developing Firefox (of all things) on Windows unmoral in any way. I mean, if you'll happily let Window's users use your free and open source software, then you have no reason to deny their contributions because they use Windows.

<comment><USER12> There are at least a couple dozen unavailable videos not yet posted. This is not a slip up, but a work in progress. The site is very new and the outline is not even fully posted yet. That being said, I just updated the outline with OS X and Ubuntu planned videos.

</comment></comment></comment><comment><USER13> Wow this is great work! When I was working on my first patch I actually looked for video tutorials on this but came up short. The text tutorials are quite extensive but you tend to miss a thing or two (in my case, I struggled with the qnew feature of the SCM, forgot to tag the reviewer in the commit, and even worked on some files I didn't need to).

I struggle a bit to find parts of the software I can work with, and I suspect that's because I only have a 40 000ft view of the project, rather than a part- by-part exploration of how things are connected. There's a lot of code in there to read through. Unlike the MVC web applications I'm familiar with, I don't understand where to put what code to change something, how to write a test, or sometimes how to test things like crash conditions that should trigger new exception handlers I put in.

This is an awesome start, but to get closer to the goal of a large number of developers contributing meaningful work on the project there's more to be done by the people who can explain the project in better detail. Perhaps this is an opportunity for an online "learn to program" course?

</comment><comment><USER4> The people at Firefox are absolutely great help. Those of you who have time on your hands, please do contribute to making an already awesome browser, even better.

</comment><comment><USER14> Former Mozilla intern here. I started contributing to the codebase since a few weeks ago. There are good bugs to find and I can tell you from person experience that contributing to large open source project like Firefox is satisfying. Though contribution is no brainier: it's difficult because there are things you can't understand. A lot of classes are not documented and you literally have to read multiple files to just grasp 1% of what that class does... hopefully we can do better on that part. But IRC is useful most of the time (to get a quick answer), espeically #security, #mozwebqa and #extensions. I am still waiting for review and landing my patch...

If you want to do some testing not direct firefox development, consider #mozwebqa.

</comment><comment><USER15> Would like to see a guide on setting up things in Linux also

<comment><USER12> I'll be doing extra videos for Linux and OSX too, and eventually Firefox OS too.

<comment><USER16> Thanks, when trying to set up a build environment for FF on Mac OS X I nearly gave up a couple of times! Videos would have really helped, rather than a recursively complex set of wikis (Which was my recollection of what the docs were like - may be wrong/out of date.)

</comment></comment></comment><comment><USER17> This is great, but why does everything have to be a video these days? Whatever happened to just text + screenshots (if appropriate)

It's so much faster than a video.

<comment><USER18> If you prefer text, you can use the official getting started guide here:

[https://developer.mozilla.org/en- US/docs/Introduction](https://developer.mozilla.org/en-US/docs/Introduction)

</comment></comment><comment><USER19> "I'm blessed with a loving wife and 3 amazing sons."

What's the deal with this? I've read it in many résumés...

<comment><USER20> I guess that is an important part of his self-identification,a person is proud of being a family man and wants to share it with the world. Alternatively this may be a signal for recruiters that a person is not willing to do a lot of overtime.

<comment><USER12> Yep, this is my site and I'm just trying to give a glimpse into who I am. It isn't related to the site but sometime it's nice to hear a tad bit about the person you're listening to if you want to.

<comment><USER19> Maybe I'm just not used to it. :D

It feels to me like these american show masters, who get on stage and greet the people with a "hello, how are you doing" but since he's asking the whole audience, no one answers.

<comment><USER21> It took me _years_ to get used to people going "how are you doing?" and just walking straight past me. To me, it seemed exceptionally rude - I'd stop, and start answering the question, but the person had just walked on. It took a while to realise that in some places it is just a greeting, and much longer to not have to consciously remind myself about that...

<comment><USER22> Yeah, English is full of weird idioms that don't mean what they mean.

</comment></comment></comment></comment></comment></comment><comment><USER23> This is pretty awesome. Though I'll probably never code dekstop apps, something like this for Addons would def. trigger a coding spur.

<comment><USER14> You'd be surprise a large portion is done in javascript in firefox and many don't require deep browser knowledge like how the transport layer works or working with the DOM. Some are style issues, some are correcting RFC specs. I am fixing two extremely trivial minor CSP issues given I have read the spec and done CSP related things.

Don't be discouraged.

</comment></comment><comment><USER24> Is there a way to "bump" bug reports responsibly? For example, the proposal for persistent app-tabs ([https://bugzilla.mozilla.org/show_bug.cgi?id=551849](https://bugzilla.mozilla.org/show_bug.cgi?id=551849)) seems to have stalled and the original creator now works for Google.

<comment><USER25> This is a relatively very new bug in Mozilla world it seems. :)

See this for example, a 12.5 years old Firefox bug. [https://bugzilla.mozilla.org/show_bug.cgi?id=78414](https://bugzilla.mozilla.org/show_bug.cgi?id=78414) Almost all major browsers suffered from this at a time, but the rest of them fixed it. The only important update they've done so far about this bug is to block unhappy users to even comment on it ;)

<comment><USER24> I am fully aware of the issues with Mozilla's bug tracker, that's why I asked if there was a proper way.

For your bug, there's a proof of concept patch [https://bugzilla.mozilla.org/show_bug.cgi?id=78414#c657](https://bugzilla.mozilla.org/show_bug.cgi?id=78414#c657)

<comment><USER25> Yeah, people have historically added patches, but all of them have been rejected so far for one or the other reason. They are not even willing to add an about:config workaround for that. Anyway, I'm sidetracking a lot from the subject :).

</comment></comment></comment></comment><comment><USER26> This is awesome, and I wish more projects would do it.

Unfortunately I can't work on firefox at this point, but this is still awesome.

</comment><comment><USER27> I'm an avid FF user, and also a (relatively) proficient programmer, with skills in python c++ and a little javascript, but I'm terrified of getting involved with something this size. I have no idea where to even begin trying to help!

<comment><USER5> We've got lists of recommended contributions for newcomers, and they come with a mentor attached as well: [http://www.joshmatthews.net/bugsahoy/](http://www.joshmatthews.net/bugsahoy/)

<comment><USER27> pulling the code right now!

</comment></comment></comment><comment><USER28> Very nice. I wrote/maintained some of the predecessors to this while I was at Mozilla ([https://wiki.mozilla.org/JavaScript:New_to_SpiderMonkey](https://wiki.mozilla.org/JavaScript:New_to_SpiderMonkey) and [https://developer.mozilla.org/en- US/docs/Introduction](https://developer.mozilla.org/en-US/docs/Introduction)), and I love the video format.

Getting started with Firefox is pretty difficult, and its good that more folks are putting effort into it. Good job!

</comment><comment><USER29> +1 for whoever's idea this was. We need more guides like this that ask that answer the basic questions on just dev process and work flows. Let's make it easier for people to contribute!

</comment><comment><USER30> There are only two things I would ever like to contribute to Firefox: revert changes to the UI made with 4 and after; use libavcodec for video and audio decoding.

I'm sure both are way out of my league.

</comment><comment><USER31> This is great!

I think switching to Github would increase the rate of contributions significantly though.</comment>


Steve Jobs to cooperate on biography - <AUTHOR> http://scitech.blogs.cnn.com/2010/02/16/report-steve-jobs-to-cooperate-on-biography/?hpt=T2 <comment><AUTHOR> I realize this seems a bit like Valleywag-style tech celebrity gossip. But I posted it because the person writing the biography, Walter Isaacson, wrote a terrific biography of Benjamin Franklin. His Einstein biography is also well- regarded (I haven't read it). I've little doubt the Jobs biography will be very good, possibly superb.</comment>


Eric Schmidt on Israel and its high-tech industry - <AUTHOR> https://plus.google.com/104233435224873922474/posts/8fTjTkNS2dJ

<comment><USER2> Sad as always to see the comments there degenerate into shallow[1] political comments.

[1] Shallow unsubstantiated one-liners, regardless of the stance they take.</comment>


The Cost of Switching Job Every Few Years - <AUTHOR> https://blog.honest.work/should-i-stay-or-should-i-go/ <comment><USER2> One other option not considered for employees: become contractors. Most mid to senior level people in London on 'standard' salaries could probably double their income.

<comment><AUTHOR> Agreed although that requires folks to become independent contractors with the related annoyance of having to open a one employee company, dealing with taxes mess, having to hunt for clients and so on.</comment></comment>


Learning Ruby for Children - <AUTHOR> http://www.kickstarter.com/projects/lindaliukas/hello-ruby

<comment><USER2> The project seems interesting. It actually doesn't try to teach Ruby, instead it explains very simple programming concepts for very young kids.

<comment><AUTHOR> yep

</comment></comment><comment><USER3> I can't tell you how mad I am about this. Just because some girl pretending to be 6 year old in a cute dress jumps on a couch and draws some shitty doodles actual 6 year olds would draw, people throw 200k at her? This is everything wrong in this world. Ruby. I just can't express my words, so mad am I.</comment>


Are there dark themes for HN which also incorporate algolia? - <AUTHOR> I've installed themes in Stylus for HN. However, when doing searches, it's back to the same white theme, because searches are done on algolia, a separate domain <comment><USER2> Would love to merge any PR you would think about for adding a dark theme to our GH repository: [https://github.com/algolia/hn- search](https://github.com/algolia/hn-search)

<comment><AUTHOR> Unfortunately I know next to nothing about writing themes :(

<comment><USER3> Maybe copy one of the existing ones:

[https://github.com/algolia/hn- search/tree/master/app/assets/...](https://github.com/algolia/hn- search/tree/master/app/assets/stylesheets/themes)</comment></comment></comment>


Ask HN: How to work with a psychopath? - <AUTHOR>

Hi HN,
This is a throwaway account. I need your help to deal with somebody who has a psychopathic behaviour at my work place. Basically all he does is about self promoting himself, and he has very good communication skills. It seems that I am the only worker to have noticed it, apart from one or two colleagues. Examples of what he does:
- befriending all the managers
- spending more time writing documentation in the internal wiki than doing actual work
- posting lots of pictures of his life on facebook, which would be fine if he didn't have facebook before joining our company (we do lots of things on facebook) and presumably all his FB friends are from the company.
- organizing meetings with no purpose, where he appears to be making decisions
That guy is supposed to be my very closed co-worker, but his acting is taking its toll on me (basically he is more chatting with people he wants to please than working at his desk - and he's not at all in a manager/lead position), and for reasons I will not mention here, I can't quit my job at the moment, and so I need advices from you guys.
Thanks. <comment><USER2> None of those behaviors are inherently indicative of psychopathic behavior.

But I can see how someone spending more time trying to look good then actually doing the work they were hired for might bug you.

If his actions effect you directly, then take appropriate action, like speaking to him and expressing your concerns, and then, if he fails to respond, speaking to your manager. Make sure you talk to him first, because any good manager will ask if you tried to work things out with him directly.

If it doesn't effect you directly, don't waste time on worrying about it. Instead, worry about how you are going to demonstrate your hard work to the company.

<comment><USER3> Actually, be cautious of speaking to another employee directly about such concerns. While that may be a traditionally expected and lauded route, in today's HR world, it can actually be a no-no.

I ran into this once, some years ago. I spoke directly -- and very politely -- with a coworker about a behaviour that was bothering me. The next thing I knew, _I_ was called into a 1:1 meeting and chastised for speaking directly with the employee on the topic instead of going through my management.

As long as I am writing, I'll also speak briefly to the topic of dealing with a psychopath. In my limited experience, their world ultimately revolves around _them_. If a project or activity benefits _them_ (in their perception), you may get along on it and do ok on that specific task/topic. (Although look out, when the exit comes.)

Otherwise, where your interests and outcomes diverge, for them their own will always come first. Any apparent involvement to the contrary will reveal itself, sooner or later, to be a facade.

It goes beyond just a conscious choice. _This is the way they are -- to the core._ Once you realize this, it's easier to limit your involvement with them and avoid further entanglements.

</comment></comment><comment><USER4> He just learned the lesson that you have to follow the path of "Continuous Visible Productivity" to get up in the hierarchy:

[http://www.theregister.co.uk/2012/03/21/how_to_get_paid_more...](http://www.theregister.co.uk/2012/03/21/how_to_get_paid_more/)

You better learn something from that without turning into a douche.

</comment><comment><USER5> I agree these behaviors don't seem psychopathic, merely selfish, irritating, and useless. It sounds obvious from your account that he is not being truly productive. You should try to have a polite conversation with him about "prioritization" to get him to stop unnecessarily writing documentation and holding meetings (actually that is pretty weird behavior). If he is wasting his time socializing instead of truly getting work done, he'll be his own downfall. The managers might like talking to him but at the end of the day, employees who get real, important things done are most valued. Perhaps you should devise a way to make that clear to your managers, maybe by being very productive yourself and subtly putting that in contrast with his work. Also you should befriend the managers too.

</comment><comment><USER6> Try asking this question at [http://workplace.stackexchange.com/](http://workplace.stackexchange.com/)

</comment><comment><USER7> I don't mean to be psychopathic (I do mean to be), but I can't help but read this post as, "I'm jealous of a co-worker who is better at office politics and I'm looking for people to help boost my ego"...

</comment><comment><USER8> > spending more time writing documentation in the internal wiki than doing > actual work

I have to disagree that this isn't actual work, as long as he's documenting something important.

But this:

> organizing meetings with no purpose, where he appears to be making decisions

That does sound a bit like a narcissistic personality complex, doesn't it?

[http://en.wikipedia.org/wiki/Narcissistic_personality_disord...](http://en.wikipedia.org/wiki/Narcissistic_personality_disorder)

You could separate out the behaviors that aren't bad from those that are, and document the bad ones, then bring that to a manager and ask for some help.

</comment><comment><USER9> Every team I've worked with has that guy. Not psychopathic at all. He's Just more focused on improving his career by being friends with managers rather than being productive.

</comment><comment><USER10> He's not a psycho just an arse licker</comment>


PayPal payments and notifications are coming to Facebook Messenger - <AUTHOR> http://venturebeat.com/2016/10/24/paypal-facebook-messenger/ <comment><USER2> Having an actual solution for sending money through messenger would be a great thing. Currently that's not available in most of(?) Europe.

I wonder why it took so long, given that I really can't see any value in most of the available messenger integrations.</comment>


Postgres Internals Presentations - <AUTHOR> http://momjian.us/main/presentations/internals.html

<comment><AUTHOR> I'll mention that I found that by digging though older schedules from the archives of pgcon: [http://www.pgcon.org](http://www.pgcon.org)</comment>