I'm sorry, but were you actually trying to remember your comical passwords? - <AUTHOR> http://www.troyhunt.com/2011/08/im-sorry-but-were-you-actually-trying.html

<comment><USER2> I agree with him - it's impossible to remember a unique high-entropy password for every account. I disagree that password managers are the solution. They are a huge single point of failure both for getting locked out of accounts and for security breaches.

I think passwords are fundamentally broken as a security mechanism, once you take human psychology into consideration. We've spent decades trying to teach people to pick better passwords. That didn't work; people still pick stuff that gets cracked in minutes. And now, as Randall Munroe said, it turns out that the "better" passwords we taught people to use are actually very bad. Great, let's spend the next 3 decades teaching people to use long passphrases, and watch that fail too. Then we can start teaching them to stop sharing and reusing passwords (good luck).

A security token (<http://en.wikipedia.org/wiki/Security_token>) is a fundamentally better solution to authentication. It's not perfect and it's not a panacea, as the RSA security leak/breach shows. But it's better than a completely broken paradigm. Once these tokens acquire enough compute power to perform challenge-response calculations internally, they will be very safe even at untrusted terminals. They've already become ubiquitous in places that really care about authentication on a large scale (like the military), and they should become ubiquitous everywhere. You can have several of them (one for banking sites, one for social...), to avoid single points of failure. They are reliable, and you know when you've lost one. A leaked password manager password, on the other hand, could have the attacker using your logins for months.

A technical solution is preferable to a solution which involves changing human behavior on a massive scale; that is just not going to happen.

<comment><USER3> So now we're carrying around 130 security tokens? Unless you're talking about this in conjunction with a password manager, all the OP's arguments apply to this too.

<comment><USER2> The token would either have to work with a single-sign-on authority that would authenticate you to other parties (like OpenID, but hopefully easier to use), or it would contain multiple "authentication slots" for the parties that issue credentials. Both things already exist today, although I don't think they are very widely deployed. But certainly companies that deploy something like the RSA tokens have a company-wide single sign in working with them, and there is no reason for that to stay within one company. Both solutions are technically very different from a password manager.

</comment></comment></comment><comment><USER4> related: wondering if anyone can offer feedback on an idea I've just implemented:

We're in the process of building a new app and I was giving serious thought to the whole password thing, account creation and lowering barriers to entry. What we've come up with is a means of enabling users to go pretty much password free if they so desire.

What we've done is taken the usual email verification/password reset link (something like /keys/65a8c7bc16e759f28d37950664a397d231c552f9) and instead of directing the user to an account setup or password reset page, we use this to authenticate the user and log them into the app. Currently the links expire but I'm toying with extending the length out to a month or more. Users are free to create and use passwords if they prefer.

Internally keys are treated like passwords (we use bcrypt) with the exception that a user can have multiple valid keys and keys expire.

Weaknesses I can see are - someone who has access to email (physical machine) can log in, will it be a pain to launch an app from an email link (for me, yes, but I've seen users do some very rube goldburgesque things to get to websites). Aside from the physical/email access I think it's probably more secure that the usual users' choice of password

<comment><AUTHOR> Security by obscurity and a perfect example of failure to restrict URL access: [http://www.troyhunt.com/2011/08/owasp-top-10-for-net- develop...](http://www.troyhunt.com/2011/08/owasp-top-10-for-net-developers- part-8.html)

These URLs are exposed in all sorts of places; browser history, proxy servers, web server logs and ISP gateways to name just a few. Never put secrets in URLs and expect it to remain secret.

Here's an objective suggestion - put the proposal over on stackoverflow.com and see what response you get.

<comment><USER4> First, it's ssl only. Second, the alternative (which I'm trying to avoid and where this idea came from) is a user being prompted for a password and responding something like "er, um... Password123" or just using the same password they use for everything else

The idea was that this may give users a bit more time to think about passwords, and possibly be more secure than the usual passwords. Stating the idea here is giving me some good things to consider

<comment><USER5> Why not use OAuth or something similar so you deal with auth tokens, rather than passwords?

<comment><USER4> Because I'm dealing with exactly the type of users who think 1234 is a great password.

</comment></comment></comment></comment></comment><comment><USER6> I've been looking at this for a while and there really isn't a good solution, in my opinion. So, inspired by a Bruce Schneier post about writing down passwords, my solution is to keep site passwords in a bcrypt encrypted text file, which I print from time to time.

(I chose bcrypt because it works in the command line, which I favor, and it runs in Linux, BSD, or Windows. I would have chosen scrypt but there isn't a Windows binary for it yet.)

<comment><USER7> You are poorly duplicating a password manager, which is an encrypted DB of passwords plus some UX goodness (autotype, file storage, notes, URLs, folders etc)

<comment><USER8> Simplicity is good. He knows how his system works, and can extract passwords even if the password manager company goes out of business and the program would no longer work with OS/hardware update. Using a very simple (~1000 lines of code) open source cross-platform tool and plain text is future-proof.

</comment></comment></comment><comment><USER9> TL;DR Get a password manager

The first part is interesting, if you had been less verbose an ALL the different accounts you had it would have been a more interesting read.

There are still undeniable issues of using a password manager if you lose the data (or your master password is compromised but lets not get into that).

<comment><USER10> The problem with password managers (or any scheme that creates unique, non- memorable passwords) is that should you need to access a particular service when you don't have your manager available, you're SOL. Being able to pull things out of dropbox and whatever on your phone are nice, but it's another thing to have to rely on.

I've thought a bit about this in the past, mostly relating to setting remote shhd to disable passwords entirely, and only accept PKI logins - what if you need to get in, and don't have your key?

The google 2-factor with optional 'emergency 1-time use codes' that you can print and carry in your wallet is a nice solution to half of the problem (the other half being, if you're not using a computer you control, how do you securely access your password manager?)

I don't really have a solution, other than "remember to take your phone with you", and possibly "ensure that at least your primary email is accessible via 1-time codes or a memorable (and strong) password."

<comment><USER11> I agree this is an issue, and one I've come across a couple of times. I use 1Password for OS X and iOS. I have the database synced with my Dropbox and backed up locally too. I have two strong passwords that I remember. One is to open up 1Password, and the other is for my personal email address. Now's the time people start yelling at me telling me I should use 1Password for my personal email login too, but that proved, many times, extremely inconvenient.

I use the Chrome and Safari 1Password extensions for 1-click logins, and it's a setup I'm extremely happy with. On the few occasions I've needed to access an account without access to my 1Password, I've reset my password via my personal email address and changed the password when I next have access to 1Password. I'm not going to pretend password managers solve all problems, but they certainly help.

</comment></comment></comment><comment><USER12> This guy's problem seems to be mostly that he can't help himself smearing his sensitive PI all over the Internet, everywhere he goes.

And he's right, if that's your handicap, a password manager is probably the right crutch.

Not saying a password manager isn't a very useful, convenient and most definitely secure tool otherwise, but _wow_. Doesn't he realize you don't need to give every website every little tidbit of information they ask you? Or that if they do require it, you're allowed to lie your tits off? And that you really don't need to re-use the same account over and over again if you buy at the same place?

And finally, that if some business does require all this information about you, as well as requires it to be true and unique, you probably shouldn't just suck it and bend over, unless, possibly it's your bank and you really don't have choice?

This is just bad personal information hygiene, yuck.

<comment><AUTHOR> Unfortunately having your PI spread over the internet is now an inevitability, if not through your banking then through your shopping or through your social interactions. We all have our PI smeared out over the web to varying degrees, just look at how many sources of information can be used to start profiling someone with a unique username they reuse: [http://www.google.com.au/search?sourceid=chrome&ie=UTF-8...](http://www.google.com.au/search?sourceid=chrome&ie=UTF-8&q=tripzilch)

So we protect our online interests as best we can because we have accounts on Hacker News / Twitter / Stack Overflow / You Tube etc. and even if not exposing PI via the registration process, we expose it via our activities and we want to retain control over that important aspect of our lives. But really, how much information you divulge about yourself is a parallel discussion; I want to protect ANY accounts I create onlne, regardless of how little information I provide.

</comment></comment><comment><USER13> The main issue I have with password managers aside of being inconvenient and missing when you most need them: They are a bad single point of failure.

Using a local password manager, the file could get corrupted or it's not there when I need in in an emergency. Using a remote one, like LastPass, I risk my passwords getting compromised all at once (though maybe not in LastPass' case due to how their architecture works) or, again, not having access to them when I need them.

I have too many machines I'm using for various kind of work where I need different types of passwords. Too many to sync over my passwords and some not even my own, so I don't even _want_ to sync anything there.

Now I have 4 strong passwords I use. One for banking/financial stuff only, one for work, one for "valuable" private accounts bound to my identity (this account here for example) and one for crappy sites I have to give a password to and I don't care if they lose it.

This way I'm not dependent on that password manager being available at a bad time.

The thought of not being able to log into some server people need me fix just because there's no 3g access in the data center or because an update to the password app on the phone didn't re-import the old data correctly is absolutely daunting to me.

Especially because these kind of failures feel more likely to me than one of my more secure passwords leaking out.

<comment><USER7> You are afraid that you won't have access to a strong password in case of emergency and therefore you choose to use a weak password? That doesn't make sense to me.

Wouldn't a better solution be to use a password manager and always have a current and working copy on you when you go out? I'm pretty sure it's doable and can be automated. Keepass + Dropbox being one possibility but you can make it more robust if you feel the need to.

Reuse of passwords is a much worse alternative than not being able to fix someone's server on the spot.

</comment></comment><comment><USER14> What's wrong with good old pen and paper?

</comment><comment><USER15> When has an online service been compromised by brute forcing a password? Are there any records of this ever taking place?

I don't mean when someone guesses that the password is "123456" or "passw0rd", or when the password was revealed to a crook by mistake.

I mean situations where say, "gr8shoes" was not secure enough but "h43&22981gTddB%&$!" would have been.

<comment><USER16> I've seen bots try thousands of passwords for a single account on services that I've had access to the logs for. I can't name any instance when a password has been found by brute force rather than human engineering (or by bypassing authentication completely due to exploiting a software bug), and I've not seen it often, but there is code out there actively trying.

Tools like fail2ban help a little here, but can't do much against a large botnet. Adding artificial delays into the authentication process can slow down a brute-force attempt without inconveniencing real users at all, but that botnet has a lot of time on its hands. It might not happen often, but attempts are made often enough (i.e. more than never) for keeping strong passwords to be worthwhile.

<comment><USER15> Thanks, that is interesting and kind of matches my reasoning.

I have a feeling the debate is a bit colored by leftover paranoia from the times when several users shared one computer and the password database was easy to get hold of.

Unless the attacker somehow manages to grab your password database (and not your content, which would be an interesting setup in itself) he won't be able to brute force you. He will only be able to lucky-guess you. And you don't need 24 random characters to block a lucky guess scheme. :)

<comment><USER17> This was my thought as well, I've never heard of a brute force attempt working in the real world.

</comment></comment></comment></comment><comment><USER18> My strategy for passwords (that's been working well so far) has been to have an easily mentally appliable password function that I use to generate/remember passwords and change that every year.

For example, if it's my google account, the sites name is 'google'. I take the first two characters 'g' and 'o' and think of the first animals that come to mind, (for me it's giraffe and ostrich) then replace all obviously changeable vowels with numbers (so they become g1r4ff3 and 0str1ch). I then concatenate them with a % symbol, prefix with a _ and suffix with a #, giving me a password of:

_g1r4ff3%0str1ch#

Which I think is a fairly strong password. It also means I have a unique password for every site I jave an account with. Of course if you figure out my function then you know all my passwords, which is the reason I change it every year or so.

<comment><USER7> No, it's not a strong password just because it looks like it (which is the point of the latest articles). You choose from a small group of words (animals) and do a naive character substitution that specialized programs can (and do) anticipate.

<comment><USER19> I'm having difficulties believing that specialized programs can include all these strategies.

</comment></comment></comment><comment><USER20> 1Password on the Mac is great. I actually also have the iPhone application, and I can't imagine what I'd do without it now. Well, especially since now all of my passwords are random for the most part. I'd definitely recommend it.

The only downside is that they don't have a version for Linux. Oh well.

<comment><USER21> 1PasswordAnywhere + DropBox: <http://help.agile.ws/1Password3/1passwordanywhere.html>

<comment><USER20> Unfortunately, DropBox doesn't work in China. I have resulted to using a USB thumbdrive, but that's not as elegant. Can't use VPN at work, either, which sucks.

</comment></comment></comment><comment><USER22> <http://www.joelonsoftware.com/items/2008/09/11b.html>

Dropbox + Keepass portable works well for me. I use the password plus a key file which is never in dropbox also, just in case dropbox gets compromised.

[http://www.schneier.com/blog/archives/2005/06/write_down_you...](http://www.schneier.com/blog/archives/2005/06/write_down_your.html)

> Microsoft's Jesper Johansson urged people to write down their passwords.

> This is good advice, and I've been saying it for years.

Keepass has an android version also. I have my passwords everywhere I go.

</comment><comment><USER23> This is far and away _not_ the best solution, but it works for me, and I can use it with only mild annoyance from a computer where I haven't "installed" it, by using an online sha256 generator. On a mac, replace "sha256sum" with "shasum -a 256".

I hope this is useful for somebody: <https://gist.github.com/1013465>

I also suggest that if you have multiple accounts on a single site, you run "mypass firstname.lastname@example.com" instead of just domain. It works fine either way, just be sure you are consistent across all sites, lest you forget your scheme.

</comment><comment><USER24> My biggest problem with passwords? That so many sites aren't up front with what's allowed in their passwords. Sites should tell you how long your password can be, and what characters you can use in it.

I just know that since I started using a password manager, I don't even know most my passwords, they're about twenty characters long, a jumble of characters (letters, numbers, and symbols,) and I'm happy with that.

I don't even think Google's password length is known, is it? I get that this means others don't know how long it could be either, but, that doesn't seem vitally worthwhile. Maybe I'm wrong.

<comment><USER25> > That so many sites aren't up front with what's allowed in their passwords.

This makes complete sense... they feel that obscurity will aid in defending attacks (esp. if they have some ridiculously small password-space like 6 digits).

Considering it's a small inconvenience when you first create your user password, then from a cost/ben point of view, I can see why they wouldn't advertise this info.

</comment></comment><comment><USER26> Password grids are a good low-tech alternative to password managers. Here is a good explanation:

<http://www.vvsss.com/grid/>

And here is a javascript (client-only) program that I wrote that can generate printable grids:

<http://purevirtual.com/~anthony/password-grids.html>

</comment><comment><USER27> The problem with password managers is they you need to have it with you. With a phone app that becomes more likely, but smartphones run out of battery all the time. What about when I'm visiting someone, the phone is out of battery and I want to check my email on their computer? Or when I'm on a trip, the phone is dead again because I haven't found a socket for a while, and I want to book a ticket somewhere?

<comment><USER7> Use Dropbox, sync the DB to a flash drive aka use a more robust solution than a smartphone, or get used to it that encrypted passwords may mean there will be situations where you wont have access to them.

</comment></comment><comment><USER28> So does this guy have different Facebook and Twitter passwords? HN and Reddit passwords? Why?

</comment><comment><USER29> The takeaway from this article is actually, to me, quite amusing: Have fewer accounts. From online banking (he does online banking! laughing-girls.jpg) to shopping to _eighteen_ social media accounts -- this is too much!

Admittedly, I don't do Netflix, or iTunes; I use passwords like "I bet shittyforums.example.com uses plaintext" for shitty one-off forums; when I don't care about a site, but want to see its content, I participate in BugMeNot. I actively work to reduce the number of things I'm signed up for.

<comment><USER30> That's like saying "I can't carry that much food, the solution is to buy less food."

<comment><USER29> The alternatives are a local password manager (a refrigerator) or a remote password manager (a guy with a truck who will cart your food around for you.) You can't take the former with you, and you can't trust the latter.

</comment></comment></comment><comment><USER31> Follow Randall's advice, but take the first letter of each word in your sentence. You don't even have to come up with a particularly random phrase, take a song lyric. Doesn't match any common password pattern (i.e. 'someRealWord[digits]'), and it's still very easy to remember.

<comment><USER32> Your method is vastly different from Randall's method, each word there gets 11 bits of entropy because it's randomly chosen.

In properly formed English sentences, each character only has about 1 to 1.5 bits of entropy, and I'm not certain that taking the first letters of words in a sentence would have much higher per-character entropy than that, as the first letters of words are not very randomly distributed.</comment></comment>


Show HN: Snapzu.com - New voting and sharing platform. - <AUTHOR> http://www.snapzu.com

<comment><USER2> It feels like Reddit but with an emphasis to users and a better interface (with elements of Pinterest, Rockmelt, Scoopit).

Nice interface and it's feature rich for a launch. However I felt a bit overwhelmed with the amount of features that I couldn't actually see the deep core benefit. For example, collecting snaps to snapzines. Or upvoting links. Or browsing serious articles vs gifs. Or the gamification. Or the tribes...

</comment><comment><USER3> Maybe a landing page might have worked better? Or even a quick explanation at the top of the page? It reminded me of those video link sites that link to other video link sites.

I really like the look and feel of the profile pages; especially "the influential in" part. I may have to play around a bit more.</comment>


This is what happens when inflation rises 13M% - <AUTHOR> https://twitter.com/TheKageniMind/status/777581516767494144 <comment><AUTHOR> Your currency devalues beyond recognition and printing ever-higher currency denominations becomes the only way to prevent people from having to carry duffel-bags of paper-money every time they need to buy a carton of milk. Ultimately bank notes are no-longer 'Legal Tender' but 'Bearer Cheques' that 'promise to pay the bearer on demand' (although we all know that will never really happen).

<comment><USER2> As a counter-example to your thesis, I point to the Rentenmark, introduced to stop the hyperinflation during the Weimar Republic. Quoting [https://en.wikipedia.org/wiki/German_Rentenmark](https://en.wikipedia.org/wiki/German_Rentenmark) :

> Although the Rentenmark was not initially legal tender, it was accepted by > the population and its value was relatively stable. The Act prohibited the > recently privatised Reichsbank from continuing to discount bills and the > inflation of the Papiermark immediately stopped.

> Thus the monetary policy spearheaded by Schacht at the Reichsbank and the > fiscal policy of Finance Minister Hans Luther brought the period of > hyperinflation in Germany to an end. The Reichsmark became the new legal > tender on 30 August 1924, equal in value to the Rentenmark. This marked a > return to a gold-backed currency in connection with the implementation of > the Dawes plan.

That sounds like the bearers were paid for taking something which wasn't legal tender.</comment></comment>


Interesting discussion on why the quality of discourse on Reddit has dropped. - <AUTHOR> http://www.reddit.com/r/reddit.com/comments/kxjve/its_shit_like_this_redditors/c2o1z51 <comment><USER2> I usually find that (<http://meatballwiki.org/wiki/>) has already talked about anything to do with online communities, and has probably covered it better.

</comment><comment><USER3> I found That editing my Reddit subscriptions to remove the front page and anything to do with politics or religion makes it much more tolerable.

</comment><comment><USER4> HN has karma too, that pushes people to write in a certain way, more positive tho get karma points too.. But I think the result is still better than reddit.

</comment><comment><USER5> Whenever there is an influx of redditors to HN the quality on both sites drops.</comment>


The Amargosa River defies the desert - <AUTHOR> https://www.nytimes.com/2017/12/18/science/amargosa-death-valley-mojave-pupfish.html <comment><USER2> When I was a small child in the 80s, I visited one of those Death Valley ponds which is the entire habitat for a pupfish species. They were actually pretty amazing. A small piece of foil had fallen into the pond, and they were grabbing it in their mouths, racing from one side of the pond to the other, clearly engaged in some type of play or competition with each other. Kind of mind-blowing to think that this was the whole world for that species. Felt like a sacred place.

Sounds like they've had a tough time since then. I hope they make it.

</comment><comment><USER3> This is not too far from where I live in the US -- I had no idea it existed.

I guess I know where I'm taking the kiddos when they next want to go hiking.

<comment><USER4> Just be sure not to go in the summer, and to read all the tips for hiking in Death Valley and surrounding areas. It gets _really_ hot (but it's amazing!)

<comment><USER5> Really hot doesn't begin to say it. 45c (113f) temperatures are regular occurrence. I think it hit 54c (130f) on the hottest day this past summer. These kinds of temperatures can dehydrate you in a hour or two if you're sweating.

<comment><USER6> Not to mention killing your car. DV is amazing for many reasons, but one that people ignore to their peril is that there is a TON of elevation gain as you drive through the park. If you enter from the amargosa side, you won't see it much, but if you enter from the west (through Panamint valley) you will drop from ~4000' to 1000', then gain it all back over a 10 mile stretch, and then go back down to -280 feet when you reach the badwater. These passes on hot days can overtax radiators and cause breakdowns. They can also overheat brakes, etc.

Having visited several times myself, I encourage October-November as the best timeframe to visit.

<comment><USER7> Aren't there signs suggesting that you _don 't_ use aircon?

<comment><USER6> Yeah - since that can overload/overheat small engines.

</comment></comment></comment></comment></comment></comment><comment><USER8> Obligatory (what-if) XKCD: [https://what-if.xkcd.com/152/](https://what- if.xkcd.com/152/)</comment>


Tell HN: iOS 10 will use lots of dark backgrounds, be ready for the design shift - <AUTHOR> I learned from my friend that works in Apple, iOS will use lots of dark background in the next major version. Main reason is Apple is going to use OLED displays in the next iPhone and black background can save some energy usage.<p>If you're an app developer for iOS you might find this interesting so I thought I should share it. <comment><USER2> My wish list:

\- Drag & drop iOS API. Ideal for iPad multitasking.

\- Home screen redesign especially for iPad

\- Multi user sign-in for iPad

\- iOS Wallpaper API

\- Ability to remove/hide build-in Apple apps

\- H265 HEVC support

\- Merge iMessage and FaceTime

\- Unified AppKit/UIKit to make it easy to port iOS app to OS X

\- Server side scripting for CloudKit

\- More ways to trigger notification via CloudKit

\- Revamp Mac App Store. New scheme (trial? upgrade?) to allow indie developers to survive. San-sandbox app on the Mac App Store.

\- Support subscription based in-app purchase without requiring developer to host own server. Make subscription based IAP allowable for all apps.

\- Audio passthrough feature for tvOS/AppleTV, let AV amp do the work

\- Apple design game controller for AppleTV

\- HomeKit hub in tvOS/AppleTV

</comment><comment><USER3> Great news for night owls.

Please tell your friend it needs to be possible for users or developers to change the screens color temperature so people don't have to jailbreak just to get Flux.

<comment><AUTHOR> He's in supply chain and doesn't know much about software. The dark backgrounds thing came in a meeting as an argument on why they should switch from LCD to LED.</comment></comment>


How many social media users are real people? - <AUTHOR> https://gizmodo.com/how-many-social-media-users-are-real-people-1826447042 <comment><USER2> It's important to understand that "bots" is a large variety of automation levels, just as "self-driving car" has 5 levels spanning from "cruise control" to "full automation with no ability for manual intervention".

Browser extensions, custom Python/JavaScript clients, and even just paid outsourcing of likes/comments/retweets/captchas can all be considered "bots".

</comment><comment><USER3> Not only is it hard to tell how many users are bots, but how many users supplement their account activity with bots or third party integrations. A lot of users who have business accounts will do this. For example, realtors will post updates under their own name, but will also have services that will schedule and post content for them automatically for new home listings. This will only get harder to determine as time goes on because marketers nowadays are focusing on "humanizing" their customer interactions as much as possible</comment>


Hedge-fund billionaire Ray Dalio says capitalism is failing America - <AUTHOR> https://www.businessinsider.com/ray-dalio-on-how-to-save-failing-capitalism-2019-4 <comment><USER2> I have respect for successful managers like Dalio and Soros because you can't reach their level of success while deluding yourself about how the world economy works. And anyone who has invested/speculated with a lot of their own money knows how emotionally hard it is to make the right decisions day in and day out. For that reason, when Dalio talks about the economy, it's worth considering what he's saying. Moreso than politicians or economists.

<comment><USER3> Another way to look at it... With thousands of people playing the game, some are bound to be the luckiest. It doesn't necessarily mean they have more insight.

<comment><USER4> If you are in the industry you will realize that it is extremely difficult to be consistently right. His success is not attributable to pure luck only.

<comment><USER5> If you have enough people guessing coin flips, one of them will be consistently right... and then claim credit for how difficult it was. Just look at all the people who failed!

Taleb is big on this idea applying widely in the finance sphere.

<comment><USER6> For what it's worth, Taleb called Ray Dalio a "legendary investor" in his book antifragile.

</comment></comment></comment></comment></comment><comment><USER7> The corporate tax cuts in the US led to a temporary stock market boom, while changing absolutely nothing in terms of underlying economic fundamentals. Those who benefited were those who already have money in a portfolio, which eliminates the majority of Americans.

Companies like Bridgewater gain when policy changes like this happen. Regular people lose because tax cuts are paid for by cutting public services, and pushing part of the cost on to the next generation.

What's Mr. Dalio doing to remedy that imbalance, aside from writing a self- serving Buffet-style "I should be taxed more" essay?

<comment><USER8> At least he's saying something. You can be cynical and argue he's just trying to get out ahead before the poor decide to eat the rich. But either way, the US needs more people with a platform to be saying this kind of stuff, whatever their motives are.

EDIT: I would also like to point out that he's calling for a national state of emergency to be declared and for the government to step in and try and do something about the worsening inequality problem. A person with massive personal wealth who is able to enact things with their own resources calling for the problem to be tackled in the public sphere is a good thing too, I think.

<comment><USER7> When you're Ray Dalio, the standard for "doing something" is much higher than writing a pithy blog post. We have seen many examples of rich people penning mea culpas after profiting off of the same economic system they now claim as being rigged against the commoners. Buffet does it at least once every couple of years.

Because he's rich and influential, Dalio will get a few column inches, but after that, the levers of power, pulled by the rich and influential, go about their daily business.

<comment><USER9> He said he would donate $100 million to Connecticut schools. That might be only 0.5% of his supposed net worth , but at least it something.

</comment></comment></comment></comment><comment><USER10> People who have already made their money love to call for this sort of thing. They're rich enough to be insulated from it; it hits those who might actually try to get rich in the future.

<comment><USER11> What do you mean people who have already made their money love to call for this thing? The author is a billionaire who is is proposing for the wealthy to be taxed more, how is he insulated by paying more taxes? Those who want to get rich in the future might be helped by measures to create more income equality thus creating more social mobility. Equality doesn't mean everybody makes a same amount of money, but more like the ability for everyone to make more. When the mega rich own everything this is not possible.

Or perhaps, you dream of being mega rich yourself and want things to stay the way they are now so you can make it?

<comment><USER12> There's an important nuance between income and wealth here. Income tax takes money from the people who are still going to work to build their fortunes (and those who are just getting by). The ones who have already made a fortune are only worried about the capital gains rate.

Billionaires who advocate for higher income tax, but not a higher capital gains rate, are just pulling up the ladder behind them. The article isn't explicit with what Dalio is advocating for here.

<comment><USER13> You're adding an incredibly relevant layer of nuance. Dallio's plan is vague so his true intentions are illegible. People ascribing positive AND negative sentiments to him need to actually understand the policy changes he's proposing (I.e. higher income rate vs capital gains rate) before passing judgement — and since he specifically has left it vague, I don't see how anyone can judge his plan either positively or negatively: _he has not even presented a specific plan!_

</comment></comment></comment></comment><comment><USER14> His fund's political donations don't align with what he's proposing[0]. His firm's largest 2018 donations were to Tom Cotton(R-AR) of AR and Tim Kane(R-OH), neither of whom would dare support these ideas.

He can stand up and talk like a leader, but until he's willing to financially back candidates who are genuinely interested in solving these problems (which likely means backing a candidate against his own financial interests), this is all hot air.

[0]: [https://www.opensecrets.org/orgs/toprecips.php?id=D000032123...](https://www.opensecrets.org/orgs/toprecips.php?id=D000032123&cycle=A)

<comment><USER15> To be clear, what you are saying is incredibly disingenuous. The link you give shows that individuals and PACs associated with Bridgewater Associates gave $5,400 to Tom Cotton. That's not in millions or thousands. That's literally $5,400. Tom Cotton raised $17,454,785 in that election cycle.

And keep in mind that isn't even his firm giving the money. Also, giving more than $2,700 to a candidate is illegal anyway, so "financially backing a candidate" is kind of a nonsense standard to hold a person to.

Money in politics is a problem, to be sure, but one that is commonly overstated in this sort of light, and what you are saying here is that he should be giving more money, which is kind of the opposite of what we should be thinking of things.

<comment><USER16> Plus people rarely back a candidate for single issues.

It's entirely possible that Ray Dalio has some views on the tax code reform that may not align with mainstream republicans, but that doesn't mean the other 90% of policies the _other politician_ supports align with his views. Or even that the other camp has the same tax reform policies in mind as he does.

I've seen many people who want to reform the tax code, which would involve a greater relative share of taxes for the top end, who wouldn't identify as democrats.

<comment><USER17> >Plus people rarely back a candidate for single issues.

Tell that to all the black gun owners who vote R because they don't want wake up one day and find out they're felons or all the fiscal conservatives who vote D because they believe healthcare and the climate are bigger short term issues.

I generally agree with you that people back whoever pushes policy they like most but people also have deal-breakers that will cause them to back the other guy even if they don't like his platform.

<comment><USER18> You do realize that black people don't have to be democrats yet?

<comment><USER19> I think the point was that any cohort with a strong voting record for one party will still have members that vote for another party based on a single issue.

It's not unreasonable to think that someone might agree with the bulk of a party's platform, but disagree on a single issue that's most important to them and can't bring themselves to vote for anyone in that party because of it.

I can imagine guns, abortion, the military, taxes, etc. might fit that bill as someone's single most important issue.

</comment></comment></comment></comment></comment></comment><comment><USER20> Recommend skipping the article with the clickbait title and instead read the Dalio essay on which the article is based: [https://www.linkedin.com/pulse/why-how-capitalism-needs- refo...](https://www.linkedin.com/pulse/why-how-capitalism-needs-reformed-ray- dalio)

</comment><comment><USER11> here's the outline for Dalio article: [https://outline.com/GHeFsV](https://outline.com/GHeFsV)

</comment><comment><USER21> I like to think of capitalism we have today like a football game where you can deflate the ball, punch the opponent, have 20 men on the field, etc. with a ref that turns a blind eye.

It's odd that we as a society get so riled up over the smallest allegation of cheating in a sports game or get upset when a ref does not see the smallest thing that should be flagged, thus potentially changing the outcome of the game, but we live in a society where cheating, gaming, deflating, etc. happens all day every day and we don't bat an eye.

<comment><USER22> This is structural. I'm reminded of what Matt Levine often says about insider trading rules: they are not about fairness, they are about theft. Apparently our legal system is better at protecting property than at fairness (which isn't even well defined).

<comment><USER23> There's a great book on pretty much this topic in political philosophy, called _Justice as Fairness_ by John Rawls. [0]

In the vein of this conversation, he does not argue against inequality, and breaks out of the capitalism/communist spectrum. Instead he proposed the strictures under which inequality should be allowed to persist in what he calls the Difference Principle:

 _Social and economic inequalities should be arranged so that they are both (a) to the greatest benefit of the least advantaged persons, and (b) attached to offices and positions open to all under conditions of equality of opportunity._

[0] [https://en.wikipedia.org/wiki/Justice_as_Fairness:_A_Restate...](https://en.wikipedia.org/wiki/Justice_as_Fairness:_A_Restatement)

</comment></comment></comment><comment><USER24> More like, it is the US flavor of corporate controlled warmongering crony capitalism that is failing.

[https://www.cambridge.org/core/journals/perspectives-on- poli...](https://www.cambridge.org/core/journals/perspectives-on- politics/article/testing-theories-of-american-politics-elites-interest-groups- and-average-citizens/62327F513959D0A304D4893B382B992B)

</comment><comment><USER25> Dalio seems to be aiming for the political center. Howard Schultz is doing the same thing. I wonder if Dalio is hoping for some sort of poltical appointment.

</comment><comment><USER26> Dalio is now out with Part 2 ("My Diagnosis of Why Capitalism Is Now Not Working Well for the Majority of People", "What I Think Should Be Done", "Looking Ahead")

Here is the new LinkedIn post -- [https://www.linkedin.com/pulse/why-how- capitalism-needs-refo...](https://www.linkedin.com/pulse/why-how-capitalism- needs-reformed-parts-1-2-ray-dalio/)

And here is a link to PDF -- [https://www.economicprinciples.org/downloads/Why-and-How- Cap...](https://www.economicprinciples.org/downloads/Why-and-How-Capitalism- Needs-To-Be-Reformed.pdf)

</comment><comment><USER27> _Crony_ Capitalism is failing _America_. _Capitalism_ is succeeding the _Globe_.

It is responsible for the most prosperity, the lifting up of poverty, and improvement in living conditions and life expectancy in the history of literal history.

I hate how capitalism has become a political boogeyman now. Fortunately, it has actually served to unite some of the left-wing and right-wing thinkers and forge some unlikely alliances.

Probably completely off-topic, but having listened to many of his interviews, it's also one of the main reasons why Howard Schultz chose to run as an independent instead of a democrat.

<comment><USER28> Crony capitalism is capitalism. And capitalism hits poor countries harder then the U.S. doesn't it? I'd say people working in sweatshops have it worse then most poor Americans.

<comment><USER29> What a terrible comparison. Why don't you compare how those people were doing before and after enterprise entered their countries? Their standards of living are drastically better with sweatshop work than without it, and continues to increase.

<comment><USER28> Their standards of living are better due to improvements in technology, not capitalism. Unless you think that the technological improvements we have today are only due to capitalism, but I'm not so sure that's the case.

</comment></comment></comment></comment><comment><USER30> Regardless of your political opinion on Andrew Yang and his proposed policies, I think it is worth hearing him out on his (and many other's) perspective on modern capitalism.

The way our society define and value ourselves primarily on a couple of economic metrics seems misguided. These metrics are not representative of people's well being in our modern, more technological advanced society.

I think our definition of capitalism needs to evolve (like Andrew Yang says).

</comment><comment><USER31> "The problem is that capitalists typically don't know how to divide the pie well and socialists typically don't know how to grow it well," Dalio wrote. He wants to avoid both the status quo and socialism, and he's hoping that the elections in both the US and Europe that happen over the next few years result in a reformed capitalism."

.

I really don't see how this could happen, but even if there's some kind of accommodation, it's simply a band-aid to the underlying problem.

Which is that the 'means of production' needs to be OWNED by the people producing. Not a corporate owner (or even an 'entrepreneur'), and not 'the state', but the collective that actually does the work, commensurate with their overall contribution.

There's also a huge issue around land ownership, and the rents that derive from it. Currently, simply owning land in a fast-developing city gives you a share in the bounty that others are creating, and also taxes those generating it.

Land itself is a common inheritance. Should air or water also be subject to such 'ownership'?

<comment><USER32> >Which is that the 'means of production' needs to be OWNED by the people producing. Not a corporate owner (or even an 'entrepreneur'), and not 'the state', but the collective that actually does the work, commensurate with their overall contribution.

You sound similar to an anarcho-syndicalist, which is a position I've never understood well. Let me ask a question in the form of example.

Bob, Ted, and Jim want to start a pin factory. All three want to work for it. So they pool their capital, contributing $250k, 300k, and 350k respectively, receiving proportional equity, invest in equipment, and all three go to work making pins after 2 months. They hire other workers. The contract for all workers gives a vesting schedule that gives them equity over time as well.

The fact that CAPEX has to be provided by employees is not a good feature of this. Should shareholders that have never held a job with the firm not be allowed to invest in it? That is exceedingly restrictive.

<comment><USER28> Outside investors can be allowed I would think, but not given shares. For example, a credit union could give a loan and collect their interest. The credit union wouldn't get any equity.

<comment><USER33> That sounds like a pretty good deal—for the credit union. They get paid their fixed share no matter how poorly the firm performs (short of bankruptcy). The firm and its employees are taking almost all of the risk.

Selling equity would allow the firm to raise capital while splitting the risk with the investor(s). It makes the investor a partner in the firm's success or failure.</comment></comment></comment></comment>


A Son's Race to Give His Dying Father Artificial Immortality (2017) - <AUTHOR> https://www.wired.com/story/a-sons-race-to-give-his-dying-father-artificial-immortality/ <comment><USER2> This topic reminds me of an Ebert review of Solaris (2002):

 _The genius of Lem 's underlying idea is that the duplicates, or replicants, or whatever we choose to call them, are self-conscious and seem to carry on with free will from the moment they are evoked by the planet. Rheya, for example, says, "I'm not the person I remember. I don't remember experiencing these things." And later, "I'm suicidal because that's how you remember me." In other words, Kelvin gets back not his dead wife, but a being who incorporates all he knows about his dead wife, and nothing else, and starts over from there. She has no secrets because he did not know her secrets. If she is suicidal, it is because he thought she was._

 _The deep irony here is that all of our relationships in the real world are exactly like that, even without the benefit of Solaris. We do not know the actual other person. What we know is the sum of everything we think we know about them. Even empathy is perhaps of no use; we think it helps us understand how other people feel, but maybe it only tells us how we would feel, if we were them._

[https://www.rogerebert.com/reviews/solaris-2002](https://www.rogerebert.com/reviews/solaris-2002)

I think it is a deep mistake to correlate one's exterior appearance and behavior with a sense of selfhood. At best, it's a shallow surface imitation of the actual person. At worst, it creates a nightmarish, Uncanny Valley-esque simulacrum, not unlike Harlow's wire monkey mother surrogates. It would be better to learn how to accept and deal with loss - a reality that everyone inevitably faces.

<comment><USER3>
        "And yet, if only from my dreams when I was asleep, I might have
        learned that my grief for my grandmother's death was diminishing, for
        she appeared in them less crushed by the idea that I had formed of her
        non-existence. I saw her an invalid still, but on the road to
        recovery, I found her in better health. And if she made any allusion
        to what she had suffered, I stopped her mouth with my kisses and
        assured her that she was now permanently cured. I should have liked to
        call the sceptics to witness that death is indeed a malady from which
        one recovers. Only, I no longer found in my grandmother the rich
        spontaneity of old times. Her words were no more than a feeble, docile
        response, almost a mere echo of mine; she was nothing more than the
        reflexion of my own thoughts."
        —Marcel Proust, Cities of the Plain

<comment><USER4> "And yet, if only from my dreams when I was asleep, I might have learned that my grief for my grandmother's death was diminishing, for she appeared in them less crushed by the idea that I had formed of her non-existence. I saw her an invalid still, but on the road to recovery, I found her in better health. And if she made any allusion to what she had suffered, I stopped her mouth with my kisses and assured her that she was now permanently cured. I should have liked to call the sceptics to witness that death is indeed a malady from which one recovers. Only, I no longer found in my grandmother the rich spontaneity of old times. Her words were no more than a feeble, docile response, almost a mere echo of mine; she was nothing more than the reflexion of my own thoughts." —Marcel Proust, Cities of the Plain

</comment></comment></comment><comment><USER5> I'm really, really torn on this. On one hand, this is an amazing way to immortalize memories, experience, whole lifetimes of accumulated knowledge and wisdom. On the other, it feels like a severe form of escapism and refusal to move on.

<comment><USER6> Try watching the movie About Time, from 2013. In short the main character can travel through time to visit his passing father... Until a point. Sound creepy, but actually isn't. A very wholesome movie.

<comment><USER7> Interesting movie but they couldn't make up their minds about what the rules were. Every stated rule was broken when convenient.

</comment></comment></comment><comment><USER8> I zinged straight to (what is for me) the ultimate question in these matters: When will I be able to upload my mind and have it function fully _in machina_?

Alas, still (for practical purposes) never.

 _Why you'll never be able to upload your brain to the cloud_ \- [https://theconversation.com/why-youll-never-be-able-to- uploa...](https://theconversation.com/why-youll-never-be-able-to-upload-your- brain-to-the-cloud-52408)

<comment><USER9> What will it matter? You'll still be dead. Will your machine likeness be anything like you, except in simulation? Or will it simply be an empty Chinese room, giving your loved ones a doll-shell to hold onto, like in a cruel Harry Harlow experiment?

<comment><USER10> That's why I'll never get in the Star Trek transporter. It takes you apart into information, then reconstructs you somewhere else. But it reconstructs a clone of you - you are dead. The clone believes the transporter works perfectly, and the clone was transported.

But the original you is no more.

<comment><USER11> Meh. That's what we do everyday as our body sheds old cells and grows new ones. It's the ship of Theseus already anyway. The me of yesterday is dead. The me of today only believes I am the same.

<comment><USER12> Not an expert on the subject at all but to my knowledge not quite. Yes, this applies for most cells in the body but in the case of neurons and glial cells, they stay for decades, so in a real, practical sense, the you of yesteryear is still the you of today right down to the cellular level where it most matters in the brain.

<comment><USER13> Not only that, there's a difference in repairing a ship over time and swapping out all its parts at once. I'm pretty sure most people would consider the second scenario a new ship.

<comment><USER12> On that distinction i'm not sure I agree, if in both cases all parts of the ship have been replaced, the difference between doing it all at once and gradually is a semantic one, with rejection of the "new" ship as the same thing as the old ship being more of an emotional reaction. In either case, it's somewhat separate from what I mentioned about the cells in the brain and how they do stay the same over decades even if others in the body change just like the parts of the ship. Like I said though, that needs a bit of further confirmation because the science seems a bit ambiguous on the details.

<comment><USER13> I don't think the difference is as trivial as you think. When you replace things slowly there are shared experiences for those parts. They have commonality among them. When you replace something instantly there is no shared experiences or commonality.

<comment><USER12> This is an interesting point that I hadn't quite considered. Not sure how it would apply on the scale of inanimate objects but I could see it being relevant to a macroscopic organic system with consciousness, like our brains and bodies.

<comment><USER13> Well the analogy was directed at macroscopic organic systems with consciousness.

But with Theseus's ship we can see a similarity. If we had a ship, tore it down, then built a new ship without using any parts from the old ship, every sane person would call that a different ship. Frankly, the tearing it down step isn't required (an important factor). Conversely, if we repair a ship over time we do consider it the same ship. Maybe this is just personifying objects, but these conclusions about new ship/same ship would be pretty standard. It is why we distinguish replica and restoration.

<comment><USER11> If it were possible to swap out a ship with an "identical" replica instantaneously (I'm not sure what the benefit would be) I think most people on board would consider it to be the same ship. And, for that matter, it's relatively common for ship owners to name their ships after the prior ship that held the same function, as if it was the same ship, even when it's a totally different make/model!

<comment><USER13> But instead of swap make an identical copy. You now have two ships.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Might be interesting to combine with the latest advancements in voice synthesis[0,1,2]. Actually, surprised they didn't delve into those possibilities.

0: [https://news.ycombinator.com/item?id=14182262](https://news.ycombinator.com/item?id=14182262)

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

2: [https://news.ycombinator.com/item?id=17858246](https://news.ycombinator.com/item?id=17858246)

</comment><comment><USER15> Black Mirror covered something a few steps beyond this in the episode called "San Junipero" [1]

[1] [https://en.m.wikipedia.org/wiki/San_Junipero](https://en.m.wikipedia.org/wiki/San_Junipero)

<comment><USER16> I find the "Be Right Back" episode to be more directly fitting here. [https://en.wikipedia.org/wiki/Be_Right_Back](https://en.wikipedia.org/wiki/Be_Right_Back)

<comment><USER17> It's definitely more applicable. The simulacrum literally starts off as a chat bot.

</comment></comment></comment><comment><USER18> For those interested in stories about stuff like this: Malagash by Joey Comeau.

 _Sunday's father is dying of cancer. They've come home to Malagash, on the north shore of Nova Scotia, so he can die where he grew up. Her mother and her brother are both devastated. But devastated isn't good enough. Devastated doesn't fix anything. Sunday has a plan.

She's started recording everything her father says. His boring stories. His stupid jokes. Everything. She's recording every single "I love you" right alongside every "Could we turn the heat up in here?" It's all important.

Because Sunday is writing a computer virus. A computer virus that will live secretly on the hard drives of millions of people all over the world. A computer virus that will think her father's thoughts and say her father's words. She has thousands of lines of code to write. Cryptography to understand. Exploits to test. She doesn't have time to be sad. Her father is going to live forever._

</comment><comment><USER19> Should I pass my mind/memory by value, or by reference? Which one is more expensive?

<comment><USER20> Probably by value, unless you want to risk that it ends up dangling...

<comment><USER19> Might want to run advanced algorithms in my brain maybe...

</comment></comment></comment><comment><USER21> The difference between his recordings of 91,970 words, the books of those words bound, and the Dadbot are merely format differences.

Sure he added (and subtracted) some stuff programming the bot, but there is no _AI_ here.

</comment><comment><USER22> Ray Kurzweil of "A.I. Singularity" fame has collected his deceased father's writings and possessions for a similar attempt at mechanical reanimation:

[https://abcnews.go.com/Technology/futurist-ray-kurzweil- brin...](https://abcnews.go.com/Technology/futurist-ray-kurzweil-bring-dead- father-back-life/story?id=14267712)

</comment><comment><USER23> Does Pullstring save (or export) all of this metadata into something that can work on a different platform?

I wonder about the chances of all this work being lost.

Edit: Story was from 2017, Apple acquired them in Feb 2019, and Pullstring's site is now gone, though a few pages remain in the Google cache. Sounds like there is some risk.

</comment><comment><USER24> I think death isn't bad when you think about infinity. The universe can repeat the same occurrences needed for what made our life and where the exact same conditions happen again for having the actions & thoughts we already lived. Eternal reoccurrence is the name. Theoretical physics even has it make more sense if the universe continuously expands & retracts repetitively. Thus I would rather just die while in tremendous pain from an illness and where it would appear instant for my conscious to appear again once the forces of the universe repeat the needed conditions.

<comment><USER25> ah yes. assuming the universe does operate in a cyclical manner and that consciousness itself is an actual fundamental feature of the universe (and not just emergent) , it certainly does make sense from a logical perspective that eventually there will be a beginning that matches the configuration of our current universe and evolves over time such that an Earth will exist again and the consciousness we inhabit will be reborn in the same manner it was leading to our ability to experience it this go round :)

</comment></comment><comment><USER26> Somehow, this title gave me goosebump in a way the end of Inception gave me

Great idea for a movie

<comment><USER27> For a comedic version of this concept, check out the fake infomercial "Live Forever as You Are Now" (1)

Great example of the promise of virtual immorality done badly with bad software

(1) [https://youtu.be/xg29TuWo0Yo](https://youtu.be/xg29TuWo0Yo)

<comment><USER25> alan resnick and wham city comedy make some absolutely brilliant content! thank you for sharing this, I forgot all about it.

</comment></comment></comment><comment><USER28> If this catches on then at a certain moment there will be more bots than real people.

<comment><USER29> Hosted in a data center, living lives in San Junipero no less.

<comment><USER30> Solving captchas to keep their rankly old bits flipping..

</comment></comment></comment><comment><USER31> One could take lots of videos of a person, get a large corpus of their phrases, sentences, behaviors, use deepfakes to generate videos, profit

<comment><USER32> I think that's the plot of that Black Mirror episode, Be Right Back.

</comment></comment><comment><USER33> Rudy Rucker discusses a project like this in the Lifebox, the Seashell, and the Soul. Remarkable that someone has actually tried to do it.

</comment><comment><USER34> I wonder if it occurred to the son how much _more_ of his father's consciousness lives on in himself?</comment>


Can I Legally Use the "Fluent UI" or Ribbon Design? - <AUTHOR> https://www.infoq.com/news/2018/02/Ribbon-UI <comment><USER2> A number of quibbles about things semi-confused in this article here:

1) Fluent UI is not Ribbon UI; I'm not sure why Fluent is mentioned in the article headline, other than an implication there might be unspoken patents in the Fluent Design System, and that's an indirect spook from the topic at hand.

2) Corel's violations of the Office Ribbon UI licensing terms clearly happened during the time in which the Office Ribbon UI licensing was enforced (that is, prior to the most general release/retiring from those terms in 2016).

3) The article author seems to have a hard time finding resources regarding the historic Office Ribbon licensing terms, but even just using Jensen's blog heavily linked in the article you can find a relatively detailed FAQ: [https://blogs.msdn.microsoft.com/jensenh/2006/11/21/licensin...](https://blogs.msdn.microsoft.com/jensenh/2006/11/21/licensing- the-2007-microsoft-office-user-interface/)

4) The key violation of Corel for the licensing terms should be very obvious from Jensen's FAQ:

> There's only one limitation: if you are building a program which directly > competes with Word, Excel, PowerPoint, Outlook, or Access (the Microsoft > applications with the new UI), you can't obtain the royalty-free license.

<comment><USER3> Fluent UI is probably mentioned because "Microsoft Office Fluent user interface (UI)" (short: Fluent UI) used to mean Ribbon UI, long before the Fluent Design System existed.

[https://technet.microsoft.com/en- us/library/ff461922(v=offic...](https://technet.microsoft.com/en- us/library/ff461922\(v=office.14\).aspx)

<comment><USER4> Ribbon was the name of just one element of the Office 2007 UI system. Fluent was supposed to be the name of the whole system.

</comment></comment></comment><comment><USER5> The real question one should ask is: should you use a ribbon design?

<comment><USER6> Ribbon UI is very discoverable. I bet most people would have a better chance of picking up a feature-rich program such as AutoCAD nowadays than back in the time of menus and toolbars.

CAD packages are a good example, really. They tend to have tons of features, which are fairly easy to find with a ribbon, but also have lots of configurability (hideable toolbars) and speed features (radial menus) for power users. But the balance is hard to strike - if anything they tend to have too many ways of doing things, and not good enough defaults.

The current incarnation of Microsoft Office products' UI is a mess too. Buttons and search bars all over the chrome of the windows (what used to be the title bar), most of the old Alt+letter codes still working, and ribbon 'tabs' that bring up full-page menus (the File menu). My answer to your probably-rhetorical question is yes, you should use a ribbon design in a windowed app, to provide a baseline level of making the features easy-to-find. The difficult part is adding more powerful power-user features or most-used features without turning the interface into a big mess.

<comment><USER7> Oddly enough, I find the Mac versions of Office much easier to use because they still have a menu system where everything sits still and behaves itself.

</comment></comment></comment><comment><USER8> If a user interface element can't be reused, it defeats any usability you might gain from using it. It simply won't be familiar - at least, not as familiar as it could/should be.

</comment><comment><USER9> The followup on the page: [https://www.infoq.com/news/2018/02/Ribbon-2](https://www.infoq.com/news/2018/02/Ribbon-2)

(TL;DR: Yes, using one of this set of frameworks)

<comment><USER10> Actually the TL;DR should be "Yes, using one of this set of frameworks, and we won't tell you if any other framework can use it" since Microsoft declined to comment.

</comment></comment><comment><USER11> It's almost as if there is complete disregard for "prior art" when it comes to software patents. It's a bit ridiculous really. Microsoft shouldn't have gotten the patent and they shouldn't have won this case.

<comment><USER12> _Microsoft shouldn 't have gotten the patent and they shouldn't have won this case._

Why not? What prior art are you thinking of, specifically?

<comment><USER13> I honestly thought this was famous as a patent where there was prior art - surprised the parent is downmodded and anyone else who knows what 'ribbon' means doesn't know about it being done before Microsoft patented it.

\- HotDog

\- Macromedia HomeSite

\- Dreamweaver

\- Borland Delphi

all used ribbon UIs before Microsoft patented it.

[https://en.wikipedia.org/wiki/File:Homesite-2.5.png](https://en.wikipedia.org/wiki/File:Homesite-2.5.png)

Then again, I'm getting old so maybe people didn't use a lot of these apps.

<comment><USER13> Dreamweaver shot: [http://www.projectseven.com/tutorials/dreamweaver/insert- bar...](http://www.projectseven.com/tutorials/dreamweaver/insert- bar/images/screen-04.jpg)

</comment></comment></comment></comment><comment><USER14> LibreOffice 6 has an optional ribbon-like UI, and I assume they checked that it wouldn't infringe on anything, when they decided to add it.

<comment><USER15> Isn't it also FOSS, which indicates that the legal issue of profit from Microsoft's design is null and void?

</comment></comment><comment><USER16> So Microsoft is a patent troll, just like Apple (who decided to sue Samsung for the 'slide to unlock'). On the bright side, I think most people don't like the 'ribbon' (I don't understand the difference with a normal tabbed UI anyway) pattern anyway.

<comment><USER17> Not a fan of patents at all, but is not a troll someone who does not invent and sell products? Both Microsoft does.

They are playing the hard game with patents, but IMHO not troll style.

<comment><USER16> You're right, 'patent troll' is not accurate here, but I couldn't find a better word.

<comment><USER18> So you're just denigrating the entire concept of patents? O.K.

<comment><USER16> Of patenting obvious things and aggresively defending them. Although I think you could make a strong case against the whole concept of a patent as well.

<comment><USER19> You admit that you don't understand the difference between the ribbon UI and tabbed layouts, yet assert that the ribbon design is "obvious"?

<comment><USER20> A ribbon UI essentially _is_ a tabbed layout, isn't it?

<comment><USER19> It is, essentially, with the addition of context-sensitive controls and elements. Or at least that's my very layman's interpretation of the patents.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> Are there links to the actual patents in question? And how does this affect the LibreOffice notetabbar?

<comment><USER22> Here's some of the utility patents:

[https://www.lens.org/lens/patent/US_8255828_B2](https://www.lens.org/lens/patent/US_8255828_B2)

[https://www.lens.org/lens/patent/US_7703036_B2](https://www.lens.org/lens/patent/US_7703036_B2)

Source: [http://www.ipwatchdog.com/2018/02/13/93710/id=93710/](http://www.ipwatchdog.com/2018/02/13/93710/id=93710/)</comment></comment>


Ask HN: website to collab different aspects of a web property? - <AUTHOR>

Is there a website that I as a developer can collaborate with some person that would add content, another that will handle seo and maybe one more that will work on link building and give them each percentage out of my web property?
I tried looking for something of this sort but came short. I think there are plenty of people that would love getting a percentage out of an online business working on adding content or handling link building. But maybe they don't feel comfortable that they don't have a signed agreement or a platform that is solid to communicate through that will build trust among collaborators (ranking system - multiple content adders can collaborate on different projects and gain points for instance, developers that fix bugs/add functionality and earn points from other team members).
I tend to build lot's of web properties (1/month) and some have decent income which is great. I'm lazy though (and don't have the time) when it comes to do marketing, link building and adding content which is crucial in my niche (any niche?). I get bored. So i would love to collaborate with others that would take a chunk (%25 -%35 - whatever) of my profitable projects and take 45 minutes a day doing stuff that would add value to my projects, or to phrase it correctly OUR projects. These people will of course see profits from day 1, preferably distributed to their paypal accounts.
Where can i find people like that on the web? there has to be an online community (similar to flippa where you can upload the stats, income of your website) that let's you collaborate with others and sign an agreement of some sort. Who has this problem except me? <comment><USER2> I've been thinking about building something like you describe for a while.

However I do see that there are problems of agency in making such an arrangement work. Anytime you have a revenue stream that is supposed to be divided on an ongoing basis; you are going to have a fight and everyone involved will feel shortchanged.

The best solution I've come up with so far is a multi-layered rental market where producers rent pieces of functionality and access to content-streams and in turn are responsible for monetising the end-result. But that's not solving the transaction costs of building small sites in a way that's better than elance/odesk/etc.

The fundamental economic problem you're looking at is how to fairly value different peoples contribution to a productive asset. The traditional answer has been to form a company that orders production and manages the assets and the distribution of revenue. This introduces overhead, and generally biases ownership towards those who brought capital to the formation of the company.

I do think a protocol solution is possible where participants agree up front to a set of rules, and automate the revenue distribution and asset allocation by an internal market mechanism designed to maximise overall productivity. However I'm under no illusions that it will be easy or profitable to be the one setting up such a system; at least at first.

<comment><AUTHOR> As the builder of the system you'd probably take percentage of all managed project, say 10%. The collaborators will set rules up front as you mentioned with a voting options to ban members that aren't contributing. It's nice to see someone who thought of this.

<comment><USER2> The problem is, if you're setting up such a system; why should you limit yourself to a 10% cut? In the short term, if you're setting up a company that is building revenue generating sites, you can probably capture more than that in revenue if you're paying people to do the work. The accounting gets a bit fuzzy because we're talking about two classes of entities here (one in which labor expenses come out of net revenue, and the other in which they come out of gross revenue). Another trade-off is liability, who pays out if one of these projects gets sued; are they individually severable from the parent entity? If not, then setting up the system is unappealing compared to a traditional employment relationship. And if they are that raises the cost- complexity of the setup since you need to manage the transaction costs of setting up new entities as well as the ongoing overhead of managing the accounting for each of the formed entities.

Basically what you're talking about is a setup that would allow web workers to earn residual income for their efforts as opposed to the present system where the route to residuals goes through ownership of the company. Effectively, operations management as a service.

I have thought about this quite a bit. And would like to discuss this further, on the level of sharing models and projections.</comment></comment></comment>


Create Your Own CRM: How Much Money and Time Does IT Take? - <AUTHOR> https://kitrum.com/uncategorized/create-your-own-crm-how-much-money-and-time-does-it-take/ <comment><USER2> This is a well-thought and written article, thank you!</comment>


Scala – 1 Star Would Not Program Again - <AUTHOR> http://overwatering.org/blog/2013/12/scala-1-star-would-not-program-again/ <comment><USER2> Blogspam, original is here:

[http://overwatering.org/blog/2013/12/scala-1-star-would- not-...](http://overwatering.org/blog/2013/12/scala-1-star-would-not-program- again/)

Some thoughts: I've worked on several large scala projects, and I've found that long incremental compile times are often a sign of bad encapsulation. If you change the type signature of a _public_ method then any file using that class needs to be recompiled.

I've found that explicit type annotations on method return types help a lot here:

        def getBandit(ref: BanditRef)= {
          ...
          ConcreteSimpleBandit(...)
        }

This has type `BanditRef => ConcreteSimpleBandit`. If I change the implementation and return a ConcreteNonSimpleBandit, the inferred type signature changes to `BanditRef => ConcreteNonSimpleBandit`. If I use an if- statement and return one or the other, the return type will be the nearest superclass of both (say a ConcreteBandit).

However, if I explicitly annotate it to return a BanditLike

        def getBandit(ref: BanditRef): BanditLike = {
          ...
          ConcreteSimpleBandit(...)
        }

then only the class in question needs to be recompiled.

The author is spot on about the use of infix methods. These are nearly always evil. What would be great if Scala gave you a way to _explicitly declare_ certain functions as infix, and everything else uses the java-style calling convention. For a monoid, a |+| b |+| c makes perfect sense. However, consider:

        optionalResult map (x => x*x) filter (_ % 2 == 1) getOrElse -1

Yeah, you need to do work to figure out what's going on. Compare to:

        optionalResult.map(x => x*x).filter(_ % 2 == 1).getOrElse(-1)

But I suppose the former will save some bits ('.' and '(' take more bytes than ' ', right?).

<comment><USER3> This comment reminded me of a book called "Large Scale C++ Software Design" which is essentially about techniques to speed up your build time.

My short handed criticism about Scala is this: It's the C++ of the JVM.

Specifically it has many features of C++ we thought we left behind: \- slow compile times \- complex language features and syntax

The language features have a benefit, and a cost. I just personally believe the cost outweighs the benefits for me.

<comment><USER4> Having worked with both Scala and C++, I actually think that people saying this don't know what they are talking about.

I encourage you to take another look, as we often jump to criticisms with only a superficial understanding, often based on comments made on forums by other people. In particular, the idea of writing the code in a certain way to avoid recompilation is rather silly and I never, ever did it in the last 2 years since I worked with Scala.

On syntax and complex language features - having trained rookies unfamiliar with Scala myself, I can tell you - it's neither the syntax or the language features that are problematic, but rather the concepts involved. The Scala ecosystem is chock-full of paradigms coming from static FP languages such as Haskell. Scala's features are actually very elegant and orthogonal. It does have ugly corners that are a result of its interoperability with its host, the JVM, but that's a tradeoff I like, because people that don't like the JVM, haven't seen what it can do.

On compilation speed, it's not much of a problem though I understand why people don't like it. But the type system is very static - and in comparison with Java in which the type system does nothing else but to stay in your way - in Scala it actually helps you to write code that is sometimes provably correct or to design safe and user-friendly APIs. For me it's not a problem if my code takes an extra couple of seconds to compile, because the compiler does help me in the case of Scala. In terms of recent developments, both SBT and Maven are doing incremental compilation. Plus, SBT makes it really, really easy to break your project into multiple sub-projects that depend on each other, to keep them small, something which helps with compilation speed though personally I do it for keeping the code base cleaner.

<comment><USER5> Correctness. Hmm.

See other comments below where co-founder of Typesafe (who has quit) gave a talk explaining why Scala is doing everything wrong.

In his video he has a slide with the words "No wonder nothing works" and on the slide:

      scala> val x1: Float = Long.MaxValue
      x1: Float = 9.223372E18
      scala> val x2: Float = Long.MaxValue - Int.MaxValue
      x2: Float = 9.223372E18
      scala> println(x1 == x2)
      true

This is the guy who has worked on the Scala compiler. He says it will never be fast and there are things which are fundamentally broken (like above, and there are many more).

I think any start-up using Scala is making a big mistake.

<comment><USER6> A Long is 64 bits. An Int is 32 bits. A Float is 32 bits (8 bits exponent, 23 fraction, 1 sign). I don't see how anyone could expect a Float to have enough bits to represent the difference. The only different behaviour I can envisage is an error, but it is standard practice to disable these for performance reasons.

<comment><USER4> A Float on the other hand, by definition, is only an approximation. You can use fixed-point numbers, but they are either too slow or lack the required precision.

> _val x: BigDecimal = Long.MaxValue_

Problem solved. Or is it?

</comment></comment></comment></comment></comment></comment><comment><USER7> More of these "This language sucks" blog posts need to focus on the problem domains actually being solved and less on the aesthetics of the tools. My team uses Scala as one of our primary backend languages and have been extremely productive with it. We're building large distributed systems that store and manage large quantities of sensor data and push Scala pretty hard. Are there warts? Yes, just as with any other tool. But the important part is that we create value quickly for our customers, and Scala has fit our problem domain quite well.

I've also seen too many consultants who get caught up in technology for its own sake, because that's what many of them sell (We use this new development methodology, with this hot new framework, hire us!).

Let's all spend less time worrying about what tools we're using and more time worrying about whether we're solving the right problems.

</comment><comment><USER8> The Co-Founder of Typesafe, Paul Phillips, hates Scala too. Working on the compiler seems to have driven him mad (he says this, not me, but I don't disagree based on this performance.)

[http://parleys.com/play/528cbfc3e4b084eb60ac78f2/about](http://parleys.com/play/528cbfc3e4b084eb60ac78f2/about)

<comment><USER9> He says you need to be a "rocket scientist" to change the compiler.

We have computers that are thousands of times faster than the 1980's but Turbo Pascal, then, could compile tens of thousands of lines per second on that hardware. Scala is so complicated it takes minutes to compile large code bases.

Anyone remember what the claims were for Turbo Pascal?

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

<comment><USER10> They need to take a lesson from the OCaml or Haxe devs. Both have blazing fast compilers that create efficient code for every platform known to man... And both are very feature-rich languages.

<comment><USER5> He says the Scala compiler will _never_ be fast...

</comment></comment></comment></comment><comment><USER11> It's sad that this particular blog post is getting double the attention because it's not a strong critique of Scala, which, like any good technology, is imminently critique-able. The extant HN thread got much more interesting Scala critiques than the blog post:

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

That said, I would add the following meta-commentary, which has nothing to do with Scala in particular:

Don't be scared away from Scala by the negativity. In fact, use said commentary as evidence that Scala has hit a maturity point that makes it worth exploring. When Rails first could come out, it could do no wrong, and I would get regular queries from less experienced techies as to why we weren't rewriting our code to use Rails, as though the hype made it a given that any web application should be in Rails from now on. Now that Rails is more mature, it gets regular negative articles. Using negativity around a mature technology has some underlying theme that is valid (performance for Rails, overly complex libraries for Scala), but not something that would or should scare someone away if they are eyes-open assessing the needs of their final product against the capabilities of the technology.

Really, we are in the infancy of software development. All languages are incredibly oblique to their runtime environments, especially in distributed scenarios. Any language that gets little but praise is simply not sufficiently understood by enough people to be critiqued, or for said critiques to get up- voted on news sites.

I am not, by the way, arguing that all languages are therefore equal in quality. What I am arguing against is this: often when there's a vote-up negative article about technology X, there's people who respond, "Aww shucks, I was about to use X for my next project, what should I use instead?" And the responses are, "Well, use Y instead", where Y is currently on the zenith of its hype machine. This is a bad strategy for assessing technology, because it's simply inevitable that Y will eventually receive a hailstorm of similarly valid critiques. Consider it a given that any technology in use today will look stodgy in forty years.

Instead, use the existence of critiques as a marker that a language is fairly well known and mature. It's rather like the appropriate way to use Yelp reviews: assume most of them are fake, assume nothing but positivity or negativity is wrong, and instead look for volume and breadth of tone.

</comment><comment><USER12> I have written Scala on several large projects( and Play framework)

One of the problems with Scala is that there are a thousand ways to do everything, which is often insanely confusing to a lot of people. And another I think is that people try to teach scala like they teach other OO languages and it just doesn't work.

Scala is not that hard once you boil it down the set of features that your team wants to use.

After learning Scala and then teaching it to several java developers, I believe I could get someone productive in Scala in 5-10 hours.

There are a couple of cognitive hurdles, and a few difficult to implement features in the super deep realm of coding, but it's really not that hard.

<comment><USER13> >I believe I could get someone productive in Scala in 5-10 hours.

Write an book on leanpub. You'll make a fortune...

<comment><USER12> I don't think I could do it with a book. I think I could do it with a combination of lecture, exercises, and a little Q&A. At least that has worked in the past.

</comment></comment></comment><comment><USER14> I'm learning Scala (coursera, twitter) to write game servers that can handle lots of request simultaneously. What's another good language for this? So far, Scala seems rather powerful.

<comment><USER15> I love Scala as a language and would encourage you to learn it on the way to becoming a more rounded programmer. It does have its warts, and compile times kill me. On HN the two common recommendations are:

* Go

* Node.JS (with Promises while we wait for generators!)

I personally use node for large-scale stuff since more people know JS, but a lot of this comes down to personal preference.

<comment><USER16> Its interesting that you use Go (CSP) and Node.js (callback) and like them both. Generally CSP people belive that the Node.js approach leads straight to hell.

Rich Hickey is really good about why Callbacks are terrible (and that's why he implemented CSP in clojure):

> [http://www.infoq.com/presentations/clojure-core- > async](http://www.infoq.com/presentations/clojure-core-async)

> > [https://github.com/clojure/core.async](https://github.com/clojure/core.async)

<comment><USER15> "Like" is relative and based on tradeoffs. Loved Rick's talk, thanks.

This last year I worked on a project with people from the valley, we used Go, and everyone contributed quality code. This is because people in SF area know Go.

A year ago I worked on a project with people from the midwest, we used node, and got the same quality. Much fewer people in the midwest know Go.

Independent of my feelings about both environments, CSP, callback hell, etc, at the end of the day my team and I have to build a product, and I try to pick the tool that best matches our combined skillsets.

<comment><USER16> Absolutly. For some stuff node.js works perfectly well and knowlage is often the hardest thing to come by.

</comment></comment></comment></comment></comment><comment><USER17> I think the key-value pairs vs typed objects for something like an HTTP header is a holy war we'll _never_ hear the end of.

</comment><comment><USER18> This post reinforces my sense that Scala is the new C++.

</comment><comment><USER19> I was at a job where I programmed in Scala for about 6 months. This was almost 3 years ago: immature tools (awful IDE support), slow compilers, long build times (this was partially due to Maven project with literally 50+ modules and too many unit tests), and inexperienced developers. Scala is too complicated a language.

I'm sure it's a little better now... but, it's not for me.

</comment><comment><USER20> _With Scala you feel smart having just got something to work in a beautiful way but when you look around the room to tell your clojure colleague how clever you are, you notice he left 3 hours ago and there is a post-it saying use a Map_

So he was making reference to Clojure here. That's fine, but you don't have to make things complicated in Scala if you don't want to.

I love the semantics of Clojure, but until you get some optional typing and possibly another syntax baked in forget about it for a whole class of devs.

<comment><USER21> About this:

"until you get some optional typing"

There is work being done on an optional type system:

[https://github.com/clojure/core.typed](https://github.com/clojure/core.typed)

There are also some interesting experiments in enforcing specific data structures:

[https://github.com/prismatic/schema](https://github.com/prismatic/schema)

Much effort has been made to make contract programming easy in Clojure:

[https://github.com/clojure/core.contracts](https://github.com/clojure/core.contracts)

And if you would feel the urge to respond with something like "why is such important functionality in a library", I'll point out enforcing pre and post conditions (on a function) has a nice syntax that is part of the language:

[http://blog.fogus.me/2009/12/21/clojures-pre-and- post/](http://blog.fogus.me/2009/12/21/clojures-pre-and-post/)

I find that every time I read an article about Scala I am left wondering "Why don't these people just use Clojure?"

<comment><USER22> Having made the choice between Clojure and Scala many times, always in favor of Scala, here are the 3 main reasons I keep going back to Scala (even though I don't particularly like it):

1\. I like type systems. I want strong typing, I'd prefer stronger typing in Scala (ie purity constraints as type information etc). I don't want optional typing (if I need dynamic interop, I can make a case for opt-out typing, but I've never needed).

2\. Performance. I spend a lot of time dealing with performance issues, specifically latency & throughput. I often have to back off of idiomatic Scala to achieve these goals (especially when it comes to GC pressure). Scala makes that easy & painless. Clojure doesn't.

3\. Style (purely subjective). I don't like LISP style languages. My very first experience in programming is in Scheme, so it's not that, I just don't like how they look. It's fine for other folks to like them, different strokes and all that, but I don't like it.

There are a ton of things I don't like about Scala, but for me and my projects, right now, if I'm targeting the JVM it is the best choice and Clojure isn't even second.

<comment><USER23> "I often have to back off of idiomatic Scala to achieve these goals (especially when it comes to GC pressure). "

Can you give an example of when you had to do this? I often wonder about the performance costs of chaining together several collection API calls.

<comment><USER22> Options are the most obvious:

def foo(opt: Option[Bar]) = opt.map(_.toString).getOrElse("")

This non-obviously creates an extra object in the Some case. As opposed to:

if(opt.isDefined) opt.toString else ""

which creates 0. Not a huge deal in this specific case (unless this is a hot call). But this sort of thing is endemic to all of the standard libraries.

 __Edit -- only 1 extra object, but it is in both the Some & None case (which is sort of the point, it is hard to know with idiomatic Scala)

</comment></comment></comment></comment></comment><comment><USER24>
      I also work in the same company as the poster. We are
      currently running a huge Scala/Play project where the
      team is a mix of many young developers (< 5 yrs) and a
      few seniors. Overall it is a very pleasant experience.
      There are multiple other projects using Scala which share
      this positive feeling.

      It is difficult to explain these reactions, but they are
      common among my colleagues. These are senior programmers
      who are generally very good with any programming
      language/task. They will pickup something new and be
      productive in just a few days. They usually end up liking
      Ruby, Javascript, Clojure and for good reasons.

      Scala on the other hand requires a lot of attention and
      work to get mastery. One can get started in days but to
      exploit the real power and appreciate design choices
      takes months if not years. In my opinion this is an
      important factor why these smart developers react so
      badly to Scala which for them is just another tool which
      takes too much time to grasp.

      There is little Scala can do. Maybe it should become less
      ambitious. No macros, no compiler plugins, do not
      challenge FP etc. But then it will not be the Scala we
      all loved :) Also, it is important to note the blog post
      does not criticise Scala in isolation. It used Spray DSL
      for routes and Gradle as a build tool, maybe that
      particular combination increases the pain.

[https://groups.google.com/d/msg/scala- internals/153H3Ya4Nxk/...](https://groups.google.com/d/msg/scala- internals/153H3Ya4Nxk/AngkiUE7VUIJ)

</comment><comment><USER25> thats a creative title

</comment><comment><USER26> I somehow misread this as Scalia (Supreme Court Justice) and thought this was about one of the recent announcements from SCOTUS...

<comment><USER27> This means you're browsing the wrong site.

<comment><USER26> I'm not making an argument about that but there were two or three SCOTUS stories on the frontpage of HN today.

Taking my downvotes and moving on, I am.</comment></comment></comment>


Money in Open Source, and How Needle and Thread Will Be Profitable - <AUTHOR> https://medium.com/needle-thread/money-in-open-source-and-how-needle-thread-will-be-profitable-79a809bfe316#.z9egqm67z <comment><USER2> "One significant issue, not just in open source software but in the entire worldwide software industry in general, is a decreased perceived value of software. "

The irony of this statement is that because of the plethora of open source software given away for free for the last decade, there is now a perceived decrease in value.</comment>


Firefox's New Memory Tool - <AUTHOR> https://hacks.mozilla.org/2015/11/firefoxs-new-memory-tool/ <comment><USER2> This looks so advanced, Firefox is the best!

I'm very curious to watch how WeakMap behaves and how it is visualized in this tool!

Speaking of WeakMap, perhaps a Firefox engineer could satisfy my curiosity on this subject. What is the algorithm Firefox uses to release weakly held references? Or, perhaps better restated: how aggressive is Firefox in holding on to weakly referenced objects?

When the majority of new JS memory allocations on a page get placed into WeakMaps, does Firefox always continue to allocate memory from the host OS, or is there some threshold where it starts to let things slip? Also, is there any rhyme or reason to what gets released first from WeakMaps?

Can Firefox run wild like it does with strongly held references, allocating into WeakMaps until the host OS cannot satisfy new native memory allocation requests and only then start to release weak references?

Also, how crazy do things get for you when you put lots of DOM objects or, even worse, GPU-backed memory structures like CanvasPattern into a WeakMap? Please share cool war stories! ;)

Disclaimer: I have not used WeakMap in any serious capacity, so I don't know what I'm talking about.

<comment><USER3> Up until a couple months ago, it had an O(n^2) marking algorithm that kept iterating until it got to a fixed point.

Thanks to the hard work of Steve Fink, these days it has an O(n) marking algorithm. See [https://bugzilla.mozilla.org/show_bug.cgi?id=1164294](https://bugzilla.mozilla.org/show_bug.cgi?id=1164294) for the details.

Edit to address your questions more directly:

 _> how aggressive is Firefox in holding on to weakly referenced objects?_

They are just collected at the next GC slice where they are no longer retained. SpiderMonkey doesn't do anything to try and eagerly collect them. GC slices generally won't happen until either there has been enough pressure (allocations) to trigger one or the user is inactive for N amount of time. There are tons of GC triggering heuristics and some are probably not optimal. It is on the GC team's TODO list to revisit and clean these up.

 _> does Firefox always continue to allocate memory from the host OS, or is there some threshold where it starts to let things slip?_

The threshold of how much is allocated before triggering GC grows as the retained set's size grows. This is bounded by available memory.

Aaaaand I have a meeting I need to go attend.

<comment><USER2> I am eating this up! I love you, man. (Not long stares, cuddling love. Like, brotherly.)

</comment></comment></comment><comment><USER4> This looks like a useful tool, thank you to the team at Mozilla responsible for this new memory tool.

Also, when watching the introductory video I was surprised that disabling tracking scripts offered so much potential for reducing memory usage (depending on the site of course). Is this new feature only available in private browsing mode, or can it be enabled for standard browsing? Are there any downsides for the user when disabling tracking scripts all the time?

<comment><USER3> Yes, it can be enabled all the time with about:config -> privacy.trackingprotection.enabled = true

</comment></comment><comment><USER5> Is this the part of devtools that was built using React & Redux? I remember hearing something a it that a few weeks ago

<comment><USER6> Yes. You can see the code here:

[https://dxr.mozilla.org/mozilla- central/source/devtools/clie...](https://dxr.mozilla.org/mozilla- central/source/devtools/client/memory)

(I think there are other parts of the developer tools that also use React and Redux, like the debugger.)

<comment><USER7> Not quite yet, but I'm very close to landing a debugger refactor which uses redux internally :) [https://bugzilla.mozilla.org/show_bug.cgi?id=1200798](https://bugzilla.mozilla.org/show_bug.cgi?id=1200798) And we're going to slow introduce React.

</comment></comment></comment><comment><USER8> This looks good. Will it be made available in the regular Firefox Inspector Element tool any time soon?

<comment><USER9> It should land in the Release channel in 12 weeks (things move from Developer Edition to Beta to Release every six weeks)

</comment></comment><comment><USER10> Super excited to see this released - perfect timing as I've been working on JS heavily as of late and have been searching for a good memory debugging tool and I'm not too big on chrome's option. This looks easier to read and use overall.

</comment><comment><USER11> This looks amazing, can't wait to see it motivate the v8/blink people to deliver an equivalent. Storing allocation stacks is essential for troubleshooting leaks and I've never been able to get anything remotely close to that on the web.

</comment><comment><USER12> I'm really impressed with the new firefox dev tools. I'm still getting several crashes a day with them though, so maybe this can help internally too :) All joking aside, this is a great addition.

<comment><USER3> Can you file bug(s) with links to the crash report(s) in about:crashes?

Alternatively, you could email me your crash reports (email in profile) and I could file bug(s) for youe.

</comment></comment><comment><USER13> This is very cool.

I wish there is also kind of tool that shows CPU, memory and network usage for every open page in one place.

</comment><comment><USER14> Chrome has had that for at least 2 years now. Sure, Firefox has some additions, but how is Firefox doing some breakthrough?

[https://developer.chrome.com/devtools/docs/javascript- memory...](https://developer.chrome.com/devtools/docs/javascript-memory- profiling)

<comment><USER15> I wish you'd asked it like this:

Chrome has had memory profiling for at least 2 years. [https://developer.chrome.com/devtools/docs/javascript- memory...](https://developer.chrome.com/devtools/docs/javascript-memory- profiling)

How does Firefox's new profiling feature compare?

<comment><USER16> Chrome's tool supports a dominator tree view. Sorry, also I'm excited to see a memory usage tool for firefox is now available. Supporting a dominator tree view is IMHO a crucial feature you will need sooner or later for investigating memory usage issues. The predecessor to the Eclipse Memory Analyzer had that in 2006/2007.

<comment><USER17> The dominator tree view[0] is one of the first things being worked on after release.

[0] [https://bugzilla.mozilla.org/show_bug.cgi?id=1149367](https://bugzilla.mozilla.org/show_bug.cgi?id=1149367)</comment></comment></comment></comment>


Gnome Shell 3.10 with Wayland - <AUTHOR> http://blogs.gnome.org/mclasen/2013/10/03/gnome-wayland-in-fedora/

<comment><USER2> I love Gnome Shell, and I'm happy to see the way things are progressing with Wayland. I have tried it on my Arch machine, but had to revert because of some bugs, but it'll get there soon.</comment>