Shocco: Literate Programming for the POSIX Shell - <AUTHOR> http://rtomayko.github.com/shocco/

<comment><AUTHOR> Links to the sister programs, for the curious:

<http://jashkenas.github.com/docco/> (CoffeeScript)

<http://rtomayko.github.com/rocco/> (Ruby)

</comment><comment><USER2> My <http://github.com/darius/tush> has a different take on literate shell scripts, for a different purpose (quick-and-dirty testing).

</comment><comment><USER3> love the name</comment>


Starting a Baby Monitor Product - <AUTHOR> https://www.babymonitortown.com/ <comment><AUTHOR> Previously site was in place for review style blog posts.

Not liking a lot about most baby monitors I encountered, I've been working with a company to build my own.

Picked this site up as it has a bit of related traffic.

Own product should be finished in 1-2 months time.</comment>


Hundreds of thousands take to Hong Kong streets against controversial bill - <AUTHOR> https://www.scmp.com/news/hong-kong/politics/article/3013725/hong-kong-edge-crowds-gather-ultimate-showdown-against <comment><USER3> Just finished the 8 hour march. That was insane.

But the law is even more insane. A North Korea-like totalitarian state that puts people in camps can just snatch any lawyer, businessman our journalist and take them away without trial and without revealing their location.

Imagine people at startups working in sensitive areas like DNA testing, biotech, finance or data mining can be taken away and forced to reveal data, trade secrets, or forced to collaborate, under threat to their families or themselves.

<comment><USER4> (Perspective of an American who lives in a US Chinatown and speaks to many HKers, also went there last year)

Hong Kong is over.

Historically, it benefited from being one of the only open ports, proximate to China, but not in it. Good governance and rule of law (very important for mercantile activity, given how much finance, insurance, and complex legal codes around ownership / title / possession), nice real estate, etc.

Today, it feels like the PRC is playing the long game, and they're going to win -- they'll just hang up their hats and wait 50 years, only a generation or two, until they eventually take complete control of Hong Kong, maybe going as far as outright annexation. They're patient, determined, and focused in a way only a place ruled by a powerful, long-term oriented elite oligopoly can be (vs in the US, where we still can't fix Social Security, even though everyone knows it's a train wreck in the making, or build anything remotely resembling China's current high-speed rail network).

The real question I have is, what's going to happen in China when Xi Jinping (dictator for life) can no longer rule effectively? Will he willingly stop aside or is there going to be some kind of coup / violent overthrow if the CCP splits and can't decide whether or not it's time to replace him? That's what's got me thinking these days.

<comment><USER5> > _They 're patient, determined, and focused in a way only a place ruled by a > powerful, long-term oriented elite oligopoly can be_

You're modelling China circa 2005. Xi Jinping is now a ruler for life. Dictatorship predicts Beijing better than long-term oligopoly.

For example, he's been impatient with Hong Kong. If Xi respected Hong Kong's independence, the fraction of Hong Kongese identifying as Chinese would have stayed high (or risen); integration in '47 would have proceeded seamlessly. Instead, he got impatient. He's impulsively abducting bookstore owners and ramming through measures. That is stoking dissent and economic corrosion in a totally unnecessary way.

> _what 's going to happen in China when Xi Jinping (dictator for life) can no > longer rule effectively?_

We've passed the point where Xi can peacefully cede power without fearing for his and his family's lives.

There may be a few more peaceful transitions of power in China's future. And there's a lot of political capital to burn, which gives the process time. But any course correction will be effected by force.

<comment><USER6> Life-long dictator ended ... but for your worry many if not all his family are Austrilan, American etc. They run away long time ago, just like many elites there. Just still work for china's interest in spite of any possible reflection by seeing what the host country do. Instead they will try to take advantage of that. That is the tragedy.

</comment></comment></comment></comment><comment><USER7> For anyone like me who was looking for some background on this, on Reddit, someone linked to a Vox video entitled "China is erasing its border with Hong Kong" [0]. At 15 minutes, it's a captivating introduction to the conflict.

Another video (6 minutes) you might be interested in by Vox is "China's trillion dollar plan to dominate global trade" [1], which is on China Belt and Road Initiative (BRI).

[0]: [https://www.youtube.com/watch?v=MQyxG4vTyZ8](https://www.youtube.com/watch?v=MQyxG4vTyZ8)

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

Edit: One great passage from the first video [0] at 11:29 says:

"The [umbrella movement] protest didn't change the government's mind and it didn't immediately change anything in Hong Kong.

But this spectacle of young people rising up to defend their rights from the central government of China did spark a political awakening among the many in the city who had never before paid attention.

'I think post-umbrella movement was the first time that the middle class came out and voted in droves, and voted for the opposition force.' \- HK Resident"

<comment><USER8> The vox video paints the Belt and Road Initiative in a negative light - <USER2> i feel is wrong. Why shouldn't China be allowed to invest and gain soft power? Why shouldn't they be allowed to make deals with countries the US deems 'undemocratic'?

<comment><USER9> It's been referred to as "debt trap diplomacy".

Here's a piece from last month reporting that a raft of countries including Turkey have refused to attend latest summit.

[https://www.theguardian.com/world/2019/apr/25/belt-and- road-...](https://www.theguardian.com/world/2019/apr/25/belt-and-road-forum- chinas-project-of-the-century-hits-tough-times)

<comment><USER10> Alternative viewpoint: [https://www.nytimes.com/2019/04/26/opinion/china-belt- road-i...](https://www.nytimes.com/2019/04/26/opinion/china-belt-road- initiative.html)

<comment><USER11> Thanks for sharing. Key point:

> Yes, debt is on the rise in the developing world, and Chinese overseas > lending is, for the first time, a part of the story. But a number of us > academics who have studied China's practices in detail have found scant > evidence of a pattern indicating that Chinese banks, acting at the > government's behest, are deliberately over-lending or funding loss-making > projects to secure strategic advantages for China.

> The main example of these purported ploys is the Hambantota Port in southern > Sri Lanka: The government handed control over the port to a Chinese company > in 2017 after struggling to make its loan payments to China. But that's a > special case, and it is widely misunderstood.

> China does not publish details about its overseas lending, but the China- > Africa Research Initiative at Johns Hopkins University (which I direct) has > collected information on more than 1,000 Chinese loans in Africa between > 2000 and 2017, totaling more than $143 billion. Boston University's Global > Development Policy Center has identified and tracked more than $140 billion > in Chinese loans to Latin America and the Caribbean since 2005.

> Based on the findings of both institutes, it seems that the risks of B.R.I. > are often overstated or mischaracterized.

<comment><USER12> According to the wiki, BRI started around 2013 [1] so how come loans made prior to that being counted towards BRI?

My recollection is that, prior to BRI/earlier loan diplomacy from China, the strategic goal was for influence in the UN against Taiwan (checkbook diplomacy.) So the goals are completely different.

'Taiwan's current foreign relations bind stems from a deal brokered in 2008. This "diplomatic truce" guarantees that neither China nor Taiwan will pursue formal diplomatic relations with a country that has already recognized one or the other. Beijing calls it the one-China policy, and it forces nations to choose between it and Taipei, with Beijing increasingly coming out the more appealing choice.'[2]

Lumping data over strategic change seems like a poor research to me.

[1] [https://en.wikipedia.org/wiki/Belt_and_Road_Initiative#Histo...](https://en.wikipedia.org/wiki/Belt_and_Road_Initiative#History)

[2][https://www.voanews.com/a/once-influential-in-africa- taiwan-...](https://www.voanews.com/a/once-influential-in-africa-taiwan-loses- all-but-one-ally/4411332.html)

</comment></comment></comment></comment></comment></comment><comment><USER13> This article is published in the SCMP. The SCMP was purchased some time ago by Jack Ma. There were fears from various corners that Jack Ma, being friendly with the mainland Chinese government, would influence the SCMP to have coverage that was less independent than before. So it's interesting to see this published by SCMP.

<comment><USER14> The SCMP seems to have been fairly vocal. There doesn't seem to be anything that would stop the removal of all the critical journalists though, so I am somewhat confused.

<comment><USER15> Even among the pro-Beijing businesses and the establishment, there are serious concerns about this.

Business people want to make money, foreign companies have started to divest from China, perhaps Hong Kong would be next?

Passing this law may akin to killing the goose for the golden eggs.

</comment></comment></comment><comment><USER16> I was just starting high school when the handover of Hong Kong to China happened. Being pretty politically engaged at the time, I remember being surprised that everyone (in the US) was so blasé about it. This was the Clinton era, during the first tech boom. It was an optimistic, post Red Scare time. Everyone (here in the US) assumed the arrow of history pointed in the direction of progress, and that Hong Kong would retain the freedoms it had previously enjoyed.

</comment><comment><USER17> The HK government's response: [https://www.news.gov.hk/eng/2019/06/20190609/20190609_231141...](https://www.news.gov.hk/eng/2019/06/20190609/20190609_231141_763.html)

The English and Chinese versions looks pretty different in tone, especially in the last sentence: 'Noting that the Second Reading debate on the bill will resume on June 12, the Government urged the Legislative Council to scrutinise the bill in a calm, reasonable and respectful manner to help ensure Hong Kong remains a safe city for residents and business.'

Understandable when this is for foreign press. Directly translated, the Chinese version says: 'The Second Reading debate on the bill will resume on June 12. End. '. Obnoxious if you understand Chinese.

</comment><comment><USER18> Since Hong Kong is a former British colony, English is co-official with written Chinese there, and you can read the official brief and the text of the bill in English on the Legislative Council website: [https://www.legco.gov.hk/yr18-19/english/bc/bc56/general/bc5...](https://www.legco.gov.hk/yr18-19/english/bc/bc56/general/bc56.htm)

<comment><USER19> >English is co-official with written Chinese there,

That is not strictly true, while both Chinese and English are the official languages, In writing, especially with any legals documents, in case of any discrepancy between the English version and the Chinese version, the English version shall prevail.

</comment></comment><comment><USER20> It was interesting to see the photos of the Union Jacks marching around. Anyone with first hand experience in Hong Kong, are there many people who wish for a return to the commonwealth, or is that a tiny minority?

<comment><USER21> I would say that most HK ppl just want a stable environment to live and happy to have a status quo. But recently, given the circumstance, more ppl do think UK can take more measures, say, in some way, to allow BNO holder to work and settle easier in UK, given that these holders are willing to and capable to do so.

And ppl might miss the last decades of British rules too, in an emotional way, as Economically and culturally HK was in a very good shape. Though most ppl won't express it with a union flag in a public setting.

</comment></comment><comment><USER22> Could someone explain to me what the plan is for the end of the 50 year transition period? From my extremely uninformed point of view, this feels like delaying the inevitable. Is there a different outcome than Hong Kong eventually being entirely under the Chinese government?

<comment><USER15> Am not sure there was any solid plans. People have, or had, different aspirations.

It, more than anything, IMO, was said to appease the fear of the HK people who had a deep mistrust of the PRC government. Still, a lot of people emigrated before 1997.

Note that the saying is kind of vague anyway, it just says that the capitalist system and "ways of living" will not change.

</comment></comment><comment><USER23> See also [https://news.ycombinator.com/item?id=20137955](https://news.ycombinator.com/item?id=20137955)

</comment><comment><USER24> > The latest proposal has come after a 19-year-old Hong Kong man allegedly > murdered his 20-year-old pregnant girlfriend while they were holidaying in > Taiwan together in February last year. The man fled Taiwan and returned to > Hong Kong last year.

> Taiwanese officials have sought help from Hong Kong authorities to extradite > the man, but Hong Kong officials say they cannot comply because of the lack > of an extradition agreement with Taiwan.

> But the Taiwanese government has said it will not seek to extradite the > murder suspect under the proposed changes, and has urged Hong Kong to handle > the case separately.

I thought the extradition bill was to / from China? What does Taiwan have to do with this?

<comment><USER25> This article has a nice infographic: [https://multimedia.scmp.com/infographics/news/hong- kong/arti...](https://multimedia.scmp.com/infographics/news/hong- kong/article/3013512/hong-kong-extradition/index.html?src=app)

Basically Hong Kong right now, has a whole bunch of extradition treaties with 20 countries[1], just not with both China governments, due to the existing law. The bill fixes this.

Also, the 19 year old HK man admitted to the crime [2], however due to the the crime being committed outside HK, he can't be tried for manslaughter in HK; the HK authorities can only charge him with "money laundering" of his girlfriend's money and property (again [2]). He is currently serving the sentence for money laundering, and he's going to be released in October. However if this bill is passed he can be extradited and tried for murder in Taiwan.

[1] With Australia, Britain, Canada, the Czech Republic, France, Finland, Germany, India, Indonesia, Ireland, Malaysia, the Netherlands, New Zealand, the Philippines, Portugal, South Korea, Singapore, South Africa, Sri Lanka and the United States

[2] [https://www.scmp.com/news/hong-kong/law-and- crime/article/30...](https://www.scmp.com/news/hong-kong/law-and- crime/article/3008099/sentence-man-who-killed-girlfriend-taiwan-sets)

<comment><USER5> > _if this bill is passed he can be extradited and tried for murder in Taiwan_

Except Taiwan isn't China. If Taiwan and Hong Kong want an extradition treaty, they can sign one.

This bill is to enable the lawful extradition of dissenters. (Beijing tried doing it surreptitiously [1]; that backfired.)

[1] [https://www.theguardian.com/world/2017/may/08/hong-kong- book...](https://www.theguardian.com/world/2017/may/08/hong-kong-bookseller- abducted-by-china-vows-to-reopen-shop-in-taiwan)

<comment><USER26> > Except Taiwan isn't China

In practice it isn't, but on paper it is, both according to the People's Republic of China and the Republic of China. (One-China Policy)

</comment></comment></comment></comment><comment><USER27> When I was in HK a few years ago, there was a lot of annoyance amongst the general public that GovHK was starting to get dominated by pro-China individuals. So I get the impression this bill is their doing.

</comment><comment><USER28> Whatever side you are on here just remember, Freedom of assembly is such an important right to hold dear. With the censorious nature of the Chinese Communist Party, I fear what the implications of a bill like this could lead to.

<comment><USER29> To me its quite.clear there is one right side in this, and it.lies with the people marching.

</comment></comment><comment><USER30> In fifteen minutes the permit to organize expires, lets hope this remains (mostly) peaceful.

</comment><comment><USER31> What the protesters don't tell you is that there are nearly 1 million HKers signed and counting supporting the bill.

[https://www.safeguardhongkong.hk/](https://www.safeguardhongkong.hk/)

<comment><USER32> These online petitions tend to be largely filled in by people from North of the border. There is no way of verifying that the signatories are Hong Kong people (the only validation is the last four digits of HKID which can be any four digit number)

</comment></comment><comment><USER33> Will this break any of the terms with the British Hong Kong handover?

AFAIK the agreement mentions that China must not interfere politically or economically with the capitalistic nature of Hong Kong for at least 50 years.

<comment><USER34> What does it mean to break the agreement, anyway? Is the UK going to come take HK back?

<comment><USER35> So far the MO has been write a strongly worded memo and return focus to leaving the EU for some reason.

</comment></comment></comment><comment><USER36> a solution to all problems: referendum.

</comment><comment><USER6> >1 million

</comment><comment><USER21> It might not change HK government attitude after all, but it shows that Hong Kongers align with western values - no one should live under the fear of arbitrary prosecution.

<comment><USER37> Why say 'align with western values' instead of 'respect human rights'? Freedom of speech and assembly are encoded in the Universal Declaration of Human Rights.

<comment><USER34> Because the issue they are protesting is extradition and the rule of law being maintained; HK has a western style rule of law, mainland has practically no rule of law to speak of.

<comment><USER38> I think the distinction trying to be made here is that Chinese, Hongkongers, and Taiwanese people don't see themselves as westerners. Posters aren't saying that they shouldn't fight for basic human rights, but rather that basic human rights aren't "western", they are human. We being westerners should be proud that we have laws like this, but that doesn't mean we need to impose everything western on others. It also doesn't mean that our fight for basic human rights is fundamentally western. Just the same way it isn't American, British, German, etc. They are _basic human rights_ after all, and last I checked these people are still humans.

TLDR: basic human rights doesn't mean you have to identify as western.

</comment></comment></comment></comment><comment><USER39> I don't know why but protests on the scale of hundreds of thousands just seems impossible in America

<comment><USER40> That's what those in power want you to think. Here's a list of 19 protests with at least 100k participants: [https://en.wikipedia.org/wiki/List_of_protests_in_the_United...](https://en.wikipedia.org/wiki/List_of_protests_in_the_United_States_by_size)

Four of them have taken place since November 2016.

<comment><USER41> Fascinating link but your color commentary on those in power trying to surpress this knowledge makes you sound irrational - despite being completely right. If those in power wanted to prevent this knowledge it wouldn't be on Wikipedia for any to edit.

<comment><USER40> How is it irrational to claim that those in power don't want people knowing about massive protests against what they're doing? (Tianiman Square, anyone?) The knowledge doesn't need to be suppressed because it's hidden in plain sight amongst all the other internet noise.</comment></comment></comment></comment>


Cottage Computer Programming - <AUTHOR> http://www.atariarchives.org/deli/cottage_computer_programming.php

<comment><USER2> I've had the pleasure of meeting Paul a couple of times -- he gave a presentation to our local Linux User group and attended a few meetings. He's a very interesting guy, here is his main page: <http://www.arachnoid.com/index.html> check out his yearly boat trips to Alaska, and his Java based HTML editor.

Also note that the article is very old :)

<comment><USER3> I can't help but feel a tinge of enlightenment from reading his articles. Maybe not enlightenment, maybe....reinforcement. Thank you so much for posting this link.

</comment></comment><comment><USER4> You don't need to live out in the middle of nowhere by yourself to live a cheap lifestyle which affords lots of free time (to code, garden, design, etc). If you replace log cabin with Natural Building [1] and expensive air conditioning and heating with smart design [2], you can build a cheap, sustainable home for very cheap. A group of us is working on building a development of this style only a short bike ride away from Bloomington, IN - close enough to easily/cheaply get into town and alleviate boredom - all to the tune of less than $100/mo over 15-30 yrs or $10-20k down. btown cooperative living at gmail if you are interested.

</plug>

[1] <http://en.wikipedia.org/wiki/Natural_building>

[2] <http://en.wikipedia.org/wiki/Passive_cooling>

<comment><USER3> I wanted to open some dialog with you about this, but I believe your email address might be incorrect or there was an issue with how I converted it that I can't find. Care to send me a message?

<comment><USER4> just sent you a message, and the correct email is: btown cooperative village at gmail, with dots between those words. Sorry about the typo above - it looks like I can't edit it any more.

<comment><USER5> Just letting you know, I don't think the dots in gmail addresses are required. You can place them anywhere in your address and it will still get to you. Handy way to sort your inbox bases on who used which version of your email address.

</comment></comment></comment></comment><comment><USER6> _There's a lot of talk these days about how the individual cottage programmer is on the way out. I don't think so, even though a team of cooperating programmers is in principle a better arrangement. My doubt springs from the fact that the best of existing programs are the product of one, at most two individuals..._

Does this mean that there's hope for those of us that hate programming with other people, despite pg's insistence that we need to have a cofounder?

<comment><USER7> Cofound with a suit. Don't let her look at your code. Don't look at her marketing.

</comment></comment><comment><USER8> It'd be pretty interesting to do this today. Internet access would negate a lot of the benefits of hermitage, in some respects. But it's a super romantic ideal - and one I [and it seems others] can definitely relate to. A big part of this story is that Lutus didn't go out to the wilderness _to_ work on software, but rather, fell into it through curiosity and excitement over some novel new form of technology.

</comment><comment><USER9> More:

<http://en.wikipedia.org/wiki/Paul_Lutus>

<comment><USER10> Between 1988 and 1991 Lutus sailed solo around the world in a 31-foot sailboat. WOW!!

</comment></comment><comment><USER11> Nearly a decade ago, Arachnophilia 4.0 eased me into web design, which was my first stepping stone to web programming (good move on my part: I'm rubbish at design).

His CareWare philosophy introduced me to free software in a way that really resonated with me; and his well-argued antipathy toward Microsoft got me re- thinking what it means to use - and depend on - closed, proprietary technologies.

Finally, though I'm at best a mediocre, self-taught programmer, his sheer creativity and productiveness over the years has inspired me to create and produce in my own turn.

I have never met or even corresponded with him, but I owe him a large debt of gratitude for helping to shape the programmer I have become.

</comment><comment><USER12> With the proliferation of wireless internet solutions(at least in Canada), working from some remote location never being easier than now. The land up north is cheap , wind turbine is less than 1000$ so enough to power light and computers.I keep coming to that idea over and over again :) The only thing that stops me are mosquitoes ....

<comment><USER13> Apparently you can build an immunity to mosquito bites over time. I have not confirmed this with my personal experience...

<comment><USER12> Well , based on research articles I've read , mosquitoes are attracted to more stressed people or more precisely to the chemicals that the stressed person produces. Living a calm life in the outdoors will definitely reduce the stress levels, so I guess it just takes some time to become invisible to mosquitos.

</comment></comment></comment><comment><USER14> I'm struck by his mention of a middle ground, the idea of relative calm in a small town. This is a lot of what I'm trying to say with <http://richmondhackers.drupalcafe.com> (cf. my HNN post a week or two ago).

</comment><comment><USER15> This isn't the first time I've read the argument for a computer being superior to a woman because of its exactitude and unforgiving nature, yet total acceptance of the correct. It is, however, one of the more eloquent (and concise!) versions of the argument.

</comment><comment><USER16> This is so much what I want to do, but I don't yet have the... gumption... to actually do it.

I also code alone, and probably my income from investments from my lifestyle software product business (about $US 460 pcm) is enough to support it. According to Wolfram, $40 pcm in 1976 is $150 pcm today, <http://www.wolframalpha.com/input/?i=40+in+1976+USD>

I don't really know how to start (or how to be sure if I'd _really_ like the solitude that much after a few weeks/months...)

<comment><USER17> what is 'pcm'?

<comment><USER18> I guess "per calender month".

<comment><USER16> Yes, sorry; I thought it was a standard abbreviation. Or maybe I've looked at too many rental ads. Perhaps there's a better one?

I guess "per month", "/month" and "monthly" all work well, though I'd like a shorter one. Maybe "pm" or "/m". Or perhaps convert it to years, and use "pa". I'm fussing over this a bit, but I agree with pg that in some cases, conciseness helps readability.

<comment><USER18> Yes, though Paul Graham's notion of conciseness is not the number of characters, but more like the number of `symbols' or words. So `monthly' should be fine by this measure.

</comment></comment></comment></comment></comment><comment><USER19> Cool! Wonder where he is in Oregon? I sometimes have dreams about moving somewhere remote, but to tell the truth I think I'd get bored pretty quickly.

</comment><comment><USER20> Reminds me of an old Russian saying: It will still take 9 woman 9 months to give birth to one child.

</comment><comment><USER21> _What they should have said was, "Press down the key marked CTRL. While holding it down, press the B key. Now release these keys and press the key marked RETURN."_

I understand the "where's the 'any key'?" argument, but we shouldn't all be designing for recluse luddites.

<comment><USER8> i'm not so sure lutus could be called a luddite. oh, and this is 1976...

<comment><USER21> Good point. Luddite is the wrong word. I meant to say that there should be some minimum assumed level of expertise of your target market. "Intuitive" is often synonymous with "familiar," and an interface should be able to make _some_ assumptions about the experience and abilities of the user.

<comment><USER16> The computer in question was pretty much the _first_ personal computer. The correct assumption about the amount of experience of the user with a personal computer was zero.</comment></comment></comment></comment>


Algorithms for Massive Data Sets (Lectures from the Princeton CS department) - <AUTHOR> http://www.cs.princeton.edu/courses/archive/spring02/cs493/schedule.html

<comment><AUTHOR> Most of the lecture notes are at bottom of the page.

<comment><USER2> Thanks. This is great.</comment></comment>


Ancient monument sheds light on battle of Actium - <AUTHOR> https://www.independent.co.uk/news/science/archaeology/roman-empire-cleopatra-octavian-ceasar-egypt-battle-sea-nicopolis-history-archaeology-a8843886.html <comment> village-idiot The thing I find interesting is that to the Romans, Augustus (Octavian) was _not_ the first emperor[0] at all, it's only in hind sight that we call him that.

Let me explain. The Roman people has a very strong aversion to kings for centuries, it was legal for any citizen to kill a man who was trying to make himself king. This is part of what got Julius Caesar killed in fact, and while he was typically very popular his moves towards kingship were _not_ received well at all.

Knowing this, the first series of emperors cloaked their imperial power in republican forms, even though they'd already killed the republic. They typically went by the title "Princeps" (first citizen), and wielded massive back room influence to accomplish their goals. Oh, and they also owned Egypt _personally_ , and probably commanded around 20% of the empire's wealth. It's arguably not until Claudius, who was selected as emperor despite of his perceived idiocy specifically because of his relation to the prior emperor can we say that the political classes knew they lived in a monarchy of some sort. (Claudius turned out to be a competent emperor by the way, he and a very bad stutter that the Romans took for him being stupid).

What's the point of this? The point is that republics don't have to die in sudden and dramatic fashion. Sometimes they go in a Reichstag Fire, but they are also likely to rot from the inside while maintaining the old forms for a few generations.

0: They actually did use the title imperator, the root word for emperor, but this was originally a military term closely related to "commander". This slowly merged into its modern imperial meaning roughly co-incident with the emperors slowly dropping republican forms and ruling in their own right.

<comment><USER2> Julius Caesar was a populist threat to the Senate aristocracy and his social / monetary reforms put him at further odds.

<comment> village-idiot Indeed, and his military successes were also a threat.

But my point is more subtle. Caesar was a arguably a populist, and was both ambitious and wildly popular with the common people of Rome. But there were a few incidents where Caesar was offered to be crowned king, and the people of Rome _hated_ it. It would be a few more generations before the idea of being ruled by a guy in purple whose dad had done the same would be okay to Romans.

<comment><USER3> As you say, "ruled" is a squishy term here. And it's important, in an age where power is felt to be very bluntly wielded, to realize that subtler ways do exist and "soft power" has always been a thing! Rome was largely accepting of the transition from Augustus to Tiberius (oops) and even the transition to Caligula (further oops). Caligula's assassination was part of an attempt to restore the pre-Principate Republic, but it failed and Claudius ruled without too much trouble.

 _But_ , again as you note, all of that was the first-among-equals set dressing of the Principate where the Republic's centering institutions were given lip service, and it would be hundreds of years before the outright Dominate of Diocletian would be generally accepted by Rome--and getting there required the transcendental shitshow that was the Roman third century, itself worth perturbing a lot of electrons.

In conclusions, land of contrasts, etcetera etcetera.

<comment> village-idiot Total tangent: I'm actually not convinced that Caligula was as bad as the ancient sources claimed. We have very few first hand sources from his reign, and the historians (all senatorial class in this case iirc) would have ample ability and cause to slander him. Accusations of sexual impropriety are the standard in ancient sources, especially Roman. I wouldn't go as far as saying he could have been a good ruler, he sure did manage to piss off the senate in the way a better ruler wouldn't have, but he might not be anywhere as bad as the sources portray.

<comment><USER3> Could be. The most damning accusations aren't just that he was all murdery or sexually improper, though, it's that he _spent all the money_. Tiberius has a lot of rumors spread about him for being a sexual deviant and handing Sejanus the keys to the 29AD Fiat Purgero, but I'm not aware of sources that allege that he didn't govern tolerably and with some level of restraint until he disappeared to his villa for the rest of his life. Caligula gets roasted for being a weird sex pest _and_ for being a profligate spender who trashed the economy (the most sympathetic interpretation thereof being that he didn't want to say no, because saying yes made people like him, and making people like him might keep him alive longer/make him more beloved as emperor.

IIRC the purges and the rumors about Caligula mostly started after a serious illness in 37AD, where he might have just literally gone around the bend? But I'm definitely not ruling out the possibility that Caligula was played up after his death, though. If you look back at pre-Republican mythology (it ain't quite history), the seven kings of Rome are all caricatures. Caligula could definitely just be The Crazy One.

In any case, Rome put up with some real wacky characters as emperor so long as they didn't bankrupt the empire.

<comment> village-idiot I think that's a pretty fair interpretation, it's pretty clear he sucked pretty bad at budgeting. Tiberius was famously miserly with the state treasury, and chances are that young Caligula couldn't budget and saw how popular he got by just using that money, only to be dismayed at how quickly it went away.

What I find really interesting is the murder of political opponents and how it affects legacy. From where I sit, pretty much every single emperor killed senators, perhaps excluding only Caesar himself, but only a few got saddled with the blood thirsty tyrant image. Claudius killed quite a few senators, some without good justification, yet his reputation is largely "good emperor, misunderstood", while Tiberius gets off the hook largely because his successor was so much worse. It's all pretty fascinating to me.

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> I found it interesting, while watching Historia Civilis, that Julius Caesar was not the first powerful general of his time to float the idea of becoming the King. Pompey, seemed to be Caesar's role model, and had a very similar trajectory as a great general amassing power and love of the people, and trying to assume a role of king. Apparently Caesar was more successful in the endeavor.

I'd never heard this before, and someone please correct me if I misinterpreted anything. I don't have any references to point to. But I got the impression that there were several others before Caesar, but he was just a beast when it came to strategy.

Fantastic YouTube channel - [https://www.youtube.com/channel/UCv_vLHiWVBh_FR9vbeuiY-A](https://www.youtube.com/channel/UCv_vLHiWVBh_FR9vbeuiY-A)

<comment><USER5> Pompey seemed to be more interested in the glory and adoration that came with military conquest than the actual power that could come from it. Pompey disbanded his army after returning from his Eastern conquests, he could have easily taken Rome for himself.

<comment><USER6> > Pompey seemed to be more interested in the glory and adoration that came > with military conquest than the actual power that could come from it.

No. Pompey wanted political power just as much he wanted military power. He was able to wield the second, but never really the first. That was mainly due to his rivalry with Crassus first and Caesar second.

He just wasn't at the right time in the right place. Crassus, despite being an inferior general, was richer than him and had more influence in the Senate. Caesar initially had less political influence than him, but he was superior on the battlefield.

<comment><USER5> If that was the case, then why did he not just run the Senate out of town when he returned from the East after clearing the Mediterranean of Pirates and finishing off Mithridates? He was extremely popular with the people and the Army. Right before the civil wars with Caesar started, he was preparing for a virtual retirement with his appointment as governor of Spain. The governorship was to give him a steady source of income.

<comment><USER6> > He was extremely popular with the people and the Army.

Yes, he was extremely popular because he was a skilled general. He had a very good understanding of Roman military strategy and tactics. Not on the top-5 but surely on the top-10 of the best Roman generals of all time.

> If that was the case, then why did he not just run the Senate out of town

That wasn't possible. The Roman Senate and the whole Roman political scene was in complete stagnation. Plus, you couldn't really "run the Senate" remotely – many tried (including Caesar) doing so, none succeeded. You had to have a physical presence or to delegate (e.g. Caesar with Mark Anthony).

At the time, Pompey had strong political power and run for Console, but on his way to power, he found Crassus with the very same goal in mind. The problem is that Crassus was the richest man in Rome (a billionaire compared to today) and he had much more political influence.

Pompey (mainly because of Crassus's obstructionism) wasn't able to fully capitalize on his military success.

Caesar well understood that the stagnation was mainly due to the Crassus/Pompey (personal) rivalry and offered them to run himself for Console, (1) stop the Senate stagnation and (2) approve their reforms.

The rest is history.

</comment></comment></comment></comment></comment><comment><USER7> [https://en.wikipedia.org/wiki/Marcus_Vipsanius_Agrippa](https://en.wikipedia.org/wiki/Marcus_Vipsanius_Agrippa)

"On September 2, 31 BC, the Battle of Actium was fought. Octavian's victory, which gave him the mastery of Rome and the empire, was mainly due to Agrippa."

<comment><USER6> I was about to say the same. Augustus didn't have at the time much battle strategy skills. And in all fairness, military strategy was not his thing.

Actium – like my other battles under August's reign – was mainly due to Agrippa's military skills. In a hypothetical ranking of best Roman generals of all time, he should probably be placed somewhere between 1st and 5th place.

<comment><USER8> Augustus lived into his late seventies partly due to his poor health, which forced him to stay away from many of his battles.</comment></comment></comment>


The Rust Libs Blitz - <AUTHOR> https://blog.rust-lang.org/2017/05/05/libz-blitz.html <comment><USER2> This is something Haskell could really benefit from. Largely just through writing documentation for common libraries.

A post was recently on the frontpage of HN about using Haskell in production [1] that divided the common documentation experience between "hard" and "soft" docs. Far too often with Haskell you only get the 'hard' docs where you get descriptions of functionality and functions but it lacks why (and cohesively how) you would want to use the various functionality.

This makes a strong assumption you are already deeply familiar with the usecase and implementation concept.

This may apply to Rust as well. Rust will likely attract experienced developers, much like Haskell, where in most cases a decent level of code quality would be anticipated. But one of the hardest things to get right as an OSS developer is documentation. You're often so busy with the burden of maintenance that the explanatory side gets sidelined. Especially as a library and the underlying language evolves. So I hope this is a priority focus during their reviews.

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

<comment><USER3> I've seen this problem in the Elixir library ecosystem as well. Regardless of the package, people _do_ see the value in contributing to the commons with PRs for "hard docs" (because they themselves will probably need to read them again later, and don't want to get tripped up _again_ by reading false docs.) But nobody wants to contribute "soft docs" to anything but the language core.

It feels like the real issue is that anyone who considers themselves a writer, as well as a programmer, tends to have a blog; and that people who have blogs are incentivized to write "soft docs" as tutorial blog posts _for_ their blogs, instead of as encyclopedia-style or cookbook-style additions to the given library's docs.

I wonder if a programming language could adopt a Code of Conduct discouraging tutorial blog-posts in favor of soft-doc PRs...

<comment><USER4> Soft docs are harder and take longer, and as said elsewhere are not appreciated enough. If I'm writing an Elixir library for (what I think) my own use, I'll stop at typespecs, docstring with an example, and a short description.

I'll only start doing the tutorial doc and/or blog post if others have interest in the library. There's just not enough time :/

<comment><USER3> The thing is, it's not that there aren't a lot of blog posts. There are! There's usually at least one blog post about any library I care to use. But it's _only_ a blog post—it's something someone wrote at some point—and so it's not corrected for misapprehensions the author (who is usually not the author of the library) had about the idiomatic way to use the library, nor is it kept up to date with changes in the library like soft docs would be.

I don't think there's a dearth of people willing to write blog posts. There's just a dearth of people willing to do the equivalent job to what Wikipedia editors do for general-purpose articles: collating those "primary sources" into a single, coherent, up-to-date overview.

</comment></comment></comment></comment><comment><USER5> I really love seeing articles like this come out about Rust.

It's language design the way it should be: incorporating the cutting edge ideas from academia while still striving to cater to beginners; drawing on the strengths of other languages communities to build out good library and solutions to package management; designing everything in the open, and constantly seeking feedback from their users.

It's a great blend of theoretical CS, HCI, computer systems, and application development, and it's always fun to hear about what they're up to.

<comment><USER6> > I really love seeing articles like this come out about Rust.

Yeah, me as well. It's a perfect marriage of academic know how and pragmatism. Very exciting year for Rust.

</comment></comment><comment><USER7> I'm going to use this opportunity to second the suggestion that people consider taking this year's Rust community survey: [https://blog.rust- lang.org/2017/05/03/survey.html](https://blog.rust- lang.org/2017/05/03/survey.html) . I know it's mentioned in the post, but I figure the number of people reading the comments is much larger than the number who actually click through the link. :P And even if you don't or have never used Rust, we still value your feedback!

<comment><USER8> heads up: On page 15 it feels like the questions are not written from a user- centric point of view any more, while the previous ones were excellent. "The Rust project" has an unclear or at least less significant meaning to me as a user than probably to someone working on increasing Rust adoption, which I gather the first 2 questions on p. 15 are about? ("Rust project" could also mean "that thing you're working on using Rust", to me as user/dev. Usually you folks call it "Rust language" or something with "community" etc.) Great survey otherwise, just about to finish it!

</comment></comment><comment><USER9> May I suggest the bytes crate [0]? It's one of those small libraries providing a key building block (mutable and immutable byte buffers), and is a dependency of tokio-io and any other crate which implements tokio-io's Encoder/Decoder traits.

[0] [https://crates.io/crates/bytes](https://crates.io/crates/bytes)

<comment><USER10> Yes, thank you for the suggestion. I agree that's a good candidate and will note it on thread.

</comment></comment><comment><USER11> I do wish cargo packages were namespaced a la Github. Squatting on usernames is one thing, but package and project names are often the only way you hear about something. cargo react-svg might be a terrible project or a good quality one maintained by facebook, but you wouldn't know from the name. Because of the name, it'll be at least somewhat downloaded if that's a common need. It makes grouping by org difficult too.

<comment><USER12> I wrote cargo-esr[1], an alternative tool for searching crates, with the purpose of narrowing down good choices.

Feedback welcome.

[1] [https://github.com/rust-alt/cargo-esr](https://github.com/rust-alt/cargo- esr)

</comment></comment><comment><USER13> The article also links the state of rust survey. I visited the survey with intent to answer it but the first question "Do you use Rust?" only has the following three alternatives for an answer:

\- "Yes"

\- "No, I stopped using Rust"

\- "No, I've never used Rust"

When making a survey the alternatives for the answers are very important. I feel that none of these alternatives apply to me. That's bad. Unfortunate because I would have liked to participate in the survey.

I've done a little bit of beginner programming in Rust in order to try and learn the language. However I haven't yet used it to implement anything actually useful so I wouldn't say "yes, I use Rust". It's been a while since last I did something in Rust but I wouldn't say "no, I stopped using Rust" because to me that implies that I have decided that Rust is not for me, which is not something that I feel, I want to use it, I just keep pushing it down on the list of things to do because other more immediate desires and problems keep popping up.

<comment><USER14> So, just take YES and move on? Surveys are about trends not about absolutes.

<comment><USER15> I'm in the same boat but answered no. I'll go with the grandparent coment and suggest that an option indicating that you've tinkered and dabbled with it and no more. (Sorry, a more appropriate wording doesn't come to mind at the moment)

<comment><USER16> > i use it in production > i use it for hobby projects > i have played with it > > i have never used it

Clojure survey had something along these lines

</comment></comment></comment></comment><comment><USER17> _There's a countervailing mindset which, in its harshest terms, says "the standard library is where code goes to die"_

This can be addressed in a language with sufficient annotation and good parser tools. In some future language, there should be a unification between the version control, the de-facto codesharing site, language/library versions, and syntax-driven tools to automatically rewrite code.

It should be possible to "publish" a language and its libraries such that any breaking changes will automatically be updated when you switch library versions. (This should also be applicable to Entity-Relation diagrams and Object-Relational mappings -- those can be treated as a versioned library.)

<comment><USER18> The problem is that the number of possible combinations of versions grows rapidly as you add versions. This makes testing harder, as it spreads the community thin - everyone's using a different combo than everyone else.

To avoid that, you need to standardize on a blessed set of versions to be tested together, much like assembling a release of a Linux distro.

People will still swap in alternate versions of libraries occasionally, but keeping things mostly standard and a few cherry-picks is still better than everyone choosing differently.

<comment><USER17> _The problem is that the number of possible combinations of versions grows rapidly as you add versions._

The point is not to let people hang out in whatever obscure snowflake version- set they want to. The point is to make migration going forward as painless as possible. However, that expectation is not so much about the tooling as it is about the developer/language community.

 _To avoid that, you need to standardize on a blessed set of versions to be tested together, much like assembling a release of a Linux distro._

Yes, there should be this! However, you will still have some stragglers and outliers -- this is what the historical reality shows us. The point of such tooling is precisely to minimize the pool of stragglers, not to maximize them!

</comment></comment></comment><comment><USER19> > The product of this process will be a mature core of libraries together with > a set of API guidelines that Rust authors can follow to gain insight into > the design of Rust and level up crates of their own interest.

Is there a plan to make these things statically checkable by rustc/rustfmt/rust-tidy or some sort?

<comment><USER20> Yes! The statically checkable ones will be checked by rustc or Clippy. Though some of the guidelines are at a higher level than what those would be able to check. For example: rustc wouldn't be able to tell whether a particular one of your traits would be valuable to make accessible as a trait object.

<comment><USER21> Beginner question: what would make a crate _non_ -statically-checkable?

<comment><USER22> A guideline like "your tests should test all major functionalities of an API" can't be statically checked for example.

It's not about the crate being non checkable, it's about the check being something that needs a human to look at.

<comment><USER23> I realize that statically checking for tests is reducible to the halting problem, but would it be possible to have some sort of code-coverage checker that would make sure all externally-facing functions have non-zero coverage? That could be used to construct a checklist for a library developer.

<comment><USER24> Code coverage in itself isn't a very useful metric. Classic example is big test with no asserts will get you pretty good coverage.

There's a rather computationally intensive technique called mutation testing where you introduce bugs into code (e.g. change + to -, flip conditionals, etc.) and check that tests fail.

<comment><USER25> Code coverage has been useful to me in practice, so I think blanket statements like "code coverage isn't useful" is very misleading. For example, code coverage has helped me identify specific branches in my code that are untested, which in turn help guide me to write additional unit tests.

You don't need to completely dismiss other testing techniques. Mutation testing can be useful at the same time that code coverage is useful.

<comment><USER26> Totally agreed. Branch coverage has been far more useful to me than line coverage has.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER27> One thing I don't see here: It's difficult to integrate libs into e.g. parallel when they don't derive all the various things (Copy). Will a goal be to aim for deriving standards for libs looked at?

<comment><USER28> It's part of the checklist:

[https://github.com/brson/rust-api- guidelines#interoperabilit...](https://github.com/brson/rust-api- guidelines#interoperability)

Maybe the checklist should get a more prominent link or notice in the blog post. It took me a while to find it.

<comment><USER27> Ah cool, thanks for the link.

</comment></comment></comment><comment><USER29> bstrie is coming by my place tomorrow, we're going to take a stab at overhauling `rand`. We must've been discussing this for two years.

<comment><USER10> Oh great. Keep us updated.

</comment></comment><comment><USER30> I realise this is being done with the best of intentions and will probably be a big net positive in practise, but something about the way it has been presented here rubs me up the wrong way.

In short, the blog post makes very little mention of the role of the primary _author(s)_ of the libraries in question, beyond "Every two weeks, hold a library team meeting [...] with the author in attendance." While I imagine the reality will be quite different, this sounds an awful lot like "oi, you, code review in my office _now_!"

One of the attractions of working on open source is that it offers more scope for autonomy and individual recognition than the typical commercial software job. It's slightly alarming that this doesn't seem to be recognised here.

As I say, I'm sure the reality will be fine (and I remain very keen to give Rust a serious try when time permits), but the rather collectivist presentation here is a tiny bit off-putting.

<comment><USER31> Most of the crates being focused on are either maintained by the libs team already, or are authored by a member of the libs team. It turns out that the people on the libs team have written a lot of widely used and pretty solid libraries ;)

Nobody is forcing stuff on random crate authors; if they didn't want to participate, then that's 100% okay.

<comment><USER30> Thanks, that puts a slightly different perspective on things!

I still feel there's a slightly-unfortunate ambiguity in the linked announcement post, though.

<comment><USER31> Totally, I hear you. It can be tough from both sides, that is, to people super heavily involved in Rust, they know these names, so the fact is obvious. So it doesn't get written down, and then when people from _outside_ of living and breathing Rust every day read it, they don't have the context.

Words are hard.

</comment></comment></comment></comment><comment><USER32> Does the "Rust standard of quality" for these crucial crates include "no unsafe code"?

"Vec" currently needs unsafe code, because Rust doesn't have the expressive power to talk about a partially initialized array. Everything else with unsafe code is an optimization. Often a premature one. Maps should be built on "Vec", for example.

<comment><USER33> In Rust, 'unsafe code' is really 'partially compiler check exempt'. It does not mean the code is unsafe. You can manually verify the 'unsafe' parts.

It is very unfortunately named.

<comment><USER34> It's unsafe in roughly the same way that Rust developers call C and C++ unsafe, right? The advantage is that it's a special, relatively uncommon mode, and it's explicitly marked. But I don't think you can minimize the reality that it's unsafe without also minimizing one of the major selling points of the language.

<comment><USER35> Because only 10% of your code isn't verified by the compiler but instead needs extra review and tests doesn't eliminate the benefit that 90% of your code is verified by the compiler.

</comment></comment></comment></comment><comment><USER36> My biggest gripe with the crate situation is that some of them require nightly. E.g. everything coroutines AFAIK.

<comment><USER22> The coroutine libraries are the codegen ones, yes?

Coroutines are kinda more like a language feature that people have hacked libraries to do codegen for instead, so IMO it's pretty understandable that it needs nightly.

Many of these libraries are prototyping designs that will eventually be proposed as part of the language.

<comment><USER23> Since Rust 1.15, most libraries that require nightly seem to be this kind of prototyping, at least to my eye.

</comment></comment></comment><comment><USER37> Rust sorta has a de-facto code style. It'd be interesting to add tooling to cargo to make it obvious how to comply with the evolved standard style for Rust.

<comment><USER38> There is definitely a changing Rust definition of good code hygiene in terms of how to write code in the most "Rustic" way, but in terms of code formatting, there is already rustfmt[0]

[0] [https://github.com/rust-lang-nursery/rustfmt](https://github.com/rust- lang-nursery/rustfmt)

</comment></comment><comment><USER39> Unfortunate name. I thought this was about libz aka zlib.

<comment><USER40>
        andy@xps ~> python3
        >>> "Libz" == "libz"
        False

<comment><USER41>
        >>> title_case("Libz") == title_case("libz")
        True

<comment><USER40> touché

</comment></comment></comment></comment><comment><USER42> It is an unfortunate name. I don't know why, given how inclusive the Rust community usually is and how eager they were to remove master/slave terminology, that they would choose to announce this effort under the banner of Nazi war tactics.

<comment><USER43> Please don't.

We detached this subthread from [https://news.ycombinator.com/item?id=14275990](https://news.ycombinator.com/item?id=14275990) and marked it off-topic.</comment></comment>


Microsoft is Dead: The Cliffs Notes - <AUTHOR> http://www.paulgraham.com/cliffsnotes.html <comment><USER2> Apropos of Microsoft versus Google

A senior researcher from Google gave a talk at the compter science colloquium at my institution in December 2005. It was supposed to be about such things as the Google Maps API, but it really was a talk about how great it was to work at Google.

At the time, while doing research for my Strategic Defenestration Initiative (another story), I had read an editorial (URL: <http://linux.sys- con.com/read/84967.htm> \-- the editor could use some editing) in Linux SYS CON which argued that LAMP and open source technology enabled Google and Amazon.com to grow "...quickly into industry leaders." The author pointed out that Amazon and Google were successful partly because LAMP technology allowed them to compete on an equal footing with Fortune 500 companies. And now they were successful enough to replace their open source Linux and Apache infrastructure with proprietary software systems (Windows) if they wanted, but they had not done so.

During the question and answer period, I asked the speaker whether Google had the financial and technical means to migrate their servers from Linux to Windows. He replied that they could do this. I couldn't resist: I then asked the speaker whether Google would go ahead and migrate all their servers to Windows.

His reply brought down the house: "if we did that, 90 percent of our engineers would quit on the spot."

<comment><USER3> One of two questions:

1\. Why would they quit?

2\. Why is this funny?

XP is stable. It loads executables, runs them, moves files around etc, without much fuss. Google's code runs mostly on interpreters, so...wtf? The only people who should care are the accountants who would have to pay Microsoft. I mean: Is the punchline, "Ha, ha, google's engineers really are as immature as the bean bag chairs suggest"?

(I withdraw my question if the answer is, "Because they wouldn't want to spend months on useless administrative tasks like re-installing OSes.")

<comment><USER4> Disclaimer: I haven't programmed on Windows in a very long time, and the only time I did it was in a cocoon of an intro programming class in VS.NET where we didn't have to program anything that was either useful or interesting.

However, one of the more substantive complaints about Windows I've heard (beyond the usual instability and insecurity) is that it isn't easily programmable. You can't (I've read) effortlessly connect small, well-designed, single-purpose programs together with things like pipes, redirection, etc. And, most programs by default (again, I've read) are inextricably attached to their GUIs, so you can't make them scriptable like you can with a command-line Unix tool plus a shell script. That would mightily suck for anyone who's used to the high level of programmability in Unix.

</comment></comment></comment><comment><USER5> I think the most interesting thing about article is that people who fall into the "old news" camp probably didn't need the Cliffs Notes to understand what Paul meant. Once I understood what the original essay was about, I wasn't reminded of Microsoft's balance sheet, nor did I think they would be going out of business. The fact that they aren't non-existent but are no longer relevant just seems... intuitive.

<comment><USER6> I completely agree with this sentiment, because I feel the same way. This means that the Cliffs Notes response was "old old news" :)

</comment></comment><comment><USER7> I think the truth is that Microsoft is not dead but simply no longer relevant. Eight years ago you would expect a VC to ask you why Microsoft would not choose to compete against you. Or alternately you would make the case that Microsoft might buy you out as an exit strategy. Today you would substitute Google or Yahoo for Microsoft. So in effect to startups Microsoft has truly become irrelevant.

</comment><comment><USER8> (Submitted under comment in Don's blog. Hopefully it will be approved.)

Don,

I believe Microsoft's demise is more closely related to Apple and Google than you have thought.

Google - easy one, GMail and Google Doc basically replaced the MS office suite I purchased in '98

Apple - based on Paul Kedrosky's observations, Vista sales is highly correlated to PC sales and once those numbers are normalized, "it looks like Vista sales are tracking on par with XP, and no better than that" (<http://paul.kedrosky.com/archives/2007/03/26/playing_parse_t.html).>

So from the indications of recent AAPL stock price - what if Apple continues to gain shares in the PC market? Upon purchasing a new iMac, my dad (retired) have found out that switching to Os X is easy as long as solitaire is installed.

</comment><comment><USER9> It saddens me that people needed the Cliff's Notes (Registered, Trademark, OMG WE PWNZ YOU) to understand what Paul was getting at.

I didn't actively think about it; however, when I submitted my YC app, Microsoft didn't even enter my mind as a potential competitor. I guess they COULD be, but it is a remote concern. Paul basically just put into words what was being subconsciously realized in the minds of web-geeks everywhere.

After reading comments on Slashdot (not generally a source for enlightened comments, I know), I also can't believe how people fixated on the "everyone uses Apples" remark. It should be obvious that Paul was referring to the group of innovative, young people that are developing the next wave of software.

And I am writing this from a Mac. (Yay!)

</comment><comment><USER10> Someone saying 8 years ago that web apps would take the majority of desktop applications out of the picture people would say she is crazy. If today you accept that fact, then possibly u accept that Microsoft has at least been minimized as a potential threat.

But, if someone even today haven't seen the move away desktop apps, then they will never understand what PG meant.

If you compare the 17 acquisitons Vs the 9 that Google did in 2006, the conclusions are obvious...

<http://en.wikipedia.org/wiki/List_of_companies_acquired_by_Microsoft_Corporation#2006>

<http://en.wikipedia.org/wiki/List_of_Google_acquisitions>

</comment><comment><USER11> 'In fact "Microsoft is Dead" was what we in the trade call a metaphor.'

It kind of saddens me that this clarification was necessary, but at least I got a good laugh out of it :)

<comment><USER2> The Cliff Notes probably aren't the whole story: the "Microsoft is Dead" and "Cliff Notes" essays were released in the midst of the selection process for Y Combinator's 2007 summer funding program. Interesting timing...

<comment><AUTHOR> Actually, it's true that it wasn't a coincidence. I've been doing nothing but reading applications all day, and I missed real work. I wanted to write something, but I couldn't take the time to write a proper essay, which takes weeks. So I just wrote down something I'd been thinking about lately.

(If you were suggesting I wrote it to attract attention to YC, the time to have done that would have been before the application deadline. This is the _least_ useful time to attract attention.)

<comment><USER2> The first alternative is what I thought: that you were probably taking time away to write. The piece somehow reminded of a time when I was in the middle of doing my taxes and took 45 minutes off to solve a puzzle: dissect an 8x8x27 cubic inch parallelpiped into four pieces that can be reassembled into a cube.

</comment></comment></comment></comment><comment><USER12> I was a bit surprised at so many people jumping up in arms over the declaration of Microsoft's death. The article was quite clear in what it was getting at -- I could only guess that people are inferring the wrong things because they didn't actually read it. And even then, when I first read the article title, I thought: Yep, sounds about right.

</comment><comment><USER13> The problem with the net is that the hordes of people who do not and may never understand metaphors or the rhetorical history of phrases such as "X is dead" will swamp you every time with their literalism. At some point you have to filter them out and trust that the people who are able to understand have understood and move on.

<comment><USER14> The idea I got from reading few of the responses was that some people chose to only read the title and copy-paste random fragments totally out of context to show Microsoft's not going broke anytime soon. Doh. That was never pg's argument.

</comment></comment><comment><USER15> It's a good thing people react and then look. Google "microsoft is dead" and the number 2 result is headlined "Eight signs Microsoft is dead in the water - MarketWatch" dated May 3, 2006.

Is Dow Jones also irrelevant if no one is paying attention to it?

</comment><comment><USER16> i don't think this move was necessary; people who didn't get the last article won't be placated by this article. people who did get it, will think as they have.

pg, it seems like you took the bait from the angry bloggers.

</comment><comment><USER17> Ironically, the fact that Microsoft apologists didn't even understand pg's explicitly clear article in the first place is yet another HUGE indicator of why they're dead:

_They just don't GET IT_. ;)

</comment><comment><USER18> Paul says he wanted to be the first to call MS's decline.

I think John Walker did this more than 10 years ago: <http://www.fourmilab.ch/documents/msapogee.html>

</comment><comment><USER19> I can't understand why you Mr. Graham must again explain you thoughts. If someone don't want to understand, he won't understand even after ten explanations.

</comment><comment><USER20> PG, Why did you wish to be the first one to call it, btw?

<comment><USER21> I wouldn't say PG is the first to call it. Joel Spolsky wrote an article with same jist a few years back (<http://joelonsoftware.com/articles/APIWar.html),> and I'm sure less known authors have been calling it before that. It's different when a big name with reputation on the line calls it, but Microsoft's being "dead" has been an open secret for a while.

I'm guessing I fall into this crowd: "The other half, the younger half, will complain that this is old news."

</comment></comment><comment><USER22> It was a running joke on Slashdot for years to say "FreeBSD is dead".</comment>


Would-Be Suicide Bomber Killed by Unexpected SMS From Mobile Carrier - <AUTHOR> http://www.wired.com/threatlevel/2011/01/sms-suicide-bomber/ <comment><USER2> Coming soon to America:

Wireless carriers SMS all their customers 5 hours before any major event that might be a terrorist target!

<comment><USER3> terrorists disable vibrate, enable auto-answer and start using voltage going into speaker as detonators...

...now automated periodic calls are mandatory in America.

<comment><USER4> terrorists give up on cellphones, go back to pagers... police now randomly searches doctors for bombs.

<comment><USER5> First they came for the cell phones, and I did nothing. Then they came for the pagers. Still I did nothing. At last they came for the walkie-talkies, yet I continued doing nothing.

All I thought was "What's any of this got to do with me? I'm just a pigeon!"

<comment><USER6> As long as you're not driving a bus, we're fine.

<comment><USER6> * sigh __* not many Mo Willems fans here, I guess.

</comment></comment></comment></comment></comment></comment><comment><USER7> This is a re-run from yesterday:

<http://news.ycombinator.com/item?id=2147409>

<comment><USER8> Any theories as to why the popularity is orders of magnitude higher today? The title, the source? people's mood? Egypt? It is Friday so more people slacking? Time it was posted yesterday vs today (prime time)?

<comment><USER9> There's lots of random fluctuation with this kind of thing; I wouldn't attribute anything overly specific to it.

<comment><USER8> I'd say a mix of something fundamental and something random. Probably the same can be said for a product's virality... or just about anything.

</comment></comment></comment></comment><comment><USER10> Remember this lesson when you design your protocols -- use challenge/response! Ensure that you're immune from replay attacks and counterfeit signals.

<comment><USER11> There is probably an app for that.

<comment><USER10> Actually, I'm working on a library that takes care of that for you and more.

</comment></comment></comment><comment><USER12> Some background on the story : [http://www.time.com/time/world/article/0,8599,2044838-1,00.h...](http://www.time.com/time/world/article/0,8599,2044838-1,00.html)

</comment><comment><USER13> Am I crazy or was this story already on HN? I can't find it for the life of me though.

<comment><USER7> No, you're absolutely right: <http://news.ycombinator.com/item?id=2147409>

Good thing too, finding out you're going crazy can't be fun ;)

Sanity restored?

<comment><USER13> Thank you. The sad thing is neither Google nor Search HN found that.

</comment></comment></comment><comment><USER14> There's a Twilio idea here somewhere...

</comment><comment><USER15> If true, the SMS might be the only time that a wireless carrier's SMS message has ever been useful.

</comment><comment><USER16> Nice story, but it makes no sense. Why would a suicide bomber use a bomb that is triggered by SMS?

<comment><USER17> I may be wrong, but I believe it's so the suicide bomber can't back out at the last minute. They have a spotter that makes sure they're in position then blows them up.

<comment><USER18> I might be missing something, but if that's the case then you can't call them suicide bombers! If they are not actually the ones in control of their own death, it's not suicide.

<comment><USER19> I don't think so -- if you choose to strap a bomb to yourself which you know someone else will detonate, then it's suicide.

I am, however, with Fox News on disliking the terminology "suicide bomber" just because it puts the emphasis on the death of the murderer rather than the innocent folks whom he murders. The suicide aspect is really the least important aspect of the act.

<comment><USER20> _if you choose to strap a bomb to yourself which you know someone else will detonate, then it's suicide._

I wish things were that simple. There are several variations that makes this logic less convincing, from social pressure ('all families must make sacrifices') to outright catch-22 ('if you do not do it, we will kill you and your family').

Especially in the latter case, I wouldn't call this suicide.

</comment></comment></comment></comment></comment><comment><USER21> I've read conflicting accounts from different news articles.

Some articles state the bomber's handler sends a text message to the bomber to say when to detonate the bomb, to maximize terror, but this situation seems like the text message actually triggers the device which seems very precarious and conflicts with the handler theory.

</comment><comment><USER22> Reminds me of this one here: LIVING ON ZIONIST TIME <http://www.darwinawards.com/newsletter/199911.txt>

</comment><comment><USER23> Why does a suicide bomber need a remote control?

<comment><USER24> The bomber needs a remote control so that they can detonate the bomb that they strapped to someone else.

In many (most?) cases, the 'suicide bomber' is being coerced into participating, and can't actually be trusted to fully follow through. The real bomber, the person making and orchestrating the bombings, needs the remote control so that they have control over the detonation.

<comment><USER25> Why use a real person then, why not just drop a phone in a crowd and then set it off when your safely away?

<comment><USER24> Because the bombs aren't in phone form-factor, they're big vests packed with nails and shit, just set off by phones. People tend to notice when you walk into the middle of a crowd, drop a large bag, then walk away. Now, in situations where they _can_ pull that off, say crowded busses..., I'm sure they employ that tactic.

Also, I imagine there is a heavier emotional impact associated with 'suicide' bombings.

<comment><USER19> And because the whole point of a suicide bomb is to send yourself to heaven immediately for killing infidels in the name of Allah. Why would you want to carry on living when you could be hanging around in paradise?

</comment></comment></comment></comment></comment><comment><USER26> Can they sue the Mobile Carrier for this?

Will the terrorists form an anti-spam team?

Will the TSA ban mobile phones in airports and flights?

</comment><comment><USER27> Suicide bummer.

</comment><comment><USER28> I suppose a Darwin award is in order..

</comment><comment><USER29> In Mother Russia, SMS bombs YOU!

</comment><comment><USER30> I honestly believed for a split second that this was an Onion article

</comment><comment><USER31> This is like what people see in the movies!!</comment>


Why MQTT is better than REST - <AUTHOR> https://www.bevywise.com/blog/mqtt-vs-rest-iot-implementation/ <comment><USER2> I'd rather use the WAMP protocol (not the stack...): [https://wamp- proto.org/](https://wamp-proto.org/)

Not only does it works well for iot, but it also is very nice for the web and micro-service oriented architectures.

It's based on websocket, so it kinda works out of the box on most networks without bugging your local sysadmin, and has a bonus benefit of TLS support. And it's open standard with lots of open source clients, like MQTT.

It's also higher level, so you get (routed) RPC and PUB/SUB, with transparent result and error propagation accross language (you JS code in the browser can call you Java code on android discussing with your C# code in the cloud and your python code on the raspi).

The main implementation for the router, crossbar.io, works very well, with plenty of knobs for introspection, security, performance, etc. And you get authentication backed in.

No really, MQTT is very low level to my taste compared to WAMP.

<comment><USER3> With MQTT, there are a number of broker implementations which offer redundancy/resiliency. I did a quick check and didn't find any place stating anything about any of the routers being able to run in a redundant/resilient mode. If that is available, running WAMP becomes feasible, as I saw some interaction between MQTT and WAMP being possible.

<comment><USER2> WAMP is just websocket, so basically any web load balancer can offer redundancy, like the would do with another web service. I haven't done it, but I'm pretty sure you can spaw 4 crossbar instances, put nginx in the front and it will work.

<comment><USER4> The problem with this approach is that the 4 Crossbar instances will need to have a connection/session with at least an instance of each service you want to have global visibility of. This is because WAMP is a session-based protocol, every peer needs to be connected to a Router in order to interact with other peers. A Router cannot initiate sessions, only clients can.

</comment></comment></comment></comment><comment><USER5> Alright kinda of link–baity, but the custom scrolling on the site, is unbearable.

<comment><AUTHOR> Sorry for the slow loading of the site. This is due to the traffic and slow loading of the site.

Do check the medium link of the post -

[https://medium.com/bevywise/mqtt-vs-rest-from-iot- implementa...](https://medium.com/bevywise/mqtt-vs-rest-from-iot- implementation-perspective-e0fb4b34f062)

<comment><USER6> I don't really care about the loading, I know that HN traffic can overwhelm sites. The scrolljacking, on the other hand, is infuriating, especially replacing the standard "swipe to go back/forward" with "swipe to go down/up".

</comment></comment></comment><comment><USER7> The scrolljacking is horrible. Without unblocking cloudflare JS I can't even scroll. This is 100 times more horrible than the usual scroll highjacking. That should be forbidden.

<comment><AUTHOR> Sorry for that experience. We are working on fixing it up. Please read it on MEdium if you are not able to read further - [https://medium.com/bevywise/mqtt-vs-rest-from-iot- implementa...](https://medium.com/bevywise/mqtt-vs-rest-from-iot- implementation-perspective-e0fb4b34f062)

</comment></comment><comment><USER8> Site's not handling traffic very well, I failed to capture an archive link. Here's a pastebin of the text: [https://pastebin.com/raw/XjhNSfTs](https://pastebin.com/raw/XjhNSfTs)

Does MQTT have any sort of future? I played with it about six months ago and it felt like a half-baked thing with no momentum.

<comment><USER9> AWS uses it extensively as part of their IoT platform. [https://docs.aws.amazon.com/iot/latest/developerguide/protoc...](https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html)

</comment></comment><comment><USER10> We use MQTT for IoT type of stuff. I've been really really happy with it vs trying to use REST style stuff. MQTT has TLS support as well. The library is so lightweight that you can run it in a variety of environments. I did have to roll an RPC-over-MQTT convention, but it was pretty straightforward to do.

</comment><comment><USER11> Mods, can you clarify that this is for IoT?</comment>


Verizon iPhone sales fail to meet expectations  - <AUTHOR> http://www.bgr.com/2011/02/16/exclusive-verizon-iphone-sales-fail-to-meet-expectations/ <comment><USER2> Not all that surprising. Most existing smartphone users are still under contract. The interesting question is what many of those users will do in June when another iPhone is released. Or in June 2012 when all existing contracts will be up.</comment>


HTML5 Boilerplate v4.0.0 - <AUTHOR> http://html5boilerplate.com/#v4.0.0

<comment><USER2> Let's have a moment's silence for our dear departed friend, #fe57a1.

<comment><USER3> I beg your pardon?

<comment><USER4> One interesting feature of html boilerplate was that, in its CSS, it set the background color of selected text to #fe57a1 (hot pink). For the longest time, it was a pretty easy way to identify an HB-based site as many developers didn't customize text selection. It also looked rather neat.

For some reason, they've removed it in v4.

<comment><USER5> What a strangely fascinating now-arcane bit of internet lore.

</comment></comment></comment></comment><comment><USER6> They have also released Mobile Boilerplate v4.0.0 for mobile app development. <http://html5boilerplate.com/mobile/>

</comment><comment><USER7> Bring back the hot pink selection background color!

<comment><USER8> Don't even joke about that. Ugh.

</comment></comment><comment><USER9> One would think there's not much left to be done when it comes to the boilerplate, but these guys prove there is.

</comment><comment><USER10> Without getting into code changes, I'm glad to see they abandoned that childish theme the whole project had.

Gratz on the release

</comment><comment><USER11> Splendid work guys, but I am still unhappy that you guys closed the Google group around it.

Will check out the updates shortly.

<comment><USER12> The suggestion to use Stackoverflow as support channel is a good decision imho

<comment><USER13> Doesn't that mean you can't garner opinions or ask slightly open questions though?

</comment></comment></comment><comment><USER14> "The web's most popular front-end template". With the popularity of Bootstrap, this claim seems unbelievable.

<comment><AUTHOR> Bootstrap isn't a template. It's a complete UI framework/toolkit.

<comment><USER15> Which works nicely alongside Boilerplate: initializr.com

</comment></comment></comment><comment><USER16> Very nice, will have to check this out for the project I'm starting today. Sick of using Bootstrap to demo when I usually change everything. Just need some boilerplate instead.

</comment><comment><USER17> Nice work on the new site design, really clean and neat!

</comment><comment><USER18> Glad to see this stripped right back down again to a useful state, it started to get very verbose & noisey

</comment><comment><USER19> Maybe it needs a little more work. I've got a "Unhandled DOMException: SYNTAX_ERR" in jQuery. And "plugins.js" and "main.js" are loaded twice.

Also: I'm on Opera and get a lot of CSS errors. Some are strange: "-o-opacity is an unknown property".

<comment><AUTHOR> The jQuery-related error seems to be an upstream bug - <http://my.opera.com/community/forums/topic.dml?id=1513672>

I don't see plugins.js and main.js loading twice. And that CSS warning can only come from other tabs you had open as we don't include any `-o-` prefixed code in the CSS.

<comment><USER20> I think these are all Opera quirks. It is saying there are _unhandled_ exceptions when all the ones it identified are inside a try/catch. It looks the -o- warnings are coming from the internal feature detects that we use in jQuery 1.8, we really can't avoid those without browser sniffing.

</comment></comment></comment><comment><USER21> I love this project. It's everything that I'll never remember on my own and more.

</comment><comment><USER22> When will the changelog be updated?

<https://github.com/h5bp/html5-boilerplate/wiki/changelog>

</comment><comment><USER23> There's also Yeoman in the works, which appears to be a more ambitious H5BP, but by the same people:

<http://yeoman.io/>

</comment><comment><USER24> Are there some famous projects that I can see concrete examples of use of this this project? This seems pretty cool but I still couldn't get it.

<comment><USER25> You usually won't know a web page is actually using H5BP, especially without looking at the source.

Two websites using it: <http://creativecommons.org/>, <http://www.barackobama.com/>

<comment><USER4> > You usually won't know a web page is actually using H5BP, especially without > looking at the source.

One of the ways to know, before the new release which sadly kills it, was that many sites didn't customize the default hot pink text-selection background color.

Select text and get hot pink? You knew it was the boilerplate.

<comment><USER26> Also I imagine many wouldn't customize 404 too much

<comment><USER4> The 404 you usually had to hook in yourself depending on your server & framework, so that was way less likely.

</comment></comment></comment></comment></comment><comment><USER27> What does Google Analytics have to do with html5?

<comment><USER28> It's boilerplate. It's sensible to assume that sites might use GA, and their snippet is more optimized than the stock one Google gives you, IIRC. It's not difficult to delete.</comment></comment>


Show HN: Version Control for Excel - <AUTHOR> https://www.spreadgit.com

<comment><USER2> Basic questions but what's the difference between this and putting it on github? Is there an option to make it public/private?

<comment><AUTHOR> github doesn't know how to read spreadsheets, i.e. depending on the file format it's either a binary file or an xml. at the moment it's private only. do you think it would be useful to have public workbooks?

</comment></comment><comment><AUTHOR> any feedback would be much appreciated!</comment>


How It's Made: Uranium Fuel Rods - <AUTHOR> https://www.youtube.com/watch?v=TSza2XH28hs <comment><USER2> Those workers don't seem to be protected (especially in the second episode). Isn't this thing radioactive?

[https://m.youtube.com/watch?v=n2f7kEeSXYg](https://m.youtube.com/watch?v=n2f7kEeSXYg)</comment>


Blogger libel judgement due today. - <AUTHOR> http://jackofkent.blogspot.com/2010/05/dave-osler-libel-decision-due-tomorrow.html

<comment><AUTHOR> Judgement now in - entire claim dismiss as abuse of process. A huge win for bloggers everywhere!</comment>