China's innovation economy a real estate bubble in disguise? - T-A http://www.reuters.com/article/us-china-economy-innovation-insight-idUSKCN0ZM2KY <comment><AUTHOR> One of these innovation centers popped up recently next to our office. These are basically re-purposed "ghost malls" for malls that couldn't make it in retail, of which there are many. So call it "fall out" from the real estate bubble more than anything, and who wants to be stuck in a window-less subterranean labyrinth? Not the best place to be innovative.

At least this is in Beijing Zhongguancun, which does have a startup scene...kind of. And such space might be appealing to lower cost startups who don't want to rent office space out in the suburbs.

<comment><USER2> Because most garages that start ups In Silicon Valley were originally in were windowed?

<comment><USER3> I'd guess they were mostly operated with the doors open, at least in the summer. From what I recall, most startups in the garage-stage also had no employees. I can see myself working without daylight, but I'd never consider subjecting employees to that (It's also illegal in my jurisdiction).

<comment><USER4> > I'd never consider subjecting employees to that (It's also illegal in my > jurisdiction)

I'm curious, what jurisdiction is this? I've never heard of such a restriction (though I have to say I'm a fan).

<comment><AUTHOR> Fire code. Offices must have Windows, or barring that something else very expensive. Also true for most houses.

China doesn't really have a fire code, or if they do, it is routinely ignored, so it wouldn't be an issue here (e.g. consider the ant tribe of people who live in apartment building basements). And obviously, underground malls are treated differently in general.

</comment></comment></comment></comment></comment><comment><USER5> I came from Dalian last month and the entire city seems to be under construction. Just in 5 years, the city has changed. There's a new subway, that wasn't even under construction then, and everywhere you look there's a new high rise condominium being built, often times just a couple of blocks away from another either under construction, or worse yet, a finished, but completely empty building. The city is trying to get people move into the reclaimed land in East Harbor, and bizarrely even a 19th century Parisian neighborhood... which is empty for 2 years except for an "American-style" kindergarten and a wedding photographer.[0]

It's clearly a bubble. It's hard to understand how any of these are going to be filled. There's no real place to invest except real estate in China, and even there it's full corruption. It's apparently not unusual to "own" (well, have a 70 year government lease on) on a property but not actually have the deed, because the deed has been lost somehow.

It's very weird.

[0] [http://english.sina.com/culture/p/2014/1024/748460.html](http://english.sina.com/culture/p/2014/1024/748460.html)

<comment><USER6> Fantastic. I live in Dalian, and have done for around 10 years.

The city has changed - that's why I dropped an alternate career - to see what newspapers were writing about in the mid-2000s, about China's rise.

Dalian is not unique in this respect. Cities across the seaboard and a select few more inland are all doing the same thing.

But is it a bubble? Yes, it is, but in a strange kind of way. 10 years ago there was one software park with around 12 buildings and a local college. Now, that software park has 30+ buildings, and there are an additional 3 software parks located further from the city center all larger than it.

The industrial development zone was a road with a bar district and a few 24 hour restaurants (many nearby factories operate round-the-clock shifts), a couple of hotels, and several large lots filled by largely Japanese corporations. Now it is a city of 1 million+ itself, a city on the edge of the city.

10 years ago there were also a lot of empty buildings, all of which are now full. When you visited you probably noticed a lot of high-density housing near the newer office and industrial districts. The local government makes around 1/2 of its revenue (highly trusted word of mouth) from land sales to developers, who in-turn make their profit from the workers that fill these hugely subsided commercial buildings, including the cost of the subway and subsidising busses.

What's the core driver for this?

Jobs for educated people from rural areas who have no hope nor desire to work on the farm or in the rural town. Their family will invest all they have on ensuring their child 'makes it' with a stable job at a big-name company in a clean city. As long as the jobs are coming, the city is sustainable.

For Dalian, a lot of jobs have stopped coming over the past 1-2 years (4-5 years ago was boom-time, especially in BPO and ITO) and construction considerably slowed, but these are cyclical. Somewhere else a city is allowing companies to enjoy lower taxes (a lot of incentives in Xi'an, Chengdu, Chongqing for 'soft' jobs where the export is electronic in the form of email and SVN and not hindered by these cities' physical locations), and the boom is happening there, and the city is making money despite the tax breaks it's offering. It's a bubble, for sure, but it's being juggled.

</comment></comment><comment><USER7> Tangentially: independent of the truth of this article, the volume of criticism of China's economy from Western media is hilarious in contrast to propaganda reported verbatim from the USA: the "slow recovery"; metrics that are hollow once the surface is scratched (e.g. jobs numbers comprising large below-full-time service sector, new housing starts with growing shared- residence numbers). Never mind bankrupt cities, territories, and soon states; inflation; and the national debt.

<comment><USER8> Can you elaborate or provide sources? The language you use is incredibly dense, almost as if an online translation service was used.

<comment><USER9> The labor force participation rate kept declining throughout the supposed recovery.

[http://static4.businessinsider.com/image/563caf319dd7ccfc418...](http://static4.businessinsider.com/image/563caf319dd7ccfc418bcbfb-1200-900/october-2015-labor- force-participation-rate.png)

The "unemployment" rate doesn't include people who gave up looking for work among other adjustments, it doesn't tell you how many people are actually working. That's what the labor force participation rate measures.

The rise of nontraditional candidates is less surprising in light of this.

<comment><USER10> In 2006, the federal bureau of labor statistics under George W. Bush concluded the labor participation rate would continue to fall for decades. Labor participation rate is not a strong indicator given our aging workforce.

[http://www.bls.gov/opub/mlr/2006/11/art3full.pdf](http://www.bls.gov/opub/mlr/2006/11/art3full.pdf)

<comment><USER11> Yes, the decline in the Labor Force Participation Rate due to Demographics has been known for quite some time. It is the inevitable consequence of an aging work force with birthrates below replacement level for a few decades.

The problem is the Labor Force Participation Rate has fallen much quicker than any of the forecasts based upon Demographics. The reason for this is the lack of people working in their prime working years, the funny thing is the LFP would be even lower if Boomers were retiring at the rate they are supposed too, but the weaker economy had led many of them to delay retirement which in turn harms those who should be working.

A Closer Look at the Decline in the Labor Force Participation Rate

[https://www.stlouisfed.org/publications/regional- economist/o...](https://www.stlouisfed.org/publications/regional- economist/october-2013/a-closer-look-at-the-decline-in-the-labor-force- participation-rate)

</comment></comment></comment></comment></comment><comment><USER12> From the article:

"The result: like steel mills, theme parks and housing before them, the country now faces a glut of innovation centers as another top-down policy backfires to leave white-elephant projects and a further buildup of debt."

Western media have always had a skewed one-sided perspective on China and today that perspective is predominantly negative. So negative that it is almost silly.

The other side of the story is: No other place has a middle class of that size growing that strongly. Internet giants Facebook and Google are excluded from the market leaving big room for smaller companies to innovate. Electronics are produced right next door opening for all sorts of crossplay innovation between hardware and software.

<comment><USER13> While I agree with the often one-sided and biased western view of China, these innovation centers are being built in droves, and remain empty.

A commenter below who lives in China and works next to one of these new innovation centers describes it as yet another "ghost mall".

In all fairness, the US economy has it's own version of ghost malls, which is defense spending. We spend billions of dollars on military hardware that just floats and flies around with nothing to do and no purpose except to fight a war that's almost certainly not going to happen in that equipment's lifetime.

<comment><USER14> We do have our own version of ghost malls. Actual ghost malls. The US is where that term was coined. Most of the time those developments involved partly public funds (directly or via tax incentives).

And I wouldn't characterize our military spending as ghost malls. They serve a purpose even when not actively used: deterrent. You can argue how important that is but it's not useless.

<comment><USER15> [Source?] US has dead malls, but those had actual stores at some point.

ex: [http://www.businessinsider.com/23-haunting-photos-of-a- dead-...](http://www.businessinsider.com/23-haunting-photos-of-a-dead-mall-in- ohio-2015-8)

Often because a much better mall was built in the area, or just completion from online shopping. As retail goes online you just don't need as many stores.

Malls take a critical mass of shoppers and stores to keep going. If not enough stores move in they can be stillborn but I assume that's really rare in the US.

<comment><USER16> > US has dead malls, but those had actual stores at some point.

The US has dead malls that never had stores, includes ones that were abandoned while under construction or prior to stores moving in (a number of these were abandoned around the time of the finance crisis in 2007-2009 when whole planned or in progress housing developments were either put on hold or abandoned, along with the commercial development that were being built to support them.)

<comment><USER15> Sounds like the developer went broke. However, malls as physical assets tend to be resold in bankruptcy even if they get turned into office parks or something.

Do you have any actual examples of completed structures that sit abandoned without ever being used?

</comment></comment></comment></comment></comment></comment><comment><USER17>
        "In any sort of market, you want the experts making the decisions, not some technocrat or bureaucrat,"

Seems to me the use of "technocrat" here is contradictory? Or are business/marketing "experts" not called technocrats?

</comment><comment><USER18> Never forget, that China is not Western democracy. So they are not driven with economic gain as such, or prosperity of "the one percent". Many awkward economical decisions only look awkward for outsiders. Within Chinese system these totally make sense.

Beware of approaching any feature in China with a western mindset.

So it is probably not what it looks like. It may be some kind of a social sieve purposed for entirely other goal.

<comment><USER19> What it looks like to me is this:

Beijing decides that innovation needs to be a key focus for the economy (for face maybe). It announces funding, sets development goals for local politicians, and writes the buzzwords in all new economic plans and development documents. Local developers and politicians read that, and their instincts kick in - they know now that _any_ development that can show "innovation" will get a green light and throw themselves into it head first. So now, any new development that goes on is not "grass roots" or "green" or "core" \- it's innovative, creative. So a bunch of pretty standard, low quality office buildings go up, but now they're called 'Creative Parks'. Rent is low for any business that is 'creative'. So local entrepreneurs fill them with creative businesses - fashion studios, wedding photographers, ad agencies, designers. The businesses do well because they are effectively getting direct government support and investment, and because there's no other genuinely creative competition around to challenge them. Innovation all round!

It's a blunt and wasteful approach. It won't necessarily encourage creativity, innovation, new approaches, risk taking. More likely at best it will create a superficial impression of innovative industries, and maybe, _maybe_ that might result in some innovation. This is the China way, and the reason China isn't a global creative or innovative superpower. <Mic drop>

<comment><USER20> This is the same way it works in every developed nation and every larger city. The difference is just scale and speed.

<comment><USER19> Yes and No. I mean, the whole relationship between government, local government and business I described might be similar, but in China that's still the _only_ activity going on. It's improving to some extent, but for example in London or any city really, you might have a genuine creative scene that can jump on a government investment in 'innovation', so the wave will be filled with half- opportunists and half genuine businesses maybe. In China it's more like 95% opportunists, because for years and years that's been the only way to work.

</comment></comment></comment></comment><comment><USER21> I think its about putting the next generation to work. The Chinese model of manufacturing, which has really been the world's model for two decades, is that cheap labor is more economical than technologically advanced industrial robots. That is eventually going to change, and maybe sooner than later [1].

Then what do you do with half a billion unemployed people? Even doing nothing for them but giving them offices is better than letting their communities decay, even if it loses money in the short AND long term. And who knows, maybe after a few boom and bust tech cycles the innovation labs will actually make something useful and profitable. That's just an added bonus.

[1] [http://www.bbc.com/news/technology-36376966](http://www.bbc.com/news/technology-36376966)

</comment><comment><USER22> Not sure how often this is the case with innovation centres, but many real estate developments take advantage of specific policies to secure backing for their projects. By including 'Innovation centres' they might be able to get land use rights, secure debt financing etc. for their project even if 80+% of the m2 is actually office, residential, retail. Whether this creates a real estate bubble depends on how well the other parts of the project do in the market.

</comment><comment><USER23> A real estate bubble in disguise? Yes! But considering that young people in China don't have the luxury of garages, any rent-free office space can be of great help to them. At least the empty buildings are now put to use.

</comment><comment><USER24> "China's economy a debt bubble in disguise" <\-- There, fixed it for you.

</comment><comment><USER25> Betteridge</comment>


Engineering genetic circuit interactions within/between synthetic minimal cells - <AUTHOR> https://www.nature.com/articles/nchem.2644 <comment><AUTHOR> Here's a generalist explainer [https://futurism.com/researchers-just-solved- one-of-the-bigg...](https://futurism.com/researchers-just-solved-one-of-the- biggest-problems-in-synthetic-biology) I posted the Nature article because it's the original source, as per HN policy.</comment>


Digital black market uses Bitcoins, requires TOR, sells drugs - <AUTHOR> http://gawker.com/5805928/the-underground-website-where-you-can-buy-any-drug-imaginable

<comment><USER2> Besides being the third time this story has been posted to HN, it seems the original Gawker/Kotaku article has caused a 60% bump in prices over the last couple of days

[http://gawker.com/5808314/everyone-wants-bitcoins-after- lear...](http://gawker.com/5808314/everyone-wants-bitcoins-after-learning- they-can-buy-drugs-with-them)</comment>


Vuvuzela: Metadata-private messaging - <AUTHOR> https://vuvuzela.io/getstarted <comment><USER2> From their research paper at [https://vuvuzela.io/static/vuvuzela.pdf](https://vuvuzela.io/static/vuvuzela.pdf):

> Vuvuzela can support 1 million users exchanging text messages (up to 240 > bytes each) with an end-to-end latency of 37 seconds, achieving a throughput > of 68,000 messages/sec.

Unfortunately, 37 seconds, even for a privacy-aware service, seems too slow to deliver instant messages.

<comment><USER3> Our latest paper, Karaoke, achieves 6.8 seconds with 2 million active users: [https://vuvuzela.io/static/karaoke.pdf](https://vuvuzela.io/static/karaoke.pdf)

<comment><USER4> cool! does (or will) the existing Vuvuzela client use Karaoke?

<comment><USER3> It doesn't yet. I'd like to integrate Karaoke's techniques into the Vuvuzela client in the coming months.

</comment></comment></comment></comment><comment><USER5> Personally, I found the research section more enlightening. It lists two papers which talk about their approach:

[https://vuvuzela.io/research](https://vuvuzela.io/research)

<comment><USER3> Thanks. I just added our latest paper to the list.

</comment></comment><comment><USER6> Cool, but having to give data to Google to create an account is a major detractor.

<comment><USER3> Sorry about that. I need some way to prevent someone from quickly registering many email addresses. Do you have any other ideas?

<comment><USER7> What Gmail did when they started up was to give each early user a small number of invites to hand out to others. That way someone could quickly register, say, five email addresses, but only at the cost of being able to invite five of their friends.

</comment></comment></comment><comment><USER8> I love it. Gonna try and get some of my friends to use this! Plus there's something unabiguously cool about chatting through the terminal... hacker aesthetic or something like that.

How would you say your privacy + tech measure up against Signal and WhisperSystems? I love those folks and what they build and have been using Signal primarily for texting for a while now.

<comment><USER9> I agree, I wish Signal could work in my terminal somehow in a way that's more secure than their "Desktop" application. They were storing the decryption keys in plain text in a SQLite database iirc. I understand why they have to store it, but it's just bad if it's plaintext.

<comment><USER10> What's your attacker model here? On which operating system can the filesystem be compromised, but your application remains unaffected?

<comment><USER9> Any unencrypted file system can have the conversations in plain text extracted, without having to boot the OS or open the application to decrypt the contents.

</comment></comment></comment></comment><comment><USER11> Pardon my ignorance, but is a technology like this anything more than research? Ie, lets pretend there is a market for this _(ie, that people actually cared about security)_ , could this be used?

I ask because the 2M _(concurrent?)_ users would be a very small limit in a hypothetical whatsapp/telegram/etc replacement.

So my question is not a critique, but an honest question. I imagine either this is purely research, or that 2M limitation is intended to be setup for communities, where you'll have many 2M instances running. Though, many 2M instances running seems prone to isolating one group of individuals.

Thoughts?

<comment><USER3> Our followup Karaoke system [1] can support more users by adding more servers, but we still have more work to do to support billions of users. Regardless, I think it's worth deploying these research prototypes to get a sense of what problems matter to users.

[1] [https://vuvuzela.io/static/karaoke.pdf](https://vuvuzela.io/static/karaoke.pdf)

</comment></comment><comment><USER12> > Vuvuzela is the first system that provides strong metadata privacy while > scaling to millions of users. Previous systems that hide metadata using Tor > (such as Pond) are prone to traffic analysis attacks.

Pardon my ignorance here, so how is something like my IP hidden from the centralized server? I would assume "strong metadata privacy" would include the most obvious metadata, IP, and keep it from the server like Tor which they compare against.

<comment><USER13> > Vuvuzela is secure against adversaries that observe and tamper with all > network traffic, and that control all nodes except for one server. > Vuvuzela's key insight is to minimize the number of variables observable by > an attacker, and to use differential privacy techniques to add noise to all > observable variables in a way that provably hides information about which > users are communicating.

Someone watching all traffic will know that you're using Vuvuzela, but won't be able to figure out who you're communicating with. In Tor, generally if someone can see all traffic they can rapidly trace communication links-- it's encrypted, but the fact that you send packets and induce a chain of a few other packets to the target is a dead giveaway.

<comment><USER12> I understand the traffic analysis part. I'm talking about individual MITM (e.g. an ISP) or tracking DNS operators. Can my ISP tell the endpoint I'm connecting to? With Tor, my source and destination are anonymized and that provides a level of metadata privacy (strength is debatable of course). I'm wondering if Vuvuzela, whilst comparing to Tor, offers less metadata privacy on this point.

Noise to thwart traffic analysis is wholly unrelated to endpoint obfuscation.

</comment></comment></comment><comment><USER14> Anyone else receive an error when attempting to register?

`Failed to generate new Alpenhorn client: fetching latest dialing config: config expired on <timestamp>`

<comment><USER3> Sorry! We signed and uploaded new configs, so it should be working now.

</comment></comment><comment><USER15> Group chats?

<comment><USER3> Not possible yet, but I have some ideas.</comment></comment>


8-Story Antigravity Forest Facade Takes Root - <AUTHOR> http://www.wired.com/culture/art/magazine/17-09/pl_design?currentPage=all

<comment><USER2> The term "antigravity" makes little sense here. It's a plant-covered building, fully governed by typical physical laws.</comment>


Ask HN: My startup is a feature, not a product - <AUTHOR> My company sells a product in a space where there are 2-3 incumbents that capture 99% of the revenue. So far, our customers LOVE our product's primary feature, but I'm  afraid that once we actually become popular enough to register on our competitors' radars, they will simply copy our feature and we'll be toast.
Our product is not nearly as feature rich as our competitors, but we manage to consistently obtain customers by targeting a niche demographic for which our core feature is of the utmost importance.
Has anyone here been in a similar position, and if so, what did you do and how did it turn out? <comment><USER2> One of the best ways this ends is you get acquired by your competitor. Either you make a quick buck and start the next one, or you have a nice comfy job with great pay.

You could also try the Netflix route of "become HBO before HBO becomes Netflix" if you can copy all of your competitors features at a lower cost, better quality, etc.

You could not classify as a startup but instead just be a small business and slow your growth. That way you get a steady income for your own company, but not get big enough to threaten your competition.

Or you could figure out what other related needs your niche has that are unmet and differentiate yourself that way. That way you build a name for yourself in that niche and it's more than one feature that needs to be copied. Take your feature and turn it into a full product. Focus on your niche, not the broad audience your competitors have. What do your customers need that the big guys aren't doing? You're a startup, move fast and break things.

Just a few options. The worst option (IMO) is to keep your product just a feature until finally your lunch is eaten and you're out of business. I've had that happen. Doesn't feel good. Innovate, that's why you're a startup.

</comment><comment><USER3> Not necessarily the end of the world. Depends how good you are at that feature, how important it is to your customers, and how hard it is for your competitors to add it in a meaningful way. People always worry about what if FANG megaliths add my product as a feature. But it should be well known by now that they can't easily do these things without detracting from their main product focus, so they often end up half-assing it, have poor talent on those teams, etc. Occupying the main thoughtspace for your feature can be enough. Whether you're good enough to survive that way only you can tell.

</comment><comment><USER4> "targeting a niche demographic for which our core feature is of the utmost importance."

This is good. Keep doing that. Don't worry about competitors too much. Plenty of stores sell pizza but there is always a favorite in town because of their special ingredient, customer service and the ability to make customers feel good. If your "feature" does that well, you will always have customers.

Btw, the phrase "riches is in the niches" is very true. Don't underestimate the power of niche businesses.

</comment><comment><USER5> Steve Jobs (allegedly) said the exact same thing to the Dropbox founders.

[http://www.businessinsider.com/drew-houston-dropbox-steve- jo...](http://www.businessinsider.com/drew-houston-dropbox-steve-jobs-2017-6)

</comment><comment><USER6> If your feature would be annoying to people outside the niche they may not bother with it.</comment>


The Original Postal Has Been Made Open Source - <AUTHOR> http://runningwithscissors.com/?p=2318%3Fage-verified%3Db5f8c522d5?age-verified=b5f8c522d5 <comment><USER2> "the CDude class, which is the main, player-controlled character in the game."

"CDoofus is the class for the enemy guys [...] Started this file from from CDude and modified it to do some enemy logic using the same assets as the sample 2D guy."

"COstrich is the object for the ostriches wandering about in the game. class COstrich : public CDoofus"

Hilarious. Reminds me of CBruce in Tony Hawk's Pro Skater: "Their code [...] originally written for Apocalypse[...] a Playstation game featuring Bruce Willis, which, we learned, is why in Tony Hawk the code for the classes of skaters is called CBruce."

[http://www.gamasutra.com/view/feature/131563/postmortem_trey...](http://www.gamasutra.com/view/feature/131563/postmortem_treyarchs_tony_hawks_.php)

"Project: Nostril (aka Postal)"

Any idea what RSPiX Blue, Cyan, Green and Orange layers are?

<comment><USER3> From Postal Overview.txt: "The game is built on top of our cross-platform library, called "RSPiX" (pronounced "risp-icks"). RSPiX is organized into several levels, from low-level to high-level functional. Each level is named after a color." ([https://bitbucket.org/gopostal/postal-1-open- source/src/defa...](https://bitbucket.org/gopostal/postal-1-open- source/src/default/Postal%20Overview.txt))

In summary, blue provides graphics/audio/input functions, cyan is a UI framework (with printer support), and the distinctions between green and orange "become rather blurry at some points."

</comment></comment><comment><USER4> POSTAL Redux is currently $1.43 (84% off) on Steam; reminds me of Contra. Reviews say the only unexpected down side is load times; hope they can tighten that up.

[http://store.steampowered.com/app/401680/](http://store.steampowered.com/app/401680/)

Edit: I think the big "feature" is co-op.

<comment><USER5> For me, Postal 2 was the peak of the franchise.

It's goofy, and has it's fair share of [sometimes funny] bugs, plus it has first person view.

It's currently on sale for $0.99 on Steam[1]

[1] [http://store.steampowered.com/app/223470/](http://store.steampowered.com/app/223470/)

<comment><USER6> It is amazing how much objectionable content they put in that game while still maintaining a satirical black comedy tone instead of a "trying too hard" feel. The tagline was "it's only as violent as you are!" as it is possible to complete all your tasks without violence.

At one point, it has you protecting the developers of the game from anti- violent video game protestors who want to solve their problems with violence.

You can use cats as suppressors for your weapon.

You can urinate at will, and can discover you're infected with gonorrhea, for which you can get medicine.

Really, a great game for those with an open sense of humor. Postal 2 is a great example of why games shouldn't be censored.

<comment><USER7> So what you're saying is that it's the video game version of Cards Against Humanity.

<comment><USER6> I think CAH does tread into the TryHard zone, but that's personal taste. They're similar in method but different in feel.

<comment><USER8> I think CAH is going for the shock factor, while Postal is like an extended penis joke

</comment></comment></comment></comment></comment></comment><comment><USER9> This reminds me, I actually had some contact with the guys behind RWS many years ago, I was a young man and very excited about HTML/CSS and design in general, I ended up designing their forum (it was running on IPB): [http://tinyimg.io/i/5GTDNgx.jpg](http://tinyimg.io/i/5GTDNgx.jpg)

Postal 2 is one of my favourite games ever. Had a blast in both single player and online. Me and my friends still talk about it after all these years!

<comment><USER10> I spent a lot of time on that forum! In fact, I just dug through my email from 2003 looking for my photo contest submission (I didn't win but I got an honorable mention) and I found an email that I had sent to the webmaster complimenting them on the new layout. I guess that should have gone to you ;)

<comment><USER9> I wasn't a huge regular, just kinda lurked for most of the time.

I remember those forums being absolutely relentless... Definitely one of the far corners of the internet!

</comment></comment></comment><comment><USER11> Wow. Now I can play it on my Linux system. Thanks, RWS.

This, as well as being a fantastic gesture, makes it seem as though RWS understands something that many of its contemporaries don't: Games, or rather, their engines, must be open-sourced for those games to continue to be playable and relevant. You can't update your games forever, and sooner or later, they will be rendered unplayable by the inexorable march of technology. If you open source your engine, that doesn't have to happen.

Take a look at Doom. New content for Doom 1 and Doom 2 is still being released by the community, long after competitors like Duke3D have stopped. Why? Because Doom has a passionate community, and many modern, open source engines that make running the game on new systems a piece of cake.

<comment><USER12> _Now I can play it on my Linux system._

It looks like it's been available for Linux for a while. Steam has it for Linux, and the compatibility info shows Ubuntu 12.04...so, I would guess the port happened many years ago.

<comment><USER13> Postal had a very early linux port, I remember playing in the early 2000s. I think it was one of the games ported by Loki Software before they went bankrupt (ahead of their time I guess).

I remember I had some problems with sound in it because of the in-kernel sound driver for my laptop's sound chip didn't deal well with mmap()ed access, which the game required. I used the proprietary OSS audio stack which had a driver that didn't have that problem. Of course it was only an evaluation version and would shut off the sound after some minutes of play.

Kind of glad these things are rarely an issue on the linux desktop anymore :)

<comment><USER12> If it weren't so sad, it'd be hilarious how long it took for sound to even be _close_ to usable on Linux. Only in the past couple of years has it become reasonable to use Linux for any kind of serious audio work (and it is still weaker than Windows and Mac on many fronts, though the latency and RT issues have been resolved for some time). I started trying to use Linux for audio in 1995, when I was still going to school for audio recording. Only now is it actually something that one might consider doing real work with.

It's always been such an afterthought, and always so flaky. For me, it was the one thing that kept a Windows partition on most of my systems through all those years.

<comment><USER11> Most things work nowadays. Oxenfree doesn't, but that might just be my system config.

</comment></comment></comment></comment></comment><comment><USER14> This is completely off-topic, but in the vein of talking about old games. Does anyone have any suggestions for games that scratched the same itch as the old school RTS games like Age of Empires and Rise of Nations?

I've been searching for years but never found anything that eclipses the classics.

<comment><USER15> It may be only tangentially related to the genre, but Factorio has stolen far too many of my hours and is definitely worth the $20. It is engaging and challenging like no other game I've played in the past couple of years.

<comment><USER16> > _...and is definitely worth the $20_

One thing I love about Factorio (aside from everything else), is the pricing model. It never goes on sale, and never will. That means the usual agonizing over "should I buy it or wait until a sale?" is non-existent. More developers should adopt that model.

<comment><USER17> > It never goes on sale

I'm betting it will one day. I'm waiting.

<comment><USER16> [https://www.factorio.com/blog/post/fff-140](https://www.factorio.com/blog/post/fff-140)

<comment><USER17> That's fine. I still think it will. It's not like I don't have 10,000 other ways to spend my time and money while I wait.

</comment></comment></comment></comment></comment></comment><comment><USER18> I was pleasantly surprised by the amount of useful comments in the code.

I remember when the source code for Descent was released; not only was the code somewhat opaque (unless you were experienced with portal-style engines), but there were hardly any kind of comments to help guide you along.

<comment><USER12> Reading some of the docs in the source tree makes it apparent it's been ported to a bunch of platforms and for a bunch of different markets, and it looks like a lot of people have touched the code over the years. With an experienced hand guiding the process, that usually leads to good quality, in terms of re- usability, stability, and code comments. Being 19 years old is also good for quality...even if it's huge and scary and difficult to wrap ones head around in a short time, somebody has run into every possible edge case and weird compatibility issue in all that time, and they've probably fixed it. Old code bases aren't really _fun_ to work on, but they are usually really productive to work on.

</comment></comment><comment><USER19> There are some interesting notes about how the multiplayer was originally implemented:[0]

" _Once the game is running, everything is peer-to-peer. The only information the peers send each other is the local players ' input data, which is encoded as a 32-bit value (where various bits indicate whether the player is running or walking, which direction, whether the fire button was pressed, etc.). No position, velocity or accelleration data is transmitted. NOTHING else is transmitted._"

In order for this to work, they had to make sure all memory was initialized to the same values, so that each client had the same known starting state. They also had to use the same PRNG, initialized to the same state, so that a known, deterministic pattern would be produced. But eventually they ran into a problem that couldn't be solved in software: The FPU of different CPUs would not return the same results for the same inputs:

" _However, dispite our best efforts, there was still a serious flaw lurking behind the scenes that eventually caused serious problems that we couldn 't work around. It seems that different Floating Point Units return slightly different results given the same values. This was first seen when pitting PC and Mac versions of the game against each other in multiplayer mode. Every once in a while, the two versions would go out of sync with one another. It was eventually tracked down to slightly different floating point results that accumulated over time until eventually they resulted in two different courses of action on each client. For instance, on the PC a character might get hit by a bullet, while on the Mac the same character would be just 1 pixel out of the way and the bullet would miss. Once something like that happens, the two clients would be hopelessly out-of-sync._"

0\. [https://bitbucket.org/gopostal/postal-1-open- source/src/defa...](https://bitbucket.org/gopostal/postal-1-open- source/src/default/Postal%20Overview.txt)

<comment><USER20> This is also how the original Doom's networking worked[0], and still used to implement RTS networking[1] where the number of entities to be synchronized is very large compared to the amount of input.

0\. [http://fabiensanglard.net/doom3_documentation/The-DOOM- III-N...](http://fabiensanglard.net/doom3_documentation/The-DOOM-III-Network- Architecture.pdf)

1\. [http://www.gamasutra.com/view/feature/131503/1500_archers_on...](http://www.gamasutra.com/view/feature/131503/1500_archers_on_a_288_network_.php) 1500 archers is the classic treatment but also see dissenting opinion here: [https://medium.com/@treeform/dont-use-lockstep-in-rts- games-...](https://medium.com/@treeform/dont-use-lockstep-in-rts- games-b40f3dd6fddb#.aq6fut80r)

</comment></comment><comment> crack-the-code Awesome! Now just give me Diablo 2, and I will be content for life.

</comment><comment><USER21> Does the release include the original game assets, or do assets need to be purchased (like with Doom releases)?

<comment><USER12> I dunno, but Postal is $0.49 in the Steam sale right now, if you need the assets.

[http://store.steampowered.com/app/232770/](http://store.steampowered.com/app/232770/)

<comment><USER22> Even if they are available for $0.49, having them under an open source license would be very different. (It would make it possible, e.g., to modify them and ship them in other games.)

<comment><USER12> Oh, I agree. I just wanted to point out that it's on sale, and so cheap that anyone wanting to play with this should grab it.

</comment></comment></comment></comment><comment><USER23> I still have my original copy from 19 years ago, when I was 12 years old! : )

picture: [https://twitter.com/RussellBal/status/814612135150055424](https://twitter.com/RussellBal/status/814612135150055424)

</comment><comment><USER24> Many a fun time I had with the Postal level editor, placing ostrich-dispenser- dispensers around the map in great number and watching the ensuing carnage after a few well-aimed napalm canisters.

</comment><comment><USER25> Reading this, as well as the comments in this thread makes me want to play the game again. Might fire it up over the weekend and I will surely go through the code for a while!

It was a nice late-christmas present ;-)

<comment><USER23> I bought Postal Redux on Steam last night for under $2 and played to level 5. Still a very playable game!

</comment></comment><comment><USER26> Reading the source code of this is sure sobering. All files and code lines are there for the single purpose - to ship the game.

</comment><comment><USER27> Misread the title as saying "Portal"! Pleasantly surprised however - I never played Postal.

</comment><comment><USER28> I thought the title said 'Portal', not 'Postal'. Disapointed :P

<comment><USER29> It would be amazing if Valve made Source Engine open source, but that would require them to replace Havok and perhaps other middleware.

<comment><USER23> Many games from this era were free homebrew Half-life mods. I think Valve should do more to promote hacking and modding their games.

Counter strike was created as a mod by the community as well as day of defeat.

<comment><USER30> I do believe that almost all of Valve's games started out as mods.

One could make an argument that all of their games started out as mods, in one way or another.

</comment></comment></comment></comment><comment><USER31> Is there any word on a DOOM-style sourceport happening?

</comment><comment><USER32> This game is one of my favorite classics.

</comment><comment><USER33> "I regret nothing."</comment>


Lisp in Small Pieces of Clojure, part 3 - <AUTHOR> http://gmorpheme.net/lisp-in-small-pieces-of-clojure-part-3.html <comment><USER2> Slightly unrelated, but to those who have never tried Lisp because of the parenthesis (like me until recently), here's my take:

I've recently started hacking with Elisp, and I really like it. Parenthesis are obviously pretty awkward at first. But now I wouldn't leave them for anything else. As it turns out, the brackets make it easy for your _editor to understand the semantics of your code_ , to a whole new level. So your editor is now actively helping you navigate and edit your code. You go from expressions to expressions, add one after an other, transpose them and their parameters, absorb other expressions, insert them etc. It's true magic. I thinks that's why some don't like the fact that CL-loop is not "lispy" enough: you lose your editor's help inside a CL loop.

So the parents are actually really cool: you can basically tell your editor to move code around and insert / delete it instead of doing it yourself. With these tools (smart parents and paredit on emacs), your parenthesis are always matched ! And because it's lisp, you're actually forced to use these tools because it's a nightmare otherwise (which makes it kinda hard to learn at first), so you actually do learn them. I haven't used smartparents with other languages, but I hear it works pretty well.

Finally, it seems that lisp dialects compile to almost anything. Which means that you can use a lisp editor and get all its benefits even when working in clojure on the JVM or clojurescript on the browser etc. And once you're good at lisp, you can pretty much make Emacs do anything.

Conclusion: Lisp Is Pretty, give it a try when you get a chance ;)

[0] [https://github.com/Fuco1/smartparens](https://github.com/Fuco1/smartparens)

EDIT: fixed some sentences so they make sense...

<comment><USER3> My biggest complaint about lisp (which I love dearly) is that the overwhelming majority of the lisp community (or lisp communities) have already settled on Emacs as the obvious choice in editors. And for good reason, the emacs tooling is unparalleled. And because everybody is using Emacs, non-emacs tools are neglected at best. It seems quite common for stand-alone REPL's (let alone extensions for other editors) to be neglected and shoddy because everybody influential in the language's development are already using emacs and have no use for a stand alone REPL.

It's great for people who already use Emacs. But a lot of people have deep personal investment in other editors because they got started years ago programming in some non-lisp language for which Emacs was virtually a footnote. And sure, learning Emacs is possible for established programmers who are new to lisp, but learning a new editor in addition to a new language is a hurdle most languages don't have (or if they do, it's often a reasonably simplistic GUI IDE.) It's amazing how many books, manuals, etc start off on the first page saying something to the effect of _" You don't have to use Emacs... but seriously go learn Emacs."_

This all said, there are a few ways to get psuedo-SLIME behavior out of Vim but they all seem to suffer from lack of TLC and established lisp users usually look at you strange and question why you're not just using Emacs. (Also the s-exp structure of lisp code still makes it easier to manipulate in Vim (sans plugins) than other languages. The % movement really gets a workout when editing lisp code)

<comment><USER4> … but seriously, go learn emacs!

After using it long enough, you'll realise that no editing environment even comes close. emacs really is superior to everything else out there: org-mode, magit, notmuch, gnus, slack-mode, all the different programming language modes, eshell &c. combine to form the best editing & development environment out there. From that first moment you write a little bit of elisp to make your life better and for the rest of your life (or at least as long as your eyes & hands permit you to use a computer), emacs really is worth it.

 _Not_ using emacs is a bit like trying to walk from Mexico to Canada, with one leg in a splint: possible, but why hobble yourself?

<comment><USER3> I hear you, and it's not like I haven't dipped my toes in to test the waters. But after 20+ years of vim usage it's not so easy to turn on a dime. (Particularly when Vim is more than sufficient for the work I'm actually getting paid for.)

<comment><USER4> FWIW spacemacs is a pretty decent vim-alike. Not perfect, but still pretty awesome. It's tougher, though, if you've been using a lot of extensions to vanilla vim.

</comment></comment></comment></comment></comment><comment><USER5> For anyone who'd be interested in trying a Lisp (with Clojure probably being the most mainstream one at the moment) and who's been put off by the parens, paredit and/or Emacs:

\- Parinfer [[https://shaunlebron.github.io/parinfer/](https://shaunlebron.github.io/parinfer/)] - makes the parens follow indentation and vice versa and effectively makes them a non-issue at worst and a great advantage at best (you can combine it with paredit later on to perform all kinds of ninja magic when editing code)

\- Cursive [[https://cursive-ide.com/](https://cursive-ide.com/)] - a Clojure plugin for IntelliJ IDEA for a more 'just works' experience. Integrates parinfer, among other things, and is generally pretty great (I'm a happy customer).

And last but not least - rainbow parens to keep nested expressions readable. Pretty much every Lisp editor has them more or less out of the box.

<comment><USER6> I would very much NOT recommend using something like parinfer; IMO if one is learning lisp, one ought not to try to avoid the parentheses, but rather learn the advantages of using them. So instead of parinfer, use paredit and learn the key bindings for moving up/down/formard one sexpr at a time. It's frustrating at first, but after a few days, you will never want to go back to line oriented languages.

<comment><USER5> Well, first of all let me emphasise again that it's not an either/or proposition, they work together perfectly fine. Personally I use paredit extensively and yes, going back to a language/environment without it feels like having to work with my hands tied behind my back, but I still make use of parinfer as well.

Sometimes just deleting a couple of lines in Vim (IdeaVIM in my case) and knowing that parinfer will take care of the parens feels faster and more comfortable to me than using paredit. YMMV.

And as far as beginners are concerned - for someone coming from an OOP/imperative programming/C-style syntax background, a LISP will seem very foreign and weird for many reasons, the parens being just one of them.

I think having the ability to get your feet wet and start dabbling without an upfront investment is a good thing and the "jumping into the deep end" approach isn't for everyone, especially not for many beginners who at this point have only a very vague idea that a LISP might be for them and are already facing a number of new concepts that they need to get their heads around.

Parinfer requires no investment, Paredit requires some. Not much, but still. And going from one to the other as one feels drawn to explore the language is, I think, a perfectly natural transition, which requires no unlearning or changing of habits whatsoever, and as such it's also a more accessible path to getting into LISP. In my book, that's a good thing.

But here we're beginning to move into a general attitude/philosophy territory that's hard to argue about, so I'd be perfectly comfortable with agreeing to disagree and leaving it at that.

</comment></comment></comment><comment><USER7>
        While deep inheritance hierarchies
        may seem like a great way of
        modelling your concepts when you
        have a blank slate, it's a
        recipe for some extremely tight
        and non-obvious coupling that
        can deadlock refactoring attempts
        in later phases once those concepts
        have shifted and the original
        model is no longer a good fit.

This is probably the best critique of nominal inheritance I've read. It really does capture the problem and nicely alludes to the struggle of arguing against an inheritance structure. That it usually starts with many benefits but can easily grow to a constraint.

<comment><USER8> I kept trying reading this as a haiku.

<comment><USER7> Ha! Apologies. I gave a somewhat vain attempt at quoting so it would show on phones ok.

</comment></comment></comment><comment><USER9> This is part three.

Part one: [http://gmorpheme.net/lisp-in-small-pieces-of-clojure- part-1....](http://gmorpheme.net/lisp-in-small-pieces-of-clojure-part-1.html)

Part two: [http://gmorpheme.net/lisp-in-small-pieces-of-clojure- part-2....](http://gmorpheme.net/lisp-in-small-pieces-of-clojure-part-2.html)

<comment><USER10> That's whats mentioned right at the start of the article?

      This continues a translation of various parts of Lisp in Small Pieces into Clojure. For earlier chapters, see:

      Lisp in Small Pieces of Clojure - part 1.
      Lisp in Small Pieces of Clojure - part 2.

</comment></comment><comment> cup-of-tea Oh this looks great. I loved L.I.S.P. I did plan to dust off my French and try the second edition. But I'm sure I'll enjoy this just as much.

<comment><USER11> A testament about the quality of Lisp is the breadth and depth of its literature: SICP, PAIP, On Lisp, Lisp in Small Pieces, CLtL...

The only great book I'd like to see written in Lisp is CTM.

<comment><USER12> "CTM"?

<comment><USER13> [https://mitpress.mit.edu/books/concepts-techniques-and- model...](https://mitpress.mit.edu/books/concepts-techniques-and-models- computer-programming)

</comment></comment></comment></comment><comment><USER14> I applaud joyfully.

</comment><comment><USER15> (2015)</comment>


Show HN: I made a newsletter for indie hackers who know nothing about marketing - <AUTHOR> https://marketing-for-indie-hackers.ck.page/8d99bec8e6 <comment><USER2> This sounds like a valuable resource, and there's a lot of good stuff on this page: simple call to action, clear understanding of my needs (get first 100 users), and proof that you're using a service that I trust (CovertKit) to send the emails.

Here's why I didn't sign up:

1\. I have no idea who is offering this newsletter and what their accomplishments and qualifications are.

2\. I have no way to gauge the format and value of the information I'll be receiving.

Fortunately, these are pretty easy to fix: all you need is a photo and short paragraph about yourself (with links to projects that give your advice credibility) and a couple of links to example emails for users to read before committing to signing up.

<comment><USER3> Seconded. I'm interested in the topic, but there's not enough information for me to commit (and by HN standards, I'm relatively carefree when it comes to providing my email).

</comment></comment><comment><USER4> The other replies are interesting as it sounds like the bar for entry (at least from HN people) to giving up an email address (even a disposable one!) is pretty high.

Anyway I signed up - I know I can unsubscribe if I don't like it, and I very much doubt you are a spammer (which I define as someone who won't let me unsubscribe!)

It's probably worth outlining what we are going to get in bullet points, and a bit about your experience though. But hold on, I don't need to tell you that!

Good luck. I recommend sharing your story on Indiehackers.com. Marketing newsletters seem to go down well there.

</comment><comment><USER5> How do I know the content creator knows anything about marketing? In fact, the presentation of this (and lack of sales copy, testimonials, previews) makes me wary of getting information from this resource.</comment>


Why Metalua isn't Lisp - <AUTHOR> http://metalua.blogspot.com/2007/05/metalua-isnt-lisp.html

<comment><USER2> Sadly, no commit in almost a year: <http://github.com/fab13n/metalua>

(The article itself is from 2007.)

<comment><USER3> I moved on to an interesting job about a year ago, and there's only so much meaningful code you can write in a day...

I'm still working on metalua, but there are few things which are worth being published yet. Promising works in progress include:

\- friendlier syntax to write grammar extensions (current grammars are too verbose, AST builders are ugly and barely readable)

\- a library of "for ... in" generators, to walk through ASTs in a nicer, more lua-like way than with the current metalua.walk library. This should eventually become generic enough to become an interesting XML / JSON / whatever-kind-of-tree tool

\- integration with LuaEclipse, and generally speaking, more focus on metalua as a way to manipulate / refactor plain Lua programs, rather than as an independent language.

</comment></comment><comment><AUTHOR> Also see:

<http://lua-users.org/lists/lua-l/2008-02/msg00247.html>

<comment><USER4> Lua has its own corresponding social quirk: Its designers and community are _extremely_ careful about adding anything to the language that wouldn't be trivially portable or would force any choices when running embedded inside another language/project. Consequently, there are several slightly different threading libraries, several slightly different bignum libraries, etc.

On the balance, I'm quite happy with the trade-off (it's strong pressure to keep Lua small, clean, and portable), but it makes using Lua standalone a bit weird. Particularly if you expect it to have "batteries included" like Python. It's very powerful combined with C, though, whichever is the primary language.

Also, the LuaRocks (<http://luarocks.org/>) project is growing a central, CPAN-ish module repository, which helps.

<comment><USER3> Granted, core language designers are very careful about what they add; but I don't think it is the main cause of the issue you mention (proliferation of incomplete and incompatible variants of useful libraries). De facto standards could have emerged wihtout PUC's blessings, and sometimes they do: luasocket comes to mind.

It seems to me that the main social reason is a love for poor, partial and repetitive wheel re-invention. People come and reinvent yet another OO framework, OS threading interface, preprocessor, bit shuffling lib, functional table handling lib, etc. again and again, instead of focusing their efforts on a couple of most promising candidates. Java, for instance, doesn't have this issue.

Why is it so? I'd guess:

\- there's no std lib: therefore you look slightly less foolish trying to write a half-assed std lib for Lua than for Java or Python. For this reason Lua is probably doomed to consistently attract wheel re-inventors.

\- the language is too fun for its own good, with all of its meta-mechanisms. You can have a lot of fun writing a bad library, much more than in Java or in Python. Java is dull, so people communalize their boilerplate; Python has an opinionated dictator, and a culture that frowns upon gratuitous reimplementations.

\- Lua's canonical use-case is to provide logical glue around a C library. This means that "serious" Lua users don't need standardized libraries, and such wannabe-standard libs are therefore mostly written by "non-serious" Lua hackers.

I'm not sure that Lua presents enough advantages, compared to Python, to develop a high-quality "batteries included" libraries set. Python is good enough to prevent replacements from being completed, just as Emacs, or LaTeX, or Windows as a mainstream desktop OS, are good enough to prevent direct competitors from emerging.

<comment><USER4> There's an attempt to write a complete replacement for the OCaml standard library, actually. I know I'm not the only person who finds that deeply weird.

I think you're absolutely right about Python (and Emacs, etc.) being good enough to prevent many serious competitors.

</comment></comment></comment></comment><comment><USER5> > Finally, in the algol+macro category, the case of Dylan has to be mentioned. > I have a bad feeling about this language, but I can't spot why exactly. That > would be worth a separate post.

Actually .. what exactly _is_ the problem with Dylan?</comment>


HTML5 as a gaming platform - <AUTHOR> http://blog.avd.io/posts/html5-games

<comment><USER2> Personally I'd love to see more of this. I've been casually trying to help HTML5 Canvas as a gaming platform get off the ground for some time now. It's sort of a hobby at this point.

I've answered a little over 10% of all Canvas questions ever asked on StackOverflow, which has lead me to writing a few tutorials on Canvas-related issues that people come up with.

As a current side project I'm developing a set of HTML5 Canvas games that I plan to open source so that others can have some good examples and tutorials to start making their own Canvas games. The current status of that is in my profile page.

Soon I also hope to release a little booklet of all the Canvas performance issues I've come across and solutions for them, but sheer busy-ness may delay that more than I'd like.

If anyone is having issues with their 2D Canvas game development, especially performance issues that you are running in to, I'd love to hear from you!

<comment><USER3> Performance, yes, that is probably the biggest issue you are going to have with HTML5 in my experience.

I'm doing nothing more than pushing a set of tiles around a canvas element, and there are irregular hiccups where the animation loop (a simple setInterval callback) stops for a frame before starting back up again.

Granted, the stuff I'm doing is pretty simplistic, and I haven't tried to optimize for performance yet (or code around the stutters), but it's not an encouraging place to start from as a hobby game developer, let alone someone trying to make a living from it.

</comment></comment><comment><USER4> I would bet on javascript games for 2 reasons:

1\. In a short timeframe, tools that convert html 5/js code base to IOS and Android will be good enough for most of casual gameplay type (match 3, tower defense, one button gameplay, etc.).

2\. The web will slowly move from a primary game consumption platform (billions of flash games being played every day!, thousands of small studios living from their flash work), to a marketing platform for mobile games.

With one html/js code base, small indies will be able to push instantly to the web and app stores. They will keep selling sponsorship of theirs games to portals like kongregate and armorgames on the web, get their games expose to millions of visitors, build an audience and promote their app store offering in the meantime.

Win win for portals and game developers.

<comment><AUTHOR> I will always bet on JS as well.

The games you're talking about here, however fall in to the category of casual games described in the article. So for more featured games, we'll have to wait a bit longer and mature the platform as we go, but eventually we'll get there.

Good point about the same code base. I forgot to mention this in the article, but the reason the programmers say "HELL NO" is that maintaining two different code bases is a nightmare. (Semi-)automatic porting is easier and cheaper.

But that might shift in the future, we might be looking at a time when the only version you need to make is the web version, even for non-casual games.

<comment><USER5> _But that might shift in the future, we might be looking at a time when the only version you need to make is the web version, even for non-casual games._

Unless your game requires or will requires heavy duty CPU and lot of RAM. In which case, you would need to wait several generation before a phone can run your game.

Think of FPS shooters of today, except the resource spending is inverted from the art department to the software side. Instead of racing for the biggest and greatest graphic, they aim for the most complex and detailed world as possible. Instead of gameplay being only 40 hours long game, it is measured in years.

That is the kind of game I am working on.

<comment><AUTHOR> Phones need serious improvement to run these kinds of games anyway, we're probably looking at at least half the time it's going to take for these games to run with the web technology stack on the mobile to get it running even natively on the mobile. So for mobile, the wait is on, no matter what.

It's going to take a while, but our toolkits need sharpening as well, so I'm not expecting a non-trivial web game to emerge very soon. But the platform is growing in the right direction.

You got me interested, what kind of a game are you working on? Sounds like my kind of a game.

<comment><USER5> A cross between simulation and RTS game. You're supposed to build up a colony and manage your society. The details are not too abstract, as all units you see will have individual names and the details of your infrastructure are pipes, conveyor belts, workshops, electrical lines, generators, and so on.

You could say it's a "dwarffortress" except the details are totally different. For example, chopping down trees will not kill dwarves, but it does in my game. Production and logistics in my game is a lot smarter to prevent players from worrying about managing food production so that they can worry about more interesting things.

It's a very ambitious project for sure, and I am not expecting to complete the game until many decade latter. I am in this project at about 4 Kloc of code, yet a completed RTS game is about 40 Kloc. Mine will be bigger than this.

The main challenge in doing this project is whether or not I have the ability to slog it out for several decades and the ability to resist temptation to rewrite the whole codebase at once.

<comment><AUTHOR> Make sure to make a fuzz about it when it's ready to be played, I sure have to give it a shot!

</comment></comment></comment></comment></comment></comment><comment><USER6> I'm a rank amateur when it comes to game development, however I've written a few games, and have been working on one in HTML5 (in addition to having made a few 'test games', which were really just proofs of concept). I've found that the HTML5 Canvas has been great for my needs. It's certainly not at the point where it can compete with desktop games, but trying to make it do that seems absurd (is the browser really the right place for games like Mass Effect?)

That said, writing games in HTML5 is much harder than on other platforms, for example:

A) As the post mentions, the Audio APIs are embarrassingly bad. There is, as far as I can tell, no way which you can cause a sound to play (programmatically, I've never really tried to use the actual <audio> element) in a cross-browser compatible way without having to manually code for the different APIs. One would think that Audio, one of the poster children for HTML5 would have _some_ standardization.

B) Chrome/Safari (and probably IE too) refuse to rescale anything without interpolating it (e.g. no pixelated effects without manually resizing the imagedata). Firefox offers a mozImageSmoothingEnabled property on the canvas element which allows for effects like this, but unless you're developing solely for Firefox, you're out of luck.

C) If you have a large enough canvas and you get the imagedata for it, Firefox can throw an exception because it's bigger than the largest allowed array. This can be solved by manipulating the image data on a smaller canvas and drawing that canvas on a bigger one, but it's still an annoying inconsistency.

Those last two, while minor quibbles, are indicative of the kinds of problems I've run into several times while working with HTML5. Each browser handles everything in a different way, and as far as I can tell, none of them care how the others work. This means that you must test every piece of code you write on every browser you wish to support. Obviously, this has a significant negative impact on development time, and can make some games prohibitively difficult.

On the other hand, there are platforms like Java or Flash (or Unity, so I've heard), where you can write once and expect it to work identically everywhere (even on out of date browsers). That must be nice.

<comment><USER7> > is the browser really the right place for games like Mass Effect?

It's not now, but it will be soon.

The browser is the right place for games where the benefits (arguably: low friction, ease of installation, cross-platform development, everyone knows javascript) justify the costs (arguably: worse performance, lack of client- side storage for large assets, users like owning things, rapidly shifting platform, lack of peripheral access, less sophisticated audio, no UDP).

So in practice, the browser is the right place for games with low enough CPU, graphics, data, and I/O requirements. But that target is moving really fast -- partly because computers keep getting better, and partly because Google et al. are working really hard to squeeze the layers between Javascript and bare metal as thin as possible.

So you could imagine a wavefront following about ten years behind us: the browser is currently the right place for games that would have been state-of- the-art in [2002] or before. Plus or minus ten years.

You might ask, why would we put Mass Effect in the browser even when we could? If I can get really wild-eyed for a minute, I think the answer is that the browser is trying to become Neil Stephenson's Metaverse. It's the place where everyone and everything comes together in one geography. Do apps run on the server or the client? Is content user-generated or developer-generated? Is this a file system or a database? Is the API the product? Is the mobile web just the regular web? We're putting more and more complicated apps on the web because that's where they're linkable, hackable, bookmarkable, tweetable, mashable -- because if you ask me to download your thing and install it on one particular device, it's like asking me to leave the whole world and join you in your private copy, where you guard the entrances and exits and the only stuff is the stuff that you built.

OK, that was pretty nuts. But see if you can make it less nuts rather than shoot it down -- is there something fundamental we're trying to do when we put anything and everything within the frame of the browser?

</comment></comment><comment><USER8> Most HTML5 games i've seen seem to be more proof-of-concept. Is there a good example of a HTML5 game which is a proper product and which generates revenue?

<comment><USER9> Have a look at this game made in JS (be warned that the framework is closed source):

<http://playbiolab.com/>

</comment></comment><comment><USER10> I was hoping for a more technical article - the core techs for HTML5 gaming aren't _quite_ from what I can tell. WebGL and the Audio APIs in particular seem on shaky ground for the moment... it seems there are still rather major security and performance problems to deal with.

Most worrying however is the utter lack of any non-TCP networking in the browser, not even at the specification-proposal stages. Any sort of real time multiplayer really kinda needs UDP to work efficiently. P2P is also fairly important for certain applications and is in a similar state.

Anyway, not that this means to give up hope completely, just of disappointing there aren't many visible efforts to address these issues on the horizon.

<comment><USER11> >Most worrying however is the utter lack of any non-TCP networking in the browser, not even at the specification-proposal stages.

WebRTC is supposed to have a proposal for this at some point, though currently it only has video conferencing specified.

<comment><USER12> WebRTC will in fact have TCP and UDP sockets with arbitrary content, so it will be great for games.

</comment></comment></comment><comment><USER13> "So what's in common with these two games? They're both originally _mobile_ games." (Emphasis mine.)

The sad part is that once converted to HTML5 these games won't be able to run on many (most?) mobile devices. Current mobile browsers are too slow or non- standard to run HTML5 based games. The exception is iOS 5 powered devices (iPhone/iPad) since the browser now includes hardware acceleration for both HTML5 canvas and CSS3 animation transforms.

For more details, see Spaceport.io's recent HTML5 animation performance tests: <http://spaceport.io/spaceport_perfmarks_report_2012_3.pdf>

<comment><AUTHOR> Current mobile browsers, yes, very much so.

But I think Chrome for Android 4 (which I believe will replace stock Android browser eventually), IE10 for Windows 8 phones / tablets, and Firefox on B2G will change this. I've seen B2G already running mobile web games smoothly on Android hardware.

<comment><USER13> True enough, it will get better.

Old mobile browsers will be to html5 games what IE6 was to web devs.

<comment><AUTHOR> That's unlikely, mobile device lifecycles are way shorter than those of desktop computers. Even native game developers often don't target mobile devices that are outdated.

<comment><USER13> Many smartphone users are prevented from upgrading their firmware/OS. So even if the device lifecycles are shorter, developers cannot ignore legacy devices. If we look at the current Android stats for top entertainment app users:

Android 2.3.3+ = 50.79 % Android 2.2 = 23.87 % Android 2.1 = 7.22 % Android 4.0.3 = 1.42 %

As a developer, am I really going to only target my html5 or native app for 4.0.3?

p.s. Sorry for the delayed reply. :)

</comment></comment></comment></comment></comment><comment><USER14> I've been playing around with Canvas2D and now WebGL (via ThreeJS) for a little over a year for my pet project 88etag (<https://github.com/lucaspiller/88etag>). It's a clone of an old 2D space RTS I used to waste many hours playing.

Personally the biggest issues I've come across is the poor performance of the interface code between Javascript and the rendering layer. If anyone has any tips for how to avoid these they would be highly appreciated.

</comment><comment><USER15> HTML5 is critically dependent upon hardware acceleration. So anything that can't be hardware accelerated wherever the games are running will be slow. If your drivers are bad it will be slow. The next step will be people creating ridiculously complex JIT setups just to get back somewhere near native throughput. Note that is _throughput_, not latency. Every layer of abstraction adds more unpredictable pauses and non-reproducible glitches. All so people can slap together the next Angry Birds clone with zero technical artistry.</comment>


Russia is threatening to block Facebook, Twitter and Google - <AUTHOR> http://fortune.com/2015/05/22/russia-is-threatening-to-block-facebook-twitter-and-google/

<comment> T-A The Blazing Saddles hostage strategy [1] seems to be enjoying a revival lately...

[1] [https://www.youtube.com/watch?v=Z_JOGmXpe5I](https://www.youtube.com/watch?v=Z_JOGmXpe5I)</comment>


The RADStack: Open Source Lambda Architecture for Interactive Analytics [pdf] - <AUTHOR> http://static.druid.io/docs/radstack.pdf

<comment><USER2> I'm going to just throw this out here because Druid deserves some love. This may be slightly off topic, but whatever.

I've been working with Druid for over a year now with around five months being in production. The stack plays nicely with Puppet and the APIs are very straight forward.

What really sold me were two things: 1) the ability to have a self hosted ad hoc analytics backend that's on par with SaaS solutions and never have to worry about any aspect of it. I'm a programmer after all... 2) being able to "reindex" or "reaggregate" periods of time very easily using hadoop.

The entire community behind Druid, especially cheddar, deserves a crate of beer :) You've all made my life so much easier.

</comment><comment><USER3> Here's a direct link to view the paper online in case people don't want to download it: [http://static.druid.io/docs/radstack.pdf](http://static.druid.io/docs/radstack.pdf)

<comment><USER4> Thanks! We updated the link.</comment></comment>


The paradox of power - <AUTHOR> http://online.wsj.com/article/SB10001424052748704407804575425561952689390.html?mod=WSJ_hps_InDepthCarousel_2

<comment><USER2> This is such a one-dimensional piece of hoo-ha. I'm going to mostly skip the obvious reasons why a person with years of legal reasoning already 'on the books' might become less nuanced as they get older.

Looking in the wrong place

"Another study conducted by Mr. Keltner and Cameron Anderson, a professor at the Haas School of Business, measured "Machiavellian" tendencies, such as the willingness to spread malicious gossip, in a group of sorority sisters. It turned out that the Machiavellian sorority members were quickly identified by the group and isolated. Nobody liked them, and so they never became powerful."

This ignores, of course, what just about anyone has realized from the time people realized they were realizing things: the best devious people are able to be devious while being thought to be good. The gossip is quickly excluded because nobody likes a gossip. But beware the gossip that nobody even realizes is a gossip, who spreads their news by craft and artifice (perhaps without realizing it). They often spread gossip by rallying people to 'help' where their help isn't wanted and doesn't belong. Yet, because they're ostensibly being 'nice', it can be hard to object.

More practically in our domain: There are people who are good at noticing why things can fail. This isn't a particularly novel skill. Yet in some organizations, they're applauded from saving the group from disasters that were certainly around the corner! This is a devastatingly bad way to approach problems, and prevents progress. Yet it's easy to applaud because A) people like to be afraid; B) You only have to be right once to get to say 'I told you so' forever.

Much better is the person that can deliver. But of course, this is more risky: building new things risks mistakes, yet also can have opportunity. But note how quickly does the work of releasing several new products get ignored when one of them is a problem child.

Mini-tangent aside: You don't want to look at people who everyone thinks is devious and see if they succeed. You want to find people who are devious but hide it, and see if they succeed. My bet: they do. They just can't hide it forever.

Selection Bias

This article also fails to account for the selection bias at play. _Are_ executives more likely to cheat, lie, or injure others? Or is word about their lying, cheating, and injurious behavior simply both more likely to be talked about and also more wide-reaching in impact? Sally in accounting cheating on her husband isn't likely to attract as much notice as Susan the CEO. And if Bob's stealing $100 in supplies a month, how does that compare to Barry stealing $100,000 as the COO?

The fact is that such corruptions are more interesting because they make for a better story, for some definition of 'better' including "fall from power" and "the powerful are like us".

(There may also be a factor at play where a person with power never gets told 'no'. I can think of celebrities where people 'latch on' for the ride, and won't ever say anything corrective or actually helpful to the person, because to do so risks the free lunch. The crash and burn can be painful.)

<comment><USER3> I'm slightly confused, but I saw your id being bored guy and sort of realised another thing people realise from the time they start realising, that talking from the top of your head is easier than getting the hard data and actually having something to say.

Sure the article has short falling, but you can not just dismiss it like that. It contained a lot of psychological studies, it was not just an opinion piece like your comment, and actually was cool headed.

I do not think the article was about devious people in any way. It was about power and the fact that power corrupts. That you might say is something we know, but the article offers details in how it corrupts. You might say those details we know also, but hey, that's mainstream scientific journalism.

<comment><USER4> Contrary to what seems to be increasingly popular belief, you don't _need_ to cite studies to criticize an article like this. One can point out things like flaws in reasoning and logical fallacies, without having to cite any studies or research.

<comment><USER5> You don't need to cite a study but describing contrived and hypothetical counter-examples isn't the proper way to criticize empirical research either.

<comment><USER6> Unfortunately, this article is not empirical research. It points to empirical research to back up its claims, but I suspect the conclusions in the actual research articles aren't as clear as this summary.

</comment></comment></comment></comment></comment><comment><USER7> "Machiavelli insisted that the leader should always go with fear. [...] That may not be the best advice."

Ummm... Just to make it clear, as anyone who has read his book knows, Machiavelli was talking Renaissance princes and the ambitious goal of unifying Italy (400 years before it was done). His argument was that, in the treacherous and volatile atmosphere of the day, love would evaporate soon, and the ruling prince might find his subjects turning against him unexpectedly - unless they feared him. It was advice meant to keep rebellions away, not to help his popularity. What exactly do college dorms and sororities have in common with this?!

</comment><comment><USER6> The experiment with drawing the letter 'E' on their foreheads seems like a huge leap to me. Some people who don't do spatial reasoning on a daily basis might not be able to even determine which way the letter should be drawn so that others could read it. My first instinct was to draw the letter so it was backwards to other people, but it would appear correctly in a mirror - because, I think, anytime I do something to my face, I'm looking in a mirror.

<comment><USER8> I would strongly expect that for the experiment to have any validity at all, the people in the group primed with feelings of power would be selected randomly. I don't see the connection with a propensity for being selected randomly, and a lack of skill with spacial reasoning.

<comment><USER6> My point: I think I have pretty good spatial reasoning capabilities, and it took a few seconds of thinking to figure out which way I should draw the letter on my own head for other people to read it. If I had to use _reasoning_ \- that is, rational thought - then I doubt their claim that people who were subconsciously thinking of their own power would also subconsciously draw the letter so it was easier for them to read.

</comment></comment></comment><comment><USER4> I'm not a psychologists (or anything related), but it seems to me that the article is based on flawed reasoning. First it presents studies that demonstrate how "people give authority to people that they genuinely like", then they wonder why "when you give people power, they basically start acting like fools."

The subtle flaw here is the assumption is that people are given power in the same democratic way as in those studies.

When we have any power to hand over directly -- and the inclination to hand it over -- we will tend to hand it over to someone we like, true. But people like the ex-CEO of Hewlett Packard didn't rise to power just because someone said "Oh, here's a likable fellow, give him more power."

<comment><USER9> Exactly; people in power, especially in large organizations, are very nearly a self-selecting group. In the military, for example, to make it to the upper levels, you have to make a conscious choice not to retire after 20 years and instead continue to play the game. The type of person who continues to work in those circumstances are the ones who do it to gain power or prestige.

That's an obvious choice in the military, but it exists in large organizations everywhere; do I work longer hours and play the office politics so I can rise to the top, or do I go home at 5?

</comment></comment><comment><USER10> Honestly, all these Psychological studies always seem amazingly irrelevant to me.

I'm no Psychologist, so I could be totally wrong, but I think comparing the actions of CEOs to the experiments described here done with College dorms and ranked popularity is a huge leap.

Not to mention that the experiment described with drawing an E on your forehead seemed absurd to me. It seems like the explanation for it (power going to your head) was totally ad-hoced in.

</comment><comment><USER11> What amazes me is that this is presented as somehow novel. Quotes about power corrupting have been floating around for 100s of years. The most famous, "…absolute power corrupts absolutely", is from 1887 (see <http://www.phrases.org.uk/meanings/288200.html>), but similar quotes go back to _at least_ 1770.

</comment><comment><USER12> The best explanation in regards to why my boss, and everyone here's boss, is a jerk:

They attribute your failures to flaws and their own failures to circumstance or whatever life context they're in. So if they're tired or had a bad night at home, they know why they started yelling.

So basically it's basic solipsism or narcissism. They don't empathize with other people failures or mistakes and don't accept excuses for anyone but themselves.

The preceding was an anecdote.

<comment><USER13> Among the list of "improvements" that I would choose for the human cognitive architecture, very high up would be a little extra test before any thought is committed to belief or sentence is uttered aloud. Just a little addition to the mental flowchart... "is this thought a result of the fundamental attribution error? If no, proceed. If yes, rethink." [1]

We really, really need our stories and myths to teach this out of us more as children. Maybe a little rhyme or something.

[1] "actor-observer bias" to be more accurate and general, but I like the inclusion of the term "error".

<comment><USER14> We should probably also explain our existing child hood stories a little better. For example, when I heard "the boy who cried wolf" it was basically explained as "don't waste people's time". When I tell it to _my_ kids I use it to explain credibility and how people react to it, and as an example of a logical fallacy (just because the boy was a liar doesn't mean what he says is always a lie).</comment></comment></comment>


All the SquareSpace hosted web sites are down - <AUTHOR> http://status.squarespace.com/

<comment><USER2> Wow. I've been hosting with them for almost 2 years and this is the first time I've experienced an outage with them. Hopefully they're back up and running soon!</comment>