The second-largest religion in each state - <AUTHOR> http://www.washingtonpost.com/blogs/govbeat/wp/2014/06/04/the-second-largest-religion-in-each-state/ <comment><USER2> I'd be curious to see how atheism fits in, if for this purpose it was counted as a religion.

<comment> chestnut-tree _" I'd be curious to see how atheism fits in"_

In the UK, we have a census every 10 years that tries to collect detailed information about the population. The last census was in 2011 and contained an optional question: what is your religion? The number who said they had no religion was 14.1 million which equals 25% of the population of England and Wales. This is a rise from the 2001 census where 15% of the population (of England and Wales) said they had no religion.

There was a decline in the number of people who called themselves Christian and a rise in all other minority religions.

Here's a very informative short video (4 mins) from the Office of National Statistics in the UK examining religion in England and Wales from the 2011 census.

[http://www.youtube.com/watch?v=tXdZJoXuxC8](http://www.youtube.com/watch?v=tXdZJoXuxC8)

<comment><USER3> But, there's a difference between not having a religion and atheism. Atheism is the belief that there is no God.

Just because one does not have a religion does not make them atheist.

I have no religion and yet I am not an atheist.

<comment><USER4> Atheism is the lack of a belief in a god. You can categorise it into a subset of people who believe there is no god (positive atheism) and people who simply have no belief (negative atheism) [http://en.wikipedia.org/wiki/Atheism#Implicit_vs._explicit](http://en.wikipedia.org/wiki/Atheism#Implicit_vs._explicit)

<comment><USER5> Semantics perhaps but isn't a 'belief that there is no god'? I tend to think of agnosticism as a 'lack of belief in a god'

<comment><USER6> A unicorn agnostic would say "I have no evidence for the existence of unicorns, so there may or may not be unicorns" but a unicorn atheist would say "I have no evidence for the existence of unicorns, so I don't believe unicorns exist".

It is a matter of semantics.

</comment></comment></comment></comment></comment></comment><comment><USER7> In Canada the second largest group by religion is "no religious affiliation" [http://globalnews.ca/news/544591/the-second-largest- religiou...](http://globalnews.ca/news/544591/the-second-largest-religious- faith-in-canada-nothing/)

In BC over 35% are non-religious. In Vancouver it's over 41% with only 5,000 more Christians than "non-religious". [http://www12.statcan.gc.ca/nhs- enm/2011/dp-pd/prof/details/p...](http://www12.statcan.gc.ca/nhs-enm/2011/dp- pd/prof/details/page.cfm?Lang=E&Geo1=CMA&Code1=933&Data=Count&SearchText=Vancouver&SearchType=Begins&SearchPR=01&A1=Religion&B1=All&Custom=&TABID=1)

</comment><comment><USER8> The first two graphics provide a great illustration of how misleading population statistics are once you reduce the fidelity to the state level.

"No Presence" cuts a huge swath through the believably near-unanimously Christian (and scant populated) middle.

That entire trend is conspicuously absent from the state map, which basically lacks the capacity to distinguish between urban and rural through most of the country, despite that being probably the most salient cultural divide.

</comment><comment><USER9> I completely fail to understand the "Adherents reported" explanation on the per-county map, which is on the majority of counties.

<comment><USER8> Exactly. The explanation seems to invoke Zoroastrianism, but not in any sensible way.

You might assume that pale yellow refers to Zoroastrians, but that seems unlikely, given its predominance in counties throughout the country and lack of registering at all on the state map. It looks like a pattern more similar to "No Presence," which I take to mean there simply aren't any discoverable congregants other than Christians in certain vast stretches of the, uh, Northern Rocky Heartland (for lack of a good regional descriptor).

</comment></comment><comment><USER10> Apparently there is one county (out of 3000+) where Christianity is not the predominant religious tradition. I'd be curious to know which county that was...

<comment><USER11> Emporia, Virginia. It's actually an independent city rather than a county (a historical quirk of Virginia), and Christians as a whole still outnumber Muslims, but there the Muslim congregation is larger than any one denomination of Christians.

[http://www.thearda.com/rcms2010/r/c/51/rcms2010_51595_county...](http://www.thearda.com/rcms2010/r/c/51/rcms2010_51595_county_adh_2010.asp)

</comment></comment><comment><USER12> I'm dubious about the meaningfulness of broad terms like "Christian", "Muslim", etc., because of their coarse granularity. I'm not religious, but from what I observe, I don't think the "Christian" crowd of Catholics, Protestants, Mormons, and Unitarian Universalists would say they believe the Same Thing. I'm guessing that if you asked a C of E whether they were of the same religion as Jehovah's Witnesses, they'd probably look at you funny. Ditto for Shia and Sunni. Such distinctions have great social relevance everywhere. Consider Latin Americans: Catholic vs Evangelical (and that in itself is already a ludicrous simplification) has massive post-colonial, political, and social ramifications; to lump them all as "Christians" is to throw away so much information. It would also be interesting to see a break-down that included people who culturally identify with a "faith" but who are non- practicing (like so many of my Jewish friends).

</comment><comment><USER13> Interesting that they count Mormons as Christians: I would guess that many non-Mormon Christians would not agree with that.

<comment><USER14> It makes sense to count people as what they consider themselves. Otherwise you are going to open a whole can of worms: protestants may not consider catholics christian, sunni muslims might want to exclude shia muslims etc.

<comment><USER15> This is an excellent point. I'm a Mormon, and from our perspective, it's clear that we are Christians, but others have disputed it. At that point, there is no authority to decide where we fit.

As you said, there are plenty of similar cases, so it's easier to just count everyone as what they claim to be.

<comment><USER9> In that case, I think it makes sense to define the groups as "Mormons" and "non-Mormon Christians" or something like that. It doesn't make sense to define a group where half the members of the group think the other half are heretics.

<comment><USER16> Why single Mormons out? Why not exclude Rastafari who also consider themselves Christians (but are not considered Christians by many non-Rastafari Christians)?

Heck, why even include Protestants? Historically, "orthodox" Catholics consider them to be heretics as well[1].

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

[1] and among some pockets of Catholicism, this belief holds strong to this day

<comment><USER9> I didn't mean to advocate singling Mormons out specifically. Like I said, my proposal is to define groups such that each group's members all consider each other to be orthodox.

> Heck, why even include Protestants? Historically, "orthodox" Catholics > consider them to be heretics as well[1].

When I listed "Mormons" and "non-Mormon Christians," I didn't mean to imply that those would literally be the only two groups within Christianity. I was just giving an example of separating people into groups based on mutually- recognized orthodoxy.

</comment></comment></comment></comment></comment></comment><comment><USER17> The presence of Bahai'i in SC is rather unexpected. From the county map it looks like they are mostly in the Myrtle Beach / Georgetown area.

<comment><USER18> Really cool to see the Baha'i faith mentioned in something like this, and I was really surprised to see South Carolina as the epicenter. For those interested, our House of Worship in the US is located in Illinois: [http://en.wikipedia.org/wiki/Bah%C3%A1'%C3%AD_House_of_Worsh...](http://en.wikipedia.org/wiki/Bah%C3%A1'%C3%AD_House_of_Worship_\(Wilmette,_Illinois\))

<comment><USER19> If you get a chance I highly recommend visiting this location. I drive by it often and have walked around it a few times. It is a breathtaking building.

</comment></comment></comment><comment><USER20> Arizona and Delaware are the only two states where Hindus is the second most popular religion. That's very interesting, considering these states are not too close to each other.

</comment><comment><USER21> would be interesting if they used lightness and darkness to show what percentage of the population was that religion

</comment><comment><USER22> Anyone else getting a 404 on mobile?

<comment><USER23> Yes, 404 on my phone.

</comment></comment><comment><USER24> If you are interested in why Islam is so successful and already the second- largest religion in so many states: [http://www.inquiryintoislam.com/2010/07/why-is-islam-so- succ...](http://www.inquiryintoislam.com/2010/07/why-is-islam-so- successful.html)

<comment><USER25> Standard islamaphobic narrative - i.e support extremists in their claim to own the religion. Ignore other Muslims as fakers.

<comment><USER24> Please state with what you dont agree with in the article instead of crying out propaganda words like islamophobia. Are there factual errors in it?

<comment><USER25> You really want to play the selective Quranic quote game? Fine I'll indulge you with one example:

"Permission to spread the religion by war" \- here you've already discredited yourself by sourcing the hate mongering religionofpeace.com. But anyways the sourced page at [http://www.thereligionofpeace.com/Quran/023-violence.htm](http://www.thereligionofpeace.com/Quran/023-violence.htm) says there is no defensive historical context to the verse at Quran (2:191-193). Wrong. Relocating to Medina did not save the emerging Muslim polity from attacks and raids and from the Meccans. Low status followers who couldn't leave Mecca were still being beaten, tortured and killed. But the crucial bit of false messaging in regards to this verse happens here:

"And fight them until there is no more Fitnah [disbelief and worshipping of others along with Allah]"

Ha! The naive reader might say "gosh thats pretty much a recipe for constant warfare isn't it?". But Fitna doesn't mean that, it more accurately translates to "discord promoting actions/ state of destablizing disharmony" \- think Russia's recent actions in the eastern Ukraine.

A similar dynamic is at play with many of the other points on the site. Misleading interpretations or interpretations favored by extremist scholars are put forth as the true face of Islam. More reasonable rulings by more qualified scholars apparently don't count. Devout Muslims who have no problem in being a harmonious part of diverse societies apparently don't count.

Because that might undermine the central fallacious Islamaphobic narrative: It's not bad people, it's bad ideology.

But it is bad people. There is enough room in any ideology to be an asshole.

I'm not going to do anymore than this, because a) I'm not qualified b) I don't have the energy and c) I doubt you're looking for a real debate, propagandists usually are not.

As a postscript I really don't get the end game of these arguments, but it seems to be: "can't we just all come together and hate Islam? Can't you see that's the only way to fix the world?"

<comment><USER24> It wasn't me who wrote the page whose URL I gave but please don't play the "the verses are taken out of the context" game with me. You could have fooled most people five years back but most common people now have learned enough from Islam to see behind such protective "arguments".

Hacker News isn't the place where religion should be discussed but I urge anyone to read the Quran - best in a simplified form like in "An abridged Koran" (by Bill Warner) where the verses have been reordered chronologically (as they were in the beginning) so everybody can read those verses together with the context of the life of Muhammad and see why your "Muslims were attacked and had the right to defend themselves" is nothing but a blatant lie and also the blue-print for the Jihad carried out by Hamas, Taliban, Boko Haram and other islamic terror groups that just follow the example of their violent prophet.

<comment><USER25> >>Hacker News isn't the place where religion should be discussed.

I see, you wanted to do some drive by propaganda without being called out on it. Sorry.

Muhammad was a political and military leader of his faith community as well as a spiritual one. I see no reason why any Muslim has to apologize for actions he took in those capacities. And context matters even if it upsets your little narrative. It is the basis of the numerous condemnations of extremist violence put forth by _qualified_ Islamic authorities.

<comment><USER26> What, that does exist? Give me an example of a major islamic authority who condems violence and intolerance against non-muslims who refuse to convert to Islam or pay the Jizya when they are under islamic rule.

<comment><USER24> I'm sure he will come back with some example of the Ahmadiyya sect who isn't recognized by any of the main schools of Islam.</comment></comment></comment></comment></comment></comment></comment></comment>


Learn C The Hard Way - <AUTHOR> http://c.learncodethehardway.org/ <comment><USER2> I recently started working through Learn C the Hard Way, and after doing a few chapters I wrote down what I liked about it in a notebook. Digging it up, here it is:

"Why I like Learn C the Hard Way:

\- Opinionated. I think opinionated textbooks are great because they limit their scope and focus on something. Rather than being an authoritative reference (who uses text references anymore?), it's a framework for learning.

\- Emphasizes reading and _editing_ which contributes to overall understanding

\- It's lean. Goes with opinionated, but it's nice that it doesn't repeat what's been done, but sends you there directly, i.e. don't waste time writing about "strcmp", send me to "man 3 strcmp" since I need to get familiar with it anyway."

Disclaimer: I'm a bit new to low-level coding, so feel free to point out why these reasons for liking the text might be naiive.

<comment><USER3> I too just started reading this one.

For me, my first foray into 'low-level' programming was during my freshman year in a CS101 course that used C++. That first course on it's own wasn't too bad, but the subsequent 'introductory' courses for more C++ and Data Structures + Algorithms were just terrible. I couldn't absorb anything useful from them because I was just overwhelmed with the constant bombardment of Segmentation Faults everywhere. Poor teachers + high learning overhead as a result of using a low-level language, just made me want to stray as far away as possible from ever using a 'C-langage' again. If it wasn't for me discovering Python around the same time, I probably would've just given up and pursued music or audio engineering instead.

Fast forward to last year, having now learned a ton more languages, I decided to go back and start reading K&R. I didn't manage to get through a whole lot, but from what I read, I liked it. The problem was that I didn't really feel motivated to keep plowing through it. Looking through the snippets of code in it, more and more I began wondering if some things were just outdated practices, or if they were in fact crazy idioms that I would have to get used to when dealing with C. That doubt (as silly as it might sound) did put me off a bit. The explanations in the text were top notch, but again, the code just didn't compel me to type it in like I knew I should.

Now I started reading LCTHW just a few days ago, and I have to say, it is quite awesome. It's a lot more minimal and sparse than I'm used to for a book, but I have been seriously surprised at how effective that method is. At first I was a bit annoyed that a lot of parts were basically saying 'just google it', cause I look to books to present me with a more coherent explanation of things than I can find scattered around the web or in arcane documentation. But as I went on with it, I noticed that the things he makes you look up on your own are generally specific enough that it makes the task of filtering out all the nonsense much easier than if you were researching it on your own. I quickly got into the groove of the book, because it just builds your confidence that you can be pretty self-sufficient in a new environment, even at the early stages of your learning. Combine that with his 'code first, explain later' format, and that book is surprisingly motivating. In just 2 days, I went through the first 17 chapters (currently stuck on the extra credit for the Database exercise), and I just want to keep on going. I think this is the first time I've ever experienced this level of enjoyment and drive from a programming tutorial. I have no idea why this is, but it's damn impressive. I can't wait to get to the K&R portion at the end.

Thanks Zed!

<comment><USER4> > I noticed that the things he makes you look up on your own are generally > specific enough that it makes the task of filtering out all the nonsense > much easier than if you were researching it on your own.

That's my trick. I actually go googling and make sure that it's something you can find easily with a little nudge. Part of the goal of my books is to teach basic research skills so you can survive on your own. Glad you got that.

And, you're welcome. I'm still working on it, but feel free to fill out comments with problems you hit.

</comment></comment></comment><comment><USER5> Hmm, I've always viewed K&R as kind of a paragon of C perfection -- I first learned C from K&R when I was 16 or so and have used it as a trusty companion to systems C programming all the way through grad school. Not only do I view it as a good book to learn C, I also view it as one of the best computer science textbooks ever written, partially because it manages to encompass so much of the C and UNIX style along with the programming language itself.

So I guess my question is: why not K&R? Learn Python and Learn Ruby always made sense to me because there's a serious lack of definitive texts on learning those languages, especially if you've never programmed before. However, in my opinion C is not the best first language and there already exists a fairly definitive text on it. So I would love it if someone could let me know what I'm missing.

<comment><USER6> Your question is addressed by the author at the end of the book:

[http://c.learncodethehardway.org/book/learn-c-the-hard- waych...](http://c.learncodethehardway.org/book/learn-c-the-hard-waych55.html)

<comment><USER7> He brings no pedagogical issues to bare, it's simply a facile critique of "style", I don't think that answers the question why not K&R at all.

Some may consider the points well taken, not surprisingly K&R had the foresight to respond in kind, two decades earlier:

 _Our aim is to show the essential elements of the language in real programs, but without getting bogged down in details, rules, and exceptions._

<comment><USER4> Wrong, I make a clear example of the copy() function being broken, give a demonstration of fuzzing it to break it, and show how to do it yourself. And, if you think the copy() function is valid, then you also think strcpy() function is valid, and therefore you don't know what you're talking about. Everyone who is aware of secure C coding knows strcpy() is buggy and the cause of most buffer overflows.

<comment><USER8> Dude, stop saying it's broken.

For higher level languages where we have intelligent string objects, yeah, bounds checking is assumed--but this is something originating in assembly- level stuff. If you call it with broken memory, of course it won't work correctly.

You're doing a good job spreading knowledge--don't spread misinformation.

 _Everyone who is aware of secure C coding knows strcpy() is buggy and the cause of most buffer overflows._

If strcpy() was truly buggy and unpredictable in its implementation, it wouldn't be nearly so useful as an attack vector. Be accurate--strcpy() is _unsafe_ , not _buggy_. Sheesh.

<comment><USER4> No, it's defective and buggy. You can't prove logically that the while loop inside will end given any random input. An implementation with a length will end given any input. _That_ is a bug. If you wrote code like that then I'd flag it as a bug, so how is it that strcpy is somehow reclassified as "unsafe" but yeah totally not a bug?

It's so poorly designed that it should be considered wrong, buggy, defective, unsafe, and removed. To go around saying "it's totally alright" when even _Microsoft_ , bringer of more virii than a whore house, has deprecated it:

[http://msdn.microsoft.com/en- us/library/kk6xf663%28v=vs.80%2...](http://msdn.microsoft.com/en- us/library/kk6xf663%28v=vs.80%29.aspx)

Is idiotic thinking. Go ahead and come up with all the distinctive classifications you want, it's a defect to use strcpy because it's buggy, and copy() in that code is the same.

<comment><USER9> > You can't prove logically that the while loop inside will end given _any > random input_.

C is all about layers, and at the bottom you just assume that "all input given to this function is safe". If you're passing random input (without any error checking) to pretty much _any_ of the built-in functions, You're Doing Something Wrong.

Whether you call strcpy/copy _buggy_ or _unsafe_ doesn't really matter. The implementation on all platforms pretty much follows the standard, with its well-known issues. Sometimes it's the right tool for the job; sometimes not.

It's also important to remember that strcpy_s doesn't just magically solve all your problems. Someone might think that this code is safe:

        strcpy_s(src, 10, dst)

But if dst is shorter than 10, you'll have a problem.

Going from ASCIIZ to length-encoded strings isn't something you can just do in the middle of a function; it requires changes all over the place. K&R was written with ASCIIZ and low-level programming in mind. There's nothing inheritly _wrong_ about this; it has both its advantages and disadvantages. Your book is written with length-encoded strings in mind. (Which I think is the best way to teach today).

I love the concept of this chapter, and I pretty much agree with you in your critisms to strcpy/copy, but suddenly you go from "this code has issues" to "this code is bad, bad, bad; never use this code; only silly people would write this code" and so on (at least that how I feel when I'm reading it). I think you should place more emphasis on "this code was written to only work with certain input; look how bad it performs under fuzz-testing; see how easy we can fix it!".

<comment><USER10> I'm going to have to side with Zed here. If I'm teaching an introductory class on Chemistry, you'd better believe that when I reach the section on cyanide I'm going to tell students: "bad, bad, bad; never use this chemical"! If those introductory students were to take a more advanced class, then I would probably tell them: "well, ok, cyanide isn't going to kill you instantly and is actually really useful for a wide range of applications".

Part of being a good teacher is recognizing that there are limits to how much you can expect a student to learn at a given level, and then making sure their knowledge is as "complete" as possible within those limits.

<comment><USER9> > If I'm teaching an introductory class on Chemistry, you'd better believe > that when I reach the section on cyanide I'm going to tell students: "bad, > bad, bad; never use this chemical"!

I agree. So would I. However, what Zed is doing in the last chapter is showing code written by other people. If you taught your students about an experiment done by other (widely regarded) researches, would you say "bad, bad, bad; they should never have used these chemicals"?

I would say: "See, they used it here, but only because they were very, very, very careful. Let's explore different ways this breaks down. … As you can see, I'd recommend you to _not_ do what these people did." _

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> _Caveat: only scanned the structure and read the final chapter._

Regarding the final chapter: K&R, like most programming books (especially those for new language) shows pedagogical code, not for productive use. I highly doubt it was ever intended as the equivalent of the modern-day "Code Complete"!

The value of LCTHW, apart from the intro and availability, is its unusual dissecting/analytical approach, which I welcome and am grateful, and for this reason will read it in its entirety.

</comment><comment><USER12> Wasn't this same book on the front page of HN just a few weeks ago?

It just seems so random to see it appear again today? Was there a special release announcement that I'm not seeing?

<comment><USER13> The page that was on the front page a few weeks ago was just a respond to K&R's C book from the author itself.

</comment></comment><comment><USER14> This should be titled: Learn C The Hard Way

It's for the C version, not the top level domain.

edit: titled was fixed. Thanks!

</comment><comment><USER15> OK. NOT TROLLING, but can I ask why anyone would want to learn C, other than to develop device drivers, kernel modules or other arcane software that is yet to be replaced by C++?

I asked this question of a younger programmer the other day, because it seemed to me, that to HIM, learning C was a rite of passage, and that he was less of a man for not knowing it.

I find macho philosophies in software development both amusing and counter- productive.(If you really want to be macho, become a lisp hacker). My amusement may be personal, but the counter-productivity of using C, when better abstractions (i.e. programming languages) already exist, is real. It creates fiefdoms and priesthoods that are counter-evolutionary and hard to maintain, and leads the death of much software.

Personally, I would rather std::string be pored over by many eyeballs and evolved than change strcpy to _strcpy or strlcpy. Unless I am working for NASA on an embedded device for a satellite, I would rather Moore's law or SMP or DSMP give me the speed I need, than give up productivity to squeeze every last CPU cycle. Developer time is a lot more expensive than hardware (except on satellites and space stations).

Apologies if it is your ambition to work for NASA on embedded devices in space stations, I just think you may as well learn C++. You get most of C, plus some really useful and productive abstractions as well.

If you want speed, learn inter-process communication and the principles of symmetric multi processing. With C++, you also get to abstract away the problems of strcpy and strlen, replace Byzantine function references with class methods, and 35 parameter functions with polymorphism. Best of all, most of the programming world will still think you are manly if you know C++, so you get that too.

<comment><USER16> Objective-C is a strict superset of C, so learning C helps a lot for any iOS or Mac programming.

C++ is also heavily based on C, so it helps to learn C++.

I agree C is hardly used anymore, and for good reason, but it's still interesting to learn.

<comment><USER17> > I agree C is hardly used anymore

Any time you want to provide libraries, you'll likely use C: all languages have C FFI, and it's not possible to have a C++ FFI. So you'd have to rely on `extern C`, and then you have to build a bunch of stuff over your OO code so it can be used procedurally.

Often not worth it, C is the lowest common denominator of languages, if you want to be accessible to all languages... you'll probably use C.

<comment><USER15> > Often not worth it, C is the lowest common denominator of languages, if you > want to be accessible to all languages... you'll probably use C.

Personally I see that not so much as a feature of C, but as a limitation of other languages. Interoperability is a Hard Problem(tm) which deserves more thought and effort than it currently receives. It's easy to say 'If you want interoperability, use C' because that's the current state of affairs. It would be better if interop was a solved problem.

<comment><USER17> You need a common language to interoperate. Currently, C is that common language: everybody understands C.

Some languages have built specific language interop (e.g. Erlang with Java), it's usually broken and often not even as good as C.

> It would be better if interop was a solved problem.

It is: go through C.</comment></comment></comment></comment></comment>


SNB Unexpectedly Gives Up Cap on Franc, Lowers Deposit Rate - <AUTHOR> http://www.bloomberg.com/news/2015-01-15/snb-unexpectedly-gives-up-cap-on-franc-lowers-deposit-rate.html

<comment><USER2> Everyone commenting on the exchange rate, but nobody commenting on the _negative interest rate_? If you want to keep your money in CHF the Swiss banks are going to charge you 0.75% for the privilege.

This is the "safe asset premium". Given the uncertain world, people and organisations with vast wealth are looking for ways to maintain it. In a globally shrinking economy this is not as easy as it sounds. And it's a _lot_ \- for example, UBS have $2trn assets under management.

Edit from my other comment: this is the interbank target rate only, normal deposit rates are just above zero: [http://www.ubs.com/ch/en/swissbank/private/interests.html](http://www.ubs.com/ch/en/swissbank/private/interests.html)

The corollary of this is that any investment proposal with a plausibly positive expected return looks good. Swiss banks have issued a lot of CHF mortgages on property in and out of the country. Property in the core stable parts of the western world has shot up in value (e.g. London), while the periphery remains depressed.

<comment><USER3> They started making them negative a month ago. It mostly just affects the rate that the banks pay to the central bank. It doesn't really affect individuals, not until you get into 10M CHF, and honestly, who would keep that much money in cash?

[http://www.thelocal.ch/20141218/swiss-central-bank- imposes-n...](http://www.thelocal.ch/20141218/swiss-central-bank-imposes- negative-interest-rates)

<comment><USER4> As I understand it, the "classic" Swiss bank account is a negative interest rate account where money is held for safe-keeping - neutral country. I believe this is the same philosophy on a national/global scale. People don't put money in Switzerland for a return, they put it there for safety.

</comment></comment></comment><comment><USER5> Switzerland exports 27 billion USD more than it imports [1]. That means this is bad news for the swiss economy, since swiss products just became much more expensive for foreign buyers.

[1] [http://www.bfs.admin.ch/bfs/portal/en/index/themen/06/05/bla...](http://www.bfs.admin.ch/bfs/portal/en/index/themen/06/05/blank/key/handelsbilanz.html)

<comment><USER6> We (small startup/company in Switzerland) are mostly exporting our product. Today we changed from making a profit to making a loss with each system we sell...

<comment><USER7> Is your price pegged to USD/EUR?

<comment><USER8> It implicitly is if their customers use USD / EUR. Maybe they buy something en masse at, e.g., $99 but not $119

</comment></comment></comment></comment><comment><USER9> It always seemed such a bad idea to me in the first place. If an actor is so predictable in the market, how can you prevent other people from benefiting from it ? Pump&dump.

> It introduced the cap in September 2011 and, in 2012, spent $199 billion > defending the minimum rate.

Wow, spending almost 1/3 of the GDP of 2012 to maintain the EUR/CHF ratio ( [http://www.wolframalpha.com/share/clip?f=d41d8cd98f00b204e98...](http://www.wolframalpha.com/share/clip?f=d41d8cd98f00b204e9800998ecf8427e71hk3ft38s) ). I hope it was worth it.

<comment><USER10> To be clear, the SNB is not "spending" money. They were intervening to prevent the CHF from appreciating, not the reverse. In this situation, they (as the central bank) are creating new money (CHF), which they sell to anyone who wants to purchase them for EUR1.20 each.

The result of this is to accumulate enormous amounts of EUR, which is typically used to purchase EUR area government securities.

The SNB actually made a profit of CHF 38 billion in 2014 from price changes/interest on the securities they hold as well as FX gains. [1]

They of course will now be taking significant losses on those foreign currency assets as the CHF appreciates.

[1] [http://bigstory.ap.org/article/eaafe09a860f4b09abc789fe6f5d2...](http://bigstory.ap.org/article/eaafe09a860f4b09abc789fe6f5d26f5/swiss- central-bank-reports-profit-38-billion-swiss-francs)

<comment><USER11> On the other hand, SNB now has a decent-sized mountain of Euros to sell.

<comment><USER10> The actual size of the SNBs EUR holdings hasn't grown that much (EUR174 bn in Q3 2014 from EUR90 bn in 2010) and EUR allocation has actually reduced (to 45% from 55% over the same period) [1].

I believe the most recent comments by the ECB also indicate that they have no immediate plans to reduce reserves.

With a JPMorgan analyst suggesting a few days ago that a size for the expected ECB QE program of EUR500 million is missing a zero, it's likely not going to be too difficult to find a buyer if they did decide to do so.

[1] [http://www.snb.ch/ext/stats/balsnb/pdf/deen/A3_2_Devisenanla...](http://www.snb.ch/ext/stats/balsnb/pdf/deen/A3_2_Devisenanlagen_der_SNB.pdf)

</comment></comment></comment></comment><comment><USER12> Little known fact: SNB is actually a publicly traded company but exempted from various laws which usually apply stock corporations. A share gets you entry and a vote at the general assembly which is known for its generous Apéro. While they do not have a dress code (you can appear with a Hoodie) Jean Studer is French speaking so a lot of the assembly will be in French.

</comment><comment><USER13> Realtime exchange rate [http://www.finanzen.ch/devisen/realtimekurs/eurokurs](http://www.finanzen.ch/devisen/realtimekurs/eurokurs)

Eur fell as low as 0.79 from 1.2.

</comment><comment><USER14> CHF appreciated 40% in 15 minutes and then retraced about half of it. That's Bitcoin-comparable levels of volatility.

<comment><USER15> you missed the part where the "SNB Unexpectedly Gives Up Cap on Franc, Lowers Deposit Rate".

When a central bank artificially sets an exchange ceiling/floor, and lets it float again freely expect the currency to adjust. That's not "market volatility", that's just the market adjusting to a true free-float.

<comment><USER8> Look back to Sept 2011 to see the Franc do similar price swings without a cap in place... In fact, that's WHY the cap was put into place (also to prevent deflation, recession, and a huge slump in exports).

</comment></comment></comment><comment><USER16> Could someone please explain why they do this, and with this means in layman terms ?

<comment><USER17> They do this because to peg the currency to the Euro meant they had to buy an unlimited amount of foreign currency to make up for it, which gets very expensive in the long run.

What this means in layman's terms (I'll do my best):

\- If you are paid in Swiss Francs, your purchasing power in the Euro zone is stronger (since the prices you see will in effect be smaller to you).

\- If you are paid in Swiss Francs and shop in Switzerland, the foreign products you buy will slowly become cheaper (although companies will try to keep the label price of goods "the same" in Switzerland, and pocket the difference). It will not have a direct impact on 100% Swiss products, however.

\- If you are paid in Euros, visiting Switzerland and buying Swiss products just became more expensive.

\- The Swiss firms exporting products might get hit, since their products are now more expensive to foreigners (that was the original point of pegging the CHF to the EUR in the first place - so they could export more).

\- As others pointed out: the Swiss firms importing goods will have cheaper raw materials, too, so the price of some Swiss products should decrease as well (modulo some companies trying to pocket the difference by keeping the same face cost, again).

I'm sure I miss a few obvious points, but these changes of value affect such a wide range of things it's hard to think of everything :)

EDIT: Formatting and one omission :)

EDIT2: Added import of raw materials on the list. Thanks guys!

<comment><USER10> _> They do this because to peg the currency to the Euro meant they had to buy an unlimited amount of foreign currency to make up for it, which gets very expensive in the long run._

It's the reverse situation that is typically unsustainable from an expense perspective (as the Central Bank of Russia has been dealing with).

To prevent the CHF appreciating, the SNB creates the CHF it uses to buy EUR to defend the peg. There is no theoretical limit on the amount of CHF they can create in this process as they are creating new money. The key issues are that:

1) The CHF has depreciated significantly on a trade weighted basis since the peg is only against the EUR (which has depreciated substantially against the USD).

2) The monetary base has reached 60% of GDP as a result of the high demand of CHF at the artificially low price (and getting lower given continuing EUR depreciation) and continues to grow.

There is much speculation, but most market professionals agree that the timing is due to the expected imminent QE by the ECB and the likely implications for the above two factors.

<comment><USER17> Very interesting, thank you for the insight!

</comment></comment></comment></comment><comment><USER3> Switzerland has something like 1/2 trillion in foreign currency reserves built up while trying to keep the franc at parity, putting them in a risky position. I think they were preparing for today - they recently lowered interest rates to negative, and now today dropped them even more negative.

Funny anecdote - the last time this happened around 3 or 4 years ago I was on a project in Germany and was surprised at how cheap everything was now with the exchange rate. Dining out felt like I was in India it was so cheap. We bought an Audi (in CHF) around then and they had to reduce the price 30% before the deal went through - then shortly after they pegged the franc to the euro.

Now hopefully the foreigners will start moving their money back into francs and let the property market cool off.

<comment><USER18> > they recently lowered interest rates to negative, and now today dropped them > even more negative.

How does this not cause a run on the banks? (Serious question)

<comment><USER2> The average depositor is not paying negative rates: [http://www.ubs.com/ch/en/swissbank/private/interests.html](http://www.ubs.com/ch/en/swissbank/private/interests.html)

There is obviously a limit as to how negative the SNB can push the interbank rate, but if you see it as the "convenience fee" for keeping and moving large amounts of money in the central bank versus trying to hold it and transport it as cash it makes more sense.

</comment></comment></comment><comment><USER19> As an example of the current exchange imbalance, the top of the line 13" MacBook pro is:

\- 1799€ -> 1845CHF (->$2110) on the French Apple store.

\- 1949CHF -> 1900€ (->$2228) on the Swiss Apple store.

The kicker here is that the VAT is 8% in Switzerland and 19+% in France, and yet the laptop is 100€ cheaper in France.

<comment><USER20> There is also the 10% Apple adds to their stuff sold in Switzerland just because they can and people are stupid enough to pay it.

<comment><USER21> Indeed. This varies too much to be viable. In Denmark, the top-of-the-line 13" Macbook Pro sells for 13999 DKK (Roughly 1882 EUR - There are 25% VAT in .dk). Now, that price point is chosen for its locality to 14000, more than any other reason.

</comment></comment></comment><comment><USER22> "Recently, divergences between the monetary policies of the major currency areas have increased significantly – a trend that is likely to become even more pronounced. The euro has depreciated considerably against the US dollar and this, in turn, has caused the Swiss franc to weaken against the US dollar. In these circumstances, the SNB concluded that enforcing and maintaining the minimum exchange rate for the Swiss franc against the euro is no longer justified."

[http://www.snb.ch/en/mmr/reference/pre_20150115/source/pre_2...](http://www.snb.ch/en/mmr/reference/pre_20150115/source/pre_20150115.en.pdf)

The SNB just had a 38 billion surplus in 2014 which they could use to write of their losses in euro investments, but they just stated they are not going to. They EUR is weakening against the USD and the SNB does not want the CHF to go down with it. Does that mean they lost trust in the EUR completely? People are speculating on Greece's exit from the EUR, which could further weaken it.

I guess exports and tourism will now suffer, but investments in the eurozone just got pretty cheap for the swiss.

<comment><USER23> A grexit would strengthen the euro, not weaken it. Greece has more imports than exports. A grexit will weaken the euro temporarily because of uncertainty but the effect will wear off quickly.

</comment></comment><comment><USER20> Better take the hit now than later when it could be a lot more painful.

</comment><comment><USER24> Huge. It was like NFP at 9.30 am today. Was wondering why my dev code was using more memory than normal. Looked at live graphs to see all hell was breaking loose. US open could be interesting.

</comment><comment><AUTHOR> Not too good news for developers working for foreign companies in Switzerland. (Google, etc.). They just got 15% more expensive without a salary raise.

<comment><USER25> This is incorrect. Nothing changed as they are paid in CHF and spend money in CHF. If they buy products from abroad, their spending power just increased by 15%.

It's not good news for Google, etc. as their Swiss employees just got 15% more expensive.

<comment><USER26> Also the biggest change is versus EUR (who was crashing vs USD). CHFUSD wasn't affected as much if you compare with previous years rates.

Additionally every large company does currency hedging to protect itself from those events.

<comment><USER27> Google must also earn some CHF to offset R&D costs (and maybe a subsidy also from the Swiss gov?).

</comment></comment></comment></comment><comment><USER28> Could someone explain the market reaction here?

When rates are lowered, it puts both competitve pressure and supply pressure on the currency. This can be seen in all historical interest rate cuts. You cut rates to weaken, and raise rates to strengthen.

And yet, this CUT in rates is leading to a BID for CHF.

As they say in Geneva, WTF?

<comment><USER29> My guess is it's to do with the relative state of the Euro. This move by the Swiss bank is effectively a vote of no confidence in the ECB being able to resolve the weakness there, so even though going into CHF is bad, it's judged to be less bad than sticking in EUR.

</comment></comment><comment><USER30> Was about time ...

<comment><USER31> That is the common opinion in the comments on "20min.ch". Don't know if this speaks favorable for you.

<comment><USER32> +1. The vast majority of people commenting on these platforms are very very limited thinkers that just see the positive short term effect for them but not even try to think about the effect this has on the swiss exporting economy. Pretty sad.

<comment><USER30> "Lieber ein Ende mit Schrecken als Schrecken ohne Ende."

There is no way the SNB could have sustained this currency peg in the long term: It's vital for a "kleine offene Volkswirtschaft" like Switzerland to maintain its independent currency. We've been held hostage by the adverse developments of the EUR currency for too long (a terrible construct from the beginning, by the way).

Three years ago, the SNB gave a lifeline to Swiss companies who rely on exports to the EU area. Those companies had enough time to prepare for the Day of Reckoning which came unto us today. I am aware that there might be a bloodbath ahead, but I don't think it's up to the SNB to make sure Swiss jobs in export industries are artificially kept alive. If at all, it's up to the politicians to protect those industries. They could either decide to subsidize those companies or to turn the employees into civil servants. In case the electorate doesn't like such measures thank god there will be elections this fall.

</comment></comment></comment></comment><comment><USER33> You cannot trust the Swiss any more. That's what people learned during the last years.

<comment><USER33> Credibility at stake: [http://www.handelszeitung.ch/konjunktur/schweiz/glaubwuerdig...](http://www.handelszeitung.ch/konjunktur/schweiz/glaubwuerdigkeit- der-snb-steht-auf-dem-spiel-724859)</comment></comment>


Programmer pay rates in Armenia, from intern to top - <AUTHOR> https://yerevancoder.com/2018-01-09-pay-rates-in-armenian-tech/ <comment><USER2> This kind of discussion can only help programmers.

A point I've raised elsewhere: why should geography figure into a pay rate. The work programmers do in Armenia isn't less valuable than work I do in the Bay Area. They should be paid closer to my rate. Even if the figures quoted in the article are US dollars it's still low for programming. Programmers who live in Armenia should demand more.

Note: obviously geography will have some indirect impact. Local shops in Armenia providing services for local businesses can likely only afford local rates, for example.

</comment><comment><USER3> I think those numbers are impacted by outsourcing market a lot. As discussed here multiple times, when you work remotely for a company without a middle man, other rates are applied.

With Basecamp, for instance, you'd get proper pay so you'd be able to afford flight tickets for a conference, which is not the case with rates in this article.

Disclaimer: born, lived and worked not too far from Armenia; worked in outsourcing for a good chunk of my early career. I'm a strong advocate of location-independent fair salary and hope other companies will follow Basecamp's lead.

EDIT: typo.

<comment><USER3> Pardon my sloppy example, but using [https://about.gitlab.com/jobs/developer/](https://about.gitlab.com/jobs/developer/) as GitLab salary calculator (on the bottom of that page), you can earn at least $76k/year working on GitLab as a senior engineer. While still not fair—in my humble opinion—that's more than 2x compared to numbers on the article.

Mind you, outsourcing firms take at least 30% of your paycheck (from what I remember from more than decade ago, $1.5k fees on top of $3k/month salary).</comment></comment>


Show HN: A site I built to donate 10k mosquito nets to charity - <AUTHOR> https://giveanet.org/?r=M4GWBOWLMIHY4 <comment><AUTHOR> Hi HN! (resubmitting because the first post blazed through /newest)

I was researching charities a while ago when I came across this excellent presentation by the founder of the Against Malaria Foundation, Rob Mather: [https://www.youtube.com/watch?v=E5wr3u8Gjwg](https://www.youtube.com/watch?v=E5wr3u8Gjwg)

During the Q&A at the end, Rob mentioned an idea for a website that would make it really easy for anyone to donate just a single net. This is the result of me building that site + reaching out to AMF!

Also the source for giveanet.org is here (vanilla js, go, postgres): [https://github.com/justicz/giveanet](https://github.com/justicz/giveanet)

Please help me get to 10k! Much of the traffic so far has been from my family posting this link to Facebook, which means my mom's friend's are leaving embarrassing notes on the homepage :)</comment>


Ask HN: Mobile Dictation vs. Typing? - <AUTHOR> What has your experience been with dictation on mobile?  How often do you use it? <comment><USER2> I use mobile dictation frequently since I prefer typing on a full-sized keyboard over typing on a mobile phone screen. I find it works pretty well for me (using iOS 12 on an iPhone 6s). If I am in an area with poor connectivity or in a noisy environment, or if I am using unfamiliar words, it may not work as well, but for my purposes, I find I spend far less time dictating and occasionally correcting what I meant to say over manually typing in text. I utilize the "blue underline" feature to help train the system to recognize words I say when the dictation software gets confused.</comment>


Faux generosity: How Bill Gates bought his power and influence - <AUTHOR> https://www.mintpressnews.com/faux-generosity-how-bill-gates-bought-his-power-and-influence/263208/ <comment><USER2> >if Gates is so committed to giving his money away, why does he keep getting richer?

>he should not be viewed as a hero. All billionaires should be viewed as sick in the head.

Is this really worth posting on HN? Sounds like a great way to disencentivize philanthropy, reminding me yet again of [https://slatestarcodex.com/2019/07/29/against-against- billio...](https://slatestarcodex.com/2019/07/29/against-against-billionaire- philanthropy/)

<comment> Joe-Z Well you know what? Building massive empires while evading taxes, exploiting unregulated markets or down-right not adhering to existing law and then relying on "philanthropy" to make the world a better place _should_ be disincentivized.

That said Bill & Melinda Gates do seem genuine in their efforts and I think it's great what they're doing. They just shouldn't have been able to obtain such obscene amounts of wealth in the first place.

<comment><USER2> If Bill Gates had donated 100% of his wealth the instant he became a billionaire, his total amount donated would be 1B, and then he would be broke.

Alternatively, if he holds onto his MSFT position and donates over the course of his life, his total amount donated will be >100B.

<comment> Joe-Z I don't care how much he donates. My point is exactly that we shouldn't have to rely on one wealthy individual for anything. The money should've stayed in big parts with the people that helped build this wealth (i.e. employees) and the ones living in the country which enabled this creation of wealth (i.e. taxes)

</comment></comment></comment></comment><comment><USER3> The only problem I have with the very wealthy is their influence on government that the average person doesn't have. They can afford teams of lobbyists to pitch support to provide loopholes to make themselves more wealthy. They can influence elections through large donations to PACS that favor the wealthy.

Other than this, I really don't care how much money they have.

</comment><comment><USER4> Mint Press is known for publishing copy for Sputnik and Russia Today. This isn't newsworthy nor does it belong on HN.

</comment><comment><USER5> I don't believe Bill Gates has all this money on hand. He'd have to sell massive amounts of shares to actually hold his wealth. Wouldn't selling his shares to actually obtain that wealth damage the businesses for which the shares are for?

<comment><USER6> No, there'd be buyers for his shares, at the market value determined by the performance and intrinsic value of Microsoft

The value of Microsoft has to do with the performance of its business, not the makeup of its investors

<comment><USER5> I meant more so in selling off large amounts of shares at one time.

</comment></comment></comment><comment><USER7> This is such a propaganda piece...

</comment><comment><USER8> Rich people get rich (outside of criminals) by enriching the lives of others through voluntary trade. Get over it.

<comment><USER9> Oh yeah, I mean Gates fostered so much voluntary trade that his company faced the largest antitrust suit in US history.

Super voluntary.

<comment><USER10> He did say outside of criminals. Underhanded practices to remove competition is illegal

</comment></comment></comment><comment><USER9> I don't see how this is relevant to HN. Just because it's a story about someone related to technology doesn't mean the story has anything to do with anything but politics.</comment>


Gendered Language Like 'Manhole' Will Soon Be Banned from Berkeley's City Codes - <AUTHOR> https://sacramento.cbslocal.com/2019/07/18/gendered-language-like-manhole-will-soon-be-banned-from-berkeleys-city-codes/ <comment><USER2> Gender neutrality 1) isn't, never has, and never will solve these 2) misinterpreted troubles of this world.. Typical band-aid mentality

</comment><comment><USER3> I can hardly wait to set a list of the replacement term options.

"Sooo, whaddya think? we got, uh, service chambers, repair cavities, refinement ports or redress vaults?"

<comment><USER4> I vote for "personnel apertures".

</comment></comment><comment><USER5> Was anyone genuinely triggered by manhole? This is bullshit makework and virtue signaling at its finest.

</comment><comment> a0-prw If one didn't know what "manhole" meant, it would probably suggest something nsfw ;) Terms involving "cavity" or "aperture" also seem open to misinterpretation. How about "vertical personnel ingress".... hmmm, nah

<comment><USER6> '(Utility/Sewer) access shaft' works just fine for me. We can call manhole covers 'AS covers'

edit: I figure that them being referred to humourously as 'ass covers' will a) give the utility workers a bit of fun, and b) isn't really specifically gendered enough to be a problem</comment></comment>


Ask HN: Can you recommend an online hang out? - <AUTHOR> Does anybody have any recommendations for a good programming Discord server or other real time hangouts? Is there are Discord server for HNers, for example?<p>I've tried a few servers that and they weren't too friendly or welcoming :( <comment><USER2> Yeah! I'm member of an IRC-based programming community. We are happy to have newcomers. We also run a kind of tilde.club to host people's projects (webspace and ssh).

[http://dailyprog.org/chat/](http://dailyprog.org/chat/)

About Discord, I tried to use it only for few hours. I find it so slow (at least on my machine) and bloated.</comment>


Ask HN: Why do all my article submissions fail? - <AUTHOR> When I submit a link to an article, I get an error saying expired link. <comment><USER2> Please describe the exact steps you're doing and the error you're getting in an email to firstname.lastname@example.com.

<comment><AUTHOR> Will do. Thanks for the tip.</comment></comment>


A no-nonsense task management and team collaboration suite. FREE forever - <AUTHOR> https://www.infolio.co/ <comment><AUTHOR> Collaboration suite for fast results & easy teamwork</comment>


Build Product, Not PowerPoint (Even If You're Non-Technical) - <AUTHOR> http://chrisyeh.blogspot.com/2009/09/build-product-not-powerpoint-even-if.html

<comment><AUTHOR> "And if you can't code, and you can't get brilliant coders to like and respect you, you probably shouldn't be an entrepreneur."

As a non-technical person, this advice is harsh, but it's true. Yeah, your life is much easier if you have friends from high school who became coders while you went off into banking. And, yeah, it's all-but-impossible to find great coders except by happenstance, but it doesn't make this advice any less true.

Of course, someone (maybe not necessarily VCs and angels) could make a killing if they would match up interested business guys with experience and understanding of large markets with brilliant technical people, but I suppose that hasn't happened to date for some reason. It's beyond my meager understanding, but there must be a reason.

<comment><USER2> I was a psych major in college, but took Real Analysis, Discrete Math, Information Theory, Number Theory, and Abstract Algebra so I could get smart CS people I want to build businesses with to respect me. Everyone in #startups thinks I'm a loser because I code in PHP, so I'm moving to Rails. Yee-haw

<comment><USER3> But you built hiphopgoblin; you're a winner.

</comment></comment></comment><comment><USER4> "And if you can't code, and you can't get brilliant coders to like and respect you, you probably shouldn't be an entrepreneur."

What if I'm starting a company that isn't a software company? I know Silicon Valley people sometimes forget, but there are other business models around than variations of theme write a cool piece of code and then try to charge money for it.

<comment><USER5> Well this is a "hacker" forum, whom's origins are in software. Secondly, is it that hard to mentally substitute in your field of choice? e.g. "And if you can't work in the lab, and you can't get brilliant researchers to like and respect you, you probably shouldn't be an entreprenur"

<comment><USER4> Either way the quote is stupid. Had he said "...shouldn't start a software company" I'd be in full agreement. Despite what some people seem to implicitly assume the word "entrepreneur" isn't intrinsically tied to the software field. Saying if you suck at X you shouldn't be an entrepreneur doesn't make sense unless X is "being an entrepreneur".

</comment></comment></comment><comment><USER6> I just love it when tech people / tech VCs talk like there is no alternate reality where products get built except for their tech world. There are a lot of other startups that will ex-post have contributed a lot to the future of humanity and will not have come from the internet world.

I consider it fairly ignorant to say "if you can't code (...) you probably shouldn't be an entrepreneur".

</comment><comment><USER7> Most consumer web sites don't require brilliant coders to be honest, just someone competent enough to quickly get the first version of the site out, with pleasant UI and a decent set of features.

</comment><comment><USER8> I am not a regular here, and not a coder nor business person, but isn't the whole point of Y-Combinator to find a place between $250k and $0? I.e. to let 20-somethings build their prototype on a shoestring? I mean the "if you can't code, bad luck" still applies, but I imagine there are tons of Y-Combinator projects which wouldn't have got "traction" without the breathing space that the small amount of money and tutoring provides.

Basically what I am saying is this guy is saying absolutely nothing of value from his blogspot pulpit.

</comment><comment><USER9> You can outsource it, and you can make something even if you don't code.

</comment><comment><USER2> I looked up this Daniel Clemens guy. Holy shit. Rhodes scholar. Wow.</comment>


Ask HN: Which services are you using to send SMS in 2018? - <AUTHOR> Currently using Twilio to send SMS internationally but looking around for other options.<p>Requirements:<p>- Must be able to send internationally<p>- Would like to send from a shortcode rather than a long phone number.<p>- SMS will include a URL and we would like to include an image in the SMS (MMS?) <comment><USER2> CEO of communications company here. We send/receive millions of messages with Twilio. It is our go to solution because it is the most reliable in our experience. Plivo is their most direct rival in my view. We've considered them but again Twilio is reliable so we are sticking with it for now but remain open minded.

FYI Short codes don't interchange well internationally. Also sending MMS has all kinds of challenges/limitations. If I can be helpful at all I'm... dave @ sendsmart.com.

Cheers

</comment><comment><USER3> Twilio.</comment>


List of freely available Programming Books - <AUTHOR> http://conceptf1.blogspot.com/2013/11/list-of-freely-available-programming.html <comment><USER2> A better list: [https://github.com/vhf/free-programming- books](https://github.com/vhf/free-programming-books)

EDIT: looks like this blog post is actually copied from the repositary I mentioned. The repo content in Nov 2013 [0] actaully matches to this blog post. It was originally found by a redditor [1].

[0] - [https://github.com/vhf/free-programming- books/blob/b7cec2abc...](https://github.com/vhf/free-programming- books/blob/b7cec2abcd13643bd2aaf8a4037b1d57ae45004c/free-programming-books.md)

[1] - [https://www.reddit.com/r/programming/comments/3d0c2p/list_of...](https://www.reddit.com/r/programming/comments/3d0c2p/list_of_freely_available_programming_books/ct0qw8o)

</comment><comment><USER3> While we're on the list of programming books topic, I'd like to mention two that can be found here: [https://github.com/vhf/free-programming- books/blob/master/fr...](https://github.com/vhf/free-programming- books/blob/master/free-programming-books-de.md)

The first one is "Software Entwicklung in C" and it is an absolutely great book on building software in C. Personally, its the best I've ever read. The author is a meticulous architect, and really imbues solid software practices while teaching you how to build an embedded coffee machine. Also "Linux-Unix Programmierung" is a very detailed and comprehensive overview to all the linux libraries and their usage. If anyone can read german and does systems level development I would highly recommend both of those, especially the first one.

Its a shame these kinds of freely available resources just go completely missed most of time. Does anyone have other really good books in non-English that have also gone under the radar? It would be great if we could somehow get some of these translated...

</comment><comment><USER4> List of all Free Python Books

[http://importpython.com/books/](http://importpython.com/books/)

</comment><comment><USER5> Any specific ones you recommend? Try adding them to - [http://hackr.io](http://hackr.io)

</comment><comment><USER6> Can anyone recommend good ruby book from that list for front end developer?

<comment><USER7> why's guide, Learn Ruby the Hard Way, and The Bastards Book of Ruby are all good if you don't have any experience with it.</comment></comment>


Will the Gig Economy Prevail? [LRB Book Review] - <AUTHOR> https://www.lrb.co.uk/v41/n23/katrina-forrester/what-counts-as-work <comment><USER2> I never really understood the hate for the gig economy. If the gig economy is gone, the majority of the people getting gigs and making extra cash will be making a cool $0.</comment>


Apple Maps Redirecting to Google Maps for Direction in Windows - <AUTHOR> https://maps.apple.com/?daddr=(51.5669271,-0.1492596)&dirflg=d <comment><USER2> Redirects on Firefox on Linux too.</comment>


Chattunnel encrypted chat beta needs your help - <AUTHOR> http://splash.chattunnel.com/#/

<comment><AUTHOR> that is why we are running the speed test. we need to see how fast various browsers and devices are

</comment><comment><USER2> Hey ran the test. Looks pretty cool.

</comment><comment><USER3> Looks cool. but 512 is pretty weak</comment>


HP gets into the tablet business, Windows-style - <AUTHOR> http://www.slashgear.com/hp-elitepad-900-tablet-means-business-01249752/

<comment><USER2> am not sure if it will help them.. i mean the only competing point they will focus on is Price.</comment>


No More Joins - SilverStripe and OrientDB - <AUTHOR> http://www.silverstripe.org/no-more-joins-silverstripe-and-orientdb/

<comment><USER2> The title of the post is throwing people off, because it's actually the opposite. Graph databases like OrientDB and Neo4j "Pre-Join" everything. Using nodes connected by relationships, every single "record" in your database knows what is connected to it without having to do a table or index scan/lookup. It's all pre-joined, so you avoid the pain of having to JOIN dynamically when you run your queries.

After years of MS SQL Server, switching to a graph database (I use Neo4j but it's the same concept) requires a mental mode change, but once you get past the "graph epiphany" you'll never want to go back.

<comment><USER3> This.

Graph DBs don't do away with JOINs...

they just do the JOIN on INSERT.

<comment><USER4> Two questions about that.

1) Wouldn't that have roughly the same performance impact on insert/update/etc. as building indexes? Possibly even more, as building an index (without foreign key constraints) only affects one table, whereas this would imply updating all tables with which this table has relationships?

2) Doesn't this require you to know all of the relationships your data has at insert/update, rather than at select?

<comment><USER5> 1) No. It stores the id/address of the 'row' you are linking too, so there is no performance impact on insert/update/etc.

2) Yes, very much so.

EDIT: For a bit more clarity on how/why you'd use it.

Graph DBs are very good for something like a social network. You would store each person as an object/document and then you could have a simple array of ids for all that person's friends.

Then when you retrieve the person from the database, the database can automatically retrieve all of the friends very quickly as there is no need to do further searching - it already knows where all the friends are stored as their id/address is already in the document.

In a relational DB, you would have a table of friend->friend and would need to do a one-many join across that table.

<comment><USER4> Okay. I'm not sure I understand why that form of linking would be significantly faster than JOINs when you are properly indexing everything (or significantly faster on INSERT/UPDATE, for that matter).

To the second, it sounds like if you're willing to give up a substantial amount of the flexibility that SQL gives you, you can achieve performance gains. Isn't that true of any RDBMS, though? If you go through and denormalize heavily, you can make similar tradeoffs (maybe not the exact same ones, so there could be cases where a graph DB would be better, but it's hardly the blanket "joins are bad" that seems to be implied by the original post).

<comment><USER5> It's faster, but it's not remarkably faster, no. The main place it becomes faster is deep joins - if you want the friend of the friend of the friend. If using joins that looks like LEFT OUTER JOIN bla a1 LEFT OUTER JOIN bla a2 LEFT OUTER JOIN bla a3 etc. If you've got much experience with SQL you should realize the performance impact of that. So graph dbs are best suited to highly networked problems.

Denormalize is something different, you're misunderstanding something I've said. With a graph DB, you still only have 1 copy of each person - you are just storing the 'joins' or ids/addresses of the 'rows' you want to join with ahead of time.

I certainly did not say that joins are bad, I was just answering your questions as to how a graph db differs and why it would perform better in certain specific circumstances. If you're in those circumstances then a graph DB is very useful.

Another nice part of a graph db is if you have a large collection of different objects in your programming language that all interact with each other. Those interactions can be stored directly in-line and allow for an ORM layer to be more efficient when retrieving the whole collection.

<comment><USER6> > The main place it becomes faster is deep joins - if you want the friend of > the friend of the friend. If using joins that looks like LEFT OUTER JOIN bla > a1 LEFT OUTER JOIN bla a2 LEFT OUTER JOIN bla a3 etc.

If you want all friends out to some specified distance _n_ where _n_ > 1, recursive CTEs are a much more sane solution that anything involving _n_ levels of OUTER JOINs.

And if you just want specifically friends-of-friends-of-friends by joins, you want three levels of _INNER_ JOINS.

> With a graph DB, you still only have 1 copy of each person - you are just > storing the 'joins' or ids/addresses of the 'rows' you want to join with > ahead of time.

More accurately, graph DBs store addresses (not ids/addresses) while RDBMS store ids (Foreign Keys) of the records you want to join with ahead of time. This means that to get from _one_ record to a related record takes an additional level of indirection in an RDBMS compared to a graph database, but that doing so from many similar structured records to their equivalent linked records is more efficient in an RDBMS.

> Another nice part of a graph db is if you have a large collection of > different objects in your programming language that all interact with each > other. Those interactions can be stored directly in-line and allow for an > ORM layer to be more efficient when retrieving the whole collection.

With a Graph DB instead of an RDBMS, you obviously wouldn't haven a ORM (Object- _Relational_ Mapping) layer in any case.

At more than one level out

<comment><USER5> Recursive CTEs are not what one would traditionally call 'relational' and many relational databases certainly don't have them.

Some distributed graph databases do store ids and not addresses - there is no actual requirement that they be addresses, only that they be efficient to retrieve. So not actually more accurate.

People still call object-db mappers 'ORMs' even when dealing with document databases such as Google's bigtable or MongoDB. It's just an acronym at this point. [1][2]

[1] - [http://mongomapper.com/](http://mongomapper.com/)

[2] - [https://code.google.com/p/mongo-java- orm/](https://code.google.com/p/mongo-java-orm/)

EDIT: By 'id' I'm referring to some unique hash or key that can be used to locate a document. By 'address' I'm referring to an actual on-disk location that can be directly loaded. Maybe my definitions clash with yours, I don't think this stuff is formally defined.

<comment><USER6> > Recursive CTEs are not what one would traditionally call 'relational'

I'm not a big fan of tradition for its own sake.

> and many relational databases certainly don't have them.

The only major SQL-based RDBMSs I can think of off the top my head that don't support recursive CTEs in their current version are SQLite and MySQL -- Postgres, Firebird, DB2, Oracle, and MS SQL Server all do.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> I've spent over a decade living in relational databases . . . currently senior db architect. I like the joins. I work and think in sets of data and not objects.

But, I do spend a good deal of time transforming this data for application consumption, so I suppose this kind of database would cut down that time.

<comment><USER8> Sets are the most elemental way to abstract data. Not all data are graphs, but all data are sets. A graph is a set of vertices and a set of edges. So there's no loss of generality in using sets.

</comment></comment><comment><USER9> "OrientDB does away with the concept of a join table, one of the most significant bottle necks in relational databases."

I'm having a hard time not reading this as "joins are too hard for me to understand, so I love the idea of a no-join database"

<comment><USER10> what's a "join table" even? This speaks to a lack of understanding of how relational databases should best be used.

<comment><USER11> I believe they're referring to tables that have just two columns, both of which are foreign keys to other tables. They're used to create many-to-many relationships.

<comment><USER12> I usually call them staple tables.

</comment></comment></comment></comment><comment><USER13> Aside from whether or not this method of linking data increases performance, there is a huge cost in relational databases to the complexity created by many-to-many relationships. Even if the performance were the same, the dispersion of data makes it a nightmare to pull together a hierarchical object out of many different database tables, and then to deduplicate the data that is cross-joined (ie in the case of a user with multiple shipping addresses...join user on address => you get the same user record for every instance of address, which then has to be consolidated in code). Then do that times 5-10 other tables and you have yourself a very messy query that is very slow.

These problems can be solved with KV stores, but at the cost of human readable databases. Likewise, with ORMs, you sacrifice performance and direct understanding of how the database is being queried.

There are many advantages to a document-graph model like orientdb for these reasons.

<comment><USER8> _> in the case of a user with multiple shipping addresses...join user on address => you get the same user record for every instance of address, which then has to be consolidated in code_

One solution is to use two queries: one to get the user with the user's key, then a second to get the addresses that match that user key.

If you want to get all the user fields and all the addresses in one query, you can do a join with a group by on user and aggregate the addresses. In Postgres, you can aggregate into an array with array_agg(). More recent versions have json_agg() to aggregate into json.

Under no circumstances should you have to deduplicate data in code. That's what the database is for.

These queries can get tricky to write, but I view them as enjoyable puzzles, like writing regular expressions. The payoff for writing the right query is that it's faster than fetching too many records and deduplicating in client code, and the SQL is short and declarative.

</comment></comment><comment><USER14> "OrientDB does away with the concept of a join table, one of the most significant bottle necks in relational databases."

join table? Does he mean that you are able to join tables in queries? This is awesome! It might be a bottleneck but its also on of RDBMS best features. I also would revisit the bottleneck claim with todays SSDs and fast CPUs.

"...support for inheritance in OrientDB is useful ... to avoid joining tables to mimic class inheritance."

I have never used joins to "mimic class inheritance" and dont understand why you would ever want to do such a thing. Can someone enlighten me?

<comment><USER15> I think they are talking about a junction table.

I also think they're talking about a class table inheritance pattern, where you have a base table that stores the data for the base/abstract class, then more tables to store the data for classes that extend the base class. You could use junction tables to model that relationship.

[http://en.wikipedia.org/wiki/Junction_table](http://en.wikipedia.org/wiki/Junction_table)

</comment></comment><comment><USER16> OrientDB has some great explanations on their github wiki. Here is their thoughts on why references are better than joins: [https://github.com/orientechnologies/orientdb/wiki/Tutorial:...](https://github.com/orientechnologies/orientdb/wiki/Tutorial:-Relationships#the- problem-with-joins)

And this page gives an overview of relationships in general with OrientDB: [https://github.com/orientechnologies/orientdb/wiki/Concepts#...](https://github.com/orientechnologies/orientdb/wiki/Concepts#wiki- Referenced_relationships)

Personally I have found the relational model limiting for performance in certain use cases and limiting in terms of mental overhead in others. I have used MongoDB a lot, however only having embedding to model relationships is also very limiting.

The promise of OrientDB is a documunt store with support for embedding (and class inheritance), but also being able to use references rather than joins.

What embedding and references have in common is that you have to do more up front work to define your relationships. You can think of it as freezing the possible queries available in a relational model to the subset that you actually use. I think this is a great default for most applications.

However, it is not what an analyst wants for doing ad-hoc queries, which SQL databases are great at. And even application creators often later decide that they want to do some ad-hoc analysis of data sitting in the database. This is where polyglot persistence should shine and you can have multiple databases that index the data in different ways.

</comment><comment><USER17> "As many relational databases such as MySQL do not have native support for inheritance this concept is approximated by joining normalised tables which together have all the attributes necessary to build a subclass object."

This suggests to me that their problem is not JOIN but a dogged insistence on a particular style of object-relational mapping. If you're having to do complex joins to retrieve a single persisted object you're probably coupling your objects and the database too closely.

That said, a customizable CMS is a natural fit for both document databases and graph databases. All of the ones I've seen built on relational DBs have extremely generic schemas that allow users to build their own quasi-schemas on the fly, at which point you've sacrificed pretty much every benefit the relational model brings.

</comment><comment><USER18> Good timing. I was waiting until a big player bought into OrientDB. SilverStripe may not be as big as Drupal, Joomla or WP but they have a large user base.

</comment><comment><USER19> Since the storage model is plain Javascript objects - what's the situation concerning offline sync on mobiles (as in, run a lightweight db server on the device and let it replicate with the db in the cloud)?

</comment><comment><USER20> I think we've read this story before. It turns out it is a tragedy.</comment>


Ravens' John Urschel retires from NFL b/c of latest concussion study - <AUTHOR> https://mobile.nytimes.com/2017/07/27/sports/football/john-urschel-baltimore-ravens-retires-nfl-cte-study.html <comment><AUTHOR> >Urschel's decision came two days after the release of a study in which all but one of 111 brains of former N.F.L. players showed signs of chronic traumatic encephalopathy, a degenerative brain disease linked to repeated hits to the head. The Baltimore Sun and ESPN, citing anonymous sources with the Ravens, said his retirement was related to the study.

It appears as if NFL Players are listening to the latest study on concussions.</comment>


Law firm made famous by Panama Papers document leak announces it's closing - <AUTHOR> http://www.cbc.ca/news/world/panama-papers-law-firm-closes-1.4578329 <comment><USER2> That's one thing an oligarch's lawyer is paid for... to take the fall when the shit hits the fan.</comment>


Hurricane on Saturn - <AUTHOR> http://www.nasa.gov/mission_pages/cassini/multimedia/pia14944.html <comment><USER2> A random note for those who might wonder what "N" and "S" mean on another planet.

Take your right hand out. Stick your thumb up. Curl your fingers around. Your thumb represents a planet's N pole, and your fingers point in the direction that the planet is spinning. (The Earth moves from W to E, and the result is that it looks like the Sun rises in the E. Sit down a globe and a flashlight if this comment makes no sense.)

For any spinning thing we can do the same exercise. Just wrap your fingers of your right hand around in the direction of the spin, stick your thumb up, and that is the North pole of that spin.

Now for the fun fact. Most of the stuff in the Solar System rotates roughly the same way. It doesn't matter whether you take the rotation of the Earth, the rotation of the Moon, the orbit of the Moon around the Earth, the orbit of the Earth around the Sun, the orbit of Saturn around the Sun, the rotation of Saturn, the orbits of Saturn's moons around Saturn - the north poles of all of these are reasonably well aligned.

They are not exactly aligned. For instance the Earth's rotational axis is tilted 23.5 degrees from the axis of its orbit around the Sun. (Hence our seasons.) And not everything follows the rule. Uranus is the best-known exception. But most of it lines up fairly well.

The only actual use that I've ever found for this fact is being able to explain to my son why the Moon rises later every night, but I've always thought that it was pretty cool.

 _EDIT:_ glurgh below corrected my understanding. It happens that for most of the planets, North corresponds to the right hand rule as I described. But that's not actually the way it is defined and Venus in particular does not work that way.

<comment><USER3> This is only for minor bodies, not planets. The poles of planets are pretty much defined to be 'pointed the same way as the Earth's'. The north pole of Venus is roughly aligned with the north pole of the Earth despite the fact that Venus's rotation is retrograde.

See

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

<comment><USER2> Thank you for the correction.

I tend to pick up fun trivia, but I'm not an expert, and always appreciate when someone corrects mistakes in my understanding.

<comment><USER3> I didn't know either! Makes sense geometrically but I wondered is it really the case that when you read something like 'image of the North pole of Venus', it's really the opposite pole. It looks like astronomers rely on the 'convenient' convention until they can't and then fall back to the mathematical one.

<comment><USER2> You made me curious. According to [http://imagine.gsfc.nasa.gov/docs/ask_astro/answers/980225a....](http://imagine.gsfc.nasa.gov/docs/ask_astro/answers/980225a.html) there is no real connection between the direction of rotation within the Solar System and the Sun's orbit around the Milky Way. And again the Milky Way's rotation has little to do with its motion in the local group.

However across the Milky Way there are again a whole lot of things roughly moving in the same direction.

<comment><USER3> It looks like the Galactic Coordinate System (which, sensibly but to the confusion of the casual reader is centered on the Sun) is also 'backwards' with respect to the right hand rule. The galactic north pole is actually the galactic rotational south pole. This seems to be because the coordinate system was based on the rotational direction of the Sun.

I think I may have just exceeded my recommended daily nerdallowance of reading about spinning things in the sky.

</comment></comment></comment></comment></comment></comment><comment><USER4> Non-false color image: [http://www.nasa.gov/mission_pages/cassini/multimedia/pia1494...](http://www.nasa.gov/mission_pages/cassini/multimedia/pia14945.html)

<comment><USER5> Good post. The false color images make me fear that actual space will be disappointing for people to look at.

<comment><USER6> For some reason this small comment made me very sad. I'd hate to imagine that our human desire for sensationalism could make the sight of outer space bland to a desensitized public. I have the APOD set as my phone's background every morning and I am always astounded at the incredible array of colors and the degree of contrast. I never really thought that I was being fooled.

It sucks that I really do think the non-false color image is boring, because that should be really exciting to someone who enjoys thinking about the universe like I do. Although I still think my mind would fucking explode if I ever got to go deep into space.

<comment><USER7> Oh calm down. You're not being fooled. These images are falsely colored for a reason. They really complement each other, not the other way around.

</comment></comment></comment></comment><comment><USER8> Not discounting how amazing that picture is, but it is false color.

<comment><USER9> It is a bit silly. "This thing we found resembles a rose, because after we found it, we colored it like a rose." WTF?

It's an amazing image to be sure, but why all that nonsense?

<comment><USER2> It is false color because it has to be.

If you're sending a camera from here to another planet, it makes no sense to send a camera that takes pictures in the same wavelengths that we see so you can claim true color. Instead you pick wavelengths that for whatever scientific reasons you think will be most informative.

And then once you have that information, for humans to understand it, it makes no sense to leave it as raw binary data. Instead you map some of the wavelengths that you've got onto wavelengths that our eyes can see, and trained human eyes can identify and understand features very quickly. But at that point you've got a false color picture.

<comment><USER10> But here's a "natural-color" image of the same hurricane:

[http://www.nasa.gov/mission_pages/cassini/multimedia/pia1494...](http://www.nasa.gov/mission_pages/cassini/multimedia/pia14945.html)

"Images with red, green and blue spectral filters were combined to create this natural-color view, which is what the human eye would see if we were there at Saturn."

<comment><USER2> So that satellite has that capability. But not all do.

Comparing natural color and false color, it is clear to me that false color is more convenient for trying to pick out features in the picture.

<comment><USER10> I don't think anyone's disputing that false color could be useful to scientists or that we should put cameras on satellites that capture true color images for the benefit of blog posts targeting the general public, and I certainly was not claiming anything like that, being horribly under-qualified. But waxing poetic about "the red rose of Saturn" is a little bit _silly_ IMHO, but it's nothing worse than that...

<http://www.ciclops.org/view_event/191/The_Red_Rose_Of_Saturn>

</comment></comment></comment></comment></comment></comment><comment><USER11> I've linked the official NASA news release below as the explanation in this link didn't suffice for my interest in this!

[http://www.nasa.gov/home/hqnews/2013/apr/HQ_13-121_Saturn_Hu...](http://www.nasa.gov/home/hqnews/2013/apr/HQ_13-121_Saturn_Hurricane.html)

<comment><USER12> Another link with a video: [http://www.nasa.gov/mission_pages/cassini/whycassini/cassini...](http://www.nasa.gov/mission_pages/cassini/whycassini/cassini20130429.html)

</comment></comment><comment><USER13> The Black Metal band "Fell Voices" [1] is using the uncolored image in OP as the album art for their next record "regnum saturni" [2]. Beautiful picture with or without color!

[1] <http://fellvoices.blogspot.com/>

[2] [http://fellvoices.blogspot.com/2013/03/regnum-saturni- europe...](http://fellvoices.blogspot.com/2013/03/regnum-saturni-european- press-out-now.html)

</comment><comment><USER14> Anyone found a good high-quality version of 'the rose' suitable for use as a desktop background? The one they have on the site appears to be too small.

</comment><comment><USER15> Makes me wonder how distant planets can have such extreme meteorological phenomena while being so far from the sun.

In Earth this is powered mainly by the temperature differences caused by the Sun.

<comment><USER3> Saturn is about ten times larger than the Earth in diameter while spinning more than two times faster. Additionally, Saturn is 'self-luminous', it generates more energy than it receives from the Sun.

"Saturn has a very hot interior, reaching 11,700 °C at the core, and the planet radiates 2.5 times more energy into space than it receives from the Sun. Most of this extra energy is generated by the Kelvin–Helmholtz mechanism of slow gravitational compression, but this alone may not be sufficient to explain Saturn's heat production. An additional mechanism may be at play whereby Saturn generates some of its heat through the "raining out" of droplets of helium deep in its interior" [Wikipedia]

</comment></comment><comment><USER16> Shame it's not a wide angle shot. Would have made a beautiful desktop background.

<comment><USER17> Wider shot, sadly sans colour, but plus another awesome weather phenomenon: <http://apod.nasa.gov/apod/ap130220.html>

</comment></comment><comment><USER18> I was disappointed when I realized that the image of Africa in the background wasn't for scale.

<comment><USER19> A good point. Here's a website that lets you draw circles on maps.

(<http://obeattie.github.io/gmaps-radius/>)

<comment><USER18> Thanks!

Strange -- the storm is both larger and smaller than I would have expected.

</comment></comment></comment><comment><USER20> Reminds me of: [http://www.surenmanvelyan.com/eyes/your-beautiful- eyes/?wppa...](http://www.surenmanvelyan.com/eyes/your-beautiful-eyes/?wppa- album=5&wppa-cover=0&wppa-occur=1)

</comment><comment><USER21> This is scary. That size of a storm can wipe out a big part of the country.</comment>


Ask HN: Is email "modern" technology? - <AUTHOR>

During a presentation at work recently, I made an offhand comment about email being "semi-modern," along the lines of the telephone.  I got a relatively strong (negative) reaction to what I thought was a pretty benign comment.
I've noticed that people seem intimidated by the rush of new technologies coming out recently, especially web 2.0 stuff.  These are people who are considered technologically proficient (although perhaps not necessarily by readers of this forum).
I think it's pretty obvious and probably also empirically provable that email can be considered relatively primitive compared to newer forms of communication.  What do you think? <comment><AUTHOR> Maybe my wording is a little too antagonistic. "Primitive" is a strong word, but I simply meant it in a relative sense: there are other methods more modern.

Also, to brk's point, I am in no way advocating replacing email. Email didn't replace the telephone, handwritten notes or face-to-face speech, it augmented them.

But can it really be argued that email is the most modern form of communication? Every innovation up to this point has reached critical mass, and then subsequently been supplanted in less time than the previous. Basic writing took millenia, the printing press took centuries, the telephone took decades. At this point, email is a few decades old and already mainstream. It's due to be overtaken by the latest new thing, of which there are multiple candidates:

* Discussion Forums * Instant Messaging * Wikis * News Aggregation Sites * Real-Time Information Streams

Again, let me emphasize that I do not think email should be replaced. But to a lot of people, email is the be-all and end-all of modern communications. This is hardly the case. It's more like the beginning, the starting point and the basis. There are plenty of sophisticated tools at hand that can be used to solve specific problems which email is ill-suited to address.

<comment><USER2> _There are plenty of sophisticated tools at hand that can be used to solve specific problems which email is ill-suited to address._

I'm still politely requesting more specifics here.

<comment><AUTHOR> Example 1 – To have a public debate about the relative merits of email as a form of communication versus other forms, both older and newer: Discussion Forum.

Example 2 – Assume a decision was made to design a new system to supplant email. A metaphor for a whiteboard would be ideal to have multiple people involved in the design of that system: A Wiki

Example 3 – Assume a mission critical time sensitive deployment of a new system. Involved parties are geographically distant, but need to be kept up to date on a minute-by-minute basis: Yammer (private microblog platform)

Each of these can be solved using email, but the tools I've outlined are much better at performing each task.

I'm not sure if you're making me jump through these hoops just for the sake of it or if these examples really are not obvious. If someone like yourself, for whom I can only assume these tools are familiar, don't see these benefits, then it's no wonder that the general population don't see their utility either.

</comment></comment></comment><comment><USER3> _I think it's pretty obvious and probably also empirically provable that email can be considered relatively primitive compared to newer forms of communication._

Care to elaborate?

What modern form of communication allows you to:

-Send a message using a basic plain text format

-Send a message using an advanced layout (while also offering a method for people who just want a plain text message to see that version)

-Attach a document, drawing or file to your message

-Send a message to one or several recipients simultaneously at your choosing

-Participate in this communications infrastructure with your own servers (I think this last one is particularly significant).

I don't think that people are "intimidated" by some of the new technologies, they just fail to see the benefit or improvement. You could also say that the majority of these things are not really new "technologies", but moreso new presentation layers over basically "primitive" technologies.

</comment><comment><USER2> I still think Michael Kinsley had it best, explaining email in a television interview back when only a minority of Americans had email (when I already did have email):

"Email has most of the advantages of the telephone, and most of the advantages of postal mail, and few of the disadvantages of either." Email is wonderful. Here I am on a Web-based discussion forum (HN is not email), but I still use email for a LOT of communication, and I wish I could use it for more.

 _I think it's pretty obvious and probably also empirically provable that email can be considered relatively primitive compared to newer forms of communication._

Please show your work and give the empirical proof. I'd be glad to learn something from you.

</comment><comment><USER4> Consider that most Web 2.0 forms of communication (i.e. Twitter, Facebook and the like) are still closed gardens. Yes, they have APIs, but they still hold the keys and own the technology. Anyone can set up an email server and have it talk to anyone else.

<comment><AUTHOR> This is probably the most relevant comment to the discussion I was trying to raise. I don't necessarily agree though.

Almost anyone, especially any IT department, has the technical knowledge to set up a wiki, for instance. Sites like yammer.com make setting up a private microblog platform within anyone's reach. And yes, even my mom has a Facebook account.

At one of my clients, the issue they are having is more related to the cultural acceptance of using the wiki than the technical difficulties in setting it up. Anyone visiting this site knows how wikis work and for what uses they can be applied. To the general population, "wiki" is just another weird internet word.

</comment></comment><comment><USER5> email is obsolete: too slow for communication + too weak for storage + too insecure for id management</comment>


Mostly missless memory in the Mill CPU - <AUTHOR> http://ootbcomp.com/docs/memory/index.html

<comment><USER2> Linux users: I had to install gecko-mediaplayer to watch this latest video.</comment>


Desktop Linux For The Windows Power User  - <AUTHOR> http://www.tomshardware.com/reviews/ubuntu-linux-guide,2293.html#xtor=RSS-182 <comment><USER2> _"...and no sentence begins with "bring up the terminal" or any other UNIX techno-babble."_

I'm going to go out on a limb here and guess that his intended audience probably doesn't include many HN readers...

<comment><USER3> It would seem to me that you're in the worst possible place as a power Windows user who is not a programmer: you're efficient and productive on one system and are going to lose most of your tricks, but can't take advantage of the parts of Linux where it is better than Windows.

I still haven't figured out what the key combination is to reproduce Windows-M on Ubuntu (minimize all Windows so I can see my desktop). It's really annoying when I think "Oh, crud, need to SSH into my production server but I have an IDE and 12 windows sitting on top of the shortcut."

<comment><USER4> I think the default is "Control-Alt-D". This is customizable in gnome in Preferences | Personal | Keyboard Shortcuts.

There's also a gnome panel button/icon called "show desktop" that can be toggled on and off.

Alternatively, you can have multiple virtual desktops, and if you need to switch mental contexts to handle the cases like you described, you can switch to a different, empty one. Instant new context, and the old context isn't disturbed at all.

This is actually a good example of something where you don't know the kinds of things Linux offers and it's difficult to know where to start to translate your Windows-desktop-fu to Linux-desktop-fu.

</comment></comment></comment><comment><USER5> "ubuntu is the best follow-up after xp" Did he actually mean that?

<comment><USER6> The whole article is flawed - it's based on the false assumption there is such a thing as an advanced Windows user. :-P

<comment><USER6> Some people have no sense of humor...</comment></comment></comment>


Plain Language Contracts Built for Web Designers - <AUTHOR> http://24ways.org/2008/contract-killer

<comment><USER2> A great example of a readable and effective contract I've found is the terms of use to the Patently-O blog:

<http://www.patentlyo.com/patent/2006/01/patentlyo_blog_.html>

It does a nice job of using the formal legal language but also introducing each section with a human readable explanation.

The contract terms in the article are good in that they are human readable, but they lack legal precision. Consider the copyright assignment: "you own the graphics and visual elements" but "we own the XHTML markup, CSS and other code." There are plenty of ambiguities (if someone copies the layout, whose copyright is infringed? are the licenses exclusive? are they revocable?). Two judges could read this contract to mean substantially different things.

<comment><AUTHOR> I agree that the language is not exact. The problem with law and court cases is that two judges with the same contract might come to different conclusions about said contract. This occurs even when the contract is spelled out in legalese.

I think the nature of the article is more for a web developer that either does not have the money for a decent lawyer or who would go and do the project without some kind of protective contract in place because they did not think that a contract was necessary for normal business.

BTW: The patent contract is a good, readable contract and I like it.

</comment></comment><comment><AUTHOR> I think that this is useful if you massage it for your own needs. Changing some of the terms and deleting some of the other ones that don't make sense for your business you can create a contract that should work well. I am not a lawyer so I cannot attest to how enforceable this contract is (especially in your country/state) versus one drafted by a lawyer. In California, a verbal contract is enforceable so on the surface this seems like it would be as well.

As an aside, the severability clause is a good one to have in any contract.

</comment><comment><USER3> If the shit hits the fan, would this contract even work properly? Contracts are only good when the shit hits the fan. They're insurance policies. (And might induce people to do thing b/c of fear)

<comment><USER4> Contracts are useless when shit actually hits the fan, as anyone with motivation and a decent lawyer can wriggle out of them fairly easy. Contracts are a deterrent, and something you can use to keep a client or web provider in line. Sort of like a business nuclear bomb.

And if you're a small guy, either keep your contracts small and simple or don't use them at all. Small biz owners are weary of signing anything and typically work better over a handshake and your word.</comment></comment>