Ask HN: Can you make decent money from niche mobile apps? - <AUTHOR>

Hello. I'm evaluating a few startup ideas and some of them naturally lend themselves to mobile apps. Because the market is not used to paying by subscription for standalone mobile apps, or paying more than a couple dollars for an app, is it possible to make decent money from <i>niche</i> mobile apps, or do you need to target massmarket? Any opinions, examples, insights and advice would be greatly appreciated. <comment><USER2> Yes, you can make money off apps. Niche, targetted apps at certain segments is probably the easiest way (as opposed to mass market products like Angry Birds, Instagram, etc.)

I started app development 6 months ago and had to learn programming from scratch. I generate probably the same salary I'd make in a business/marketing job, except my app income is passive income so I have free time to work on new projects, or use as leisure.

<comment><AUTHOR> Very interesting. Could you share how many apps you have bringing in money, how they are priced, and provide some category rankings?

</comment></comment><comment><USER3> I feel this is too open for anyone to answer definitively, and that a good answer varies greatly by the target audience and market.

How much is "decent money"? Can a sole developer make enough money to make his hours worthwhile? (I wish... not so sure.)

What money making methods are you open to: a cost for the app itself, a service subscription, in-app purchases, ads (ad networks?), etc.?

On a mobile app by itself, or as part of a bigger brand / platform?

How _niche_? What is your market? How large is your target audience? Does your target audience spend money on apps? How do they spend it? What conversion rate can you expect?

...

<comment><AUTHOR> Hi Ted,

I'm not looking for a definitive answer, I'm looking for examples and general input, observations or advice.

I've specified that I'm talking about standalone mobile apps, so I'm not talking about a mobile app that exists in addition to a webapp. I also said that users are only accustomed to paying a one-off payment of a dollar or two to buy the app. Users are not accustomed to in-app subscriptions (for standalone mobile apps).

I'm looking at these apps in the context of a startup, so I guess the minimum amount of money would be a decent annual salary for one or two people, after any expenses.

I'm open to any money making method that users are generally open to, so I think for a standalone mobile app that leaves cost for the app itself and advertising.

As to how niche, I'm asking this question in the general sense, not in relation to a specific example. Any examples from readers would be great.

</comment></comment><comment><USER4> Yes, of course you can. But like tedmiston said, your question is too general to answer in any useful way.

However, I will say this; from what I've seen, you're more likely to succeed with a mobile-based product aimed at a business niche. Businesses are more willing to pay larger sums (or subscriptions) for solutions, whereas consumers tend to place less overall value on any one app.

The only way to get any definitive answers is to test within the market you're aiming for.

</comment><comment><USER5> Of course you can, but as with every venture, nothing's guaranteed. Just look at the Android app store to get some idea of this. The download volume and price is shown. Multiply them together, take out Googl's cut, and what you get is the revenue that the app has made over it's lifetime.

Will every niche make substantial money? Doubtful.

</comment><comment><USER6> It seems to me that with your stated criteria, the answer is either "probably not" or "only if you keep churning out new ones". I say that based on your proposed math: one time small payment in a small market. Unless you can get recurring income, increase the market size or keep making new niche apps, that scenario seriously limits the potential income.

<comment><AUTHOR> I was afraid of this. I was wondering if there was something I was missing. This begs the question, why then are there so many apps if the possibility of making a lot of money from them is remote?

<comment><USER6> I don't know. Maybe some folks keep churning out new ones. Some folks also aren't making much. And some folks do them asside projects and aren't in it for the money per se, though they probably appreciate getting a few extra bucks.

</comment></comment></comment><comment><USER7> The answer to this question really depends on platforms you are targeting and niche with respect to each of them. For example if you can make a tether app for iPhone without requiring a root and got approved by app store you can make loads of money. At the same time if you make something like that for android, you might end up disappointed.</comment>


Convert sqlite results to json consumable dicts [python] - <AUTHOR> https://github.com/khubo/sqliteJson <comment><USER2> If it meets the guidelines, this might make a good 'Show HN'. Show HN guidelines: [https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)

<comment><AUTHOR> I will do it. thanks :D</comment></comment>


The Asshole % - <AUTHOR> http://clutchmagonline.com/2011/10/artist-takes-shots-at-beyonce-anderson-cooper-kim-k-with-occupyhollywood/

<comment><USER2> Eh, really seems like a dick move by the artist. I don't begrudge someone wanting a hefty share of the wealth they explicitly created (celebrities, athletes, tech (b/m)illionaires) through their goods and services. It's more a feeling of discontent with those who "got over", and exert undue political pressure.

I think he could've chose better targets, or been more thoughtful with his criticisms. I mean, why does Chaz Bono's sex change make him an asshole?

Also, I don't upvote because of a recent thread about the quality of the site. Seems about as far off topic as you can get. But I comment because it is interesting nonetheless.</comment>


The Dark Side of WebAssembly (2018) - <AUTHOR> https://www.virusbulletin.com/virusbulletin/2018/10/dark-side-webassembly/ <comment><USER2> This has to be some of the thinnest gruel I've read in a while. The entire premise of the article is that the "dark side" of WebAssembly is that "security" products can't do string matching against compiled code.

Case 1: People can write scams that "security" products can't block because WebAssembly somewhat obfuscates the code. The comparison to scanning WASM in a "security" product is like opening an executable in a text editor is laughable.

Case 2: People can write website keyloggers in WASM and it will be obfuscated against "security" products. Alternatively the bad guys could just obfuscate plain old JavaScript, or any number of other techniques to exfiltrate data. If people are executing malicious WASM on your website you're already owned.

The only one of their points that has any merit is that WASM implementations increase the attack surface of the browser. This is ostensibly true, as do all new features. Fortunately the major browser vendors have competent engineers dedicated to testing their software for vulnerabilities.

<comment><USER3> I disagree because obfuscated JavaScript would already be suspicious as it is not that widespread as an industry practice. The standard industry practice for JS is minification, not obfuscation; so you can still see what functions are called and any developer can quickly identify if there is a suspicious looking AJAX request to a strange URL.

With WASM, you can't see anything. It's a complete black box. It's a lot easier for a hacker to hide stuff from users. It's easier to sneak in malicious code and it's harder to identify and remove it.

<comment><USER4> Minification is a form of obfuscation, and a lot of libraries and commonly used scripts are purposely completely unreadable. show_ads.js, for example, is nonsense, so it's not unreasonable for a hacker to sneak into ad code, insert some dubious lines of code that does more or less anything they'd want. There are easy was to mitigate this for sure, but it doesn't seem that WASM makes this point worse. Surely you could just as easily spot an AJAX request from a strange URL while utilising WASM too?

</comment></comment></comment><comment><USER5> As others have pointed out, this article is not very convincing. I don't agree with the point that WASM is somehow more suitable for nefarious purposes than obfuscated JavaScript. I suppose that if anything, the execution model of WASM is much simpler than that of JS and it should thus be much easier to analyse.

> This prevents the user from escaping the scam by pressing keys like ESC or > the CTRL+ALT+DELETE combination, or others as shown in the table.

The part about CTRL+ALT+DELETE is just nonsense. This key combination is directly handled by the Windows kernel and cannot be captured by a user space application. Hence the "Press CTRL+ALT+DELETE to login" prompt. [1]

[1] [https://en.wikipedia.org/wiki/Control-Alt- Delete#Windows](https://en.wikipedia.org/wiki/Control-Alt-Delete#Windows)

</comment><comment><USER6> You can make 90% of people afraid of XYZ, if you write a sufficient amount of text "explaining" how dangerous XYZ is.

<comment><USER7> But arguably Webassembly is also dumb and has no reason to exist, so there's that on top of it being a great way to obfuscate malicious code.

<comment><USER8> Running Unreal Engine in the browser, in any browser, is pretty cool. I think there's going to be a lot of interesting use cases for it.

<comment><USER9> Cool? Maybe if one fetishizes overengineering and abstraction layers.

</comment></comment></comment></comment><comment><USER10> Meh. You can't use _string search_ to find patterns in wasm files per se. You can look for byte equivalence in functions (or whatever they're called in wasm.) Thinking of wasm as compiles machine code isn't quite right (IMO) as it more closely resembles a serialized abstract syntax tree.

</comment><comment><USER11> I dislike webassembly, but I dislike the direction web is going in general. Everything has to be hidden away from user; you have less and less control over what is happening unless you take active steps rein it in.

OTOH, I really do not understand why such technology is needed. Mom and pop store needs smooth unreal engine to show their virtual store?

Can we at least use that technology for something beneficial long term ( say distributed websites )?

<comment><USER12> > OTOH, I really do not understand why such technology is needed.

Well, let's ask the majority of the W3C Members which are mostly made up of for-profit companies and most develop closed-software. I can tell you that they are going to use WebAssembly for whitebox-cryptography due to its black- box nature of binary code which also introduces it to unwanted DRM features to limit the functions of content of the end-user.

So we have the hype around WASM making it possible to create binary blobs of standardised malware working on every browser rather than creating an open web. Seems like these companies were only cheering this on due to it advancing the state of DRM which we will also win free malware-enabled WASM too.

Great job guys! One step closer to being worse than Flash.

</comment></comment><comment> seph-reed While from a security standpoint, this is kind of silly, I still am not really a fan of just how far off from the source code WASM is. I don't really like minified js either... the gains are pretty minor (so much less than proper tree-shaking) and the only real gain is obfuscation... which is really only a gain for selfishness.

</comment><comment><USER13> WASM isn't as popular or useful as we hoped it would be at this point, that's the dark side.</comment>


Mockingbird, Cappuccino, and what really matters - <AUTHOR> http://www.alertdebugging.com/2009/11/04/mockingbird-cappuccino-and-what-really-matters/

<comment><USER2> I couldn't agree more with Francisco's comments - it's not native controls that users want, it's controls that _feel_ "native". As someone who used to work extensively on an enterprise app in Flash, I can say first hand that users just _expect_ certain behavior from the UI controls.

I have had to implement countless hacks to circumvent the (many) limitations of Flash; like getting the mouse scroll wheel to work in a scroll view. Once users realize the control conforms to certain usability and accessibility expectations, they are far more appreciative of the app design.

Cappuccino provides a perfect compromise, with controls that look consistent across platforms, but behave predictably, like so-called native controls.

<comment><USER3> I agree also. Francisco clearly has a vested interest in this opinion, and like you say he's absolutely right about implementation making the difference.

I have given a Cappuccino app to people to use, and they didn't even realise there was a difference from the native controls (after the widgets rendered - which DID throw them).

Even though I fundamentally agree that re-implementing UIs from scratch is not optimal, Cappuccino had a valid reason for doing so, and its implementation doesn't harm usability.

<comment><USER2> With the current 'jake' branch and its' imminent merging into master, the framework resources are sprited meaning they all load in one http request (rather than many). This eliminates the fragmented loading of the UI, which, I agree, can throw people at first!

</comment></comment></comment><comment><USER4> It really comes down to whether you view HTML/Javascript as source code or object code.

If HTML&JS is source code, you ought to keep it clean and minimal. You're betting that browsers will evolve to include desktop widgets and other aspects of the "native" experience in HTML tags and Javascript APIs.

If HTML&JS is object code, you're rooting for abstractions over HTML and Javascript, so that HTML/JS becomes assembly language.

I don't mind the extra abstraction. But it's unfortunate that we're adding _so many_ layers of abstraction over a system that wasn't really designed to be used that way.

<comment><USER5> I'm curious as to why you feel it's unfortunate to add so many layers of abstraction over the system. Besides the "All abstractions are leaky abstractions" argument, is there any other reason you feel like this is a bad thing? Or is it ruffling your engineering feathers?

<comment><USER4> Primarily because it's an inefficient abstraction.

Yeah, Moore's Law and all that. But still.

</comment></comment></comment><comment><USER6> Good post, but I wish it addressed the accessibility argument a bit more thoroughly. Although in fairness, it does not seem that Mockingbird is terribly useful for visually-disabled users in any case.

<comment><USER7> I've been tempted to use (the impressive) Cappuccino for a couple of apps but based on its lack of keyboard tab focus and performance on slower systems I decided against using it. I like to build simple, accessible apps.

Somebody--Sofa I think--was using it for back-end administration while presenting a more typical interface to public users, and that may be a better approach.

<comment><USER8> Perhaps you should check out NOLOH, <http://www.noloh.com>. It's similar to Cappuccino in some ways, yet very different in others. For instance, NOLOH is lightweight and on-demand. It also fails gracefully when JS is disabled in most cases, and is faster overall (this is based on our internal testing. Not trying to start a war). Notice how noloh.com loads instantly without any loading, or delay.

NOLOH also works with tab focus, and is more accessibility friendly. You can read more about our accessibility features at <https://www.noloh.com/#/faqs/>. We'll be posting major updates to HN in the next week or two, we last posted around a year ago, in case you haven't heard of us.

</comment></comment></comment><comment><USER9> I don't understand why qooxdoo <http://qooxdoo.org/> doesn't get more attention. It's not as pretty as cappuccino, sure, but it seems a very nice set of tools.

</comment><comment><USER10> What I find strange is that people have a tendency to compare Cappuccino to flash, way more then other web frameworks, and what that means.

</comment><comment><USER11> What does command+clicking in the track do? It works the same way as just clicking for me, unless I'm missing something.

<comment><USER12> I think the author meant "option+clicking", which causes the scrollbar to jump to the precise location of the click (rather than a simple page-up/page-down, which is what it usually does on click).</comment></comment>


A house built to withstand wild weather - <AUTHOR> https://www.bloomberg.com/news/articles/2019-05-11/home-of-the-future-will-withstand-whatever-wild-weather-comes <comment><USER2> Here is one of these houses in the aftermath of a hurricane as compared to its neighbors:

[https://www.nytimes.com/2018/10/14/us/hurricane-michael- flor...](https://www.nytimes.com/2018/10/14/us/hurricane-michael-florida- mexico-beach-house.html)

<comment><USER3> Of course if you're the only one in the neighborhood that withstands the natural disaster, you are probably still going to lose a lot of property value.

<comment><USER4> If you own and actually _live_ in the house, why would it matter? Property tax and HOI also drop...that's a net win IMHO.

</comment></comment></comment><comment><USER5> Puh-lease. Move to Guam. Everything is built to withstand hurricanes. And they do, 2-3x a year.

</comment><comment><USER6> I live in the American south, have some friends in the upper midwest. One of the friends recently built a new house, he used ICF (insulated concrete blocks) for the exterior. They're supposed to be super efficient and super strong. I'm looking around to see if they are as helpful in hot weather as they are cold.

</comment><comment><USER7> Here's a house built to survive a hurricane that did survive a hurricane.[1] It's a steel and concrete structure clad in wood.

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

<comment><USER4> The irony is South Florida is rich. As somewhat alluded to by another remark, even low-income housing on Guam--as ugly as they may be--makes Florida construction standards look skimp.

</comment></comment><comment><USER8> A concrete dome house is a much better design to resist a hurricane.

</comment><comment><USER9> these houses have nothing on monolithic domes.

</comment><comment><USER10> Why they build houses from wood in those areas to start with? Where I live most houses are build from concrete, steel and bricks, I don't see how a hurricane would have much impact on such a house. Also all those things that they have to deal with like maintenance and such, brick houses stay forever, there are no termites or rotten wood, why not invest a bit more and have a house that can stand for hundred of years?

<comment><USER11> They build houses on the shores of New Jersey because (1) it's close to New York City, close enough to commute, so there's a high value in living there; (2) New Jersey has the highest population density of any US state, 1200/square mile; (3) hurricane damage has scaled up in the last few decades.

The problem with having a hurricane-proof house in New Jersey is that your neighbors don't -- yet.

<comment><USER4> > _The problem with having a hurricane-proof house in New Jersey is that your > neighbors don 't -- yet._

Not really. The biggest threat in high-density areas is damage from small projectiles. Proper hurricane shutters are a thing and quite effective. How effective? Consider surviving 3 Category 5 Super Typhoons back to back on a small island with nowhere to run[1][2][3]. Not even South Florida knows what that's truly like.

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

[2] [https://en.wikipedia.org/wiki/Typhoon_Keith](https://en.wikipedia.org/wiki/Typhoon_Keith)

[3] [https://en.wikipedia.org/wiki/Typhoon_Paka](https://en.wikipedia.org/wiki/Typhoon_Paka)</comment></comment></comment>


Exits for Two More Y Combinator Startups, Movity and Etacts - <AUTHOR> http://www.xconomy.com/san-francisco/2010/12/22/exits-for-two-more-y-combinator-startups-movity-and-etacts/ <comment><USER2> The word "exit" has totally changed its meaning over the last 6 months.

<comment><USER3> how so?

<comment><USER4> It used to mean 'acquired company, including userbase, products, revenue streams etc'.

Now it means 'hired team and shutdown previous company'.

<comment><USER5> I think it's always just meant 'liquidity'.

<comment><USER6> Yes, used to be called "liquidity event".

</comment></comment></comment></comment></comment><comment><USER7> The phrase "Exit, pursued by a bear" seems strangely appropriate

</comment><comment><USER8> Congrats to them. Corporate debt is currently dirt cheap, I expect we'll see a lot more exits rolling through in the coming year, if for no other reason. (The teams are good too, obviously).

</comment><comment><USER9> anyone know or have good estimate of Movity's exit price?

</comment><comment><USER10> Don't forget Motorola acquiring Zecter.

<comment><USER11> And cloudkick.</comment></comment>


No Code of Conduct - <AUTHOR> http://nocodeofconduct.com/ <comment><USER3> Nearly every point in this list assumes the issues people are addressing with code of conducts boil down to over-sensitive, reductivist prima-donnas. It is essential an extended denial that there is ever a real problem.

That might be, but the article doesn't even try to make that argument. Instead it makes a caricature of people who think there _is_ sometimes a problem, and furthermore think that making expectations explicit rather than implicit is a good and helpful step.

The article is lazy, cynical, and reflects shallow thinking.

<comment><USER4> > _Nearly every point in this list assumes the issues people are addressing > with code of conducts boil down to over-sensitive, reductivist prima- > donnas._

Yes. That's why I think they've nailed it. This is, much more often that not, the case.

People have been capable of coexisting in social situations without an explicit CoC for millenia. And they have been doing just that on the internet since its inception. Heck, they're doing it in most non-US Western countries without many issues...

<comment><USER5> > People have been capable of coexisting in social situations without an > explicit CoC for millenia.

People have been excluding minorities and disadvantaged groups for those same millennia. Your argument is almost verbatim that of antivaxxers who argue "people were fine before vaccines!" while ignoring all the evidence that people _weren 't_.

<comment><USER6> Can you point to where this is happening more than the after mentioned over- sensitive, reductivist prima-donnas issues? ( I mean in the context of our industry )

Dongle Gate / Pronoun Gate / Opal Gate... whats next?

Let me guess: I'm an asshole for asking for proof.

Sigh.

<comment><USER7> Do you believe that our industry employs black people (a demographic, which, at least in the US, have been fairly clearly historically discriminated against, until the passage of _legal codes_ of conduct) at a rate commensurate with their relative skill and interest compared to non-black people?

[http://insights.dice.com/2014/11/11/african-american-it- pros...](http://insights.dice.com/2014/11/11/african-american-it-pros-on- diversity-in-tech/)

[http://money.cnn.com/interactive/technology/tech- diversity-d...](http://money.cnn.com/interactive/technology/tech-diversity- data/)

[http://www.census.gov/prod/2013pubs/acs-24.pdf](http://www.census.gov/prod/2013pubs/acs-24.pdf)

<comment><USER8> You'd think a look at employment rates of science and engineering graduates, as seen in your third link, would help, but because of affirmative action that data's kind of spoiled.

<comment><USER7> OK, sure, but in the absence of affirmative action, are black high schoolers going into science and engineering programs at rates commensurate with their aptitude and interest compared with non-black high schoolers?

Obviously we're a bit off-topic from codes of conduct at the moment. But the specific claim I was responding to was that minorities and disadvantaged groups are not being excluded from CS today in the same way as they have been marginalized from society for millennia. You can draw a fairly straightforward line of causality from imperialism and slavery and Reconstruction and Jim Crow to, e.g., why fewer black kids in elementary school learned programming in the '90s via their parents' UNIX account from the local university and reading their parents' textbooks (which is how I originally got into CS as a child, and I've heard similar stories from several of my peers).

<comment><USER9> Why then are overproportional so many Asians in IT? They are most often similarly coming from an immigrant background and had no "parents with a UNIX account".

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> Also related is this thread from yesterday, where 'meh' stood up to an angry mob and refused to kick out a core committer for his unrelated political views.

[https://github.com/opal/opal/issues/941](https://github.com/opal/opal/issues/941)

It's great to see some pushback against the modern McCarthyism that's currently becoming fashionable.

<comment><USER11> Damn, this github issue is such a tragedy... If you like politics, please engage in politic groups or parties. But everything is NOT about politics. Only the worst fascist regimes think so as they try to mold every parts of society to their own beliefs.

I guess it's the downside of the geek culture being fashionable and not an underground culture anymore. People that love talking more than coding start polluting discussion group to get some sort of recognition for something different than plain hard work...

EDIT : i read it again. Do people advocating for the firing of the contributor who posted on twitter realize what the long term consequence is, provided people choose a technology based on politics ? You'll have "gay friendly" technology, and "conservative" technology. You'll have "christian" technology and "muslim" technology (because, hey, saying Jesus is the son of god on twitter hurts muslim's feelings). You'll have "meat lovers" programming languages. And "pro guns" Operating Systems.

Is that the technological world you want to live in ?? Don't you think computer science and interoperability is difficult enough so that we don't bring in those kind of considerations ?

</comment></comment><comment><USER12> I "run" an forum that is an offshoot of a very popular professional software development blog. The original forum was closed by the blog author and my site replaced it. This forum has rules but they're pretty minor (no doxxing, etc) and users cannot be filtered away, only posts can be removed.

Having run this forum for over a decade, I have a lot of insight into running an anonymous free form nearly censorship free place on the Internet.

1\. There are many mentally disturbed people on the Internet. So point #1 of the article, "We are all adults. Capable of having adult discussions." is already off the mark. And even perfectly normal people tend to be worse human beings online (The Greater Internet Fuckwad Theory). And these are people, like you and me, who earn their living making software.

2\. "We accept everyones contributions." Yes, but bytes being free creates a situation where some contributions will overshadow other everyone else's contributions. 1 person can literally post 10,000x more than anyone else. And they will, see point #1. This creates an unbalanced situation that is very hard to resolve.

In my opinion, if you want to be inclusive it's pretty damn hard without any rules, moderation, censorship, limited access, etc.

<comment><USER13> This is all definitely true. What happens, though, when the "mentally disturbed people" \-- or even just some completely sane people who happen to have a political/cultural agenda foremost in their minds, rather than the good of the project or organization -- work their way into control of the rules, moderation, censorship, and limited access?

This is not just possible but highly likely, given that moderation is an unpleasant and time-consuming job and anyone who volunteers is quite likely to get it. And once the power to deploy these rules is in the hands of the people who were supposed to be restrained by these rules, things tend to get very dark, very quickly.

<comment><USER12> Everyone always thinks moderators are evil. They have "the power" and you do not. It's basic human nature. The reality, of course, is that it's a thankless but necessary job that can't please everyone. Most give up after being constantly harassed and accused of having an agenda. Moderation decisions are imperfect because there are plenty of competing interests and there is often no obvious right answer.

Conspiracy theories abound these days and it's mostly ridiculous.

<comment><USER13> No, I don't think moderators are evil; that's absurd. Moderators are people. Some are good and some are bad. But the nature of the job of a volunteer moderator is that it's going to be hard to get anyone to do it who isn't, as you say, going to give up and quit because of all the crap they have to put up with in exchange for no pay. Who's going to be left? The egotists, the fanatics, and the folks who see it as a useful tool to "change the world."

It's hard to picture a solution. Perhaps if moderation was an actual job; that would at least weed out some of the folks who are unstable or are just in it for internet points.

</comment></comment></comment></comment><comment><USER14> (creates throwaway account to avoid shitstorm)

I run an event with a CoC. However I do see the other side of the argument:

\- the common CoCs from [http://confcodeofconduct.com/](http://confcodeofconduct.com/) are vague: they're defined by what is 'offensive' \- choosing to be offended is very much a personal matter and it can be hard to guess what will offend others. 'Dongle' jokes? I've seen female speakers make a 40 min presentation on regular expressions filled with rude words, that, if they weren't female, would have caused a shitstorm.

\- CoCs being inconsistently enforced - a major hard-left conf organiser regularly retweets a well known online troll who constantly says things that violate their code of conduct, but since the trolls target a particular race and gender it's considered 'edgy' or 'ironic'.

\- The CoCs mix things people consider innate (gender, sexuality) with ideas (spirituality) and what many medical professional would consider lifestyles choices (obesity). These are not worthy of the same degrees of protection. I don't think fat people should feel bad, but I don't think saying someone is fat is the same thing as saying they'll go to hell because they're gay.

\- CoCs conflict with each other: spiritual views conflict with each other (I think God isn't real, someone else thinks that it is and disbelievers will go to hell, spiritual views conflict with sexuality (Christianity and gay marriage). Either party could feel offended. OK fine, lets not discuss religion or sexuality. Kind of feels sad to limit discussion.

</comment><comment><USER15> There have got to be more constructive ways of making the same point. Throwing up specious strawman arguments as a mock "FAQ" kind of undermines point 1: "We are all adults. Capable of having adult discussions."

Edit: it's going to bother me all weekend if I don't add that I find the viewpoint expressed in this link, i.e. "people who are concerned about reaching out to members of non-majority groups and making them feel welcome in a technical community are idiots worthy of ridicule," to be absolutely appalling. It's very different than the view that people should be judged purely on their technical contribution.

</comment><comment><USER16> No coincidence that this was written, apparently, by a youngish white male. This sounds like an effort to impose a code of conduct that only restricts the sort of conduct that frequently bothers him (being accused of having violated social norms that he does not find important--probably because they do not benefit him), while consciously deciding not to address the challenges that face other people online.

He's free to run a community in that way, but I won't be joining it.

<comment><USER17> I was amused that he defended himself by pointing out that he helps design software for a gay community. Okay, but does that really make you a minority in any way? Regardless of whether privilege is an issue in this discussion, the logic doesn't really flow here.

<comment><USER18> Yeah, it's almost like intersectionality is a thing.

<comment><USER17> Intersectionality would come into play if he was arguing that he was a member of multiple minority groups. Here he was arguing that he was a contributor (not necessarily a member!) of a single group, distinct from the previously discussed ones. It's entirely possible he's a member of multiple groups, my point was just that his argument didn't reference that and it was therefore illogical.

<comment><USER18> Yup. It's annoying to hear that I should stop whining because the internet is fine, when he almost doesn't experience oppression in the same way.

<comment><USER17> I'm... actually not clear on what you're saying. Are you being sarcastic or serious? I can't read your tone and I could imagine realistic scenarios where you're saying one thing or the other.

<comment><USER18> My bad - I was being sarcastic about the first comment, not sarcastic about the second (and agreeing with you).

To more fully explain what I meant by my first response, I was frustrated by his lack of awareness of the ways intersectionality impacts how different people interact with each other online. Codes of Conduct become increasingly important as one recognizes that intersectionalities of oppression can create extremely toxic situations for some minority groups and not others, depending on the context of the group. So, basically what you were saying in your second comment.

<comment><USER17> You sound pretty knowledgable about intersectionality. Do you have any material on it? I'm only familiar with it from one blog post, so I wouldn't mind learning some more. It sounds like there are more nuances to it than I first understood.

<comment><USER18> Thanks! Honestly, I would start with the wikipedia article about it ([https://en.wikipedia.org/wiki/Intersectionality](https://en.wikipedia.org/wiki/Intersectionality)). It's a nice intro and has a lot of great links.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> "We are all adults. Capable of having adult discussions."

How I wish this was true, but it's not. That's why we have code of conducts: because creepers don't realize that it's not okay to hit on every women they see, because bros don't realize gay isn't a synonym for bad, because gamergaters don't realize women can video games and so on. The sad truth is, there is a portion of our society that does not act in a mature and adult way, and they hurt others as a result.

As someone who plays life on easy mode[1] like I imagine most commenters here, it's hard to remember that most people play life on hard mode. Code of conducts are aimed at making hard mode a little better: hopefully by reminding people where the boundaries are, and for correcting problems when those boundaries are crossed. Are codes of conduct a perfect solution? No. But the response to lack of perfection shouldn't be to give up: it should be to try harder. Centuries of civilization has show us that ignoring problems don't make things better. We have to fight the good fight and force the world to be a better place.

[1] [http://whatever.scalzi.com/2012/05/15/straight-white-male- th...](http://whatever.scalzi.com/2012/05/15/straight-white-male-the-lowest- difficulty-setting-there-is/)

<comment><USER20> _> because gamergaters don't realize women can video games and so on_

I'm going to try and not be vindictive, but I assume you think #NotYourShield is nothing but sockpuppet accounts and doesn't have _any_ support from GG supporters and that Liz, a prominent _female_ supporter of GG who was doxxed and threatened by anti-GGers, was not supported by GG? I spent 2-3 months browsing the tag and found it to be a far more diverse group of people than the _primarily white, upper-middle class, SanFran_ group of SJW people who oppose the Twitter movement.

 _> because bros don't realize gay isn't a synonym for bad_

Linguistics says you're wrong. You can dislike that the word has multiple meanings and that one refers to a demographic of people, but I know of _nobody_ who makes the connection between the two definitions. Hell - most of my homosexual friends of mine have absolutely no issue with the usage of the word in the contexts people tend to use it negatively in, and I've asked them. Only the extremely PC-types give a shit.

 _> because creepers don't realize that it's not okay to hit on every women they see_

I like how a flirtatious/promiscuous woman is a "slut" and the chosen term for a flirtatious/promiscuous man is "creeper". It makes _defending the "creeper"_ put one in some sort of negative moral standing. Which is a way to pull emotional/political biases into the argument.

Humans enjoy sex. Society tends to shame people with multiple partners. Single people, therefore, tend to flirt with other single people. Maybe one of them wants to join them for sex. The more you flirt with other single people - <USER2> more likely you are to receive a positive response from one of them. Therefore, if your goal is sex, you flirt with as many single people as possible.

Congratulations - you've just discovered human motives backed by human nature. Do you share these vindications against sluts? Or does it only apply to creepers?

Lastly - members of these same minority groups are sick of people _like you_ being offended _on their behalf_ [0] [1] [2]. This isn't an uncommon sentiment either. Being offended on their behalf is treating them as less than you. As if they cannot make up their own minds to be offended or not. As if they are too weak to speak up and need you to do it for them. Sometimes they just don't care [3].

[0] [http://dlmagazine.org/2013/10/dear-white-people-stop- apologi...](http://dlmagazine.org/2013/10/dear-white-people-stop-apologizing- offending/)

[1] [http://groupthink.kinja.com/getting-offended-on-behalf- of-a-...](http://groupthink.kinja.com/getting-offended-on-behalf-of-a- minority-group-723414719)

[2] [http://blog.holytroll.net/2012/04/dont-be-offended-for- me/](http://blog.holytroll.net/2012/04/dont-be-offended-for-me/)

[3] [http://funnyasduck.net/wp-content/uploads/2014/05/funny- pict...](http://funnyasduck.net/wp-content/uploads/2014/05/funny-pictures-ill- be-offended-on-your-behalf-racisim-comic.jpg)

</comment></comment><comment><USER7> > If you feel this way simply because we do not have a code of conduct, it is > hard for anyone to relate to you.

Huh, really? _Anyone_? Not even me? Wow! I didn't know I was unable to relate to people.

The entire premise here seems to be based on the assumption that if the world _ought_ to work a certain way, it necessarily does, and if certain things don't seem like they _should_ be problems, they aren't. That's a popular hacker culture anti-pattern, and applied to technical decisions, it's what brought us things like C and Linux. (I'll note that C and Linux are on the "good list".)

<comment><USER21> Except the Linux Kernel technically does have a code of conduct, it's just called the Code of Conflict, and while it basically states they'll deal with problems on a case-by-case basis, it does explicitly give people a way to air their grievances and attempt to have problems addressed.

Additionally, while C itself doesn't have a specific code of conduct, the International Standards Organization (which C belongs to and is governed by) has a code of conduct and code of ethics.

</comment></comment><comment><USER21> What exactly is bad about a code of conduct? Yes, they can get overly complex, and aren't always perfect, but 99% of the time, a formalized code of conduct is just a way of saying don't be a dick, and if you're a dick, here's how we're going to deal with it.

<comment><USER13> In the Opal situation, the fear was that the code of conduct would be used as a weapon against people expressing unrelated political opinions outside of the context of the project itself.

This is not an unreasonable fear, given that the people who are demanding the CoC explicitly said they wanted to do this.

</comment></comment><comment><USER18> > Whatever do you, do not make a scene, as that will burden the entire > community with your issue... Remember, this is not the time or place to > start these kind of discussions.

Cool. I'll make sure not to make a big issue out of being sexually harassed online... online.

</comment><comment><USER22> Looking forward to a day that I don't have to hide behind a throwaway to enthusiastically agree.

<comment><USER23> No throwaway, and I enthusiastically agree.

The recent instances of people demanding resignation of a technical person from an open source project because somebody dislikes his personal views is a form of coercion to uniformity, political thought-policing.

In line with this theme, the NCoC site says:

Q: How can I contribute to your project or community when I see someone said something on a different site or community which directly makes me feel awful?

A: We are not in the business of policing people's personal lives. Hopefully they also don't give a shit about that when they are here. Part of not discriminating people, is not discriminating people. This is not world court. Sometimes people have different views. Just because they express this elsewhere, doesn't mean we give a shit.

<comment><USER22> Yeah. I saw have seen some talented people get fired over the years, including at my current company.

I have heard all sorts of offensive comments throughout the years from all sorts of sexualities and nationalities. The only people who ever get fired for them are white (or white-passing) males.

</comment></comment></comment><comment> vezzy-fnord Most projects already have formal or informal rules set in place for discussion, project management, issue tracking.

A code of conduct would be redundant as such. More often than not, it seems to mostly be a veiled appeasement. The Linux kernel's "Code of Conflict" is a blatant and hilarious example of this.

</comment><comment><USER24> "We are all adults."

I've yet to see any evidence of this.

<comment><USER25> Let's troll them for being ageist!

</comment></comment><comment><USER26> Long time needed project, recent developments on Github where people try to turn a version management system for code hosting and working into a political platform have to be stopped. #politicsfree

<comment><USER7> I thought GitHub was about social coding.

<comment><USER26> Social has very little to do with political agenda and misrepresenting people that I was referring to. Example: [https://github.com/opal/opal/issues/941](https://github.com/opal/opal/issues/941)

What the guy said:

[https://twitter.com/krainboltgreene/status/61156951531550720...](https://twitter.com/krainboltgreene/status/611569515315507200)

It is very sad that this is happening.

Question to you what has social to do with political extremists?

</comment></comment></comment><comment><USER25>
        1. We are all adults.  Capable of having adult discussions.
        2. We accept everyones contributions, we don't care if you're liberal or
           conservative, black or white, straight or gay, or anything
           else! in fact, we won't bring it up, or ask.  We simply don't give a shit.
        3. nothing else fucking matters!

This reminds me a lot of the WTFPL...

                    DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
                                Version 2, December 2004

             Copyright (C) 2004 Sam Hocevar <firstname.lastname@example.com>

             Everyone is permitted to copy and distribute verbatim or modified
             copies of this license document, and changing it is allowed as long
             as the name is changed.

                        DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
               TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

              0. You just DO WHAT THE FUCK YOU WANT TO.

<comment><USER27> Also, the Crowley license: [http://copyfree.org/content/standard/licenses/ctl/license.tx...](http://copyfree.org/content/standard/licenses/ctl/license.txt)

</comment></comment><comment><USER27> I'm not sure why there's ever been a need for a code of conduct beyond the golden rule. Just, like, be nice and stuff.

<comment><USER28> There are a lot of people that really don't have any idea how to be nice and stuff.

One thing codes of conduct do is clarify what other people are expecting (hopefully they clarify the shared expectations of the group).

<comment><USER4> > _There are a lot of people that really don 't have any idea how to be nice > and stuff._

The CoC won't help those people in the first place.

<comment><USER28> I believe it would simplify conversations about negative behavior. Point to the CoC and say that it is an agreement to avoid acting in certain ways, please don't act in those ways.

I don't think it is a cure all or anything, but it at least provides an opportunity to avoid counter productive arguments, and at worst is still incrementally less arbitrary than banning/shunning difficult people outside of a CoC.

</comment></comment></comment></comment><comment><USER29> I sometimes find codes of conduct a little "grandstandy" if you will, but I prefer that state of affairs to this. This just feels like re-entrenchment.

</comment><comment><USER30>
      1. We are all adults.  Capable of having adult discussions.

When your first point is so blatantly, demonstrably _wrong_ why on earth should anyone bother giving any further consideration to your argument?

</comment><comment><USER31> I agree with the spirit of this, but "we are all adults" is a bit overly- specific. There are people that are not yet adults that contribute to open source too. Maybe "we are all rational?"

<comment><USER32> There are people who are not rational that contribute to open source as well. Contributing to their delusions is overly-harmful!

You're never going to find a blanket affirming, feel-good statement that's actually true.

</comment></comment><comment><USER33> Not having a CoC is like not having an employee handbook.

In theory, we're all nice people, and nice people don't need laws or handbooks to tell them what to do or who to behave.

But we're not all nice people. And when bad things happen, you need to have something written down that you can point to and say: "Hey, you violated this thing you said you agreed to." CoCs are not preventative measures (they don't proactively reduce bad behavior), they're more helpful for throwing out community members when they do something bad.

<comment><USER34> > Not having a CoC is like not having an employee handbook.

I have never heard of that a so called "employee handbook" and the company I work for is still a pretty civil place. I wonder how we manage that?

</comment></comment><comment><USER35> The main problem I have with arguments like this is that it's made for the ideal world.

Yes, people should act like adults in OSS. Yes, people shouldn't be judged for who they are. Yes, we shouldn't have to say these things.

But in reality, people don't act like adults in OSS, people are still judged for things that should be completely irrelevant. We need to spell these things out because apparently there are still people in the world who need to be told that they should treat others the way they want to be treated.

</comment><comment><USER36> > 1\. We are all adults.

Stopped there. We aren't. I've been amazed at finding that code came from a 15 year old.

</comment><comment><USER37> So, someone got booted out of the ubuntu forums for being a dick and then instead of growing up, decided to make a tumblr blog.

Is that a correct reading of the situation here?

<comment><USER38> No, here's what happened: [http://nocodeofconduct.com/post/121966770584/on- opalgate](http://nocodeofconduct.com/post/121966770584/on-opalgate)

</comment></comment><comment><USER39> ..reminds me of [https://xkcd.com/927/](https://xkcd.com/927/)

</comment><comment><USER40> I don't really have a stake here but I just have to point out that this is very ironic. For one thing, the author claims it's a good idea to keep things private and not make a scene. However, they went ahead and created a website with a big white-list and black-list for projects that they either do or do not like. How is that not making a scene?</comment>


3x in 3 Years: Scaling an Engineering Organization - <AUTHOR> https://www.pagerduty.com/blog/scaling-engineering-org/ <comment><AUTHOR> Author here. Not a lot of material out there on how engineering organizations evolve as they scale, hope you find this interesting.</comment>


Ditching the office to work in paradise as a digital nomad has a dark side - <AUTHOR> http://qz.com/775751/digital-nomad-problems-nomadlist-and-remoteok-founder-pieter-levels-explains-why-he-has-quit-the-nomadic-lifestyle/ <comment><USER2> I did this in Asia for a year.

If you can find a stable enough Internet connection (which costs a lot more in Asia), you will need to be very disciplined to actually get anything done.

All of the expats I met were 20 something college-aged students that just wanted to party, drink, and smoke weed every day or people that were rejected from their home country for one reason or another and can only find a job as an English teacher because most schools don't do their due diligence and weed out bad workers.

The rest are a small percentage of people that are in the same boat as you and were transferred for a short amount of time (usually 6-months to a year) for work.

It can be very isolating, unless all you want to do is party and get drunk. I was lucky because I had some other like-minded friends that came with me and I had studied the main language before I came. Almost all of my friends were locals, not expats.

I finally had to leave because my business was suffering and tripled my income after I came back.

<comment><USER3> What country/city/language/business, just out of curiosity?

</comment></comment><comment><USER4> True nomads move in groups of close units, and they do so out of survival and necessity. The lifestyle this article is describing as the "digital nomad" is more like an exile.

</comment><comment><USER3> Travel itself takes so much energy, it has to be the primary thing or what's the point. But work _expects_ to be the primary thing if that's what you're doing.

I think the only way to do digital nomad would be bug bounties, or something like that where it's an at-will contribution.</comment>


Roll Your Own Frameworks - <AUTHOR> https://blog.startifact.com/posts/roll-your-own-frameworks/ <comment><USER2> I had to RTFA three times to understand what was bothering me about it: it basically takes sensible principles about software development and turns into a self-affirmation exercise about the author's work where he applied those principles and packaged as some grand wisdom about "frameworks".

The first half boils down to (a) research existing solutions, (b) avoid NIH when you can and (c) refactor your code as you find commonalities and points of re-use. The second part is mostly about designing a system that could be used/extended by someone else (separate the generic from the the specific, treat it as open source).

Those are very valid points. Thing is, in following those very valid points one could probably write another article with a far greater number of examples (and a far better lesson) where the best course of action is to _NOT_ roll your own framework and prefer to adopt some existing code and make the necessary extensions/modifications.

To illustrate, I checked the morepath "framework". It seems to tick all of the boxes one would expect from a proper open source "framework". It even has more documentation than I would expect from such a small open source project. The one point where it fails is that it never gets to give one simple example of a pain point that this project solves that all of the other million web frameworks don't.

In the end, it seems that the author is looking for an ex post facto rationalization for some of his projects that had a lot of his time invested but no external interest afterwards. Too bad that it seems that he also took the wrong lesson out of it.

<comment><USER3> I would read that article, and vote it up, but I don't think we need to be harsh towards this one. It's a good read, makes some good points and I'm thankful for it.

<comment><USER2> Were it something pointing out the trade-offs that he found when rolling his own frameworks and I wouldn't be so put-off by it. But when an article wants to argue for something and its justifications could be used to conclude the exact same opposite? I fail to find those good points, to be honest.

</comment></comment></comment><comment><USER4> If you're doing it for yourself and nobody will ever have to maintain your code? Sure, knock yourself out!

If you have a large organization that can absorb the cost of maintaining the framework long after you have gone, and can ensure the entire company is invested in this framework? Sure, someone will hate you in five years because they will hate your opinions, but you won't sink a company.

But if it's in between, you are doing a disservice to whoever is paying you. You won't document it like a great framework. You'll be fine with a hack or need to skimp on testing during a deadline, and three years later people will be stuck around decisions that seemed right at the time.

I have seen how bad of a drag this can be up close.

<comment><USER5> I feel like mainly this article is about building generic tools as you are developing your application. I think the word "framework" is used liberally - base classes and higher order functions are classified as tiny frameworks in the article.

In some cases I think it's a tricky call. I'm currently working on a "framework" and am worried about all the issues that you mention. The reason I'm still building a framework is that as far as I can tell there is really no existing framework for the task at hand, and we do need the economies of reusable code (consistency across deployments & avoidance of double work). I hope the organization is large enough to absorb this and keep it going down the road, and am aiming to make it open source in the hope that a community can form around it as well. Fingers crossed, I guess.

<comment><USER4> There are all sorts of nuance that are not captured in a short post. In 2012, I built a micro front-end framework for front end because I wanted something closer to what turbolinks is today, and I am sure people have cursed my name in years since. (Of course, the alternatives were things like knockout and backbone, and I had issues with those and my use case.)

So, to be fair, many of us have done it. The best case is that you can open source it and everyone can benefit from your work.

</comment></comment></comment><comment><USER6> I agree with a lot of what this article says.

I've recently started a new application in PHP which has very strict time / performance requirements. I could build it in another language, but I'm most familiar with PHP, the thing would take me 4x as long to build in Rust.

The default frameworks (Laravel and Symfony) are very slow out of the box, and doctrine / propel are pretty slow as well.

I've instead built something entirely brand new using Swoole and an assembled set of very fast and very light Composer packages (namely Fastroute and PHP- DI) and everything else I'm building myself (compromising on reusability and full-featuredness in return for raw performance).

I've split the code in to two: one half is the framework, it's concerned with routing, dependency injection, models and hydration, event handling and responses. The other half is focussed on the business concerns: creating users, creating authentication token, performing searches.

There were a few challenges: moving from single row, single model queries to hydrating complex joined collections was a major multi-day challenge, but the end result is that when a request has all the data it needs cached, it responds in ~3ms, when it needs something from the database it responds in ~10ms.

I was apprehensive when I started, and a half decade ago this codebase would be an unmaintainable mess, but I'm finding it a joy to work in: there are few layers of abstraction, not a single line of code is wasted, and when something goes wrong there's no magic obfuscating the true problem.

<comment><USER7> This is one of the primary reasons most people hate PHP. Let me ask a simple question: What does the documentation for your homegrown framework look like? Having worked for several organizations that decided to roll their own framework in PHP, it is an absolute nightmare. No one else knows how it works or how to use it and it usually comes with no documentation. Furthermore, you don't get any updates or bug fixes unless you write them, taking time away from working on the project that is being held up by your homegrown solution. There are plenty of fast, low bloat, PHP frameworks to choose from: Phalcon, Slim, Luman and Silex just to name a few. I guarantee they all have better documentation and support. If you need some custom functionality, extend one of these existing solutions to suit your needs. Please, please stop reinventing the wheel for production code.

<comment><USER6> I agree with everything you've said, with the exception that it doesn't fit our usecase.

We run and maintain several Symfony applications, we're very familiar with frameworks, how they work, their strengths and weaknesses.

This was a carefully considered route:

We wanted to be writing PHP code with high performance and strict response time requirements, as such:

* Symfony was instantly ruled out.

* We knew we would struggle to do this with raw PHP but didn't want to retrain the team to learn a new language (our thinking being we would likely write something inferior and insecure).

* We considered Phalcon and Swoole and ultimately decided on Swoole as we found Phalcon a bit too opinionated. That being said, Swoole's documentation isn't great so we've had to internally document it. (We will probably push a few documentation PRs for swoole-src when we're done).

* We didn't trust a big framework to have zero memory leaks, which is a key issue for long running Swoole processes, since it's not a typical issue for the single-use PHP processes we are used to.

With regards to documentation, it's very well documented (with documentation explaining the reasoning behind each class, usage, pitfalls and how it fits in to the larger application, and documentation for the wider ergonomics of the application, debugging, performance considerations, etc), with a 96% test php- unit coverage for the Framework.

Your concerns are very well received and are concerns we have had from the beginning. Constant vigilance and a deep respect for my co-workers is what keeps this little project on the straight and narrow.

<comment><USER8> What were your constraints in performance? I'm surprised Laravel is considered slow.

Have you considered sticking to it and applying some caching layer on top of it?

<comment><USER6> It's part of a live video platform for a gaming company which needs extra information to be overlaid on top of their live stream (for the customer in- video frame performance is incredibly important: the stream run at 30fps (so a maximum of 33ms per frame) and the overlay information has to be generated in 11ms or less)

We did originally consider writing it in Rust (it would have been my personal preference) but the consensus was that since the rest of the tooling for this customer is in PHP we didn't want to add a skillset they didn't have internally if they were to move away from us in the future (we aren't big on needless vendor lock-in and prefer to compete on quality and service).

We experimented with PHP7.4 and Symfony / Laravel and found that we didn't have the performance leeway we needed, even with preloading / opcache.

We opted for Either Swoole or Phalcon, tried them both and found that Swoole was more to our liking and was somewhat more performant than Phalcon in our real-world testing.

We are exposing Swoole directly to them within their VPC, so we were able to do away with NGINX as a reverse proxy as well and have Swoole handle the HTTP request phase and HTTPS. We were able to make heavy use of Swoole\Table to save superfluous trips to Redis and run a Redis synchronisation process in a coroutine thread when the concurrent number of network tasks drops below 16.

Our end service response times (including network overhead) are around here:

\- Mean response time: 4ms

\- Fastest: 2ms

\- 99th percentile: 9ms

\- 999th permille: 10ms

One unforeseen side effect is that it has a crazy amount of scalability built in by default, the 8core machine the process runs on can easily scale up to 15,000 concurrent requests (as in 15,000 requests per second) without going over 15ms for response times, and can scale up to 45,000 concurrent requests before things start to "break".

<comment><USER6> Also: Our issues with Laravel / Symfony weren't just performance, but also statefulness and memory leaks. Circular references, etc, which persist throughout multiple network requests. In a normal PHP flow using php-fpm or apache-php-cgi this isn't an issue: The PHP process is created, used and thrown away. For a Swoole setup, these memory leaks quickly get out of control and cause performance issues, instability and very occasionally superfluous garbage collection runs.

</comment></comment></comment></comment></comment></comment><comment><USER9> I would tend to think if you built your own framework the right way you would end up looking a lot like... an existing framework. If you build it the wrong way then it would look like an interwoven mashup of code that you would have no remembrance of if you came back to it after a period of inactivity. If you are not confident you can do the former _in a production environment that isn't just a side project_ then I would argue that you shouldn't until you can.

<comment><USER10> > I would tend to think if you built your own framework the right way you > would end up looking a lot like... an existing framework.

Nope, existing frameworks are designed to solve the problems in 100,000 different applications across every domain known to man. Your "framework" (which if you're doing it right is probably more like a set of patterns and a carefully selected set of libraries that do one thing well) solves your own problems, and only your own problems.

If something tailor made to solve your use case specifically looks exactly the same as something like Django, then you're either Google or you've overengineered it.

<comment><USER9> I don't necessarily agree with the sentiment as a whole as there's pretty consistent design patterns for things like routing, http requests and responses and user roles and permissions across many languages and frameworks both large and small. Your point holds when you start digging into more niche things (like form handling) but even if using frameworks you don't have to do any of that stuff if you choose not to - it's there if and when you need it. Things normalize because access patterns dictate that. Bucking that trend because your app doesn't need that _yet_ is a slippery slope that leads to exponential increase in time as your app gets more complicated since your framework lacks core features that you have to go back and build and risk breaking other things you've already built. If you abstracted that away to avoid that then you are already thinking like a framework, so what's the point?

</comment></comment></comment><comment><USER11> I've been struggling with this for awhile. I have been working on the same (large/complex) website for nearly 2 decades. Of course there was no Vue/React back when I started building it (this was even in the days before jQuery had even been invented!) So, I wrote my own framework. Over the decades I have constantly updated the framework as I've found pain points. At this point it does everything that I want it to do. But... only myself and one other developer really understand how it works. Anyone coming in from the Vue/React world would be lost. Now that we do have these modern frameworks I feel like I should probably drop my framework and rebuild. The main issue is time. It would take so much time to do it and I have a list of new features and enhancements that people are asking for that is as long as my arm. Do I write up a case for management as to why I need to halt all enhancement work on the site for a number of months so that I can rebuild it on top of Vue/React when the current framework is working fine?

<comment><USER12> As long as it works there's no point modernizing it. At some point when you won't be able to update it anymore you'll pay someone to build you a new one with all the bells and whistles of contemporary frameworks-which in most cases are overhyped piece of junks.

<comment><USER13> Never rewriting is a great way to save costs in the short term and also shoot yourself in the foot long term. Unemployment systems written in COBOL were perfectly fine until we found they weren't in March 2020. Maybe we should have rewritten those 20 years ago? That would have saved the NJ Governor from putting out a request for "Cobalt" programmers in the middle of a pandemic.

Let's say GP and his coworker switch jobs in the next couple of months. Who is going to maintain an application built on a framework no one understands? At that point you'd have no choice but to rewrite it except now you don't have the knowledge of how the existing system works.

All of this without even getting into the security implications of using a framework that no one else is.

<comment><USER14> > _That would have saved the NJ Governor from putting out a request for > "Cobalt" programmers in the middle of a pandemic._

The difference is this framework still runs on a modern platform (assuming it uses JS and other Web standards). So, it's dated only WRT _other frameworks_ , which come and go anyway.

So, unlike with COBOL (and "Cobalt"), it's supported by the platform of the day with standards many current devs know.

</comment></comment></comment></comment><comment><USER15> The thing with frameworks is, you can't compose them. And software based on different frameworks usually doesn't mix well. Therefore, if you want to write reusable code, I'd say choose libraries instead of a framework.

</comment><comment><USER16> I think the article's title should be: "For educational purposes roll your own framework". This is something that can greatly add value to a developer (preferably afterwards she/he has been exposed to many different languages and frameworks). What's the taste of implementing a minimal crappy but usable ORM? How do I implement authentication from scratch? How can I implement that cool feature X from the Y framework? and so on.

At the moment for example I'm doing exactly that in plain Racket (and also learning Racket along the way) and so far it has been a fun experience because you realise how much functionality we take for granted everyday when doing real work in the industry. I wouldn't definitely do any real work from scratch without a framework because using the least powerful framework out there surely is going to be way much more productive than starting from plain scratch.

Being that said there's I think another reason why there could be room for this: after you have tasted many of frameworks out there and having substantial programming experience you might want to roll your framework only if you are able to provide something innovative or extra value that none of the alternatives have, after all this must have been the way many of frameworks out there were born and became popular, but even in this case you might be able to achieve that by either contributing to a well known project or extend it through a plugin.

</comment><comment><USER17> >When I build an application, I build frameworks along the way.

I do believe this is also referred to as simply "building an application."

<comment><USER18> I know the OP, and he really does tend to extract frameworks while he's working on an application (and for that matter, extract libraries while working on frameworks) as a matter of course. It is pretty impressive how effortless he makes doing the right thing for code reuse seem.

<comment><USER19> I also know a handful of people who can pull this off while not messing everything up in the process.

But most people do, I can't count how many bad reinvented wheels I met in my PHP time. It was rather refreshing to use Node.js with NPM, where I could simply install all I need.

</comment></comment></comment><comment><USER20> I think people should be cautious in taking this advice for anything but toy projects, on a few counts. I spent two years developing on a framework I built myself, until I finally gave in and spent an inconvenient amount of time porting to Django.

1) Unless you have a lot of experience, you don't know why various patterns have been implemented, or various compromises have been made, in existing frameworks. Frameworks aren't on the whole built by idiots, and if you think a framework has made an obviously poor choice, count the days until you realise why they did it. If you're lucky your choice will still make sense for your application. If you're not, I hope it doesn't take you too long to redo it all.

2) As the author says, frameworks are by nature declarative. This is great if you have really good documentation, but if not you're going to scream trying to work out the control flow of your application. "Why does changing variable X result in behaviour Y? What is even checking variable X? grep's returning nothing, the stacktrace is twenty levels deep and I don't recognise any of these functions. FUCCCCCCKK!"

You're going to forget how your framework works. If you don't forget there was no point building it at all, because the point of a framework is to abstract you from having to think about things.

3) Your project's not that special. The framework your considering will probably work just fine. It's worked for several million other projects, it'll work for yours. Yes, you might spend a bit of time trying to shoehorn something in. It'll be an order of magnitude less time than building an entirely new system.

4) It's much less useful for future work. A high-level understanding of building frameworks will get you a job at the Django Foundation. An high-level understanding of Django will get you a job everywhere else. And also at the foundation, come to that.

It was a fairly informative process. It taught me things I didn't know I didn't know. I value it in much the same way I value building interpreters. But much like building interpreters, except in a few niche areas it's probably not a good use of your time.

</comment><comment><USER21> I can understand the author and I usually do the same thing. But once you have done this two or three times, you have your own framework that you don't have to reinvent anymore.

If you are interested, I did a live recording of building a blog from scratch [1]. From the content, to a decent framework to run it. This is more of a purpose oriented framework where you build the features you need.

[1]: [https://idiallo.com/video/website-from-scratch- part-1-conten...](https://idiallo.com/video/website-from-scratch- part-1-content)

<comment><USER10> IMO this whole thread suffers badly from differing definitions of 'framework'.

The 'framework' of your app is a collection of patterns and interfaces that allow you to implement your actual features as easily as possible. Whether you get that by importing 2M loc from the same source, piecing together tiny libraries that do one thing well, or write the entire thing from scratch, it's the same result.

I'd agree with you if I was using the definition everyone else is, which seems to only cover the fist case (importing a shitload of code from one place).

Using any pre-made library is a trade-off where you incur some technical debt in return for up-front speed. This is obvious if you look at the extremes (i.e if you have infinite time then I'm 100% sure that using Django isn't the optimal way to build your app, and if you're writing your own framework then by definition you're spending a bunch of time writing code that doesn't directly implement features. Everything else is somewhere in-between).

If you've written a framework that you can just sub in across multiple projects, then it falls victim to the same trade-off you'd have to take with an existing framework. Unless there's something about your framework that's straight up better for the general use case than existing frameworks (in which case well done, but "just build something better than Django/React/Whatever" isn't really advice that's useful for the average dev).

I think it's far more realistic to have familiarity with a set of patterns and small libraries for solving specific problems, and when starting a new project, port over the parts which are relevant to it. I've written tons of this kind of code in my career, and I don't see any point whatsoever in releasing my own open source framework. Instead, whenever I implement something that I think is interesting or might be useful later, I build a minimal gist that implements the concept in-case I need to refer to it later and re-use the code.

I think if I had my own framework that was robust enough to just copy wholesale between projects, and I had to train all of the devs on my team to use it each time, it'd just be the worst of both worlds. I'd much rather either use something that's reasonably standardized, or piece together the right set of tools for the job and educate and familiarise everyone else with it as I go.

</comment></comment><comment><USER22> One problem with building good tools for yourself is that if you ever go work for an established company, you'll be immensely frustrated by how poor the tooling is.

</comment><comment><USER23> I found localization complicated, so I rolled my own simple localization framework for the web. I mark all texts with one degree character (°) at the start. I had a script looking for all occurrences and merging them into a CSV file which I gave to the translator who could edit the translation in Excel. To help the translator comments for the context were possible, even a limited option handling because of different grammar of language was there. I just added what was strictly needed for the project. Then dynamic JavaScript search-and-replace was applied after loading.

Bonus: it both translated text in HTML elements and JavaScript strings.

NIH at its best? But still today I couldn't find something so simple even for the non-technical translator. Because of CSV merging we could work with the translator in several rounds without hassle.

</comment><comment><USER24> We once outsourced a native iOS app to a large consultancy. They were able to develop a working iOS app in a short amount of time. How did they do it? They threw at least twenty people (at the peak) on the project. And they used their own framework. It handled everything from network calls to CoreData to action sheet UI to the "kitchen sink". Everything in that app extended a base class in their framework. They did give us a snapshot-in-time of their source behind their framework, and any iOS dev who had to fix bugs or add new features to the app they threw together eventually cursed the framework. Because sometimes adding a new UI animation or different navigation way required mucking through the framework code, sometimes frustratingly unsuccessfully. The app is no longer in use, having been rewritten.

</comment><comment><USER25> The author just doesn't understand the difference between frameworks and libraries. A function is not a framework. Neither is a small single purpose library. None of this applies to actual frameworks unless one's working alone. Add another developer and most of these points fall flat. The documentation won't be maintained, bugs won't be resolved, and the other developers will hate it. Sure, do what you want as a solo developer, but don't subject others to shitty frameworks they can't learn, modify, or understand without you for any reason unless rewriting the wheel is your only purpose. Been there way too many times and not once was it a positive experience.

<comment><USER26> > Add another developer and most of these points fall flat

See, it seems like that _should_ be true, but in my experience it's the other way around. If I inherit somebody else's code, I can always (or at least, I have a perfect batting average so far) make sense of how things work and usually put together why he did things the way he did even if he's not available for me to talk to. I may not agree with his design choices, and I may criticize the way he approached things, but I can always work out how/why things are put together the way they are and how to move them around. Frameworks like Angular and Spring, on the other hand, are the product of dozens if not hundreds of people and are so generic as to be like a cloud of smoke: it takes weeks just to get my head around what (if anything) the framework is even offering. That would be fine if it wasn't for the fact that the framework ends up failing in mysterious ways that require days of debugging to work out.

</comment></comment><comment><USER27> Good thing people who came up with Django, Symfony, Flask, or Rails themselves didn't listen to what most commenters are saying here. I mean, we'd be using CGI.pm to this day! (Except that someone had to come up with CGI.pm either)

Because it seems like with attitude like this, the art of creating a better framework will be lost to everyone but maybe some Brahman-like caste in ivory towers, who also don't mind others leeching from their effort and telling everyone how you're not supposed to roll your own.

</comment><comment><USER28> Back in 2013 the company I was working for released a touchscreen kiosk. They rolled their own hardware and wanted a custom software solution. There was limited space on the device and it would not be internet-enabled. There would be no physical access to the device beyond the touchscreen, and the target audience was not known for being technically savvy.

I was tasked with delivering PHP code that would serve pages to the customer. For whatever reason I wasn't allowed to use CodeIgniter, which was what we used elsewhere in the company. I wound up creating a mini-framework to serve pages. It was extremely basic and limited, but in this situation it was what was needed.

It is the only time I've ever had to create a framework. I doubt I'll ever have to do so again. The beauty of frameworks is that they free you up to focus on your application and the logic to support it, rather than figuring out the best way to handle things like routing or database access.

<comment><USER26> > the best way to handle things like routing or database access

See, I'm always a little concerned handing something like database access over to an unaccountable framework for fear that they'll do the wrong thing and a) it'll be my fault and b) I'll have to figure out how to work around it under time pressure.

</comment></comment><comment><USER19> The author has a very generous definition of framework.

</comment><comment><USER29> An approach which I've found to work well is extending an existing framework with domain specific custom directives. This encourages consistency and can make contributing business logic directly to your code base more approachable for domain experts. Meanwhile there's always the escape hatch of the underlying framework available when required.

</comment><comment><USER30> The purpose of a framework is to set constraints so that precious brain cycles aren't wasted on opinionated, (most of the time) irrelevant technical choices (and related training). So that, hopefully, the sum of the knowledge each dev in the team has of the framework covers enough solution space to solve all problems the team will come across.

> the only way to make a framework do what you want is an ugly way

Most of the time it gets ugly because the developer(s) doesn't know how to do that thing with that framework, not because the framework doesn't allow it, and would rather find an escape hatch than improve his knowledge of the framework and solve it the right way. I've seen this happen many times, both while studying and in a work environment. And if that wasn't the case it would be _way_ more beneficial to tweak the existing framework and contribute upstream instead of creating "yet another framework" (obligatory xkcd: [https://xkcd.com/927/](https://xkcd.com/927/)), especially if you'd like to give back to the community.

Some frameworks have been around for decades (Django and Rails are good examples) and are still in active development, used by people in all sorts of industries, all over the planet. It's quite presumptuous to think your _special_ use case hasn't been covered by at least hundreds of other developers, tens of which came up with what would probably be considered _the right way_ to do that specific thing.

The only acceptable reasons for rolling out your own framework are: performance constraints that are imputable to the code architecture itself (hint: most of the time they are not), licensing issues, the lack of a framework for the language you're using and visibility (yes, releasing your own framework is a cool way of advertising your skills).

<comment><USER26> > would rather find an escape hatch than improve his knowledge of the > framework

Is that because he's being lazy or because he has a 50-deep backlog of JIRA tickets, a project manager breathing down his neck and an expectation that every problem can be resolved in about an hour and definitely, positively, no developer should ever be "wasting time" reading documentation because we pay you to code, not to read, now get back to work you lazy worthless developer.

<comment><USER30> Could be. It's still not the framework's fault though.

</comment></comment></comment><comment><USER31> React is not a framework. Ant Design is also not a framework, as SQLAlchemy.

<comment><USER10> True. One of the reasons I prefer React over others is it gives a good standardised base to work from, but you can still compose the right set of tools for each project around it.

Of course you can still fuck that all up by starting a project and insisting on whatever is popular or that you're familiar with. There's plenty of 'framework-y' libraries out there for React that constrain you in all the wrong ways if that's how you like to roll.</comment></comment>


Ask HN: What happened to the financial reform bill? - <AUTHOR>

So the Senate just passed Chris Dodd's financial regulation bill and the House and Senate are getting ready to reconcile their two versions. What I want to know is what happened to the parts of the bill that we were up in arms about (adjusting the requirements to be a qualified investor, the 120 day SEC review, etc.)? Anyone have any info? <comment><USER2> Possibly declawed. Have to wait for the House/Senate reconcile.

 _Now, the amendment maintains the $200,000 salary and $1 million net worth -- as long as the primary residence is not included in the net worth calculation._

[http://news.google.com/news/search?q=senate+bill+accredited+...](http://news.google.com/news/search?q=senate+bill+accredited+investor)

</comment><comment><USER3> I was most interested in seeing whether the Volcker rule got through, but the news reports I've read are very conflicting, with some claiming it's in and some that it's been watered down to meaninglessness.

Given all that tough talk by Obama when he first proposed it in that news conference, I'm very surprised to see such poor mention of it subsequently. News channels seem to not even want to report on it. Sad (and maddening) to see such a visible act of Wall Street's power.

<comment><USER4> Currently the bill requires that the GAO do a study of whether it would be a good idea and report to Congress about it. (That would be the watered down to meaninglessness bit.)

Sens. Merkley and Levin proposed an amendment to make it a hard rule. The Republicans repeatedly blocked a vote on it. To get around this, they added it as an amendment to a Republican amendment. The Republicans withdrew their amendment to prevent this vote. Now there's word that they'll try to pass instructions to the committee in charge of combining the House and Senate bills to try to add the amendment there. If you want to support something like that, please sign our petition:

[http://act.boldprogressives.org/act/petition_gambling/?sourc...](http://act.boldprogressives.org/act/petition_gambling/?source=hn)

</comment></comment><comment><USER5> I suppose corruption happened. It usually does.</comment>


How Google Analytics ruined marketing - <AUTHOR> https://techcrunch.com/2016/08/07/how-google-analytics-ruined-marketing/ <comment><USER2> Some years ago, I used to wonder why all kinds of companies were getting into "big data". Turns out, most of the examples I learned about were all doing analytics. Marketing teams have become like day-traders on wall street: Rather than investing in long term proven paths that happen to be slow, they are obsessed with collecting all kinds of scraps of current information. As a privacy advocate, I find it makes me scratch every "big data" job off the list whenever I look for employment. (That's not to say all "big data" jobs are that way, but why find out when you can just read the company name and ask yourself if that sort of company has anything to do with lots of data?)

I suspect, too, that the pervasiveness of GA has driven up the usage of NoScript as much as malicious JS awareness.

</comment><comment><USER3> "Booked a rental car. Now, all I see are ads for that company. Everywhere. Ugh. This is what will drive the use of ad blockers."

But when you book another car from the same company it MUST be a direct result of those ads and nothing else.

I use the same company all the time because they are local, honest and some of their best staff bother to remember my name, even though I'm not a high user. It has nothing to do with their ads or, in fact, any of their online presence at all - their website sucks actually.</comment>


Google Profiles just got updated - <AUTHOR> http://googlesocialweb.blogspot.com/2011/03/decide-what-world-sees-when-it-searches.html

<comment><USER2> Interesting. I just learned about Google Profiles earlier today while reading up about WebFinger and OpenID. Google Profiles also support hCard, the microformat.

Google Profiles don't seem to have much practical use to me besides being useful for standards compliant stuff. I really wish Buzz became popular in place of Twitter, its a much better (and more open) platform in my opinion.

<comment><USER3> Well buzz still miss a retweet equivalent (reshare + close comments is the closest thing).

</comment></comment><comment><USER4> Google needs to add a little lock to all posts that are private, or indicate which are. I freaked out when I thought some of my picasa albums were visible publicly--and feared that had pulled another buzz. Luckily that's not the case, but it's not immediately obvious.

</comment><comment><USER5> Doesn't seem like the updated the old URLs for profiles.

[http://www.google.com/profiles/<username>](http://www.google.com/profiles/<username>); is showing the old style profile while [https://profiles.google.com/<username>](https://profiles.google.com/<username>); is in the new style.

Bummer because, when editing my profile in the new style, it tells me that the correct URL is the first.

<comment><USER3> I think you'll have to wait for the rollout to propagate to get it in both places.

</comment></comment><comment><USER6> I had this huge debate with regard to our vision of Google's future today. The question was whether Google should stay focused on developing its distinctive competence: being a superior search solution, and monetize through advertising, or whether it should branch into new ideas such as Checkout functions or even desktop products. Personally, I think it's crucial that Google to strike a balance between external acquisition and internal development for these reasons:

In terms of internal development, Google's ultimate mission is to serve as a superior search function for people. So due to the saturation of the market in web search and consistency with company culture, I believe Google should leverage core tech to expand into niche search markets and strengthen additional platforms. More specifically, google should expand into niche search markets or industries where information needs to be more open and organized, for instance, the arts industry, the fashion industry, etc. In additionally, I believe small mobile devices will continue to grow in terms of user base, especially in emerging economies where more people could afford such devices. Therefore, creating applications that ties in with its platform should also be a part of Google's platform development.

Externally, Google, by becoming or adopting the image of Microsoft has brought negative attention to many other high-growth companies, increasing hostility and competition from companies including Microsoft, Ebay, etc. To avoid multiple organizations joining hands to go up against the giant and hence, increasing costs like it has been in the past few years. Google needs to learn to adopt new market in a subtler manner. Instead of creating all functionalities explicitly under Google's name, acquire small enterprises that serve similar functions and avoid too much publicity during the acquisition.

Item number 8 of Google's philosophy highlights the importance of going across borders. Neighboring Asian countries such as Japan (38.20% of market share), and South Korea (3% of market share) fancy locally flavored search engines such as Yahoo Japan over Google, seeing it as a form of "cultural imperialism". In the end of the day, Google is user-based and a service product. Creating fear among users, in addition to competitors, weakens the potential growth of all other platform products it is developing. The solution to this ties in with the discrete acquisition suggestion- to create products that are culturally sensitive.

So instead of attempting to produce additional breakthrough products, I believe Google should keep in mind its core philosophies and focus in, with cultural sensitivity in mind, strengthening additional platforms and expanding into niche search market.

<comment><USER7> What you're forgetting is that social networks are a threat to Google's primary business because they offer better signals for/an alternative to search. I think the strategic play for Google is own all the social signals, or at least have them be in open formats that they can crawl.

<comment><USER6> which is what google is doing, especially with its launch of "real time" search which includes recent tweets. There are two paths google could take- to venture on trying to own all the social signals (which is what bing is trying to do!) or work on securing its image as the "objective" and professional platform. There are rumors that google will start its own "facebook"/ social network tool, and many users have voted against it, claiming that they want to keep gmail and other google usage professional rather than social.

</comment></comment></comment><comment><USER8> Wow! This is a major move. In a simultaneous attack on fb and linkedin. The fight for the "profile" page is on.

It is like the internet revolution all over again, but for the masses. Most people with any sense in them already have a ~uname/ somewhere and //that// is their profile. But for "monsieur tout le monde" it is too complicated to order hosting and install wordpress on it.

This is why everyone absolutely //loves// facebook -- because suddenly they can heave their "own website". Sure its just a wall and mostly used for other people to spy on you, but you can spy on them too so isn't it a great deal?

This seems like a sure flop to me because it is essentially an escalation of rights from knowing my email address to knowing a bunch of other things about me. Not cool.

On a different note, it is funny to see Google try something and fail... we have gotten used to their superpower, maybe they are not so strong after all. Has the Goliath gotten slow?

</comment><comment><AUTHOR> Not a huge update, but it's much cleaner looking than current profiles.

<comment><USER9> Yes, that was my first impression too. Looks much cleaner, info displayed better. The old ones look a bit stuffed, they highlighted simplicity in the new ones.

</comment></comment><comment><USER10> How much do you have to share to not get "To have your profile featured, add more information about yourself" anymore? It's a mystery, and finding out is a pretty dull game.

<comment><USER3> This no longer exist, now you just have a checkbox "make your profile visible in search". For me that is a huge improvement.

</comment></comment><comment><USER11> does anyone know if i can expect this to ever work with google apps for your domain?

</comment><comment><USER12> Good, now please allow an API to get your avatar using your gmail address. While we're at it, allow me to get some public info via JSON too. ktxby.

<comment><USER13> sure – [https://email@example.com/...](https://email@example.com/@self?alt=json&pp=1)

Note that this will only work for users that have activated Buzz

<comment><USER3> Or you can get it from the social graph API: [http://socialgraph- resources.googlecode.com/svn/trunk/sample...](http://socialgraph- resources.googlecode.com/svn/trunk/samples/exploreapi.html)

</comment></comment></comment><comment><USER14> What I still can't understand is why Google's top bar's style isn't consistent across pages.

<http://maps.google.com/>

<https://profiles.google.com/u/0/>

<https://groups.google.com/>

<comment><USER15> I guess they're updating incrementally across their sites

</comment></comment><comment><USER16> This seems to be a part of the upcoming social product. IMO the Google brand does not work well with social. No matter how well they execute this product, it will still feel too "efficient".

P.S.: Looks like they invested in eye-candy. try changing your profile picture for an example.

</comment><comment><USER17> For some reason the new profiles don't render correctly in Chrome. It just shows a white page with nothing on it that is much longer than the actual profile page is. Not only that if you view source, it is all there.

I am running Chrome 11.0.686.1 dev on OS X 10.6

<comment><USER3> The dev channel of Chrome has lots of issues (e.g. gmail has problems too).

<comment><USER17> I know it has issues, but for me Gmail is fine. The version before the one I was using displays the profiles fine. So who knows.

</comment></comment></comment><comment><USER18> How is this going to affect search results when someone googles my name ? This could be very useful because I have a very common name and it would be nice to get bumped up a bit because I have a google profile.

</comment><comment><USER19> It's one thing to want to have a formal profile for when you're googled. It's another to have your buzz attached to it. They want buzz to catch on so badly.

<comment><USER20> You can hide the Buzz tab.

</comment></comment><comment><USER21> I am wondering how they figured out where I lived? Geolocation API with common patterns?

</comment><comment><USER22> That looks exactly like Facebook, even to the photo timeline thing at the top.

<comment><USER23> I think the reason profile pages tend to use the same layout is because it's an established design pattern now. People already know what to expect when they see a page with that layout.

Edit: Also, Google profiles have had that photo timeline for a while. They added it months before Facebook added it.

<comment><USER22> Oh I didn't know Facebook aped Google.

</comment></comment></comment><comment><USER24> How can I set its display language to English?

</comment><comment><USER25> I think this is a bit useless when we see the facebook Api, and you can find yourself in the searches.

<comment><USER23> Do you mind explaining more fully how this is useless?

I'm sure there are many people who don't have a Facebook account who have a Google account. Such people could use this to create their own profile page. Also, while you can make your Facebook profile searchable if you wish to, Google profiles will likely be given special priority and placement. Not to mention the social search features Google is working on using profiles.

<comment><USER26> I for one don't have a facebook and will never make one. I really welcome this change and will be using the google profiles.

<comment><USER27> It seems like this offers even less privacy and more scrapeability than Facebook. Can you elaborate on why you prefer it?</comment></comment></comment></comment>


Does a Connecticut shed hold the secrets of the Gardner heist? - <AUTHOR> http://www.bostonglobe.com/magazine/2015/03/11/does-connecticut-shed-hold-secrets-gardner-heist/LHOwffI4jrOegKupbLdHwJ/story.html

<comment><USER2> What's that law of headlines?

</comment><comment><USER3> Right, tl;dr: No.</comment>


"Employee" and other words that make me cringe - <AUTHOR> http://ryanhoover.me/post/106251968278/employee-and-other-words-that-make-me-cringe

<comment><USER2> Humble suggestion: the author should watch George Carlin's skit on "soft language"[1] and reflect.

A mature individual can contribute to a company he or she didn't start and still feel a sense of responsibility and ownership without being coddled by language that pretends employees aren't employees, teams have no leaders, and everybody is equally responsible for the success or failure of the business.

Frankly, I would probably _avoid_ a company run by a founder who appears to have hang-ups about being an employer and seems reluctant to accept the responsibilities and rewards of leadership. This is about as appealing as going for a ride in a car without a driver.

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

<comment><AUTHOR> I certainly didn't mean to imply "teams have no leaders, and everybody is equally responsible for the success or failure of the business."

I have very strong opinions and recognize the importance of leadership.</comment></comment>