The lambdaway project, a small and coherent language dedicated to the web - <AUTHOR> http://epsilonwiki.free.fr/lambdaway/?view=quick <comment><USER2> What did you do to the parentheses? they are all curly.

I find the explanation at [0] a little more detailed and informative (8th European Lisp Symposium 2015). Worth checking out if you are interested.

[0] [http://epsilonwiki.free.fr/alphawiki_2/?view=lambdatalk_slid...](http://epsilonwiki.free.fr/alphawiki_2/?view=lambdatalk_slides_5)

<comment><AUTHOR> It's not so easy to introduce a language! I thank you for giving the link to this more complete presentation, but some people could prefer a more progressive approach. You can follow it from the start page [http://epsilonwiki.free.fr/lambdaway/](http://epsilonwiki.free.fr/lambdaway/) : quick, overview, lambdatalk_1, lambdatalk_2, etc.. I would be happy to get your opinion back.

<comment><USER2> The first thing which comes to my mind is how the Javascript interpreter works, using a regex to replace the deepest s-expressions by their evaluations (both scary and brilliant)[0]

I found the console[1] and started using it. I was trying to expand a list of things into LI elements; at some point I wrote this:

        {def lis| {lambda {:x} {li :x}}}

The bar represents the cursor just before I hit backspace. After I hit backspace, I entered an infinite recursive evaluation which eventually stopped with stack overflow. Maybe evaluating the code after each keypress is not ideal. Or maybe you could add a timeout, a custom depth limit or something else ;-)

Also, being accustomized to syntax coloring, completion, indentation, warnings, etc., I find the environment particularly dry, especially when you consider your target audience. On the one hand, beginners who want to learn will be able to explore and find their way through trial and errors anyway, but on the other hand, a little bit of feedback can help when they are blocked. For example, when forms are badly formed the output is "ooops": this is better than nothing, obviously, but still a little terse. I looked at the teaching[2] section and this is a good introduction, and I am not telling you to be more like Scratch either, but there might some way to bring a little bit more interactive help.

Overall, this is a nice project and it brings a lot of different things together (maths, svg, javascript). I could be useful as a richer Markdown and I find it more readable than the typical Wiki syntax.

[0] [http://epsilonwiki.free.fr/alphawiki_2/meca/JS.js](http://epsilonwiki.free.fr/alphawiki_2/meca/JS.js) [1] [http://epsilonwiki.free.fr/lambdaway/meca/](http://epsilonwiki.free.fr/lambdaway/meca/) [2] [http://epsilonwiki.free.fr/lambdaway/?view=teaching](http://epsilonwiki.free.fr/lambdaway/?view=teaching)

<comment><AUTHOR> Thank you for your interest in this project and your relevant remarks.

About {def lis| {lambda {:x} {li :x}}}, I wrote this expression in [http://epsilonwiki.free.fr/lambdaway/?view=sandbox](http://epsilonwiki.free.fr/lambdaway/?view=sandbox) and I didn't see any infinite loop. Click on the top-left "+" in the frameview and then on edit to inspect the code.

OK, the error messages are terse, there is no syntax colorization in the textarea. There is a timeout for each keypress but it has to be improved.

It's a work in progres, I'm alone and I need help.

<comment><USER2> I can't reproduce it anymore. I had a bulleted list near the function definition and somehow as soon as I pressed backspace it went unresponsive until the browser's window crashed. I'll keep trying, but there must have been something else happening.

I understand this is hard work. I hope you find time and maybe someone to help you develop this project.

</comment></comment></comment></comment></comment><comment><USER3> _The {lambda way} project is a workshop built as a thin overlay on top of any modern web browser, and devoted to writing, composing and coding on the web, where the markup, styling and scripting are unified in a single language, {lambda talk}._

Github: [https://github.com/amarty66/lambdaway](https://github.com/amarty66/lambdaway)

Home: [http://epsilonwiki.free.fr/lambdaway/](http://epsilonwiki.free.fr/lambdaway/)

<comment><AUTHOR> Thanks :)

</comment></comment><comment><USER4> I can't seem to find any language guide or specification, so it's not clear to me whether names (other than those made canonical already by HTML and Lisp) are meant to be in English or French. If the former, then 'serie' should be 'series' (or 'range' or otherwise).

EDIT: For example, the image [http://epsilonwiki.free.fr/alphawiki_2/data/lambdatalk_splas...](http://epsilonwiki.free.fr/alphawiki_2/data/lambdatalk_splash.jpg) from the talk linked at [https://news.ycombinator.com/item?id=12306246](https://news.ycombinator.com/item?id=12306246) appears to have both 'title' and 'titre'.

<comment><AUTHOR> \- title="Mustangs at Las Colinas" is a standard HTML attribute of the img markup.

\- in the expression {{titre}lambda-talk}, titre (which is title in french, sorry) is the name of a constant defined further in the page or in an external page acting as a library.

<comment><USER4> Sure, I understand that 'titre' is 'title' in French—and there's no need to apologise for that! My question was rather whether the _keywords_ (or built-in functions, or whatever one would call things like 'tr' that the user is not meant to define him- or herself) in the language are _meant_ to be in English or French. If the former, and if 'serie' is a keyword rather than a function—again, I couldn't find a language reference or specification—then it should probably be 'series'.

<comment><AUTHOR> The first reference for lambdatalk was here : [http://epsilonwiki.free.fr/alphawiki_2/?view=syntax_referenc...](http://epsilonwiki.free.fr/alphawiki_2/?view=syntax_reference)

A new one is under construction here : [http://epsilonwiki.free.fr/lambdaway/?view=lambdaway](http://epsilonwiki.free.fr/lambdaway/?view=lambdaway), but it's in french until now. Sorry.

The function "serie" comes with "map" and "reduce". You could have a look to an application of "serie" in [http://epsilonwiki.free.fr/lambdaway/?view=euler](http://epsilonwiki.free.fr/lambdaway/?view=euler)

And OK, I should have named it "series" or "range". I promise I will replace "serie" by "range" to be coherent with my choice of english names for builtin keywords and functions. Nobody's perfect.

<comment><USER4> > And OK, I should have named it "series" or "range". I promise I will replace > "serie" by "range" to be coherent with my choice of english names for > builtin keywords and functions. Nobody's perfect.

I would have posted this before, but "You are posting too fast." Sigh.

It sounds like I gave offence. I meant my criticism to be constructive, and I apologise if it came across as an attack. (For what it's worth, it's only because the language looks interesting that I bother trying to make constructive suggestions!)

By the way, while we're talking syntax, why {} instead of ()?

<comment><AUTHOR> why {} instead of ()? Because we are in a wiki context where text is 95% of the content. I want to be able to write (Hello World) without triggering any evaluation, trying to apply Hello to World. Usually, other languages (except HTML) evaluate every words in code except quoted sentences - called strings - like this "Hello World". Lambdatalk inverts this process: everything is unevaluated out of curly braces. For instance this expression 1+2 is equal to {+ 1 2} should be written in Javascript like this: "1+2 is equal to " \+ (1+2). I think that it's the main point of lambdatalk, this inverted process. You could have a look to these links: "curl | latex | LML | PDF | skribe | SXML" in the page [http://epsilonwiki.free.fr/lambdaway/?view=curl](http://epsilonwiki.free.fr/lambdaway/?view=curl).

</comment></comment></comment></comment></comment></comment><comment><USER5> Sounds like a similar idea to [https://en.wikipedia.org/wiki/Curl_(programming_language)](https://en.wikipedia.org/wiki/Curl_\(programming_language\)) \-- can you compare them?

<comment><AUTHOR> Yes here : [http://epsilonwiki.free.fr/lambdaway/?view=curl](http://epsilonwiki.free.fr/lambdaway/?view=curl)

<comment><USER6> They take a similar amount of code to do stuff but Curl is easier to read.

<comment><AUTHOR> It's a respectable point of view. Mine is that lambdatalk follows closely the HTML/CSS/Lisp syntaxes and allows to share the creation of rich and interactive documents between authors, web designers and coders.

And also, don't forget that to use Curl products or execute Curl applications over the internet, it's necessary to acquire and agree to a Curl license. The lambdaway project is free and easy to install, [http://epsilonwiki.free.fr/lambdaway/?view=download](http://epsilonwiki.free.fr/lambdaway/?view=download).

<comment><USER6> "And also, don't forget that to use Curl products or execute Curl applications over the internet, it's necessary to acquire and agree to a Curl license."

I haven't forgotten. I was excited to see a full-stack solution get invented that about anyone could use. Then they wanted to lock it up commercially. That killed all hope of it spreading. (sighs)

These days I'm more into pushing Opa given it brings ML-style robustness to the full-stack concept. Was good to see your project, though, as I'm all for experimentation in this space. :)

[http://opalang.org/](http://opalang.org/)

<comment><AUTHOR> Thanks for the link to Opa. Looks very interesting. About the readability of the code, what do you think of lambdatalk for kids : [http://epsilonwiki.free.fr/lambdaway/?view=teaching](http://epsilonwiki.free.fr/lambdaway/?view=teaching)

<comment><USER6> Seems interesting. I'll look at it again later.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> This is cool, but I wish for a more schemey language. Like if the serverside was written in Chicken, using CSS and HTML-like code inside that, and the clientside was written in Spock.

Unfortunately, Spock doesn't seem to be ready for prime time. It works, but it can stress your JS implementation in odd ways.

<comment><AUTHOR> My host internet provider is www.free.fr, it doesn't cost anything (except the basic access to internet) and it runs nothing but PHP and mySQL. No way to install Chicken or any other language like Scheme, Python. Have a look to [http://epsilonwiki.free.fr/lambdaway/?view=download](http://epsilonwiki.free.fr/lambdaway/?view=download) and see how installing lambdatank+lambdatalk is straightforward.

<comment><USER7> Well, that's a problem that I can't help with.

</comment></comment></comment><comment><USER8> Not a huge fan of a language/framework in which the first demonstration purportedly shows how to summon up a photo of a movie starlet in a single word. Not just the implied objectification (which is its own debate, but not worth getting into here), but the dishonesty in implying that the language contributes one meaningful iota in the conjuration of that image. Reminds me of those unsolicited redesigns of Facebook in which the design looks so beautiful, but only because the photos (and the people in them) are beautiful. Doesn't mean that the design is at all practical or functional.

<comment><AUTHOR> Ok, I was not able to share what I believed to be seen as a joke. Sorry :( Maybe you would prefer this more serious introduction : [http://epsilonwiki.free.fr/lambdaway/?view=calc2talk](http://epsilonwiki.free.fr/lambdaway/?view=calc2talk)

<comment><USER8> Was it meant to be a joke? My problem is that it's just plain misleading. This is the first line after the boilerplate introduction:

> _It begins with simple things, for instance you could simply write_

              {ava}

> _and get a picture of the gorgious Ava Gardner_

It made me think that this was some kind of framework with a feature akin to invoking `/giphy [some word]` in Slack. Only after scrolling all the way down do we find that it's just basically a variable that holds the same amount of code it would take to show that image through HTML and CSS, without any information on why it would be beneficial to follow a practice of writing inline styles (as opposed to the standard practice of using CSS selectors and external sheets).

<comment><AUTHOR> « a practice of writing inline styles (as opposed to the standard practice of using CSS selectors and external sheets) »

The constant "ava" can be stored in another page of the wiki, a library which can be called via a {require mylibrary}. Please be nice enough to believe that I'm aware of the standard practice... This "quick" introduction can't explain everything. Neither CSS standard practices, nor first class functions, currying, tail-recursion, macros, and so on. Please take time to go further in this work before saying « it's just plain misleading ». Thank you.

<comment><USER8> Sorry, I didn't mean to attack your intelligence or technical competency. Anyone who proposes a new open-source web language/framework has an exceeding amount in both, in my opinion. My complaint is that the gratuitous (and large, when I'm viewing the page on mobile) visuals obfuscate the details.

The premise of the intro is that it is just "simple things" (and the conclusion, "Keep it Small and Simple"). "Simple", to me, would be how invoking "ava" embeds an image of _an_ Ava into the page, _a priori_. But that is not at all the case and I have to scroll past 3 large headshots of actresses to get to the point. And even then, the utility is unclear.

I don't expect a "quick" introduction to explain everything. But if the article has the time to throw in random photos to gaze upon, then I'm going to be disappointed when I get to the end to see few details explained.

</comment></comment></comment></comment></comment><comment><USER9> This is the second time I see this project, and I've already seen some other similar projects, but readability is still a problem.

Anyway, the source code is tiny and educational. :)

</comment><comment><USER10> Is that fucking papyrus

<comment><USER11> I'm pretty sure that was intentional. Choices like that can sometimes keep a certain sort of person out of a budding community, and even though they are a localized pocket of worldsuck, may decrease worldsuck globally.

<comment><AUTHOR> Yes it was! The font "papyrus" is only used in this page. Because Ava Gardner loved it :)</comment></comment></comment>


Apple picks Bing over Google to power Spotlight search on OS X and iOS - <AUTHOR> http://www.tuaw.com/2014/06/04/apple-picks-bing-over-google-to-power-spotlight-search-on-os-x-y/

<comment><USER2> Another example where the customer is secondary to business practices. Do people actually request to have Bing more then Google?</comment>


As Chinese investment pours into the EU, the Europeans are beginning to worry - <AUTHOR> https://www.economist.com/leaders/2018/10/04/china-has-designs-on-europe-here-is-how-europe-should-respond <comment><USER2> I highly recommend Yannis Varoufakis' books, especially Adults in the Room. Varoufakis was the Syriza finance minister who resigned when Tsipras caved to Eurogroup pressure to accept another "extend-and-pretend" bailout (as in, extend the debt maturity, pretend that Greece will be able to pay when it comes due). At one point, as Varoufakis tells it, the Chinese informally committed to provide a large investment that would have allowed Greece to exert more bargaining power vs. the Eurogroup in debt negotiations. It was a good deal for Greece and China, but someone in the EU bureaucracy pressured China not to go forward with the deal -- the reason being that the Eurogroup wanted to preserve its own power to force extreme austerity on Greece in perpetuity.

Now of course this is just regurgitating Varoufakis' description, but I find it rather compelling. China is only a small player in the Greek debt drama, but it seems to me that they are one of the few friends that Greece has that is both willing and able to play a helpful role.

(But limited by political considerations within Europe itself!)

<comment><USER3> > China is only a small player in the Greek debt drama, but it seems to me > that they are one of the few friends that Greece has that is both willing > and able to play a helpful role.

Is/was their role charitable because they are nice guys? or is there something there for them also? I would imagine that they had a long view and would have really liked to get control of Greece as a gateway to Europe by taking advantage of the Greek financial crisis. I don't believe China has any friends, just business partners they cooperate with to benefit them in the end.

<comment><USER2> Yes, I'm sure you are correct. Saying a country is a "friend" is a poor metaphor, in the world of realpolitik. But Varoufakis certainly appeared to view China as a helpful partner, whatever state interests were advanced on the Chinese side. Of course even "charity" in the form of direct aid is never without strings of dependency, other geopolitical aspects.

</comment></comment></comment><comment><USER4> And Africa, the pacific and everywhere else. No doubt the long term goal is to colonize the world.

And they're clever enough to do it slowly, lots of small transgressions, giving each time to be accepted before moving on to the next quiet domination. Perfect example is taking control of the South China Sea.

And they're smart enough to colonize in the most modern of ways...... buy the politicians and thereby remove all possibility of government resistance.

<comment><USER5> Why do you use the word 'colonize'? That's most definitely not the aim. China wants access to resources on competitive and secure (for them) terms, without having to worry about governing foreign territories. (notably except the territories China considers historically hers, such as HK, Xinjiang, Taiwan and Tibet). China only cares about foreign governments to the extent they may block China's ability to buy resources. But as long as China can buy the resources it needs unencumbered it's shown no interest in domestic issues overseas.

<comment><USER6> I don't necessarily agree with the term 'colonize' here, but if you buy resources and depend on them, you would definitely want to control as much as possible the territories the resources are coming from. Especially if they are currently governed by weak and unstable governments. It's state-level risk management 101.

<comment><USER5> A weak government is easy to buy. The less "skin in the game" China has, the more easily it can buy the favor of whoever is in power. The only way China could screw up that dynamic is by overplaying its hand through excessively unfavorable credit terms or starting projects in said country (such as outsourcing production) that draws the ire of the local population. Granted, that is happening in some places

</comment></comment></comment></comment><comment><USER7> Sometimes it's hard to tell when propaganda begins and ends.

10 years ago, the media was scaremongering over chinese investment in brazil. I remember thinking that china was buying brazil and then I found out that the largest foreign investors in brazil was the US and the netherlands and china was a distant third. Don't remember reading articles about how we were taking over brazil or how the dutch were though.

5 years ago, the media was scaremongering over chinese investment in africa. Oh no, china is taking over africa. Turns the largest investor in africa was the EU by far and that european business dominated the african market. Also, there was hysteria over china leasing farmland in africa. Turns out the saudis, koreans and a bunch of other countries also lease land all over the world.

Now it's the chinese investment in the EU. Nevermind that the EU is a much larger economy than china and the EU invests far more in china than vice versa. I mean come on.

<comment><USER8> [https://thediplomat.com/2018/10/mines-money-mandarin- china-i...](https://thediplomat.com/2018/10/mines-money-mandarin-china-in- zambia/)

[https://www.voanews.com/a/zambia-sovereignty-concerns-put- ch...](https://www.voanews.com/a/zambia-sovereignty-concerns-put-china-in- crosshairs/4586797.html)

</comment></comment><comment><USER9> >Last year Greece stopped the European Union from criticising China's human- rights record at a UN forum. Hungary and Greece prevented the EU from backing a court ruling against China's expansive territorial claims in the South China Sea.

Maybe if the EU hadn't forced Greece to sell their largest port to the highest bidder they'd do better. Some German lobbyists thought they'd get it for pennies, then the Chinese stepped in and bought it for a half-decent price. Also Greece, Hungary and Czech Republic would be much fonder of the "European" side (a euphemism for "Franco-German Bank interests" at this point) if they weren't treated like second-class colonies to be milked and dumped to the trash.

I can assure you that the cental European lobbies will abuse the periphery up until the very last drop of patience runs out.

In this case, they lost a piece of the carcass they were tearing up because they were too sure no other preditors were around. But if they keep pushing the smallest countries this way, nobody will care about allegiance to "Europe" (whatever that means) in the future. I wish the US would step in and stop them from destroying the EU, but I guess they don't care much, which is disappointing.

<comment><USER10> I think the real issue is that we still talk about small countries instead of small states with the same European citizens. There wouldn't be such a big issue if a corporation from CA(i.e Apple) were to buy the Long Beach port or some big factories from Detroit, MI. I may be wrong but I believe China is not paying only for the value of the asset itself. It's also paying to get better access to the EU market and/or even buying political support from Greece, a kind of "strategic aquisition"

<comment><USER9> I have to disagree with 2 parts about your argument. One is that centralization and capital concentration isn't a problem. The other is that the origin of ownership is irrelevant. That's also not true.

If interests of one region buy up all the production of another, they inevitably move all production to one place, their original base. Ports, mines and railways are a generally an exception to a the rule, but still lots of positions on management, engineering, logistics etc are lost in the selling country/region and moved to the buying one.

To elaborate on the US-EU analogy:

In US, some regions concentrate more wealth and power than others, having the majority of production and/or headquarters based there. But in the US there's real freedom of movement. You can work in Montana one day, move to Florida the next, and it's no big deal. The residents of economically disadvantaged areas have to carry the burden of moving away for work, but that's the only burden they face.

In the EU there are 24 official languages. Simply put, you can't just move anywhere you'd like to be. Learning a new language takes many years. I've been using English almost daily for 10+ years and I still come across new words quite often. Primarily due to this reason, in the EU, freedom of movement is allowed only on paper. Workers from disadvantaged areas have to take on a huge burden if they decide to move. They have to learn a new language, a new tax system, a new everything from workplace H&S rules to mains outlet types. Also they often face a lot of discrimination (even if language skills aren't a dead giveaway, ethnic differences are usually visible to us, even if they would seem minute to an American). So essentially when a factory moves from Italy or Slovenia to Germany, the locals lose a lot more than just the inconvenience of having to move across a couple states for work.

<comment><USER10> The tax system and H&S rules are not such a big issue. They are different in the US as well. The language is an issue and without a common/EU language or some tech innovation there is no way to fix it completely.

</comment></comment></comment></comment><comment><USER11> _The Czech president, Milos Zeman, wants his country to be China's "unsinkable aircraft-carrier" in Europe._

I understand a fuller quote is "an unsinkable aircraft carrier of Chinese investment expansion". We have not yet reached the point where the ambition of European countries is to become a military base for China.

<comment><USER12> No, it's just the US still that has that privilege, with military bases all over Europe and direct involvement in European politics ever since WWII (and even before).

[https://en.wikipedia.org/wiki/Operation_Gladio](https://en.wikipedia.org/wiki/Operation_Gladio) for some of the most shameless cases...

<comment><USER13> Most of the bases were well welcomed during the cold war. NATO has probably done just as much to insure peace inside it's countries as the EU has.

<comment><USER14> No offence but that's just laughable. You just have to look at the Balkans right now. Ham-fisted is an understatement.

<comment><USER15> Sorry, what? One war in Europe in 70 years and somehow that's ham-fisted?

<comment><USER14> First, what makes you think there could have been other wars?

Second, do you really think that the solution that was given in the Balkans is good? Even today, many people are deeply unhappy about it.

<comment><USER13> Europe has a long history of warfare that seemed to have halted around the NATO. I think the presence of a strong military alliance and the presence of peace have a high probability of being connected.

<comment><USER12> A strong external military force, along with the devastation of European countries with global ambitions in WWII (UK, French, Germany, and co), means there were neither resources nor reason for war in Europe for most of the 20th century. Heck, for most of that time Germany was still split in two.

USSRs occupation of the other half also kept "peace" there (and in conflict between the two sides would have escalated to a full global war, which was in nobody's interest).

Yugoslavia for example was only a state because the different nations were kept under the same rule. When that rule was gone, 60 years of "living together" didn't do anything to prevent ethnic tensions.

How things shape in 10 or 20 years is anybody's guess.

<comment><USER15> > there were neither resources nor reason for war in Europe for most of the > 20th century

The ambitions of the USSR were a reason for war and they had plenty of military resources.

<comment><USER12> > _The ambitions of the USSR were a reason for war and they had plenty of > military resources._

Actually history has shown that they didn't.

<comment><USER15> Sorry, I've lost the thread of the argument.

The original claim was that "NATO has probably done just as much to insure peace inside it's countries as the EU has.". The counterpoint was that the Balkan wars invalidated this claim. My response was that a single war in 70 years is hardly evidence against the original claim.

What's your line of argument here?

<comment><USER12> > _Sorry, I 've lost the thread of the argument._

I didn't respond to the "thread of the argument" above, I responded directly to the smaller point made in your comment.

My point regarding the whole argument is in my longer comment above.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> "Last year Greece stopped the European Union from criticising China's human- rights record at a UN forum. Hungary and Greece prevented the EU from backing a court ruling against China's expansive territorial claims in the South China Sea. Faced with such behaviour, it is only prudent for Europeans to be nervous."

Well that's one way of saying thanks for all those bailouts they received...

<comment><USER12> Yeah, unemployment at 40%, massive GDP drops, German banks happy, all kinds of anti-labour laws passed, exorbitant taxation, 5% of the most productive/young population left the country to work abroad, political supervision, those Greeks sure benefited much by those bailouts.

[https://eu.usatoday.com/story/money/2015/08/11/greece- debt-c...](https://eu.usatoday.com/story/money/2015/08/11/greece-debt-crisis- bailout-germany-benefits/31449779/)

[https://www.reuters.com/article/us-eurozone-bailouts- idUSBRE...](https://www.reuters.com/article/us-eurozone-bailouts- idUSBRE9410CG20130502)

[https://global.handelsblatt.com/finance/germany-profits- from...](https://global.handelsblatt.com/finance/germany-profits-from-greek- debt-crisis-796637)

<comment><USER16> The fact that they fucked up their economy again (even with unconditional free money) doesn't change a thing. They still received extreme economical help from the EU and the least they could do is not cause anymore trouble. Not to mention paying the money back.

<comment><USER12> > _The fact that they fucked up their economy again (even with unconditional > free money)_

Yeah, just not unconditional, not free, and no money.

They got credit (e.g. not money but another loan), under severe conditions (e.g. not unconditional), foreign analysts have compared to those signed when you're defeated in a war, and even IMF officials have admitted they were "the wrong solution"), and it had to go directly to repayments (e.g. not free).

So in effect, the German-led EU paid the German banks and major private investors holding most of the debt, with EU money, still keeping Greece in debt (from the new credit), making some good money in the process (see linked articles above), and imposing their economic agenda on top.

> _and the least they could do is not cause anymore trouble_

A, those pesky Greeks always causing trouble. And ungrateful at that.

Not, like e.g. a galant nation invading their country, causing the death of a million people (including almost all Greek Jews), taking a "loan" to itself from the occupied government it had setup, bombing Greece's ports and infrastructure before leaving, and then refusing to pay recuperations...

<comment><USER17>
       paid the German banks and major
       private investors holding most
       of the debt

As far as I understand, see e.g. [1], the biggest debt-holders _by far_ (in absolute terms and even more so relative to GDP) where Greek banks. The biggest foreign debt-holders (in absolute term) were French banks. Relative to GDP the biggest foreign debt holders were banks from Belgium, followed by France. Moreover, Greek debt held by German banks was spread over a 11 banks, rather than concentrated in 2 (Belgium) or 4 (France), hence less systemic risk.

In the light of this data, I do not think it's reasonable to speak as you did above. It was primarily a bailout of Greek, French and Belgium banks.

Aside, if Yanis Varoufakis' account is to be believed, the core reason why Germany accepted the bailout was political and twofold:

* The governing coalition under Merkel had elections upcoming, and staked its entire reputation on the EU and the Euro. A new Euro-Critical party (Alternative fuer Deutschland AfD) emerged. It was felt that Greece dropping out of the Euro and defaulting would be seen by the voters as a vindication of the Alternative fuer Deutschland.

* Powerstruggle with France: if Germany went soft with Greece, it was felt that that would give France an excuse to tap German money even more than it already does.

[1] [https://www.theguardian.com/news/datablog/2011/jun/17/greece...](https://www.theguardian.com/news/datablog/2011/jun/17/greece- debt-crisis-bank-exposed)

</comment></comment></comment></comment></comment><comment><USER18> This is what you need a union for. We have a union. So instead of a single country being blacklisted from trade or diplomatic relations due to criticizing China (e.g on human rights) it should just do so as a union. China obviously can't blacklist the EU.

A good first step would be for the EU to put its foot down and recognize Taiwan as an independent state with full diplomatic relations. As it stands, no individual country dares do it.

<comment><USER19> Right, but the point is that (currently) criticizing as a union requires unanimous approval from the member states, and some don't approve.

The article proposes changing the voting scheme to a qualified-majority rather than unanimity, but personally I think it would be better to try to understand why those countries are against it and work to change that, rather than overruling them, which just reinforces the idea that the EU is a tool of a small clique of countries to rule over the others.

<comment><USER20> Another approach may be to use secret ballot. The issue many states have is that they don't want to be on record supporting something even though they do, for fear of retaliation etc. But if nobody knows how you voted, you can vote how you want to.

<comment><USER21> that would immediately make me to switch from 'reform the eu' to 'leave the eu', there's nothing worse than a bunch of unaccountable politician twice removed from local issues voting secretly away from our control and ability to retaliate by electing someone else.

<comment><USER22> You may reconsider after watching this video on why secret ballots (or anonymous voting in general) should be preferred over "voting transparency":

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

<comment><USER21> at most I see it as a need to introduce a bill to refund money spent on political campaigns. secret vote at that level doesn't work, it's common for lobbies to spend on both sides to ease a bill trough, so they are interested more on the end result than the single vote, and as such they don't care if the vote is secret or not, only if the final result is favorable.

<comment><USER20> But if the final result is unfavorable, who do they punish? The entire legislature, including everyone who voted with them? Good luck with that.

</comment></comment></comment></comment></comment></comment></comment><comment><USER23> Interesting how everyone was in favour of FDI when it was flowing out of Europe and the US into Africa and South America, and now people are admitting that the downside is loss of autonomy?

<comment><USER24> Actually copy the text of the Economist article and replace the "China" with "Europe" and "Europe" with "Africa" or "East Europe" or similar and it will be funny.

<comment><USER25> Right now, you can keep China and replace Europe with Africa and it will be still quite relevant.

</comment></comment></comment><comment><USER26> 2018: Greece accepts billions in loans from China, despite clear EU warnings.

2028: Greece wants help from EU after China strongarms it over loans. "Why does the EU do nothing to help us?"

<comment><USER27> China can't embargo, sanction or put tariff on Greece without doing the same for the whole single market.

</comment></comment><comment><USER28> Interesting overview of China as "an island."

[https://worldview.stratfor.com/article/geopolitics-china- gre...](https://worldview.stratfor.com/article/geopolitics-china-great-power- enclosed)

</comment><comment><USER29> Huh. Is it really valid to think of investment or cash as tainted by the norms that they originate from, affecting the characteristic parameters of the system it flows into (norms of the institutions and people in the EU)? In what manner is it valid to think of the trojan-horse-cash as spreading, like a dirac pulse which only affects the first node touched by it (the person or institution who gets the cash), or as something with a long half-life, which spreads widely and with a lot of influence once in the system?

<comment><USER30> Just like gravity, its not the influx of cash that causes fear, its the sudden stop at the end.

</comment></comment><comment><USER31> In Portugal we sold our electric grid and production. Lol.

<comment><USER32> In Brazil we sold our electric grid, and it was great!

We also leased our production and we got ripped off by politicians.

Basically, YMMV, as the details matter much more than the large picture here.

</comment></comment><comment><USER33> > Some Europeans take this to suggest that China is a useful counterweight to > an unpredictable Uncle Sam. That is misguided.

Although misguided, it is quite easy to understand citizens' anti-Americanism which is borne out of effects they experience compared to China's relatively domestic-only policies. Right or wrong aside, this has always been the cost of globalism and projection. I don't think it helps to present it as an either- or, weight-counterweight situation (which the article doesn't do and is warning against of course).

> Transparency should be demanded [...]

I've found this is just too much to ask anyone dealing with China. I don't care if you're Marriott or Apple or a politician or whoever, the leverage of an entire country weighed against your ability to even disagree publicly is an unfair fight. Sadly, if you want to demand transparency you are in effect forcefully removing a market. Consumers and journalists are going to have to just continue naming and shaming, which does little good, until that transparency is demanded of the true oppressor.

> That is misguided [...] however much Europeans may dislike the occupant of > the White House.

> Ideally the Trump administration would stop treating Europeans as free- > riders on American power who deserve a good kicking.

While ideal, sure, I think the author should heed their own thoughts on not focusing too much on the current occupant. In general US policy has no anti-EU slant (though the inverse seems less true).

</comment><comment><USER34> I have not read a single economist.com article in the last couple of months but the paywall tells me I've reached my limit. How badly can your paywall be implemented? This is I guess the most disencouraging thing from me getting a paid subscription.

Anyone else having the same issue?

</comment><comment><USER35> The future is agreeable and unanimous.

</comment><comment><USER36> Ah, cool, China bashing in HN again. These kind of things usually drop out of the homepage in seconds, if it is US- or UK-related, with the usual off topic arguments.

Let's call it as it is: HN is a political instrument for anglocentric views. Not a particularly strong one, since topics are usually not about politics, but biased nontheless.

Which is fine, but let's stop denying it.

<comment><USER37> >Let's call it as it is: HN is a political instrument for anglocentric views. Not a particularly strong one, since topics are usually not about politics, but biased nontheless.

...but most of this thread is "bashing" the US and EU.

The best you could say about HN is that it hosts a pro-China contingent and an anti-China contingent, each of which believes the site is biased towards the other. But the site itself and the userbase is too diverse to be accurately labeled one or the other.

<comment><USER36> > The best you could say about HN is that it hosts a pro-China contingent and > an anti-China contingent, each of which believes the site is biased towards > the other. But the site itself and the userbase is too diverse to be > accurately labeled one or the other.

I would argue that your pro-China camp does not exist. Those who criticize the US (myself included) are perfectly aware that China is not a role model.

We simply refuse to accept the view good (US) vs bad (China / Russia, depending on the weather). And we argue that the US has a much bigger footprint on geopolitics. both good and bad. And we criticize the bad parts, of which there are plenty.

<comment><USER38> > we argue that the US has a much bigger footprint on geopolitics

and by reducing that footprint (which is the main purpose of the critique) who do you think is in the best position to fill the vacuum? and what is the net effect of such change (good vs bad)?

> And we criticize the bad parts, of which there are plenty.

so you won't start criticizing China until US becomes the perfect utopia? how convenient..

</comment></comment></comment></comment><comment><USER39> Pity. Your worries actually come from not facts, but imagination. Just replace China with US in those sentences, much less worries will be arisen. Furthermore, there's no facts about China's threat emerging yet, compared to US/NATO's several military operations against quite a few sovereignties, and numerous military bases all over the world, which ensure their bombs to blow your bedroom wherever you are within 1 hour. Just be honest to your heart. You feel worries merely because they are yellow while you are white, and that uncomfortableness needs some time to be relieved.

<comment> T-A No, we "feel worries" because "they" are an authoritarian party-state whose record on little things like freedom of speech, rule of law and human rights speaks for itself - and that's when it's dealing with its own citizens.

<comment><USER40> Exactly. The US is willing to prop up some pretty brutal despots in the name of stability or access to resources. China is going to be as bad or worse. The actions of the Chinese government overseas are not nearly as constrained by the need of partial approval or lack of disapproval at home the way the actions of the US are. Someone like Pinochet wouldn't even give China pause.</comment></comment></comment>


Ask HN: If you were to design the RSS today, how would you do it? - <AUTHOR> I'm looking at discussing the current limitations, when RSS works and when it doesn't. More importantly how would you design a better (more powerful) system today - while maintaining the decentralised ethos of RSS. <comment><USER2> I'd build it somewhere in between what it is now and Usenet. One of the biggest benefits of RSS is how easy it is to publish content. Two of the biggest downsides is the lack of interactivity and the lack of discoverability. What if all of the rss readers spoke to each other? What if you could see which feeds people were reading? What if you could add a comment to a particular post and have a discussion with other people who are reading it? What if you could be notified of updates to certain conversations the same way you're notified of updates to your feeds? A killfile will solve the issue of not seeing unwanted content or people. Maybe go with a federated model instead of peer to peer, so that the servers could scrape the internet for RSS content. That way discoverability isn't just limited to what you and your friends are already reading. Maybe use Cap'n Proto as the app-to-app wire protocol instead of http for real-time updates.

> Decouple it a bit more from html

Is that really possible? I've considered it quite a lot in the past few years, but I can never get past the fact that it has become the universal markup language. Even markdown converts to HTML before displaying (so it can by styled with CSS).

<comment><USER3> One could argue that allowing markup at all in RSS fields might be an anti- pattern.

<comment><USER2> Not successfully. By far the biggest advantage of RSS is its so easy to publish content to a feed. The more difficult we make that, the more we shoot ourselves in the foot.

</comment></comment></comment><comment><USER4> Use JSON instead of XML. Well some guys already build it. [https://jsonfeed.org](https://jsonfeed.org)

<comment><USER5> What's wrong with XML?

<comment><USER6> Verbose, unwieldy, harder to read by humans (especially without syntax highlighting) in terms of picking out key data. More unwieldy to write in most languages as well (most now have libraries that will convert a dictionary structure to [or from] JSON in a single call, while XML often still needs to be assembled element by element).

I think it would be an exaggeration to say that there's anything "wrong" with XML, but there's a reason JSON has by far overtaken it outside of "enterprise" applications.

That said, in some ways XML is preferable for standards - particularly in that there's a standard way to publish a document type specification, and widely available tools for validating a document against such specifications. The somewhat experimental equivalents for JSON haven't really ever caught on.

<comment><USER7> Also slower and insecure. JSON is the defacto interop standard over the line.

<comment><USER6> How is JSON any more secure than XML?

And no, XML is just as much a standard (in fact, a better defined one as a formal standard), and is still very much the default in most enterprise applications. JSON being more common in startup land doesn't make XML not a standard.

</comment></comment></comment></comment></comment><comment><USER3> Decouple it a bit more from html, too many RSS feeds contain html description/title fields. It's annoying both when you're showing them in a html page and when you're showing them in a native application.

</comment><comment><USER8> RSS is a piece of shit. <[http://web.archive.org/web/2004/http://diveintomark.org/arch...](http://web.archive.org/web/2004/http://diveintomark.org/archives/2004/02/04/incompatible- rss>)

Atom was invented as a replacement because nothing could be salvaged from the multitude of original RSS specifications. See RFCs 4287 and 5023.

</comment><comment><USER9> It would be nice to be able to declare endpoints for structured responses to items. I'd like to be able to thumbs up/down or rate articles in a client and have it go back to the publisher in addition to helping me customize what I read.</comment>


8 million people watched the redbull stratos live stream - a new record - <AUTHOR> http://www.huffingtonpost.com/2012/10/14/red-bull-stratos-youtube_n_1965375.html?utm_hp_ref=technology

<comment><USER2> Previous record was 500k. Broke it by 16x. What does this mean for future content being distributed online? What did RedBull do that others are not?</comment>


We knew we wanted a logo that reflected Big Dogs - big, yet also dogs.  - <AUTHOR> http://leyawn.tumblr.com/post/60381120615/geeking-out-on-the-logo <comment><USER2> This is a wonderful example of how _not_ to do parody. The writing is essentially what a child might come up with. Here's a guideline for future writers who wish to replicate such an inane blog post:

      1. Take every element from the post you are parodying and go
         full retard.
      2. Don't bother including any subtlety; just be crass.
      3. Don't tie the points together into any sort of cohesive
         statement based on an overall theme.
      4. Whatever you do, do not structure your parody in such a way
         that demonstrates insight into the topic of discussion.

That last point is the really important thing if you want the weakest parody you can imagine. Just substitute each sentence with a dumbass version. Unleash your inner bully and taunt others by parroting back exactly what they say, only dumb down and twist the words to sound as stupid as possible. Under no circumstances should there be a "read between the lines" subtext.

<comment><USER3> The OP took the elements of the original announcement—the pretentiousness, the naïve pomposity, the buddy-buddy informality—and turned them up to eleven. The result is an effective send-up of a post that richly deserved to be mocked.

<comment><USER2>
      > The OP took the elements of the original announcement—the
      > pretentiousness, the naïve pomposity, the buddy-buddy
      > informality—and turned them up to eleven.

That's an interesting choice of words you used. How can something be both pretentious and buddy-buddy informal?

Pretentious: "Attempting to impress by affecting greater importance, talent, culture, etc., than is actually possessed."

Greater important and talent than possessed? Meyer conveys an informal team of three people and an intern. She also admits to just having enough knowledge of Adobe Illustrator to be dangerous. You even admit that it's buddy-buddy and informal, which _downplays_ the importance. What if you got the impression that the design session was buddy-buddy because that's what it authentically was? Should she have lied and said that it was a rigorous exercise that was formally structured as a meeting of non-equals rather than a collaboration of colleagues?

Pompous: "Exaggeratedly or ostentatiously dignified or self-important."

Perhaps I'm not seeing the "naïve pomposity" in the post. Selecting what to convey in a logo is by definition subjective. The same applies for conveying what kind of food or clothing you like. I submit that any sufficiently detailed description of the rationale behind your food and clothing choices could be similarly mocked, unless you disregard taste by eating the cheapest food possible, or disregard color and style by wearing the cheapest clothing possible.

</comment></comment></comment><comment><USER4> As obvious of a joke as it is, the logo is pretty good. It completely correctly conveys the BIG and the DOGS. The only thing it needs is a discrete subtitle, like BIG DOGS care centre, or BIG DOGS rescue squad, maybe BIG DOGS lawnmowers, BIG DOGS truck mechanics, BIG DOGS earthmoving equipment, BIG DOGS baby sitting, BIG DOGS tea and coffee shop with the option of also purchasing one of our many tasty fresh-baked goods. I'm not actually joking, I'd like a tea shop named BIG DOGS run by a few large buff people. One that also sells baked goods.

<comment><USER5> It's an actual logo from a sportswear brand that was popular in the US in the 90s. [http://www.bigdogs.com/](http://www.bigdogs.com/)

</comment></comment><comment><USER6> "Then Max started saying some shit about something called 'serifs'. Yeah ok, like that's a real word."

This is a perfect parody. I have nothing against Yahoo or Mayer, but man was that blog post snobby.

I mean, seriously, _who cares?_ The whole "Let's post a blog post about the creative process of a fucking logo" is kind of ridiculous. Especially with the (admittedly impressive) video that used all kinds of graphics and cool music.

</comment><comment><USER7> It's easy to mock the Yahoo logo redesign process because Yahoo is being very open and transparent about it.

Are we so sure that everyone else's design process is so much better? Or are we just assuming that, because we don't actually know how they came to be.

If we want companies to be more friendly and open, maybe we shouldn't mercilessly mock the ones that try.

</comment><comment><USER8> This is probably the kind of startup whose founder would say,

I AM A BUSINESS GROWN-UP WHO MAKES BUSINESS PROFITS [1]

[1] [http://xkcd.com/1032/](http://xkcd.com/1032/)

</comment><comment><USER9> This was pretty funny, but I didn't really see it as a criticism of the Yahoo! logo (besides the fact that you can overanalyze anything to death.)

More entertaining than the not-so-great-but-who-cares Yahoo! logo: how _upset_ so many people are about it.

</comment><comment><USER10> Thanks, it's been a long day, I needed that.

</comment><comment><USER11> Just a warning: some of the other posts are NSFW...

</comment><comment><USER12> Seriously, what is a serif? Sounds like designer voodoo speak for 'pay me more money'!

<comment><USER13> When designers make a new font, there are often rough edges and little nubs where the letter was attached to the type sheet. If you pay extra, the designer will file down the edges until the letters are mostly smooth. You may have heard of these finished letters called "Sanded Serifs."

<comment><USER14> Oh crap, that must be what the File menu is all about!

</comment></comment></comment><comment><USER15> He had no right to fire the employee who said they can't spell. The brand is Big Dogs --plural-- and there's only one dog. So there.

</comment><comment><USER16> I like big dogs and I cannot lie.</comment>


Firefox Marketing Declares a War on Chrome - <AUTHOR> https://www.alexkras.com/firefox-launches-marketing-offensive-against-chrome/ <comment><USER2> How about firing your marketing department and declaring war on "being shit"?</comment>


The human brain, it turns out, is even more efficient than previous estimates - <AUTHOR> http://scienceblogs.com/cortex/2009/09/efficiency.php

<comment><USER2> The title is wrong. The brain isn't more efficient than previously thought. The axonal propagation of action potentials is... but that means that the brain burns more glucose and lactate elsewhere (at the synaptic junction, if I understand Magistretti properly).

The other HN item (direct link to the New scientist entry) is much better.

</comment><comment><USER3> Well I can't comment on the quality of the calculations he's talking about - but even the previous estimates of the power consumption of the brain were awe inspiring. The power consumption and stability against things like epilepsy are an important clue to how the thing works.

</comment><comment><USER4> I wish people would stop talking about Deep Blue like it's still the state of the art. Rybka can consistently do better than 50/50 against any human player even running on a (reasonably modern/high-powered) commodity PC.

</comment><comment><USER5> I assume this is the same as <http://news.ycombinator.com/item?id=817813>

<comment><USER6> That's a tricky thing to protect against. You'd almost have to fetch all pages and do a content comparison a la google news to see what goes together.

This sort of mixup happens all the time.

And sometimes that's even good, when an interesting subject scrolls off the newpage before it receives any votes. Then a few days later someone will post the same news from a different source and suddenly it makes the homepage.

<comment><USER5> I agree that's it's not necessarily avoidable, and it's not necessary to avoid. I do think, however, that it's useful to cross-reference the items so people can read _all_ the relevant comments.

Not everyone agrees, I occasionally get down-mud, and I'm not as anal about it as I once was. Waba Sabi, and all that.</comment></comment></comment>


Object oriented programming with ANSI-C (1993) [pdf] - <AUTHOR> https://www.cs.rit.edu/~ats/books/ooc.pdf <comment><USER2> The first chapter, on abstraction and information hiding, is probably the most important. Every programmer should know how to do it. It's one of C's main strengths that it allows abstract data types so easily. ADTs in fact allow better binary compatibility since you only expose pointers as your public API, not structures of different shapes and sizes.

I'm continually surprised by how often people insist on putting struct definitions right in their header files, defeating the whole idea of type abstraction.

<comment><USER3> You need to define a struct in a header to pass by value, which is usually cheaper than having to dereference a pointer (often resulting in a cache miss). The style presented in the paper has several pointer dereferences, for example each type has another pointer to a class header which contains its constructor and some other function pointers.

I personally do not like the style in this paper as it makes APIs difficult to read - you need to resort to documentation to understand anything. In the first set example:

        #ifndef SET_H
        #define SET_H
        extern const void * Set;
        void * add (void * set, const void * element);
        void * find (const void * set, const void * element);
        void * drop (void * set, const void * element);
        int contains (const void * set, const void * element);
        #endif

What type is add expecting and what is it going to return? We have no clue, other than to continue reading the docs.

A "better" approach to an opaque pointer type is to simply declare a struct in the header, but only define it in the implementation file. The above API becomes this, where it's pretty obvious from the arguments and return types (it also avoids having to do an explicit manual cast in each of the methods):

        #ifndef SET_H
        #define SET_H
        #include "Object.h"
        typedef struct set_t Set;
        Object* set_add (Set*, const Object* element);
        Object* set_find (const Set*, const Object* element);
        Object* set_drop (Set*, const Object* element);
        int set_contains (const Set*, const Object* element);
        Set* set_alloc(void);
        void set_free(Set*);
        #endif

Obviously, this doesn't play well with the full OOP approach this paper takes, but IMO, it's better to just compose structs using the style above, and leave memory management up to the type rather than trying to have a fancy global "new" and pointers to constructors.

<comment><USER2> Yeah, when you can't afford the cache misses I understand that you would pass by value. But often, these things are done as premature optimisations. We can always expose a struct's definition later; but we can't hide it once it's exposed.

I agree with your API redesign, in fact if we forget about trying to do OOP we would get IMO even nicer design:

        typedef struct set_t* set;
        typedef void* set_elem;

        set set_new(void);
        void set_free(set);
        set_elem set_add(set, set_elem);
        set_elem set_find(set, set_elem);
        set_elem set_drop(set, set_elem);
        int set_contains(set, set_elem);

Edit: hiding the pointer in the typdef because if we later decide to expose the set struct, we minimise the required changes to the API.

<comment><USER4> Hiding pointer behind a typedef is a terrible idea (like non-const reference arguments in C++). You never know if something you pass into functions could be modified by them or not. I'd much rather change every place in code where set was used than deal with code that hides such important information.

<comment><USER2> Ha, I knew someone would say this ;-) You never know, that is, unless you just follow the type to its declaration and find out in like a couple of seconds. A modern IDE should just show the typedef on hover.

<comment><USER5> With that argument you might as well redeclare everything with unexpected macros, your ide will do macro expansion on hover anyway.

Or why write descriptive function names at all? Ctrl-click to view the implementation of the function is just one click away...

Typedef pointer is a huge anti pattern.

</comment></comment></comment></comment></comment></comment><comment><USER6> This is one of my favorite reads. About 10 years ago I was developing a toy programming language that compiled to ANSI-C and this was a great resource to me at the time.

</comment><comment><USER7> Reminded me of the C Object System by Laurent Deniau[0].

[0]: [http://ldeniau.web.cern.ch/ldeniau/cos.html](http://ldeniau.web.cern.ch/ldeniau/cos.html)

</comment><comment><USER8> I wrote an AI Expert article on a similar theme ("Simulating Intelligent Interacting Objects in C", AI Expert, January 1989) about using C for OO programming of a robot simulator -- where the first argument is a pointer to a data structure representing the object. I prefixed all the function names with the class name, like Robot_move(robot, x, y). I was inspired by IIRC Eric Schildt's previous article elsewhere on how OO is an attitude.

Looks like a very comprehensive book though compared to just some short articles (even if it does not cite those as previous work). In general, this idea of opaque handles was (and is) very common in C programming, like with file operations. So, the question is what conventions we use or what convenience superstructure we build around that basic idea of handles.

</comment><comment><USER9> One thing that was really educational for me was reading how CPython implemented their object system. [https://github.com/python/cpython/blob/master/Include/object...](https://github.com/python/cpython/blob/master/Include/object.h)

Basically objects are structs that all share the same header which contains a pointer to the object type (ob_type) and the reference count (ob_refcnt) for memory management.

That way you can always cast back to a pointer of that header struct and access ob_type and ob_refcnt no matter what the actual implemented struct contains afterwards.

ob_type contains the name of the type and function pointers for common methods used by objects (getattr, setattr, hash, arithmetic, etc).

</comment><comment><USER10> For me the notion of domain is helpful in understanding OO. The definition of a domain is that everything inside it stands in determinate relations, whereas while multiple domains can interact they don't stand in determinate relations. Inheritance in classes, in adding more features to a class, can also have knock-on effects that interfere with the assumptions of other classes that are closely coupled to it, making classes an example of domain. Whole computers in a network are also domains; nodes can go down in which case no determinate expectations can be placed on them.

The existence of multiple domains is essentially postmodern as it creates, for practical purposes, multiple sources of truth. Because the expectations of one domain on another are weak, this naturally leads to a domain becoming robust against errors and inconsistencies from other domains, which leads to a stronger system. This type of robustness also helps components still be valid when they are placed into a different theory/environment that has additional properties. In some sense FP and OO are aiming at the same thing, that is making definitions that remain valid when the "arrows" of their environment change their meaning.

For a different perspective on this see Gerald Jay Sussman, "We Really Don't Know How to Compute!"

</comment><comment><USER11> Another article related to this: [https://www.codeproject.com/Articles/22139/Simply-Object- Ori...](https://www.codeproject.com/Articles/22139/Simply-Object-Oriented-C)

I wrote it a while back just to see what I would come up with if I had to solve that problem for myself using only macros.

</comment><comment><USER12> I am a fan of libco2[1] which is a minimalist object-oriented layer on top of C.

[1] [https://github.com/peterpaul/co2/tree/master/examples/my- obj...](https://github.com/peterpaul/co2/tree/master/examples/my-object- carbon/src)

</comment><comment><USER13>
      > void * find (const void * _set, const void * _element)

Such an eye sore, and I think it goes strongly against the tradition of coding in C when someone uses the asterisk in the pointer context in such a way that makes it look like an infix operator, i.e. as if it was multiplication.

As to achieving a _reasonably looking_ OO in C, this is why C++ was born...

<comment><USER14> Anytime I write C code, I try to keep the asterisk close to the type:

void* foo(void* bar);

I know that the asterisk technically belongs with the variable name when declaring it, but it helps to wrap my head around them, as a reminder that they're a pointer type.

<comment><USER15> The world mostly does it the other way.

A couple of code examples:

[https://github.com/apache/httpd/blob/trunk/server/provider.c](https://github.com/apache/httpd/blob/trunk/server/provider.c)

[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux....](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/kernel/fork.c)

Almost all documentation, references and literature: Here are a couple of man pages.

[http://man7.org/linux/man- pages/man3/gethostbyname.3.html](http://man7.org/linux/man- pages/man3/gethostbyname.3.html)

[https://developer.apple.com/library/mac/documentation/Darwin...](https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man3/execv.3.html)

Here is a draft of the ISO C standard:

[http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf](http://www.open- std.org/jtc1/sc22/wg14/www/docs/n1124.pdf)

<comment><USER16> I agree you based on fact that more in code we use

        void *s = then use it as
        s=

But I agree more that the

        void* s = then use it as
        s=

Is more understandable as the first set confuse me when I learn pointer. It still does. void* is a type like statement. And void is like a return type statement.

<comment><USER17> The only thing that sucks hard is when you do :

        int* s1, s2;

here s2 is an int, not an int* and you have to do

        int* s1, *s2;

this is braindead imho

<comment><USER18> As long as you're not using prehistoric versions if C, you don't have to define all variables up front, so there is much less justifiable reasons for that kind of multiple declaration.

<comment><USER13> Except nothing will save you from the "one true way to write C" when you try to write a declaration of a pointer to a function, for example.

<comment><USER15> You can adjust your function pointer typedefs if you like. e.g. signal(2) [http://man7.org/linux/man- pages/man2/signal.2.html](http://man7.org/linux/man-pages/man2/signal.2.html)

      typedef void (*sighandler_t)(int);
      sighandler_t signal(int signum, sighandler_t handler);

can be rewritten as

      typedef void sighandler_t(int);
      sighandler_t *signal(int signum, sighandler_t *handler);</comment></comment></comment></comment></comment></comment></comment></comment>


Ask HN: What makes consoles so much better than PCs for games at their price? - <AUTHOR> A PS4 currently 300 dollars on Amazon. It would be difficult to build a PC for 300 dollars that could play video games at the same quality / performance. So where does the gap come from, or what is so specialized about consoles that allow them to do video games so well? Is it just sheer economies of scale from standardized hardware? <comment><USER2> Game consoles are frequently subsidized by the manufacturers who make back a certain amount of money in a licensing fee per game.

Because game consoles are all the same (or come in a limited number of configurations, for instance there are three kinds of XBOX One) it is also easier for developers to make the most of the machine.

</comment><comment><USER3> It's economy of scale, lack of modularity, inflated RAM prices for PCs, overpriced discrete GPUs due to mining, etc.</comment>


Kepler space telescope finds 'Earth-like' exo-planets - <AUTHOR> http://www.bbc.co.uk/news/science-environment-30705517

<comment><USER2> It's a real shame the Terrestrial Planet Finder [0] has been put on indefinite hold (aka cancelled). It would allow us to characterize the atmospheres of these planets, possibly drawing conclusions about the presence of life.

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

</comment><comment><USER3> Maybe it's time we drop the exo- from exo-planets. It isn't like we're still discovering planets that orbit our Sun.

<comment><USER4> Why should we drop it? Exoplanet just means that it's orbiting a different star than the Sun.

</comment></comment><comment><USER5> Sad we can never go there.</comment>


NHS England hit by 'cyber attack' - <AUTHOR> http://www.bbc.co.uk/news/health-39899646 <comment><USER2> Comments moved to [https://news.ycombinator.com/item?id=14324129](https://news.ycombinator.com/item?id=14324129).</comment>


The Coronavirus Is Never Going Away - <AUTHOR> https://www.theatlantic.com/health/archive/2020/08/coronavirus-will-never-go-away/614860/ <comment><USER2> Different strains of Coronaviruses have existed amongst us since they were first discovered in the 1930s. Probably they have been here much longer. The question was never whether the virus will go away or not but how long it will take for us to contain and co-exist with this new strain of coronavirus i.e. COVID-19.

Meta question: Are journalists (or even experts) allowed to make statements about future as if they were fundamental truths? One could say there is xx amount of chance that an event is likely to happen but why preach it as an absolute truth.

<comment><USER3> >Are journalists (or even experts) allowed to make statements about future as if they were fundamental truths?

Sure they are, but me too, Swiss Alp-cheese will forever be the best Cheese in existence and will just go away if the Mountains or Humans or Alp-Cows go away.</comment></comment>


Why RTFM is broken ( and how to use your FAQs ) - <AUTHOR>

Information FASTER please.
RTFM is easy... for YOU... RTFM is there because WE ( those already knowledgeable individuals) are lazy.
200 page manual vrs a paragraph
who would choose the prior? nobody.
Simply put: RTFM assumes that the user knows the language of what they're after: ( whats a "method", how is an "array" different from a "variable", how do "variable pointers" differ from "variables" themselves )
If this was a solved problem Natural Language Processing wouldn't be the massive field that it is today.
In conclusion:
1) I need to work on giving better answers to those asking me questions
2) Keep a current FAQ ... but also realize you're the expert on the matter... and theres quite a bit of value in being the proxy between a user... and the information they're after. <comment><USER2> Several decades ago I was a principal in a startup that produced a word processor. For the first release we included a brief manual that covered the features, less than 100 pages. Users liked it. For the second release we included a thorough 300 page manual. Users hated it. It was too short! They couldnt find anything they needed.

<comment><AUTHOR> What I'm getting at is that from the perspective of those "in the know": of course its obvious what someone is looking for.

But especially in the case of user adoption: does it not make sense to make it as easy as possible for someone to fix the problem they have?

<comment><USER2> I agree. I used to be a read-the-manual-first type. Now I just want an overview, good help, a FAQ, an a lively user community.</comment></comment></comment>


Debt, equity and a third thing that might work better - <AUTHOR> http://sethgodin.typepad.com/seths_blog/2009/11/debt-equity-and-a-third-thing-that-mightworkbetter.html

<comment><USER2> Nothing new here. This "third thing" is mezzanine finance. Mezzanine finance sits between debt and equity in the capital structure and mezz investors choose a variety of risk/reward options making their investment more debt-like or more equity-like.

The coupon stream on mezz notes can be linked to income on specific assets (like covered bonds).

Subordinated debt and preferred shares are examples of mezz finance instruments.

</comment><comment><USER3> not sure i'm convinced by the economics of this. amateur investors would compare this to other more standard investment options. let's say they invest a typical seed amount of $25k. assume they could earn approx 10% a year via "safe" investments.

as suggested in the article, you offer to double the investment by paying 4% of sales. that means you need to be bringing in $1.25 million in sales to repay the investor. using an (admittedly rough) assumption, let's say that takes 5 years to achieve. in the same time, if the investor had played it safe, their $25k would be (assuming compounded monthly interest at the 10% rate) $41k i.e. almost doubled anyway.

in the current economic climate 10% interest might be higher than expected and you could obviously fiddle around with all the numbers/assumptions to make it a more attractive investment but my instinct is that to sell this to the types of investors who would entertain something like this, it could end up being a more expensive way of raising finance than it initially appears.

<comment><USER4> What safe investment pays 10%? And if you had a 4% royalty $250K in annual sales, that's $10K per year in revenue -- which you'd probably value at something much higher (maybe $50K if you thought it wouldn't keep growing; maybe $250K or more if you expected further growth).

<comment><USER3> _What safe investment pays 10%?_

i use lendingclub.com <http://en.wikipedia.org/wiki/Lending_Club>

during less severe economic times you could also make around 10% via high yield savings accounts

<comment><USER5> Unsecured lending to individuals is not, in general, a "safe" investment. Lending Club hasn't even been around long enough to reasonably estimate how safe it might be. Note that I'm not claiming it's a _bad_ investment, but it really stretches the traditional financial definition of "safe."

And the highest I've _ever_ seen for high yield savings accounts was around 6%, generally only for a promotional period, around 2007. Unless you're talking about the high inflation years in the late 70s and early 80s, in which case, yes, you could get 10% in a savings account, but the real rate of return was well into the negative due to inflation.

</comment></comment></comment></comment><comment><USER6> Most people will want to cash in their investments at some point. In order to facilitate that we'd need a secondary market in these instruments so people could sell them on. The price would then vary based on future earnings projections. Either that or the understanding is that the payments continue until some fixed point in time, or until the investors death. So, depending on how you look at it, these are either dividend paying shares, corporate bonds or a kind of annuity. All of which exist already.

EDIT: although I'm not sure if anyone's really doing corporate bonds that are linked to profits, that might be new.

Having said all that, I agree with Seth that society could do with being a lot more creative in how it funds businesses.

<comment><USER2> Yup having a secondary market is extremely important. That's why it already exists (just like mezz finance, which is what he has reinvented here, also exists). The idea of having an instrument that pays linked to a particular income stream is also not new - covered bonds, asset-backed securities, pfandbriefe etc for example all work this way.

</comment></comment><comment><USER7> It's pretty much the principle of dividends. With prefered shares you can even define the conditions of dividends, index them on the company's income.

<comment><USER8> To expand on this a bit more for the uninitiated, preferred shares are a more sophisticated version of what he's talking about. They basically work like debt that doesn't blow up the company if you can't make your payments. They tend to be junior to debt and senior to common stock if there is a liquidation, there is a secondary market on public exchanges, and there are many variants such as preferred shares that pay higher dividends in years with good earnings or that can be converted into common shares on terms similar to convertible bonds. This is already a well solved problem, but the solution isn't very sexy, so it's not as well known as debt and common stock.

</comment></comment><comment><USER9> The purposes of financial instruments (like debt and equity) are to replace these sorts of inefficient transactions.

</comment><comment><USER10> Did Seth Godin just invent taxes?

<comment><USER11> He "invented" royalties for investors. Typically the royalties go the other way, because it's not just financing, it's also production, distribution, promotion, etc. (for books, movies, music). But more and more that's changing. Most startups are generally self-sufficient except for money.

It's a sensible idea which, if put into practice, might result in funding of a wider range of startups. As Godin pointed out, a lot of VC funding is highly stilted toward businesses that can sell out in a short time frame (go public or get bought), not just businesses that can become profitable in that time frame.

<comment><USER12> Royalty-based financing is not a new idea and one that is being increasingly explored (a trend that started on the east coast if memory serves). A few links: [http://blogs.sun.com/sun4startups/entry/vcs_look_to_royalty_...](http://blogs.sun.com/sun4startups/entry/vcs_look_to_royalty_based) and [http://www.technologytransfertactics.com/content/2009/10/21/...](http://www.technologytransfertactics.com/content/2009/10/21/royalty- based-venture-financing-could-shake-up-vcs/)

edit - more here on the origins of the idea: [http://www.xconomy.com/seattle/2009/10/07/royalty-based- vent...](http://www.xconomy.com/seattle/2009/10/07/royalty-based-venture- financing-born-in-boston-could-shake-up-vcs-and-startups-from-new-england-to- the-northwest/)

<comment><USER13> Nothing new under the sun?</comment></comment></comment></comment>


Reddit cofounder's crowdfund campaign wants net neutrality billboard - <AUTHOR> http://www.pcworld.com/article/2151020/crowdfunding-campaign-wants-net-neutrality-billboard-where-us-regulator-cant-miss-it.html

<comment><USER2> Good for him!

I met Alexis last fall when he spoke at Google. Both in person, and in reading his book, he has a lot of good advice for building businesses and also performing work for social good (like his net neutrality campaign). His book is, BTW, a good read - recommended.

I wish we could clone more copies of him :-)</comment>


Miguel de Icaza responds to latest RMS article - <AUTHOR> http://tirania.org/blog/archive/2009/Oct-05.html

<comment><USER2> I like the Linus view: free software is more fun, and better, and so on, so I'll work on that. It concentrates on the positive, rather than saying I want to avoid nasty closed software and telling other people what they should and should not do. Linus also seems like a much happier guy.

<comment><USER3> But that's a very different point. Stallman sees proprietary software as a violation of fundamental freedoms, like slavery is a violation of fundamental freedoms.

 _Linus also seems like a much happier guy._

Judging an idea based on how happy those who believe it are seems like a dangerous heuristic.

<comment><USER4> >> "Stallman sees proprietary software as a violation of fundamental freedoms, like slavery is a violation of fundamental freedoms."

See this is the insane part. How can anyone believe that? No one forces you to use their proprietary software. If you don't like proprietary software, write your own equivalent software and use that. (Of course these days it's sometimes hard to get your own software onto devices, but rarely is it impossible).

<comment><USER5> Actually, thanks to market forces and monopolies of various sorts, you _are_ eventually forced to use proprietary software. The example someone else gave was Microsoft Office file formats.

Here's a better example: almost all webdesign, graphic design, and other jobs of that type want you to have experience in Adobe products. So what ends up happening is that because people want the jobs, they learn Photoshop. Now it may be a great program, but it's still proprietary and you get locked into Adobe's upgrade cycle because the latest version is The Industry Standard...always, it's fucked up how that works really.

So if someone has had experience with the GIMP or some other free software, and can do the work just as well as a Photoshop user, their resume will be dumped because the Adobe name has a lot of weight. That someone will then figure out that to get a job, they'll also have to use proprietary software.

You don't live in a vacuum where you can do what you want.

<comment><USER6> True. But what makes you think you are entitled to do what you what?

Getting a job has obviously benefits for you, otherwise you would no try to get it. But there are also always costs.

These costs include wasting time on learning how to design in the first place and quite a lot of other activities. And it may also include to get a Photoshop license.

After all, you are not required to use it for your private stuff, too!

Also, these "market forces and monopolies of various sorts" hold true for "free" software: If I'd like to get a job as a sys admin, I may have to deal with Apache and Samba althought I really, really hate it!

Where's my right of not being required to deal with Apache and Samba?

</comment></comment></comment></comment></comment><comment><USER5> It's hilarious that Miguel thinks RMS is fear-mongering when there is rightly something to fear. RMS has it right when he says,

 _However good or bad the CodePlex Foundation's actions, we must not accept them as an excuse for Microsoft's acts of aggression against our community. From its recent attempt to sell patents to proxy trolls who could then do dirty work against GNU/Linux to its longstanding promotion of Digital Restrictions Management, Microsoft continues to act to harm us. We would be fools indeed to let anything distract us from that._

It isn't fear-mongering when there _is_ something to fear. Miguel also has a short memory and doesn't remember all the times Microsoft has spread FUD about GNU/Linux and free software.

<comment><USER7> Microsoft is a large company. There are different divisions with different objectives. When one part of the company tries to extend the olive branch and you come back with the pitchforks, that's not exactly encouraging the division that may be on your side that you're worth fighting for.

Who do you think has a better chance of changing Microsoft's policies? RMS or a group of people working internally?

<comment><USER8> Microsoft may be large but last I looked it wasn't a democracy. The top management of any large company is paid to bring a single 'strategic vision' to the company. Microsoft's top management clearly considered attacking open source to be in their interests when they did it previous. Seems like an indication they'll do it again.

<comment><USER7> The top management of any large company receives input and advise from their underlings. Those underlings are more likely to propose controversial changes to corporate strategy if they aren't getting tarred and feathered by the outsiders they're trying to work with.

</comment></comment></comment></comment><comment><USER9> I don't like cults. I don't like the 'cult of closed software' any more than I like the 'cult of open software'.

This is not a war, and anybody that is trying to make it look like one is manipulating people.

There is plenty of room on this planet for both closed and open source solutions, let the market decide. Long term that should skew the table in the direction of open source, you really can't compete with free.

But there will _always_ be closed source, just as there will always be open source.

No need for all this polarizing. Miguel definitely seems to have managed to get to the 'moral high ground' in this whole argument, he comes across as reasonable and nice, but that doesn't mean that that should decide the argument.

Everybody is entitled to his own opinion, nobody is entitled to their own facts, especially not in something as objectively qualifiable(sp?) as software.

This whole 'drama queen' episode has gone on long enough, let both deIcaza and Stallman go back to their respective IDEs (at a guess, Visual Studio and Emacs) and write some code to prove their point instead of all this prose.

It's Peyton Place for programmers.

<comment><USER5> _I don't like cults. I don't like the 'cult of closed software' any more than I like the 'cult of open software'._

What you're saying is you don't want to make a concrete decision and you want options to be open to you.

 _This is not a war, and anybody that is trying to make it look like one is manipulating people._

It's a war between many businesses, non-profits, users, developers, etc. Do you want to be stuck with Microsoft Windows everywhere? Or Intel's x86 hardware everywhere? Intel, Microsoft, Apple, etc. will all do what they can to _kill_ the competition.

That's not manipulation, that's the truth. You can try and ignore it, but computer history is full of conflict between various companies who tried to force their ideas and "standards" upon the rest of the industry and on their competitors.

Maybe you just hate the word "war". Call it competition then, or conflict, or a struggle, or whatever else you want.

 _No need for all this polarizing._

Yes there is. One idea is opposed to the other. How can there not be polarization?

 _This whole 'drama queen' episode has gone on long enough, let both deIcaza and Stallman go back to their respective IDEs (at a guess, Visual Studio and Emacs) and write some code to prove their point instead of all this prose._

This is actually Stallman's point, and it was also the open source movement's point. Code is not enough. There is also the discussion of freedom or the discussion of marketing.

You want to completely ignore the discussion. I don't mind, you can step out if you like, but what you're saying is exactly what a proprietary software company would like. They don't want discussion at all because discussion means legitimizing alternatives.

If you don't want to take part in the discussion, the confrontation and war of ideas, then _don't take part in it_.

<comment><USER9> > What you're saying is you don't want to make a concrete decision and you > want options to be open to you.

No, what I'm saying is I want to be able to make my own decision regardless of people trying to make it seem as if the one or the other side is 'evil'.

I've long ago decided the world of closed source is no longer mine. But that doesn't stop me from having respect for those that try to change the closed source world from the inside, and it doesn't stop me from having respect for those that try to keep it alive.

I just don't agree with them.

> It's a war between many businesses, non-profits, users, developers, etc. Do > you want to be stuck with Microsoft Windows everywhere? Or Intel's x86 > hardware everywhere? Intel, Microsoft, Apple, etc. will all do what they can > to kill the competition.

Possibly. But that does not mean I'm going to have to stoop to their tactics in order to make my points. The last time I wrote software for or explicitly supported closed source platforms is very long ago.

> Yes there is. One idea is opposed to the other. How can there not be > polarization?

Because there is a lot of gray stuff in between. Closed source software that ends up being open sourced. People working for closed source companies writing open source in their spare time using company resources (with approval), closed source companies donating money, equipment, programmers and other resources to open source project and so on. Dual license software, etc. To polarize means that the issues are black and white. They're not.

> This is actually Stallman's point, and it was also the open source > movement's point. Code is not enough. There is also the discussion of > freedom or the discussion of marketing.

So, let's do it. Let's not attack people on the other side of the imaginary divide, if it even exists. The best way to make sure that Microsoft and company are irrelevant is to make their software irrelevant. To literally outcode them. Once that's done, there is really no fighting with free.

</comment></comment></comment><comment><USER10> "Strong opinions are very useful to other people" - Brian Eno

Very opinionated people, even if narrow-minded or wrong, are useful to conversations.

If you don't have an opinion, you can just say, "Wow. Yeah. I agree with him."

If you do have an opinion, you can reflect against that simplistic strong- opinion to explain why it's wrong.

Either way, it's good to have some black and white in the paint palette.

<comment><USER11> I love citations from Brian Eno. It is nice to see some quotes from masters from different domains.

<comment><USER9> Sure, you get football players that comment on politics, movie stars that tell you how to run a business (or a state or a country for that matter).

No offense to Brian Eno, he's a pretty smart guy and has a lot of stuff to say that makes sense, also outside his domain. (and makes interesting music, 'the pearl' is my favorite music to code by).

But it doesn't generalize.

<comment><USER12> How are strong opinions outside of Brian Eno's domain?

<comment><USER9> They're not, read again.

It's just that it does not generalize from Brian Eno to 'leaders in other fields'.

There are people that it applies to and there are those that it definitely doesn't apply to, in other words, being a leader in one domain does not automatically qualify one for comments on other fields, that varies on a case- by-case basis.

Brian Eno is exactly the kind of person for who it _does_ seem to work.

</comment></comment></comment></comment></comment><comment><USER13>
          Two shoe salesmen were sent to Africa in the early
          1900's to scout the territory.

          One telegraphed back: "Situation hopeless. Stop. No one wears shoes."

          The other telegraphed: "Business opportunity. Stop. They have no shoes."

Nothing makes a larger difference than knowing an opportunity when you see one.

<comment><USER14> A poignant example -- but I disagree as to its import.

A perennial business strategy is to create commercial means for satisfying needs that commerce creates -- of the creation of scarcity out of abundance, be it food, education, health, etc. So it goes with software as well. On one side there is "opportunity"; on the other, exploitation.

I don't know how this relates to Miguel & Richard, though; their issue seems to be the classic "radical vs liberal" split.

</comment></comment><comment><USER15> Huge respect for both Miguel and RMS. Everyone knows RMS says stupid ridiculous things (like his anti-procreation posts on usenet). Seems good enough to disregard him as a nut on some issues, and a genius on others.

That said, I don't think I'll ever understand the Mono project. As a former C# coder (back in 2004), the project was doomed to failure from the getgo. No .NET developer in their right mind would use it as it'll always be lacking in features compared to Microsoft's implementation.

It's such a sad project because Microsoft gives it no love, yet has no problem using it as an example of how "open" their platform is. Seems like a complete waste of talent to me.

<comment><USER16> I really think u should read <a>[http://jeffreystedfast.blogspot.com/2009/09/mono-not- chasing...](http://jeffreystedfast.blogspot.com/2009/09/mono-not-chasing-tail- lights.html</a>).

The larger Mono projects on Linux are built on the language and CLR features implemented in Mono; and don't rely on Microsoft libraries like WinForms. And as far as language features are concerned, the downloadable Mono compiler even implements part of the C# 4 spec.

Also, the popular Linux/Mono apps hardly work on Windows.

Actually I need not have replied; "....as it'll always be lacking in features compared to Microsoft's implementation" -- i just realized this was pure trolling. Try /.

<comment><USER17> "Also, the popular Linux/Mono apps hardly work on Windows."

How can this possibly be a good thing? It either means mono is a poor .NET substitute, or the linux mono apps are less cross platform than apps written in other languages - also a bad thing.

</comment></comment></comment><comment><USER18> I found it ironic that the latter half seemed to be describing Stallman's tactics as "FUD" without actually using that term. This tactic being famously employed by Microsoft.

Of course, another layer of irony is that before Microsoft became the _safe_ choice, this was a favourite tactic of IBM, who are now considered an open source friendly company.

<comment><USER19> What if the Fear, Uncertainty, and Doubt is actually justified? I don't think it's necessarily wrong to doubt or be uncertain that corporations have our best interests at heart.

<comment><USER20> The whole point of the phrase FUD is that it's an emotional response. People use it to try to overwhelm someone's rational thought process with Fear.

I think you SHOULD use past performance of a corporation as part of a rational thought process in deciding whether to use software. But FUD is never justified because emotion has no place in rational decisions.

</comment></comment></comment><comment><USER21> I may be cynical, but whoever (e.g. Miguel de Icaza) aligns with Microsoft should be careful about their <http://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish> marketing strategy.

</comment><comment><USER22> The more of Stallman's writing you read, the more you realize how insane that man is.

<comment><USER23> [http://www.jwz.org/hacks/why-cooperation-with-rms-is- impossi...](http://www.jwz.org/hacks/why-cooperation-with-rms-is- impossible.mp3)

(FWIW, I respect rms's purity of ideology, and I respect how it broadens the debate, but I don't think his extreme represents a desired end goal.)

<comment><USER22> What's there to respect about purity of ideology? Being pure and ignorant of other opinions is the easy way out. Learning and understanding alternate points of view and working with those people is what's worth respect, imho.

<comment><USER19> _Being pure and ignorant of other opinions is the easy way out._

There is nothing in ideological purity that demands _ignorance_ of other opinions. And just because you're _cognizant_ of someone's opinion, doesn't mean you have to agree. RMS can say what he wants, and I'm sure he's not ignorant of other's opinions. If you don't like what he says, don't do what he says. If you don't like his philosophy, maybe you shouldn't use GNU software? He doesn't force you to use any software. (Which is more than can be said for lots of corporations.)

<comment><USER22> That's exactly opposite of what I think is actually going on. I don't want to get into a GPL vs BSD argument, but he _does_ say people should not use commercial software, thus _limiting their options_ to often less useful free software equivalents. And corporations _do_ give you choice in usage as you can always opt to not buy software from them. A well-regulated commercial market is all about choice.

<comment><USER24> _he does say people should not use commercial software_

Commercial != non-free. Stallman doesn't, to my knowledge, have an issue with the former. He rather dislikes the latter.

</comment></comment></comment></comment></comment></comment><comment><USER25> Who is Migheul de Icaza? I mean, pardon my ignorance, why what he says is important?

<comment><USER3> Miguel de Icaza (born c. 1972) is a Mexican free software programmer, best known for starting the GNOME and Mono projects.

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

<comment><USER25> Thanks. Many apologies, I had no clue ;(

</comment></comment></comment><comment><USER26> I lost a lot of respect for Miguel when I learned about his political views in Mexican politics.

</comment><comment><USER27> I think he makes some great points. I worked at Microsoft as an Intern for a spell, and contrary to popular belief, there really are plenty of smart, hard working people there.

<comment><AUTHOR> I don't think very many people are debating that.

I wonder if the major disconnect between RMS and deIcaza is that deIcaza deals with the _people_ at Microsoft, whereas RMS only sees them as a corporation. Thus, deIcaza might see them as a diverse and malleable entity and RMS would not. Of course, I don't have the inside scoop here, so I'm just conjecturing and could be completely wrong.

<comment><USER9> That's a very interesting observation. The same goes for lots of other organizations, governments and so on.

</comment></comment></comment><comment><USER28> I honestly think RMS is a religious nut in a closet. Sure he has his achievements, but that doesn't give him the right to say what is right and what is wrong. Times have changed and there are people who know better than him about the current problems. Mono is itself cool enough that the community around it will fight against any onslaught. We don't need dictators anymore, we need explorers.

<comment><USER29> Miguel is not an explorer. He and Microsoft are land grabbers.

<comment><USER28> Just let them whoever they want to be. Causing unnecessary commotion is no way of leading a community.</comment></comment></comment>