Introducing the Keybase filesystem - <AUTHOR> https://keybase.io/docs/kbfs <comment><USER2> I'm a big fan of what Keybase is doing, but I've avoided installing it on my newest computer because I'm unhappy with their client.

To list a few points:

* No application preferences, so no obvious place from which to disable KBFS. Even though I never use it, it somehow idles at 160MB memory, and after each restart it adds itself to the _top_ of my Favorites on Finder!

* Between the Electron app and Keybase services, another 360MB of memory gets used. In total that's 520MB, which is a fairly large amount of memory for a laptop with only 8GB.

* Quirky menu bar behavior which doesn't match macOS design guidelines.

* No option to disable automatic updates, or even reduce the check's frequency. Currently, it runs every hour, even though they can go weeks without a release!

They're trying to do way too much with a single app, desktop apps are usually more granular. You could break it up into three or four apps:

* Core. Includes account, device manager, identity proofs, and CLI tools.

* Chat. Includes contacts and people search. Heck, you could even offer to scan the user's contact list or keyring for matches on Keybase.

* KBFS. A menu item app with a preferences view. Functionality should probagbly be implemented as a Finder Sync Extension [0].

[0] [https://developer.apple.com/library/content/documentation/Ge...](https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/Finder.html)

<comment><USER3> > _No option to disable automatic updates, or even reduce the check 's > frequency. Currently, it runs every hour, even though they can go weeks > without a release!_

Why is this a problem? Is the check heavy somehow? An hour between quick checks sounds like a reasonable interval for a security-sensitive app.

<comment><USER4> It's a sort of usage tracking, and an option to disable it (or reduce data leakage) is perfectly legit.

</comment></comment></comment><comment><USER5> What bugs me about the direction Keybase is going is that they still have not implemented a way of disabling the ability for users to send me encrypted messages.

I do not want Keybase to hoard encrypted messages I will never be able to read because I do not want to install their application on my computer. My Github issue for this has gone largely ignored:

[https://github.com/keybase/keybase- issues/issues/2808](https://github.com/keybase/keybase-issues/issues/2808)

I am thinking I am long overdue to placeholder my account until this is solved. I already have 10 encrypted messages I will never be able to read. I joined Keybase as a public key repository with external verification support, not for them to store private conversations -- encrypted or not.

<comment><USER6> > I joined Keybase as a public key repository with external verification > support, not for them to store private conversations -- encrypted or not.

While I agree with your comments on feature-creep, in order for you to worry about someone having a copy of your encrypted communications you must assume that the encryption scheme is completely broken. This raises the question: why are you using PGP at all if you think the cryptography is broken?

<comment><USER7> Keybase has created an inbox in your name which in turn creates a social contract on your behalf to check it. Existing users signed up for something different, so no wonder some of them want to disable that feature.

<comment><USER6> Again, I agree with the feature-creep point. What I was asking about is why is the connotation about private messages seem to imply that they don't think encryption is sufficient for a third party to hold a copy of a message they will never read.

<comment><USER8> Is this not the concept of forward secrecy? Crypto can be safe today and broken tomorrow.

<comment><USER6> Not really. PFS is about protecting a long-term key from being broken and then historical communications being uncovered. If you receive a one-off message then it's not materially different to being PFS with just a single message.

</comment></comment></comment></comment></comment></comment><comment><USER9> As a casual user who has occasionally used Keybase for sharing work-related sensitive things, it will be interesting to see how KBFS vs. upspin plays out. As far as E2E encrypted file storage goes, the two seem to offer very similar abilities. Obviously, Keybase's other services offer more in the way of messaging and user social proof. I also like the way you can privately share things with individuals using the directory names, vs. the ACL file in upspin, though I guess that allows read-only sharing and a stronger concept of ownership... you can't do that for shared private files in KBFS right?

The other cool thing about upspin is the ability for anyone to spin up their own server infrastructure for storage. I can imagine a service offering an on- premise secure Dropbox to paranoid big companies. I'm not sure if you can deploy a private Keybase, though their client code at least is open source.

<comment><USER10> > though I guess that allows read-only sharing and a stronger concept of > ownership... you can't do that for shared private files in KBFS right?

Actually you can!

Check out `/keybase/private/songgao#ereyes01@hackernews/hi` and try writing to that folder :)

EDIT: typo and missing quote

<comment><USER9> Nice, thanks for pointing that out. Everyone after the # is read-only. Should've read through this more carefully: [https://keybase.io/docs/kbfs/understanding_kbfs](https://keybase.io/docs/kbfs/understanding_kbfs)

... section "The Keybase namespace"

</comment></comment></comment><comment><USER11> Doesn't look like much has changed in a year and a half [https://news.ycombinator.com/item?id=11037257](https://news.ycombinator.com/item?id=11037257) ?

</comment><comment><USER12> Hasn't this existed for a while now? I've been trading sensitive data with a friend using kbfs for what I think has been a year now.

<comment><USER13> Yeah it's not new. The chat feature has existed for a short while, too, which deserves more fame as being an e2e encrypted multi-device IM system that isn't tied to your phone number.

<comment><USER14> _> The chat feature has existed for a short while, too, which deserves more fame as being an e2e encrypted multi-device IM system that isn't tied to your phone number._

On the other hand, it doesn't feature forward secrecy.

<comment><USER15> I still want to see something like Signal's protocol using Keybase for user identity and key management.

<comment><USER16> You can sorta kinda almost bootstrap that by putting your 'signal public key' in your keybase public folder

(by signal public key I mean that your safety number with any given person is always a concatenation of a string that identifies you and a string that identifies them and you'll find that same string across your safety numbers with all your contacts)

Ex: [https://keybase.pub/michaelblume/signal.txt](https://keybase.pub/michaelblume/signal.txt)

</comment></comment></comment></comment></comment><comment><USER17> I realize keybase has raised a lot of money but can someone clarify how they plan to make money other than make "cool" stuff that only highly technical engineers understand?

<comment><USER18> It is a good question, but no, I don't think anybody will be able to tell you more than what's in the "Business Model?" section of the article:

        But, as stated above, there is currently no
        pay model, and we're not trying to make money.
        We're testing a product right now, and we'd
        like to bring public keys to the masses.

They say they won't sell ads or data, and however they make money will be from organizational users with a goal to provide a useful free tier that can be used by every person in the world. I assume that means that in addition to staying free, it will get easier to understand over time.

It's pretty nebulous, but at least they are saying the right things while saying nothing... :)

</comment></comment><comment><USER19> So, I'm probably missing something but since keybase is built around PGP I assumed that the files I put in my private kbfs would be encrypted with it.

I use a GnuPG "smartcard" (a yubikey) so I'm certain that keybase has no direct access to my private key.

So I've tried "echo test > /keybase/private/simias/secret.txt"

So far it seems to work, the file is here and I can read it.

Then I shutdown keybase, make sure nothing is running and /keybase is unmounted, remove my yubikey and run_keybase again:

        cat /keybase/private/simias/secret.txt
        test

So, what am I missing?

<comment><USER20> keybase uses your gpg key more as a _bootstrap_ to prove your identity, and to then sign your _keybase key_ (which isn't gpg as far as I could tell from the spec).

e.g. you can see I used my GPG key to sign all of my proofs (proving identity), and to also sign my keybase keys which then have signed other keybase keys:

[https://keybase.io/travisby/graph](https://keybase.io/travisby/graph)

We can view yours at [https://keybase.io/simias/graph](https://keybase.io/simias/graph) .

Your device still has worked-key on it which is decrypting secret.txt for you.

<comment><USER19> Aaah, okay, I actually do remember about that worked-key now. That makes sense.

But then the problem that I have with that is this worked-key is a lot less secure than my PGP key on a hardware token. What I'd like would be for keybase to make those keys depend on my PGP key, for instance by decrypting them at the beginning of each session.

I'm not sure I get the point of these device keys to be honest. Why not simply generate a new key every time one is needed, and then sign and encrypt it with my PGP key?

After all that's basically how basic PGP encryption works, it's encrypted with some symmetric cipher using a random key and then this key is encrypted with the assymetric cipher (sever times if there are several recipients). Nobody has to worry about those "intermediate" throw-away keys, they're just stored alongside the ciphertext.

<comment><USER21> Most people don't do what you are doing with PGP. In other words you are not in the demographic they are targeting. For their target demographic (people who don't use crypto, or use it poorly), what they are doing is much better than what the people have now.

<comment><USER19> How so? I don't really get the point of these device keys to be honest.

If anything it seems more complicated than what I'm proposing. People who don't use crypto will probably let keybase manage their private keys (at least at first) so this could be handled transparently.

I mean, you could turn it the other way around. If this system is confusing and unintuitive for somebody like me who is familiar with the details of asymmetric cryptography, how are less technical users supposed to figure it out and understand the trust model?

I doubt the average person on the street would understand what [https://keybase.io/travisby/graph](https://keybase.io/travisby/graph) means.

<comment><USER22> The point of a device key is that you can revoke such a key in the event it gets lost and not have people accidentally use it to send you secrets (assuming they use keybase online / are up to date )

<comment><USER19> But you could do this even if those keys were encrypted with the master PGP key.

I don't have any issues with using sub-keys, it's a very good idea actually, for the reason you mention. I just wish I had the option to tell keybase "never store those keys in cleartext, always encrypt them with the master key". Then it would ask be to decrypt the keys on startup and everybody would be happy (well, at least I would be).

</comment></comment></comment></comment></comment></comment></comment><comment><USER23> This looks really cool. I'm a little concerned that "there is currently no pay model, and we're not trying to make money. We're testing a product right now, and we'd like to bring public keys to the masses." What's the harm in charging $5/month for 50GB as a beta service that might not last forever to help fund development? Maybe even keep the same level but allow people to pledge monthly to support your efforts? It just always seems to be the case that there's a lot of runway until there isn't. Building a product and making money are not mutually exclusive.

<comment><USER24> The harm is that $5 / month for 50GB is the wrong model.

If this is valuable, they think 10GB is enough to test the fundamental premise and see people hit the edges of what they'd want to pay for.

There might be a segment of the market for whom this is worth vastly more than $5 / month. There might be a segment who wants to pay that little, but it's not about storage. They may not learn these things by priming people on a per- GB storage model.

<comment><USER25> They should charge to get an enterprise version with certain guarantees. Without payment and a contractual guarantee, it can only ever be for personal use.

<comment><USER26> You say this, but we use it as a convienient way to onboard new engineers. There is a huge amount of key material to exchange to bring one of our developers online and its a lot easier to move it without thumb drives or passwords shouted across the room (or the famous email-tar.gpg and slack the password).

It's not reliable for storing customer data, no. But it's quite useful for a lot of quick engineering work.

<comment><USER25> That is basically 'personal' usage. You can't build that into any formal process, even for onboarding -- any day it may not work.

I also failed to mention that having an internal namespace for an organization may be relevant. People may not want to be public.

<comment><USER26> Neither seems terribly relevant, to be honest. In terms of namespacing, Corporations don't have their own space. What you do is have individuals send files amongst each other.

And, are you suggesting that a corporate process has to rely on technology that is always available? I'm fairly sure that they don't. If corporate Wi-Fi and Microsoft Office are any indication, anyways.

Please excuse any punctuation or capitalization today. I am training a new interface to Hacker News and the voice recognition sometimes produces slightly odd text.

</comment></comment></comment></comment></comment></comment><comment><USER27> I've come to love Keybase. I can be chatting with someone, and decide to share a file. So I just create a shared private folder, and copy the file there. All GnuPG authenticated and end-to-end encrypted.

I get that they don't implement forward secrecy. I gather that forward secrecy would break the GnuPG model, in that stuff couldn't be decrypted on any device with the requisite key pair.

<comment><USER28> I just used keybase fs the other day to send someone a draft of a book I'm working on, with nothing but our reply chain on HN as a starting point. It's like you're just one `cp` away from anyone who uses keybase!

<comment><USER27> Right. And if both of you are authenticated on HN, you don't need to know anything else about them. That is, anyway, if it's enough to know them by their HN username.

</comment></comment></comment><comment><USER29> [February 4th, 2016]

</comment><comment><USER30> I'm interested in this as a technical solution, but I'm not sure what content I actually expect to share or see shared on Keybase. Public dropbox links work pretty well for me right now for "ordinary" files.

<comment><USER12> A friend and I have been using this to share pem certificates and private keys.

<comment><USER31> That's exactly what we use it for at work, especially since I started working remote.

<comment><USER12> Same here! Remote work requires strong crypto comms

</comment></comment></comment></comment><comment><USER32> I've always wondered, is there a possibility for a state MITM if they manage to control the root-signing authorities? Can't they always replace it with their own signed certificate?

<comment><USER33> As I understood it, they'd have to MITM both Keybase.io _and_ every single one of the websites where a given user verifies their identity (and then there's certificate pinning which I would assume the Keybase client would know about and respect, but then again if your download of the client was compromised ..). Not impossible, but there's a lot of logistics to get right.

Also, they'd have to do it as you sign up. Once your profile is active and you've followed people and their signatures are cached on your local computer, the root CAs are no longer the single point of failure and MITM'ing becomes impractical.

That said, if a state, especially the one you're in, targets you personally, you're going to have a bad time.

</comment></comment><comment><USER34> The keybase identity model combines the worst of the 90s geek internet with the worst of the 2010s social media.

Instead of private and distributed trust, we got public and centralized. No thank you.

<comment><USER35> I don't know much about crypto, but this argument seems extremely compelling to me. Why would I want my network of trust to be public or centralized? Can someone more knowledgeable comment on whether parent is making sense?

EDIT: In fact look, from their /docs/server_security they have this:

> Here are the attacks we are most concerned about:

> Server DDOS'ed

> Server compromised; attacker corrupts server-side code and keys to send bad > data to clients

> Server compromised; attacker distributes corrupted client-side code

Why would I want my GPG security to depend on whether some company got hacked or not? This seems like a terrible idea.

</comment></comment><comment><USER36> > Unlike Dropbox, Google Drive, and Box, there is no sync model. The files > stream in on demand.

What does that mean? Do I need to wait every time I use the same file again?

<comment><USER37> Anecdotally, it seems that new files (or new revisions) are downloaded on first use.

If you have sufficient local space and use KBFS only on a single machine, then you'll never wait. If you modify a file every time you open it, and do so on alternate machines, you'll wait every time.

</comment></comment><comment><USER38> The example of the diary makes me wonder if you could use this as the basis for a file-based social network... :-)

</comment><comment><USER39> I've slightly lost confidence in Keybase recently, since logging on after a while and discovering that they're _heavily_ promoting their app.

It's a bit disturbing to see them act like so many other sites that are pushing something you just don't need. Also, after asking them on Twitter about this, I didn't get a reply - for an organisation who's all about identity, this isn't a great sign.

</comment><comment><USER40> Posting here so I can verify on Keybase.

<comment><USER41> You can verify to keybase by posting a hash using the "about" field in your user page on HN. Simply making a comment is insufficient. The details of what to do are available at keybase.

</comment></comment><comment><USER42> Keybase _still_ have not made a release that includes this. See [https://github.com/keybase/client/releases](https://github.com/keybase/client/releases)

<comment><USER43> I'm not sure what you're referring to. My Keybase release contains KBFS, and I'm pretty confident it came from the releases page.

<comment><USER42> The latest release on the github releases page at the moment is v1.0.22 from May. Trying to use e.g. chat from this version will give you:

▶ ERROR failed to open chat conversation: KBFS client wasn't found

You probably installed via instructions at [https://keybase.io/docs/the_app/install_linux](https://keybase.io/docs/the_app/install_linux) which will get you 1.0.27.

</comment></comment></comment><comment><USER44> Lol, this is bullshit. Just read their ToS and tell me these "services" aren't a joke...

<comment><USER45> On HN we have a higher standard for comments than this.

[https://news.ycombinator.com/newswelcome.html](https://news.ycombinator.com/newswelcome.html)

[https://news.ycombinator.com/newswelcome.html](https://news.ycombinator.com/newswelcome.html)

I'm not a mod, but three out of your five comments contain the word "shit," and one of the five was flagged. HN has a lot to offer, but only if you put effort into it.

EDIT: Just to clarify, it's fine to call out something as bullshit, but you have to justify your reasoning. Ideally it wouldn't be so emotional, but an informative comment is valuable regardless of the clothes it wears. E.g. if you dig into the ToS and highlight clauses that illustrate why it's bullshit, that would be useful.</comment></comment>


If Covid-19 isn't dramatically increasing homeless deaths in SF, then what is? - <AUTHOR> https://www.sfchronicle.com/politics/article/If-COVID-19-isn-t-driving-a-dramatic-increase-15493665.php <comment><USER2> "Every root cause for overdose has been exacerbated by this pandemic."

I keep seeing people make this mistake. The root cause for overdose has been exacerbated by the government's response to this pandemic, not the pandemic itself.

<comment><USER3> Of course the statement I'm going to say aligns with my politics, but it's unfortunate how often government intervention ends up being net negative compared to complete inaction.

<comment><USER2> I absolutely agree.

</comment></comment></comment><comment><USER4> I'm on the other coast, but if it's anything like NYC, it's probably largely due to near-complete loss of resources like food, shelter, charging ports, human contact, and public space.

</comment><comment><USER5> I read an article a few months ago about how the import restrictions (or maybe that there's just fewer international shipments) from Covid were making it harder to smuggle things into the US.

I wonder if that is having an impact on the quality of street drugs and causing overdoses. If fentanyl is so much more compact than heroin, I wouldn't be surprised if drug smugglers prioritized fentanyl given the limited quantities that can be smuggled. That would make street doses far more dangerous.</comment>


Ask HN: Why Cloudflare Doesn't Offer Public DNS Resolvers? - <AUTHOR> Surely being among one of the largest DNS hosts, this would be beneficial for them and internet? <comment><USER2> Because our CEO has mentioned this on Twitter a few times I think I can safely say - coming soon.</comment>


Show HN: We just launched a Bayesian-Based Sentiment Tracker - <AUTHOR> http://www.groubalcsi.com/

<comment><USER2> Call me crazy, but things going UP is generally good. I don't see how you can logically describe something as having an "increase in worsening satisfaction".

"AT&T is ranked 1st out of 244 brands"... they must be AWESOME...oh wait, no they're not.

It says it's a customer satisfaction index, when it's actually a customer DISsatisfaction index.

Also, I don't mean to sink the boots in but... "that is awesome that you got SVU to discuss the boycott of the pedophile book on Amazon! I cannot wait to see how it goes!" Is that a good comment or a bad comment?

</comment><comment><USER3> This is not how sentiment analysis work (or should work). I worked on something similar (Naive Bayes based sentiment analyzer <https://github.com/mohitranka/TwitterSentiment>). I also work for a company which is in the same space as groubalcsi.com (Brand/Product opinion mining)

Sentiment analysis is not a _classification_ problem (like spam detection), but it is an _identification_ problem, because sentiments are always associated with an entity (and attribute, if specified).

For example, a tweet saying, "Dell is not as good as apple" requires to identify entities (Dell and Apple) and associate sentiments to them (Negative and Positive, respectively). It is incorrect to try to associate sentiment (whatever it may be) to the tweet itself.

</comment><comment><USER4> Interesting but possibly flawed exercise. It would be good to show the entire set of brands sorted from bottom (i.e., good) to top (i.e. bad).

I sorted the data and present here two groups:

1\. This is a sample of supposedly the most satisfying, from the best on down (er, up): TGI Fridays, Best Western, Zenith Electronics, JVC, Chili's, Denny's, Hampton Inn, Olive Garden, Applebee's, Sams Club, Yahoo, AOL.

2\. By contrast, here is a sample of some of the worst, listed from the top (high dissatisfaction) on down: Wikipedia, Apple, Nokia, Facebook, Volkswagen, YouTube, Amazon, Nike, Sony, Ikea, Range Rover, Rolex, Porsche, Google, Netflix, Louis Vuitton, CNN, American Express. Wall Street Journal, Intel.

Group 1 and 2 do not overlap in their scores.Meaning that Intel (the best of the worst) is at 404, with a higher dissatisfaction rating than AOL (the worst of the best).

This grouping does not make sense to me, because if you showed me the two lists above and asked which of these two sets had better satisfaction scores, I would have picked Group 2 over Group 1.

What could explain this? Perhaps there is demographic skew, in that down- market brands (Dennys, Sams Club, Zenith) are not talked about as much among upscale social media people, who would rather complain about Apple, Sony, and Porsche.

Or perhaps there is a mismatch of expectations. People expect the premium brands to deliver more, and complain loudly when they fall short in the slightest. And conversely, perhaps people expect a mediocre experience with downmarket brands.

</comment><comment><USER5> What are the units of dissatisfaction used throughout the page? How do they map to the y-axis of the dissatisfaction graph? What sense of scale do I need to have to understand the units? Is a 945 bad? How bad? Is hate linear? Since AAPL scores roughly half as much as AT&T does that mean that the average Twitterer hates AAPL half as much? What happens if someone scores a perfect 1000? Can they be hated no further?

What time zone is the next update measured in? What makes your classifier 'Bayesian' besides just using something called a 'Naive Bayes Classifier'? What is the 90% accuracy determined from? Why should I care? Is a 24-hour improvement in customer satisfaction a significant thing? How quickly does hate fluctuate? What is your uncertainty in each of these measurements? Is there an overall brand hate level that I can compare these things to? How are they affected by overall sentiment toward companies?

        </comment><comment>

It's an interesting complementary site to your primary interest in Groubal. I'm just a skeptic to methods in sentiment analysis in general. To analyze data properly is very hard. Applying tools to observe what happens is still interesting though.

But I'm not sure I learned a whole lot to see graphs proclaiming that Twitterers dislike AT&T, Time Warner, Banks, Internet Providers, and Zynga. Tylenol and Enterprise were interesting to find though. I have no idea what it means for Tylenol to be 100 units less hated though.

So perhaps what you should tune your ML stuff to seek out is not just some difficult to quantify measure of dissatisfaction, but instead look for things like Tylenol and Enterprise where people might not expect themselves to have such trouble with the brand. In such a case, it becomes automatic, insightful rabble-rousing instead of methodologically sparse hate-ranking.

</comment><comment><AUTHOR> If anyone's interested, we're using the Google Graph API for all the graphs (the spark lines and the big transparent ones at the top), and the Bayesian stuff is based on the PHP work I wrote up here: [http://danzambonini.com/self- improving-bayesian-sentiment-an...](http://danzambonini.com/self-improving- bayesian-sentiment-analysis-for-twitter/)

EDIT: Also, we're not really using it yet, but I thought it was interesting how you can also easily calculate the 'agreement' on sentiment by using the MySQL STDDEV function (or similar) to work out the variance in sentiment.

<comment><USER6> Just FYI, clicking on a company name that has been removed, leads to a 403 error (e.g., Rogers).

Also, I sort of broke the site by passing a non-existing company name (e.g., <http://www.groubalcsi.com/company/ted>).

<comment><AUTHOR> Thanks so much - I knew I could rely on HN'ers to find these things. I'm hoping the Rogers one is a one-off (we're just adding it this morning), but I'll double check all of this. Thanks again.

EDIT: just fixed the 'TED' (company doesn't exist) issue. Thanks!

EDIT2: just fixed the Rogers issue too. Thanks! (Plus, I _love_ Coda for making my life easier/faster for versioning and uploading changes!)

</comment></comment></comment><comment><USER7> pretty cool. I would change high meaning bad and low meaning good, unless its a rank out of the total. Its a bit counter-intuitive. Why do you just place an emphasis on dissatisfaction instead of giving the option to look at both?

<comment><AUTHOR> Thanks for the feedback.

Yeah, certainly the 'high = bad' thing is something we grappled with (and still do). The site is a sister-site to a consumer-complaint/petition website (<http://www.groubal.com/>), hence we're more interested in measuring/highlighting who is doing 'badly'. But yes, this could be done in a more intuitive way (showing the 'bottom' of a graph that had the axis in the traditional orientation, for example).

<comment><USER8> I think you only need to change the wording to clarify it:

'Lowest Satisfaction' => 'Most Disatisfied' or 'Highest Disatisfaction' or 'Most Complaints'

'Customer Satisfaction Index' => 'Customer Disatisfaction/Complaint Index'

'High scores are negative' => 'High scores indicate high disatisfaction' or 'Increasing scores indicate increasing disatisfaction'

High scores bad, low scores good.

Link 'high' and 'increasing' with 'bad' and 'disatisfied' a little more explicitly and consistently, since most people make the opposite association.

<comment><USER9> Amount of dissatisfaction is too mushy IMHO. Just title it "Crapometer" or "Hate-o-meter".

Better yet, just flip the Y-axis. I'd think that it would be easier to get a company to pay to improve upwards. Do you really have to match the sister site?

</comment></comment></comment></comment><comment><USER10> Something came to mind that will skew this heavily. People will mention a company by name for mainly one of two reasons, either to complain or to tell people about some cool new thing. If someone mentions a ubiquitous company like Google, Verizon, etc, it's usually to complain. They're probably not telling the world about the wonders of Google search. On the other hand, if someone mentions a smaller company it's probably the cool-new-thing factor.

<comment><USER11> Are you sure about that distinction?

"Google builds robotic car"

"Why Groupon is terrible for merchants"

</comment></comment><comment><USER12> Is the time span so short just because of initial lack of data? If not, I think it would be useful to change the span of the graph to more than a week, to understand the long term trend. Fore some of the lines I see high fluctuations, so the graph is not so meaningful.

</comment><comment><USER10> I like how "iHop" is capitalized as if it were Steve Jobs' take on the pogo stick.

</comment><comment><USER13> I don't know if it's intentional, but I would expand your scope beyond complaints. If your math is good you could have a very nice reputation tracker and analytics package in general.

<comment><AUTHOR> It picks up on any Twitter/FB updates that we can measure a discerning 'sentiment' for, so although it's limited to companies/brands at the moment, it could certainly be used for other things.

</comment></comment><comment><USER14> Google is #7 worst web company? <http://www.groubalcsi.com/sector/web-based- services>

BMW is the worst in motor vehicle? <http://www.groubalcsi.com/sector/motor- vehicles>

<comment><AUTHOR> Just an example, some of the latest sentiment on Google, that would suggest why it hasn't got a great ranking (though also, it's not a terrible ranking):

Ok, my phone or Google Voice is unable to pick up calls when I press '1' to accept, and I can't connect via Gizmo5. WTF?

Google gps sucks all of a sudden

WTF? I open up Google and the first thing i see is "Will Justin Bieber get naked for Love Magazine?" and im like WHAT???</comment></comment>


Ask HN: Where to Find Freelance Work with Decent pay $25+ - <AUTHOR>

I'm a junior dev -- PHP/Laravel or Ruby on RAils. I'm desperate for a position as I just moved to Eagle Mountain, UT and cost of living is a little high here, and I'm having trouble finding a position and getting hired right now.
I'm used to taking freelance jobs at 10-15/hour, but that's just not what I'm worth, or worth my time anymore. I know I can secure $25+ - I'm aiming for a job@$55-75000/year.
I know Ruby, PHP, JS, Python, and am comfortable with Laravel, Wordpress, CakePHP, Symfony, ExpressJS, Django, and Rails.
I don't have much testing experience though, but sure I could pick it up.. Looking for something remote or local to Salt Lake / Provo UT areas.
resume : http://resume.patrickcurl.com <comment><USER2> You don't need the HTML here. Just put in double spaces instead... good luck on your hunt. I'd stay away from odesk and try to build up your personal relationships with folks. Find some local meetups if possible... even if you have to drive to a larger city.

Edit: Go re-read your resume. The opening paragraph is too long. Focus on things you have accomplished. You are too self depreciating... remove the stuff about IRC and how you had to break your bad habits. You are not selling yourself well. More self confidence in your presentation of yourself will go a long way.

<comment><AUTHOR> Thanks. I'll definitely do that. I appreciate the tips. Its hard going from one-man show to bigger company + team environment, and I do lack the confidence--my highest paid job was 35k. I'm about to break out of poverty essentially thanks to learning to code, but I just need my first big break.

</comment></comment><comment><AUTHOR> As an aside -- it seems like a majority of jobs on Odesk and Freelancer.com all seem very low like 10-15/hour, some even way lower aimed obviously at India/China and countries w/ lower wages for higher jobs.</comment>


Some ideas that will disrupt the healthcare industry - <AUTHOR> http://www.forbes.com/innovation-rx/ <comment><USER2> It's pretty sad that a Forbes editor can't spell a Fortune 50 (#32) corporation name right.

"What Proctor (sic) & Gamble Can Teach the Health Care Industry: Assume Nothing About Patients"</comment>


Shitcoin: a Modest Proposal - <AUTHOR> http://www.loper-os.org/?p=988

<comment><USER2> Or, you could just use a credit card, where they already do all this stuff.

Someone's pointy hair is showing here.

<comment><USER3> Someone clearly doesn't get the point of decentralized cryptocurrencies. Don't worry, you're in good company (most of mankind.)</comment></comment>


White House considering antitrust investigation of 'online platform bias' - <AUTHOR> https://nordic.businessinsider.com/white-house-executive-order-investigate-google-facebook-antitrust-2018-9 <comment><USER2> Oh, good! Are were finally going to get the Microsoft anti-trust effort we deserved? I mean, I know "Microsoft is different" and all that, but a near- monopoly like they've got is still pretty bad for consumers. They have 1 minor competitor (Apple), no incentive to lower prices to marginal cost of production or anything.</comment>


Open Source Deep Learning on AMD and Beyond - <AUTHOR> http://vertex.ai/blog/open-source-deep-learning-on-amd-and-beyond <comment><USER2> AMD and OpenCL have fallen desperately behind NVidia and CUDA in terms of industry adoption. CIDA is so far the industry standard for machine learning on GPUs. For example tensor flow had a GPU backend using CUDA. Last time I looked OpenCL support was in alpha stages.

This software platform dominance fueled a lot of hype around NVidia, but I'm not sure how much it contributed to revenue. Research and specialized data centers may still be a small percentage of sales compared to mass market. But Intel and AMD both understand that if they don't catch up they will never recover. They are gearing up for a future where every customer device needs some efficient machine learning inference hardware. Then data centers will need to purchase mind boggling amounts of throughput computing for training from streams of incoming data. I'm sure each company is planning hardware derived from current GPUs but more power efficient for the type of number crunching ML algorithms.

<comment><AUTHOR> This is all more or less true with the current public code. We're building our own standalone stack that will interop with TF, Keras, PyTorch, etc. Basically we are fixing the problem for AMD and Intel on desktop but also embedded chip vendors as well. Currently our stack runs Google's Xception net in Keras slightly faster than TF 1.2 + cuDNN 5.1 on Tesla K80 so there's good evidence OpenCL itself is not that slow.

<comment><USER2> This is an admirable effort and thanks for doing it.

Have you experienced problems related to the lack of active support from AMD or Intel for OpenCL drivers? Thats been my experience with OpenCL several years ago. On a related note drivers for OpenGL on Linux and Windows from AMD and Intel have been a huge problem for developer for years. Somehow only NVidia cares and invests enough in non-windows driver support. This may be changing with Vulkan however and more focus on GPU compute.

<comment><AUTHOR> We have found bugs in both AMD and NVIDIA drivers but nothing that didn't get fixed or that we couldn't work around. More difficult are the "special" quirks in some embedded GPUs. I keep an eye on Vulkan etc but right now OpenCL looks like the right choice for portability.</comment></comment></comment></comment>


Ask HN: High traffic sites use A/B testing. What can low traffic sites use? - <AUTHOR>

Stated another way: why wait for your first few thousand visitors before making your first data-driven decision?<p>Is this a problem that needs solving?<p>[Edit: formatting] <comment><USER2> It would be possible to at least improve the situation. An approach common in machine learning is, before a lot of directly-on-point data comes in, to bootstrap predictions using a background dataset of existing data, which can at least give you hints about the structure of the space, and where in it you might fall.

In this case, if you (or some service) had a large data set of user interactions collected from many other websites, then even though the first N data points on your site might not be enough to make strong conclusions on their own, they could be used to match your website up to scenarios in the background dataset that are most similar. There are a lot of different approaches, ranging from Bayesian ones where the background dataset is used as a prior in one way or another, to more clustering-based ones, where your small initial dataset is used to match you to a set of "similar, as far as user- experience lessons go" websites in the existing dataset.

</comment><comment><USER3> You can't make a data based decision without data.

What you can do is test on an individual basis. Companies have been doing this long before computers came along. Look up videos by Steve Krug on how to properly run user testing.

There are a lot of tools geared toward this already. Some offer testers, others just give you the capability to test with your own anonymous users. My rule of thumb is if someone else is making money off it, there is still money to be made.

This kind of testing doesn't identify things like a red button converting better than a green button, but it can tell you if some users aren't seeing the button at all.

<comment><AUTHOR> Right. Unless I've misunderstood you, this is the angle I am investigating with www.uithing.com

Thanks for the tip re: Steve Krug's videos.

</comment></comment><comment><USER4> In my most recent experience, I had so many different tasks to do that were more important than optimization. By the time I had the bare essential stuff done, I had enough data to start to make decisions on.

</comment><comment><USER5> You need data to make a data-driven decision. Can you elaborate on how you propose to solve the problem of "making a data-driven decision without sufficient data"? I'm pretty skeptical, as you can see.

<comment><AUTHOR> In site usability, ecommerce, and conversion in general speed is well established as being very important. Google and others have made speed a core goal because their data shows that speed helps conversion.

However, I would suggest that site speed is merely a proxy for usability speed. ie. it's more important for conversion to have a form that is easily comprehended and filled out than it is to have a fast loading page.

What I'm working up to is the idea that usability speed might be a useful proxy for a high-conversion design. It's also data that can be measured accurately without bias, and can be generated in lieu of real visitors by throwing a horde of disinterested people from Mechanical Turk at (eg.) your sign-up page with a well-defined goal.

</comment></comment><comment><USER6> Write down the top 5 tasks people will be doing on your site.

Get 3 people, tell them to attempt to complete those tasks.

Watch.</comment>


Ask HN: Can you share your process on how you write articles/tutorials? - <AUTHOR> I began blogging 2 months ago but I have a hard time writing programming tutorials. It takes me a couple of days just to finish writing a single article.
My hardest part is research and the actual writing. Do you research first and then write an article? Or do you research while you are writing the article? What do you look for when researching?
I would really appreciate if you would share your blogging workflow. Especially on how you research and write an article. <comment><USER2> Sometimes if writing for money I'm asked to write about a particular thing, so then I go off and research it and create sections / cross-heads then fill in the text.

Often, eg for my own blog/podcast, I am interested in a particular topic or or I've just fixed a particular issue, and I let that drive the topic of the piece, and in that case I have usually kept a note of my steps which might make for a mini how-to. Today I have been converting the temperature of my mains water feed over the last 10+ years into audio via MIDI, and I'm still mid-flow... B^></comment>


Hash App: Brokerage to invest globally in Emerging Markets' stocks and bonds - <AUTHOR> https://hashvest.com/ <comment><AUTHOR> Hey Guys,

We are Andrew and Soji.

Living in the US as an Immigrant made me realize how difficult it was to invest globally in Emerging Markets at a retail level. One has to go through several painful and costly steps to be able to invest in these high growth markets globally. So we decided to build the Hash App!

Hash App is a simple way for Retail Investors living in North America, Europe, and Australia to easily invest, diversify, and hedge in Emerging Markets' stocks, bonds, and mutual funds starting with as little as $100. We would do this with the lowest market commission in each market, best execution, and liveliness.

In the last 15 years, Emerging Markets have outperformed Developed Markets in USD terms, although past performance isn't a guarantee of future performance. We realized making investing a level playing field for everyone irrespective of borders is a service we needed to create for the finance world.

Join the Waitlist, Hash App would be available to residents of the US, Canada, and the UK soon. The Rest of Europe would follow afterward.

Hash App would cover Emerging & Frontier Markets as defined by MSCI including China, India, Korea, Taiwan, Malaysia, Indonesia, Philippines, Vietnam, Russia, Turkey, Pakistan, Argentina, Mexico, Brazil, Chile, South Africa, Egypt, Kenya, Nigeria, Ghana, UAE, Saudi Arabia, Poland, Hungary, etc.

Hash App. Investing Without Borders!</comment>


Ask HN: Anyone making $10k+/mo on a sideproject? - <AUTHOR> <comment><USER2> Really OP? Along with this other vague "how do I make $$$ fast and easy" post just 23 hours ago [1]? C'mon HN, stop upvoting this get rich quick clickbait.

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

</comment><comment><USER3> A lot of people on Indiehackers are making that much; they don't say how much of a time commitment they make though.

[https://www.indiehackers.com/businesses](https://www.indiehackers.com/businesses)

</comment><comment><USER4> What would be the motivation for acknowledging this? What questions do you have?

<comment><USER5> Steal their idea?

</comment></comment><comment><USER6> I know someone making that much on a side project, and as you would expect they are very quiet about it. It's unlikely you're going to get much transparency with this question.

<comment><USER7> Specifics are definitely unlikely to be shared, but I think it would be "safe" for such people to give out some very vague facts—at least, for example, whether these money-makers are b2c vs. b2b vs. enterprise sales; or product vs. service vs. subscription SaaS. Such data would be useful for figuring out what entire categories of approach just wholesale won't work.

</comment></comment><comment><USER8> No. And if I were, it would certainly not be a side project any more...

</comment><comment><USER9> There have been way too many of these posts here lately, IMO. Why?

</comment><comment><USER10> I am ;)

</comment><comment><USER11> Nope!</comment>


JQuery: When does a library become a language? - <AUTHOR> http://www.skuunk.com/2009/04/jquery-when-does-library-become.html <comment><USER3> This question is an artifact of not really deeply understanding Javascript. Yes, your jQuery loop looks different than the Javascript loop you might "normally" write... but it doesn't look all that different from _my_ Javascript code that I was writing before jQuery was even a glint in Resig's eye.

jQuery uses Javascript more deeply than what you get out of a "Learn Javascript in Ten Minutes!" tutorial, but it's still just using the language. It is a library, not a language. If Javascript didn't have closure support, jQuery would be up a creek without a paddle. (We all would; without that feature JS programming would be an order of magnitude more nightmarish.)

And if you don't understand how it is using the language, you will not be able to use jQuery to its full advantage. There's no substitute for understanding.

</comment><comment><USER4> The author seems to be confusing about the runtime of a programming language and the power to extend a language. I would attribute the extensibility of javascript for a jQuery like library.

<comment><USER5> > The author seems to be confusing about the runtime of a programming language > and the power to extend a language.

He wouldn't be the first... Objective-C (the big language of the moment due to its use on the iPhone) was originally designed to be a preprocessor in front of a vanilla C compiler, which reduces most of the syntax additions down to one single library call. (This makes it a _strict_ superset of C, unlike C++, which isn't perfectly backwards compatible with C.)

<comment><USER6> Using another language as your target (such as an Objective-C compiler outputting C, or Stroustrup's original C++ implementation, Cfront, outputtting C) guarantees no relationship to the target language. If Objective-C is a strict superset of C (which I have no knowledge of), it is not because C was the target language.

Also, it's not accurate to call something a "preprocessor" just because its target language is a subset of the language it supports. It's a compiler - <USER2> source-to-source compiler, yes, but still a compiler.

<comment><USER5> > It's a compiler - a source-to-source compiler, yes, but still a compiler.

This was kind of my original point. The very first version _wasn't_ a compiler, just a collection of pre-processor macros. I didn't have the opportunity to work with the language back when the bracket syntax was still macro'ed, but there were still some design warts in ObjC when I started before gcc was modified to support more modern, Java-like extensions to the language.... (I've written code that used the macro based NS_DURING/NS_HANDLER/NS_ENDHANLDER instead of the modern compiled @try/@catch/@finally version.)

</comment></comment></comment></comment><comment><USER7> The question is a very good one. However the answer is unconvincing to me. By this reasoning, should someone make a jquery compiler that blocks the access to the original javascript language, and perhaps fills in any resulting holes in fuctionality, then jQuery would be a language. But how much would have really changed? And also, should then someone implement this new JQuery within a javascript environment, we would be talking about an embedded language within another language. but isn't that what we have now? I think to the extent that a library brings in new syntactic styles, it becomes more and more similar to a language.

As an aside, this got me thinking about compilers that can compile multiple languages in the same source file.. a kind of linguistic pick-n-choose... has anything been done along those lines?

<comment><USER8> A couple years ago I actually wrote a sort of meta language on top of jQuery (sort of a combination between jQuery and Python). <http://ejohn.org/apps/jquery2/> Be sure to view the source and look for: script type="text/jquery".

</comment></comment><comment><USER9> When it gets integrated in the web browsers. If browser makers starts to ship their browsers with integrated jQuery/YourFavouriteJSLibrary stable releases would become a defacto language.

<comment><USER10> well, I really hope this doesn't happens.. jQuery IS just a library at the end. There is no magic going on. JS is a functional language where you can fiddle with prototypes so everybody can make arr.each(function(...){..}); and $ is not a special character. And that is all that those examples in blogpost show.

<comment><USER5> > There is no magic going on.

What does this mean exactly? No language performs "magic" at a fundamental level. When I first started with programming in the early 80's, the distinction between library and language was just as blurry as it is now. Many of the Basics and Pascals I worked with made graphics drawing primitives language keywords, even though nowadays, these would be considered part of an OS's platform specific libraries. (Logo, in particular, was almost all graphics related keywords.)

<comment><USER10> Meaning that whatever jQuery does ("language" vise) every simple lib in JS can do. So what jQuery enables, basically JS as a langauge enables. So jQuery is not almost it's own language but it's library in JS.

<comment><USER11> Yeah - magic to me would be implementing blocks i.e.

arr.each { x | ...};

at that point it would be a different language rather than a clever fluent expression happy library.

</comment></comment></comment></comment></comment><comment><USER12> I don't think it is. It just think it largely replaces an internal domain- specific language (the DOM) with an better, more convenient one abstracted on top of it (jQuery). Using jQuery for the DOM feels much more natural and more like JavaScript than the ugly W3C interface.

I honestly don't think jQuery differs too far from writing ordinary JavaScript. Yes, it has a nice design, but it ultimately works because it plays to JavaScript's strengths rather than its weaknesses, and many of its other design decisions are forced by the limitations of the language and good practice.

In fact, one of the reasons jQuery is so popular is because it doesn't use one of JavaScript's most powerful and most misused tools by playing with the core language, whereas Prototype and Mootools make much more sweeping changes, blurring the line of where the library end and the language starts.

</comment><comment><USER13> BTW, you can write:

arr.each(function(el){...}); in Prototype as well, and you can attach custom method to JS array accepting functor "on the fly", it will look unfamiliar to beginners, but it will be still JS.

There is a definition for what author tries to explain:

Embedded Domain Specific Language

Here is the def:

<http://c2.com/cgi/wiki?EmbeddedDomainSpecificLanguage>

Many powerful languages provide cool constructs for creating embedded domain specific languages that look very different from the base language, just take a look at Ruby or LISP or C++.

You can also take a look at metaprogramming (writing programs that create other programs).

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

</comment><comment><USER14> >> "jQuery primarily gives developers a generic way to access and manipulate DOM elements (one of the main differences between browsers)."

I just don't get this. There aren't many differences between the browsers these days in terms of js at all. Rendering? sure. CSS? definitely. But js, and dom manipulation pretty much just works. Event handling is slightly different, but not massively.

I really do think the "Allows you to develop cross browser" is vastly overplayed.

<comment><USER8> I don't think so - there are so many bizarre DOM cross-browser issues out there. In fact, I did a whole presentation (at Yahoo!) concerning this very topic: <http://ejohn.org/blog/the-dom-is-a-mess/>

<comment><USER14> Thanks for the link,

I've never had such issues, but then I don't like the whole concept of getElementsByTagName getElementsByClassName querySelectorAll etc

If you're just using getElementByID, and the standard dom properties to navigate the tree (And make sure you don't do bad things with name= id= or use reserved words), you can't go far wrong.</comment></comment></comment>


Reddit releases fully functional VM with their source code - <AUTHOR> http://blog.reddit.com/2010/05/admins-never-do-what-you-want-now-it-is.html

<comment><USER2> Am I the only person who thought that instead of "an image for VMware" they meant "the source code to a functional virtual machine that Reddit uses"?

Don't get me wrong, this is cool. But the other way would have been way cooler.

<comment><AUTHOR> We're not quite that talented. ;)

<comment><USER3> We are. (I am working on XenServer.)

I did not get confused by the headline.

<comment><USER4> I read it as something like a new python vm, not a xen vm.

</comment></comment></comment></comment><comment><USER5> The choice to use VMWare was nothing personal to VirtualBox; we just happen to already be running VMWare on our dev boxes. (I'm actually downloading VirtualBox now to see if cross-compatibility is possible.)

<comment><USER6> I'm absolutely amazed at your dedication to this, and how confident you guys are that you're not helping some competitor.

That goes to prove that closed source is really a dead end, once you have a sufficient head-start you can even afford to give away a _turn-key_ copy of your software and still sleep at night.

Impressive!

<comment><USER5> Thanks.

We really hope this will help us more than hurt us in the end. Part of the problem with releasing something like reddit as open source is that it isn't designed around installation. For the most part, the pieces have been built in place organically as needed. This means that even though the source is out there, it's been really hard to get developer contributions as many get stuck before they get reddit up and running locally.

This should effectively lower the barrier to entry there and let devs actually think about the code and adding features rather than about whether or not rabbit-mq or cassandra are properly configured.

<comment><USER6> I would have exactly that problem if I released code to any of my sites (not that they're worth looking at :) ), and for much the same reason.

You build stuff because you have to when it hits, especially if you experience 'unexpected growth', and things like installation documentation and so on will suffer, if they exist at all.

So releasing a working VM is a great way to do this, it's about as user- friendly as you can get.

I think you'll be setting an example here that will be followed many times.

</comment></comment></comment></comment><comment><USER7> Reddit itself is hosted on EC2, right?

I use scripts (<http://github.com/wr0ngway/rubber/>) to boot up, configure, and deploy to my instances from a stock Ubuntu AMI -- but from the looks of this maybe you set up and maintain AMIs for each role instead?

I much prefer a scripted installation to a frozen hand-rolled installation, even if the latter is more reliable.

<comment><USER8> This is a little off topic, but can you elaborate on your reasons for preferring scripted installation? It's what I use too, but hearing someone else's justification would be helpful.

<comment><AUTHOR> I'll tell you why I'd like to get there. It makes updating the master image easier. If you need a new package, you just update on the server side, and then all the new images get that new package. No rebundling required.

It also helps when you want to upgrade your OS. As long as the packages are mostly the same, you can just run your update script from the new OS and make a few changes.

The way I have to do it now, I have to build a whole new master image from scratch, because I can't upgrade Ubuntu in place on EC2 due to the way they handle the kernel and kernel modules.

<comment><USER9> Doesn't this increase the time it takes to boot up a new instance, though?

Boot, update and apply patches, copy over source & data, start running services... _everytime_ you start a new instance

<comment><AUTHOR> Yes, it does. But you probably aren't starting instances _that_ often, and it only adds a few minutes. If you really need a fast boot, then you can still use an image.

However keep in mind, on EC2 at least, that the images are actually downloaded from S3 when you boot, so if you have a huge image, it will take almost as much time.

</comment></comment></comment></comment></comment><comment><USER10> Another question, If I wanted to improve reddit's search, it would help to know what solutions you've already investigated (and what you are currently doing)?

<comment><AUTHOR> Here is where we publish most of the info about search:

<http://www.reddit.com/help/search>

In short, it used to be a fulltext search through the database, and now is is Solr built on Lucene.

However, I think PG's essay about why he doesn't have a better search on HN applies equally to reddit -- because there are much better things to spend time on.

<comment><USER11> PG is wrong, search is a very useful feature. Even more so for a site like reddit where submissions can be in different subreddits.

If search weren't useful, why is there searchyc? And every few weeks a topic about why there is no search function?

<comment><USER12> Is there some reason that using Google isn't good enough? Most of my trouble searching reddit is because it's hard to translate "that picture of a guy with a bacon helmet" into something Google understands.

</comment></comment></comment></comment><comment><USER13> I've been bullshitting with getting this idea out of my mind and into production -- over thinking how I should build it, getting stuck in design mode, wondering if it will scale -- a bunch of self-imposed barriers. Now Reddit has provided a solid blueprint. I am amazed and very thankful. I hope to help with some of their issues one day.

Thanks reddit

</comment><comment><USER14> Ah, thanks for this.

I tried to run reddit on my machine. However, I got into many dead ends, the redditdev IRC was quiet, and because I had no idea what I was doing with MacPort or the Terminal (or my filesystem or the many different paradigms I had to deal with) I lost all faith in me trying to understand how sysadmins (or python developers) got things done.

Essentially, I became contempt for being a noob of a CS student, but at least I know how to run a virtual machine and prove by induction. That's a job skill right?

<comment><AUTHOR> > That's a job skill right?

Depends on what you do with the VM.

</comment></comment><comment><USER10> Out of curiosity, how much external contribution is there to reddit's source code?

<comment><AUTHOR> Not a lot right now, but hopefully more with this release.

<comment><USER4> Any stats as to how many people have reddit clones based on the codebase?

<comment><AUTHOR> These are the only ones we know about (and I think 1/2 of those are dead): <http://code.reddit.com/wiki/PoweredByReddit>

The goal with open sourcing was never to have clones -- it was to get people to dev the features that they felt were important but we did not, or did not have the time for. Being able to make an easy clone was just a side effect.

<comment><USER15> I really like <http://lesswrong.com> \-- a spinoff of <http://overcomingbias.com>

Their 'stacked' view of threaded comments makes a lot of sense to me. It might be really nice for a code editor too -- the minimal indent width can be smaller, and context is clearer.

<comment><AUTHOR> Lesswrong is awesome. It is my favorite reddit derivative.</comment></comment></comment></comment></comment></comment>


Paying to Work: Australian Startup Offers "Learning Platform of the Future" - <AUTHOR> http://www.abc.net.au/triplej/programs/hack/would-you-pay-to-work-for-a-company/8281544 <comment><AUTHOR> _" instead of sitting in lectures we get you working on projects with real companies to learn the right skills and build a portfolio of work. "_

Paper Plane explaining ^how it works^: [https://www.paperplaneprojects.com.au/how-it- works/](https://www.paperplaneprojects.com.au/how-it-works/) and another _" Re-thinking Traditional Education"_ ~ [https://www.paperplaneprojects.com.au/blog/rethinking- tradit...](https://www.paperplaneprojects.com.au/blog/rethinking-traditional- education/)

Is replacing _" one 4 year course to a series of 6-8 week projects"_ enough?</comment>


A New Study Reveals Much About How Parents Really Choose Schools - <AUTHOR> http://www.npr.org/blogs/ed/2015/01/15/376966406/a-new-study-reveals-much-about-how-parents-really-choose-schools

<comment><USER2> I am not sure I understand the article or the findings or whats it's trying to claim.

My oldest son is in a charter school the most hotly debated one of them: Success Academy. Its biggest problem is not attracting kids but building more schools and making sure they keep getting funding. His school is in Williamsburg and some people come from upper east to attend the school (the kids meet at 7.30)

Furthermore of course distance is always going to be an issue for some but I frankly don't see it in real life as most kids don't get to choose at all.

Maybe there is something I am missing.

<comment><USER3> Yeah, the article is a bit weird. It's looking at something VERY specific and not really the broader "are charter schools good?" argument.

The idea behind the article is this: people claim that charter schools, known for better academic performance, will cause public schools to increase the quality of their own academics because parents will be able to choose to send their student to the better school. Basically, the idea that increased competition will increase quality across the board.

The article says that this may not be the case because academic performance isn't as significant a factor as people might think. Most people will say that, if given the choice between a Grade A school and a Grade C school that they would send their children to the Grade A school. But after looking at the actual decisions made, it appears that many people would be fine with a Grade C school if the Grade A school was 2 miles further away. Or if the Grade C school had a football program and the Grade A school didn't.

In other words, if public schools and charter schools are competing, they're not actually competing on academics (since parents aren't using academic performance as a deciding factor). Instead, they're competing on other factors: location, extracurriculars, etc.

And if the schools aren't competing on academics, then there's no reason to believe that increased choice will create increased academic performance across the board.

At least, that's the point the article is trying to argue.

</comment></comment><comment><USER4> > Poorer families care more about other factors — and less about academics. > The study split families up into thirds based on the median income in their > census tract. What they found was that the lowest-income New Orleans > families were even more likely to pick schools that were close by, that > offered extended days, and that had football and band in high school — and, > conversely, they had a weaker preference for schools based on test scores.

Are we convinced that choosing schools by their test scores is the best way to choose schools?

The researchers started with a simple premise. Charter schools deliver equality only if parents prefer schools with higher test scores. Clearly some parents don't.

I can't imagine a universe where a better football program actually ends up being a wiser choice for your child than better test scores. Does anyone think we're better off, on average, even considering football to be more important? It just seems like test scores being more important is far and away the right answer.

So for me, the real question is, is there a way to convince parents that test scores are really all that matters without resorting to full-blown jingoism? More precisely, do we have to coerce the idea that test scores matter more than football?

Effective education systems have all sorts of coercion, and the most successful ones tend to treat test scores as the #1 priority. German high school students are tracked into different tiers of educational attainment. German laws restrict the ability of private schooling to provide an alternative to the national system's decision, "Test scores are important, your child is stupid, and he's going to become an apprentice." Anecdotally, I've learned that some Korean parents track their poor-performing daughters into performance arts (i.e., playing violin and singing). And in my top-ranked public high school, we ghettoize students into honors/non-honors starting Freshman year. My takeaway from these high-performing scholastic environments: the child doesn't choose how important test scores are. The system chooses for them, and it chose "test scores are important."

If charter schools are to succeed, and indeed any objective educational reform, I tend to agree with the implied argument of these researchers. Test scores are more important. Now, what do we do with the people who disagree?

<comment><USER5> By the way, do you have children? I ask because the choice of school is far more nuanced than picking the one with the best test scores.

For example, a school with the highest test scores may not be ideal for a child that struggles with concentration and self-discipline. That child may find him/herself lost among more dedicated peers.

For poorer families time is an incredibly valuable resource. When you earn minimum wage, a school that offers inexpensive or free childcare after school is a net financial gain; the parent can work with out paying extra for child care.

Poor families and their children who cannot foresee outcomes after finishing high school other than joblessness or minimum wage jobs optimize differently; a better football program in the here and now may be a better choice than better academics with an uncertain payoff in the future.</comment></comment>


Ask HN: Supplement for a CS degree? - <AUTHOR>

I was wondering if someone might be able to give me an outline of the courses/topics that are integral to understanding computer science from the bottom up.
Basically I'm looking for a solid "self-taught" curriculum to supplement a four year BS in Computer Science.  I know the topic of Computer Science is vast, so I'll just say that I'm interested in acquiring a deep understanding of the fundamental knowledge required to learn high level topics in CS.
I would assume there is a healthy dose of math in the mix.
Links to content are appreciated. <comment><USER3> Here's a very brief overview of a few fundamental CS topics. It's by no means complete, but this is what I'm going to focus my energy on in college:

1\. Programming (duh) - choose a dynamic language to begin with. I'd say Python or Ruby, whichever suits your aesthetics. Play with it for a while, and then learn C. With (Ruby|Python)+C, you're ready for anything your learning process might require of you.

2\. Discrete Maths - not required if you just want to be a desktop/web programmer, but it helps in understanding more advanced topics. I'm not a mathie, so I don't know where linear algebra fits into all this, but I guess it's a part of discrete maths. Whatever. Learn discrete maths and linear algebra.

3\. Data Structures - you might not need this knowledge if you're going to spend most of your time dealing with Python/Ruby, but it helps a lot when you drop down into C or when you want to optimize your code. Some of the more advanced data structures are also helpful when you need to come up with elegant abstractions for managing data in a program.

4\. Algorithms - very important. Don't call yourself a computer scientist if you aren't familiar with big-O and some basic algorithms.

5\. Object Oriented Programming - OOP principles are very handy when you're working in teams. Throw some design patterns into the mix.

6\. At least one purely functional language (Haskell is pretty popular), one purely OO language (Squeak Smalltalk, maybe) and one stack based language (Factor is awesome). This will teach you how to look at problems from different perspectives. Of course, you don't need to _master_ any of these languages unless you're truly interested in them.

7\. One "enterprise" language. Java, C#, anything that gets you a job. None of these languages are especially difficult to master, and will act as a backup in case nobody wants to hire a Ruby God.

Besides all that, you might want to dabble in computer graphics, data mining and information retrieval, programming language concepts, compiler design, virtual machines, OS design etc. Your pick.

<comment><USER4> This is all great advice that I, as a CS undergrad, am going to take to heart.

Something along a similar vein that bubbled up on HN a long while ago is the Programmer Competency Matrix: [http://www.indiangeek.net/wp- content/uploads/Programmer%20co...](http://www.indiangeek.net/wp- content/uploads/Programmer%20competency%20matrix.htm)

For my own part, this was a golden find, as it describes components of five spheres of competency (Computer Science, Software Engineering, Programming, Experience and Knowledge) as well as - and this is the important part - <USER2> steps it takes to obtain mastery in the components of those spheres.

While this may partially be an oversimplification, it does put things into terms my game-conditioned brain can easily understand, and I suspect that I'll likely discover anything it has missed in my pursuit of mastery.

Your college curriculum may or may not involve going through the SICP, but it's something I recommend. It's available online...

...in HTML

<http://mitpress.mit.edu/sicp/full-text/book/book.html>

...in PDF

<http://web.mit.edu/alexmv/6.001/sicp.pdf>

...with an accompaniment

[http://eli.thegreenplace.net/2007/06/19/introducing-the- sicp...](http://eli.thegreenplace.net/2007/06/19/introducing-the-sicp-reading- notes/)

...and there are several archived video lectures on the topic

[http://groups.csail.mit.edu/mac/classes/6.001/abelson- sussma...](http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman- lectures/)

</comment></comment><comment><USER5> If you're looking for what a CS degree would involve, why not check out a curriculum/lecture course list? (e.g. <http://www.cl.cam.ac.uk/teaching/0809/CST/> \- the one I did, a fairly theoretical high-level approach).

I'm not quite sure on your meaning though, it sounds like you're doing a BS in CS and want more..?

<comment><USER4> It sounds to me like he's less interested in what a CS degree involves and more interested in what a good understanding of Computer Science involves, regardless of what one college decides is good for a curriculum, and so he wants to go beyond simply what the course is teaching. For reference, the definition of "supplement" in this instance is most likely "Something added, especially to make up for a deficiency."</comment></comment>


Willing to give up blue skies for climate fix? - <AUTHOR> http://www.msnbc.msn.com/id/33495560/ns/us_news-environment/

<comment><USER2> The objections are essentially "I believe that the AGW science but I don't believe the mitigation science." Since the latter is mostly a subset of the former, this is interesting.

The science behind the mitigation effort may be wrong, but none of the objectors are making an argument that turns on specifics. They accept AGW on faith or because of values and they object to mitigation for the same reasons.

</comment><comment><USER3> No, no, no, ... a thousand times no.

As applicable to climate change as to ethics: Two wrongs don't make a right.

</comment><comment><USER4> When I first heard about this, I about broke down and started crying. This is the _worst_ idea I've ever heard in this on-going climate change saga.

I'd rather we just went back to coal power and forgot about "clean energy" than implement this.

<comment><USER5> Demonstrating that your sense of environmentalism is based more on what you find pleasing and less on costs and benefits

<comment><USER4> My sense of environmentalism is caring about what's good for the planet, not what ways we can offset the damage we've done. We have NO idea the cost of geoengineering. Outside of ruining the sky, how many plants will die due to lack of proper sunlight? How many animal species will go extinct due to the loss of these plants? What about the effect of less sunlight on any living being? Suicide rates are high in the extreme north and south of the planet due to constant darkness. A lesser effect, across the whole globe?

And what of the effect on weather patterns due to us pumping MORE junk into the air?

Oh and of course this geoengineering, once started, must NOT stop. If we stop replenishing the atmosphere, weather patterns will not keep an even layer around. We'll lose coverage, holes will open allowing pure sunlight back to the surface, and we'll end up with a greenhouse effect the likes of which we can't even imagine.

So no, the potential risks of this idea FAR outweigh the benefits in my mind. I would rather just kill the planet off now instead of make it a worse death later on.

<comment><USER5> _caring about what's good for the planet_

What the hell does that really mean, anyway? So the planet is harmed when old plants burn? Somehow this huge rock hanging in the sky is going to be hurt by some dirt?

I don't think so. I think no matter what mankind does the earth will continue along just as it always has.

And you'd rather just "kill the planet off now" WTF? Tell me, please, just how you would do that?

Look -- I'm fine with wanting "clean skies", whatever that means. But stuff is in the sky already. Has been for eons. So it's never going to be "clean". Never has been. If you're really pumped on "what's good for the planet" then you need to start explaining what exactly that means, cause for just words it doesn't make a lick of sense. In fact, it sounds like happy-happy-feel-good talk. The kind of talk which everybody agrees to but doesn't have much meaning.

</comment></comment></comment></comment><comment><USER6> The Wall Street derivatives guys smell big money trading carbon credits and they will never let it happen. Even Al Gore who called the idea "nuts" has a conflict of interest because he owns a carbon trading firm.

</comment><comment><USER7> Why don't we experiment with geoengineering some other planet before we screw up our own.

Venus is covered in clouds, doesn't seem to help it any...

</comment><comment><USER8> They scorched the earth in The Matrix, and that didn't go so well...

</comment><comment><USER9> Agread @chrisb -- This just sounds nuts. Let's poke some more holes in the ozone and create droughts to cool the earth? hmmm</comment>


Accelerator, a 3D browser game using the Unity Web Viewer - <AUTHOR> http://www.kongregate.com/games/TenebrousP/accelerator

<comment><USER2> First I've heard of Unity Web Viewer. Unfortunately (on Ubuntu):

        Unity Web Player
        The Unity Web Player is not currently compatible with the operating system that you appear to be using.

</comment><comment><USER3> Was playing this a while. It was difficult going above the speed of 400, then I realized I was using the trackpad. Just attached a wireless mouse and the speeds bumped to 600+, then used a table with more comfortable height and its 700+. Funny these games make you realize how good the mouse and the surface beneath it and the height and so on needs to be...</comment>


The Six Phases of Bootstrapping A One-Man Startup - <AUTHOR> http://factorthree.com/Blog.aspx?post=236

<comment><USER2> This article seems to fall into the increasingly popular category "I failed at X. Here are some tips about how to do X".

<comment><USER3> That's true, but seeing how (other) people fail is actually one of the best schools there is. At least you will not need to repeat the mistakes that you know about.

<comment><USER2> This is true, but in those cases there is the perfectly respectable "N mistakes I made" format. The thing that rankles me is positive advice (you must do A and B in order to succeed at X) given by people who have just failed spectacularly at X.

<comment><USER3> Excellent point, we should be hearing more from the winners.

Still, I've been part of a couple of failed projects before I set out on my own and I'm pretty sure that I would have fared a lot worse if not for my prior experience. That saved me a ton of time and money.

I still found plenty of 'original' mistakes to make though :)

</comment></comment></comment></comment><comment><USER4> Donnie,

If you can't do it on your own, you need to outsource the sales my man. Sign up with an affiliate network and let the pyramid schemers take care of it. Offer them something like 50% on all sign ups; you can afford to pay a big finder's fee because a CMS is something that people don't give up quickly once they start using it.

I would strongly urge you NOT to give it up and focus on the sales side of things, you're done coding for now.

</comment><comment><USER5> I see just two phases in this list: 1\. create product 2\. fail to sell it

</comment><comment><AUTHOR> Thank you all for you posts. I want to make it clear that I'm not making any absolute statement about anything. I just wanted to share my experience.

I know that I did a poor job of market research from the onset and that there's a long list of things I should have/should not have done to make this work. I do appreciate your opinions.

</comment><comment><USER6> After stage one there is one necessary step that the author has missed: to calculate whether this idea will bring any money (or at least cover the costs). It is painful to invest 8 months of one's life into something that wouldn't have produced any returns in the first place.

<comment><USER7> _It is painful to invest 8 months of one's life into something that wouldn't have produced any returns in the first place._

Painful, yes. A waste of time, I don't think so.

Although I would never recommend building something without understanding the business model, all is not lost. OP probably learned more valuable lessons (and technology) in that 8 months than he would have in a job or at school. Now is the time to put that education to work. Not doing that _would_ make it a waste of time.

<comment><AUTHOR> Thank you for noticing that although I have not enjoyed any monetary success, I have learned a ton about business and product development.

Because of this product venture, I'm currently working on something much more promising because of the lessons I learned on this one.

</comment></comment></comment><comment><USER8> If I were told to write an article with that headline, the first sale would have marked the end of Phase #1. I'm not sure that I can fit everything else you need to do into only 5 phases left, but relabeling the first sale stage 0 is just cheesy.

</comment><comment><USER7> I believe OP has hope. Sounds like he has tons of local businesses who need what he has to offer but don't realize it. Therein lies his problem. I may be a little naive, but after reading his post, I still don't know what he has and why anyone would need it. I know what a blog is, but I'm not really sure what a CMS-Content Management System is. Why would a local small business need a "CMS"? Why would they want to blog? If I'm not clear, you can bet his local prospects aren't, either.

This has the makings of an excellent local lifestyle business which would be 90% product and 10% service. OP's ace in the hole is himself. I know that small businesses who would use his product would still like to see his smiling face once a month and be able to call him as needed. This is a huge plus!

My advice to OP would be to temporarily forget about the software, the technology, and the jargon. Instead, become a trusted sympathetic advisor to his prospects. Learn about their situations and understand the pain they have but don't even realize. Meet them on their turf and speak their language. And most of all, solve their problems and help their profitability. Nothing else matters.

What I have just described is all the sales and marketing you need to know. You had passion for the product when you had to, now is the time to have passion for your customers.

</comment><comment><USER9> 8 months initial dev cycle seems long - what is the prevailing idea about how long this should be once you commit to building?</comment>


WYSIWYG editor for Bootstrap - <AUTHOR> http://hackerwins.github.io/summernote/ <comment><USER2> You mean WYSIWYG editor developed using bootstrap? I read the title as meaning a WYSIWYG editor for developing with bootstrap, which would actually be awesome...

Smart visual tooling for a framework such as bootstrap would be quite nice.

<comment><USER3> A few of them exist - Jetstrap, and Layoutit come to mind.

<comment><USER2> Thanks, Layoutit looks particularly interesting.</comment></comment></comment>


Quirky's New Look - <AUTHOR> http://www.quirky.com/newlook

<comment><USER2> Dude. Spamming the history is not cool. I made the mistake of viewing the site on a snapdragon s4 phone: it was extremely laggy, and I had to press the back button more than a dozen times before I got back to HN.

I guess I'll have to wait till I get back home before I can actually look at your site, but seriously, you should do something about mobile accessibility asap.

<comment><AUTHOR> This is Quirky, a very heavily funded site. I have no affiliation with them and they're doing some big updates. I thought it would be of interest to some.</comment></comment>


Write Better CSS: From Hell to Heaven - <AUTHOR> http://blog.theodo.fr/2018/06/write-better-css-part-1/ <comment><USER2> Great article. So many CSS "tutorials" are really just giving you declarations to reach an end goal. They almost never explain the why and how. Nice to get a better understanding of the fundamentals.</comment>


Why I Work for Amazon: A Response - <AUTHOR> http://recode.net/2015/09/25/why-i-work-for-amazon-a-response/ <comment><USER2> Shocking. a VP thinks working at Amazon is great.</comment>


Apple says child labor found at suppliers - <AUTHOR> http://www.ft.com/cms/s/0/8af2a286-6754-11e2-8b67-00144feab49a.html

<comment><AUTHOR> Full article (if behind pay wall)

Apple says child labour found at suppliers - FT.com [http://www.ft.com/intl/cms/s/0/8af2a286-6754-11e2-8b67-00144...](http://www.ft.com/intl/cms/s/0/8af2a286-6754-11e2-8b67-00144feab49a.html#axzz2J5mPh6cD)

Apple found 11 facilities across its supply chain using child labour last year, the iPhone maker said in its annual "Supplier Responsibility" report. The California-based company, which has stepped up its auditing efforts in the past year under chief executive Tim Cook, said it had uncovered 106 "active cases" of children being employed by its suppliers over the course of 2012, and 70 people who had been underage and either left or passed the age of 16 by the time of its audit. None of those individuals is still employed by the suppliers, after Apple worked with its partners to help them spot fake identification documents or falsified records. In one extreme case, 74 of those 106 under-16s were employed by a single Chinese manufacturer of circuit- board components used in Apple products. A large local labour agency "knowingly" supplied the children, Apple said. Apple terminated its relationship with the supplier and reported the labour agency to the local authorities, who fined it and suspended its licence. "Our approach to underage labour is clear: We don't tolerate it, and we're working to eradicate it from our industry," Apple wrote in its report. "When we discover suppliers with underage workers or find out about historical cases … we demand immediate corrective action." As Apple extends its audits deeper into its supply chain, prevention of underage labour and juvenile worker protection were the only two categories among its eight human rights auditing criteria where violations had increased since the previous year. Apple found improvements among its suppliers during 2012 in areas such as anti-discrimination, freedom of association and wages. The Cupertino-based company is one of the few consumer electronics groups to publish detailed audits into its supply chain. Overall it found that just under a quarter of its suppliers failed to comply with its labour and human rights standards, with other breaches including 11 facilities using bonded labour.

We don't allow suppliers to act unethically or in ways that threaten the rights of workers – even when local laws and customs permit such practices - Apple As it tries to reduce excessive working hours, Apple said that 92 per cent of weeks worked by 1m employees tracked across its supply chain met its weekly criteria of a maximum of 60 work hours and at least one day off. That figure marks an improvement from 38 per cent a year ago, while Apple said that it had changed some of the ways it measured working hours to be "more meaningful and effective". Overtime increased among Apple's suppliers during September, October and November, when Apple was ramping up production of its new iPhone 5 and iPad mini, but decreased again in December. "We don't allow suppliers to act unethically or in ways that threaten the rights of workers – even when local laws and customs permit such practices," Apple said. "We're working to end excessive work hours, prohibit unethical hiring policies, and prevent the hiring of underage workers."</comment>


PDFs are the Cheques of the 21st Century - <AUTHOR> https://shkspr.mobi/blog/2016/07/pdfs-are-the-cheques-of-the-21st-century/ <comment><USER2> LOL. I bet this guy would rather have 50 docx files. Oh, I see there is a size comparison against plain text. However plain text also lacks his "semantic markup" and "link to specific parts" requirements. If you wanted all these features in a webpage (or webpages) just how complex would it become and how much would it "bloat" the file size?</comment>


Up to 11 Apple silicon macOS will be v11.0, according to Xcode release notes - <AUTHOR> "Xcode 12 for macOS Universal Apps Beta Release Notes" calls out macOS 11… <comment><USER2> Another thing that calls out macOS 11? The WWDC event a few hours prior to your post announcing macOS 11.</comment>


Art.sy moves to Artsy.net due to "issue with DNS servers in Syria" - <AUTHOR> https://www.dropbox.com/s/eb2px1az38q4tsa/Press%20Release%20January%204%202013.pdf

<comment><AUTHOR> Note: This PDF hosted on Dropbox is how the official press release was posted and linked to from Art.sy.</comment>


Weave for Messenger, feels like Apple Watch sketch - <AUTHOR> https://itunes.apple.com/us/app/weave-for-messenger/id994829540?mt=8

<comment><AUTHOR> Please welcome my new iOS app, Weave for Messenger! Weave for Messenger was inspired by Apple Watch sketch feature to quickly draw and send hand-crafted doodles to peers. The app brings an enhanced version of Watch sketch feature to Facebook Messenger platform users, featuring color support and a simple and user-friendly UI. Weave animations are uploaded as videos, which enables them to be viewed on any device with no app installed, repeating the way the doodle was drawn with a beautiful self-dissolving effect at the end of the recording.</comment>


Harvard Study Shows Snowball Method Best Way to Get Out of Debt - <AUTHOR> https://www.humblebuck.com/get-rid-of-your-debt/ <comment><USER2> The snowball method is nice in that it frees up monthly cash flow due to having to pay fewer minimum payments. In these situations, it can certainly be good.

But in order to minimize payments overall, assuming you have no cash flow issues and self discipline, it's financially optimal to pay off your highest interest debt first (the avalanche method). I'm guessing it might feel psychologically better to pay off smaller debts as each of those paid off is a win, but it's financially irresponsible to recommend the snowball method to everyone.

<comment><AUTHOR> Thanks for the feedback, when I originally wrote this I actually detailed the stack method (same as avalanche). From my perspective it doesn't matter if you pay off a $100 credit card, but have $14,900 left in debt. You haven't really improved your situation.

But after reading the results of the Harvard study I had to change the whole step. It turns out the psychological impact of seeing the size of the reduction on your smallest debt balance had staying power and kept people paying down debt.

So I agree it's the most logical to pay the stack/avalanche method, but unfortunately we're all just a bunch of moist robots who don't always follow logic.

Really appreciate the concern though, I was on your side before I ran into the study!

</comment></comment><comment><USER3> Here's the actual Harvard Study that the article references => "Research: The Best Strategy for Paying Off Credit Card Debt" : [https://hbr.org/2016/12/research-the-best-strategy-for- payin...](https://hbr.org/2016/12/research-the-best-strategy-for-paying-off- credit-card-debt)

<comment><AUTHOR> Ouch, trying to simplify and help, but I can see how it could come off wrong. Thanks for the note.

</comment></comment><comment><USER4> sofi.com doesn't have loan consolidation fees. I consolidated $40k worth of credit card debt into one loan at 8% interest and have been paying it down at like $1000 a month.

This method only makes sense if you also figure out how to control your credit card spending in the first place.

I opened two checking accounts and set up direct deposit split between them.

One checking account receives the exact amount of money I need for all of my monthly expenses (according to a budget), and the other checking account receives the extra money which I have allocated for "fun" spending.

The snowball method never worked for me.

<comment><AUTHOR> Good for you on taking the action to get rid of debt and I agree the snowball method doesn't work for everyone, it just works for a higher percentage of people.

</comment></comment><comment><USER5> > There's typically fee's associated with opening them.

This is a typo. It should read: "There are typically fees associated with opening them."

<comment><AUTHOR> Great point! Thanks for taking the time to send the note!</comment></comment>