Colourlovers (YC W10) launches Creative Market - <AUTHOR> https://creativemarket.com/

<comment><USER2> I like the idea, really, in terms of goals, presentation, and spirit. Unfortunately the second thing my mind goes to with this is the practical stuff: What are the limits and licenses?

The licensing is required, but the limits on it make me wonder about how much use I'd get out of it. I see links to the license on the FAQ: <https://creativemarket.com/license> \- but there's only one type of license offered. It's very artist-friendly, I'll admit, but... that's the only license. The FAQ says that if that's a deal-breaker, to use the contact form. But there's more about that license that's, well, confusing.

It seems about what you'd expect (by which I mean good for a seller, and not as much as I'd hope for as a buyer, but buying IP is always going to be hard to balance, so it's understandable/expected), though there's one that worries me: "All other items may only be used in a single commercial project." This is referencing items that aren't add-ons.

Does this mean, for example, a purchased WP theme could only be used on one client's site, ever? That's how I'm reading this plus the other terms.

And those packs of between 25 and 500 or so icons, can they only be used in a single client application? It looks like some are add-ons to Photoshop, while others are apparently a non-program specific package, doesn't that mean they have to be used differently per this license since one set of icons is an add- on, the other isn't? I know it's called "SimpleLicense", but licenses are never simple.

And then there's another licensing aspect. The true ownership of the items. The FAQ says that each item won't be checked when uploaded to the market, so the developer can update listings as they please, and to use a contact form for copyright issues.

I'd hope that'd be enough, but I already see one person who looks like they are probably infringing copyright, from what this lay person can see: <https://creativemarket.com/Adrien/activity> \- does this individual has licenses from Braun for his UI product and individual licenses with each car manufacturer listed for the car designs that allows him to create products based off those and resell them with a restrictive license?

A place to report copyright violations in excess of just a contact form is going to be required, sooner or later. But a check to begin with to make sure someone isn't offering an item that already exists... I can see how that'd be an impediment. The texture packs make me wonder for both site and seller, as I wouldn't want to be the person that has to make sure one particular version of the texture "crumpled paper" isn't the same as the other 1000 versions of it.

That all said, it does feel like something that has great potential to succeed. I do some design work, and even with all I noticed, I'd still be tempted to use this site for selling sets of graphics.

<comment><USER3> We're trying to simplify licensing. That means having to make some calls as to what can fit in a single license and what falls outside. We will add an additional license that allows for resale soon. But if somebody is buying a template from any marketplace and reselling it to clients, they should have purchased an extended license that allows for resale. It is more expensive than the base license.

So our simple license is not meant to be the all encompassing, but as a start and base license, the most open license. ie, you can actually use it commercially.

As for the rights and infringement stuff, we take this seriously and are gating sellers right now while we work on this stuff before letting anybody open a shop. It will always be a moving target, but we'll keep working on our aim.

</comment></comment><comment><USER4> Beautiful site. Looks (and works) really well on an iPad. And it looks like you've got some great content on there already.

A question, because I'm curious: Seems like there are several marketplaces online for stuff like this (mostly the Envato universe of stuff - themeforest, etc.)

What's the motivation for building this? Not knocking the project - I dig it. But I'm curious what specifically you guys feel is missing from existing offerings and what advantage you guys offer. Would love to hear the pitch and what's driving and motivating your team. Thanks!

<comment><USER3> First, we've been in the design space for several years. COLOURlovers.com is our property and we've been building apps & services for creatives for a while. In the process of being designers, hackers and builders of web things... We've been customers of other design good marketplaces. So what we're doing is trying to address problems with those marketplaces & do something big and new.

But first, the genesis for the idea to do CreativeMarket.com actually came out of COLOURlovers. It's been a passionate thriving company, and the one we took through YC. In the process of trying to understand the busines of CL we'd explored a few ideas (Real Time Color Forecasting, Selling Design Software, etc.), but those were all bolt-on business models and they didn't feel like they really meshed with our users and mission. "To make design simple and accessible to everyone." Then we realized there was an opportunity to help our users sell the beautiful vector patterns and shapes they were designing with our tools. To be able to help COLOURlovers make a living and participating in our community was very compelling.

But as we built the marketplace into CL we realized two things. 1. That a marketplace inside of CL was going to be confusing. CL is already a beast of a community with lots of stuff going on. We didn't feel like putting the marketplace in CL would do the best job for it to tell it's story. 2. We realized that there were more kinds of content that we could help people sell.

So, with the bigger vision for CreativeMarket we wanted to address problems with the existing marketplaces and do something more, bigger and really game changing.

As far as existing problems... Our royalty split better than almost all other marketplaces. +70% cut to sellers regardless of sales volume. +No exclusivity clauses. +Anybody can be a seller. (we let the market decide what is good) +Our content license is super simple. +Our pricing is 1/1 with a dollar. No hiding real prices behind credits. +It's beautiful. :)

The biggest thing I think we're doing differently is we're not a media company trying to do a tech thing. Tech is in our DNA and we're bringing that to the way we build and iterate on CM, continually working to make it better for sellers & buyers.

What we launched to day is the foundation. It's the basic platform for a marketplace, what's being built on top of it right now behind closed doors is going to change the way people buy/sell content.

<comment><USER4> That's terrific - thank you! I didn't realize the restrictions and dollars- and-cents of the other marketplaces, so that makes sense. And I also didn't realize this was born from CL.

(You should consider posting a version of the above somewhere on the 'About' page - it's heartfelt and reads really well.)

<comment><USER3> Yeah, thanks for the inspiration to write the answer, I think I'll put this in a blog post on CM soon. We want to tell the story of CM AND CL, but are trying not to confuse our story by saying too much at once.

</comment></comment></comment></comment><comment><USER5> For those who don't know what we are, CreativeMarket is an online marketplace for digital design assets. Think Etsy, but instead of vintage skirts and hand- sewn bags we have fonts and icons. (disclosure: I'm a developer here)

<comment><USER6> I've been a long time customer of Envato's marketplaces and this is the first I've seen of CreativeMarket. How would you compare yourselves to them? Browsing through your collection, I'm impressed with the level of quality.

<comment><USER7> It seems like CreativeMarket is focusing a lot on the creators of their content, much like how Etsy showcases their craftsmen with special blogs and features.

I've also been using Envato's resources for the past few years but I use it much more like I would Ebay or Amazon, searching for the right items to purchase and compare and not really noticing the people behind the work.

</comment></comment></comment><comment><USER8> For me, the curation of the content, and quality of the item thumbnail previews really make this site for me, and I really hope both continue as you expand in content. Especially for the cheaper assets (< $10) I've never felt the envano sites were worth it in terms of how frustrating and time intensive it was to find quality items versus just building it myself. Compare this to CM, where I've already found a few things to buy...

It'll be really interesting to see how the business model is going to work and whether you'll be able to hand curate all new submissions or automate to an effective degree. Apple has been able to do curation but obviously your volumes will be much different, despite similar price points and margins.

A few bug reports --

I wasn't interested in the icon sets - I unchecked the Icons category but many still remained, ex [0]. It looks like you can disable all of the categories and still get 52 results.

Some of the items have contradictory license terms, ex [1]. The license at the bottom of this page seems to contradict the Simple license listed in the about table.

You cannot "Use a purchased icon set as artwork that enhances actual gameplay in your app, such as the birds in Angry Birds" in the simple license seems like it is an unnecessary grey area, and scares me because I don't understand the intent, where the line is drawn, and whether you had a lawyer look over the license.

[0] <https://creativemarket.com/Picons/617-Picons-Ultimate-icons>

[1] [https://creativemarket.com/DottedDaisy/794-Blue-Argyle- Digit...](https://creativemarket.com/DottedDaisy/794-Blue-Argyle-Digital- Backgrounds)

</comment><comment><USER9> Looks awesome! Thought this was an envato-owned operation for a moment or two. I'll be on the lookout for cool icons // artthings.

</comment><comment><USER10> I'm a huge colourlovers fan, so I knew I had to check out your creative market. Congrats... the site looks great!

I just went to buy a font for use in an iPhone app, which in part allows for people to type messages in various fonts. All the fonts I liked had "simple" licenses that seemed to prevent that sort of usage.

Are you guys going to have more fonts with non-simple licenses, to be a bit more mobile-app dev friendly? If you were, I would buy hundreds of dollars worth of fonts from you! It is not easy to find great fonts with a mobile- friendly license.

<comment><USER11> You're saying the license didn't permit the font to be distributed in the app right?

So you're asking that they include some sort of [re]distribution license?

Yes that would be nice to be able to purchase fonts with license add-ons.

      [ ] Usage        $10
      [✓] Distribution $100
      [ ] Resale       $1000

<comment><USER10> Yah, exactly: a redistribution/resell license. This is from the FAQ:

"Every product sold on Creative Market comes with our SimpleLicense. This license allows your customers to use your product in personal or commercial projects, but does not grant the right to redistribute or resell your product, whether modified, unmodified, or as part of a new work."

<https://creativemarket.com/faq>

More info on the Simple license here: <https://creativemarket.com/license>

<comment><USER12> Ok, this is confusing. IF the license allows you to use the font in a commercial product, how does it then not allow you to redistribute or sell the same product? Isn't the selling / redistribution part what makes a product commercial in the first place?

<comment><USER13> Presumably you can sell a product which _uses_ the font, but you can't actually sell the font file.

</comment></comment></comment></comment></comment><comment><USER14> So will this always be invite only or will it be opened to the public eventually?

<comment><USER3> The marketplace is open to the public for buyers, we're gating sellers right now just to have a bit more control during launch and make sure all bugs are flushed out on the payments side of things... and then yes, it will be totally open.

</comment></comment><comment><USER15> Very well made. Best of luck to you guys!

</comment><comment><USER16> Mousemade sounds silly to me. Is there content out there that isn't mousemade, that isn't hand crafted?

<comment><USER5> Mousemade is in contrast to handmade. We're like Etsy, but of digital content.

<comment><USER17> You could also have 'LAN-crafted'

<comment><USER3> _slow clap_</comment></comment></comment></comment>


Seed – The Phone That Grows - <AUTHOR> http://www.seedphone.com/

<comment><USER2> The combination of repetitive use of the word "docks" and visuals at 1:55 reminded me of Superman scenes (with Christopher Reeve) involving the activation of Krypton memory crystals.</comment>


Strange 'rogue planet' travels through space alone - <AUTHOR> https://edition.cnn.com/2018/08/07/world/rogue-planet-beyond-solar-system-trnd/index.html <comment><AUTHOR> More details in _Astrophysical Journal_ : [http://iopscience.iop.org/article/10.3847/1538-4365/aac2d5](http://iopscience.iop.org/article/10.3847/1538-4365/aac2d5)</comment>


Graceful Athiest – What If I Grant You That? (2016) - <AUTHOR> https://gracefulatheist.wordpress.com/2016/11/26/what-if-i-grant-you-that/ <comment><AUTHOR> I'm a Christian but this is a particularly well thought out and fair anti- apologetic piece. I thought it would be interesting to see what HN thought of it (as a long-time lurker :)

</comment><comment><USER2> In fairness of disclosure I'm not a Christian or an Atheist but I think it's ironic every Atheist's argument I've read so far uses the exact same dubious logic, unscientific reasoning and cherry picking of facts that they criticize Christians for.

<comment><USER3> argument for what?

<comment><USER2> Check out the article.

<comment><USER3> I did but you said every atheist, not the author. So what argument are you talking about

<comment><USER2> I did not say every Atheist. I said every Atheist's arguments I've read so far which, so far, fall victim to the same logical fallacies they argue against. I'll try cover some of the broader points I keep seeing repeated without writing a book here.

1\. Assuming all Christians believe the same thing.

I'm Irish-American, my father's side of the family are Catholic and my mother side are Protestant. I can tell you from first hand experience "Christians" don't agree on crap when it comes to Christianity. And the author leaves a telling clue to this towards the end when they mention most of their experience is with Evangelicalism. The Evangelicals are a small minority among Christians worldwide, and most mainstream Christians think Evangelicalism is way out in left field. The author makes no effort to address this issue but instead builds their arguments off assumptive axioms without explanation or clarification.

2\. Christians aren't the only people who believe in the Biblical "god"

The author again homes in on specific cherry picked tenants of Christianity, specifically the question of the divinity of Jesus, as an argument against the existence of God. Jews and Muslims don't share that belief. Hell, not even all Christians agree on this point. In fact, the first schism of early Christian church was over the question of the divinity of Jesus. Why is this never addressed?

3\. Skepticism = Science

This is another common fallacy I keep coming across. Skepticism itself is inherently unscientific and attempting to contort science to fit an opinion is equally unscientific.

4\. Science is an opposing view to belief in "God"

The author attempts to make this same core argument I see used repeatedly. That belief in "God" comes from ignorance of science and rejection of rational thought therefor believing in "God" is unscientific and irrational. This argument is just illogical. If this were true, we should be able to deduce that most scientist are also Atheists but we know that's simply not true. Even Einstein believed in God. One doesn't negate the other. Again this is never addressed.

.....

You'll have to excuse me if that was disjointed and doesn't cover everything. That's off the top of my head, I wasn't expecting to get into this today. And look, as I mentioned before, I'm not a Christian or an Atheist and if you're an Atheist, that's fine. I'm not criticizing you for what you think or believe, but as an outside observer, I don't see much difference in the arguments the author makes and the particular "Christians" they single out to refute.

<comment><USER3> That's fine. But you know, Einstein didn't believe in god. That is a lie spread out by Christians probably to refute the same point you're trying to make. Also most of the modern scientists (the ones that know or knew about big bang, evolution, etc) also don't believe in god. I bet they don't even call themselves atheists. Today we are reaching a post-theistic stage in which people don't want to waste their time thinking in religion or stuff like that. I personally hate the "atheist" title. Is ridiculous, just like it would be ridiculous to have a name for someone who doesn't believe in ghosts or goblins.

Finally, any serious person that knows about science and philosophy of science knows that religion and science have nothing to do with each other. You can perfectly be both. What you can't do, is call yourself a person of science, and don't accept scientific evidence for something that was scientifically measured.

<comment><USER2> > Einstein didn't believe in god.

"I am not an atheist" \- Albert Einstein

> Also most of the modern scientists (the ones that know or knew about big > bang, evolution, etc) also don't believe in god.

Who? Research it, their views pretty much run the gamut like anyone else's. For example:

"Although I am now convinced that scientific truth is unassailable in its own field, I have never found it possible to dismiss the content of religious thinking as simply part of an outmoded phase in the consciousness of mankind, a part we shall have to give up from now on. Thus in the course of my life I have repeatedly been compelled to ponder on the relationship of these two regions of thought, for I have never been able to doubt the reality of that to which they point."

\- Werner Heisenberg

Pascual Jordan was Christian, Enrico Fermi was Agnostic, Max Born was a Jewish Lutheran but was just completely apathetic to organized religion while Niels Bohr, Richard Feynman and John Bell were self avowed Atheists. Schrödinger called himself an Atheist but had a strong affinity for Eastern spiritually and Oppenheimer was into Hinduism. And if you want to get into some _really_ weird stuff, look up Jack Parsons, founder of JPL at NASA.

Scientists are just people like the rest of us and grapple with the same questions in life all of us do.</comment></comment></comment></comment></comment></comment></comment>


Ask HN: Any start-ups looking for remote or Austin based .NET developers? - <AUTHOR>

Any start-ups that use C# or the .NET framework looking for remote or Austin based team members? I'm considering a change of pace (even harder problems with people that work equally as hard), but need to remain in my current geographic location.  This is risky, but if you are interested based on my work, LinkedIn, personal site, or blog, please contact me.<p>http://www.linkedin.com/in/jonathangill1 http://www.jonathangill.org <comment><USER2> My company hosts speed interviewing events over video chat to connect developers and companies hiring. We are hosting an Austin event on 4/12 and are currently signing up companies to participate. You can keep an eye on which companies are hiring here: <http://www.hirelite.com/events/1012025199/jobs>

Also this quesion on Quora may be helpful: <http://www.quora.com/Which- startups-are-hiring-in-Austin-TX>

</comment><comment><USER3> Check out the Austin .NET User Group (<http://www.adnug.org>). The meetings are typically sponsored by a different company each month. The sponsor usually gives a short pitch, looking to hire developers, before the technical presentation starts.

</comment><comment><AUTHOR> Thanks for your feedback/comments so far!</comment>


JavaScript Symbol.thenable Proposal - <AUTHOR> https://github.com/devsnek/proposal-symbol-thenable <comment><USER2> Can we not introduce a dirty hack into the formal specification solely to work around an edge case introduced by another dirty hack that's already in the formal specification?

</comment><comment><USER3> Will this thing really be called "thenable"? Has nobody suggested a better name?

<comment><AUTHOR> The well known name of this behaviour is "thenable" and i think it's best to stick with well-known.

</comment></comment><comment><USER4> This would also solve the case of objects that pretend to have _every_ property as a function, e.g.: [https://github.com/slmgc/Nothing](https://github.com/slmgc/Nothing)

</comment><comment><USER5> But why?

</comment><comment><USER6> If this property would override default behavior, then it should be set to true, not false, i.e., not_thenable=true instead of thenable=false.

<comment><USER7> Not sure I buy that. Seems like avoiding the double negative is worthwhile. Not all default values need to be false, do they?

<comment><USER8> If you consider that not setting it results in undefined which would evaluate to false then they are correct. But I don't think that needs to be the case. In reality you can default to whatever you want in which case I agree with you.</comment></comment></comment>


More than 1000 drug plants never inspected - <AUTHOR> http://cen.acs.org/articles/95/i5/1000-drug-plants-never-inspected.html <comment><USER2> This is not really surprising. The FDA has to be very careful with how they manage their resources. Before being allowed entry to the USA, the company must file information about what they are doing and where and who they are. They must also have a representative in the USA. All this information allows the FDA to quickly find the source of problems and stop them should a situation arrive.

If we handled this in any other way it would place an undue burden on either the taxpayer or the companies. Who should pay the inspection fees for a company importing very small volumes?

In the end, yes it is shocking, but the system generally works.

<comment><USER3> The Showa Denko K.K. tryptophan disaster[0] is one counterpoint.

[0] [http://www.quackwatch.com/01QuackeryRelatedTopics/DSH/trypto...](http://www.quackwatch.com/01QuackeryRelatedTopics/DSH/trypto.html)</comment></comment>


Jess Houlgrave on Blockchain for the Art Market - <AUTHOR> https://www.artnome.com/news/2018/1/29/jess-houlgrave-and-the-codex-protocol <comment><USER2> It's trivially easy to upload some scanned provenance documents to your Google Drive, so later you can send them to the next buyer. If that predictably and strongly increases the sale price, why isn't everyone doing it already?

There are other startups like this. People aren't losing weight as much as they'd like, clearly there's an unmet demand that the blockchain can meet! But if you put the problem first, like helping people lose weight or keep track of valuable paperwork, any solution using blockchain would be at the bottom of the list.

<comment><USER3> That's actually not true IMO.

Blockchain is great as a secondhand market for things like art as it allows the buyer and seller to both know that they have the original and it allows for a digital art (and even assets to increase in value)

This is a real problem where a non-centralized version actually is the only viable solution (because you can include other things than just digital art).

You don't need a specific token for it you could use a satoshi or some token but it's definitely important if you want to see a digital art market that allow you to have unique items. (You don't have to want that but if you do it's definitely the only solution i can think of that would make sense)

<comment><USER4> >Blockchain is great as a secondhand market for things like art as it allows the buyer and seller to both know that they have the original and it allows for a digital art

Does it?

Someone with a blockchain registered Rembrandt has a forged copy produced and passes on the forged copy to you along with the registration, then years later sells the original in another deal through another entity and has the original verified forensically.

This doesn't do shit.

<comment><USER3> If you are buying a Rembrandt you are also going to get a forensic verification. That's an edge case.

No one is talking about a perfect solution, you have fake paintings being sold today.

This reduces the risk for fraud and helps propel a digital art industry. And thats just for the art world.

It's fine if you don't believe it to happen, I do and so I am acting accordingly.

</comment></comment></comment></comment><comment><USER5> Jason Bailey's (artnome) other work is absolutely fantastic. If you care at all about open access data, art history done digitally, or art in general, definitely give him a follow.

Here's a FiveThirtyEight article about him: [https://fivethirtyeight.com/features/one-art-lovers- crusade-...](https://fivethirtyeight.com/features/one-art-lovers-crusade-to- catalog-the-world/)

</comment><comment><USER3> If you think about it the art industry is bitcoin in the real world.

I find blockchain especially interesting for digital and interactive art installations.

<comment><USER6> The art market certainly has aspects best described as a "Keynesian Beauty Contest"[0], and so do Cryptocurrencies.

But while the latter is almost pure "beauty contest", art retains a far stronger connection to the real world: art buyers are very rarely motivated by speculation alone. And even if they want to brag about the $X0,000,000 painting they bought, it helps if they actually like it.

[0]: [https://en.wikipedia.org/wiki/Keynesian_beauty_contest](https://en.wikipedia.org/wiki/Keynesian_beauty_contest)

<comment><USER3> The art world (the selling and reselling of art) is purely history + speculative and most of it IMO is definitely motivated by speculation.

A piece of art can go from 20USD to 20.000USD in no time.

My wife works in the auction industry so at least from having followed the world through her it would say it's mostly speculative.

I think there was even an article recently about how manipulated the art world is.

</comment></comment></comment><comment><USER7> There are a few companies trying to to art and blockchain stuff. [http://www.looklateral.io/](http://www.looklateral.io/) and [https://www.artcoinfund.com/](https://www.artcoinfund.com/) are a couple.

</comment><comment><USER8> Jess is one of the smartest people I've met in the space.</comment>


Various and Assorted Thoughts and Observations Regarding the Just-Announced iPad - <AUTHOR> http://daringfireball.net/2010/01/various_ipad_thoughts

<comment><USER2> "Manual computers, like the Mac and Windows PCs, will slowly shift from the standard to the niche, something of interest only to experts and enthusiasts and developers."

It's interesting because I imagine that many of us would likely not be enthusiasts, experts, and developers had it not been for our "manual computers".

<comment><USER3> Why is it interesting? It seems like the logical way to go: simplify technology for the masses.

It isn't like the computer mouse added amazing new technical feets when it was released but now it is a very powerful accessory for many

</comment></comment><comment><USER4> Perhaps the fact that I only prefer to drive manual transmission cars is a good indicator of why I am not overly thrilled about iPad. I have often wondered about the ratio of automatic/manual drivers of the HN crowd.

</comment><comment><USER5> Abstraction isn't just a matter of degree. It turns out that abstracting away the transmission in a car works fairly well. But no car I've ever seen abstracts away the brakes. In fact, most cars sold today have hydraulically assisted brakes, to give the user even _more_ control over them. Apple just seems, IMHO, to be abstracting away a few things I'd like control over.

<comment><USER6> There are actually cars being built now which will auto-brake in cruise control when you're behind a car going slower so you match their speed, and auto-breaking in emergencies when a collision is detected. Along with trying to nudge you away from leaving your current lane when you haven't signaled, the cars of the future are actually giving you less to do (though I don't think they would ever completely remove the manual control, but that's because it can be life or death).

Don Normal talks about this in his book "The Design of Future Things": <http://www.jnd.org/dn.mss/the_design_of_future_1.html></comment></comment>


The Industrial Revolution due to a change in the English population? - <AUTHOR> http://www.nytimes.com/2007/08/07/science/07indu.html/?ex=1187409600&en=e007fbc0160d2ca1&ei=5070

<comment><USER2> This is blasphemous! The rich are genetically superior to the poor...

The idea that behaviours run in families is not unreasonable, but I don't see why the author looks to genetics for that mechanism.

<comment><USER3> <http://paulgraham.com/say.html> perhaps?

<comment><USER2> Are you implying that my reaction to genetic determinism is just a result of my uncritical acceptance of liberal, academic mores?

Personally, I think racism is more socially acceptable than most of us would like to admit. I've met people who left research in biotech because the ubermensch mentality was so pervasive there.

There is little evidence that social behaviours are transmitted genetically -- but you need only examine the history of Buddhist monasticism to realize that social behaviours can be transmitted, with extreme uniformity, in the absence of consanguinity. Why do people fall back on genetic determinism? It has a lot to do, I think, with logical positivism -- something that is very attractive to academics of every persuasion, except those close enough to its roots (physicists) to understand its limitations.

<comment><AUTHOR> I am strongly in favor of genetically engineering myself and my children. Improving ourselves using biology is inevitable. Is this the ubermensch mentality you're referring to?

<comment><USER2> No, that's not the ubermensch mentality -- I'm talking about folks who think they've found the ubermensch. (Usually, the ubermensch is white.)</comment></comment></comment></comment></comment>


Ask HN:How do Apps get featured on the Appstore? - <AUTHOR>

I always wanted to know the process of becoming featured for example in "Best new Apps (or games)"<p>So the question is if someone has some experience or knowledge on that topic? <comment><USER2> Our company setup a booth at GDC this past year and ran into one of the guys that chooses the games to feature. He barely had time to stop at our booth but he said our art looked great, gave me a card and said to shoot him an email. Shortly after the conference I did and we were featured a few weeks later in Best New Games Category. Received about 360,000 installs that week.

Step 1: Make a quality game with preferably some bit of originality. Step 2: Hope you can run into one of these guys or know someone.

Games is by far the most competitive and coveted feature space. We were featured multiple times in the Books category for our interactive childrens book. This is a far less competitive category with far lower numbers so it didn't require too much luck with meeting/knowing someone.

<comment><AUTHOR> Thank you for your Answer. I imagined that a feature can have a huge impact on installs. To your steps: I agree that quality and a great product has to be a requirement. And for step 2 you will have to keep your eyes open.

P.S.: Keep up your good work!

<comment><USER2> Thank you! And best of luck to you in all of your endeavors.</comment></comment></comment>


Tor NoScript visit tracker - Syrup-tan https://bitbucket.org/ElijahKaytor/noscript-tracker/src/master <comment><AUTHOR> What else, besides using Tor, and turning off Javascript, does a user have to do that a website operator finally gets they don't want to be tracked?

<comment><USER2> But this can't track individual users, it just provides general usage statistics, like visitor retention.

I'd be interested in a viable example of this being used to identify users.

<comment><USER3> That can help with fingerprinting. Any entropy escaping from a users session is useful.

<comment><USER2> This can be used to make a user's fingerprint stand out based on their browsing patterns. However, it is very fragile in practice. The tracker would need both a rare fingerprint, as well as a rare browsing pattern in order to identify a user.

This is pretty hard, considering the Tor Browser does a good job at having a common fingerprint at it's highest security setting (Javascript disabled, which is what this tracker is for).

</comment></comment></comment></comment><comment><USER4> > NoScript Tracker is a basic tracker that makes use of iframes and the > Refresh HTTP header to measure how long users spend on web pages.

> It is ideal for getting basic usage statistics on the Tor network, where > JavaScript is not an option for most users.

NoScript can block iframes; will that disable this tracker?

Also, does the Tor Browser, which includes NoScript, default to blocking iframes?

<comment><USER5> NoScript->Options->Embeddings->Additional restrictions for untrusted sites->Forbid <IFRAME>

Just turned that option on, myself. I might have had it on years ago--can't remember for sure--but now that I know it's being abused, I'll definitely leave it on. IFRAMEs are generally poor practice, anyway.

<comment><USER6> Also, pay attention to these settings in about:config page:

accessibility.blockautorefresh

noscript.forbidBGRefresh

noscript.forbidMetaRefresh

Additionally, you can cherry-pick options (or just use it all) from this repository at [https://github.com/pyllyukko/user.js](https://github.com/pyllyukko/user.js) for more privacy.

<comment><USER5> Thanks! I'll look into those.

</comment></comment></comment></comment><comment><USER7> I will not be surprised at all if something like this will be soon used to circumvent adblockers replacing classic javascript based analytics on the "bright" side of the web.

<comment><USER8> AdBlockers will still block iframes and already does. Those I've seen blocks the full request based on a list of known domains. Many 3rd-party tracking cookies is often placed with help of iframes or a img-pixel.

With Google Analytics you have the option to actually do all the tracking server-side so AdBlockers shouldn't be an issue tracking-wise.

</comment></comment><comment><USER9> Before Microsoft gave us the XMLHttpRequest, and before IFRAMEs were everywhere, this is exactly how, and with FRAMESETs and target="" one could track session length, reload other parts of a page after some given time, allow forms to interact with complex flows and various other things.

The "virtually invisible frame loading in the background" trick is going to be around for a long-term and seems destined to be re-learned many times over.

</comment><comment><USER10> Why wouldn't you open a web socket

<comment><USER2> Because you can't use WebSockets in the browser without Javascript.</comment></comment>


Daytome.com - the new 24in60.com - <AUTHOR> http://daytome.com/about

<comment><USER2> I'm glad to see this idea continued, I've always been attracted to the spirit of the project. The lean towards sensationalism of news sites I used to frequent has more or less made me ignore news as a whole, aside from reading the occasional Economist issue. All in all, a welcome addition to my daily RSS feed.</comment>


Notes from NoSQL Live Boston - <AUTHOR> http://blog.marcua.net/post/442594842/notes-from-nosql-live-boston-2010

<comment><USER2> These are great for those (like me) who can't make it, thanks. I think one of the difficulties that the NoSQL movement has is that SQL ORM's have finally gotten to a level of maturity that people are comfortable with them. If you're building a small application and are unsure that you will ever need scale, you will go with the SQL approach. It will take application frameworks a while to reorganize around, and take advantage of the benefits of the NoSQL db's.</comment>


Time to end the myth that devs don't like sport - <AUTHOR> http://picklive.com/blog/devs-that-like-sport-meetup

<comment><USER2> >"I mean it's not like code and sport go well together."

While I think it's a stretch to assume programmers don't like sports, I _have_ worked in in a couple of developer shops as a non-programmer. If I had to pick between programmer stereotypes mostly shattered or programmer stereotypes mostly re-enforced, it's definitely the latter.

But that's okay. I like the company.

</comment><comment><USER3> I've never got the impression that programmers as a whole "don't like sport". Possibly they're less likely to be interested in the local $socially_conventional_team_sport, or at least more likely to admit to the fact.

</comment><comment><USER4> I used to play a lot of QuakeWorld, does that count?

<comment><USER5> I was thinking the same thing. It's a matter of your definition of sport.

The vast majority of developers I've worked with display competitive traits:

* They form strong opinions and _care_ if they're right (in other words, they're happy to argue with you)

* Ever heard a programmer speak well of another programmer's code? Take an old project and hand it off to a new dev. What does the new dev have to say about the code? Chances are they'll jump straight to what they'd do different, and many times deride the code for some lack of sophistication.

* Lots of geeks play video games online, which is competitive by nature. Why do you think games like Modern Warfare and Battlefield provide leaderboards and stats portals? Because many players care about how they perform.

Competitive individuals enjoy sport (unless they're losing). It's a means of exerting yourself through a structured outlet. Many would scoff at referring to video games as "sport", but it has all the elements of a sport, less the physical exertion.

Geeks love sport!</comment></comment>


Sam and Max Hit the Road - <AUTHOR> https://www.filfre.net/2019/06/sam-and-max-hit-the-road/ <comment><USER2> I absolutely loved this game when it came out, then a few years ago I bought it again on GOG - just as good as when I was 8!

I vaguely remember my dad taking me to go and buy a Soundblaster card so the sound worked properly!

Day Of The Tentacle was another one, never owned it but played at friends houses

<comment><USER3> I remember my dad buying me a 386DX 40MHz Escom tower when I was around twelve. This was kind of a low end machine at that time, the 486DX4 with 100MHz being the top of line. But it was a big upgrade from our 286 with 8 MHz which to use I had to ask permission, while my father was fine with me being the main user of the new machine.

While the machine itself was the cheapest we could get at the Escom store because we were kind of broke (14000 ATS, around 1500 Euros in today's money), my dad granted me a Soundblaster 16 card, a double-speed CD-ROM drive and a couple of game collections on CD. One of those collections contained both DOTT and Sam & Max Hit The Road.

Making special boot floppies for managing conventional, expanded and extended memory so I could get those games to work was probably my introduction to technical trouble-shooting. And when eventually I got to get Sam & Max going and heard the Mad Scientist in the intro actually talking I completely lost my shit, because I expected no more than closed captions and some wavetable midi tunes in the background.

Loved that game so much for its artistic style and weird characters. Tunnel of Love, Big Foot, Giraffe Girl, the Country Singer douchebag ... what a colorful ensemble!

<comment><USER2> "heard the Mad Scientist in the intro actually talking I completely lost my shit" \- HA! Exactly this!

Ah yea, fiddling around with autoexec.bat and config.sys to make funky menus to show the games I had installed (I think, it was a while ago ... also something to do with mscdex .. but that might have been later)

<comment><USER4> mscdex, I think was the 'driver' for the CD-ROM drive?

<comment><USER5> Sort of. MSCDEX were CD-ROM API extensions for MS-DOS. You had a low-level driver that talked to your optical drive, and MSCDEX talked to that.

<comment><USER4> Would that be considered a TSR?

<comment><USER5> Yep-- a classic example of one.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Ah! I played this game all the way through (with help) when I was about 12. Absolutely hysterical even if some of the humour went over my head. Had the chance to replay it recently and it's lost none of its charm.

What will we see next on here - the Neverhood? Loom? Leisure Suit Larry?

<comment><USER7> Leisure Suit Larry and Loom have already been covered. He's working roughly in chronological order.

</comment></comment><comment><USER8> My early sense of humor was so shaped by these LucasArts adventure games, it's hard to imagine they were worried the game wouldn't make money, or that many reviewers didn't find it funny. I even put the CD sleeves to a bunch of their games in covers of the binders I used in junior high.

As a young kid without the patience to grapple with adventure game puzzles (and no internet service), I had to resort quite a few times to calling the LucasArts 900 number for walkthrough tips. I've often wondered how much that boosted their games revenue!

My first professional programming job was located in the Presidio campus where LucasArts had been headquartered. It had just closed its doors shortly before I started there, but the old LucasArts store stayed open for a few extra months to clear out some inventory. I grabbed a logo hat which I've since misplaced.

Awhile back the Cartoon Art Museum in San Francisco had a whole featured exhibit of Purcell's work, and as a fan of the old game I had to make the pilgrimage. If you're an old Sam & Max fan looking to scratch the nostalgia itch, the old comics are pretty great and the "Route 66 in decay" esthetic is possibly even better suited to our times than it was the late 80s and early 90s.

<comment><USER9> The most trouble I ever got in growing up was after a phone bill from calling 1-900-740-JEDI (with permission) and didn't put the phone all the way back on the rocker.

It was supposed to time out after a minute or so of no interaction, but the bill showed the line was connected for over 60 at something like $0.75 a minute.

The worst part (to me) was that it didn't help me find Frog Rock. I found out a decade later when I ripped the disc to play in SCUMMVM that there was a defect with the CD that my 1x reader at the time probably couldn't handle.

</comment></comment><comment><USER10> The Telltale games were so underrated. Shame we'll never see anymore due tot he demise of the studio.

<comment><USER11> This is long before Telltale's involvement in the Sam and Max franchise. This game predates Telltale's founding by about 11 years. While Telltale did some good work, I miss LucasArts much more!

<comment><USER10> I am aware. It's just that Telltale introduced me to the franchise and made them easily approachable to younger audiences (I'm 22 now but was playing them with my dad around 2006/2007 on the 360!).

</comment></comment></comment><comment><USER12> One of my childhood favorites along with Full Throttle. What's today's equivalent of those games?

<comment><USER13> Keep an eye out on gog.com, there's some cool point and click stuff on there. Teenagent isn't bad, and I think it's free on gog

</comment></comment><comment><USER14> I had a "CAUTION: NAKED BUNNY WITH ATTITUDE" sticker on my Thinkpad.</comment>


Ask HN: Any HNers from Moscow? - <AUTHOR>

It would be cool to arrange a meetup some day. I've made an #hnmoscow slack channel, so leave an email for invite if interested. <comment><USER2> Living not far away from Saint-Petersburg, I would like to request SPb meetup too</comment>


Printer's key - <AUTHOR> https://en.wikipedia.org/wiki/Printer%27s_key <comment><USER2> In summary, what book printers used to do is have a line of numbers on the title page of the book, which they would erase one at a time with each printing run. The reason why is that they would be reusing the original plates in the printing press, and it was easy to erase a number (by destructively removing it from the plate) as opposed to recreating a whole new plate for the title page.

Flash memory works in a similar way. After a block is erased, which is a slow process, it starts with all ones. It's very fast to switch a cell from a 1 to a 0, but to turn a 0 back into a 1 you have to erase the whole block again. (Block sizes can vary considerably, as much as 512 KiB on SSDs.) Note that it's the erase cycle which reduces the lifetime of the flash, not the switch from a 1 to a 0.

USB flash devices and SSDs don't expose low-level access to the NAND flash so it's not possible to take advantage of this property, but if you could you'd be able to have a small counter with one bit per number. Perhaps in some circumstances a bitmask would also work well. A bloom filter could also be implemented efficiently this way.

I imagine that embedded programmers and the SSD firmware takes advantage of this property of flash memory for its own data structures, I'd love to hear if that's the case.

<comment><USER3> Does that mean that it's better to securely erase flash disks with FF's rather than 00's?

<comment><USER4> There is no difference from security point of view. To erase SSD you just TRIM[0] the whole device and wait some time while it erases underlying flash.

[0] [https://en.wikipedia.org/wiki/Trim_(computing)](https://en.wikipedia.org/wiki/Trim_\(computing\))

</comment></comment></comment><comment><USER5> Other fun book facts: by looking at the length of the number that is the second to last digit in the ISBN, you can tell how many large an ISBN block the publisher bought, which often relates to the size of the publisher. If it's only two digits, they only bought a block of 100 ISBN's, so they're probably a very small publisher. [https://en.wikipedia.org/wiki/International_Standard_Book_Nu...](https://en.wikipedia.org/wiki/International_Standard_Book_Number)

</comment><comment><USER6> I was watching this tv show about Horder's. The older gentleman collected books. His place needed some cleaning, but his domicile was definitely livable, and didn't look like a health hazard.

Well, his well meaning kids, and Ph.D, along with the army of helpers barged into his home, and gave dad the ultimatum, "Throw out this junk!". He caved in --I think he was tired too? The only thing I really remember from the show was one phrase from this man. He said, "But, a lot of these are first editions?".

The production crew seemed baffled when the dumpster filled with these books would magically empty itself overnight. I recall them saying someting like, 'There's so many Horder's out there? What a travesty?". And the melodramatic music played in the background.

I guess it resonated with me because I collect first edition books?

</comment><comment><USER7> While we're on the subject, does anyone know why books don't usually start at page one? Even in the case of a novel, where there's no preface in roman numerals, the book will often start on page three or four.

<comment><USER8> Books tend to have blank pages at the beginning and/or end when the actual number of pages isn't a multiple of, say, 8, 16 or 32.

[https://en.wikipedia.org/wiki/Intentionally_blank_page#Print...](https://en.wikipedia.org/wiki/Intentionally_blank_page#Print_media)

</comment></comment><comment><USER9> Nice. Reminds me of the explanation why the code for DEL (delete) in ASCII is 127 (1111111) -- back in the days of punchcards, when a punched hole meant "one" and no hole meant "zero", you could convert any other code into 1111111 by overstriking it (similar to how in the days of typewriters you could overstrike any other letter with X to cross it out).

<comment><USER10> Close, but that only worked for punched paper tape (which had 7 positions for hole / not-hole per row, with a direct mapping to ASCII). Punch cards used Hollerith code, with 12 positions per column, with a peculiar mapping to EBCDIC, where there would be only one hole in rows 1 to 8, which more or less gave the bottom 3 bits of the character, and a combination of holes in the other 4 rows, giving the other 4 bits.

<comment><USER9> Thank you!

</comment></comment></comment><comment><USER11> If you find this interesting, you'll love [http://www.linotypefilm.com/](http://www.linotypefilm.com/). It was on Amazon Prime Video about a year ago.

</comment><comment><USER12> Neat! Nice to see that there were hacky thinkers back in the day :)</comment>


Inside Sellafield's death zone with the nuclear clean-up robots - <AUTHOR> https://www.bbc.com/news/business-46301596 <comment><USER2> Another reminder of the real costs of anything nuclear. No one ever includes the costs or health risks of decommissioning when they hype their nuclear projects. But, as this article points out, we are creating wastes that we haven't even invented a way to cleanup. Nothing green about it.</comment>


Abrupt rise of new machine ecology beyond human response time - <AUTHOR> http://www.nature.com/srep/2013/130911/srep02627/full/srep02627.html

<comment><USER2> any idea why this didn't get more attention? looks very interesting and relevant to me.

<comment><AUTHOR> Good question. I try to submit interesting content to HN but just haven't had any luck with them getting any attention.</comment></comment>


Dating websites are shit — all of them - <AUTHOR> http://www.zacharyalberico.net/blog/dating-websites/

<comment><USER2> > You can mark people you're interested in, but they will only be notified if > they also mark you.

This is implemented in <http://www.bangwithfriends.com/></comment>


Show HN: Crier: Per customer status pages and notifications - crier-io https://www.crier.io <comment> crier-io Built this a few days ago. Still rough and still working on features but would be delighted if people gave me feedback.

My aim is to help with sending out service status notifications manually when you have services specific to customers.</comment>


How we made editing Wikipedia twice as fast - <AUTHOR> http://blog.wikimedia.org/2014/12/29/how-we-made-editing-wikipedia-twice-as-fast/ <comment><USER3> Great write up. This will be a good point of reference for future debates concerning the value of selecting high-performance platforms for web- applications. A common refrain among advocates of slower platforms is that computational performance does not matter because applications are invariably busy waiting on external systems such as databases. While that may be true in some cases, database query performance is often only a small piece of an overall performance puzzle. Blaming external systems is a too-convenient umbrella to avoid profiling an application to discover where it's actually spending time. What to do once you've made external systems fast and your application is still squandering a hundred milliseconds in the database driver or ORM, fifty milliseconds in a low-performance request router, and another 250 milliseconds in a slow templater or JSON serializer?

Yes, three seconds for a page render is still uncomfortably slow, but it's substantially faster than the original implementation, and unsurprisingly frees up CPU for additional concurrent requests. It's a shame Wikimedia didn't have this platform available to them earlier.

Today web developers have many high-performance platform options that offer moderate to good developer efficiency. Those who use low-performance platforms may do their future selves a service by evaluating (comfortable) alternatives when embarking on new projects.

<comment><USER4> > This will be a good point of reference for future debates concerning the > value of selecting high-performance platforms for web-applications.

Keep in mind, Wikipedia is at scale that most web applications will never, ever get to.

It's important to think about performance and scale, but it's not the only important trade off engineers should concern themselves with.

<comment><USER5> The win here wasn't about scale, though. A tiny fraction of wikipedia users are logged in.

The win here was about individual page load time. And page load time is just as important, if not more so, for something new trying to vigorously grow as it is for the big sites.

(Disclaimer: HHVM alum.)

<comment><USER6> Yeah, this. We helped my boss' brother out with his wordpress ecommerce site.

His machine could easily handle the traffic thrown at it, but the page load time was slow. 2 seconds at best, with all machines involved being almost 100% idle. With various common tweaks such as caching, we got it down to about 800ms. We eventually replaced it with our own solution and got it to 50ms.

Scale never entered the picture because from our testing, we had the machinery in place to handle enough traffic to be wildly profitable. The user experience at 2 second page load times was vastly different from the user experience at 50ms though.

<comment><USER7> Could you describe what your own solution was?

<comment><USER6> It wasn't anything special. We used Java because it's what we knew, with a mix of spring and some home grown framework stuff that we've developed over the last 10 years.

MySQL over Postgres because that's what we had experience with at the time. Redis as both a cache and ephemeral store.

</comment></comment></comment></comment></comment></comment><comment><USER8> Several of the previous comments here have quoted a key, interesting fact from the submitted article: "Between 2-4% of requests can't be served via our caches, and there are users who always need to be served by our main (uncached) application servers. This includes anyone who logs into an account, as they see a customized version."

That's my experience when I view Wikipedia. I am a Wikipedian who has been editing fairly actively this year, and I almost always view Wikipedia as a logged-in Wikipedian. I see the Wikimedia Foundation tracks the relevant statistics very closely and has devoted a lot of thought to improving the experience of people editing Wikipedia pages. I can't say that I've noticed any particular improvement in speediness from where I edit, and I have definitely seen some EXTREMELY long lags in edits being committed just in the past month, but maybe things would have been much worse if the technical changes this year described in this interesting article had not been made.

From where I sit at my keyboard, I still think the most important things to do to change the user experience for Wikipedia editors is to change the editing culture a lot more to emphasize collaboration in using reliable sources over edit-warring around fine points of Wikipedia tradition from the first decade of Wikipedia. But maybe I feel that way because I have worked as an editor in governmental, commercial, and academic editorial offices, so I've seen how grown-ups do editing. I think the Wikimedia Foundation is working on the issue of editing culture on Wikipedia too, but fixing that will be harder than fixing the technological problems of editing a huge wiki at scale. Human behavior is usually a tougher problem to solve than the scalability of software.

By the way, the article illustrates the role for-profit business corporations like Facebook have in raising technical standards for everybody through direct assistance to nonprofit organizations running large websites like the Wikimedia Foundation. That's a win-win for all of us users.

<comment><USER9> << From where I sit at my keyboard, I still think the most important things to do to change the user experience for Wikipedia editors is to change the editing culture a lot more to emphasize collaboration in using reliable sources over edit-warring around fine points of Wikipedia tradition from the first decade of Wikipedia. >>

Completely agree with you. Also agree that fixing culture is often harder than fixing technological scaling problems!

All that said, kudos to Wikimedia Foundation for addressing the speed issues for uncached pages. Great work!

</comment></comment><comment><USER10> > and there are users who always need to be served by our main (uncached) > application servers. This includes anyone who logs into an account, as they > see a customized version of Wikipedia pages that can't be served as a static > cached copy

I keep hearing this, but it isn't true anymore. For something like wikipedia, even when I'm logged in, 95% of the content is the same for everyone (the article body). You can still cache that on an edge server, and then use javascript to fill in the customizations afterwards. This will get you two wins: 1) The thing the person is most likely interest in will load quickly (the article) and 2) your servers will have a drastically reduced load because most of the content still comes from the cache.

The tradeoff of course is complexity. Testing a split cache setup is definitely harder and more time consuming as is developing towards it. But given the page views of Wikipedia, would be totally worth it.

<comment><USER11> You don't even need to use JavaScript - you can do it in the cache with edge- side includes:

[https://www.varnish- cache.org/docs/3.0/tutorial/esi.html](https://www.varnish- cache.org/docs/3.0/tutorial/esi.html)

<comment><USER12> After using ESIs with Varnish for a project, I'd never do it again. Cached static pages with Javascript that pulls in the dynamic parts is an easier solution to maintain and has better failure modes.

<comment><USER11> Interesting! Could you tell me more about the problems you found with ESI?

</comment></comment></comment></comment><comment><USER13> worth mentioning: phpng (PHP7) has cut cpu time in half over the past year [1] (scroll down), don't know what the mem situation is. i don't know if HHVM has additional advantages over plain PHP, but certainly the list of major benefits will be smaller by the next major version.

[1] [https://wiki.php.net/phpng](https://wiki.php.net/phpng)

<comment><USER14> The main advantage is that HHVM is available now, PHPNG won't be stable until later this year at best. For my code base HHVM isn't compatible so we're eagerly awaiting the stable release of NG but damned if we didn't try to upgrade to HHVM.

<comment><USER15> The advantage of PHPNG is that it has a dedicated development team who will not go away when Facebook goes the way of Myspace. And, yes, I know it is open source and development can continue. My point still stands.

<comment><USER16> This is cute wishful thinking, but what exactly makes you think that whatever company is behind PHPNG will outlive friggin' Facebook ?

<comment><USER17> PHPNG is actually the official next version of PHP. If the PHPNG team is dead that means no active development is being done on PHP (period).

<comment><USER18> If PHPNG dies they simply could elect a different environment to be the official one. Just because PHPNG is "the future" right now doesn't mean the fate of the language is tied to it forever.

<comment><USER19> It's all well and good labelling HHVM the new official environment, but a lot of existing code does not work on HHVM.

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> > Between 2-4% of requests can't be served via our caches, and there are users > who always need to be served by our main (uncached) application servers. > This includes anyone who logs into an account, as they see a customized > version

I run a similar site (95% read-only), and have been pondering whether it would make sense to use something like Varnish's Edge Side Includes (Like SSI, combining cached static page parts and generated dynamic page parts) -- I wonder if they've considered that and what the results would be like?

<comment><USER21> I've played with this configuration but never put it into production:

Varnish (with ESI enabled) -> Nginx (with memcached module enabled) -> PHP- FPM.

Most of the page is served with Varnish with the ESI directives hitting the Nginx server which serves the fragments from memcached if present, otherwise the PHP-FPM server is hit which then returns the results and sets the fragment in memcached with a low ttl.

</comment></comment><comment><USER22> [https://ganglia.wikimedia.org/latest/](https://ganglia.wikimedia.org/latest/)

ooo pretty!

<comment><USER23> And [http://gdash.wikimedia.org/](http://gdash.wikimedia.org/) :)

</comment></comment><comment><USER24> It's great to see such a significant improvement, but it goes to show just how limiting the CGI era architecture really is.

A modern persistent web apps running in Python/Java/Ruby/etc is able to perform preparatory work at startup in order to optimize for runtime efficiency.

A CGI or PHP app has to recreate the world at the beginning of every request. (Solutions exist to cache byte code compilation for PHP, but the model is still essentially that of CGI.) Once your framework becomes moderately complex the slowdown is painful.

<comment><USER25> If you write it right, you should even be able to cache the state of the whole execution right until your code sees the first byte that depends on the user request or the environment. Sort of like a copy-on-write, but it's copy-on- read.

</comment></comment><comment><USER26> BTW, what's the relationship between Facebook and Zend? Is PHP now 'owned' by Facebook?

<comment><USER27> No, PHP is not owned by Facebook, and wasn't owned by Zend either. Zend contributed a lot into PHP development (phpng effort is largely sponsored by Zend) but it doesn't mean it "owns" PHP. Nobody really owns PHP. Facebook owns HHVM and Hack (which I guess was one of the reasons they created it - <USER2> organization this large, it makes sense to have a platform that is predictable for them - i.e. owned by them). Some people from Facebook also contribute to PHP, including those working for HHVM/Hack team.

<comment><USER19> Also note that the Zend Engine, confusingly, isn't made by Zend, it's just a component of PHP. Zend Technologies, Inc. came after the Zend Engine, but both were created by the same duo ( _Ze_ ev Suraski and A _nd_ i Gutmans).

</comment></comment></comment><comment><USER28> Facebook is doing a lot of awesome open-source work. They already have Open Compute, many projects on Github - [https://github.com/facebook](https://github.com/facebook), and sent a developer to MediaWiki to help with the migration to HHVM. I hope Facebook keeps open-sourcing their internal projects (in addition to contributing in existing ones)!

</comment><comment> B-Con > Between 2-4% of requests can't be served via our caches, and there are users > who always need to be served by our main (uncached) application servers. > This includes anyone who logs into an account, as they see a customized > version of Wikipedia pages that can't be served as a static cached copy,

Is this why we get logged out every 30 days, to boost cache hits for users who rarely need to be logged in? (It seems like every time I want to make an edit I have to login again.)

</comment><comment><USER29> Curious why they're using squid and not varnish for caching. Weird how they're progressive with PHP but still sticking with the antiquated squid.

<comment><USER30> I think Gabriel was referring to a historical moment -- Wikimedia does use Varnish now.

"We currently use Varnish for serving bits.wikimedia.org, upload.wikimedia.org, text of pages retrieved from WMF projects, and various miscellaneous web services. Nothing uses Squid."

\-- [https://wikitech.wikimedia.org/wiki/Varnish](https://wikitech.wikimedia.org/wiki/Varnish)

</comment></comment><comment><USER31> Honest questions: What kind of benchmark do others uses for a 'reasonable' response time? Of course it fully depends on the use-case (rendering a video can be hard in 500ms), but for user facing stuff? In my previous startup we tried to stay within 500ms. Not saying this isn't a great improvement, but to me 3s still sounds quite long? (not saying it's easy to do quicker!)

<comment><USER32> There's a difference between requests that the user "expects" to take a long time, and those that can never be fast enough. For example, POSTs, credit card transactions, and things like Wikipedia edits generally have lengthy forms prior to the request, and the user can tolerate a correspondingly-lengthy response time. I prefer 2s as a target for anything like that, and rely on a queue for asynchronously processing anything that takes longer.

For GET requests, particularly those reached by clicking a link from elsewhere on the site, faster is better... Luckily, many of these types of requests can leverage a cache.

</comment></comment><comment><USER33> = How to make it take 0.0 seconds to 1.0 seconds.

Save early, before the Editor actually presses save. Only commit the change if the Editor actually presses save.

This will improve the Editor experience by making save faster at the expense of CPU time. Predict well enough, or do enough processing client side, then you won't need extra server side CPU used.

What is more precious to you? The human Editors or some dumb pieces of silicon?

<comment><USER34> When you don't have much funding, both are extremely important, and when you can't buy more silicon, you either need to optimise the code or let the human wait.

<comment><USER33> Sure.

However, the method I mentioned can be done with zero extra server load if done correctly. I've done this before with other editors, and it definitely did not take a team 12 months to complete.

It is a full stack optimisation however, from UI all the way through the DB and the rest of the stack. Now that they're using only 10% load, there's plenty of room to breath.

Saving a draft of what someone may have spend hours typing into a crash prone browser is good UI practice regardless.

<comment><USER34> Again, "full stack optimisations" cost money, if there's not the money to throw more machines against it (which is often, though not always, cheaper than dev time) then there's not likely to be the money for extensive dev time either.

Saving a draft is indeed good UI practice, but best practice is never "regardless" in the real world, particularly in cash/manpower strapped non- profits.

<comment><USER33> There was over a year of dev time effort put into this optimisation by a team of people.

I think the effort of my optimisation would cost less time and effort, and give better results.

It would also waste less Editor time.

Mediawiki already allows drafts to be saved.

</comment></comment></comment></comment></comment><comment><USER35> Here's a video of the author's presentation at Scale Conf on migrating Wikipedia to HHVM: [http://www.dev-metal.com/migrating-wikipedia-hhvm-scale- conf...](http://www.dev-metal.com/migrating-wikipedia-hhvm-scale- conference-2014/)

</comment><comment><USER36> Are the Wikipedia server and network performance graphs public?

<comment><USER37> yes, you can access them on [https://wikitech.wikimedia.org/](https://wikitech.wikimedia.org/)

<comment><USER23> [http://ganglia.wikimedia.org/latest/](http://ganglia.wikimedia.org/latest/) and [http://gdash.wikimedia.org/](http://gdash.wikimedia.org/) too

</comment></comment></comment><comment><USER38> Still slower than [https://slimwiki.com](https://slimwiki.com)

</comment><comment><USER39> Ward Cunningham, now there's a guy who should have played on an nfl team.

</comment><comment><USER40> I feel like 3 seconds to load a page is still slow. I assume that is time to build a page that doesn't hit cache, and that Wikipedia is using something like varnish to cache pages most of the time.

Still, 3 seconds to load a page feels like a slow page and should be a lot faster.

<comment><USER41> Wikipedia only caches the latest version of each page. Older versions have to be rebuilt on the fly every time.

<comment><USER42> Hmm, this sounds remarkably like a possible DoS vector.

<comment><USER43> I would be surprised if the servers/instances responsible for rebuilding old pages had any other responsibilities. If that's the case, DoS-ing by flooding old page versions would likely only bring down that particular site feature.</comment></comment></comment></comment>


Ask HN: HNers who used freelancers to start your MVP, what sites did you use? - <AUTHOR> HNers - if you have used freelancers or an outsourced dev shop to do dev work building out an MVP of your product, what lessons did you learn? What sites did you use (except Upwork). Any recommendations? <comment><USER2> Define what you need done in the most granular detail possible. Have a written specification document, if possible. This helps you figure out who you really need to hire, and makes tracking progress much easier.

Ask the right questions before hiring. Learn enough about the subject to ask good questions. Ask how they would solve an adjacent problem.

Set checkpoints for the contractor's work. Have the dev build something partial that you can test. Build another and test it. Integrate them and test them. Wash, rinse, repeat.

Learn the language, or else. You could get frustrated and waste time, or you could get fleeced. You can't effectively communicate with an engineer figuratively speaking another language.

And communication is everything, especially for remote work.</comment>


Socioeconomic sorting at the metropolitan level is making America more polarized - <AUTHOR> https://www.citylab.com/equity/2018/04/how-your-social-class-affects-where-youll-move/557060/ <comment><USER2> Yet another data point showing why we need more housing and better public transportation in coastal cities. Boston's immediately adjacent suburbs like Cambridge and Somerville are filled with crappy run down houses converted to apartments serving 2-3 users or groups. No one likes them besides the landlords, they are generally of shitty quality / falling apart, and they are extremely expensive. If they were bulldozed and replaced with high rise apartments, costs would greatly fall. Similarly, if the T didn't suck so much and serviced outlying communities, people could more easily live farther away from the city proper, which would also reduce pressures on the city and proximal suburbs to support everyone.

<comment><USER3> Out of personal curiosity: I was in Boston for a while maybe 10-12 years ago, and remember thinking that the T was so far beyond what most other cities had, and served even the outlying areas well enough via the bus connections. (And I was previously from Philly, so no stranger to decent public transit)

In that context I'm surprised to hear you say that the T sucks. Is it that my memory is far out of date with respect to how the city grew? Or are my standards very low? (Also viable is that I was lucky in that the routes I needed to take were well served, usually starting from Cambridge)

To give another point of comparison, in Seattle now, I would give an arm and a leg for something even roughly comparable to my memory of the T, let alone SEPTA/subways. Baltimore was similar, in having little to nothing outside of unreliable and sparse buses, and token light rail only along 1-2 "primary" corridors.

<comment><USER4> (I grew up in Boston but now live in Silicon Valley.) The T has great coverage but shitty service. Boston is second only to NYC in terms of the fraction of the city that you can get to via public transit. The Red Line covers most of the densely-populated Arlington/Somerville/Cambridge neighborhoods, runs straight into the heart of the city, and then services even the lower-income neighborhoods in Roxbury/Dorchester/Mattapan/Quincy. The Green Line covers the whole Back Bay and Brookline area. Orange Line will get you up to Tufts & Medford, and Blue Line covers North & East Boston. All of these except the outer reaches of the Green Line have reasonable transit times.

By contrast, SF has good public transit if you happen to live in the BART corridor through Mission & Market streets, or around 4th & King or Potrero. But if you're in the Sunset, Presidio, Pac Heights, North Beach, Twin Peaks & highlands, Excelsior, or really anywhere else - you can forget about it. It takes as long to get from the Outer Sunset to Downtown as it does to get from Mountain View, 50 miles away, to SF.

However, BART runs _on time_ , as does Caltrain. To the minute, unless somebody kills themselves on the tracks. You know exactly when the next BART train will arrive, and when it will get to its destination. By contrast, when I took the Red Line to work I would frequently find myself sitting stopped outside Alewife or Harvard Square for about 20 minutes for track maintenance, or because they lost the third rail, or because there was another train in the station whose doors were jammed, or any number of other reasons that a well- maintained public transportation system shouldn't have.

<comment><USER5> The MBTA's T, Red Line, in Boston around 1995: At the train approaches the station, people in the station hear an announcement and see it on a lighted sign. It is something like "Braintree train approaching", letting you know the direction and final destination. Inside the train, they see and hear something like "Approaching Park Street. Next Stop: Downtown Crossing. This is a Braintree train.". When the train stops, there is a similar announcement, again both voice and lighted display, both inside the train and on the station platform. People inside the train can read the brightly-lighted station sign through the windows, and people on the platform can read a brightly-lighted sign on the train itself. Another announcement is made just before the doors close, and another one right after.

The other lines were about as good, with a few oddities like a human announcer on the Green Line.

San Francisco's MUNI, around 2015, two decades later: There is no voice announcement or message display when I board the train underground, either in the station or in the train. Gee, I hope I'm going the right direction. The train pops out of the ground and runs down the eastern side of the city. It stops only when there is a person waiting at the stop or when somebody in the train pulls a cord, there are no station announcements in the train, and the signs on the stations are unlighted and/or hidden. There is simply no way to count stops to determine where you are. You have to truly recognize the city (for me: in the dark, as an out-of-town visitor) or stay focused on a GPS- based map display. I obviously couldn't do the former, and my phone battery was dying so the latter was a problem as well.

So it looks to me like SF in 2015 can't match Boston in 1995.

<comment><USER6> That's the MUNI, which is pretty shit, along with the surface street bus system. Caltrain and BART are solid though. The streetcars are pretty but somehow slower than biking.

<comment><USER5> Caltrain and BART would properly be compared to MBTA's commuter rail, which runs for dozens of miles out in every direction from Boston. These are things that are longer range and more expensive, with fewer stops along the way.

MUNI is what matches up with the MBTA's T.

<comment><USER7> MBTA's commuter rail is more equivalent to Sonoma County Smart Train or maybe Caltrain. Bart may go the distance of communter rail but it's far faster and more frequent, taking half an hour to cross the bay from Berkeley to 16th street mission - at the best of times with quite frequent service in busy times.

I've had horrific experiences with MTBA Commuter Rail canceling several trains on the weekend without announcement, literally waiting 3 hour or more at the station more than once.

<comment><USER5> BART isn't immune to horror.

A few years back, I almost planned to take BART from the airport to a hotel on California Street. I'm lucky I chose to rent a car and stay in a car-friendly hotel in South San Francisco instead, because BART stopped entirely due to a strike. That was 4.5 days, costing the region about $73 million per day.

It bewilders me that such a mess is tolerated. That properly calls for emergency replacements (possibly National Guard) and for the strikers to be convicted of criminal mischief endangering public safety.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> As someone that lives in the south, this trend is extremely frustrating. A few weeks ago I visited SF for an interview, and it seems like every tech company on earth is in that one spot. The whole city feels 20 years ahead of where I presently live. But all of my family is in the south, so I'm stuck with the unfortunate tradeoff of choosing to focus on my career or living near family. Because it sure doesn't look like the tech companies are moving where I am any time soon (with the hopeful exception of Amazon HQ2).

<comment><USER9> I always wonder why nobody asks _why_ this sort is happening. There's a kind of willful ignorance at work here. Are the highly educated and the knowledge economy moving to cities because they like the beach? Or is there something else attracting them?

What's even stranger is the blame. Somehow it's the tech company's fault. Somehow it's the fault of the rich. I've even heard illegal immigrants blamed. Nobody ever seems to think there might be something going on in the south that is driving _away_ the best and the brightest.

<comment><USER10> I moved away from the south because:

1\. Few job prospects

2\. Terrible transit

3\. Disagreeable politics

4\. Hot

In that order. I moved to Seattle (which didn't really fix #2) and much preferred it. Born and raised in Atlanta but no desire to stay. Off to NYC in a few months to see what I think!

<comment><USER11> Do you help reduce polarization by speaking well about the people of Georgia?

<comment><USER12> I do, though I'm not from there. I went to Shaky Knees on a whim with a friend last year, and I loved the city and everybody I met. It makes me want to move there. I loved going to bars and actually talking to people I didn't know, something that feels foreign and improper in Seattle.

I'm of the opinion that liberal western US cities hate southern politics so much that they quickly jump to the conclusion that everything in the south sucks. Terrible mistake.

<comment><USER11> Good to hear this. I see many comments on HN where midwesterners or southerners living on the coasts are dumping on their friends and neighbors back home, and I think that behavior isn't helpful.

</comment></comment></comment></comment></comment></comment><comment><USER13> Interesting book to read on the topic is Charles Murray's Coming Apart.

[https://en.wikipedia.org/wiki/Coming_Apart_(book)](https://en.wikipedia.org/wiki/Coming_Apart_\(book\))

Very much like this article, Murray focuses only on US, however, this is a global trend. A person born in Koškovce, Slovakia will move to Košice for high school, to Bratislava to attend college, they'll find their first job in Prague, second one in London and after a short while they'll arrive at San Francisco.

It wouldn't take a big stretch of imagination to write a dystopian Sci-Fi about a future where members of Mensa live in extremely liberal city states in Bay Area while the dumb are gradually pushed out to failing hellholes with mad dictators in control.

<comment><USER14> The movie Elysium was essentially that. Though you did not mention the homeless population in the Bay Area. Wealth does not make a place clean; the Bay Area is filthy. Of course that's liberalism for you.

<comment><USER15> The filthy parts are well known and mostly keep to themselves. The non-filthy parts are some of the most beautiful city living in the world, with outdoors access that rivals a resort town. (I lived in Park City before)

<comment><USER16> Are you kidding? Have you been to SOMA?

</comment></comment></comment></comment><comment><USER17> This data is great to back up processes one can empirically observe -- none of this was a particular shocker, but the data quantifies the relative differences between metros' fates very well, such as Chicago punching above its weight in terms of balancing affordability with desirability among the highly-educated.

In my opinion, the one surprise is Pittsburgh's particular set of circumstances: in-migrants being less educated than out-migrants, but this can be an artifact of Pittsburgh being a destination for education, which then struggles to attract higher numbers of well-educated to stay or relocate there for work.

<comment><USER18> UPMC educates so many medical professionals it's not surprising that there's an imbalance. I don't think Pittsburgh could absorb all of those MDs even if they wanted to stick around (which most don't). I'm surprised Boston isn't similar.

<comment><USER19> Boston is similar.

With so many universities, local leaders are always bemoaning he fact that more of them don't stay. For any type of specialized field, we've got the school... in triplicate. God knows how many law schools and business schools we've got scattered around the metro area.

</comment></comment></comment><comment><USER20> I'd like to be thank the submitter for modifying the title of the article for HN. The original title refers to social class, but nearly the entire discussion thereafter is about economic class.

</comment><comment><USER21> I wonder what happens as things get worse and the foreign money dries up?

<comment><USER22> you get a new rustbelt

</comment></comment><comment><USER23> So how do we reverse this trend? How do we get more educated people to choose to move to, or stay in, the Rust Belt?

</comment><comment><USER24> Charles murray has a whole book abiut this stuff (Coming Apart) and its lit</comment>


How to check your data integrity? (2017) - <AUTHOR> https://dataswamp.org/~solene/2017-03-17-integrity.html <comment><AUTHOR> OpenBSD intrigues me but losing ZFS (FreeBSD) would be hard. Interesting that checksums can be manually computed, seems decent if the integrity of the checksum file can be trusted.</comment>


Better Python APIs - <AUTHOR> http://ozkatz.github.com/better-python-apis.html

<comment><USER2> It's true that double underscore methods are sometimes underused and that using them can often make for a better experience, but it's also easy to be overly clever, or to "misuse" them by using them to add semantics to an object that is already a bit mis-designed.

The first example in the post (using __repr__) is probably the least controversial. There are places in the official docs that explicitly recommend defining __repr__ for every object you create. This is mostly something that I do do (though there are exceptions of course), but one thing you do want to be careful with is to make sure that what appears in your repr is relevant, terse, and helpful. That means that I _will_ and do sacrifice a repr that is eval'able (which I find to be useless) for a repr that is short and sweet. So for the example in the article, it may or may not make sense to put `self.objects` in there. For a "Container" class, it probably does, but don't extend that to "let's put all our data in the repr for everything".

__iter__ is nice, and is one of the most oddly underused methods, but rather than using it there, I think the better thing is to not have the object encapsulate a search, but to have the object encapsulate a YoutubeAPIClient or whatever, and have `search` be a method that returns an iterable. This is also kinda touchy-feely though since I guess there might be examples of __iter__ where I'd feel more comfortable with something like this (a results object).

The next one with __sub__ I don't like too much, because I don't like encouraging slow operations with syntax sugar (besides the typechecking).

Anyways, I guess I'm nitpicking on examples, mostly. Double underscore methods are generally underused I've found, and if you have doubts on whether you're overreaching, you can always add a method with the same behavior you're using them for in case anyone doesn't like how it reads.

</comment><comment><USER3> Nice post overall, but I take issue with a couple of the examples. First, the YoutubeSearch class has no reason to be a class. It wants to be a function:

        def youtube_search(term):
            url = 'https://gdata.youtube.com/feeds/api/videos'
            params = {'q': term, 'alt': 'json', 'orderby': 'relevance', 'v': '2'}
            r = requests.get(url, params=params)
            r.raise_for_status()         # 4xx and 5xx replies raise exception
            for video in r.json.get('feed').get('entry'):
                yield {
                    'title': video.get('title').get('$t'),
                    'url': video.get('link')[0].get('href'),
                }

The ExpressiveList's __sub__() method, as written in the article, requires O(n*k) time to remove k things from a list of length n. By using a set of things to remove, we can get that down to O(n+k):

        class ExpressiveList(list):
            def __sub__(self, other):
                if isinstance(other, list):
                    other_set = set(other)
                    return ExpressiveList(x for x in self if x not in other_set)
                else:
                    return ExpressiveList(x for x in self if x != other)

<comment><USER4> The primary reason to make YoutubeSearch a class is, in the future, implementing searching other video sites and taking advantage of inheritance in the implementation. That isn't demonstrated here, but the plumbing of "doing a request", "providing an iterator" and such could be promoted to the base class and subclasses are only responsible for knowing their domain.

<comment><USER5> When you actually want to implement those other sites, you can replace the function by a class with a __call__ method.

<comment><USER6> There's no practical difference between a method and a class in this case.

</comment></comment></comment></comment><comment><USER7> I suggest the author and readers watch the excellent pycon talk, "Stop Writing Classes":

<http://www.youtube.com/watch?v=o9pEzgHorH0>

That said, some nice factoids in the post about making your objects readable in the repl etc.

</comment><comment><USER8> I disagree about the operator overloading. It's kind of like a hidden function that could have ambiguous connotations. It could confuse people because of the association with the traditional operations.

For simple things like list addition it might be intuitive what the result will be, but if I had a a Vector class and then you were reading some code and saw two vectors being multiplied like this

        a * b

well is that a dot product or a cross product? Or maybe a is a scalar and it's scalar multiplication? If it's one of those what do the other operations get for symbols? isn't it easier to do a.cross(b)?

If you keep it simple a little syntactic sugar is probably find. Nobody wants to be writing a.add(b.subtract(c.mult(d))) for a + b - c *d .

Anyone have other thoughts on this?

<comment><USER9> This is why I like the ability to define your own operator symbols. I think this is a good compromise between the C++/Python approach and the Java approach.

The C++ approach has the problems you outlined. A single operator name (like +) gets overloaded with far too many different--and often completely unrelated meanings. Particularly, this violates reasonable expectations about how certain operators behave; for example, + should be commutative. Python's + for lists, very clearly, isn't.

The Java approach of not allowing operator overloading or custom operators is also patently untenable. Just look at the BigInteger class! There are plenty of other cases when using an infix symbol makes for much clearer code.

With a language like Haskell, you can just come up with new operators as you need them. In fact, they act exactly like normal function names: the only difference is in how they're parsed. This also means they're overloaded like normal functions. So while there is a + operator for a bunch of different types, it always represents some notion of addition. This feature can be abused--it's relatively easy to write confusing operator names--but I've found it to be a net benefit in practice. If used correctly, it makes the code much clearer; you just have to be a little careful.

For example, in Haskell you use ++ to concatenate lists. So you can't mistake list concatenation for addition, which is important because they behave in very different ways.

As an aside, if you're willing to use Unicode symbols--and I think you should be!--then you can define cross as × and write a.cross(b) as a × b. In a small expression this does not seem like much of an advantage, but if you are doing more complicated math it makes the code easier to follow. It's also roughly as easy to type: with the right input mode, it's just a \times b.

<comment><USER10> > With a language like Haskell, you can just come up with new operators as you > need them. In fact, they act exactly like normal function names: the only > difference is in how they're parsed. This also means they're overloaded like > normal functions. So while there is a + operator for a bunch of different > types, it always represents some notion of addition. This feature can be > abused--it's relatively easy to write confusing operator names--but I've > found it to be a net benefit in practice. If used correctly, it makes the > code much clearer; you just have to be a little careful.

I found that in practice it is often abused and leads to code full of .+:, >>> and other operators which certainly make a lot of sense to the author of the library, but don't do much for intuitive understanding of a piece of code without reading the documentation for each imported library.

<comment><USER9> This _can_ be a problem, but it is entirely a matter of library design. In most cases, I haven't found this to be a problem. It helps to follow certain conventions--for example, a name like <|> can be read as "a different version of |" (which represents alternation).

I think it's still better than what you get with C++ and Python. I would much rather have a relatively inscrutable <+> operator that does something vaguely like addition than having + do multiple completely different things on different types.

Also, for many of these operators, the clarity of having an infix version trumps the fact that you'd have to look it up. Take >>> as an example. Even if it was called something like next, you'd still have to read the Arrow documentation to understand exactly what it did (it's fairly abstract). And compare how the code would look:

        actionA >>> some complicated action >>> actionB
        next actionA (next (some complicated action) actionB)

Ultimately, it is impossible to design a language that does not allow any bad code. I think having custom operators is better than the main alternatives (C++ and Java styles).

<comment><USER11> If compilers supported proper unicode _as code_ not just in strings (like, I believe, Go does) then you could use A ⊗ B for outer products and A ⋅ B for inner products.

(a quick google implies that Haskell supports this (<http://www.haskell.org/haskellwiki/Unicode-symbols>). Good!)

<comment><USER10> You mean, Unicode symbols. Quite a few languages, including Java, support Unicode letters as identifiers. But frankly, I'd rather stay with cryptic :+: (see the answer to this question [1] for why)

1: [http://stackoverflow.com/questions/2793792/is-it-a-good- idea...](http://stackoverflow.com/questions/2793792/is-it-a-good-idea-to-use- unicode-symbols-as-java-identifiers)

<comment><USER11> Go has unicode symbols, but I meant just for operators. The reasons listed are important some of the time, but for example when you're a bunch of Chinese developers working on a project it seems sensible to use chinese identifiers in the code (especially if you all only have basic english.)

In this situation, everyone is going to have a computer set up to use the character set, so the ����� + ��� situation shouldn't arise.

In terms of confusing things at linking / runtime stage, I didn't think of that - maybe you're right! Go gets away with it by being completely compiled down to binary (and requiring the source of all the libraries locally, IIRC.)

<comment><USER10> As a non-native English speaker, I can tell you it's a very bad idea to mix up a language with English keywords but identifiers in a different language. The disconnect between the two is awfully annoying, and the "native language identifiers" end up being a mix of English and native language anyway (I don't know how it is with Chinese but many language don't have useful equivalents to many IT terms, or they are so terrible that nobody wants to use them).

<comment><USER11> Indeed - I can imagine, with so many english keywords everywhere. The code I've seen from developers who speak other languages tends to be in english, with comments in their language - frequent use of google translate to understand what's going on! :)

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> I always consider these nice to have, because often-times they fall on the implicit side of things rather than explicit. But if you explicitly state "X is also a generator" in your documentation, then by all means implement these methods.</comment>


Rainbowstream – A colorful Twitter client on terminal - <AUTHOR> http://www.rainbowstream.org/

<comment><USER2> Thanks for posting it here :) I also want to post it as a showHN post but don't have enough karma. The site simple said my account is too new :(</comment>


Useful tools and resources for web developers - <AUTHOR> http://webpickings.com/

<comment><USER2> Great growing collection</comment>


A message from manpacks.com - <AUTHOR> http://zaid.posterous.com/a-message-from-manpackscom <comment><USER2> Manpacks is hilarious, super well done, and the undies are good too. I can't wait for them to start sending me shampoo, soap and all that stuff in my manpack. I hate shopping.

<comment><USER3> I too, hate shopping. I selected my daily man-uniform years ago, and know exactly what I like to wear -- I haven't changed my basic outfit in almost 5 years. Yes, I _am_ that manly.

If manpacks added different colors of american apparel man-shirts (I like blue) and basic cargo man-shorts, I'd sign up today. In fact, I still might sign up today, but I'll have to go to K-Mart to get my reasonably priced man- shorts -- a trip I've been avoiding.

<comment><USER4> I would pay really good money for a service that made me look very good yet middle-of-the-road (i.e. not flamboyant or overly stylish). I freely admit that I want to be a follower when it comes to style/fashion and just simply conform to the latest trend in a manner that suits my face/body.

<comment><USER5> There's a service in human form, called a personal shopper.

<comment><USER4> I'll look into that, but it would be nice if it could be commoditized and automated. Like if there was some webapp that presented you with some examples of styles to pick from, took your size information, and then periodically shipped you clothes matching your chosen parameters.

</comment></comment></comment></comment></comment><comment><USER6> This single-item subscription business model has really been taking off lately, so I'd really encourage people who can carve out their own unique niche to try it. i.e. Ask yourself what niche market you could possibly service with a well-designed subscription-based service. So maybe it's just me, but these one-item subscription services really seem to be popping up everywhere lately...

Blacksocks.com was one of the originals and has been doing this for a decade, Netflix does it for movies, there's ShoeDazzle that girls use for shoes, InkFlip for ink cartridges, and Manpacks proves it again with a great execution (and that list goes on). To be honest I feel like this is a guaranteed win if you find a good niche that you know well and (of course) can execute well.

</comment><comment><USER7> I believe I learned about manpacks.com from Hacker News and received my second "pack" about a week ago.

Brilliant concept, well-executed. The main danger I see is the increasingly complex number of options: they may want to make an obvious default easier to see and pick.

Nonetheless, I'm happy.

</comment><comment><USER8> <http://www.manpacks.com>

</comment><comment><USER9> to continue their theme maybe they need to add beer, cigars and condoms

<comment><USER3> I know this was a joke, but adding condoms would be fantastic.

I find it mildly embarrassing and equally annoying to buy condoms, and yet I definitely do not want to run out.

<comment><USER10> Amazon has them, and cheaper than I've ever seen in a drug store. In fact, you can even set up a subscription service, though I don't remember how.

<comment><USER11> There's a "subscribe and save" link next to the "add to cart" link on some of the product pages, as well as a "subscribe and save" link on the navigation bar from the Health & Personal Care section. It's pretty straightforward from there.

</comment></comment></comment></comment><comment><USER12> I just tried to create-a-pack, silly thing wants $7 in shipping for an order a few dollars above their 'free shipping' threshold. Still a few bugs to hammer out, I guess?

</comment><comment><USER13> Hmm.. so will this subsequent post gain tsondermann a manpack too?

</comment><comment><USER14> Wait, so how do I redeem this free manpack? I really could use socks lol

<comment><USER14> Whats with the downvotes? Thought they wrote:

"In gratitude, we'd hope you'll accept a complimentary Manpack from us. Pick out whatever you like (anything), and let us know your sizes & address too."

I don't see a way or link to redeem this complimentary pack?</comment></comment>


House Shoots Down Bill Stopping Employers From Demanding Your Facebook Password - <AUTHOR> http://techcrunch.com/2012/03/28/house-shoots-down-bill-that-would-have-stopped-employers-from-demanding-your-facebook-password/

<comment><USER2> I always thought this bill sounded pretty stupid. Is this really the type of thing we need Congress to get involved with?

<comment><USER3> I'd rather they spend time on this instead of substantive issues, because they don't seem to be doing all that well on substance.

Give 'em something to play with, and maybe they'll stop bothering us.</comment></comment>