Chromebooks destroy Apple in back to school sales - <AUTHOR> http://www.marketwatch.com/story/chromebooks-destroyed-apple-in-back-to-school-shopping-2016-10-11 <comment><USER3> The key is Google Docs.

In my district, Google has really gone all-out to get Docs integrated into the teacher's repertoire and support it as much as possible. Every teacher, administrator, and student has a permanent account maintained by one IT person at HQ.

The collaboration is the primary driver. gDocs is way ahead of iWork and even my youngest kids are now comfortable working in Documents and Slides (1st graders making slide presentations! The mind boggles).

Being able to log in from anywhere (school _and_ home) is the secondary driver and, again, this is a place where Apple is too little and too late.

The iPads in our elementary school are being used less and less. It's all on Chromebooks now and, yeah, they're cheap/disposable and all the other things people are saying in this thread.

But the software is the killer.

<comment><USER4> This is exactly right. I volunteer in an after-school dropin center in a public housing project. Our big drama crises these days come when our kiddos can't remember their Google for Education (Google Docs) passwords.

We had a little grant to buy three ipads. We repurposed it to buy six chromebooks, and things are going very well.

It's really sweet, actually, with the managed chromebooks. The kiddos know what they're getting and we don't have so much of the "hey, do your homework before you play games" hassles.

<comment><USER3> Repurposing is something I forgot to mention as well.

There are a _lot_ of schools sitting on PCs from the last decade that aren't doing much other than running educational programs written for WindowsXP.

gDocs at least lets schools repurpose those machines and make them usable with the current curriculum. And then you have a foot in the door when it comes to the next round of equipment purchases.

Yeah, there's iWork on browser now but again, too little too late.

</comment></comment></comment><comment><USER5> You need to be pretty dumb to buy a Mac now. They're clearly the company's red-headed stepchild. WTF would I buy a 4 year old computer at premium price?

My business unit had gone Mac, we literally were faced with refreshing 3 year old devices with nearly identical devices. That's insanity. Our existing Macs were getting long in the tooth, getting pretty beat up and needed replacement.

We took a long hard look at our options, and decided that if Apple doesn't really care about Macs anymore, we can't either. We can't run our business waiting on some mysterious event to happen and sending staff to the mall at 5AM to pickup MacBooks when they finally refresh them.

So, we went with some of the newer, nicer HP laptops with Windows 10 and Linux. It was a hard choice, as we really liked the Apple platform. But we had to retain most of the Microsoft licensing (Core CAL, etc) for access to exchange, file infrastructure and it didn't really cost us more.

It pains me to say this, but Apple just can't execute.

<comment><USER6> >You need to be pretty dumb to buy a Mac now.

My retina macbook 13" is three years old, still as snappy as I first got it, no issues at all. Everything still works completely fine and it feels solid. The battery still holds 90% of its original charge. That's why I'll get a macbook again, because if I hadn't I'd have gone through at least 2 Windows laptops between then and now. These are just built way better. Other examples of laptops that compete on build quality, weight, and size are just as expensive.

But I do agree that they need to pull a miracle to get the mac lineup out of the sorry state it is in right now. I guess they're good enough for most people, and looking around at my university library I'm sitting in right now I can see many people with new macbooks and macbook pros. The hard part is for Apple to do something _interesting_ without making it _worse_...

<comment><USER7> I recently picked up a very inexpensive Windows 10 convertible laptop, and have been VERY impressed with it. IMO in the future the Microsoft Surface Pro line is going to have a nice little niche, and I hope Apple jumps on it before Microsoft completely owns it.

<comment><USER8> > _a very inexpensive Windows 10 convertible laptop_

which one?

<comment><USER7> A Lenovo Flex 3; I found it on Best Buy's "open box" table and paid ~$150 for it.

[https://www.amazon.com/dp/B018WE7IBE/](https://www.amazon.com/dp/B018WE7IBE/)

</comment></comment></comment></comment></comment><comment><USER9> I almost got a Chromebook a while back, but ended up getting an HP Stream instead. Still got the benefits of a Windows environment and flash storage (with an SD card slot) while only costing $200. And I've been surprised with how much it can handle. I've got Photoshop and Illustrator CS6 working on it, as well as Visual Studio Code. And I can install and run interpreters on the machine, which you can't do on Chromebook without turning it installing Linux. And the battery lasts several hours, easy.

So I can write, do graphic design, and program on it, the main three things I bought it for, where the latter two would have been much more difficult with a Chromebook.

This is just supposed to be a backup computer, one I take with me to coffeeshops and when I travel, but it's doing an awesome job at it that I use it a lot more often than I expected.

<comment><USER10> Yes, but these are kids... A windows machine will be virus and trojan-ridden within hours in their hands, and maintaining a fleet of Windows machines up to date is notoriously hard.

<comment><USER11> And a Chromebook will be Google-ridden from hour zero. :)

Still, I suppose it's useful to get kids used to the idea of all their digital lives being owned by Google. Prepares them for their future adulthood.

<comment><USER12> > And a Chromebook will be Google-ridden from hour zero. :)

Does Google Apps for Education mine anything?

<comment><USER13> No, and neither for Business.

However, after the kids finish the school, they won't have their education accounts and so they will open the free ones, because they are used to the Google ecosystem. You know, the first shot is for free.

<comment><USER14> This.

I think that it's genius and at the same time frightening at just how well Google has done in the education market, especially how well they've done at getting children to equate the internet with all things Google. Kids (at least the ones at the daughter's school) have no idea what email is. They only know Gmail. They don't know that there is any other search engine besides Google. They don't know that there are any other office suites besides Google Docs. They go to Youtube for everything. Which is easy when Google searches for things will show you a Google property before anything else.

The kids are living in a totally Google world at school since the school district went Google. They barely know anything else. And Google loves it that way.

</comment></comment></comment></comment></comment></comment><comment><USER15> I think this article is looking for a story where there isn't one.

For one, Mac sales slowed this quarter because people are anticipating the new lineup. Why would I buy yesterday's computer for the same price as tomorrow's computer? Just wait until tomorrow and get something better for the same price.

Secondly, the Windows laptop market is full of garbage, especially at the low end. Plastic, overheating, underpowered, bloatware-laden garbage. The market was ripe for a disruption like the Chromebook.

Many colleges and universities have made the jump to Google services for email and storage. It makes sense to a lot of people to use a device that integrates with these services out of the box.

So if the Chromebook is gaining steam, it's not at the expense of Apple, it's at the expense of Windows.

<comment><USER16> It's possibly also worth noting (although the article explicitly doesn't address it) that Chromebooks seem to be winning out over the idea of tablets in schools. Which, for the most part, is as it should be even given the availability of low cost mini tablets from at least Amazon. Chromebooks are a lot more versatile, in part as you observe because of the increasing ubiquity of online services.

Personally, over the past year or two I've found it increasingly easy to travel with just my Chromebook whereas I didn't and don't find travelling with just a tablet works very well.

<comment><USER17> > Personally, over the past year or two I've found it increasingly easy to > travel with just my Chromebook whereas I didn't and don't find travelling > with just a tablet works very well.

Back to sanity. Clicking here and there and forwarding mails so others do the job is not working. Nor is "networking" which might work well on a tablet. The key is creation which still requires a decent keyboard.

<comment><USER18> That all depends on what your job is, doesn't it?

<comment><USER17> Absolutely. But what I wanted to say is that we are not all Startups and foundes,

[https://medium.com/@shemag8/fuck-you-startup-world- ab6cc72fa...](https://medium.com/@shemag8/fuck-you-startup-world- ab6cc72fad0e#.v5km9ooav)

but need to get stuff done. And having a tablet doesn't make you to a CxO either. You can be creative in tying things together where the rather limiting ui and interface capabilities of a tablet are sufficient or creative by creating, where you need a decent keyboard, screen size etc.

I think we should return more to the create part than the shim shiny pretending layer.

</comment></comment></comment></comment></comment><comment><USER19> Chromebooks are cheap and simple little machines that you can safely give to children. With the available options on the market, parents are not going to buy an expensive Apple laptop for their middle or high school students. Instead, they want to give them something that can be replaced, if needed, by simply repurchasing.

In general, Apple's products are way too complex to give to a young student. Parents are "afraid" of their kids messing with the computer or bricking it, so they constrain their use and don't allow kids to experiment. Gone are the days where you can open a computer, play with the hardware, create a game, or write your own device drivers. Parents have to play the role of "IT Support" for their students/children, and if they don't know how to fix it, the computer is useless or constrained to just a few simple scripted uses.

The Chromebook fixes this by making computers disposable. The operating system, being limited in functionality to begin with, can't easily be broken. And Chromebooks are cheap enough that if they get dropped, hacked, bricked or otherwise rendered useless, you throw it away and get a new one. Chromebook reduces and removes the need for parents to mess with hardware or operating system configuration options. It also removes the concern over account sharing, itunes purchases, warez, etc.

<comment><USER16> >Gone are the days where you can open a computer, play with the hardware, create a game, or write your own device drivers.

Not really. Give them a $30 Raspberry Pi. (OK. Plus monitor and keyboard.) Even better give them a kit with a bunch of sensors.

And they can play with it to their heart's content while the Chromebook still is working for their schoolwork.

<comment><USER20> I laughed out loud at this.

"Mommy why doesn't my music work?"

"Oh sweety you need to go download the source for the audio drivers and recompile them after making a few changes so it works on the attached audio board. If that doesn't work then here's a few kernel tweaks you can try out".

<comment><USER16> I'm certainly not suggesting a Raspberry Pi is the best answer for a kid's general use computer :-) I was responding to the comment that people couldn't open up their computers any longer.

<comment><USER20> My mistake! Would be cool to see something like Novena laptops in high schools.

</comment></comment></comment></comment></comment><comment><USER21> I am a former Mac user and bought a Chromebook 2 years ago and never looked back. The Macbook had served its purpose for so long, and I had it since 2009, but no matter what I did, it was still running slow. Chromebooks were insanely faster. In the beginning, I enabled Developer Mode, installed Linux, and was relying heavily on a lot of the features that Linux had to offer, but Chromebooks pretty much have everything they need, in the form of extensions or websites that exist to perform a specific functionality, so there's a workaround for everyone. I got the T-Mobile-enabled one so I can travel anywhere with it. Love it and don't think I'll be switching to any other computer again anytime soon.

<comment><USER22> I just went the other way and replaced my Chromebook with a MBP - <USER2> Chromebook is perfect for the vast majority of computer based tasks and a good percentage of what I do outside of work can be accomplished on it.

Mainly just the lack of local development support for self learning and side projects was why I dropped it, but it's still my goto machine for holidays and throwing onto the sofa.

<comment><USER23> Agreed. Chromebook does a few common things _very_ well and at a good value.

</comment></comment></comment><comment><USER24> Apart from getting rich districts and private schools to shell out for iPads, does Apple even have an actual K-12 story anymore? It seems like we've come a long way from the labs full of Apple IIs running The Oregon Trail and Math Blaster.

<comment><USER25> 1\. my mom was teaching computer in one of those labs, I got to spend every day after school ruling Oregon Trail and Paperboy on an Apple IIe. 2\. Apple is providing free products to underserved schools, but not enough to make a difference IMO. [https://techcrunch.com/2016/09/07/apple-stays-in-school- with...](https://techcrunch.com/2016/09/07/apple-stays-in-school-with-coding- curriculum-and-a-revamped-iwork/) [https://9to5mac.com/2015/08/23/tim-cook- apple-education-gma-...](https://9to5mac.com/2015/08/23/tim-cook-apple- education-gma-interview/)

</comment></comment><comment><USER26> Of course they do - this is like Android phones "destroying" the iPhone when it comes to sales volume. For a very large percent of students the Chromebook will work just fine - no need to drop a grand on an entry level Macbook.

</comment><comment><USER27> Bit of a click-bait headline. Article lacks data. e.g. Apple #'s don't appear to include iPads sales which do compete with chromebooks. Apple is likely shipping fewer macs, but "destroy" feels like an expensive word choice.

Winning sentences: > _" Gartner, which does not count Chromebook sales with its PC numbers, recorded a more drastic 5.7% decline [in PC sales]...'While our PC shipment report does not include Chromebooks, our early indicator shows that Chromebooks exceeded PC shipment growth,' Mikako Kitagawa, principal analyst at Gartner said"_

Is the analyst using a 5.7% decline for their "shipment growth" number? Also curious about use of "sales" vs "shipments"?

 _Marketing Watch_ now worse than Barron's for accuracy among Dow Jones publications.

<comment><USER5> Sales data is hard to get for PCs in a timely manner, as most of the computers are sold through intermediaries. So the HP all-in-one desktop sitting on a shelf at Best Buy is "shipped" not sold.

Destroy is a fair term, as Mac/PCs are a mature market, and devices get refreshed on a regular cadence. Substantial downward shifts in shipments, particularly late in the year before the holidays, are indicative that back to school sales sucked and lots of inventory is still on the shelves.

Chromebook are in a growth phase. In the spring, my local Wal-Mart had zero Chromebooks. Now it has 3 models. Those three models represent more shipments plus finite shelf space permanently lost to cheapo PCs.

<comment><USER27> I agree on the chromebooks are at a different point in the product cycle vs macs. (I am also writing this from a PC).

And it makes total sense for chromebooks to be destroying Apple this quarter!

But if one is going to write an article saying that happened then have data. There is no chromebook or iPad sales data in this article.

My comment was more a complaint about finance journalism and analyst panderings.

</comment></comment></comment><comment><USER16> Chromebooks are obviously best at being web browsers. You can start adding extensions and using remote servers for other tasks etc. but, in my experience, if you're trying to use it as a regular laptop a regular laptop is probably better.

That said, given reasonable connectivity, Chromebooks are pretty much ideal for a lot of things. They're cheap, easy to keep up-to-date, and generally great for most things a student would want to do. Thin clients have been talked up for schools forever and Chromebooks are, in many respects, the first take on that to succeed broadly. IMO, they make a huge amount of sense for many students.

Personally, as I increasingly use online apps like Google Docs I increasingly find myself travelling with a Chromebook vs. a regular laptop.

</comment><comment><USER28> Despite Chromebooks not being real computers IMO, I'm heartened by the fact that these computers are cheap enough to provide access to students who could otherwise not afford anything, and now that we have even complex software such as IDEs and image editing software available through a web browser, hopefully the limitations of these won't even be real constraints for even advanced users.

</comment><comment><USER29> My kid's class has maybe 20 chromebooks and 5 ipads. It's about price.

<comment><USER23> My 5th grade daughter thinks iPads are for movies and games and her Chromebook is for homework.

</comment></comment><comment><USER30> In other news, Macbooks destroy Chromebooks in being real computers.

<comment><USER31> I own a chromebook and macbook.

I do all my coding on a chromebook. I use the ChromeOS as my GUI, dropbox as my filesystem, and crouton to run the ubuntu terminal underneath it all.

<comment><USER32> > I do all my coding on a chromebook. > crouton to run the ubuntu terminal > underneath it all.

Ditto. I can alt-tab and share clipboard between the ChromeOS environment where everything Just Works and the Crouton environment where I do my coding. Quite nice, especially considering that a Chromebook costs anywhere from 20-60% as much as an Apple laptop. I'm on a Pixel 2 (non-LS version), which replaced an MBA. Despite being one of the most expensive Chromebooks ever, it was still several hundred dollars cheaper than what it replaced - with a higher-resolution screen and better battery life.

With some of the newer Chromebooks that are out there, some slightly better and significantly cheaper than what I have now (the Acer Chromebook 14 for Work is a particular standout), a Mac starts to seem like the idiot's choice even for developers.

</comment></comment></comment><comment><USER23> We "splurged" and bought our kids a 4 GB Celeron Chromebook (as opposed to 2 GB + ARM) last year. They have user profiles for their school account and a personal account. I don't have to worry about random things showing up in /Applications. So many nice things about a box that does a few things really well that's hard to screw up.

When my 2009 MBP died 6 months later, I realized that I never go anywhere with it anymore (iPad) so I replaced it with an ASUS Chromebox. I've tinkered with upgrading storage and DRAM for using Ubuntu/Crouton, but that hasn't prevented me from relying on my wife's iMac for many things.

</comment><comment><USER33> How is this even newsworthy? Chromebooks on average sell for 1/5 the price of a Macbook, why are the two products even being compared?

One could equally argue, "More Honda civics were sold this quarter. Bad news for Lamborghini?"

<comment><USER12> Honda Civic and Lamborghini comparisons when talking about Chromebooks and Macbooks? Really?

<comment><USER17> Yes for good. It's the insight that still the content matters and not so much if it was created on a pricy MB/iPad or a ChromeBook

</comment></comment></comment><comment><USER34> It's hard to compete with a nice refurbished chromebook at Newegg for a $126 as opposed to a $1200+ MBP. If it breaks, gets lost or stolen it's no big deal. I understand the MBP can do a lot more but for the average kid or college student a chromebook is enough.

As an alternative if you really need a laptop there is always an old T420/T430 Thinkpad running Linux. It's a beast of a system and can be had for under $200.

</comment><comment><USER35> The thing to keep in mind is that Chromebooks haven't even reached their final form. Android apps are being added actively to the top end models with touch screens and will be coming to others. Sure, some touch-based apps won't work but most apps will. Eventually, we'll have Chromebooks that are either convertible or detachable and they'll be both tablet and laptop for each use case.

</comment><comment> mark-r If Apple were to come up with their own version of a stripped-down laptop that boots to a browser, would it be successful? They're certainly capable of it. Naturally it would be twice the price of a Chromebook, but it would be worlds apart in quality.

<comment><USER36> But Apple are hopeless at services, which is what the Chromebooks rely on entirely. Last time I looked I couldn't even listen to Apple Music in a browser. What year is this?

As it is i've been waiting for a new Macbook to drop as it's the one bit of Apple kit I still like. But if it's disappointing i'll simply buy a reasonable Chromebook and use the SSH extension to do work elsewhere, which with the browser covers 95% of what I do with a laptop.

</comment></comment><comment><USER31> We own both a macbook ($1000 >) and a chromebook ($180). The macbook is bloated with software, popups keep sliding down the right side, and it occasionally freezes. The chromebook "just works".

Love the iPhone but we are otherwise ditching apple.

</comment><comment><USER37> Do people really not care about some large corporation tracking everything your children do for ears at a time? There's no way in hell I'd let my child use a Google notebook that's tied to all that tracking crap.

<comment><USER38> Google tracks a lot less with apps for Education. Though they were under some heat from the EFF for it back in December.

[https://www.washingtonpost.com/news/the- switch/wp/2015/12/28...](https://www.washingtonpost.com/news/the- switch/wp/2015/12/28/google-is-tracking-students-as-it-sells-more-products-to- schools-privacy-advocates-warn/)

It's a good read as there are state laws going into effect to curl data collection and strict rules about how collected data can be used.

</comment></comment><comment><USER39> Who would expect anything else? They cost less than half of even a MacBook Air which is in need of a hardware refresh even more than the rest of Apple's notebook lineup.

</comment><comment><USER40> So do chrome books have a terminal? Package manager? Can it run apps other than chrome (sublime text or vs code)?

<comment><USER32> Yes, there are terminal apps for ChromeOS. There's an app store - two if you're on a model that supports Android apps - instead of a package manager. More importantly, there's crouton. You can use that to get at the real Linux (well OK it's Ubuntu) that lies underneath ChromeOS, with all of the terminal apps and package managers and compilers and whatever you might want. Better still, you can run all of that in a ChromeOS window, with full clipboard integration etc. so you can copy and paste between them.

</comment></comment><comment><USER41> This is a bit misleading... the reason Chromebook sales have gone up is because many middle / high schools are starting to provide free Chromebooks to all students.

<comment><USER42> How is it misleading?

Regardless of the reason, Chromebook sales are up.</comment></comment>


Elementary OS Luna Beta 2 released - <AUTHOR> http://journal.elementaryos.org/journal/luna-beta-2-released

<comment><USER2> woohoo i love elementary

hoping i'll find their stuff usable on arch soon :D</comment>


Ask HN: What is a rational business model for a digital society? - <AUTHOR> <comment><USER2> Opinion

In the next hundred I believe the answer is already known and the universities will be thought of as a negative - think of the guilds - once the heart of craft production. Computers drive the cost of information processing to zero so it is a bad idea to be in information processing unless you are a computer, own the production or you doing something complimentary to information processing that is not information processing.

I believe most people in our society are like being a farmer in 1700 - understanding tractors and fertilizer means higher production and then concluding this means 2000 will be intensely agricultural. What happens is the relative importance of food declines and while it never disappears the social status and economic importance of food production goes away.

This is true if the information revolution is successful. If the price of information became high in a digital society it would be seen as a lucrative trade but as socio-economic transformation it would have failed.

If this is correct there are measurable ways we would know.

Wages for trades would start an inexorable rise. The universities not sponsored by capital owners would go bankrupt. Middle class wages would decline - or hold steady while the absolute number of workers declines if there is gatekeeping.

I walked by an old farm. They had the old machinery nobody remembers, strange devices where ingenious men obviously put sweat and tears and intelligence into. It was melancholy - though I'm sure they had their moment in the sun they would have been quickly superseded. A lot of the pleasure we experience in our life with food and food lifestyle came on the backs of men like these real innovators - and though I'm anti-communist it pains me to see the war against human toil forgotten and disrespected by 2020 culture which has contempt for those who sacrificed for us. Much gets made out of race and class superiority in the culture war - but my strongest belief has been that the biggest contrast is between the dead and the living - we are moral midgets and they were giants. The only person I can think might deserve a statue is Elon Musk - who does not coincidentally come out of a time dilation at the frontier.</comment>


Regexes vs. Combinatorial Parsing (2019) - <AUTHOR> https://khanlou.com/2019/12/regex-vs-combinatorial-parsing/ <comment><USER6> > This is really the only way to get composability with regexes

If you restrict yourself to "real" regular expressions (avoid Perl extensions and such), they express regular languages[1], which do compose very well, and can be compiled into finite state machines.

Regular languages are closed not only under concatenation and Kleene star, but also:

        - <USER2>
        - <USER3>
        - <USER4>
        - <USER5>

and more.[1]

Real FST libraries like HFST or OpenFST let you compile and compose regular expressions this way. It's too most "standard" regex libraries stop at "re.compile" and never implement concat/intersect/complement/reverse/union.

\-----

For the readability issue, give rx[2] a go – you can turn plain regexes into rx syntax with xr[3] :)

[1] [https://en.wikipedia.org/wiki/Regular_language#Closure_prope...](https://en.wikipedia.org/wiki/Regular_language#Closure_properties)

[2] [https://www.emacswiki.org/emacs/rx](https://www.emacswiki.org/emacs/rx)

[3] [https://github.com/mattiase/xr](https://github.com/mattiase/xr)

<comment><USER7> > ... and can be compiled into finite state machines. ...

I am not a big fan of this argument without a 'but'. It is usually overlooked that the finite state machine can become exponentially large (=totally unusable), because sets of non-deterministic states are used for deterministic states. This caused me major trouble in a project where this effect was not noticed during the design phase.

I find this important to stress because the finite state machine can usually be constructed without problems (e.g. by the flex tool), so this property of regexps is undoubtedly useful.

But sometimes, it may explode on you.

<comment><USER8> That's _deterministic_ finite state machines (DFA); the nondeterministic (NFA) representation is linear in regex length (unless you use "a{99}", but that's nonstandard for a reason). You can also do concat/intersect/etc directly on the (actually-regular) regex representaion directly, although it _is_ a bit ugly.

</comment></comment></comment><comment><USER9> So regexes tend to be inscrutable and uncomposable largely because of legacy, and partly because your operators naturally clash with the characters you're trying to match.

When Larry Wall was designing Rake nee Perl 6, he started by throwing out the POSIX baggage[1] to make the new regexes more readable. I think the common cases are far more readable, though you can judge for yourself.

It definitely improves composing regexes by providing a sane, built-in syntax for it.[2]

And since you're reading this, Raku also offers a full parser through its grammars.[3]

[1]: [https://design.raku.org/S05.html#Simplified_lexical_parsing_...](https://design.raku.org/S05.html#Simplified_lexical_parsing_of_patterns)

[2]: [https://docs.raku.org/language/regexes#Regex_interpolation](https://docs.raku.org/language/regexes#Regex_interpolation)

[3]: [https://docs.raku.org/language/grammars.html](https://docs.raku.org/language/grammars.html)

<comment><USER10> What Pike did is creation of language feature. Original post talks about library.

Libraries in well-typed languages are of about same power as language features and they are within reach of ordinary programmer. If you need a library, you can write it and use and publish. If you need a (change of) language feature, you have to convince others to write that for you.

<comment><USER11> That claim is false, I just need to bring one counter-example to disprove it. In Perl, regex is a language feature, yet it can be easily supplanted with a library that anyone can use and publish: [https://metacpan.org/search?q=re%3A%3Aengine%3A%3A](https://metacpan.org/search?q=re%3A%3Aengine%3A%3A) It is not necessary to convince the Perl maintainers to write that for you.

<comment><USER10> You, from my point of view, disproved nothing.

Can you intersperse regexps-as-language-feature with regexps-as-a-library? If answer is "yes", then, I think, you actually proven my point and what is language feature is, actually, a library in disguise. A special kind of library, so to say. If answer is "no", then if you miss something in first thing (an ability to add arbitrary parsing from these libraries, for example) you need to convince language maintainers to work for you, at least, review your work and your proposal.

</comment></comment></comment></comment><comment><USER12> Some quick thoughts on the first two problems listed:

Inscrutability - use the `x` modifier and allow whitespace and comments, e.g.

        /^(\\^+|_+|=)?([a-gA-G])(,+|'+)?(\\d*)(\\/)?(\\d*)$

becomes:

        /^
          ( \\^+ | _+ | = )?  # sharps and flats
          ( [a-gA-G] )        # notes
          ( ,+ | '+ )?
          ( \\d* )            # duration
          ( \\/ )?            # fractions
          ( \\d* )            # more duration? I'd need to read the spec
        $/x

and use different delimiters to remove escaping of slashes:

        <^
          ( \\^+ | _+ | = )?  # sharps and flats
          ( [a-gA-G] )        # notes
          ( ,+ | '+ )?
          ( \\d* )            # duration
          ( / )?              # fractions
          ( \\d* )            # more duration? I'd need to read the spec
        $>x

That's already much more readable, but then we have complaint number 2, composability. If you language supports it then use interpolation:

        SHARPS_AND_FLATS = /\\^+ | _+ | =/x
        NOTES = /[a-g]/i

        <^
          (#{SHARPS_AND_FLATS})?  # sharps and flats
          (#{NOTES})              # notes
          ( ,+ | '+ )?
          ( \\d* )                # duration
          ( / )?                  # fractions
          ( \\d* )                # more duration? I'd need to read the spec
        $>x

You see how it could go on. I'm not saying regex are always the right solution and not all languages have access to the same tools but there's often a lot that can be done to mitigate the awfulness (and a lot more here, lookarounds, named captures etc).

The `x` modifier is the #1 fix, I never write anything above the most simple regex without it, and for the life of me I can't understand why it's hardly ever used.

<comment><USER13> Do you have a tutorial or article you recommend to read up on x-modifier?

<comment><USER12> My favourite regex site is Rexegg[1]. I thought it had died so I was using archive.org but it appears to be back. Unmatched, in my opinion.

Still, there's not much to the `x` modifier, you just need to know that it will ignore implicit whitespace and comments (# blah blah) so you must use `\s` or `\t` etc when you really want to match some whitespace. Otherwise you can do things like:

        "Hello, world!".split(/ [ \s , ]+ # this splits on at least one space or comma /x)

Which is overkill for a simple pattern (then again, why not?) but unbelievably useful for a complex one. Add spaces and newlines until it's readable.

It's a small change but a big effect.

[1] [https://www.rexegg.com/regex- modifiers.html](https://www.rexegg.com/regex-modifiers.html)

</comment></comment></comment><comment><USER14> One approach I like for this sort of thing is Pratt parsing. A full Pratt parsing "library" can be implemented with barely any work (hour or two), and from there you get quick and easy expression parsing with full support for precedence levels, left/right associativity, infix operations, etc.

Doc I read for introduction to the area: [http://journal.stuffwithstuff.com/2011/03/19/pratt- parsers-e...](http://journal.stuffwithstuff.com/2011/03/19/pratt-parsers- expression-parsing-made-easy/)

Quick little TS implementation: [https://github.com/JacksonKearl/PrattParse](https://github.com/JacksonKearl/PrattParse)

Above used in a cute little D&D dice rolling discord app (basically implementing a language with random variables as literals & first-class values): [https://github.com/JacksonKearl/RollDice- Discord/](https://github.com/JacksonKearl/RollDice-Discord/)

<comment><USER15> I found this article[1] to be a great introduction to Pratt Parsing as well, it even ties into how it's actually a Shunting Yard algorithm in disguise[2].

[1][https://matklad.github.io/2020/04/13/simple-but-powerful- pra...](https://matklad.github.io/2020/04/13/simple-but-powerful-pratt- parsing.html)

[2][https://matklad.github.io/2020/04/15/from-pratt-to- dijkstra....](https://matklad.github.io/2020/04/15/from-pratt-to- dijkstra.html)

</comment></comment><comment><USER16> I actually love parser-combinators.

Something about writing them feels very 'correct' and they're often the first I reach for when I've got to parse something and there isn't a pre-existing library.

It's one of the tasks Haskell feels especially well suited for: the function composition tools and the syntax make reading and writing them especially straightforward. Writing parser combinators in other languages just feels clunky.

<comment><USER9> They are honestly fun to write, but then you're doing recursive descent. Having written a significant one, I felt the elegance of the concept was marred by all the workarounds creeping into the code.

</comment></comment><comment><USER17> Parser combinators allows one to take the large problem of parsing a language, decompose them into smaller, solvable problems of applying grammar rules, and then compose the solution together via combinators. This is a simple-yet- powerful approach that I wish were more prevalent in other areas of software engineering. Most tools that we know and love (e.g. regex) aren't composable enough.

</comment><comment><USER18> The readability is something you can get with a simple builder over regexes. Emacs has rx, as an example.

Getting back a parse tree, though, is a huge step. I've always been surprised that there isn't a bnf language that lets you write the grammar and get back an instance of it from a string. Yacc, I suppose, is what I'm asking for. Feels off, though.

</comment><comment><USER19> The ABC notation reminds me of the SMX notation I used on the IBM PC BASICA back in the 1980s. [https://en.wikipedia.org/wiki/Music_Macro_Language#SMX](https://en.wikipedia.org/wiki/Music_Macro_Language#SMX) . I used to have a lot of fun encoding simple songs that way - and debugging my songs.

I haven't used it since then. I quick comparison now shows the two formats have different heritage. Still, the flashback was nice.

</comment><comment><USER20> This has my been experience, too. We needed to parse a complex DSL in Lisp and I was hoping we didn't have to use RegEx for all the reasons you mentioned. The parser combinator we used (MaxPC) brought with it many advantages: readability and small individual parsers were at the top of the list.

There was a learning curve in switching to how to think about parser combinators but, once we had tried every single construct in MaxPC and done everything wrong that was possible(!), we learned how to really make the system fly. Now I feel comfortable that we could write a parser for anything with these ideas.

And your music notation parser sounds cool.

</comment><comment><USER21> It could be clearer if you used Raku regexes

        my $pattern = /:sigspace
          ^
          score  $<points>     = (\d+)
          for    $<nights>     = (\d+)  nights?
          at     $<hotel-name> = (.*)
          $
        /

        if 'score 400 for 2 nights at Minas Tirith Airport' ~~ $pattern {
          say "the score was $<points>";
          say "it occurred over $<nights>";
          say "at $<hotel-name>";
        }

Or if you really wanted to be ambitious, a grammar

        grammar Pattern {
          token points {\d+}
          rule  nights {<(\d+)> nights?}
          token hotel-name {.*}
          rule TOP {
            score <points> for <nights> at <hotel-name>
          }
        }

        if Pattern.parse('score 400 for 2 nights at Minas Tirith Airport') {
          say "the score was $<points>";
          say "it occurred over $<nights>";
          say "at $<hotel-name>";
        }

Note that only the `s` is optional `?` in `points?`. To make the whole thing optional would require grouping it in some manner `[points]?` or even `"points"?`

</comment><comment><USER22> Scheme irregex addresses a lot of these problems. It has become my go-to tool for regular expressions in scheme.

[https://srfi.schemers.org/srfi-115/srfi-115.html](https://srfi.schemers.org/srfi-115/srfi-115.html)

</comment><comment><USER23> I really like playing around with combinatorial parsers. I feel like it's almost a natural development in any software engineer's life:

* Very Early Days: Basic string manipulation.

* Early Days: Regular expressions; perhaps including misguided efforts to parse HTML/e-mail addresses, only abandoned due to what seems like never ending complexity, rather than realising it's not possible.

* Not Long After: Overusing/abusing regular expressions; perhaps with the understanding that they can't solve all parsing problems, but will get you most/some of the way there; you know about parsers, but they feel too mystical ("something that a compiler does").

* Pre-Enlightenment: Writing very simple, recursive descent parsers; perhaps reading up/playing with things like Yacc, Bison, ANTLR, etc.

* Enlightenment: Abstracting your earlier recursive descent parsers with combinator primitives that maybe mimic the quantifiers used in regular expressions. Now you can parse (almost?) anything! (n.b., This step often only happens if you've first delved into functional programming.)

* Post-Enlightenment: Overusing/abusing parser combinators -- DSL all the things!! -- but all the while, perhaps realising their limits/complexity class.

I'm being somewhat facetious, rather than giving myself a backhanded compliment, but you get the idea :) The more powerful tools you discover, the more you want to use them until you inevitably outgrow them. Besides realising that "lesser" tools have their place, I'm curious what happens next...

<comment><USER24> > * Post-Enlightenment: Overusing/abusing parser combinators -- DSL all the > things!! -- but all the while, perhaps realising their limits/complexity > class.

Have you looked at the Rosie Pattern Language? I think it's quite an interesting attempt at a more "high level" modern pattern language. It's more human-readable and tries to make adding tests as easy as possible (given how monstrous regexps can get, I think the importance of that shouldn't be underestimated)

[https://rosie-lang.org/blog/2019/07/18/practicalpegs.html](https://rosie- lang.org/blog/2019/07/18/practicalpegs.html)

</comment></comment><comment><USER25> I had a great experience using PetitParser ([https://github.com/petitparser](https://github.com/petitparser)) in Dart, though it turned out my use case was a bit hairy for combinatorial parsing: I made a parser for org-mode ([https://orgmode.org/](https://orgmode.org/)) markup, which is similar to Markdown.

Markdown-like formats are quite line-oriented and sometimes context-sensitive in ways that make rules hard to express.

I did get something usable, but I had to make some new primitives and break some efficiency rules (copying substrings).

The result is here: [https://github.com/amake/org_parser](https://github.com/amake/org_parser)

(Shameless plug) It's used in my FOSS mobile org-mode viewer app Orgro: [https://orgro.org](https://orgro.org)

</comment><comment><USER26> > In order to compose these regexes together, we have to break them apart > first, and then apply some string concatenation

I have been fighting with that for parsing sentences which contains locations, and yeah there is no easy solution. My final way of doing it is a combination of :

\- string variable concatenation

\- regex multi-line mode

\- comments inside the regex

</comment><comment><USER27> I discovered parser combinators a few years ago in Scala with parboiled[1] and fell in love with them. Although I haven't use them lately, I still have to look into Fastparse[2], and I'm sure I will have fun going through this article of parser combinators in Rust[3].

[1] [https://github.com/sirthias/parboiled2](https://github.com/sirthias/parboiled2)

[2] [https://github.com/lihaoyi/fastparse](https://github.com/lihaoyi/fastparse)

[3] [https://bodil.lol/parser-combinators/](https://bodil.lol/parser- combinators/)

</comment><comment><USER28> And the next level would be to create a grammar for what one wants to parse, which would make it more declarative and even better.

The problem with parser combinators is not as big as with regular expressions, but they still have a problem, once the format suddenly changes. You might need to change your code, possibly a lot. Using grammars, you can change only the declarative grammar and the program stays the same. Also a grammar can be used from other programming languages as well, if they support the same grammar syntax (have a parser for that syntax, ha!).

</comment><comment><USER29> Parser combinators are fantastic tools, and in many languages there isn't a need to roll your own like the author did. I've enjoyed the following in Python and C#: [https://github.com/sighingnow/parsec.py](https://github.com/sighingnow/parsec.py) [https://www.nuget.org/packages/LanguageExt.Parsec/3.4.15](https://www.nuget.org/packages/LanguageExt.Parsec/3.4.15)

</comment><comment><USER30> Elixir has the NimbleParsec library which generates parsing code that takes advantage of pattern matching for high performance and low memory usage due to the BEAM virtual machine optimisations.

[https://github.com/dashbitco/nimble_parsec](https://github.com/dashbitco/nimble_parsec)

</comment><comment><USER31> I've had a good experience with this approach recently for a project where I wanted to extract the components of a recipe ingredient: [https://github.com/JedS6391/RecipeIngredientParser](https://github.com/JedS6391/RecipeIngredientParser)

</comment><comment><USER32> Brilliant, having not thought about the subject deeply, it seems this article is like an intellectual rendering of my otherwise subconscious frustration.

Now we just need a better solution.</comment>


Exploiting common crypto flaws (Google Tech Talk) - <AUTHOR> http://rdist.root.org/2009/08/06/google-tech-talk-on-common-crypto-flaws/ Why implementing your own crypto isn't such a good idea. How saving 10 bytes cost the IETF 28 bytes more and compromised the XMLDsig security. <comment><USER2> Evidence why this kind of talk is needed, ironically on the same day: <http://news.ycombinator.com/item?id=748430>

<comment><USER3> Hey Nate, I watched your google talk yesterday from work. I've always been fascinated by cryptography as it seems to be one of the more complicated branches of computer science. I was trying to find this info online, but to no avail: what sort of education does one need to have a solid foundation in this field? And if you don't mind, what's your educational background :D

Cheers and thanks for the educational video!

</comment></comment><comment><USER4> I know you just have too much content for the time you're given in these talks (I doubt anybody in the audience really got the padding oracle thing, for instance), but I'm still surprised at how few questions you got at the end.

Maybe Hacker News will generate better questions.

<comment><USER5> I was surprised by that too. I usually take that as a sign that either everybody understands or nobody understands. Hopefully the former.

<comment><USER4> There was like one guy asking questions at the end of his Yahoo talk, too, and that guy was just saying "don't use Google's library, use Yahoo's!".</comment></comment></comment>


Pride and Prejudice and Z-scores - <AUTHOR> http://blog.revolutionanalytics.com/2016/04/pride-and-prejudice-and-z-scores.html <comment><USER2> The post is a brief summary of an article by the person who did the analysis:

[http://juliasilge.com/blog/If-I-Loved-NLP- Less/](http://juliasilge.com/blog/If-I-Loved-NLP-Less/)

Which goes into considerably more detail, and has animated GIFs.</comment>


Show HN: I neglected my med school finals to develop an iPhone app in two months - <AUTHOR> https://medium.com/p/835a921b1dea

<comment><AUTHOR> Hey everyone, I'd love to hear why you think of my app. It's an agnostic personal tracker for the Quantified Self—you can create a tracker, and decide to log numbers, text, boolean values, times and scales. Once a tracker is made, it'll show up on your home screen where you can add a record—they'll all show up in a timeline view on the Records page. You can also add default values—for example, I usually take 300 milligrams of krill oil at a time, so that's set as the default dose. That then allows me to simply swipe to the left and record it—no need for pulling up Excel and wasting too much time. There's also CSV export—visualization and analysis will hopefully be coming soon.

The link above is a post explaining the app and my motivations behind it. I'd love to hear your thoughts, and I'm willing to answer any questions—whether quantified self, learning iOS development, Quantime or even medical school. Let me know what you think!

EDIT: Just a quick clarification—school is fine, it's 100% my main focus, just thought some hyperbole might be welcome after the "30 apps this year" post last week. I'm definitely sticking with it, and I'm definitely getting my MD. I'm too far in to stop now, haha. Like I mentioned to danso, main interest is in radiology, which is a tech heavy field, and I hope that my background in technology will help me push medicine toward the innovation it needs.

</comment><comment><USER2> Nice page and explanation (though you'll need your own domain)...I'll have to echo what notastartup said...this is probably a textbook case of when _not_ to go on a hacker binge and the concept of "there's a time for everything"... A. Because of the timing of your finals, and B. the idea you have, while useful and well-thought out, is one that is going to take some time to gain traction. Quantified-self is important, but not that many people get it, or would know what to do with it.

Even if your intention was to go all into tech, it probably would've been better to just spend your off hours on this project, and keep your focus into med school....even if you had no intention of ever being a doctor. Because this:

"Use this iPhone app built by a doctor!"

sounds better than:

"Use this new iPhone app!"

You probably didn't want this to turn into a discussion of life choices, but that's the tradeoff you make when you use a title that is meant to generate interest like that...

(note: since you're only a second year student, it's probably not that bad to quit now, if that's what you really want to do)

\----

edit: that said, the medical profession is in great need of doctors who grok what you do. Even if this app doesn't become the kind of hit that lets you quit med school, you'll obviously have talents and resources not available to the standard doctor.

As Atul Gawande said:

"If you count something you find interesting, you will learn something interesting."

[http://books.google.com/books?id=DepE_UwgkSQC&lpg=PA255&ots=...](http://books.google.com/books?id=DepE_UwgkSQC&lpg=PA255&ots=htch5cddvF&dq=%22If%20you%20count%20something%20you%20find%20interesting%2C%20you%20will%20learn%20something%20interesting.%22&pg=PA255#v=onepage&q=%22If%20you%20count%20something%20you%20find%20interesting,%20you%20will%20learn%20something%20interesting.%22&f=false)

<comment><AUTHOR> Hey, thanks for your comments! I have a teaser page at [http://quanti.me](http://quanti.me), I just like Medium as a blogging platform and thought it might be useful for this.

You're right, I'm mildly regretting the title, but school is my number one priority and I intend on obtaining my MD. My main interest is in radiology, which is a tech heavy field, and I hope that my background in technology will help me push medicine toward the innovation it needs.

I really do appreciate you taking the time to talk about life choices though, as unintended as it was.

</comment></comment><comment><USER3> ohhh man....I would've taken the med school finals first to secure a firm footing on path to upper middle class, and then hire some Indian app developer to make it in a few days to test the market fit and then hire more developers to grow it and work my way up to high class society.

<comment><AUTHOR> Haha, I've given the outsourcing thing a shot on a couple of projects before—it's never worked out, and it's actually the reason I started learning to program.

The title was a bit hyperbolic—I was only working on it during my evenings, and a lot of it was Thanksgiving/Winter breaks, so finals went fine (P=MD anyway!). I don't regret the amount of time I put into it, and hopefully I'll figure out the product/market fit soon!</comment></comment>


Idea Feedback: CMS Vault - <AUTHOR>

A few ideas have been bouncing around my head for a while now so I decided to codify them on a Osterwalder-style business model canvas.
This particular concept is called CMS Vault. It addresses hosting disasters that I personally faced with clients' sites over the past few years, including failed upgrades, hackings, site-jackings, and buggy plugins.
What I'm looking for from the HN community is the following:
- intuitiveness of the overall concept.
- validation of stated problem.
- viability of the solution.
- tips for execution.
- market segmentation.
- cautionary tales.
The canvas can be viewed here:
http://www.scribd.com/doc/75834784/CMS-Vault
I will appreciate any and all feedback from the HN community. <comment><USER2> The problem I think you are trying to solve isn't much of a problem.

I've been developing with CMS applications for 12+ years and have never once ran into any of the issues you described above (failed upgrades, hackings, site-jackings, buggy plugins) to such a degree that I wanted/needed to completely switch the CMS platform.

I'd urge you to NOT build a product for developers. I know it's tempting because the ideas we (developers) come up with follow the 'scratch your itch' advice. I wrote a blog post about this: [http://www.travisdoes.com/you-itch- sucks-scratch-somebody-el...](http://www.travisdoes.com/you-itch-sucks- scratch-somebody-elses)

I'd highly recommend you focus your efforts on building a B2B SaaS product. There are millions of great opportunities to build boring, but profitable niche products.

If you need help finding some ideas, shoot me an email.

<comment><AUTHOR> First of all... good blog post. Money quote: "Your universe is small and very hard to sell to."

Secondly, I hope I am not misunderstanding your comment, "... completely switch the CMS platform." While it may not be clear in the slide, this is not a new CMS. It is a backup and security service for popular CMSes.

Secondly, I am not aiming this service at other developers. It's partially omitted in the slide but the market segment is administrators of sites that receive >15K uniques per month.

Administrators != Developers. 15K+ uniques per month implies traffic is high enough to monetize which means uptime is critical.

Does that alter your opinion? Or generally, are there any parameters on the slide that could be tweaked to reach a threshold of viability in your opinion?

</comment></comment><comment><USER3> Clickable: <http://www.scribd.com/doc/75834784/CMS-Vault></comment>


Show HN: Silly weekend project sends physical postcards using Sincerely & Stripe - DanI-S https://www.mailmeme.com

<comment> DanI-S Author here! I had fun building this, and Sincerely and Stripe are both nice to work with. I'd be more than happy to answer any questions.

It's written in node.js using expressjs, backed by mongodb, styled with bootstrap and reverse-proxied behind nginx on EC2. My aim was to prove whether this is a nice stack to work with for rapid prototyping - and it worked very well.

</comment><comment><AUTHOR> >Meme

I dont think that word means what you think it means, and I think you should google it.

<comment><USER2> Meme: An image, video, etc. that is passed electronically from one Internet user to another.

Seems pretty appropriate in this case.

It looks like a fun idea. How do the postcards look in printed form? I imagine quality is not great?

<comment> DanI-S Thanks! It's pretty silly, really, but it has been fun to play with. I only got switched to 'production mode' by Sincerely on Sunday, so I have yet to receive any of my test postcards - but their main business is printing people's photographs, so I think they should be fairly acceptable quality.

<http://sincerely.com/>

<http://dev.sincerely.com/></comment></comment></comment>


Weird text over emacs. What causes it? - <AUTHOR> http://imgur.com/SVq5ssU

<comment><USER2> Without a context, not possible to say. What device, what software?</comment>


FedEx apologizes for not delivering Huawei phone, cites operational error - <AUTHOR> https://www.reuters.com/article/us-huawei-tech-fedex-usa/fedex-apologizes-for-not-delivering-huawei-phone-to-u-s-cites-operational-error-report-idUSKCN1TO047 <comment><USER2> everyone keeps writing about how "we live in the age of corporates", and how "the state has no power today". and then US corporations, arguably the largest and most powerful of all of them out there, simply bend over to the any whims of the US gov like they're literally grass under a boot.

also, same gov: "we do free trade, but only with our nsa infected stuff"

<comment><USER3> Corporates (when united) and the government are roughly in parity regarding "soft" power. Sometimes one wins, sometimes the other does. The government does a lot of sabre-rattling towards corporates who step out of line, but they often can't do much more. There is a real risk of dynamiting the economy if they start being too harsh, and the problem right now is that everyone is a bad actor in one way or another, so you can't just start aggressive enforcement across the board.

When it comes to individual corporates or smaller groups of them, it can be productive to think of the government as its own collection of organizations with their own relative power levels, budgets, connections, etc. The DoD is the largest organization in the world, so it's got a lot of weight; when it steps in, people listen and obey. Dept of State is pretty big as well, especially considering its connections to other powerful entities. By contrast, smaller organizations like the EPA tend to get ignored, and the worst they can usually do the big guys is a slap on the wrist.

</comment></comment><comment><USER4> It may be odd to say, but I am glad that it is getting widely reported. ITAR, OFAC and such ( how to classify em as a group ) black lists have been getting ridiculous lately. It may worthwhile showing American public how restricted the free trade really is.

</comment><comment><USER5> "FedEx can accept and transport all Huawei products except for any shipments addressed to listed Huawei entities on the U.S. Entity List,"

What does this even accomplish?

<comment><USER6> There was an incident recently where a tech website was unable to send a Huawei phone they were reviewing from their UK office to their US office because FedEx sent it back. I believe this is in reference to that.

</comment></comment><comment><USER7> Looks like US only wants you to be able to get your NSA-backdoor approved devices.

<comment><USER8> Well other international companies are not banned, and there is a lot of info indicating that China actually has spying hardware/software in many of their products and actively trying to insert them elsewhere, so it's probably more about that than about USA's spying. (Even though they do a lot of that too of course.)

<comment><USER9> I've never seen any proof of China actually using their exported devices for spying purposes. At most you can say their smart phones are leaking personal information back to China, but Google is no different.

The Chinese do, however, excel at industrial espionage through many means. In fact, they're so good at it that I've rarely seen reports of industrial espionage where the allegations actually stick in court.

<comment><USER10> > I've never seen any proof of China actually using their exported devices for > spying purposes. At most you can say their smart phones are leaking personal > information back to China

How are these different?

<comment><USER9> In the same way that I don't see Microsoft and Google as American spying operations on the rest of the world. There's very little stopping the US government from forcing Google to give up my information "because of national security" but the Snowden leaks proved that the US government doesn't work that direct. Still, I don't see Android phones as international espionage devices.

Perhaps your opinion may vary, but so far the most conclusive proof of spying is against the US and UK government, both of which are screaming at everyone that big evil China is trying to steal all of our secrets. Maybe it some kind of distraction manoeuvre ("we're spying but only because they're doing it!") but the anti Huawei hysteria is greatly exaggerated.

<comment><USER8> > screaming at everyone that big evil China is trying to steal all of our > secrets

It is well established that China, including huawei have been stealing a lot of intellectual property, many of their products (initially at least) are simply reverse-engineered copies of western products of other companies. Huawei specifically have been known to steal Cisco's software and hardware. This is not something that happens on a single occasion, this is a top-down controlled practice and culture, in Huawei and in China in general. In light of this, why wouldn't they be stealing secrets if they have the chance to?

Why would we treat it differently compared to western spying? Numerous reasons, but just off the top of my head, because the west at least has patent laws and if Huawei was a US company, Cisco would take them to court and redeem their losses, and it would work. In China however, it does not work, because they don't enforce intellectual property laws on a government level. If the whole government is ok with their companies stealing secrets, why on earth would we think that many of their companies including Huawei are not still doing it?</comment></comment></comment></comment></comment></comment>


Fossil SCM 1.23 released - <AUTHOR> http://www.fossil-scm.org/download.html#1.23

<comment><USER2> > Improved defense against spiders: The src= attribute of <a> elements is set > using javascript after the page loads.

Wow, that is a pretty aggressive change. Are fossil repos under heavy enough attack to warrant such a change?

At minimum I hope that is configurable and defaults to "off".

<comment><AUTHOR> The problem is that if links are turned on, bots will kill server by going through each checkin, downloading each and every file and diff. Imagine reconstructing each checkin from SQLite repository, which has 10348 checkins with 1233 files each. (<http://www.sqlite.org/src/stat>).

Before this, the only way to prevent this from happening is by only showing history and files to logged in users (thus, "anonymous login" feature) -- this was the default.

A few versions back, the links were turned on for some users where Fossil could detect that it wasn't a spider (basically, by looking at user-agent header). It seems like this wasn't enough, thus, more agressive detection using JavaScript.

You can configure everything, of course: the setting is "auto-hyperlink", and you can enable links for everyone by giving the "h" permission to user "nobody".</comment></comment>


India raises withdrawal limit as rupee anger mounts - <AUTHOR> http://www.bbc.com/news/business-37969604 <comment><USER2> My understanding is that India's new rules on the high denomination notes was intended to curtail corruption. This was a major topic of discussion in my workplace as we have many Indian developers. Most of them were very proud that this action was taken. So it was a surprise to me to read the significantly negative tone in the BBC article. As a check, I googled "accuracy of BBC articles on India" and encountered the following : [https://www.quora.com/Why- does-BBC-publish-more-negative-new...](https://www.quora.com/Why-does-BBC- publish-more-negative-news-about-India)

"It is true that channels like BBC and CNN have long tradition of editorializing many issues of third world countries. So when any major development happens in countries like India, Pakistan or China, they go on with their usual views on the subject rather than looking at it through fresh lenses."

<comment><USER3> Rather than attacking the messenger and correlating it with the anecdotal evidence from the people you know, try to look at this objectively.

\- The white-collar middle class of course is lauding this move. Most of them (us) use digital money, are educated, want to see the corruption eradicated etc.

\- BUT, the majority of the population is poor, working class, not education enough. India is still a cash-based economy. Poor people have all their savings in either cash or gold. Women in India still hide money from their husbands.

\- Business - Real Estate, Transport, what have you, is still done in cash. Soon, the truckers who get paid in these denominations will stop getting paid, and stop bringing in food to the cities. What then?

\- A kid has already died because the private hospital refused to accept the currency.

\- There is talk going on about a possible Bank Run.

\- Most importantly, I firmly believe this was a political move to cripple his opponents in the upcoming elections in the heartland states of India. He's lost the last few state elections despite going to rallies himself. This is him tightening his grip on the power.

\- Now we know why Mr. Raghuram Rajan left the RBI and has gone back to U Chicago.

\- Edit: Oh yeah, the new note only contain one non-English script, devnagari. The language and culture wars that took 2 decades to resolve will begin anew.

The privileged HN readers here who are like "I'll just order from Amazon" live in such a bubble that it's hilarious. This is the most brazen and irresponsible move that this govt has ever done. It's a draconian ruling that in the name of progress, is going to (already has) ruin the lives of the poor people of this country who have nothing to do with the daily corruption.

The middle class will hail Mr. Modi as a visionary, drinking his kool-aid, click Purchase and go about its business. To call this a "temporary hiccup" is callous and frankly, disgusting.

<comment><USER4> > There is talk going on about a possible Bank Run.

Mind sharing any source? As per my layman knowledge, what's happening here is opposite. Bank have received $30B [1] so far in deposits in last few days.

[1][http://www.forbes.com/sites/timworstall/2016/11/13/indias- gr...](http://www.forbes.com/sites/timworstall/2016/11/13/indias-great-bank- note-switch-appears-to-be-working-30-billion-in-rs-deposited-in- banks/#37bd453078a5)

</comment></comment></comment><comment><USER5> What's interesting is that Bollywood stars whose names were in the Panama Papers are lauding this 'demonitisation' move... it kinda underscores that real 'black money' isn't stuffed in mattresses, it's stored more cleverly in different types of assets, companies, offshore accounts.

Raghuram Rajan, former Governor of the Reserve Bank of India, had this to say a couple years ago about the idea: "Unfortunately, my sense is the clever find ways around it. They find ways to divide up their hoard in to many smaller pieces… I would focus more on tracking data and better tax administration to get at where money is not being declared. I think it is very hard in this modern economy to hide your money that easily." [http://www.huffingtonpost.in/2016/11/09/heres-what- raghuram-...](http://www.huffingtonpost.in/2016/11/09/heres-what-raghuram- rajan-thinks-of-currency-demonetisation/)

The fact that our Prime Minister's fans are so enthusiastic and the move is aimed at curbing 'black money' makes it hard to clearly take a stand against this move, but I personally find it ill thought-out. The fact that some wealthy people are evading taxes by sticking cash in a cupboard somewhere doesn't mean that hundreds of millions of ordinary people should suddenly be unable to buy milk or bread, damn.

<comment><USER6>
      What's interesting is that Bollywood stars whose names were in
      the Panama Papers are lauding this 'demonitisation' move...

Those Bollywood stars are the ones who (1) own huge stretches of agricultural land posing as _farmers_ , (2) own benami properties.

Perhaps _publicly_ supporting anything a ruling government says is their way to demonstrate support towards the government and avoid any scrutiny.

<comment><USER7> "This (demonetisation) is not an end. I have more projects in mind to make India corruption-free. …. We will take action against 'benami' property." \- PM Modi [0]

Whether he takes further action and if those actions will be effective remain to be seen.

[http://indianexpress.com/article/india/india-news- india/pm-n...](http://indianexpress.com/article/india/india-news-india/pm- narendra-modi-demonetisation-corruption-black-money-benaami-property-4373110/)

</comment></comment></comment><comment><USER6> I am amazed the amount of selfishness we exhibit.

If _I_ am unable to pick up groceries for the lack of cash, I can surely choose to order it online (using a credit/debt card). A vast majority of Indians cannot.

A majority of Indians don't have access to banks either. They will be forced to exchange their now illegal currency with the help of agents who would charge them 50 to 60%.

Most of the ATMs are out of cash. There are huge queues at banks; most of them are giving away Rs. 2000/= bills. Amusingly, if you were to give the new bill to a shopkeeper chances are that he'd refuse to tender the change back as the closest denomination to that is a Rs. 100/= bill.

Statistics reveal that only 6% of the black money is in the form of cash. As such, the argument of declaring higher currency notes as illegal tender in order to curb black money in unconvincing.

<comment><USER8> > A majority of Indians don't have access to banks either.

Forget banks, many don't have _ID_. Ration cards exist, but those are tied to your household so you may not easily be able to get access to your ration card (say if you're in a city with family -- and ration card -- back home). In case of estranged women it's even hader.

Without ID they can't exchange larger amounts. It's also hard to create a new bank account on short notice without this.

My mother once helped a young woman set up a bank account. She had come to Mumbai to find work, and used to live at her aunt's place, and her aunt would hold her money for her (but skim off it). Most such people keep their savings in cash someplace "safe", though some use post office accounts. Anyway, the process was arduous. Her name was garbled on her family's ration card, and they needed the original, which was back at the village. This took forever to sort out.

This is going to be hard to work through for a few. Especially those with lower income who keep most of their life savings in cash.

<comment><USER9> Actually dealing with banks is a luxury which Urban Indians assume is available for everyone. Its not.

Most banks are huge red tape in India and corruption is quite common. Even to dispense cash/loans a lot of times local rural banks ask for bribe. Which is why most people go a distance to avoid dealing with banks.

This problem was addressed by co-operative societies to an extent, but it doesn't scale though.

Debit/Credit/Electronic transfers are for the privileged in India.

<comment><USER10> I completely agree. We can see the full picture of it now. The banks are such a pain and since most of the banks are nationalized the employees are a real pain. The post offices do not even have proper facilities to store large sums of money and there are cases where rats have eaten currency in lockers!

</comment></comment></comment></comment><comment><USER11> Ahh, it's the BBC.

I think we have reached a point in journalism where it has now become important to identify who is reporting it as well. At this rate we will need a simple content bias/color code plugin for different sites.

As an Indian, I have found that the BBC has been overly pessimistic about India especially on the web. Their story selections, headlines, and the voices listed as sound bites in the stories support the "downplay theme" for India.

<comment><USER12> >I think we have reached a point in journalism where it has now become important to identify who is reporting it as well.

We were always at that point even if not many people realized it. The difference is with electronic media you're not depending solely on organizations like the BBC for information.

</comment></comment><comment> wav-part My initial gut reaction is/was, a costly political stunt to fullfill an election promise. But I will wait when we have figures about cost to economy vs additional tax revenue. It also should be taken into account that Rupee now is even more unlikely to become a global currency.

Instead of money going directly to corrupt bureaucrats now it will directly going to politicians to be spent on unsustainable welfare (subsidies/reservations/PSUs) which would get them even more votes clamouring for more welfare. Ah dont you f __king cry when they up the sales tax 200% on your favourite gadgets in the name of the poors. All thanks to this cashless /surveillance there will be no escape.

<comment><USER6> I suppose that if election promises were to be fulfilled then the government might have chosen to act upon those stashing billions of dollars in tax havens abroad.

<comment> wav-part I find even the concept of income tax injustice at massive scale. But I have a feeling that this was a least costly way to shut up a socialist population. Assuming Modi is not just another socialist and this is the last of it we are seeing.

</comment></comment></comment><comment><USER13> A middle class Indian here. Average Indian is facing some problem. Here is a list.

1\. If someone has cash in hand for emergencies then he/she has to stand in a bank queue for 2-3 hours to deposit it into a bank account. 2\. One has to stand in a bank queue for 2-3 hours to exchange old currency for new or to withdraw Rs 10,000 from one's account. Rs 10,000 is sufficient money to take care of basic needs for about 15 days.

3\. There is a shortage of lower denomination notes. RBI received 5 million Rs 500 denomination notes yesterday. It will heal ease the problem.

I live in the National Capital Region. I have faced no problem at all. I am doing my grocery purchase online. Urban India pays it's utility bills online. There are a number of e-wallet solutions which have made online transactions easy.

I am not aware about the inconveniences faced by Indians living in rural areas. Economy in rural India is cash based. But since I have my roots in rural India I have seen many transactions happening through informal credit channel. It is not uncommon for a worker to get paid once every 3-4 months. Migrant workers often get payed by contractors at the end of their contract. The actual impact is not earth shattering.

There is a high decibel political noise around the whole thing. But as someone who has paid his taxes honestly his entire life, I welcome and support this move.

<comment><USER6>
      Average Indian is facing some problem.

Some? I've heard of some cases wherein a _funeral_ was deferred for lack of cash.

It affects the dead too: [http://www.thehindu.com/news/national/other- states/demonetis...](http://www.thehindu.com/news/national/other- states/demonetisation-affects-dead-and-alive-alike/article9335280.ece)

Baby dies as parents had no cash to buy medicines in Vizag: [http://timesofindia.indiatimes.com/city/visakhapatnam/Baby-d...](http://timesofindia.indiatimes.com/city/visakhapatnam/Baby- dies-as-parents-had-no-cash-to-buy-medicines-in- Vizag/articleshow/55408981.cms)

Currency ban: Kids couldn't attend dad's funeral: [http://timesofindia.indiatimes.com/city/hyderabad/Currency-b...](http://timesofindia.indiatimes.com/city/hyderabad/Currency- ban-Kids-couldnt-attend-dads-funeral/articleshow/55365905.cms)

Marriages to moksha, all adjourned: [http://timesofindia.indiatimes.com/city/ahmedabad/Marriages-...](http://timesofindia.indiatimes.com/city/ahmedabad/Marriages- to-moksha-all-adjourned/articleshow/55406394.cms)

</comment></comment><comment><USER14> I think the BBC has completely missed the sentiment on the ground. There is widespread support for this. Every single person I've spoken to in the long queues near ATMs have expressed that they don't mind the inconvenience because it will help the country.

<comment><USER15> Yes, I personally have been very surprised by how positive the reaction has been. My home has a lot of small shops around ("chaiwalla" tea booths, tiny grocery "kirana" shops, little idly shops, lots of roadside vendors, etc.), and the reaction has been almost universally positive. There's of course a bit of grumbling about cash being hard to find in the first two days, but even those come in a manner similar to how one might complain about rain - taken as an inevitable small nuisance in the larger scheme of things.

One part of the explanation is that these are the same folks that often deal with the small politicians and exploitative moneylenders - so now, seeing these corrupt people suffer greatly from this move, they're full of heartfelt praise for the central govt. At least half the praise I hear has been in the form of "you should have seen that politician's face" or "that moneylender is roaming all over town trying to change his black money".

<comment><USER10> The problem is that that sentiment will turn sour pretty soon as the supplies will get affected badly. Most of the truck drivers which supply essential goods are paid in cash by their owners. Think what will happen if the payment is deferred.

It might be very sad to say but a lot of these shops exists because of the black money. Some are mere shopkeepers whose owners would have opened these shops to invest their money. Now think what would happen when their cash gets sucked away. There would definitely be a huge loss of jobs.

If real estate is hit badly then a lot of laborers would be jobless overnight. A lot of projects would have to be stalled.

Presently there is an uneasy calm and some sort of schadenfreude but when the dust settles the consequences will not be good.

</comment></comment></comment><comment><USER16> I think the BBC is missing some of these images:

[https://twitter.com/NileshShah68/status/797097848470929412](https://twitter.com/NileshShah68/status/797097848470929412)

[https://twitter.com/gbhimani/status/797021076182077440](https://twitter.com/gbhimani/status/797021076182077440)

[https://twitter.com/_anujsinghal/status/796348883362283524](https://twitter.com/_anujsinghal/status/796348883362283524)

[https://twitter.com/lady_gabbar/status/796269539067457536](https://twitter.com/lady_gabbar/status/796269539067457536)

[https://twitter.com/jhunjhunwala/status/793799136592011264](https://twitter.com/jhunjhunwala/status/793799136592011264)

<comment><USER17> It's BBC. Can't expect anything from positive from them when it comes to India.

</comment></comment><comment><USER16> The partisan nature of this piece is amazing. Contrary to what is presented here, the whole exercise was one that was brilliantly executed, and one that has caused minimal disruption. See this: [http://swirlingtea.blogspot.in/2016/11/demonetization- why-20...](http://swirlingtea.blogspot.in/2016/11/demonetization- why-2000_13.html)

</comment><comment><USER18> Canada got rid of $1000 bills in the year 2001 to combat crime and money laundering.

[https://en.wikipedia.org/wiki/Withdrawn_Canadian_banknotes#....](https://en.wikipedia.org/wiki/Withdrawn_Canadian_banknotes#.241.2C000)

</comment><comment><USER19> I appreciate Modi regime for their efforts to curb black money, though they failed to keep up their poll promises.

Before elections, we'll give OROP. After elections, we cannot do it;

Before elections, we'll clean GANGA. After elections, we cannot do it;

Before elections, we'll catch DAWOOD. After elections, we cannot do it;

Before elections, we'll solve KASHMIR. After elections, we cannot do it;

Before elections, we'll bring KOHINOOR. After elections, we cannot do it;

Before elections, we'll prosecute VADRA. After elections, we cannot do it;

Before elections, we'll prosecute DIKSHIT. After elections, we cannot do it;

Before elections, we'll build RAM-MANDIR. After elections, we cannot do it;

Before elections, we'll scrap ARTICLE370. After elections, we cannot do it;

Before elections, we'll end DYNASTY politics. After elections, we cannot do it;

Before elections, we'll create VIDARBHA state. After elections, we cannot do it;

Before elections, we'll give special STATUS to AP. After elections, we cannot do it;

Before elections, we'll disclose NETAJI documents. After elections, we cannot do it;

Before elections, we'll bring COMMON-CIVIL-CODE. After elections, we cannot do it;

Before elections, we'll DEPOSIT 15 lakhs in your a/c. After elections, we cannot do it;

Before elections, we'll prosecute SIKH-RIOT culprits. After elections, we cannot do it;

Before elections, we'll bring BLACK-MONEY in 100 days. After elections, we cannot do it;

Before elections, we're the HONEST. After elections, 50% Ministers have CRIMINAL cases;

</comment><comment><USER19> If you do not support demonetization [https://www.linkedin.com/pulse/great- indian-demonetization-w...](https://www.linkedin.com/pulse/great-indian- demonetization-why-should-we-struggle-jyothish-jayan)

otherwise [http://www.thecitizen.in/index.php/NewsDetail/index/8/9164/M...](http://www.thecitizen.in/index.php/NewsDetail/index/8/9164/MasterCard- Modi)

</comment><comment><USER19> 13 ways how Indians can convert black money [http://www.huffingtonpost.in/2016/11/13/13-ways-in-which- ind...](http://www.huffingtonpost.in/2016/11/13/13-ways-in-which-indians-will- convert-their-black-money-into-whi/)

</comment><comment><USER20> This is a huge pain in the ass for absolutely no gains whatsoever. Around 20 fucking people have died because of this very scheme. The worst thing is that there are so called educated fools down voting criticizing comments here even after witnessing all this mess and chaos. Absolute shambles!

<comment><USER20> UPDATE: 25 fucking people dead by now. Within 6 days. Refer this [http://www.huffingtonpost.in/2016/11/15/demonetisation- death...](http://www.huffingtonpost.in/2016/11/15/demonetisation-death-toll- rises-to-25-and-its-only-been-6-days/)

</comment></comment><comment><USER19> "Media does not spread free opinion; It generates opinion" \--Oswald, 1918 [https://en.wikipedia.org/wiki/Decline_of_the_West](https://en.wikipedia.org/wiki/Decline_of_the_West) VERIFY and TRUST;

</comment><comment><USER20> It was said that it was to remove black money from the market but the percentage of cash in black money is only 6%. The remaining are assets mostly outside of India. And such a major move affecting a billion people must have been well thought out to avoid the chaos. There have been couple of deaths because of this. Two children were dead because docs refused to accept old currency for admission in hospitals. But questioning this is being termed as anti national. Hope this fake nationalism stunts end soon.

</comment><comment><USER21> Ah! Yet another _" anti-India"_ article by BBC ;) This is not the first time BBC is doing it (can we call it as _" propaganda"_?) ;) I've seen a few firsthand instances of people who hoarded illegal cash impacted by this demonetization move. Yesterday, somebody even dumped wads of cash into a lake in Bangalore (near KR Puram area).

I suggest people here to read this thread: [https://www.reddit.com/r/india/comments/5c195e/do_you_guys_k...](https://www.reddit.com/r/india/comments/5c195e/do_you_guys_know_any_people_hoarding_lots_of/)

<comment><USER10> It is all funny anecdotes. Good for a laugh and some happy revenge.

Now remember that not all have just hoarded the cash. Many have actively invested and this investment actually goes to the poorer sections of the society as daily wages. What would happen if that cash is sucked out? The rich class can live without the investment but the poor have no way to go as they suddenly find themselves jobless.

Next the government will throw cash around with policies such as NREGA to help the poor and then again you have all this money sloshing around in the economy albeit with higher denomination and newer currency.</comment></comment>


Coders at Work now available for Kindle - <AUTHOR> http://www.amazon.com/Coders-at-Work-ebook/dp/B002RHN7RM

<comment><USER2> Or you could buy the version that doesn't lock you into a proprietary platform: <http://www.apress.com/book/view/1430219483>

Just sayin'.

</comment><comment><USER3> Thanks for the link. I have been meaning to buy this book, but I couldn't get over the mental overhead of having it shipped to me. Now that is not a problem, and I am just about to start reading it :)

<comment><USER4> >but I couldn't get over the mental overhead of having it shipped to me

I'm the same way. I find that I will not buy things that have to be shipped, but have no problem buying digital items, such as games.

<comment><USER3> I think I am weird in the sense that I have Amazon Prime, so technically I could have had the book sooner by not waiting for the Kindle version (without much extra expense). I don't really understand why "1 click send-me-a-dead- tree" is different than "1 click email-me-$10-worth-of-text", but somehow it is. Maybe it's because I am out of space on my bookshelf and don't want to buy another :)

</comment></comment></comment><comment><USER5> and if you're like me and use your wish list to keep track of your own future purchases, here is a link that lets you add the kindle version (since amazon still won't make these links easily visible)

[http://www.amazon.com/Coders-at-Work-ebook/product- reviews/B...](http://www.amazon.com/Coders-at-Work-ebook/product- reviews/B002RHN7RM)

<comment><USER6> So lame they only offer the sample chapter / read-and-buy funnel, for Kindle content. Amazon's wish-list value as a bookmark around targeted content for opinion and ancillary data (related literary links, Statistically Improbably Phrases, ..) build lots of good will. This, not so much.

</comment></comment><comment><USER7> Interesting. The Kindle version of this title came out before "The Web Startup Success Guide" which was also slated to be on Kindle and was published in paper form before "Coders" but so far nothing even though they are from the same publisher. I wonder why.

</comment><comment><USER8> That sucks, just got the dead tree version last week.</comment>


Free static page hosting on Google App Engine in minutes - <AUTHOR> http://www.fizerkhan.com/blog/posts/Free-Static-Page-Hosting-on-Google-App-Engine-in-a-5-minutes.html <comment><USER2> I host my personal website GAE. One thing to be aware of is when moving to a personal domain, you need to map to a subdomain so you can't use a naked domain[1] (e.g. '[http://github.com'](http://github.com')). You have to map to something like 'www.'

[1] [https://developers.google.com/appengine/kb/general#naked_dom...](https://developers.google.com/appengine/kb/general#naked_domain)

<comment><USER3> This is the main reason why I haven't bothered switching to GAE for my static website. AWS + S3 + Route 53 allows hosting naked domains: [http://aws.amazon.com/about-aws/whats-new/2012/12/27/root- do...](http://aws.amazon.com/about-aws/whats-new/2012/12/27/root-domain- support-on-amazon-s3-hosted-websites/)

<comment><USER4> CloudFront allows naked domains, so you can use naked domains for almost anything if you place a layer of CF before it.

For example, for this case of GAE, you can use

      Naked domains <=> CloudFront <=> GAE

</comment></comment></comment><comment><USER5> Did a quick comparison with my own service, BitBalloon.

On appengine you're just deploying a dynamic app that just routes everything to a static folder, but since Google doesn't know this is a static site, it's pretty limited what they can do to set good cache headers and optimize stuff for performance. So even if they have an awesome infrastructure, BitBalloon will make your site perform better.

Here's the quick test result from the same site uploaded to AppEngine and BitBalloon:

[http://tools.pingdom.com/fpt/#!/vLi9d/http://teststaticsite....](http://tools.pingdom.com/fpt/#!/vLi9d/http://teststaticsite.appspot.com/) [http://tools.pingdom.com/fpt/#!/dwqwvX/http://speedtest.bitb...](http://tools.pingdom.com/fpt/#!/dwqwvX/http://speedtest.bitballoon.com)

<comment><USER6> The speed difference is negligible. The price difference for a custom domain is not.

<comment><USER5> Peoples definition of negligible probably varies.

Half a second is definitively enough that plenty of large scale tests have shown differences in conversion rate.

That difference gets much bigger for people with more than 1 page view due to perfect caching headers.

</comment></comment></comment><comment><USER7> GitHub Pages is even easier to set up, and does support naked domains (although to use their CDN it is limited to DNS providers that support ALIAS records) -- [https://github.com/blog/1715-faster-more-awesome-github- page...](https://github.com/blog/1715-faster-more-awesome-github-pages)

<comment><USER8> Yeah, I'd personally rather have naked domains than a couple hundred milliseconds better performance for my static sites (which are basic and small pretty much by definition.)

</comment></comment><comment><USER9> "Moreover it is faster than other static hosting services. Because it runs on Google infrastructure."

Um, wow.

<comment><USER10> I actually benchmarked this a while ago. I use a lot of static pages that need to be absurdly fast.

I can definitively say that unless Google App Engine has substantially changed in architecture over the last 12 months, it is definitely __not __faster to host your static site there rather than on an nginx-based VPS with someone like Digital Ocean.

My tests showed load times on GAE-hosted static sites to be around 200ms - 300ms slower than a reasonably-optimised DO VPS.

It's possible, of course, that GAE would pick up some speed if you're loading the page from somewhere a long way away from the equivalent VPS, as GAE essentially comes with a built-in CDN (to the best of my understanding).

<comment><USER11> Elie Bursztein leads Google's anti-abuse research, and recently mentioned on Google+ that he moved his personal web site to GAE: [http://www.elie.net/](http://www.elie.net/)

I can load his GAE-hosted web site in ~300ms, and there's a useful performance box on the right sidebar of his site that breaks down how long each component takes to load on GAE:

$ time curl [http://www.elie.net/](http://www.elie.net/) > /dev/null % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 36146 0 36146 0 0 113k 0 --:--:-- --:--:-- --:--:-- 114k real 0m0.316s user 0m0.005s sys 0m0.005s

I've been thinking of doing the same with my personal web site but haven't yet.

<comment><USER10> Interesting - that's 100ms faster than the test sites I was using.

Do you know what language he used to implement the base setup? I had a suspicion that implementing in Go might end up being faster than Python.

<comment><USER11> From some of his other posts I'm 99% sure that he used Python.

</comment></comment></comment></comment></comment><comment><USER12> Is there a way to redirect all[1] requests to index.html? The use case is an Ember app that uses history location and is deployed as a static website. In this case, requests to `/whatever` still need to serve index.html and let Ember handle the routing. Can GAE app.yaml specify rules like this?

I ran into this problem with S3 and ended up writing a simple server to handle it and deploying to Heroku.

[1] By all, I mean all except the ones to /assets or something similar.

<comment><USER13> Did you try using Cloudfront with S3? I believe it solves the problem you detailed with regards to redirects.

<comment><USER12> Nope, didn't try Cloudfront. I'll look into it, thanks!

<comment><USER13> If you still run into problems, reply back to this and I can get in touch to help (no cost).

</comment></comment></comment></comment><comment><USER14> How is it better than just using Dropbox or S3 or even Google Drive to host static content?

</comment><comment><USER15> If you want mostly free hosting I built this a long time ago. [http://www.cdninabox.com/](http://www.cdninabox.com/) it mirrors any site with caching using Google Edge cache.

Because it will handle URL Re-Writes you can host on any host in a subdirectory and still have it be your root for the customer.

I mostly abandoned this when Google Launched "PageSpeed" for appengine which was too much a direct competitor. Also when they moved to AppsForDomains you could no longer have a naked domain, and that was annoying. I don't like www. having to be on the front of my URL.

</comment><comment><USER16> From years back, there was a tool created called DryDrop[1] that allows you to publish static GAE sites via GitHub push.

[1] [http://drydrop.binaryage.com/](http://drydrop.binaryage.com/)

<comment><USER17> [https://developers.google.com/appengine/docs/push-to- deploy](https://developers.google.com/appengine/docs/push-to-deploy) (Git + .netrc)

</comment></comment><comment><USER18> Somewhat related, I've recently found and evaluated nodejs static site generators (including ghost which I find vastly overhyped and still too stuck in wordpress way of doing things). And the relatively unknown wintersmith [1] is just so awesome that it really needs some mention. It's easy to get started, relatively well documented compared to others, and you have full control to extend it should you need to.

[1] [http://wintersmith.io](http://wintersmith.io)

</comment><comment><USER19> Putting up a landing page for a 'parked' domain name would be a great use of this. Rather than letting your registrar put up a page where they make money off of the clicks.

</comment><comment><USER20> I have my personal site hosted on Google App Engine too. Must say its sleek and simple. I had evaluated a lot of other (typical) options like EC2, Dropbox(S3) and even Github pages. Nothing came close to the ease and the performance that GAE gives. Benchmarking about 10 URLs on my site, returned an a.r.t of 3.5ms aggregate on GAE vs 5.6 ms on EC2.

</comment><comment><USER21> "All the services has its advantages and disadvantages over other."

What's wrong with this sentence?

<comment><USER22> Congratulations -- you've just joined the club of people who've learned that programmers, extraordinarily aware of computer program syntax and having a desire to tune code endlessly, are almost all paradoxically hostile toward any attention paid to their broken English prose.

<comment><USER23> No, they are just lazy, let the compiler do the checking, a compiler known as HN.

<comment><USER13> I would love if when I typed a post into a text box such as this one or on Reddit, when I hit reply/submit spelling and grammar mistakes were autocorrected immediately before the post.

A wise man once said: If you want something done, ask the laziest person in the room how to do it.

<comment><USER23> Another wise man once said: If you want something done, ask the busiest person in the room, and it will be done :-)

A team made by the right combination of those two types will kick asses.

</comment></comment></comment></comment></comment><comment><USER24> Seems you can set up custom DNS for your site too, with wildcards even. Pretty nifty.

</comment><comment><USER25> Any limitations on traffic?

<comment><USER26> Free quota limitations are listed here:

[https://developers.google.com/appengine/docs/quotas](https://developers.google.com/appengine/docs/quotas)

</comment></comment><comment><USER27> Seems nice! How do you set up a custom domain name for it?

<comment><USER17> [https://developers.google.com/appengine/docs/domain](https://developers.google.com/appengine/docs/domain)

</comment></comment><comment><USER28> What service allows full SSL use without paying big bucks?

<comment><USER29> I quite like [https://www.startssl.com](https://www.startssl.com) , they are pretty cheap and even free in some cases. I still don't know why companies go for expensive certs.

</comment></comment><comment><USER30> Can you use one of the static site generators and git to publish your posts?

<comment><USER31> Yes, you can use push-to-deploy on a Google-hosted repo.

[https://developers.google.com/appengine/docs/push-to- deploy](https://developers.google.com/appengine/docs/push-to-deploy)

</comment></comment><comment><USER30> Since it's Google, I am sure one is allowed to use Adsense.

</comment><comment><USER32> What are the advantages of using GAE over Github Pages?

</comment><comment><USER33> To have your own domain running on GAE is not free anymore... and it is a ridiculous process to set it up.

</comment><comment><USER34> I'm glad I stumbled onto the second page of hacker news, this is an absolute gem!</comment>