Digital IDs needed to end 'mob rule' online, says UK security minister - <AUTHOR> https://www.independent.co.uk/news/uk/politics/online-digital-identification-mob-rule-online-security-minister-ben-wallace-a8390841.html <comment><USER2> This sentiment was quite popular around 2009-2011 with real-name policies, the "nymwars", and what have you. The idea that the Greater Internet Fuckwad Theory [1] explained the noxious state of online discourse had taken root, and people believed, often in good faith, that peeling back the layers of anonymity from larger communities would combat bad behavior. Both Google+ and Battle.net infamously implemented real name policies during this period to very little discernible effect, and eventually reverted their policies. To this day human group interaction remains challenging to control, with or without authoritarian means.

I understand that the intended goal of this policy is likely orthogonal to the argument presented, but it's a surprisingly weak argument in face of all the previous attempts showing the contrary. You can effectively point to South Korea, where they relented on this [2], after the intended effect was shown to be practically insignificant, while simultaneously putting users at increased risk.

[1] [https://www.penny-arcade.com/comic/2004/03/19](https://www.penny- arcade.com/comic/2004/03/19)

[2] [http://english.chosun.com/site/data/html_dir/2011/12/30/2011...](http://english.chosun.com/site/data/html_dir/2011/12/30/2011123001526.html)

</comment><comment><USER3> Is there any explanation as for why the british public is so apathetic against the increasing authoritarianism?

<comment><USER4> That's a case of the pot calling the kettle black if I've ever seen one.

<comment><USER5> Say it into the CCTV camera, we'll be over here polishing.

</comment></comment></comment><comment><USER6> The most recent online mob I can think of was started by a guy named Jeremy, attacking a girl for wearing a Chinese dress as "cultural appropriation". He didn't want anonymity; he revelled in being known as the instigator, even giving interviews to the press. So I don't think that anonymity is the real root cause of online mobbing.

[https://www.bbc.co.uk/news/blogs- trending-43947959](https://www.bbc.co.uk/news/blogs-trending-43947959)

Jeremy by the way is an English name of Biblical origin: [https://en.wikipedia.org/wiki/Jeremy_(name)](https://en.wikipedia.org/wiki/Jeremy_\(name\))

<comment><USER7> Do we really care about the kind of people who care about "cultural appropriation"? Just don't pay attention to them. [http://simpsons.wikia.com/wiki/Just_Don%27t_Look#Lyrics](http://simpsons.wikia.com/wiki/Just_Don%27t_Look#Lyrics)

The same can be said about many, many other "online mobs".

<comment><USER8> > Do we really care about the kind of people who care about "cultural > appropriation"?

Yes, because not disagreeing is considered assent. Telling people with stupid ideologies that their ideologies are stupid is not something you want to avoid entirely, at the very least to remind folks that they haven't found the One True Ideology.

Whether the ideology in question is SJWs/ctrl-left or alt-right... doesn't really matter. Neither of those should dominate the public or wield governmental powers. And to avoid precisely that from happening, you speak out against it.

<comment><USER9> Isn't that just feeding the trolls though?

<comment><USER10> Coordinating "not feeding trolls" on a large scale is very difficult.

Also, it is difficult to ignore people who can attack you offline. I think these fanatical students (seems to me they are usually students; students are most susceptible to recruitment in all kinds of cults) constitute pretty much zero danger to me... but they can be quite dangerous to their classmates, so if I had children in university age, I would probably worry a lot.

If you told me that when I eat pizza that it is a cultural appropriation, I would just tell you to f.off. But when a student is surrounded by militant classmates, this can lead to bullying. And even worse, when a teacher is a part of some social justice cult. So... not feeding the trolls is sometimes not an option, unless you want to give up on your diploma, and the time and work spent so far studying.

Not feeding trolls also assumes that people are mature enough to recognize who is a troll. But there is a continuum between people who sincerely believe that political correctness is simply the usual politeness applied to politically sensitive topics... and people who throw a hissy fit whenever someone disagrees with their latest pseudoscience. Try to make a line somewhere, and people who are under the line but quite close to it are going to object.

</comment></comment></comment></comment></comment><comment><USER11> The bottom line is that some British family owned business is going to win the billion dollar security database tender.

Edit: I know that's not fair, the money will go to some offshore company where it's a bit harder to account for

Edit2: also I think when a politician starts telling us we need increased security, we need to start looking at the private communications for any evidence of bribery

</comment><comment><USER12> Instigating or joining a witch hunt is a form of virtue signalling, so online anonymity seems pretty irrelevant.

It might stem the tide of individual online harassment but that's not really 'mob rule'.

</comment><comment><USER13> Question (not rhetorical): is it worthwhile to allow anonymous criticism of the state and those in power, while requiring people to stand behind all other types of statements as real named individuals?

<comment><USER14> Who decides what constitutes "legitimate" criticism and the state? That line is too hard to draw.

</comment></comment><comment><USER9> I'm curious why bullying/mobs/trolling/whatever is rampant on Twitter, common on Facebook, but non-existent on LinkedIn. Anyone got any ideas why this is so?

<comment><USER15> It's both pretty tightly tied to real identity and mostly public. Add to that, like it or not, it's heavily used by recruiters, etc. for professional jobs.

<comment><USER9> yeah, but don't the recruiters check Twitter/FB profiles too?

<comment><USER15> A lot of Twitter handles are anonymous. And, if you're not connected as a friend, you're basically not going to see anything about or from me on Facebook.

LinkedIn is definitely the go to place to check people out for professional purposes.

</comment></comment></comment></comment><comment><USER16> At the root of much of this, I find "leaders" who call for such things while simultaneously exempting themselves from the same level of scrutiny and accountability.

You're a "leader". You, first.

</comment><comment><USER17> In order to save the city we had to destroy it.

In order to save freedom of speech we have to curtail it.

In order to save democracy we have to put limits on it.

</comment><comment><USER18> > Describing Silicon Valley billionaires, he said: "The phoniness irritates me > - it's, 'I'm a hippy with a beanbag and, oh yes, there is my superyacht'.

Well, at least he got something right.

</comment><comment><USER19> >saying they would be ordered to clamp down on vile attacks against women on their platforms.

Oh that is easy to stop: women are now banned from our platforms.

Every government action or law will have unintended results.

</comment><comment><USER20> A digital ID or drivers license that forces you to take a test that schools you on fake news, deep fakes, phishing, ransomware, two way verification and other similar things I think would be a good thing! Also each time you post a comment or video your Identity is attached to it which would make someone think twice about posting a deep fake(if the video is reposted the orginator and the reposter(s) ID is attached) that depicts something harmful to society (president saying going to nuke xyz) or harmful to someone else.

For security purposes you'd have to biometrical ID yourself before posting/attaching your identity to it.

 __*if you downvote this .. why is this a bad idea? It's just an idea I thought after watching deep fakes thinking wow something needs to fight such.

<comment><USER21> That would make the (largely hypothetical) problem of deepfaked news far far worse. It's the same problem we see with TLS where a green lock just means people's brains turn off. "It must be tied to a real person's ID" is trivial for anybody determined to bypass (they can just steal, forge or make an ID) but when people view it they will see that it's been verified by the government's big brother identity system, so it must be legitimate. It's literally arming the bad guys with the tools to make their fakes look government endorsed.

<comment><USER20> Yes I understand security concerns thus you are forced to verify yourself via your retina and thumbprints.

<comment><USER21> Still absolutely trivial for a state level actor to bypass, aka: the exact people you really don't want creating fake news that looks government endorsed.

<comment><USER22> Yep, we'll have to make sure that the only place internets posting can take place is in person at the _Department of Right Thinking_ until you have a high enough social score to be trusted.

Because that's what all this is really about.

<comment><USER23> Exactly. Look for China as an example where this is already happening today.</comment></comment></comment></comment></comment></comment>


50 days down, how much are you using your Medium membership? - <AUTHOR> It's been ~50 days since Medium membership was launched and several users signed up to become "Founding Members". If you signed up, how much are you utilizing / reading the Medium exclusives now? <comment><USER2> It would be interesting to see if total read and recommendation percentages are higher / lower on the members-only content.

</comment><comment><USER3> To be honest, I don't notice the difference.</comment>


Ask HN: My infosec auditor rejects open source. What now? - <AUTHOR> Our company has recently started courting clients who demand more robust security policies and we've opened our doors to third parties to validate our controls.
We're obligated to complete a new proprietary audit and we've hit a snag: the auditor doesn't accept open source, but her disapproval is inconsistent. pfSense is questionable. Elastic fails to meet her standards. OpenVPN passes. AlienVault OSSIM fails. Linux generally passes. Firefox fails.
She suggests that open source projects can disappear without notice. For instance, instead of AlientVault OSSIM, she prefers AlienVault's premium USM, despite USM's reliance on the same open source projects.
Is this any better? Does AlienVault have the resources to maintain major components of their system after my auditor's worst fears for open source are fully realized? Is the OSSEC project in any danger of collapsing soon? Are the linux kernel developers getting ready to close up shop?
Risk calculation is tricky, but I would accept those associated with these projects disappearing any time soon.
We invested in infrastructure upgrades this year in response to this audit. We don't have the resources to acquire more commercial solutions when there appears to be acceptable (and popular) free and open source alternatives. We've already deployed AlientVault OSSIM at our sites, along with a few Elastic stack nodes. We use these systems to satisfy log aggregation, HIDS, IDS, IPS, and vulnerability detection requirements, etc. She shelved the discussion for now, but the issues on her tracker have yet to be remediated.
How do I move forward? Are there any resources I can share with her making my case for open source software?
tl;dr: Our auditor arbitrarily objects to open source for remediating security risks. How do I convince her these software solutions should be acceptable? <comment><USER2> Quick answer: get a better auditor.

Long answer: it's a risk game, you may get away by showing that you have processes in place to manage this risk for open source projects: * internal backup of the source tree. * in-house skills to perform basic patching of the software if the development get discontinued. * alternative solution and roll- out plan in case the development of your current solution gets discontinued. * ...

Finally, risks can be accepted and someone ("the business") can sign-off on them. You don't have to remediate everything. It's just an awareness exercise for "the business".

<comment><USER3> Agree with this but I would also ask the auditor to be very specific about the risk that she believes your organisation is exposed to. If its a specific concern about the suitability/support of certain tools in use in your infrastructure, you can respond to/address those. In particular, I would make sure that the risk is clear about the impact it could have if an OSS project was discontinued (as the parent refers to): its unlikely to have an immediate impact as, by definition, you have a working instance of the tool and the source code so nothing stops working. In many ways this is comparable to the sort of escrow clauses that auditors sometimes look for in commercial support arrangements and which are often deemed acceptable mitigation for commercial products. She should also be clear about likelihood. In my experience (I've been an auditor for c18 years), it can be the case that auditors think about the doomsday scenario - e.g. ALL of the OSS projects you use close down - rather than the more likely scenario that one or maybe two go dark. Again, if she can articulate the specific risk it may be possible for you to respond to real likelihood of a key tool's project stopping (which would parent's approach already covered but which can be prioritised according to risk).

If however its a more general/vague concern about OSS support then you'll have a hard time dealing with it and acceptance may be the appropriate route.

</comment></comment><comment><USER4> > open source projects can disappear without notice

1\. They can't. Someone can decide to stop working on a project, but it can not disappear.

2\. You know what can disappear? commercial products.

<comment><USER5> Re 2: Perhaps the auditor isn't referring to open source products being shutdown, but rather package info being pulled abruptly making the package inaccessible for some period of time. Particularly I'm thinking of the whole npm left-pad fiasco ([http://blog.npmjs.org/post/141577284765/kik-left-pad- and-npm](http://blog.npmjs.org/post/141577284765/kik-left-pad-and-npm), [https://medium.com/@azerbike/i-ve-just-liberated-my- modules-...](https://medium.com/@azerbike/i-ve-just-liberated-my- modules-9045c06be67c)).

<comment><USER6> A responsible enterprise shouldn't be basing production deployments on package repositories that can get yanked. Mirror that shit if you want to keep making money.

</comment></comment></comment><comment><USER7> > Are there any resources I can share with her making my case for open source > software?

Here's a DOD guide to OSS, it might help a bit? Very interesting that the Government defines OSS as a subset of commercial software - "commercial" means anything available to the public, as opposed to private software. They do not distinguish between paid and free software or between companies and individuals.

[http://dodcio.defense.gov/Open-Source-Software- FAQ/](http://dodcio.defense.gov/Open-Source-Software-FAQ/)

See specifically the section "Why is it important to understand that open source software is commercial software"

Also see "Is there any quantitative evidence that open source software can be as good as (or better than) proprietary software?"

And there are links to resources for evaluating OSS licenses.

<comment><USER8> Indeed, the very strong impression I got as of 2004 was that the intelligence community loves open source, and were e.g. much happier running Linux than Windows on machines running on their secure networks (are we surprised?).

As others say, it sounds like you need a better auditor.

</comment></comment><comment><USER9> Get a new auditor. Reference this: [http://serverfault.com/questions/293217/our-security- auditor...](http://serverfault.com/questions/293217/our-security-auditor-is- an-idiot-how-do-i-give-him-the-information-he-wants)

<comment><USER10> Thanks so much for this, twas some crazy reading.

<comment><USER11> "Strong cryptography only means the passwords must be encrypted while the user is inputting them but then they should be moved to a recoverable format for later use."

<comment><USER10> Yeah... that. Uhhhh....

</comment></comment></comment></comment><comment><USER12> To me, it sound like your auditor's objections are based on the availability of (commercial) support, and not the nature of the code's license or whether one can read or modify it.

There are entire vendors who specialize in selling open-source software with commercial support; Red Hat is the most famous example.

<comment><AUTHOR> I could see that being a reasonable objection -- It would be really easy to provide evidence of effective deployment of open source in my network if there I had a support contract, right? But, that's not the objection she made. I wish I could have recorded her making her case against Firefox.

We also maintain a premium OpenDNS account, integrated with Active Directory to assist in web content filtering. Because the word 'Open' appears in the product's name, she assumed that the solution was FOSS, and determined that it was insufficient in the context of the audit she was conducting.

</comment></comment><comment><USER13> From a business standpoint: play the game, check all the boxes. (And it never hurts to be flexible and open to different ideas, even those that seem counterintuitive.)</comment>


AppVita - Collection of great webapps - <AUTHOR> http://www.appvita.com

<comment><USER2> Site is similar to <http://greatwebapps.com/> which is up for sale.

</comment><comment><USER3> Why is the link to the actual site buried at the bottom of some article? I Ctrl+Click'd two of the screenshots expecting to have the sites open in new tabs, but instead... nothing. I then Ctrl+Click'd the titles, and I got tabs to... this site telling me why I should visit the site I already wanted to visit?

</comment><comment><USER4> Not sure what the point of the ratings system is, there's not an app on there that I could find which rated lower than 4/5.</comment>


Fitbit launches a $330 Apple Watch competitor - <AUTHOR> https://techcrunch.com/2020/08/25/fitbit-launches-a-330-apple-watch-competitor/ <comment> beeper-beeps Every Fitbit I've used was returned under warranty at least once. Having gone through 3 Versas in 4 months to known issues I'm reticent to put my money down again.

Particularly when there is no comparison to Apple Watch for user experience, integration and the ability to actually use the onboard sensors and hardware in anything but the freemium Fitbit app.

</comment><comment><USER2> This is the opposite end of my $25 Mi Band, but it is an interesting device with a smorgasbord of sensors packed into it. I hope it'll have decent battery life.</comment>


Aerospike Engines: Why aren't we using them now? [video] - <AUTHOR> https://www.youtube.com/watch?v=K4zFefh5T-8 <comment><USER2> We used an aerospike nozzle for our senior design project at Texas A&M. I thoroughly enjoyed the research and theory behind the concept, but when it came down to actually building the thing we ran into a lot of - obvious in hindsight - complexity.

The nozzle must be made out of graphite, the manufacturing of which is much more complicated than aluminum, so throw out the door any pre-conceived notions you may have that making any shape is possible. Our nozzle was a three-part component: the inner plug (think of one of those "nose suckers" you have to get boogers out of a baby's nose) and the outer nest in which the plug sat. Between the nest and the plug you have "struts" supporting the plug to allow for a gap (through which your fuel will be exhausted). The plug is secured to the nest via some high-heat epoxy.

So yeah, way more complicated than a single bell of graphite, which is probably the #1 reason why these haven't seen industry use (the cost of complexity must be weighed against the cost of inefficiency, both are important factors in any rocket application).

I am very interested in the "linear aerospike"[1] engine though, which would obviously have design implications on the rest of the spacecraft, but manufacturing a linear aerospike would be much simpler than what we attempted.

[1] [https://en.wikipedia.org/wiki/Aerospike_engine](https://en.wikipedia.org/wiki/Aerospike_engine) [The main image]

<comment><USER3> I can see that Texas A&M made you use graphite, but otherwise I don't see why the nozzle must be made out of graphite.

For a turbine blade, you'd use a single-crystal superalloy. The machining is just 3D printing of wax; you then use a lost-wax process to cast it. Cooling channels are built into it.

That ought to work. You don't even need a particularly corrosion-resistant superalloy if you cool it with liquid methane and then let that leak out to form a moving film on the surface.

<comment><USER4> > Cooling channels are built into it.

How would you build cooling channels into something like this?

<comment><USER5> Conventional ways to do this include casting or, as is done on the RL-10 and SSME, building the nozzle out of thin-walled tubes (very labor-intensive and expensive). 3D printing is the future here, but there's still lots of improvement required in terms of wall thickness and roughness control, not to mention build volume.

<comment><USER4> The previous phrase was that the part is lost-wax cast. To me it's interesting how one can build cooling channels in the part which is cast.

</comment></comment></comment></comment></comment><comment><USER6> Summary:

1\. An aerospike engine tries to overcome a problem in the traditional bell- shaped nozzles: traditional nozzle shape and size can only be optimized for one specific pressure (e.g. either sea level or a higher altitude). At all other altitudes, it is inefficient.

2\. An areospike is kind of an inverted bell -- there is a spike in the middle and the rocket exhaust flows around it. This forms a sort of virtual bell nozzle (the inner wall is the spike's surface, the outer wall is the air itself). As the atmospheric pressure varies, the virtual nozzle shape adjusts too. This makes the areospike efficient at all altitudes (but not as efficient as a bell nozzle at it's most optimal).

3\. Ideal for single-stage-to-orbit

4\. Work stopped (author claims) because in the space industry, tried and tested is favored. And apparently, fuel is not such a large component of the cost of a rocket launch.

<comment><USER7> When sentiments like this [1] are floating around, it's an easy argument to make that companies aren't interested in fundamental research, and at most tweaking off the shelf parts.

\-- [1] [https://www.ft.com/content/869b514c-727d-11db-a5f5-0000779e2...](https://www.ft.com/content/869b514c-727d-11db-a5f5-0000779e2340)

<comment><AUTHOR> Got another article without a paywall?

<comment><USER7> mea culpa, I wouldn't have linked it if I'd known an hour later it would be on the wrong side of a paywall. That's a behavior I haven't encountered before.

<comment><USER8> Someone once said that the FT paywall resembled something from the Unseen University.

</comment></comment></comment></comment></comment><comment><USER9> One of the premises of this video is wrong. The author claims that rockets are staged primarily because the engine bells need to be a different shape at different altitudes to maximize their efficiency.

While it is true that engines designed for atmospheric and vacuum flight employ different bell shapes for the reasons the author describes, this is not why rockets are staged. The primary driver behind staging is to shed a portion of structural mass after it's no longer needed.

For instance, there's no reason most rockets couldn't be designed to lift their payloads directly to orbit in one stage, but by the time the vehicle reaches the end of its flight profile, it would be accelerating a great deal of structural mass to orbital velocity before deploying the payload. The near empty fuel tanks, large engines needed to lift all that fuel you've since consumed, etc are all dead weight at that point. If instead the vehicle drops that mass mid flight and continues on to orbit in a much lighter configuration, the total possible deltaV of the system is greatly increased. Using second stage engine with a bell designed for vacuum only makes sense here, but that's not why rockets are staged.

</comment><comment><USER10> Because two stage rockets are now cheaper and easier to develop given track records of bazillions of launches until today. Reusable rockets have substantially reduced interest in aerospike design because it simply does not solve an actual problem anymore.

</comment><comment><USER11> It looks like SpaceX are perfectly capable of doing simulation and testing of an engine like this. If they have it would be great to see a presentation on their results and conclusions.

<comment><USER12> They'd tell you that staging reduces the efficiency if Aerospikes enough that they are not worth the weight penalty.

</comment></comment><comment><USER13> Why did Firefly aerospace switch after their takeover

</comment><comment><USER14> One thing I never understood about SpaceX is whether it's really worth it to build a multi-use rocket. It's a really simple design, and the materials are not that expensive. When I was studying this stuff, it seemed that we were moving in the direction of things like cheap self-consuming solid fuel engines. It's just a controlled explosion; seems like trying to create a refillable stick of dynamite. Not only that, but reuse increases weight, which increases size, which increases weight.... We all knew why launches were overpriced, and it had nothing to do with the cost of the fuselage.

It seemed like Elon didn't understand a lot of fundamentals, and I observed that he had a lot of trouble recruiting Astro engineering experts because of this, so he ended up with mostly young MechE students out of Cornell's SAE. Retro-propulsive landing is an interesting show piece, but how does it change the economics? Note that SpaceX is still being propped up by NASA COTS, so it's far too early to call it a commercial success.

Can anybody better-informed help me understand what we've learned since about the advantages of reuse?

<comment><USER15> Reusable rockets make sense for the same reason that reusable aircraft make sense.

<comment><USER16> Reusable airplanes would make less sense if they had to fly back empty all the time..</comment></comment></comment>


Apple's Legendary Lisa Operating System Is Coming to Your Desktop for Free - <AUTHOR> https://gizmodo.com/apples-legendary-lisa-operating-system-is-coming-to-you-1821606783 <comment><USER2> And here's an _existing_ HN story that discusses this in much more detail: [https://news.ycombinator.com/item?id=16001275](https://news.ycombinator.com/item?id=16001275)

</comment><comment><USER2> Don't give Gizmodo clicks - here's a better source to share: [https://twitter.com/6502lane/status/944965691710496769](https://twitter.com/6502lane/status/944965691710496769)</comment>


We're better at tracking deaths of bees than people who die in police custody - <AUTHOR> https://www.muckrock.com/news/archives/2015/aug/20/bees-not-bodies/ <comment><USER2> Are we better at tracking bee deaths though? The bee apocalypse was greatly exaggerated.</comment>


Steam is no longer supporting Bitcoin - <AUTHOR> http://steamcommunity.com/games/593110/announcements/detail/1464096684955433613 <comment><USER3> It's for the same reason that no one wanted to touch zimbabwe dollar back in 2007, if the value of the medium of exchange differs from breakfast to lunch it's not really a good medium of exchange. Doesn't matter if value is appreciating or depreciating, currency needs to have a reasonably stable value to be useful.

<comment><USER4> The volatility alone wouldn't be a huge problem if the transactions were quick, apart from having to constantly re-price the goods (not a big deal with an automated system selling digital downloads, even though it is a real PITA for the accounting afterwards!).

However, getting the transaction confirmed can take many hours at the times of high demand and then it still fails because thanks to the volatility, the transaction fees have gone up in the meantime. That is creating unsustainable problems for the customer support and makes BTC unusable for actual payments.

I think this is what will ultimately bring Bitcoin down (and with it the entire cryptocurrency goldrush, even though the problems are mostly with BTC). Once the currency is impossible to exchange for actual goods or other currencies due to being more trouble to handle than it is worth, it stops being a currency. What good is that one BTC is $12k+ now if you can't actually buy anything with that? People pouring money into this today and talking about BTC being a "store of value" are being seriously nuts ...

<comment><USER5> Eh? The volatility is a HUGE problem for bitcoin as a currency.

If I run a small business, accepting payment in bitcoin just creates risk. The state of my business not only depends on the quality and success of my product/service but also on the volatility of bitcoin because by accepting bitcoin I am forced to effectively take a long position on BTC. The price could crash by 25% before I sell the bitcoin and now I've a cash-flow problem - struggling to pay wages and rent - even though my business is successful in that I made a profit on selling my products or services.

The purchaser of my services is effectively on the other side of this trade and is exposed to the opposite risk wrt to BTC/USD. The only way for the two parties to minimize this risk would be for the customer to convert fiat currency into bitcoin just before paying, and then for the vendor to convert the bitcoin back immediately on receipt. With high spreads and transaction costs, using bitcoin in this manner is incredibly expensive and makes no business sense.

<comment><USER6> How does one take a short position in Bitcoin?

<comment><USER7> If the futures markets at the CBOT or CME attract volume, you could use those. Otherwise, you'd have to do it over-the-counter. Borrow a bitcoin from someone and turn it into real money. When you have to repay, if BTC is down, you'll buy back a BTC at a profit. If it's up, you'll have to buy back at a loss.

Note that this gives you a maximum gain of whatever BTC/USD is today (assuming you denominate in greenbacks), while upside risk is theoretically unlimited.

Of course the lender has to trust or be ensured (or insured) that you will repay.

There must be people using Ethereum contracts to make options on BTC, and maybe trying to minimize counterparty risk through the judicious use of open- sourced smart contracts and digital collateral? Anyone know of interesting cases?

<comment><USER8> What you mean? You can short any crypto currency on many exchanges. Bitfinex and GDAX being the biggest right now.

<comment><USER9> And when bitcoin crashes, and the exchange "gets hacked", goes bankrupt, and the owners run away to some international destination, who do you claim your USD back from?

<comment><USER10> If you're shorting, you get the $ up front and have to supply the security when you "cover". Not having to "cover" the short would actually be better.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> I'm here to say the problems in selling games for Bitcoin are not the same for microtransactions.

I'm the original developer of Bitquest[1], where we used to process hundreds of micropayments smaller than 1 cent each day using 0 fee Bitcoin transactions.

When the blocks started to fill up we had to move all transactions off-chain except when players send money to the game and cashing out.

From the player's perspective, it's hard to justify paying $2 each time get Bitcoin in/out of the game. On the other side, there's no cut for Apple, Google, et al. who charge for as much as 30% cut for micro transactions.

I'm now working on a similar game[2] that will take advantage of Segwit and Lightning Network. There's still miner fees involved to send money in and opening a payment channel, however there's no cut to a payment processor and the associated problems of compliance.

I'm not saying it's perfect but there's still important advantages on Cryptocurrency for game transactions and I'm confident that Steam and others will get back to it after it's infancy.

[1] [https://github.com/bitquest/bitquest](https://github.com/bitquest/bitquest) [2] [https://hammerco.in](https://hammerco.in)

<comment><USER12> Indeed there are clearing protocols on top of Bitcoin, which can reduce fee- paying to only occur upon depositing and redemption. But the Bitcoin blockchain is still limited to ~20 million of such transactions per month[1].

Only if we remove the withdrawal transactions from the equation, and start trading unconfirmed transactions as regular bitcoins (confirmed transactions), can we get around this limitation (such that only the number of new users joining is limited to 20M per month). I'm somewhat skeptical this can work, though, since recipients of funds usually have suppliers to pay, so I assume that we need to settle on the blockchain at least monthly.

[1] [https://runeksvendsen.github.io/blog/posts/2017-10-08-no- bit...](https://runeksvendsen.github.io/blog/posts/2017-10-08-no-bitcoin- based-protocol-can-handle-more-than-20m-users-per-month.html)

<comment> vertex-four A Lightning Network transaction results in one of two things - a proof that a certain amount of bitcoins can be withdrawn at any time (minus some delay), or a proof of cheating. Surely a proof that you can withdraw a certain amount of bitcoins is more-or-less equivalent to that many bitcoins, and therefore any rational actor - including your suppliers - should accept it as such?

This isn't equivalent to unconfirmed transactions - it's tokens of exchange which directly and provably represent bitcoins. Settling on the blockchain shouldn't even have to happen monthly.

One of the other interesting things is that Lightning Network allows for payment in one cryptocurrency while you hold another by channeling it through a very simple, provable currency exchange. This could behave similarly to, for example, paying for something in USD when you hold GBP - <USER2> automatically. So the lack of scalability in Bitcoin's blockchain might not matter so much - if something else turns up that's better for a given person holding money, they can start using it while still continuing to trade with all the people using Bitcoin.

IMHO, cross-chain transactions like this are one of the most important parts of Lightning Network - suddenly, network effects around a specific currency don't matter so much, people can hold whatever they like - Bitcoin people can trade with Litecoin people who can trade with Ethereum scripts, and when something new that solves more problems turns up, people holding that can still buy VPSes with bitcoin.

<comment><USER13> I think it is worth pointing out that it is not exactly equivalent, in the sense that if you pay Steam via a payment channel (for simplicity, a one- directional payment channel, so they don't need to lock up any cryptocurrency themselves), they don't need to settle on-chain, but if they don't do so they cannot use the "money" the received from you to pay someone else (eg their lawyer).

In the very long term, if we get to a point where most people's and organization's income is roughly equal to their expenditure, then this won't be a problem, but until then there is still pressure to settle on-chain because of this.

<comment><USER14> > if they don't do so they cannot use the "money" the received from you to pay > someone else (eg their lawyer).

They certainly can if their lawyer is also on the Lightning Network.

Eventually all Bitcoin wallets should support on-chain and Lightning Network transactions, and seamlessly pick one or the other depending on the transaction amount.

<comment><USER13> No, they really can't. They have to open a payment channel with their lawyer (or open it with someone who has a path of channels to their lawyer), and that requires them to own cryptocurrency on-chain to use as stake (what LN calls the funding transaction)

<comment><USER14> Hence "if their lawyer is also on the Lightning Network"

<comment><USER13> No, even if their lawyer is on the LN, Steam cannot pay their lawyer via payment channel, unless Steam owns some cryptocurrency on-chain to use as deposit

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> Makes business and technological sense. Even the true believers have largely switched to advocating the store-of-value/digital gold model of bitcoin.

We're absolutely in a bitcoin/cryptocurrency mania. Unfortunately, stating that is much easier than predicting what will happen next.

<comment><USER16> I've been hearing this a lot, but what does it actually _mean_?

Isn't the most important thing you want from a store of value stability? Ie, that it'll _store_ the value that you put into it? Bitcoin certainly doesn't have that property.

And if that's not the desired property implied by "store of value", what is?

<comment><USER17> Main source of instability is price manipulation by big players and market inefficiency (not easy enough to arbitrage between exchanges). It would be interesting to see them do the same thing if BTC market cap is in couple of trillions.

For example, if you're on any exchange that lists the total amount of orders in BTC, you can easily catch when the manipulation starts by seeing out of the ordinary sums (triple the amount of usual) for open positions.

Not to mention insane bot activity that is equivalent to a DDOS attack on the exchange.

During the last several hours of IOTA pump, exchanges, even the IOTA tangle were, and still are unstable.

<comment><USER18> >not easy enough to arbitrage between exchanges

doesn't tether fix this?

<comment><USER17> for arbitrage you want to move all currencies, not just one.

[https://coinmarketcap.com/currencies/bitcoin/#markets](https://coinmarketcap.com/currencies/bitcoin/#markets)

for example, bitcoin is now huge on bithumb, I'd buy it at bitstamp and sell it for 10% more, and repeat. given the slow transaction times, huge fees, large mempool, this is impossible to do.

exchanges also ban you for trying to do arbitrage too, so there's a risk of losing all the funds.

<comment><USER19> Exchanges don't ban users for exploiting arbitrage, every trade is money to the exchange and it benefits them to enable arbitrage to take place. No idea where you pulled that claim from.

It's also not impossible to trade via bitstamp and bitthumb, sure it may take an hour or so to get your btc from bitstamp to bitthumb but that's not the bottleneck. Once you sell on bitthumb for USD you need to get that USD back to bitstamp. So you have to get it from a Korean Bank to your own account and then to bitstamps European bank account. Best case scenario that route takes 5-10 working days so the BTC network taking an hour or so to confirm is the least if your problems.

<comment><USER17> Some exchanges offer fee-less withdrawals (like Bitstamp), which makes arbitrage more profitable. I'm pretty sure they'd ban you ASAP if you're withdrawing like crazy (they are paying your fees in BTC).

As for transfer times for BTC not being a problem, 1 hour is a gamble in cryptocurrency world.

<comment><USER19> They won't ban you for withdrawing. If you withdraw lots then you have purchased lots, the exchange makes a cut each time you buy. BTC fees are minimal and exchanges can craft more efficient transactions too, so they are not going to ban anyone for making too many withdrawals.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> Until segwit, lightning network etc. shape up and the wild bull/bear runs smooth out, BTC (and most other cryptos: see ETH and crypto kitties; or IOATA and their overrun nodes) don't really make sense for small transactions. I know LTC says they are the small transaction coin but I guess they'd hit scaling issues too if volume went up (and even if they didn't, speculators and crazy price swings would still make things tricky).

XRP seems less prone to wild speculation (much to the chagrin of some holders) but, afaik, Ripple are more focused on positioning XRP as a settlement layer for banks and big FX houses rather than as a day to day currency.

Personally, I think all of the above will eventually sort itself out. All the crypto currencies are still very young and the entire space is experiencing hyper growth. Teething issues, design flaws and bumps along the way are to be expected. One thing's for sure though, there's too much promise, money and interest in this space for everyone to give up and decide blockchain/tangle tech can't safely scale. It's just a matter of time before a winner emerges with the right formula.

<comment><USER21> >IOATA and their overrun nodes

IOTA is a Tangle[1], which is coordinated[2] flow, similar to a Directed Acyclic Graph[3]. I'm not sure what you mean when you say "overrun nodes" but by virtue of how the network operates, this should not be an issue unless everyone is sticking with only the default nodes in their configuration, but that delves into a conversation of programmer vs user error that isn't pertinent to this thread. Some of us choose to run full nodes without incurring any speed loss, and it doesn't seem to be much of an issue of not having enough of them, only that people aren't using them. Even still, this has not degraded network performance.

[1] - [https://iota.org/IOTA_Whitepaper.pdf](https://iota.org/IOTA_Whitepaper.pdf)

[2] - [https://www.reddit.com/r/Iota/comments/792d6c/eli5_the_coord...](https://www.reddit.com/r/Iota/comments/792d6c/eli5_the_coordinator_and_what_does_it_do)

[3] - [https://stackoverflow.com/questions/2283757/can-someone- expl...](https://stackoverflow.com/questions/2283757/can-someone-explain-in- simple-terms-to-me-what-a-directed-acyclic-graph-is)

<comment><USER18> it's easy to solve scaling (and the double spend problem) when you're trusting a central entity (the coordinator).

<comment><USER20> I believe the coordinator is slated to be removed sometime next year.

</comment></comment></comment></comment><comment><USER22> I posted this as an Ask HN, but this might be interesting here.

It's sort of off-topic, but in this case there's not much to say about Steam dropping Bitcoin anyway. Maybe it'll hover near the bottom:

What should we do about the destabilizing potential of Bitcoin?

There are two facts about Bitcoin worth worrying about:

1\. There is no upper bound on the price

2\. Everyone who thought the price won't continue to exponentially increase was wrong

Greed is a powerful motivator.

It's easy to smile at this[1] but it will only take a couple more 10x increases before people stop laughing.

What happens when governments start putting money into Bitcoin because they don't want their economy to be left out? It'll only make the price go up even further.

It might be a good idea to take a step back for a moment and stop thinking "Can I get rich?" and start thinking "Before this reaches a point where we should worry, what should we do?"

I'm aware that this has roughly a 0.1% chance of happening. But if you'll suspend your disbelief for a few minutes and accept "What if it might be true?" then you'll find it's an interesting question worth thinking about.

It's starting to feel like no one really has a plan for this contingency. It will be a relief if the price crashes back to $1k, but Bitcoin defies belief. How many of you have parents that are seriously talking about getting in? Everyone wants to become rich. And if that infectious mindset spreads to the whole population, we might get an uncontrolled upward spiral.

Is there a way to prevent that?

[1] [https://www.reddit.com/r/Bitcoin/comments/1lfobc/i_am_a_time...](https://www.reddit.com/r/Bitcoin/comments/1lfobc/i_am_a_timetraveler_from_the_future_here_to_beg/)

<comment><USER23> >>>2\. Everyone who thought the price won't continue to exponentially increase was wrong

So far.

Want to bet on the price of bitcoin in 1/5/10/25/100 years?

<comment><USER24> I bet you one bitcoin at each time interval the price of bitcoin is above $30 USD.

<comment><USER25> You should increase the bet with every interval, for a better outcome :)

</comment></comment></comment></comment><comment><USER26> Bought my first Bitcoin in 2011. Recently had my credit card stolen and deactivated, wanted to buy something from Steam, and needed an alternative payment method. Considered using Bitcoin, and decided against it for exactly these reasons. Valve is absolutely right. Bitcoin is not useful for day-to-day payments anymore.

</comment><comment><USER27> $20 transaction fee. Bitcoin for small payments is dead.

<comment><USER28> Here's a recent transaction with a $2 fee: [https://blockchain.info/tx/704b0c6c19c8cfe1d16093552d5196a8f...](https://blockchain.info/tx/704b0c6c19c8cfe1d16093552d5196a8f8fcdfa707a8284da8ce5c34c9b65914)

For that $2 a transaction is forever recorded on thousands of nodes in a worldwide consensus network, secured by a huge number of miners. Blockchains are not going to scale to visa level numbers of transactions without huge blocks and de facto centralization.

The reasonable alternative is a second transaction layer, the lightning network.

<comment><USER29> Or a second transaction layer, like a bank or VISA?

At which point, why not use those same layers over USD instead of over bitcoin?

<comment><USER30> >Or a second transaction layer, like a bank or VISA?

* They don't transact bitcoin.

* They don't transact your (non)bitcoin in a decentralized way. They alone run the software and are in control of changes and restrictions, including who you're allowed to send to.

* You don't hold the private keys to your (non)bitcoin when it's a bank or VISA or Paypal. They own it for you. They can lock your account and maybe give you the privilege of putting yourself through some asinine process to regain access to it.

The lightning network is a "second layer" that still is decentralized and puts users in control of their own funds.

<comment><USER29> Second layers over bitcoin won't have those properties you've mentioned either.

<comment><USER30> Is this word play over "second layer" or something? The Lightning Network is an example of one that's decentralized and keeps users in control of their own funds. All lightning network transactions are settled within normal bitcoin transactions, and any funds locked up within a payment channel can be unlocked by either party without needing cooperation of the other.

</comment></comment></comment></comment></comment></comment><comment><USER31> In the U.S., it seems absurd to even consider Bitcoin (or any other cryptocurrency) for small day-to-day transactions like Steam purchases. Under the current IRS guidance, every sale or exchange of cryptocurrency is a taxable event.

That means that for every $10 game you bought with Bitcoin during the last summer sale, you now have to calculate the cost basis, capital gains, etc., of the BTC you used, and list it on a Form 8949 in April.

</comment><comment><USER32> I can see the headlines now... "Bitcoin running out of steam?"

<comment><USER33> Not being used is the logical end of it when we know there's a fixed available amount[0]. That means bitcoin is intrinsically deflationary, and at there's absolutely no reason to _use_ them: they'll be worth more tomorrow than today, and next week than tomorrow. Until everything grinds to a halt and crashes down.

[0] in which sense it is very different from gold, which kept increasing in amount, just (mostly) slowly

<comment><USER34> GP's post was just a pun/joke. Think you missed it :)

</comment></comment></comment><comment><USER35> The problems we see with Bitcoin now are severe and detrimental and not at all aligned with its original goal and purpose. However, these issues were foreseen, hence the fork (Bitcoin Cash). High transaction fees coupled with extreme volatility and a slow transaction time is making sure BTC will not be used for small transactions. If things continue to escalate or stay status quo, BTC's purpose will as predicted be just as a backing coin, like gold once was, but even for that purpose, it needs to be less volatile.

</comment><comment><USER36> The current situation is quite terrible, and the hype that lead to the current price is not doing Bitcoin any favors. I would have hoped that it wouldn't get so much attention before it gets a chance to improve the underlying tech more. That being said, the lightning network will be ready soon and perhaps that will improve the situation. The following is a demo doing a lightning payment: [https://youtu.be/a73Gz3Tvx3k](https://youtu.be/a73Gz3Tvx3k) , and it is super fast.

</comment><comment><USER37> So one of the things I liked the idea of was micro payments - eg click to donate 5 cents to the author of an article. Are there any crypto currencies that work with negligible fees for micropayments? Is there a framework to use them?

Thanks

<comment><USER38> Bitcoin cash, a hard fork from the original Bitcoin. Super low fees, and the community that supports Bitcoin cash considers themselves the Bitcoin for the people. There are apps/wallets to use them. Coinbase will support Bitcoin cash by Jan 2018.

<comment><USER19> Litecoin

</comment></comment></comment><comment><USER39> why are transaction costs so high? I thought one of the selling points was that the transaction cost is negligible because miners main incentive comes from mining new bitcoins?

<comment><USER40> There's a finite number of bitcoins, fewer and fewer bitcoins are being produced over time by design. There can only be 21 million bitcoins, and the majority have already been mined. So the reward just for completing a block (not including the transaction fees) has been steadily decreasing, and that's not even taking into account that more and more miners means it's harder to get that reward. Thus the trend is going to be towards increased transaction fees.

<comment><USER41> ... so bitcoin is doomed as a real currency as the prices are only going to get higher and people are not going to pay a $5 transaction fee for a $10 product.

How is the bitcoin community rationalizing this seemingly inescapable mathematical failure?

<comment><USER40> The transaction fees won't grow forever. Generally speaking, they just need to be high enough that miners can turn a profit. What that amount is, I don't know.

And the fact that there's a limited number of transactions that can be processed in a single block, and competition between miners to validate transactions as quickly as possible, complicates things.

<comment><USER41> What keeps the transaction fees from growing forever? If only a certain amount of transactions can be processed when a coin is mined then that means that competition will only grow as bitcoin becomes more widely used. This competition will raise prices yes? Because if you don't have a high bid then you won't get included when the coin is mined. And since coin mining becomes slower and slower over time that means that less windows of opportunity exist for even greater numbers of transactions. It certainly seems like this issue will only get worse unless there's some other factor I don't know about.

</comment></comment></comment></comment></comment><comment><USER42> Please accept Crypto Kittens.

</comment><comment><USER43> I don't blame them. Bitcoin's fees have been way too high. I had to spend $6 just to make a $20 purchase. This is ridiculous.

</comment><comment><USER44>
      but the degree of volatility has become extreme in the last few months,
      losing as much as 25% in value over a period of days

This statement would be true during any period of Bitcoin's existence.

</comment><comment><USER45> Finally! This was caused by my complains, I paid $32 for a $25 dollar game, and I it didn't go through since txn fees were not right 4 cents less. And BitPay refunded me just $17.

I am so thankful Steam did it right, meanwhile BitPay still blames the customer!

Here are the different threads of where the complain went viral. The internet wins at the end, removing the shady business of BitPay.

[https://news.ycombinator.com/item?id=15768303](https://news.ycombinator.com/item?id=15768303) [http://steamcommunity.com/discussions/forum/10/3183345176714...](http://steamcommunity.com/discussions/forum/10/3183345176714002755/) [https://www.reddit.com/r/CryptoCurrency/comments/7e7wsq/shad...](https://www.reddit.com/r/CryptoCurrency/comments/7e7wsq/shady_business_of_bitpay_buy_29_game_on_steam/)

</comment><comment><USER46> Why the bitcoin crazies ignore news like this but salivate and hike the price over the fake news about Amazon accepting Bitcoin?!

</comment><comment><USER47> Maybe they should have just switched to dogecoin instead of turning off crypto payments.

</comment><comment><USER48> I'd venture to guess that the unspoken issue here is that when Valve originally announced it was accepting Bitcoin, Bitcoin was cool and exciting and trendy. Just accepting it made Valve seem and the leading edge - part of the _future_.

That's really not true any more and so a large part of the value of accepting it has simply disappeared. Really, why should they bother any more?

<comment><USER49> Valve introduced bitcoin payments back in the days when people used to use Bitcoin as a currency

</comment></comment><comment><USER50> "We asked our user to pay X at T but when we received the payment at T' the price wasn't the same so we need to match the price currently so ask for X' actually and when we receive the payment at T'' the price has changed so actually ask them for X'' oh but wait..."

</comment><comment><USER51> watching bitcoin implode will be a glorious day..... the volatility in that market is astounding..

</comment><comment><USER52> The partner they used has been very untrustworthy when it comes to the transactions. Many of the stories can be found on the subreddit of Steam. Also, the transaction cost made even discount often not worthy.

</comment><comment><USER53> Fair enough, when I tried to spend it with them I got pretty bad exchange rates so I stayed away. g2a accepts bitcoin and I saw more reasonable rates there.

</comment><comment><USER54> I cannot see barely any cryptocurrencies really replacing fiat currencies unless stability is kept. It's for this, I personally bet on Ripple.

<comment><USER55> Ripple, the currency that is being investigated by the SEC ?

<comment><USER54> The market should be regulated if ALL OF US (grandmas too) are really going to end using cryptocurrencies.

</comment></comment></comment><comment><USER56> I wonder how many bitcoins Steam has, and how many of those they've even cashed out on.

<comment><USER26> I think they used BitPay, so they likely had BitPay convert to dollars instantly for every transaction and never received Bitcoin themselves.

<comment><USER57> ouch

</comment></comment></comment><comment><USER58> You know what I think is the best alternative digital currency for Steam? The Steam Wallet!

</comment><comment><USER59> bitcoin boosters will try and spin this as good for bitcoin somehow

</comment><comment><USER60> Steem is still supporting Bitcoin though.

<comment><USER61> But -- Oh, I see what you did there.

</comment></comment><comment><USER62> a) they should be using segwit addresses

b) they have the option of using a payment processor that handles ALL OF THE PROBLEMS THEY DESCRIBED on the backend, behind the scenes

c) switch to a different blockchain. they already built the rails, different trains can run on them already.

d) bitcoin futures start trading on Sunday, its an easy way to hedge volatility, so there goes that argument. Professionals in multinational companies know what these are used for.

</comment><comment><USER63> Bitcoin is not meant to be used for small transactions. Bitcoin can scale indefinitely in terms of dollar value of daily transactions but it is limited when it comes to number of transactions.

I don't think that the lightning network will offer a solution. In engineering, problems are always better solved at the root. As clever as it might be, the lightning network is a bandaid patch on top of a suboptimal solution... There are many cryptocurrencies that scale better than Bitcoin in terms of number of transactions.

<comment><USER64> any blockchain that doesn't set a limit on the value of one single transaction can scale indefinitely in terms of dollar value

<comment><USER63> Sounds obvious but maybe it explains why Bitcoin's scalability problem doesn't seem to have any effect on its price.</comment></comment></comment>


An Unexpected Effect of Ultra-Marathons: Temporary Brain Shrinkage - <AUTHOR> http://www.smithsonianmag.com/smart-news/unexpected-effect-of-ultra-marathons-brain-shrinkage-180957450/?utm_source=twitter.com&no-ist <comment><USER2> It's a pity they didn't normalize/baseline for dehydration, which has been demonstrated to result in brain shrinkage: [http://campus.neurochirurgie.fr/IMG/pdf/changement_volume_ce...](http://campus.neurochirurgie.fr/IMG/pdf/changement_volume_cerebral_avec_hydratation.pdf)

</comment><comment><USER3> I'd love to do the same study on an 8 hour day of meetings and compare to an extended period of uninterrupted coding.

</comment><comment><USER4> Goodness. There are ultra-marathons, and then there are trans-continental ultra-marathons. I have a friend who did a number of 50s, at least one 100 (I was there to watch), and I think a Canada to NYC run. Her brain seems to fine as she approaches 60, but her knees aren't up to long distances.

(Full disclosure: I ran a few times over 26.2, only once as far as 50.)

<comment><AUTHOR> _" as she approaches 60, but her knees aren't up to long distances."_

@cafard, know the feeling. Most of the people I know who ran seriously retired in their 40's, knees smashed. What caught my interest in this article was the quote:

 _" After about 1,553 miles, the researchers noted that the cartilage that normally cushions joints showed signs of breaking down. But after that point, the runners started building their cartilage again, even without rest. "_

What's going on there?

(my disclosure: Keenwalk, 2010 [http://seldomlogical.com/2011/MAR/12/keenwalk- why-i-went/](http://seldomlogical.com/2011/MAR/12/keenwalk-why-i-went/) cf Hackernews [https://news.ycombinator.com/item?id=1126078](https://news.ycombinator.com/item?id=1126078) and regular 2000km/yr PT)

<comment><USER5> I think recent studies don't support the idea that running destroys your knees, actually.

<comment><USER6> This is correct. The true picture is complex and not fully understood.

Distance running tends to increase _surface area_ of knee cartilage. Lifting weights seems to increase _thickness_ of cartilage.

However, thickness of cartilage seems to have a maximum value beyond which it will not increase. This may be because the chondocytes (cells inside the cartilage that produce and maintain it) gain all their nutrition by diffusion, so cartilage that is too thick would prevent adequate nutrition.

Lack of activity certainly leads to reduction in cartilage thickness, possibly surface area. It is unclear how exercise should be prescribed to optimally restore this.

Irregularities in cartilage surface, due to injury or possibly genetic bad luck, can produce irregular pressure on the underlying bone surface. This seems to be a driving factor in bone changes in early osteoarthritis.

Everyone's response to exercise is unique to them. It's not currently easy to say whether distance running is "good for you". However, the benefits of exercise generally outweigh the risks. Personally I suspect that only a tiny minority of people are capable of regularly running marathon distances and benefiting from that.

If you are over 40, don't expect to do then save intensity or duration of your younger peers, particularly if you are starting a new form of exercise. Your body has already adapted to your lifestyle, and it will be slower to adapt. But find what works for you, do what feels good, don't compare yourself to others, and enjoy yourself.

<comment><USER7> "But find what works for you, do what feels good, don't compare yourself to others, and enjoy yourself."

That sounds good and right, especially 'don't compare yourself to others'. It is a good Zen training to let others go faster and stick to ones own goals.

</comment></comment></comment></comment></comment><comment><USER8> I have only recently begun running (18 months) and in that time I have completed multiple halfs, with my first full in January (actually a 2 day: half followed by a full). My goal is to beging doing the 5 day desert ultras.

To date it have been an interest learning experience/experiment.

I used to eat Paleo, without any exercise I was fairly ripped. I dropped Paleo a year ago to incorporate carbs, over the year I have gained 15-20 lbs due to change in diet, while my overall intake has remained about the same. I don't think this is unusual for new distance runner who don't change diets as generally runners will need to increase intake to the point it exceeds what people burn.

Training in tropical weather (Miami) I have run into the issue of heat stroke a few times. This is completely distinct from dehydration and pushes me to train at night.

I developed compartment syndrome and subsequently (thru trial and error) discovered a topical treatment that does not cure but prevents the symptoms. Whereas the only solution that appears anywhere online for this phenomenon is surgery. I would love the opportunity to formally test my topical treatment in an official clinical lab setting.

Diatance running no doubt has odd effects on the body (short term and longe term) but from the just based anecdotally on the hundreds of 60-70 years olds I see in these races who have been running for decades I think it's a good bet overall distance running has a net positive impact on quality of life.

<comment><USER6> Hi there. Very interested in your topical treatment for compartment syndrome. Frankly, I am very sceptical that (a) it works or (b) you had compartment syndrome. Can you provide further details?

<comment><USER8> I would simply say this, and if you have CS you should agree, CS is unmistakable. That said there are 2 types I am aware of, CS as a result of accidents/trauma and athletically induced, mine being the later.

(b) Within 30 seconds to 2 minutes of running the pressure/pain begins. Personally I get swelling/bulging in 2 of the compartments to the extent it is clearly visible to the naked eye (this never happened before the CS or when using my topical treatment). In the few instances I "power through" the pain, which I have found mostly impossible, it will lead first to numbness in my feet (though the pain never subsides in the compartments and only increases) and then I develop drop foot during the run. Within ~1 minute of ceasing the run the pain subsides.

(a): I have experimented to the point that I have isolated the CS in 2 out of 4 compartments in each leg. If I don't use the treatment I always have the pain/swelling/pressure. Additionally, through experiments I know I can target one of the compartments in each leg and still have the pain/pressure/swelling in the untreated compartments. Another note, if I apply to topical treatment and don't run within ~1 hour I will develop the pain/swelling/pressure to a lesser degree, but when I go running immediately I have had runs as long as 3 hours and do not experience any symptoms.

My discovery was not random luck, as I experimented with rollers, icing, heating, stretching, shoes, running surface, other topicals, etc... Having found the treatment I don't employ any other variables such as stretching, icing, or heating. It really isn't so crazy to conclude there are topical treatments the body will absorb that could change the fascia viscosity to accommodate muscle expansion.

As I said, I would love the opportunity to go through clinical testing to confirm my treatment works. I am not sure how big the CS market is, but I know that after only 18 months of running I was unwilling to give it up, and surgery is not practical.

<comment><USER6> Unfortunately this all sounds highly implausible.

If you have found something that you feel works for you, good luck with it. The chances that it works by the methods you suggest are hugely unlikely.

Compartment syndrome can be extremely serious. Extremely. If you notice swelling with numbness or weakness again please go immediately to a hospital.

Good luck! :)

</comment></comment></comment></comment><comment><USER9> I doubt brain volume shrinkage in itself is alarming - it could well be a physical effect from the shaking or something akin to dehydration (I know the brain is suspended in liquor).

Assessing the cognitive capabilities before and after would be more interesting, but of course much more complicated. Also: 1000+km runs, my god...

<comment><USER10> > I know the brain is suspended in liquor

eh, a man can dream, but reality be a harsh mistress!

</comment></comment><comment><USER11> This just in: ultra-marathons are not healthy.

I'm perpetually amazed by the inability of people -- especially Americans -- to distinguish between sport and exercise.

There's a rich body of literature tying high injury rates (unsurprising) and metabolic dysfunction (more surprising) to extreme competitive sports.</comment>


Effect of breakfast on weight and energy intake - <AUTHOR> https://www.bmj.com/content/364/bmj.l42 <comment><USER2>
      As the quality of the included studies was mostly low, the findings should be interpreted with caution.

Given that _the quality of the included studies was mostly low_ , I choose to ignore this paper altogether, and I'm perplexed as to why it was done in the first place.

Garbage in, garbage out.

<comment><USER3> This study isn't garbage. It studies stuff, and draws the conclusion that it is garbage.

That doesn't in any way imply this study itself is garbage.

The lesson to take away from this is _"we don't know whether having breakfast has any effect on weight"_.

That is (slightly) interesting news, as many (popular) articles on weight loss claim skipping breakfast is bad (example: [https://www.everydayhealth.com/weight/why-breakfast-is- key-t...](https://www.everydayhealth.com/weight/why-breakfast-is-key-to- weight-loss.aspx))

<comment><USER2>
      The lesson to take away from this is "we don't know whether having breakfast has any effect on weight"

The lesson _I_ took was that "we _don 't know_ whether the effect of breakfast on weight is meaningful (let alone measurable) because we chose crappy data, which means that the question _may or not be answerable_ with better data." To me, it's worse than not doing the study at all and saving those resources for actual science.

      many (popular) articles on weight loss claim skipping breakfast is bad

I agree, and that's why I read this in the first place. Meta-analyses using studies with no relevant controls (such as distinguishing the time-restricted feeding effect) are mostly worthless.</comment></comment></comment>


Modern Text Rendering with Linux - <AUTHOR> https://mrandri19.github.io/2019/07/24/modern-text-rendering-linux-overview.html <comment><USER2> This is missing a text layout engine: separating a string of texts into multiple blocks with word wrap. This is handled in GTK+ through Pango and in Qt with an internal algorithm. I don't believe FreeBiDi/ICU is used in either.

<comment><USER3> HarfBuzz for shaping, too.

</comment></comment><comment><USER4> Two weeks ago: [https://news.ycombinator.com/item?id=20491203](https://news.ycombinator.com/item?id=20491203)

</comment><comment><USER5> Do projects like Pathfinder fit into this stack anywhere? At a guess you could replace Freetype with it, but I guess it does more?

<comment><AUTHOR> Interesting question, from my understanding Pathfinder is only concerned with rendering so it doesn't completely replace FreeType: you still need some software to extract the curves path data from the font file. This can be done in rust with skribo and font-kit

You can check out this issue for more info: [https://github.com/servo/pathfinder/issues/143](https://github.com/servo/pathfinder/issues/143)

</comment></comment><comment><USER6> Great detailed pictures. I'm curious where general hinting belongs.

<comment><USER2> "Hinting" is a combination of techniques. Subpixel placement hinting is done by the shaper, which would be HarfBuzz in this case. Metrics hinting (adjusting the glyph width) is done by a combination of the shaper and the renderer, which would be HarfBuzz and FreeType. Outline hinting (fitting outline to the grid by distoring shapes without) is done by FreeType.

Behdad Esfahboh, the author of HarfBuzz, has a great paper on the different choices and tradeoffs here: [https://docs.google.com/document/d/1wpzgGMqXgit6FBVaO76epnnF...](https://docs.google.com/document/d/1wpzgGMqXgit6FBVaO76epnnFC_rQPdVKswrDQWyqO1M/edit)

<comment><USER7> Now that very high dpi screens are so popular and inexpensive, is subpixel rendering worth doing anymore?

<comment><USER8> It's important to make the distinction between subpixel _positioning_ and subpixel (RGB) _rendering._ I'd personally say yes to the former, even at high dpi, and no to the latter if you're on a mobile device. The kerning errors you get from quantizing the position of glyphs to integer pixels are, to my eyes, a noticeable degradation of quality.

<comment><USER7> Do you know if the layout engines for laser printers do subpixel stuff?

<comment><USER3> Most laser printers tend to use PostScript (a Turing complete language), which does not know about displays hardly at all. It does arbitrary positioning.

<comment><USER7> > It does arbitrary positioning.

So are you saying that whether or not subpixel effects are accounted for is implementation dependent?

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> To make it more modern, hopefully they will replace the XML by JSON at some point.

<comment><USER10> How does replacing XML with JSON make it more modern?

<comment><USER11> smaller, more readable, faster, safer.</comment></comment></comment>


irb & script/console tips - <AUTHOR> http://giantrobots.thoughtbot.com/2008/12/23/script-console-tips

<comment><USER2> More irbrc files on dotfiles.org <http://dotfiles.org/.irbrc></comment>


Why Go? Use Racket - <AUTHOR> http://cxwangyi.wordpress.com/2012/07/22/why-go-use-racket/ <comment><USER3> > But it is inefficient to pass an array or struct; instead, we should pass > pointers to these types.

I feel like the author hasn't used go much. You almost never work with arrays directly, you use slices, which CAN be efficiently passed around.

EDIT: Upon re-reading I think the author was making a point about the consistency of go, and how different types have different behavior with regards to pass-by-reference/copy. There's actually a pretty simple rule for it:

If the variable is a primitive, or defined by the user, it is passed by copy (ints, strings, structs, etc...). Everything else (compositional types like slices and maps, and others like channels) are passed by reference.

The outlier are raw arrays, but again you don't ever actually use those, so you can just ignore them.

<comment><USER4> So... you have the right idea, but your statement about passing is technically wrong.

Everything in Go is passed by copying its value.

However, slices, maps, channels, and interfaces all have small values, which are just a pointer and some other small data (length, type, etc), so passing them directly (rather than by pointer) is not a big deal.

</comment></comment><comment><USER5> > the type system of Go is so complex;

For someone coming from a Scala background, I feel this statement is _absurd_.

One thing we are all forgetting here is that anyone can prove language X is better than Y. But it's always wise to choose the best tool for the job (X is better than Z in doing what exactly?).

Languages and frameworks are a personal preference. You choose them based on their philosophises and if their philosophies resonate with yours.

After a certain point, language choices will no longer matter. Your end goal, should be to get to this point, instead of fighting over them. Just my 2 cents.

<comment><USER6> As long as we treat languages as personal preferences, the programming community will remain deplorably divided. In order to join forces to work on demanding projects, I think we need to agree on a relatively small number of good-enough languages. To do this, we need objective criteria for choosing one language that is good for a particular class of software.

<comment><USER7> > As long as we treat languages as personal preferences, the programming > community will remain deplorably divided.

Languages _are_ personal preferences; they certainly have objective differences which have some effect on utility, but a substantial part of what makes a language the best for a particular programmer for a particular purpose is how well the the language matches the programmer's experience and patterns of thought for addressing the problem domain. These are inherently subjective factors.

> In order to join forces to work on demanding projects, I think we need to > agree on a relatively small number of good-enough languages.

We may need to agree, for large projects that need to be integrated in such a way that you can't use a mix of languages for different components, on as few as _one_ language for a particular project, but that doesn't constrain the number of languages we can have in the whole programming ecosystem (and, indeed, restricting the domain of available languages would restrict the development of new techniques and languages and the development of better languages for new use case.)

> To do this, we need objective criteria for choosing one language that is > good for a particular class of software.

This requires, obviously, the ability to objectively categorize software into "classes" to apply the criteria. Since I think you are going to fall down hard on that, I'm not really holding my breath to seeing your vision realized, even if I thought it was a good thing.

</comment></comment></comment><comment><USER8> Racket is not only a great language. It's also a great developing environment, a great community.

And unlike most other languages, it's out of box support for Windows is perfect.

<comment><USER9> To be fair, maybe this blog post is getting more attention than the author expected. Regardless, I don't think it makes a great case for "Why __? Use Racket!".

The case I'd make: The shiny new feature X in today's fashionable new lang Y? Racket probably does this, does it elegantly, and has done it for awhile.

CSP is just one example. It's great that Go is helping popularize it.

Also I'd headline it as, "Intrigued by __? Also try Racket!".

Racket draws on a lot of PL research (which is why it probably already has feature X) but is also very practical. It's easy to install and use on all platforms. There's also a wonderful community.

About the only thing it lacks is a BFD/cult leader phenom such as some companies and langs have. ;)

<comment><USER8> Yeah. And Racket suits programmers of different levels well.

For beginners, it's an easy to learn language with an easy to setup programming environment.

For advanced programmers, there're a lot of advanced features available as 6cxs2hd6 mentioned.

</comment></comment></comment><comment><USER10> > the type system of Go is so complex;

Go's type system is not complex at all. What is complex about it? There is a limited set of types, and they can have methods. You can define your own types. What's so complex about that?

> programmers need to know all the details about the implementation of > standard types, before they can use them correctly.

You should not have problem with knowing the details of the language or the third party libraries you are using if you want to be a proficient engineer builds stable, secure and easily-maintainable systems.

<comment><USER11> > _You should not have problem with knowing the details of the language or the > third party libraries you are using if you want to be a proficient engineer > builds stable, secure and easily-maintainable systems._

What if you instead want/have to be a pragmatic programmer, you doesn't "engineer stable, secure and easily-maintainable systems" with all the time of the world available to him, but has to build something working adequate enough, as quick as possible, warts and all?

You know, like 90% of early startup code out there, including companies that sold for hundrends of millions.

<comment><USER12> You are welcome to write shit code in go too, nothing is stopping you.

<comment><USER11> Thanks, this thread needed a strawman.

<comment><USER12> You don't need to thank me, I didn't help you write your post. Did you mean to thank your caretaker?

</comment></comment></comment></comment></comment><comment><USER13> Why do we keep playing this like a competition? I'm sure someone could put together an equally valid post about why Go is "better" than Racket. It's frustrating how so many people forget that we're all in this together, how every language has it's pros and cons, and how our job is to pick the best tool for the job.

<comment><USER14> I think it sums it up at the very last sentence, almost as if it isn't really relevant :

"Racket programs build and run much slower than Go programs."

Edit: By this I meant to be agreeing with the above statement that someone will come along and write a post about why Go is better - it's already been done in this one post. Sorry for the misunderstanding..

Obviously, sometimes execution speed is important, and sometimes it isn't - <USER2> depends on what you are trying to do.

<comment><AUTHOR> The author's postscript links to this follow-up blog post:

[http://cxwangyi.wordpress.com/2012/07/29/chinese-whispers- in...](http://cxwangyi.wordpress.com/2012/07/29/chinese-whispers-in-racket- and-go/)

To me, the speed at which the code executes is a second derivative problem - this is to say that if a language gets version 0.1 deployed two months faster, then it is faster in a more important sense. A hammer and screws is more useful than a screwdriver and nails - intact it is more useful than a Phillips screwdriver and slotted screws.

</comment></comment></comment><comment><USER15> My problem with Racket is that it's startup time is slow. Because of that it competes with Clojure, and Clojure is frankly just better. I would probably use Racket if it started up instantly; could be great for cli programs. But Chicken has a decent ecosystem and is blazing fast, so I use that.

</comment><comment><USER16> The author has a follow-up post [http://cxwangyi.wordpress.com/2012/07/29/chinese-whispers- in...](http://cxwangyi.wordpress.com/2012/07/29/chinese-whispers-in-racket- and-go/)

 _Each thread reads from the channel to its left and writes the processed input into the channel to its right._

Except that the programs he posted are flowing the other way(start with rightmost, read final value from leftmost). The implementation of the author's wording needs a slight change.

Go implementation:

        package main

        import "fmt"

        func setup_channels(left chan int, num int) chan int {
            for i := 0; i < num; i++ {
                right := make(chan int)
                go func(left, right chan int) { right <- 1 + <-left }(left, right)
                left = right
            }
            return left
        }

        func main() {
            leftmost := make(chan int)
            rightmost := setup_channels(leftmost, 100000)
            leftmost <- 1
            fmt.Println(<-rightmost)
        }

Racket implementation:

        #lang racket

        (define (setup-channels left idx num)
        (if (>= idx num)
            left
            (let [(right (make-channel))]
            (thread (λ ()
                        (channel-put right (+ 1 (channel-get left)))))
            (setup-channels right (add1 idx) num))))

        (let* [(leftmost (make-channel))
            (rightmost (setup-channels leftmost 0 100000))]
        (channel-put leftmost 1)
        (channel-get rightmost))

I also don't understand why is he writing to the leftmost channel in a separate thread. I don't think that's needed.

</comment><comment><USER17> I'm very ignorant on the difference between the functional languages, but could someone _please_ explain, apart from the implementation which affect the performances, the actual difference between the languages? To me they all look like LISP.

I feel like a non-linux user categorizing Debian, Ubuntu, Mint, Red Hat, and so on altogether as 'Linux'; While he's not incorrect, there are subtle difference that he's not seeing. It feels rather frustrating. I'm using Racket(when I want to experiment in functional language) because that's what I'm used to, but it would be great to hear _X and Y are different in ..._ than _X is better than Y because..._

<comment><USER18> Dunno, ML-based languages have a pretty different feel to Lisp. They're compiled languages, have type inference, heavily rely on pattern matching, type declarations. An example from OCaml's front page:

type tree = Leaf of int | Node of tree * tree

let rec exists_leaf test tree = match tree with | Leaf v -> test v | Node (left, right) -> exists_leaf test left || exists_leaf test right

let has_even_leaf tree = exists_leaf (fun n -> n mod 2 = 0) tree

<comment><USER19> Most LISP implementations also provide compilers. The difference is that ML variants are statically typed, while LISPs are generally dynamically typed.

<comment><USER20> > "generally dynamically typed"

I appreciate the "generally" word here. Racket and Chicken Scheme for instance, both provide statically type extensions.

<comment><USER12> But they are essentially garbage are they not? Adding java-style static typing is not helpful at all. The benefits of static typing are very much tied to the power of the type system in question.

<comment><USER21> Typed Racket definitely doesn't add a "Java-style static typing" system at all. Its type system is quite specifically designed to accommodate the kinds of programming idioms you find in Racket programs (via occurrence typing, function intersection types, and so on), and comes with local type inference.

<comment><USER12> I don't use racket obviously, but looking through the docs on typed racket it certainly looks like it adds java-style static typing. Having crappy partial type inference doesn't make the type system powerful or expressive, C# has that too and it certainly falls into the java-style type system camp.

<comment><USER21> > but looking through the docs on typed racket it certainly looks like it adds > java-style static typing

It's unclear what you mean by "Java-style static typing" then, because the Java type system and Typed Racket's type system are completely different.

One actually has local type inference (which is not "crappy" type inference necessarily; HM-style type inference is notoriously brittle), the other doesn't. One has nominal class types, the other has no class types (yet). One has intersection types, occurrence typing, "true" union types, and so on, while the other has none of those. One has bounded polymorphism, the other has System F-like polymorphism. One of them has variable-arity polymorphism, while the other doesn't. The list goes on.

In fact, aside from being explicitly typed, there are few _similarities_.

<comment><USER12> >One actually has local type inference

Which is totally orthogonal to the power and expressiveness of the type system. I specifically gave an example that C# also has crappy limited type inference too, and is still java-style static typing.

>HM-style type inference is notoriously brittle

Yeah, obviously no languages could possibly exist that use it with no problems.

>One has nominal class types, the other has no class types (yet)

What does being OO have to do with anything? I am talking about the expressiveness of the type system. The amount of things you can express in the type system.

>One has intersection types, occurrence typing, "true" union types

So racket has a partial implementation of ADTs? And that's it? Ok, you win, racket has java + 0.1 level of static typing, hooray! The point is, using static typing in racket gets you virtually nothing, because it is such a primitive type system. Go use ML or haskell and then compare it to typed racket.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER22> If you do not comprehend the type system in your language, your program will be inefficient garbage if it runs at all. This is true in Racket as much as in Go.

And Racket's type system (being an expandable, routinely expanded language) is much, much larger.

</comment><comment><USER23> How lightweight are Racket's threads? I'm curious if they're really lightweight in the same way that goroutines are. Go's documentation states: "It is practical to create hundreds of thousands of goroutines in the same address space."

Is the same true for Racket threads? Or are they closer to "lightweight" green threads in other languages. I'm genuinely curious. If they are really as lightweight as goroutines, that should be publicized more heavily. If they're not, then it's disingenuous to claim that Racket's CSP story is equivalent to Go's.

</comment><comment><USER20> I would imagine that Go has the advantage of being significantly faster than Racket. Although if people still loves to do things in Ruby maybe performance is less than a concern in web development.

<comment><USER24> > _Although if people still loves to do things in Ruby maybe performance is > less than a concern in web development._

As a user of web sites (and a web developer), I find it disappointing and frustrating to use web sites designed by people who clearly have not made performance a priority. So just as a tangential point: if you are one of those web developers who loves doing things on slower platforms, believing that it's just fine to disregard performance, please think of your users! We are the ones who suffer! 250ms here, 500ms there, sometimes over 1,000ms before the server responds with the first byte! It adds up to an annoying user experience.

Among popular sites, those that are slow tend to really irk me, and I seek out alternatives. For example, there is this very popular source code social network site...

<comment><USER25> I believe, in most cases of those milliseconds amount to network and database/storage latency, not site code's performance.

So it's just insignificant (performance-wise) whenever you write site in carefully optimized C or just write some Ruby magic that performs, say, 100x slower. 1ns vs 100ns is insignificant when it's your database that responds in 300ms.

<comment><USER26> You couldn't be more wrong. PHP and Ruby page generation times can easily exceed 1000ms if the programmer isn't careful. Nanoseconds is just rubbish. Even the fastest template engines typically take on the order of a few ms.

<comment><USER24> TylerE is correct.

Each application is its own unique snowflake, admittedly, but I encourage web developers to profile their applications to understand where server time is actually consumed. Furthermore, I implore you to realize that time spent in the ORM is _not_ the same as time waiting for the database. If your profiler conflates ORM machinations as database time, you are not seeing the correct data.

Modern databases are extremely efficient at fetching data from well-indexed tables. They are in many cases _not_ the bottleneck although conventional wisdom would have you believe otherwise.

In our experience, slower platforms consume an impressively large amount of time doing things unrelated to the actual database queries. Under load, the database server can be nearly idle while the application server is falling over itself in its slow ORM, its template engine, or helper functions. Meanwhile, faster platforms mean faster frameworks, faster ORMs, and faster templates. These platforms can easily saturate the Gigabit Ethernet connection to their database server without the database server hiccuping.

</comment></comment></comment></comment></comment><comment><USER27> > But we are not allowed to convert the interface into that type. Instead, we > can convert it into a pointer to that type.

I don't quite follow this "problem" \- it sounds like a complaint about the lack of generics. I haven't been programming in Go for long, but I found the reflection system pretty easy to use and it basically allows you to do this.

Sure, it's not EXACTLY the same, but in what case do I actually need a float or integer instead of an interface method that acts on them in the way I expect?

</comment><comment><USER28> I like racket and I've always wanted an excuse to use it, but the development experience with go is very, very nice. Nice enough that I'm starting to reach for go where I would reach for ruby most days. The racket experience seemed pretty great, but go has me hooked. Fast compile, fast tests, fast startup, binary deploys. The whole go experience seems fast, clean, and sane.

Is there a great reason to use racket instead of go?

</comment><comment><USER7> Racket threads (which are green threads hosted on the same native thread in 1:n model) are not really equivalent to Goroutines (which are green threads hosted across a pool of native threads in an m:n model).

Racket has a richer set of concurrency/parallelism structures (threads, futures, places, engines) than Go provides (goroutines). This is both a source of power, and a source of cognitive overhead.

</comment><comment><USER29> What?! If anything the type system is quite simple.

Probably only Oberon-7 strives to be simpler, from the current set of modern languages.

<comment><USER30> Correction: Oberon-07, which has so few users, I doubt it qualifies as valid option.

<comment><USER29> > Correction: Oberon-07...

Right, I always forget the right naming. From the Oberon family, I prefer Active Oberon anyway.

> .., which has so few users, I doubt it qualifies as valid option.

True, it is unfortunate that the whole Oberon ecosystem never left the academia, except for a single digit set of companies that managed to make some money out of it.

Still, it does count when discussing about language type systems.

<comment><USER30> Since it was one of the very few semi-modern systems programming languages other than C used to build an OS, I would love to see some form of Oberon gain more nerd traction.

<comment><USER29> I was really into it, back when System Oberon was being actively developed.

My experience with it, made me a supporter of GC enabled systems programming languages and OS made with them.

The other one I also played with was Modula-3.

Nowadays it seems even at ETHZ, Oberon does not get used that much, if at all and they switched their focus to research based on .NET.

> I would love to see some form of Oberon gain more nerd traction.

I doubt it will ever get one, due to its Pascal syntax heritage, which many don't like, specially the all caps for keywords.

Oh well, at least Go got some influence from it.</comment></comment></comment></comment></comment>


Ask HN: Which language is better for fast web developping? - <AUTHOR>

I currently use PHP (with some homemade Database/Templating/Routing utilities) for fast developement (little web projects for friends or just a "week end thing").
I also use Python for any other purposes (console programs, scripts, long-running processes, batches). I had a look at Webpy, Django and Turbogears but I don't feel comfortable with those framework for little web apps.
What's your choice? <comment><USER2> Given that you know and are happy with PHP then I would stick with it. There is no 'one size fits all' answer to this, I develop in Rails and Perl so I find them faster to use than PHP and Java (which I am also familier with).

Other people find Java easier to use, it comes down to what you know.

Just a point of caution, the only 'little web apps' that I know of are the ones that got abandoned, what might seen trivial now could grow quite large and the effort made to use a good framework can pay off down the road.

Also knowing a framework de jour is not a bad thing CV wise.

<comment><AUTHOR> With "little web apps", I mean, for example, little sites for some little, local companies (from friends!) that just need to keep a news stream, a map or something like for their clients). I help friends to have "decent" webpages, and not those "frontpage-like" webpages.

</comment></comment><comment><USER3> For little web apps? Webpy. Or are your apps not so little? Then I've hard good things about pylons, but I'm not sure how fast to develop it is. Fast compared to learn, use, fast how?

<comment><USER4> "HARD good things about PYLONS", quite an interesting view you have. ;)

</comment></comment><comment><USER5> Why are you not happy with PHP? What dissatisfies you about it?

</comment><comment><USER6> why don't you use a php framework?

<comment><AUTHOR> I've tried CakePHP, CodeIgniter and some other PHP frameworks, but I don't feel comfortable with any.

In fact, I just want to build little apps (a few pages, an embedded gmap with some info added through the admin and some mice) in a few hours. Maintaining my own libs is something I'd like to avoid using self-mantained librairies (I don't have enough time to mantain the code), and, why not, learn some new things...

<comment><USER6> well, you won't be comfortable or efficient with any new framework or language until you spend the time/effort to get familiar with it.

i like CI for php.</comment></comment></comment>