America's Buses Need Our Love More Than Ever (2018) - <AUTHOR> https://www.citylab.com/transportation/2018/05/love-the-bus-save-your-city/559262/ <comment><USER2> The thing I hate about buses in many cities is that they take longer than driving to get somewhere. I think if this can be changed, more people will use them.

Cities like Sydney get it right, by having dedicated express lanes on many highways for buses (and taxis). When it becomes _faster_ to catch the bus in peak hour because they can drive in lanes that bypass the gridlock, there is an incentive to leave your car at home if you know you'll be leaving work during peak hour and need to be somewhere ASAP.

Interestingly, this has also allowed taxis to have an edge over Uber et. al. Just recently I was catching a ride to the airport in an Uber and forgot about how bad peak hour traffic would be. We were stuck in awful traffic for over an hour, and meanwhile, all these buses and taxis were flying past us in the transit lane. The fare of the Uber ended up costing more than the fare it would have been in a taxi due to how much longer it took.

If transit lanes can be put in more places, bus lanes created at more intersections (so that buses can get ahead of traffic), and fares set at the right amount, I think that with the rising cost of fuel, insurance etc., more people will be willing to catch public transport, especially if it is _more_ convenient to do so.

<comment><USER3> "The thing I hate about buses in many cities is that they take longer than driving to get somewhere."

In my experience they take within a few minutes of walking somewhere, and perhaps three times as long as bicycling, never mind driving.

Perhaps someone will say that this indicates my local bus system is terrible, but I don't see what could be improved about it. If they want to serve the people who actually ride the bus, they have to go on routes with riders, and stop at all the places people want to get on and off.

But I've tried riding the bus on trips ranging from <1 mi, to 3.5 miles, to 6-10 miles, and there's just no point, except in the case where I need to go get my car and I have no alternative (or if I didn't own a car). For a longer trip, it means sacrificing an entire evening for what would be a 10-15 minute trip going directly.

For the longest trips (>6 miles) which coincide with a single route, the bus can be substantially faster than walking, but it's still way too long to be a viable commute. And shorter trips are very comparable to walking.

People say or imply that something could be different that would make a typical bus system in a US city more effective for people who have alternatives, but what?

The idea of the bus being "more convenient" with a few tweaks seems wildly implausible to me based on my experience.

<comment><USER4> Buses are most viable when combined with a well developed rail system. Then it's worthwhile as an alternative to dealing with parking at the train stations and because you won't have your car on the other end of that rail journey.

<comment><USER3> I don't understand what you mean at all.

If I didn't have a car, of course I would ride the bus to the train station. And I have in the past taken a fairly long distance bus to get to an airport hub.

But this doesn't seem to have any relationship to daily life where I am, or similar places, because train or plane rides are for going on long trips, say over 200km.

Indeed, to travel to NYC from where I live by train would be the same time as driving, and considerably quicker than a bus. But no way would I ever spend about 2.5 hours daily going back and forth, so it's all unrelated to my normal transportation needs.

Maybe by a "well developed rail system" you mean a subway, but it doesn't seem realistic for an area with a million or two people to support one. With infinite resources, you could run infinite free buses too, rather than indirectly trying to create some sort of synergy.

<comment><USER5> > Maybe by a "well developed rail system" you mean a subway, but it doesn't > seem realistic for an area with a million or two people to support one.

Population of Kyoto: 1.47 million

Kyoto subway map:

[https://youinjapan.net/maps/kyoto/kyoto_metro_train_map.png](https://youinjapan.net/maps/kyoto/kyoto_metro_train_map.png)

I didn't cherry pick this from some ordered list of cities by train lines to population ratio; I just picked it because I lived there and the train was as incredibly convenient as it looked. And also gorgeous:

[https://ja.m.wikipedia.org/wiki/%E4%BA%AC%E9%98%AA3000%E7%B3...](https://ja.m.wikipedia.org/wiki/%E4%BA%AC%E9%98%AA3000%E7%B3%BB%E9%9B%BB%E8%BB%8A_\(2%E4%BB%A3\)#/media/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%3A%E4%BA%AC%E9%98%AA3000%E7%B3%BB%E8%BB%8A%E5%86%85.jpg)

<comment><USER6> In Kyoto half the population of the entire metro area lives within city limits. In a comparably sized American city like Philadelphia it might be a quarter. Or you might have something like Atlanta, with a city that has 1/3 as many people as Kyoto in a metro area that has twice as many.

The net result is that a good subway system in Kyoto can serve a majority of the metro population, while that is not true for Philadelphia or Atlanta. (That is true even though Kyoto is not particularly dense--closer in Atlanta to density than to Philadelphia.)

<comment><USER5> Perl4Ever was expressing doubt that an area of a million or two people could support rail. I think Kyoto is an excellent counterexample to this claim, and the rail lines are what propel the density as people want to buy homes that are walking distance from a train station.

But let's look at Boston instead. Population 700,000 in the city limits; 4.8 million in the metro area, so about one seventh lives in the city proper.

[http://www.rochestersubway.com/images/photos/boston_subway_m...](http://www.rochestersubway.com/images/photos/boston_subway_map.jpg)

While perhaps not as developed as Kyoto, that's still a very healthy rail system. And its first subway was built in 1897 when it had a population of just about half a million.

<comment><USER3> "an area of a million or two people could support rail. I think Kyoto is an excellent counterexample to this claim"

The metro area in which Kyoto is located is around 20 million people. The metro area of Boston is almost 5 million people, you say. These are not counterexamples to what I was trying to communicate. I don't really think my comment was as hard to understand as you make it seem.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> The author completely forgets there is a whole world outside the US, where public transportation is efficient, preferred, and often makes good profts too.

\- Singapore has a very good bus+ metro system and people actually prefer it. Cars are heavily taxed which contributed to it, but their well planning has helped too. Airport served by metro, so is the Malaysia border, and every neighborhood has at least two nearby metro lines and a plethora of bus lines.

\- Kuala Lumpur has quite heavy traffic, but they have two free public bus lines going around the important places in the city. They are free of charge, every 15-30 minutes, have their routes well marked, and even has free WiFi.

\- Jakarta: they have the world's biggest bus rapid transit system. Dedicated lanes, platforms, cashless payments, and the massive coverage help this massive city to have slightly less traffic jams.

Jakarta also has motorbike taxis (ojek, Gojek/Uber apps) that serve the last miles well. They are quite cheap (about 10 US cents per km) and I doubt they will be economical once the VC money is burnt, but they are better than a sedan with a driver and a passenger.

\- Berlin/Munich: Good tram system with commuter passes, day passes, etc. It's common to give the day passes to someone at the ticket machines when we are done for the day. They help keep the costs low in otherwise expensive cities in Munich.

<comment><USER8> I think it's clear the author is only talking about bus transit in the US.

</comment></comment><comment><USER9> In the bay area, there was an express bus line from my town straight into downtown San Francisco. I could work through my whole commute (as I had a seat and a laptop), not worry about traffic or deal with road rage, and was filled with a wide variety of people.

If each community added their own similar route, I wouldn't be surprised if rush hour traffic was noticably impacted.

</comment><comment><USER10> The HN demographic skews young and male, so I think many of us fail to appreciate that older people and women often feel unsafe — or at least uncomfortable — on public transit. Increased law enforcement presence and enforcement of decent behavior would do a lot to make people love the bus.

<comment><USER11> >I think many of us fail to appreciate that older people and women often feel unsafe — or at least uncomfortable — on public transit. Increased law enforcement presence and enforcement of decent behavior would do a lot to make people love the bus.

That may be true for the US, but interestingly in Spain (and I daresay in most of Europe) the opposite is true: the prototypical users of public buses are older people, and particularly older women. They generally don't use or don't need a car, are not in enough of a hurry to use the Metro, and want to avoid the latter's long stairways and escalators.

Maybe the solution for women and older people in the US to start using the bus more needs to start with stricter law enforcement and presence, but I can't say it is a factor in Spain. Law enforcement and security guards are very rarely seen in buses, though their overall heavy usage and the fact that most of the city has a high density of foot traffic anyway is probably enough to discourage feelings of unsafety.

<comment><USER12> "the opposite is true: the prototypical users of public buses are older people, and particularly older women. "

That's not the opposite. The statement isn't that old/women don't use public transport; it's that they feel unsafe using it and would use any alternative were it affordable/possible.

</comment></comment></comment><comment><USER13> My city's buses often take longer than walking, and I have to stand on them because the suspension is not sufficient on our roads, it's probably not even safe to sit sometimes. The HVAC and rattling/flapping noises are extremely loud.

I ride the bus here when absolutely necessary, I usuallly walk the 3km to/from the regional train station to avoid it. Often it's not even an option, since all of the routes close down at about 1:30, and at that point come every couple hours.

</comment><comment><USER14> Busses have to be one of the worst modern mass-transit options. Auckland NZ has bus lanes, so that is fine. But they are diesel. So they are noisy and polluting. Get two or three busses in a row and you cannot see past them. They block entire roads, and really, the have a low head count for the amount of space they take up. I'm not even speaking as a driver, I'm speaking as a pedestrian. Busses really suck.

<comment> et-al It seems like your compliant should be directed more specifically towards diesel vehicles than actual busses. There are low-emission busses out there.

<comment><USER15> Here in Norway the trend is toward battery electric buses via diesel hybrids and gas (not gasoline).

But even the diesels are quieter than the buses I have seen in the US and certainly a lot cleaner.

Buses in both the US seem stuck in some alternate reality where clean fuel and quiet motors are somehow impossible. I realize that this might well be an unwarranted generalization from my experience in the Raleigh-Durham Triangle, perhaps it's better elsewhere.

</comment></comment></comment><comment><USER16> The school bus system is an interesting microcosm of transportation to look at; Over the last 30 years, bus use has dropped while [privileged] parents drive their children to school, wait in a carpool lane;

Interesting concepts

\- Time Wasted in the pickup lane (and often the drop off lane)

\- Traffic in the pickup and drop-off lanes

\- High School parking lot size

\- Use during inclement weather

In Snowpocalypse in Atlanta, a large portion of the mess was contributed to by the 3 trips; Parent to Home, Parent to School, Parent and Child to home; Instead of offering for parents to pickup their children from school, much of the traffic could have been resolved with the existing bus system; In the end; if chains were needed, it's easier to fit 50 busses with chains in a bus yard than 1000+ cars.

<comment><USER17> Sometimes chains aren't even needed.

While I was an undergrad at The Ohio State University, I was a part-time bus driver for the campus bus system (which used 35- and 40-foot city-type buses).

During my time there, we had one snow day, and I was on-shift that day. That was when I learned that the bus had traction control. Once I learned that, I was able to adjust my driving such that climbing the hill to the Freshman remote parking lot was no problem.

</comment></comment><comment><USER18> In Boston because of traffic, even with dedicated bus lanes, bikes and/or electric scooters were always faster than public transit. Only downside was in the winter when bike lanes and sidewalks were covered in snow / ice.

<comment><USER19> Another downside of a bike is that you arrive covered by sweat if you try to ride faster than public transit in the summer.

An electric bike solves this, of course.

<comment><USER18> Agreed, my office had a shower and it was still a hassle.

1) there was only one shower per bathroom, which meant if anyone else decided to ride their bike to work or go for a jog there'd be a 30min queue for the shower

2) even if there wasn't any wait - it still takes 20min minimum to shower and change before work

3) it's dangerous AF to ride a bike in adverse conditions like snow or cold rain around cars (never-mind frost-bite / injuries involved with slipping on ice)

</comment></comment></comment><comment><USER20> Reading all the comments here makes me happy about living in East Asia (Taiwan and Japan specifically).

</comment><comment><USER21> I will use the bus the moment I can have the same level of peace and quiet I get in my car. My commute is not long, but it gives me time to think about things. My experience with public transport is pure unrelenting noise.

<comment><USER22> Have you tried noise canceling headphones. I have a pair of bose QC headphones that can turn a packed hearing damage level pub down to a fairly relaxing sound level. On a bus with some music playing I can't hear any sound at all from outside.

</comment></comment><comment><USER23> Fortunately in Canada, we view busses as transport for the plebes. So when we finally brought LRT service up (a bit late) and the bus trip from home to work went from 45 minutes to an hour, my 15 minute driv was unaffected.

</comment><comment><USER24> you can't just tell people to "love the bus", the bus has to actually be loveable. No one is avoiding the bus because 'climate change is cool man, fuck the bus'. People don't ride the bus because it's jam packed shoulder to shoulder, can smell like puke and piss, subsidezed homeless travel while the rest of us need to pay a dumb fare, requires exact change in world ruled by tap-to-pay devices. And then yeah, traffic and time, but that's not really the core detraction. Oh, yeah, and Uber pool and Lyft rides are nearly as cost effective, when you consider time-to-income it's often more cost effective.

Make the bus an experience that at least doesn't make want people want to vomit and then people may start to take the bus again. As another commenter said, there are countries where busses don't suck, and ergo busses are used.

<comment><USER25> If you are not aware, this type of comment is fairly common on HN when discussing public transit.

 _> Make the bus an experience that at least doesn't make want people want to vomit and then people may start to take the bus again._

Please do not take personal offense to this, but this type of comment leads me to believe that you have very derogatory views of people that have chosen or have ended up in different life paths. Have you ever considered that it is possible that you live a very isolated and segregated life and that something like the bus is unsettling to you because it forces you to associate with the general population as opposed to your typical, highly controlled, environment?

<comment><USER6> Contrary to what some people believe, the "general population" follows rules and decorum and doesn't like people blaring music on the bus, or aggressive pan handlers, or people talking to themselves any more than OP does. If they had a bit more money they'd be driving instead to get away from the troublemakers just like OP. And they are the ones who suffer most when elitists insist that public transit (and public schools, etc.) should be forced to deal with troubled or anti-social people, be de facto homeless shelters, etc.

<comment><USER25> Those people are a sample of the general population. Most of the people on that bus are not blaring music or aggressively panhandling. A small percentage, just like in the general population, are.

I imagine, from the above poster's comments, that they have chosen to live in a community which isolates itself from a large portion of the population. When utilizing a service like the bus, or maybe the DMV(Department of Motor Vehicles), they are now forced to be around the general population that they have been able to avoid for most of their life.

My point is that their comments have less to do with the bus, and more to do with their opinions on the general population. Of which they typically spend very little time around.

<comment><USER6> > Most of the people on that bus are not blaring music or aggressively > panhandling. A small percentage, just like in the general population, are.

My point is that the rest of the "general population" is upset by that "small percentage" as much as OP, and the "general population" wishes there was more aggressive enforcement of social and legal norms on the bus. And that it's elitist to fault OP for his view, instead of faulting the government for not properly policing the bus.</comment></comment></comment></comment></comment>


Julia 0.6 is out - <AUTHOR> https://github.com/JuliaLang/julia/blob/release-0.6/NEWS.md <comment><USER2> Julia is becoming too complicated for an average data scientist like me to master. It is not that much easier than C++ (which I know some). Considering it wants to attract people with Matlab background... I think it kind of defeats the purpose.

<comment><USER3> Being complicated and needing to care about the complications are different. For example, I use Julia as a fast, pseudo-Matlab desk calculator and haven't bothered to read about the type system [1] (I think I read a "so you're coming from Matlab" style cheat sheet). Maybe someday, but until then it sorta just works as you would expect.

[1]: The other day I did spend some time figuring out how to do Pkg.add("SQLite").

<comment><USER4> > Being complicated and needing to care about the complications are different.

I used to think that but changed my mind when it comes to programming languages. Mainly because once complexity is there, unless it's just a single developer or very tightly controlled / peer reviewed development practice, different contributors will use various subsets of features of the language and so you still have to know all the complex edge cases because you might have to read code. And arguably code is read more than written.

<comment><USER3> Maybe I'll run into that, but like I just went digging into some packages to see if I could get myself lost, and instead I learned that Julia can work on raw pointers, and found a cool raytracer that seems pretty readable in the CSG package:

[https://github.com/JuliaDB/PostgreSQL.jl/blob/master/src/dbi...](https://github.com/JuliaDB/PostgreSQL.jl/blob/master/src/dbi_impl.jl#L160) [https://github.com/jtramm/ConstructiveSolidGeometry.jl/blob/...](https://github.com/jtramm/ConstructiveSolidGeometry.jl/blob/master/src/ConstructiveSolidGeometry.jl#L317)

</comment></comment></comment></comment><comment><USER5> The list of BREAKING CHANGES still keeps me away from doing more in Julia right now.

[https://github.com/JuliaLang/julia/blob/release-0.6/NEWS.md#...](https://github.com/JuliaLang/julia/blob/release-0.6/NEWS.md#breaking- changes)

<comment><USER6> Yep, they stated version 1.0 will be the one where they stabilized.

Likewise Rust is like this for the language. Their standard library iirc were still developing?

So it suck in term of wanting something stable but at the same time they need people using their language.

I think the upside is there are tons of stuff you can contributes including the small stuff.

<comment><USER7> No, Rust went 1.0 a while ago. They will not make breaking changes to the language until a hypothetical 2.0 release, which at the moment they are not considering.

Of course the standard library changes; it's not a dead language.

New features, including new functions in the standard library, are marked 'unstable' when they are introduced. Unstable features have to be explicitly requested, indicating that the programmer is aware that their functionality may change before they're stabilized.

<comment><USER8> There is an important point here, which is that even if you've been stable for a while (two years for Rust) and even if you try to get that message out (some people on HN think there are too many posts about Rust), it can take a _very_ long time for broad perception to catch up with reality.

That's not a value judgement on those who didn't know; cache invalidation is a hard problem. But it's an interesting facet of languages that plays out in a number of ways. See the link to Dan Luu's post from forever ago, posted numerous times in this thread as another example.

</comment></comment></comment></comment><comment><USER9> Julia Computing announced its seed round yesterday[1], hoping we can see some additional velocity here.

[1][https://juliacomputing.com/press/2017/06/19/funding.html](https://juliacomputing.com/press/2017/06/19/funding.html)

<comment><USER10> The investing VC's thoughts - "Deconstructing the Near Perfect Deal"

[https://hackernoon.com/deconstructing-the-near-perfect- deal-...](https://hackernoon.com/deconstructing-the-near-perfect-deal-our- investment-in-julia-computing-dca81bb1d779)

</comment></comment><comment><USER11> Does anyone know when Julia 1.0 will be out?

<comment><USER12> I believe 0.6 was the last 0.x release before 1.0 but that may have changed. At this time, the 1.0 milestone hasn't been assigned a due date [0].

[0] [https://github.com/JuliaLang/julia/milestone/4](https://github.com/JuliaLang/julia/milestone/4)

<comment><USER13> That's actually a bit out of date. The nightly builds are now 0.7 (not sure I've seen this mentioned beyond Discourse/Github). It will primarily serve as a depreciation release, i.e. things that would have just broke when going from 0.6 -> 1.0 will instead throw a depreciation warning.

<comment><USER14> 1.0 and 0.7 will come out at the same time. The recommended upgrade path will be to run the application and tests under 0.7 and fix any deprecation warnings, then switch to 1.0 where those warnings will become errors and fix any you missed. Should be pretty straightforward and allows us to release 1.0 without any deprecations.

</comment></comment></comment></comment><comment><USER15> This feels appropriate:

[https://danluu.com/julialang/](https://danluu.com/julialang/)

tl;dr: Julia is a great idea, but with poor testing and quality control. Community is (apparently) a bunch of dicks.

Just to be clear, I don't personally have much experience with it, I'm just summarizing Dan's review.

<comment><USER16> > testing and quality control

There have been major improvements in the past three years and code coverage is now consistently above 80%.

> Community is (apparently) a bunch of ...

I'm admittedly biased, but based on a number of years of experience and personal efforts, I think this is not a fair characterization. I don't know what happened in that private forum -- but I do know that the Julia community is _thousands of people_ , with a huge, public archive of helpful, respectful interactions among newbies, non-Julia experts, core devs, and everyone in between.

[https://groups.google.com/forum/#!forum/julia- users](https://groups.google.com/forum/#!forum/julia-users)

(Disclosure: Julia committer)

<comment><USER12> Just want to point out that the community forums moved from Google groups to Discourse awhile ago.

[https://discourse.julialang.org](https://discourse.julialang.org)

</comment></comment></comment><comment><USER17> [https://danluu.com/julialang/](https://danluu.com/julialang/) brings up some good points

Have they been addressed by now?

<comment><USER18> See the thread above. Short answer: yes.</comment></comment>


Flexbox Froggy: A game for learning CSS flexbox - <AUTHOR> http://flexboxfroggy.com/ <comment><USER2> Love it!

Reminds me of CSS Diner - [https://flukeout.github.io/](https://flukeout.github.io/)

<comment><USER3> I was just the other day searching for a flexbox "game", inspired by CSS Diner. It seams my "googleing" techniques need some improvement.

<comment><USER2> Or there needs to be more cross-linking and meta tagging, so Google can find it.

That said, try "flexbox game learning" in duckduckgo ;-) - [https://duckduckgo.com/?q=flexbox+game+learning&t=ffhp](https://duckduckgo.com/?q=flexbox+game+learning&t=ffhp)

FWIW: _DuckDuckGo ROCKS!_ _DuckDuckGo bang syntax ROCKS!_ Even when DuckDuckGo itself doesn't rock, it let's you easily, and slightly more privately, search other search engines [https://duckduckgo.com/bang](https://duckduckgo.com/bang) so _It ROCKS even when it doesn 't ROCK!_

</comment></comment></comment><comment><USER4> The possible values for justify-content are only displayed on Levels 1 and 2. By Level 3 you're supposed to have all 5 values memorized even though you've only used 2 of them? I had to keep flipping back to Level 2 just to get a list of the possible values. For a game built for someone who has never used flex before, I think you're assuming too much familiarity with it.

<comment><USER5> Just hover over the 'justify-content' displayed in the instructions for level 3+ and you get a nice tooltip showing you the possible values.

<comment><USER6> I discovered this myself but it's not immediately obvious. I also found the final level to be overly difficult without a reference to all the css property names and values.

<comment><USER7> I agree with you about the last level. I definitely needed the "cheat sheets" as the options for properties are difficult to remember (names kind of blend together). Finally I opened another browser window on the site I could refer to. Then I was able to glean the right options and solve it without too much difficulty.

</comment></comment></comment></comment><comment><USER8> It's a pretty neat way to visualize what the properties do. Learning how Flexbox works visually, as opposed to referring to a certain popular (and excellent) guide 10 times a day, is a pretty nice technique.

<comment><USER9> I've had the scotch.io guide in a browser tab for months now. [https://scotch.io/tutorials/a-visual-guide-to- css3-flexbox-p...](https://scotch.io/tutorials/a-visual-guide-to-css3-flexbox- properties)

But this game was great! Ten minutes and I think I'm almost ready to ditch the crutch.

</comment></comment><comment><USER10> Thoroughly enjoyed it. I think I just need to run through it about a dozen more times to keep the difference between align-content, justify-content, and align-items separate in my head. So many words, so close in meaning.

</comment><comment><USER11> The final solution was pretty fun.

Here is a gist if you can't get it :-)

[https://gist.github.com/aphillipo/59ab3b54419c97d96687](https://gist.github.com/aphillipo/59ab3b54419c97d96687)

<comment><USER12> FYI the site's source also provides the solution:

[https://github.com/thomaspark/flexboxfroggy/blob/gh- pages/le...](https://github.com/thomaspark/flexboxfroggy/blob/gh- pages/levels.js#L199)

</comment></comment><comment><USER13> Cool js app[0]! I often have to look up flexbox properties. After level 4 of this game, align and justify are definitely more clear in my mind now. It also helps to see over and over in each level that these properties are for the flex parent.

Edit: later levels (~10) begin to help with the discerning the difference between the flexbox main and cross axes.

[0] [https://github.com/thomaspark/flexboxfroggy/](https://github.com/thomaspark/flexboxfroggy/)

</comment><comment><USER14> The flex command suite seems rather arbitary chosen and named. Doesn't seem to reflect a decade of experience learning from the pain of CSS.

<comment><USER15> design by committee

<comment><USER16> You know, I'm starting to feel that there is no pleasing everyone. When a company decides to do a design without consulting a committee, people get all upset that they broke the standardization process. But when a feature does go through the process, people will complain about how it was designed and then blame it for being designed by a committee. What's the solution?

<comment><USER15> Well, the problem is that CSS is a monolithic mess at this point, like many other standards... If it was made of a selection of loosely-coupled parts, everyone would be fine with a strong guiding individual streamlining each individual part, and if you don't like part of the design you can just use another solution. Eventually CSS will be replaced by something like this (but it will take many more years, and it will require some rethinking about web code versioning, sandboxing, how low level web browser reflow algos work, etc.)

</comment></comment></comment></comment><comment><USER17> Oh man, best game ever. I really wanted to learn it having putting it off for so long. I can see how I could use it in a framework of mine. Gives me an excuse to use open web technologies again.

I was revamping some old code of mine, removing outdated technologies of third parties like YUI... But I noticed that I needed them for layout. But flexbox can provide an alternative for me.

Thanks a bunch!

</comment><comment><USER14> Since the game doesn't show you the effect of "wrong" answers, you're left haphazardly guessing answers until one is correct, instead of incrementally learning by exploring.

Game designers, take note: design open-world games that let the player explore the controls, instead of simply refusing all unwanted actions.

<comment><USER18> The game does (should) show you the wrong answers. And if a level requires multiple properties, you can add one at a time and check them incrementally clicking the "Submit" button.

<comment><USER19> It does if you hit the submit button, but not if you just hit Enter.

</comment></comment></comment><comment><USER20> Damn, this is a great learning tool for teaching people flexbox

</comment><comment><USER21> This is great, but I wish it was longer. The first 23 levels are pretty easy and it tells you what properties to use, then it drops you into a really difficult level with no hints. It would be nice if it built up to that with some medium difficulty levels.

<comment><USER22> His code is pretty damn awesome. Open the site in chrome. Open web inspector.

Paste this into the console:

levels.push({ name: 'super secret-1', instructions: 'This is a secret level you get no instructions.', board: 'rggggyyyyy', style: {'flex-direction': 'column-reverse', 'flex-wrap': 'wrap-reverse', 'align-content': 'space- between', 'justify-content': 'center'}, before: "#pond {\n display: flex;\n", after: "}", });

Proceed to the secret 25th level! You can create your own levels, and make a pull request to his git repository if you really want to add some interesting practice levels. Just modify levels.js.

<comment><USER23> I tried out your secret level, surprisingly easy after level 24 :)

<comment><USER22> haha, yup, you'd have to modify 'style' attribute in the new level definition. I didn't test but i'm assuming it determines the position of the lily pads.

You can reference his levels here when trying to create your own.

[https://github.com/thomaspark/flexboxfroggy/blob/gh- pages/le...](https://github.com/thomaspark/flexboxfroggy/blob/gh- pages/levels.js)

</comment></comment></comment></comment><comment><USER24> This was incredibly educational for me. My only feedback/request would be to reinforce the difference between `align-content` and `align-items`. I still don't quite get when to use which.

<comment><USER12> I agree, the site wasn't so clear.

My understanding is that it seems `align-items` is to do with the children of the element, while `align-content` is to do with the spacing with regards to the parent container. In some ways, `align-content` will always imply a certain "bunching" to the children (they are either stuck to the start, end, center or spaced evenly in some manner - but never changing order, wrap or size), whereas `align-items` changes how lone-items behave in the flow, be it start, end, center or some stretching).

These two URLs provide some decent visual demos & distinction:

[https://css-tricks.com/almanac/properties/a/align-content/](https://css- tricks.com/almanac/properties/a/align-content/) [https://css- tricks.com/almanac/properties/a/align-items/](https://css- tricks.com/almanac/properties/a/align-items/)

</comment></comment><comment><USER25> I've been telling myself to learn flexbox for a while now. Went to check this game out, got hooked, and learned it in about 10 minutes. Tooooo good, thanks webman!

</comment><comment><USER26> Avoided using flexbox up to now and overall it seems pretty great for some layout tasks.

I do wonder about the point of the `order` property, would anyone ever want to mess with this? It seems like something that should absolutely be in your application code, either client-side javascript or server-side. Using it seems like it would make a project harder to maintain and understand.

<comment><USER27> re `order`: for a usage you probably hadn't considered, that I'm sure you would agree is purely presentational and not application logic, check out:

[https://developer.mozilla.org/en- US/docs/Web/CSS/CSS_Flexibl...](https://developer.mozilla.org/en- US/docs/Web/CSS/CSS_Flexible_Box_Layout/Using_CSS_flexible_boxes#Holy_Grail_Layout_example)

tldr:

desktop viewport:

        _header____
        nav|article

mobile viewport:

        header
        article
        nav

can be done really easily with flexbox and `order`.

<comment><USER26> Ah, makes sense

</comment></comment></comment><comment><USER28> So "display: flex" affects how items within an element are positioned, while e.g. "display: inline-block" affects how an element itself is positioned. It seems to me that this is in conflict. Am I overlooking something? Or are the creators of CSS still not able to figure these kinds of problem out?

<comment><USER9> The creators (contributors, really) of CSS very much did figure this problem out.

Their solution was creating a new paradigm. You need to regard it as different from display:block and display:inline in the same way that those are fundamentally different than display:table.

CSS is capable of supporting all sorts of display models… just wait until display:grid rolls around.

<comment><USER29> Why not use something like display-contents:flex instead?

<comment><USER30> Because that implies you could have the display and display-contents properties have values at the same time that can conflict with each other.

The thing is, display: flex does control some aspects of the element it is applied to. Because there is display: inline-flex. It is roughly the equivalent of block and inline-block. It's just an added bonus that display: flex also affects the immediate children, making them flex items to be manipulated. For instance, make a div display: table and imagine its immediate children are automatically display: table-row, or something of that nature.

<comment><USER27> Doesn't that redundancy kinda suggest that there are two orthogonal things going on here?

ie,

        block | inline
          </comment></comment></comment></comment></comment><comment>---
        flex  | inline-flex

What could you label the axes here? Or is this not a valid way to frame the relationship between these things?

<comment><USER31> inline and inline-block are not the same thing. inline-flex behaves like inline-block

<comment><USER27> Brainfart. You're right, thank you.

</comment></comment></comment><comment><USER32> This is one of the best tutorials I've ever seen. Great idea, great execution.

</comment><comment><USER33> Anyone else have to use align-content instead of the "taught" align-items for 24?

</comment><comment><USER34> This is an amazing follow up to the greatly missed FlexBoxIn5. Kudos to the creator!

</comment><comment><USER35> Being picky here but when the first paragraph says "Guide this frog to the lilypad on the right" it should probably specify that you are moving all content in the pond. Just seems that it should start with moving the frog as a selector or reword that to be a bit more clear.

</comment><comment><USER36> Awesome. Clears lot of properties from flexbox display. Thanks a ton.

</comment><comment><USER37> This is the best way ever to learn!! You sir deserve a cookie...

</comment><comment><USER38> Wow, I think I finally get flexbox now.

</comment><comment><USER39> excellent game. thoroughly enjoyed it

</comment><comment><USER40> So, flex looks to be a better way to create/handle responsive design; rely less on bootstrap and stuff?

On a similar note Im curious if there is a responsive typography framework that's out there and people are using? A framework where the text automatically shrinks down without having to change the font-size in various media queries?

<comment><USER9> yeah look into vw, vh, vmin, and vmax measurements. They're fantastic and surprisingly well-supported.

[https://web-design-weekly.com/2014/11/18/viewport-units-vw-v...](https://web- design-weekly.com/2014/11/18/viewport-units-vw-vh-vmin-vmax/)

<comment><USER30> Or, another option, using rem for font-sizes that bases the size off the font- size of the html element.

<comment><USER9> That solves a different problem. REM is useful for making the value relative to a master value; v-units make the value relative to the viewport.

I actually use the two in conjunction. I set some my html {font-size: 1.2vw;} (or whatever), and all type in the document to 1rem (or whatever measurement). Then I finally step out the html size to major browser breakpoints using old- fashioned media queries.

<comment><USER40> cool, do you have any examples of yours you can share?

<comment><USER9> I can't share my recent stuff because it's still under private development, but here's the results of my first experiments in this method, a little rough around the edges but etc.

[http://midcenturymay.nyc](http://midcenturymay.nyc)

The "master" type size is set to a vh unit, everything else is rem'd off that, and stepped via media query.

<comment><USER25> Masterful, I love it. I can see how you broke this down and it simplifies things a great deal.

</comment></comment></comment></comment></comment></comment></comment><comment><USER41> I think that this is great and I just want to make a suggestion. I see a lot of these "learn to code/css" run into the same problem where they don't feel like real games. Give the player a dilemma such as dying if they don't type the right command fast enough. Resetting the level if they fail.

edit: lvl 15 makes colorblind kids sad :(

edit2: almost, almost [http://i.imgur.com/egndPZ8.png](http://i.imgur.com/egndPZ8.png)

edit3: champion!

<comment><USER42> I think, maybe, you're taking "game" too literally. First and foremost, it's a teaching tool, and throwing you back to the start would actually be counterproductive. It's more of a "fun, imaginary use-case" but "game" sounds better :-)

<comment><USER41> The levels are small enough that it makes no difference. And as far as teaching goes, repetition is the name of the game. Resetting on failures just means typing the same thing multiple times, reinforcing the things you are having difficulty with. A timer also allows for such things as scoring.

<comment><USER42> Hmmm... now you've got me wondering. Thing is, on the later levels, I found myself working one property at a time, understanding the effect of that one property, and building up the complete 'answer'. I'm not sure that handling the 'wrong answer' as a special case works for this type of approach. The repetition should (and is, to an extent) be provided by subsequent questions reusing just-learned knowledge.

There's nothing to stop you starting from the beginning at any point, or starting from scratch at any point in future. It makes it less of a 'game' but, like I said, I think you're overplaying the game element.

</comment></comment></comment></comment><comment><USER43> Just another comment to say the same thing as the others: great idea and really well done. Congratulations!</comment>


An MVP is not a Cheaper Product, It's about Smart Learning - <AUTHOR> http://steveblank.com/2013/07/22/an-mvp-is-not-a-cheaper-product-its-about-smart-learning/ <comment><USER3> These days, I'm beating the drum that a MVP is not necessarily a V1 of a product idea.

If you consider the goal is to learn whether you can have a business or not, you start thinking less in terms of your product and more in terms of what is the underlying problem, customer segment, market conditions, discoverability etc etc

Also, instead of thinking as idea -> MVP -> product, it can help to think of MVPs as a series of experiments, rather than a monolithic product designed to verify all assumptions.

I blogged about this process that we could have followed at my company, instead of burning cash and months of work building something nobody wanted: [http://www.sparklewise.com/minimal-valuable- experiments/](http://www.sparklewise.com/minimal-valuable-experiments/)

<comment><USER4> I'm currently putting together MVPs of the difficult UI aspects of my system, because those are the parts I'm worried about. The back end is actually pretty straightforward. The UI stuff is the stuff I want to get in front of users for review.

After that, I need to do some technical MVP for proof of concept, to prove to myself that my assumptions about certain data patterns are actually correct.

The important thing, though, is to get to where I have working code I can show others to get feedback, even if that code isn't anywhere near complete as a marketable product.

<comment><USER5> Testing your UI is what most people would call prototyping, though. You've already decided on what you want to build, just not what the interface to what you're building should be exactly. An MVP is for deciding what to build or whether to continue to build.

<comment><USER6> Or more importantly, what version of what you build will your customer pay for/use - i.e. what will add value such that it would change their behavior.

</comment></comment></comment></comment><comment><USER7> Sometimes I think the whole lean startup movement is either heavily misunderstood, or just overrated.

If you have a validated market willing to pay for your audience's eyeballs (based on, let's say, startups that have been in the space before), do you still need an experimental MVP? Or should one focus on building the real product?

<comment><USER8> I can see what you mean here. I feel like this often applies to SaaS products and Network companies like Facebook, where forerunners in the field have validated the need for something in the market, but failed from a technical or a distribution angle rather than a product perspective.

Its a very good point. I think the 'lean' movement is really meaningful when you're talking about big engineering innovations (where the alternative is often between doing a big build or doing manual work) rather than a network or service business where the concern is actually around the quality of the network or service you're providing, which can't be easily faked or tested.

</comment></comment><comment><USER9> This reminds me very much of pg's recent essay about doing things that don't scale ([http://paulgraham.com/ds.html](http://paulgraham.com/ds.html)). That essay's very direct title seems to come from the fact that technical founders, like the Stanford students mentioned in the article, can be biased to solving engineering problems before solving business problems. "Do things that don't scale" (as well as Steve's advice here) is a reminder to solve the actual problem, and to solve it in the easiest way, not the most fun, technically challenging way.

</comment><comment><USER10> So I asked, "Would it be cheaper to rent a camera and plane or helicopter, and fly over the farmers field, hand process the data and see if that's the information farmers would pay for?"

After the 2nd paragraph, I assumed a question like this was going to be asked, but my "frugalness" assumed it was going to be:

"Wouldn't it be cheaper to get a DSLR, and spend 8 hours walking through a field and taking pictures?"

<comment><USER11> If you've got a friend who's a private pilot or working on some sort of flight certification and needs hours... you could probably talk them into taking you up for the cost of fuel and lunch.

A farmer may not feel comfortable with you trundling through their fields on foot.

<comment><USER12> Back in 1984 I took the first infrared crop pictures in Michigan. We rented a Cessna, took out the passenger seat and I got on my stomach and pointed the bosses 35 mm out the inspection port.

Special IR film from Kodak that had to kept refrigerated when it wasn't in the camera. I could feel the pilots tight turns in my gut. Good times!

</comment></comment></comment><comment><USER13> TLDR: we often rush to building an initial version of a product when we can jump straight to manually creating value for a customer and testing demand by charging for it, then crystalize that learning into a product later.

I believe there's a corollary to this: you can jump straight to building an MVP when you're building for yourself and are confident there are others like you. I remember PG describing it (in a video that I can't find the link to) as a design pattern where the broadcast signal and receiver all within the same brain.

Even better is when the thing you build solves a real problem at a business you're running and it makes you more money. My favorite YC example is Ilya from Mixrank. He was working as an SEO consultant when he realized some of his process was abstractable as scripts, wrote some to help him do his job better, then emailed it around to other SEO colleagues to see if it helped them as well, and all of that validated learning helped him attract his technical cofounder and then build Mixrank as a product. I believe they may have even been profitable before starting YC?

<comment><USER7> If you find the video, please do post it. The closest I've found was PG's article on Organic Startup Ideas: [http://www.paulgraham.com/organic.html](http://www.paulgraham.com/organic.html)

</comment></comment><comment><USER14> I am actually in the process of reversing the process and building the marketing first, and not building the product until there is enough marketing validation. My thought is, if maybe 1 in 10 or 1 in 20 ideas is going to sell, better to figure out what will sell before building out every idea and then hoping for the best each time.

<comment><USER15> I recall, but can't find, a story on HN about someone who, before building any product at all, put up a website with an explanation of value, and a "purchase" page. People put in their credit card number trying to buy the product, validating there really was some market for them.

<comment><USER16> Tim Ferris talks about it in 4 Hour Workweek, but sure plenty others discussed the idea before that.

</comment></comment></comment><comment><USER17> The sentence that jumped out to me:

"We're engineers and we wanted to test all the cool technology, but you want us to test whether we first have a product that customers care about and whether it's a business. We can do that."

...

Me: I find it a little interesting the amount of silence on this type of post, that cuts out the noise of building for the sake of building and focusing on what customers, actually, want, and not over-obsessing on your stack.

Most things can get you through build-measure-learn quick enough, leaving plenty of room to get out of the building.

</comment><comment><USER18> I think you can read the post and come to a very different conclusion and one that I have written about in the past.

The MVP is a curse for ambitious technology companies that want to grow. In an increasingly transactional world, growth comes from long-term customer happiness. And long-term customer happiness comes when customers adore your product or service and want you to succeed. You should be thinking about what it will take for customers to love you, not tolerate you.

In this case, insights from the data about the agriculture is what customers really need. And if you give it to them in a meaningful and actionable way, they will love it (at least that's the theory). That's radically different than what might be minimally viable (e.g. a ton of data that they could sift through in Excel).

Really think about the type of mindset change it would take. What would it take you to create a Minimum Lovable Product (MLP)?

[http://blog.aha.io/index.php/the-minimum-lovable- product/](http://blog.aha.io/index.php/the-minimum-lovable-product/)

<comment><USER19> I agree with a lot of what you write even though I still see value in the idea behind MVPs.

My biggest issue is with the discourse and the stories that are written about. I find most so-called case studies of successful product dev by methodically following the lean process to either be lacking OR highly suspect(due to key missing details).

I was reading the book _Nail it before you Scale It_ and while I wholeheartedly agree with the title of the book and even the theoretical ideas, it was disconcerting to me that a lot of the successful examples cited in the book are companies that no longer exist.

Overall most authors on this topic do a great job of pointing out how a company wasted ton of money on building a product no one wants but the same narrative seems to oversimplify how the company finally achieved success.

</comment></comment><comment><USER6> This is one of the problems I face with building 5KMVPs for clients. They often confuse how they want their final product to work, with the product that their clients will pay for.

The truth is, I think most entrepreneurs (and engineers) can easily fall into this trap. It is helpful to have someone else to bounce ideas off of - <USER2> that forces you to build what the client would pay for, versus what you want to build.

Even I fall prey to that for my own projects. Even though I build MVPs for people, when it comes to my own projects, I have to make a conscious effort to CONSTANTLY ask myself - is this what I want to build or what the client will pay for. Often times, I have to even take a step back and talk to a trusted friend that understands the internet. Get their feedback.

So, the most valuable thing I have learnt in my year+ running 5KMVP is that my most valuable service is when I push back on the client. Asking more questions, probing to get to the heart of the problem they are trying to solve.

</comment><comment><USER20> Very good point on market centric versus customer centric view of the MVP. Is the critical path "Will someone pay for this" or "Can we get it to work"?

</comment><comment><USER21> The MVP is meant to be a wet thumb in the air: is the wind really blowing north, the way we think it might be?

</comment><comment><USER22> This is true not just at "building an MVP" stage. At my current startup, we are focusing on traction, across different channels/verticals. We have found it quite useful to test and learn about these channels by running experiments.

</comment><comment><USER23> Perhaps a better name for MVP would be FVP: "Fastest viable product". The end goal is to get something in a customer's hands as quickly as possible. There is no reason for the product to be minimal (or cheap). Renting a plane and manually processing images is extremely expensive from a per unit perspective - but the more important feature is that it can be deployed quickly.

<comment><USER24> _> Renting a plane and manually processing images is extremely expensive from a per unit perspective_

But the total cost is still low. This is a very important feature. In the article, this was about reducing the total costs of the MVP by about 90%.

Replacing "MVP" with "FVP" would dismiss this important feature.

Moreover, if your MVP is really minimal, maybe you don't need any investor at all to build it!</comment></comment>


Why build a site? Why do your customers care? - <AUTHOR> http://gist.github.com/40002

<comment><USER2> You know this all seems so obvious it doesn't need mentioning, but I am still amazed that in this day and age people still don't get it.

My local YWCA just redid their website, and there's all the names of the board of directors and their history and this that and the other. What there isn't is (a) any e-mail address _at all_ and (b) any schedule for their sporting facilities (whose schedule changes on a monthly basis).

Did anyone not sit and think "Hmmm I wonder whether the average visitor on our website wants to know (a) that we were founded in 1919, or (b) what time the lap swim is at the pool"?

</comment><comment><USER3> Good luck if you bury the way to order your product in your contact page.</comment>


REST question - <AUTHOR>

I'll start by saying that I understand REST APIs.  However, I am having trouble with one thing.  How do typical methods - suspend, archive, export, etc - translate best to REST APIs?
For example, say I have a project management system.  And you can archive a project.  How should my REST API handle archival?
I assume you'd do a POST to myapp.com/project/1234, and you'd pass some data in like { archived: true }.
Or maybe a POST to:  myapp.com/project/1234/archive.  Although I guess that URL is not restful.
So what's the approach that most apps take here?  A generate "update" action that takes varying parameters, rather than individual actions for each method, would be a bit of a pain to code and document, no? <comment><USER2> From what I can tell, I think it depends on if you want to be able to access the project later. If you don't, then I would recommend using DELETE /project/1234 with { archived: true} as an option. If you want to view the project later, then I think you should do a PUT to create the "archive" resource as in PUT /project/1234/archive or do a POST if you don't know the actual archive URI.

</comment><comment><USER3> Not necessarily, if you are using rails, you get update actions for free in your controller.

So you could do: curl -X PUT -d "<params>" <http://myapp.com/project/1234>

See section 11.6 (How to take snapshots of resources) in the book "RESTFul web services cookbook" for a discussion of this...

<comment><AUTHOR> I realize you get update actions. But what if you have different types of updates? Perhaps editing basic info like a project's Title. Or locking it? Or archiving? Are they lumped into the same action?

<comment><USER3> No, you can actually generate different names for the actions that are part of url using rails routing, and you can require that they all use the HTTP PUT method.

</comment></comment></comment><comment><USER4> you might get more and potentially better answers somewhere like stackoverflow.com

</comment><comment><USER5> PUT to myapp.com/project/1234 with the param {"status":"archived"}, then set your model up so that when the status changes to archived, it archives itself.</comment>


I have written a basic chat application using node.js, what do you guys think? - <AUTHOR> http://sekonode.herokuapp.com/

<comment><AUTHOR> Haha. Either heroku or Node.js couldn't handle the Hacker News traffic. If you would like to see the code

<https://github.com/serkanyersen/Basic-Chat>

<comment><AUTHOR> ok it's back now.

</comment></comment><comment><AUTHOR> I see people are complaing about the XHR requests. That's not my fault. I'm using heroku for hosting and it does not support websockets, so I have to force socket.io to use ajax long polling. That's actually heroku's solution.

But if you run it on your server or Cloud9 ide it will work just fine.

<comment><USER2> It seems that most of the XHR requests are due to the "is writing" notifications, you may try throttling just those to reduce the number of requests.

Also, with so many users chatting the screen scrolls too fast so I would reduce the vertical spacing a bit.

<comment><AUTHOR> Well I didn't think there would be so many people on it :) But it was so much fun until it failed :) I will probably fix those issues but it was just a demo to see node.js and socket.io

</comment></comment></comment><comment><USER3> Seems fairly usable atm. A few observations: there is an XSS vulnerability as you probably learned by now. Also, there was a moment when someone was submitting content and it appeared under my nick "bpfh".

Other than that, kudos for a simple well-functioning chat.

<comment><AUTHOR> Thanks. Those two security issues are fixed now. It was nice chatting with you :)

<comment><USER4> > > Also, there was a moment when someone was submitting content and it > appeared under my nick "bpfh".

> Thanks. Those two security issues are fixed now.

You fixed one way of nickname duplication, but so long as you allow arbitrary utf-8 strings, there are all sorts of non-printing characters to use. You should really get a list of everything to filter. I don't have any experience with node.js, so I don't know if anyone has written a library that does it.

</comment></comment></comment><comment><USER5> I've written a (very) basic mud server in node.js (in like 8 hours). Maybe you'll be interested: <https://github.com/farevalod/nodemud> (I'd appreciate some comments on it too!)

<comment><AUTHOR> It would be great to see a working demo.

<comment><USER5> It's working at 4ws.cl:8800

</comment></comment></comment><comment><USER6> I think writing a chat app is the rite of passage for node developers at this point.

<comment><USER7> It's node's hello world. :)

<comment><AUTHOR> Exactly :)

</comment></comment></comment><comment><USER8> UI is great. I wrote one serveral days ago, aiming to offer real time chat featute(http:zhonglichat.cnodejs.net), new I see how ugly that is.. Nodejs moke chating really fun.

</comment><comment><USER9> Isn't this similar to <http://chat.nodejs.org/>?

<comment><AUTHOR> Probably. I just wrote it to learn web sockets and node.js All websocket examples was too complex to dig in so I made a simple one.

</comment></comment><comment><USER10> It seems that when the client loses the connection, it doesn't attempt to reconnect.

<comment><AUTHOR> Yep, I just noticed that.

</comment></comment><comment><USER11> ugh stop copying the node.js chat code and acting like it's something brand new. this is publicly available on rydahl's github.

<comment><AUTHOR> I didn't say it's brand new. Actually this is basically a hello world aplication for node.js

I liked the output and wanted to know what people would think about it.

BTW, I didn't copy anything, I watched the video and saw ryan doing TCP chat example and I thought I can do it for web and that would be great to learn node.js and socket.io

</comment></comment><comment><USER12> ya..save name button does not do anything and it is almost similar to the chat demo of node.js

</comment><comment><USER13> I can't enter the chat. Save Name button does nothing! I'm on firefox 3.6.17.

<comment><AUTHOR> I haven't made any crossbrowser test. It may only work on latest browsers. Sorry about that</comment></comment>


Seriously, Apple Is Doomed - <AUTHOR> http://daringfireball.net/2012/11/seriously_apple_is_doomed <comment><USER2> _But in terms of innovation-without-Jobs so far, I'd say going from the original slow chunky iPad in April 2010 to the retina super-fast iPad 4 and svelte iPad Mini today is a pretty brisk clip. Two and a half years later Apple offers two very different iPads that both completely blow the original one away — and the original one is now almost universally hailed as a landmark innovation in the history of personal computing._

I know coming from Apple's POV is Gruber's thing, but really? I feel like producing products that get smaller, faster, and in slightly different form factors are hardly things to trumpet as success. Those are just vital signs that show a company is still functioning.</comment>


Chrome To Launch Web Apps From URL Bar - <AUTHOR> http://www.conceivablytech.com/5797/products/chrome-to-launch-web-apps-from-url-bar/ Google is working on a new feature that will allow users to launch web apps similar to the way domain names are entered into the URL bar (Omnibox). <comment><AUTHOR> Hmmh. There is a link to the Chrome discussion. Maybe you did not see the link, it's in the third paragraph.

</comment><comment><USER2> Actually I'd like to see how they implement this before commenting on it in depth. I don't understand the omni bar disappearing though; that wasn't explained well enough for this brain to understand what they'd replace it with.</comment>


Nearly full tickless operation in Linux 3.10 - <AUTHOR> http://lwn.net/SubscriberLink/549580/82983789866b5fad/ <comment><USER2> This is _one_ of the reasons I prefer to use Linux over systems such as Windows or OSX. I love the public discussion over the direction of technical details; the to-and-fro on the benefits of esoteric technologies.

The whole openness of the culture.

<comment><USER3> There is not much discussion about Windows internals, not only because they are not shared, but also because quite frankly the Windows kernel evolves slower than the Linux kernel in terms of new algorithms implemented. For example it is almost certain that Microsoft never tested I/O schedulers, process schedulers, filesystem optimizations, TCP/IP stack tweaks for wireless networks, etc, as much as the Linux community did. One can tell just by seeing the sheer amount of intense competition and interest amongst Linux kernel developers to research all these areas.

The net result of that is a generally acknowledged fact that Windows is slower than Linux when running complex workloads that push network/disk/cpu scheduling to its limit: <https://news.ycombinator.com/item?id=3368771> A really concrete and technical example is the network throughput in Windows Vista which is degraded when playing audio! [http://blogs.technet.com/b/markrussinovich/archive/2007/08/2...](http://blogs.technet.com/b/markrussinovich/archive/2007/08/27/1833290.aspx)

Note: my post may sound I am freely bashing Windows, but I am not. This is the cold hard truth. Countless of multi-platform developers will attest to this, me included. I can't even remember the number of times I have written a multi- platform program in C or Java that always runs slower on Windows than on Linux, across dozens of different versions of Windows and Linux. The last time I troubleshooted a Windows performance issue, I found out it was the MFT of an NTFS filesystem was being fragmented; this to say I am generally regarded as the one guy in the company who can troubleshoot any issue, yet I acknowledge I can almost never get Windows to perform as good as, or better than Linux, when there is a performance discrepancy in the first place.

<comment><USER4> That deleted post from the MSFTer is pretty damning, but is the difference one that really matters?

Take a look at these benchmarks that were posted here recently: <https://news.ycombinator.com/item?id=5644880>

There isn't a single comment in that whole thread about how outrageously bad EC2 performance is. Meanwhile I'd bet that most HN startups run on EC2, heroku or other virtualized cloud platforms. And how many are using dog slow interpreted languages like python or ruby? It looks to me like people around here are quite willing to take very large performance hits for the sake of convenience.

I find Windows to be a small performance hit for the sake of convenience.

<comment><USER5> As a developer, I fail to see in what way is Windows convenient.

<comment><USER6> um, it comes on the computer already installed? .... I know weak, but it's the only idea I could think of.

<comment><USER7> You can buy computers with Linux pre-installed nowadays too.

I used to use Windows exclusively until about 4 years ago. Up to the time i switched, I occasionally was testing a few Linux distros, and repeatedly came to the conclusion that drivers were still an issue, and that Linux wasn't ready for the average user's desktop.

Not so anymore, since about 2009. From that time on, the only thing without a Linux driver I encountered (there are many more, just not that widespread that it should matter) was an HP printer. Which is why I stopped using Windows altogether.

My experience since then? Windows is a royal PITA to use and maintain. Linux, with KDE as the desktop manager, isn't just faster, it's way friendlier for users. One example, which to me is huge: on Windows, you need to run the updater of every f..ing software provider from which you have purchased an app. On Linux, there's just one updater for everything. another one: on Windows, even with all the discount programs for students and others, you have to spend thousands of dollars before you get equivalents of all apps installed that you get for free when you select developer workstation for a Linux installer.

Agreed, games are the only thing that Linux doesn't yet cover as well as Windows - both development and play. However, wanna bet that Linux will tip the balance in this area too, in at most five years?

</comment></comment></comment></comment></comment></comment><comment><USER8> One wonders if you can go to a full 'subscribe' model which a bunch of pre- emptive OSes use, which says "I need to run in 'x' nS" or "I need to run when interrupt 'y' fires." and then they don't get any cycles at all until they need them, and at that time they are arbitrated.

The challenge of course is priority inversion, which is to say that low priority thread A gets started on an otherwise idle processor and then higher priority thread B wants to run, except there isn't a 'tick' where the processor periodically checks to see that the highest priority thread is running. Now your low priority thread is running in preference to the high priority thread.

You can finesse some of that by interrupting on thread state change (which has its own issues since sometimes threads have to run to know they want to change their state) but you're still stuck somewhere between ticks when threads are sleeping and full tickless. Not surprisingly its kind of like building asynchronous hardware in hardware description languages.

I'm glad to see the experiments continue.

<comment><USER9> I wonder if any general-purpose OS kernel is ahead of Linux in this area.

<comment><USER10> Do you consider xnu to be general purpose? OS X/iOS have been tickless for a long, long time.

<comment><USER11> This is why power management has been superior in OS X/iOS.

</comment></comment></comment></comment><comment><USER12> Kudos to Frederic. It was quite an effort: <https://lkml.org/lkml/2012/8/18/77>

And! Yes! Finally. Our 'isolated' cores are finally ours. Bare metal. No more jitter. Thank you for everyone who put that together. Your efforts are really appreciated!

</comment><comment><USER13> The advantages of full tickless elude me somewhat. Single percent performance gain does not seem worth the effort, so what else? For real-time operation tickless may make sense, but on the other hand idk how much ticking interferes currently RT processes on linux.

<comment><USER14> I was under the impression that tickless operation would translate to better power savings, but I may be wrong on this.

<comment><USER15> Precisely. The latency of some of the more aggressive power states exceeds the resolution of most OS tick timers, so they are often aborted for no good reason. So, as I'm typing this reply, in-between keystrokes, voltage to the CPU can be killed (not just clock-gated).

<comment><USER16> Hmm. Completely brown-out the CPU in between keypresses? I always heard cold starts are very very slow (compared to regular operation). While I guess I don't have a measure for _how_ slow, it seems unlikely that if a user is typing at 360CPM (60WPM * ~7), that you will be able to completely shut off the CPU much.

<comment><USER17> I'm not sure about the CPU numbers either (though my understanding is that modern CPUs are super-quick to power down and back up), but I think 360 CPM is way too high: few people type at 60 WPM, most words aren't 7 letters long, and nearly no one is typing 100% of the time they're at their computer.

<comment><USER16> Oh, I agree there is ample opportunity for shutting down the CPU. I probably spend more time just looking at the screen reading, than any other activity.

</comment></comment></comment></comment></comment></comment><comment><USER18> Posting a subscriber link to HN is a bit abusive, no? Quoting:

      The "subscriber link" mechanism allows an LWN.net subscriber to generate a
      special URL for a subscription-only article. That URL can then be given to
      others, who will be able to access the article regardless of whether they
      are subscribed. This feature is made available as a service to LWN
      subscribers, and in the hope that they will use it to spread the word about
      their favorite LWN articles.

      If this feature is abused, it will hurt LWN's subscription revenues and
      defeat the whole point. Subscriber links may go away if that comes about.

<comment><USER19> > This feature is made available [...] _in the hope_ that they will use it to > spread the word about their favorite LWN articles

Emphasis mine. Can you make a case for it being "abusive" in the context of the full text? I take it to mean generating an excessive number of links, not posting one link to a wide audience.

<comment><USER18> I took it as sending the occasional article to people you know. Not as a way to poke a hole through the paywall and send (via HN) it to thousands and thousands of people.

<comment><USER20> FWIW I (as the editor of LWN and the author of the article) do not mind the posting of this link. It has brought in 16,000 people (at last count), many of whom are probably unfamiliar with LWN. Some subscriptions have been sold in the process.

Certainly I don't want large amounts of our content to be distributed this way, but an occasional posting that puts an LWN article at #1 on HN is going to do us far more good than harm.

(That said, I do appreciate your concern!)

<comment><USER21> Hey, look at that! A smart, forward-looking attitude! I really need to renew my subscription. I let it lapse a while ago due to a lack of free time.

I think that this may convince me that I need to move it up higher on my list of priorities!

<comment><USER22> I've been addicted to the kernel page since I first found out about it 10+ years ago. When they put up the pay wall it looks than a month before I cave and subscribed so I wouldn't have to wait.

I read the kernel page and front page religiously, and read bits of the others.

I can't imagine how many things I've learned following the kernel's development. But the mailing lists are HUGE and thus hard to follow. LWN makes keeping up possible.

</comment></comment></comment></comment></comment></comment><comment><USER23> How is 1 process per CPU not a "real load?" How about a server or a VM on that processor?

<comment><USER24> You will always have more than one process running, if only for the kernel threads handling filesystems, networking etc., so you can only get that if you have at the very least two CPUs. And even then you usually have more processes than CPUs and the 'application' split up in various processes that in turn require scheduling by the kernel.

<comment><USER23> Yes, but specialized server installations where multi-core CPUs have one process sitting on one core are still "real" loads. They're just specialized and not the common case.

</comment></comment></comment><comment><USER25> Anyone knows if the paid OSes have this?

<comment><USER26> Windows 8 pushes out the tick. See "Idle Hygiene" here:

[http://blogs.msdn.com/b/b8/archive/2011/11/08/building-a- pow...](http://blogs.msdn.com/b/b8/archive/2011/11/08/building-a-power-smart- general-purpose-windows.aspx)

<comment><USER27> You sure about that? I read that section and it seems to be about idle duration whereas this is about turning off the timer interrupt on non-idle CPUs.

<comment><USER26> You're right, FULL_NO_HZ isn't mentioned in the blog I linked. It's more similar to CONFIG_NO_HZ.</comment></comment></comment></comment>


Arimaa – Intuitively simple, intellectually challenging - <AUTHOR> http://arimaa.com/arimaa/ <comment><USER2> The ultimate intuitively simple and intellectually challenging game is Go. Go's rules are far simpler than Arimaa's, and it's just as challenging for computers.

[http://en.wikipedia.org/wiki/Go_(game)](http://en.wikipedia.org/wiki/Go_\(game\))

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

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

losethos mentioned this too, although he is hellbanned. His point was that Go's advantage is it engages the image-recognition abilities of our brains.

<comment><USER3> The scoring rules for Go are much more complex. I've seen plenty of cases where novices have struggled with end-game scoring, especially under Japanese rules.

<comment><USER4> So use Tromp-Taylor rules. "A player's score is the number of points of her color, plus the number of empty points that reach only her color."

Sorry Japan, but Japanese Go rules are a mess and need to be retired.

<comment><USER5> I'm very novice Go player, but I've only ever played with Japanese rules. Could you (and ig1) explain what's so wrong with them? I don't remember ever thinking that the score counting would be somehow complex or unintuitive.

<comment><USER6> Under Japanese (and Korean) rules, there occur situation in the end game in which it may be difficult to determine whether a particular group is alive or dead, but the player who would need to play in order to play it out and determine for certain may not want to do so as doing so would fill in their own territory, reducing their score.

Japanese rules have a variety of special cases to deal with this problem, but most beginners don't know them, and many beginners may not know exactly when to stop (as they are unsure if a group is safe or not), and so may wind up reducing their score in the endgame just because they are trying to make sure a group is safe.

Under area scoring rules (Chinese, Tromp-Taylor, AGA, New Zealand, Ing, etc), you count the sum of your territory and your stones on the board, avoiding this problem. AGA has a hack that makes both scoring methods work the same; whenever you pass, you give your opponent an extra prisoner.

Here's an overview of the different rulesets: [http://www.britgo.org/rules/compare.html](http://www.britgo.org/rules/compare.html)

</comment></comment></comment></comment></comment><comment><USER7> If you'd like to have quick grasp of the rules, here's a site I created for just that: [http://personal.inet.fi/koti/egaga/arimaa- begin/tutorial.htm...](http://personal.inet.fi/koti/egaga/arimaa- begin/tutorial.html)

You can play against (a stupid) bot. Just click once on the golden piece to select it, and then where to move.

I've also developed Arimaa game viewer, where you can analyse your game. The code is a mess but it might be useful for some. [http://personal.inet.fi/koti/egaga/arimaa- viewer/arimaa.html](http://personal.inet.fi/koti/egaga/arimaa- viewer/arimaa.html)

I had more ambitious goal but was distracted by other things. You can read more about it here: [http://arimaa.com/arimaa/forum/cgi/YaBB.cgi?board=siteIssues...](http://arimaa.com/arimaa/forum/cgi/YaBB.cgi?board=siteIssues;action=display;num=1284084084) One of the few reasons I don't like Arimaa is that it is patented. It is probably the biggest reason I won't likely commit any time developing for it.

</comment><comment><USER8> > On average there are over 17,000 possible moves compared to about 30 for > chess; this significantly limits how deep computers can think, _but does not > seem to affect humans._

Interesting assertion that the branching factor doesn't seem to affect humans. I wonder why they don't think it poses a problem for humans to have a large branching factor, is there any evidence to support this?

<comment><USER9> On an only tangentially related note, read Zen and the Art of Motorcycle Maintenance. It explorers why human beings are able to make quality decisions in the face of massive branching factors such as making a chess move or (more relevant to the focus of the book) develop scientific hypothesis. It's also just a great read.

</comment></comment><comment><USER10> The Wikipedia article might be a better introduction:

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

</comment><comment><USER11> Arimaa is a fascinating game; you can learn it quickly and immediately play against the best computer players and expect to win. The branching factor is extremely high (~17,000 vs Chess' 30), but each move consists of several phases where the current player can move several different pieces one after another, so I've always thought a modified minmax type algorithm may be able 'deconstruct' each move into several nodes on a graph.

Whilst extremely interesting, it seems the amount of research into Arimaa pales in comparison against research into Go. Go has a branching factor of ~300 so sits far above Chess, but well below Arimaa. It is even easier to learn but harder for humans to develop an intuitive understanding of how strong any position is. It is starting to succumb Monte Carlo Tree Search [1] with games played on a smaller 9x9 (vs the standard 19x19) board.

However, from my perspective whilst MCTS is extremely interesting and have a wide array of applications, I'd love to see approaches towards these problems that aren't based around an optimised 'brute force' algorithm.

When Deep Blue beat Kasparov, Douglas Hofstadter noted "It was a watershed event, but it doesn't have to do with computers becoming intelligent", adding "you can bypass deep thinking in playing chess, the way you can fly without flapping your wings" [2]. I somewhat feel like this criticism could be applied to MCTS and Go, and it'll be interesting to see whether the first algorithms that conquer Arimaa come from a different perspective or not.

[1] [http://en.wikipedia.org/wiki/Monte_Carlo_method#Artificial_i...](http://en.wikipedia.org/wiki/Monte_Carlo_method#Artificial_intelligence_for_games) [2] [http://www- rci.rutgers.edu/~cfs/472_html/Intro/NYT_Intro/Che...](http://www- rci.rutgers.edu/~cfs/472_html/Intro/NYT_Intro/ChessMatch/MeanChessPlaying.html)

<comment><USER12> > you can learn it quickly and immediately play against the best computer > players and expect to win

That is not true at all. The best available bots on the Arimaa server are rated above 2000 elo, which is way higher than beginners can expect to be rated at.

</comment></comment><comment><USER13> I've played a few Arimaa rounds, it's very fun. For even more simple + challenging, try 2v2 speed chess where you give captured pieces to your teamate.

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

(It's one of the best games I've ever played and only lasts 90 seconds to play!)</comment>


11 Ways to Make Money With Robots - <AUTHOR> http://www.business-opportunities.biz/2008/03/18/11-ways-to-make-money-wtih-robots/#more-12018

<comment><USER2> Hello? SEX?

You can make money with anything as long as you can sell sex with it.

Hurry up and make a damn sexy robot already, my retirement depends on it.

<comment><AUTHOR> [http://www.wired.com/culture/art/multimedia/2007/10/video_ro...](http://www.wired.com/culture/art/multimedia/2007/10/video_robotsex)</comment></comment>


Twitter rolled out reply control on tweets - <AUTHOR> https://twitter.com/jack/status/1263181108180430849 <comment><USER2> _(we'll be watching for the negative impacts too)_

Forgive my incredulity, Jack.

</comment><comment><USER3> This is so, so obviously an abuse enabler.

What are they thinking? It breaks the entire platform.</comment>


Toward more efficient computing, with magnetic waves - <AUTHOR> http://news.mit.edu/2019/computing-magnetic-waves-efficient-1128 <comment><USER2> How does one make logical gates with waves?

Quite a few such things popping up recently, looks like alternative/natural computing is trending.

I wonder what the reasons for that are - Moore's law drying up?

You can read more here [https://news.ycombinator.com/item?id=21665931](https://news.ycombinator.com/item?id=21665931) and (OC) [https://juretriglav.si/computing-with- nature/](https://juretriglav.si/computing-with-nature/).

Any other interesting sources?

<comment><USER3> This work is part of the spintronics field. There are some good youtube videos about it:

TEDxCaltech - David Awschalom - Spintronics: Abandoning Perfection for the Quantum Age [https://www.youtube.com/watch?v=g9NAUPbqAvE](https://www.youtube.com/watch?v=g9NAUPbqAvE)

</comment></comment><comment><USER4> This seems to me like very important work.

Besides the obvious potential for memory devices, logic and even analog computation seem possible.

An inverter is the first bit of logic to perfect. Usually an AND or OR is not hard to get once you have an inverter, and once you have either, you have Turing completeness.

That is aside from any possible qubits.

</comment><comment><USER5> Only peripherally related: As we keep increasing the percentage of the chip that is memory, I can't help but recalling all that talk years ago about storing multiple bits per structure.

This has shown up in SSDs, but not in cache memory. Are we going to skip right over that plan and go to spintronics?

<comment><USER6> 3 bits per cell, a year ago: [https://ieeexplore.ieee.org/document/8544012](https://ieeexplore.ieee.org/document/8544012)

Time to market is ¯\\_(ツ)_/¯

<comment><USER5> Maybe with chiplets things like this and async circuits will have more of a chance to shine.</comment></comment></comment>


California's Tough Bar Exam, Long a Point of Pride, Faces Pushback - <AUTHOR> https://www.wsj.com/articles/californias-tough-bar-exam-long-a-point-of-pride-faces-pushback-1496242494 <comment><USER2> The nice thing about California's bar exam is that you need nothing more. You don't need to take expensive classes. Just learn the material, pass the exam, and you are a lawyer. Other states require law school.

The schools want it easier, helping them to produce more lawyers. (incompetent ones) Perhaps they'd like to require law school too? I'm sure they would.

<comment><USER3> I would never hire a lawyer who did not go to law school. I guess I see some value in the bar exam - it requires you to learn a bit about some of the law in the state in which you plan to practice. But the skills you learn in law school are invaluable to the practice of law.</comment></comment>


Foursquare Now Tracks Users Even When the App Is Closed - <AUTHOR> http://blogs.wsj.com/digits/2014/08/06/foursquare-now-tracks-users-even-when-the-app-is-closed/

<comment><USER2> For what it's worth, iOS 8 has separate permissions for foreground and background location usage. I got the background usage permission alert ~5 minutes after installing the app.

<comment><USER3> Glad to hear the foreground/background permission is coming in iOS 8. I use Foursquare when I want to search for places nearby to eat, and the occasional checkin, but always go in and enable location for it before using and turn off after. Most of the time I forget to turn it off and still see the location indicator beaming when I get home, thinking to myself "they tracked me this time, darn!". Same goes for google maps too though, so its not like Foursquare is the only one.

</comment></comment><comment><USER4> One of the selling points of the new app is that it will proactively alert you when you are near a restaurant that matches your tastes. Like if you say you like pulled pork, and pass a great BBQ place, it will let you know.

So, that feature pretty clearly requires "tracking users even when the app is closed."

</comment><comment><USER5> They have been doing that for a while.

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

<comment><USER3> I thought they had been doing this for a while too, the location indicator is usually active in iOS, even when Foursquare is not running. Go into location privacy and it shows Foursquare as the one getting location.

</comment></comment><comment><USER6> Meanwhile my dad's flashlight app on Android was accessing his location, contacts, calls, messages, network traffic and many more stuff without him knowing it.

It's funny how Android OS is on the app developer's side in case of the privacy but iOS cares so much about user's privacy

<comment><USER7> You still have to approve permissions during the app installation on Android. Its made pretty clear exactly what is being accessed.

<comment><USER8> You really think _anyone_ looks at that, much less OP's father?

<comment><USER9> Presumably OP's father doesn't pay more attention to iOS privacy settings, then.

<comment><USER10> Consider this: You really want a flashlight app. You go download the app and see a list of permissions. You really just want to have a light so you go ahead and click okay.

Now on iOS, you download the app and open it. A dialog pops up that says: "May DubiousFlashlight access your contacts?" Of course you tap no. Your contacts are safe and the flashlight still works.

I think the main problem is that on Android, it's the standard that most app will have need a ridiculous list of permissions. Just look at the permissions of the topmost entries for basic apps like barcode readers, flashlights, compasses and so on. Now try the same on iOS and look what permissions you will be asked for, and which permissions you will need to actually use the app. Imo, iOS protects the average user much better than Android.

<comment><USER11> This is only the case on the crap-infested, ad-riddled Play Store. On a market like F-Droid, where the apps respect your freedom, they also respect your privacy much more. The flashlight apps available there only require the permissions they need, and don't collect any kind of personal information.

<comment><USER12> This is both true and irrelevant for the vast majority of users, who will do what they're sold.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> OT, but it doesn't much matter to me, as I've dissociated from the service and uninstalled all apps after the forced Swarm switchover. The dual-app UX is a mind-bendingly bad idea.

</comment><comment><USER14> The whole idea of the new Foursquare app is to make recommendations based on where you are and who you follow.

Foursquare needs to know where you are to do that...

<comment><USER15> Codezero is correct - "need" is the issue.

Foursquare isn't paying me (or exchanging something of significant value) for that constant stream of location data.

THAT is the issue I have with it

<comment><USER16> _Foursquare isn 't paying me (or exchanging something of significant value) for that constant stream of location data._

Are you paying them for their recommendation service?

<comment><USER17> > (or exchanging something of significant value)

<comment><USER15> You are correct. It doesn't have to be cash, Stackoverflow & XBox Live is a classic example gamification.

</comment></comment></comment></comment></comment><comment><USER18> I can typically get through an entire day on one charge, but after enabling background tracking, my battery hit 30% by mid day. It's now disabled.

</comment><comment><USER19> _Foursquare updated its privacy policy this week to warn users that with the new version of the app tracks and sometimes shares users' locations even when the app is closed._

Fun. Kind of like when one of your insurance provides radically alters your coverage, and then buries this fact in some mandatory disclosure paragraph that they know you probably aren't going to read anyway.

I would so hate to be working for Foursquare now.

</comment><comment><USER20> Is this to serve as a reminder for all who have long since used the service to uninstall the app?

</comment><comment><USER21> You can turn off the constant access to location service in settings of the app.

Constantly tracking a user destroys their battery life, really lazy move on foursquare part. At no point would you ever think constant location tracking is friendly to a user's battery.

</comment><comment><USER22> "Starting today, users who download or update the Foursquare app will automatically let the company track their GPS coordinates any time their phone is powered on. Foursquare previously required users to give the app permission to turn on location-tracking. Now users must change a setting within the app to opt out."

A bit misleading... For users that had Location Services turned enabled for Foursquare (iOS), there is no additional opt in because they have already opted in in the past. But any new users still will get prompted to allow Foursquare to use Location Services. So it is still opt-in. The fact that Foursquare is checking your location periodically is not surprising as it will give the company more data to improve its service...

<comment><USER23> > The fact that Foursquare is checking your location periodically is not > surprising

The fact that Foursquare checks my location when I use the app is not suprising.

The fact that they track my every move, _even when the app is not running_ is absolutely surprising to me, and I bet to the average user as well.

<comment><USER24> Really? I bet the average user isn't aware of whether the app is "running" at any given time or not, and a not-insignificant subset of users wouldn't know how to find out.

<comment><USER25> they'd just be annoyed at the battery life of their fancy new phone going down so fast.

For that single reason, I adore Android's "this app ate this much battery" statistics.

And if they're using the 'offline' locations in recommendations, it will dawn on people that the app has been stalking them.

<comment><USER26> iPhones have a separate processor for that. Not really an issue. It's even better in ios8 with regard to battery life tracking. As for the tracking, it asks for permissions and is fairly obvious what it's doing. Yes, if you avoid reading or doing any level of discovery... If you just blindly install the app without thought, you could claim surprise. I find most people assume far worse than the opposite. Ask for location permissions, and they assume they are getting tracked by someone who is watching them in real time through their phones camera.</comment></comment></comment></comment></comment>


Ask HN: How do you deal with entrepreneurship loneliness? - <AUTHOR> I'm a solo founder now working on my project for about 1 month. All I do is write code and try to release it to users. However I feel quite lonely, the thing I do to lessen the loneliness is by browsing hackernews... How do you guys deal with loneliness? <comment><USER2> International Pen Pals</comment>