Kickstarter doubles down on its anti-union stance - <AUTHOR> https://www.currentaffairs.org/2019/09/kickstarter-to-workers-and-project-creators-drop-dead <comment><USER2> I worry that tech workers may be under-informed about what a union may mean. A union can be in many ways similar to a corporation with its own power structure and demands.

Just 4 examples from my time in a union shop:

      1) Pay raise and promotion via seniority only

      2) Being warned by the shop steward that I was "working too fast"

      3) Heavy coercion to contribute to specific political candidates

      4) Going on strike for reasons I didn't agree with

Maybe a tech union would turn out better somehow. I for one would not want to go back to that situation.

<comment><USER3> Unions have their own goals that are more than just "the interests of Kickstarter employees". So in fact, there will be times when issues are important to Kickstarter employees but are not important to their union. Or important to the union but not very many employees. And then what?

<comment><USER4> I thought the whole point of unions was to represent interests of employees? If the Kickstarter employees' issues are not important to their union, why would they unionize?

<comment><USER5> >Pournelle's Iron Law of Bureaucracy states that in any bureaucratic organization there will be two kinds of people":

>First, there will be those who are devoted to the goals of the organization. Examples are dedicated classroom teachers in an educational bureaucracy, many of the engineers and launch technicians and scientists at NASA, even some agricultural scientists and advisors in the former Soviet Union collective farming administration.

>Secondly, there will be those dedicated to the organization itself. Examples are many of the administrators in the education system, many professors of education, many teachers union officials, much of the NASA headquarters staff, etc.

>The Iron Law states that in every case the second group will gain and keep control of the organization. It will write the rules, and control promotions within the organization.

</comment></comment></comment></comment><comment><USER6> Pro or con of the union idea, I hope get they nailed for firing those two organizers. Firing someone and claiming poor performance makes me not want to support them anymore. I won't give them a cent.

<comment><USER7> I've not met either the Kickstarter management nor the people that were fired, but isn't it possible that these folks knew they were poor performers and were on borrowed time with the company? They may have wanted to start a union that could bargain on their behalf with a lot more power.

I'm not saying that unions created in good faith are bad, but there are union leaders that give off a vibe of self-enrichment. Kind of like political lobbies- some are good, some are bad.

I don't know if we should take the fired employees' word for why they were fired. I've seen too many "bottom 5%ers" make up excuses why they were fired when the reality is that they plain couldn't hack it. I'll reserve judgement until there is a court case or a settlement. If it really is a slam-dunk case like the Twitter-verse makes it out to be, there are lawyers that are begging to help these poor souls.

<comment><USER3> I hadn't thought of it until I read your comment, but when I worked for the government, the people who were MOST familiar with the contract, the rules, the exact things that I could ask them to do and the things they were allowed to refuse... were the worst teammates.

There was a lot of really good people at the government. And they never talked about their contract. But then the two worst employees on the team were very, very familiar with their rights down to the letter.

There's some type of correlation there. The more you know the exact wording of the union contract, the more you talk about it, the less interested you are in serving the end customers to the best of your abilities.

If someone asks you to do something, and your default answer is that it's not in your contract, you're not approaching things in the right way.

<comment><USER8> > the people who were MOST familiar with the contract, the rules, the exact > things that I could ask them to do and the things they were allowed to > refuse... were the worst teammates.

Apply this comment to workers and employers and it sound reasonable. Rephrase this comment to apply to civilians and police officers and it sounds horrible, even though in both cases we can argue that the goal is to not have adversarial, competitive relationships, and instead to trust each other.

I am somewhat skeptical about unions, and I don't think they're the silver bullet that people claim they are. I sympathize with people who worry about adding additional layers to management. There is no such thing as an incorruptible organization.

But, I'm opposed to any insinuation that knowing your rights and exercising them is something to be ashamed of, in any context.

> If someone asks you to do something, and your default answer is that it's > not in your contract, you're not approaching things in the right way.

Again, this sounds reasonable. But it makes me feel really weird, and I think its the implication (intended or not) that being a good employee means not thinking about whether or not you're being taken advantage of. It is very difficult for me to imagine any employer I've ever worked for arguing the same thing in the opposite direction. Employers know their contracts, they hire entire legal teams who are entirely dedicated to knowing the contract. Shouldn't the employee also know the contract?

Mutual respect means not going out of your way to have power over another person; it means viewing them as an equal. If only one side of a business relationship is paying attention to and enforcing a contract, then that's not respectful; it's an unhealthy power dynamic.

<comment><USER3> There are two sides to every story perhaps. Not saying people don't need to know "their rights" and not saying it's ok to take advantage of people.

But I'm not talking about "unpaid overtime" or "working in unsafe conditions" here. I'm talking about wanting to do something to help the end user, and having people actively refuse to help because it's not in their job description.

And that stems from them knowing that they cannot ever be required to do anything that is not covered by their job description.

"So you want 10 minutes of my help to figure out why this program crashes and to make it better for the end user? Sorry, I need that request to come in writing from my boss."

People who help each other if they can is a much better environment than people who only help each other if they are absolutely required to do so.

</comment></comment></comment></comment></comment><comment><USER9> The lack of unions in the industry is making me leave. It's going to leave out many of its current employees to dry: I want something better than the word of an entrepreneur.

<comment><USER10> If a tech company I worked for unionized, I would leave. I'm not in a single company town where everyone has worked at the same place their entire lives. Tech companies face fierce competition for talent, and it has worked out quite nicely for the employees.

I wouldn't want some outside organization coming in and forcing me to pay dues, demanding changes to the structure of the company, devaluing my equity, and making it impossible to fire poor performers that make my job harder.

<comment><USER11> You're aware that the major professional sports in the US are unionized right?

Do you think the competition for talent for them is more or less fierce than it is for you?

<comment><USER10> That's the worst example you could've used. Pro sports leagues are monopolies with a large percentage of potential players/workers being left out of the market.

<comment><USER12> Only MLB is a monopoly.

<comment><USER7> Can you expand on that? It seems like the NFL and NBA are also monopolies. I can't think of any organization, even worldwide, that could compete in their sports. There is arena football, but that is a laughable alternative to the NFL. The top foreign pros play in the NBA, they do not stay in their home leagues. It seems a lot like there is no choice of where to play for top pros in these sports, which makes them a monopoly.

An alternative that doesn't seem quite like a monopoly is the UFC with mixed martial arts. Bellator MMA is a viable (but less prestigious) alternative for someone that doesn't want to work with the UFC.

<comment><USER12> I mean that MLB is a legally-granted monopoly in the United States. They literally have an antitrust exemption.

The NBA is the biggest game in town, but that's a question of money and I see some movement on that front. I expect to see the Chinese leagues start spending a lot more money in the near future, and Euroleague is starting to pay some players salaries that are significant even compared to the NBA (this year, Mirotic basically got what the Jazz would have offered him, after you take into account lifestyle perks and the like that come from Euroleague--and nobody in the NBA is giving Alexey Shved $4mil). The NFL is arguably closer to a monopoly but they're having a competitor to it launched next year in the re- launched XFL. Salary numbers aren't out there AFAIK, but there it's a billionaires-being-billionaires game of "what's your pain tolerance?".

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> It is interesting that they didn't stop their active KickStarter campaign and pushed people to not pull their donations. It would be nice for them to walk the walk, they did create a petition in response... If I were the CEO I would feel pretty safe about moving forward with the same policies.

<comment><USER14> Did you read the whole article? They _are_ pulling their campaign, after KS doubled down.

<comment><USER13> Did you read it? They just stopped promoting it. It is literally still up [https://www.kickstarter.com/projects/804992239/help- current-...](https://www.kickstarter.com/projects/804992239/help-current- affairs-expand-in-2020?ref=user_menu) . They claim they won't be back... but we will see about that

"We were unable to continue promoting our campaign, because every time we did, people criticized us for partnering with an anti-union company, which you have now admitted you are. As a result of our inability to promote the campaign in good conscience, our fundraiser has made far less money than it otherwise could have. "

</comment></comment></comment><comment><USER15> Open Collective is an alternative to 501(3)(c) for some orgs.

I wonder if an Open Collective -esque model could work for employees as an alternative to unions?

I applaud the benefits that early unions brought to workers, but what have they done lately(as in decades) I. Terms of creating/capturing value?

My experience with unions was an an employee of Amazon.com in the 90's and witnessing the horrible things WashTech and it's supporters did to my staff in a failed attempt to gain access to Amazon distribution centers.

It would be cool if there was a very light digital network model by which employees could collectively engage with company management/leadership.

As well as far less adversarial, more akin to collaborative labour/leadership relationship as found in Germany.

</comment><comment><USER16> Are there any fields similar to software development where there _are_ unions? And if so how is that actually working?

<comment> barry-cotter It works great for the Screen Actor's Guild and the rest of the film industry. They set minimum wages and use their market power to radically restrict entry so that there's less competition from outsiders, by not working with firms that employ non-members and expelling members that do.

Any Software Professionals Guild could do the same, reduce the supply of competitors and punish people who employed any entry level workers who didn't have the connections to get in.

One benefit, for current members, is that you can increase the cost of membership for new members. So you start off letting boot camp graduates work, then restrict it to Bachelor's holders, (who must be taught by members of course), then to a Master's.

You see the ever increasing credentialism in physiotherapy in the US, where you're now required to have a "professional doctorate". Pure waste given that it's an apprenticeship in Germany and a Bachelor's everywhere else.

<comment><USER17> "According to the most recent SAG statistics, the average member earns $52,000 a year, while the vast majority take home less than $1,000 a year from acting jobs." \- [https://www.hollywoodreporter.com/news/hollywood-salaries- re...](https://www.hollywoodreporter.com/news/hollywood-salaries-revealed- movie-stars-737321) [2014]

This doesn't sound very similar to the market for Software Engineers where there is a shortage of skilled labour.

<comment> barry-cotter Indeed. A successful US Programmers Guild would probably look more like the American Medical Association. It would restrict training places and increase entrance standards over time, doing everything in its power to prevent people who do the same job in other countries from having their qualifications recognized in the US. US physicians earn well over double the average of their UK counterparts, never mind Malaysian or Indian ones. If the AMA didn't do its best to stop doctors from these countries practicing that kind of differential would be untenable.

You'd also probably get some kind of "not a programmer, honest" like nurses in the medical field. In the current climate you can move from being the one who knows pivot table to business intelligence to data analyst to data scientist but with licensing and "professional ethics" there's always an attempt to maintain a bright line between professionals and "the help", whether they be paralegals, nurses or draftsmen, compared to lawyers, doctors or engineers.

</comment></comment></comment></comment><comment><USER18> The most interesting twist here is how it shows that "public benefit corporation" is an empty concept.

</comment><comment><USER4> I don't understand:

Nathan: "Would not voluntarily recognize a union even if the vast majority of workers signed in support of one."

The CEO's statement he referenced: " If a majority of the staff in an appropriate bargaining unit votes in favor of a union in an NLRB election, we will fully respect that choice and negotiate in good faith toward a collective bargaining agreement."

Those statements seem to be opposite of each other?

<comment><USER19> NLRB elections have a lot of requirements. E.g. the NRLB has been back and forth on whether graduate students can form a union: [https://www.washingtonpost.com/education/2019/09/20/nlrb- rev...](https://www.washingtonpost.com/education/2019/09/20/nlrb-reverses- course-graduate-students-right-organize-employees/) If everything goes smoothly it takes a month or two: [https://www.laboremploymentlawblog.com/2015/03/articles/coll...](https://www.laboremploymentlawblog.com/2015/03/articles/collective- bargaining/nlrb-quickie-election-rule-accelerates-the-union-organizing- process/)

NRLB elections are legally binding, so the CEO statement there is basically "we will follow the law".

The process Nathan is referring to is something a lot less formal where they pass around a petition to form a union and it gets a bunch of signatures. Not recognizing such a petition is consistent with Kickstarter's stance of not supporting unions.

Apparently there's also a 50% rule where if 50% sign authorization cards for the union then they can ask to be recognized directly ([https://definitions.uslegal.com/a/authorization- card/](https://definitions.uslegal.com/a/authorization-card/)), but nobody seems to be discussing that, probably because actual support for the union is low and getting even the 30% for an election will be difficult. In May there were 28 public supporters ([https://www.vice.com/en_ca/article/evjb47/workers- accuse-kic...](https://www.vice.com/en_ca/article/evjb47/workers-accuse- kickstarter-of-union-busting-in-federal-complaint)), but KS has 152 employees so they'd need 18 more employees just for an election.

</comment></comment><comment><USER20> What are the obligations of a US corporation when a vote for unionization is successful? Do all employees get opted in? Is it always required to be hiring exclusive to the union? What makes unions different (needing specialized legislation) from corporations - why can't employees wanting to unionize just go form their own corporation and try to sell their services on their own terms that way.

</comment><comment><USER21> I find it interesting that Kickstarter decided to go this route. It debunks the claims in the earlier HN thread [1] that the employees were fired due to performance reasons or somehow, conspiracy against Kickstarter.

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

</comment><comment><USER8> Regardless of whether anyone is pro or anti union, it's been obvious for a while now that Kickstarter isn't arguing in good faith about this. They are going to war with their own employees. There's just no justification for that, even if you think unions are bad.

Kickstarter keeps digging themselves deeper and deeper into this hole, claiming that they're doing it because unions will alter the relationship they have with employees.

Even if that's true -- you know what _really_ alters the relationship you have with employees? Firing them whenever they try to exercise their rights. It's pretty hard to believe an employer has your back when they are actively threatening you and telling you they won't acknowledge any of the decisions you make.

Kickstarter's owners and managers have proven that they're able to build a hostile work environment just fine on their own, without anybody else's help. I don't see any way for them to save face at this point beyond just sitting down and saying, "we were wrong, we treated you like children, and you have the right to decide how you want to negotiate with us."

<comment><USER3> Doesn't seem that you have the facts, but you're convinced that one side is right.

<comment><USER8> I'm open to hearing additional facts, but it's difficult for me to imagine what new information could come out that would change this situation.

Regardless of whether or not the employees were _actually_ fired for purely performance reasons, multiple workers have come forward and said that they believe the firings were related to union organization. It doesn't really matter what the intentions were, that's going to end up creating a hostile environment between workers and managers.

Let's assume for a sec that Kickstarter is completely acting in good faith -- well, there's being right and there's being smart, and the smart choice would have been to recognize that they're in a very volatile situation, and to temporarily hold off on making moves that could be misinterpreted as adversarial by their workforce.

Maybe that doesn't sound fair, but it's Kickstarter's job to maintain a functional work environment, not to be fair, and all evidence I've seen suggests that the current work environment is suffering.

In regards to other facts -- that Kickstarter won't voluntarily recognize employees decisions until required to through a legal vote, or that Kickstarter is openly campaigning against the union efforts -- again, I'm open to hearing another side to this, but this is first-hand information coming from press releases from Kickstarter itself.

Again, you don't have to be pro or anti union to think it's crappy for a company to insert itself into its employees' conversations about bargaining decisions, and then to claim that it won't recognize those decisions because doing so would somehow corrupt the neutrality of the process.

I'm not sure what facts could come up in the future that would make that turn into a good faith argument?

</comment></comment></comment><comment><USER22> On one hand you have good companies. On the other hand you have terrible companies. Same thing with unions - some of them are good and some of them are bad.

</comment><comment><USER23> Just as I was about to back Jeri Ellsworths project :(

Damn you conscious!

</comment><comment><USER24> Current Affairs can be a fun read (Nathan Robinson, who is an extremely weird dude, writes long-long-long-form takedowns of right-wing figures). But it's also an outlet with a very clear political perspective ("workers should own the means of production" would be a reasonable first approximation; "Elizabeth Warren is dangerously conservative" is an illustrative claim), so bear that in mind as you read.

<comment><USER25> The author even writes "As a left publication," which makes their stance incredibly clear. It's not hidden by them at all.

<comment><USER24> I wouldn't want to have suggested that Robinson is unclear about this, and I think even a glance at the front page of Current Affairs makes it clear.</comment></comment></comment>


Slimta: a lightweight python MTA suite - <AUTHOR> http://slimta.org/

<comment><USER2> I feel slimmer already

</comment><comment><USER3> Slimta is probably the best MTA I have ever used. Pure python, cannot get any better!

</comment><comment><USER4> go go slimta

It is a lightweight powerful transport agent that allows quick setup and powerful usages.</comment>


Reading Just Got Better - <AUTHOR> http://www.amazon.com/b/ref=as_li_ss_tl?_encoding=UTF8&node=11516960011

<comment><USER2> Hope it comes to the Kindle kindle soon. Wonder if it helps with dsylexia.</comment>


Show HN: Teach Yourself To Code - <AUTHOR> http://www.teachyourselftocode.com

<comment><USER2> Nice-- I would love for there to be a big, comprehensive hub for this kind of thing (as a person starting to get serious with Python). One issue I see here: it's not clear to me how wide a net you're casting. For example, would it be appropriate to submit links to MOOCs that may or may not still be available in the future? What about books that make particularly good entry points?

</comment><comment><USER3> Interesting site. I don't know if this is intentional, but the category scrolling can look kind of odd right before the transition: [http://imgur.com/OB7SbYn](http://imgur.com/OB7SbYn)

<comment><AUTHOR> Yeah, that's a bit janky. Could just have the switch happen slightly before they overlap. Thanks!

</comment></comment><comment><USER4> Nice layout. I'm tempted to use this same layout but for something different. Something that involves many elements like programming (programming languages).</comment>


What MVP should you be building? - <AUTHOR> http://customerdevlabs.com/2016/04/14/what-mvp-should-you-be-building/ <comment><USER2> I wish I didn't have to unlock the video The premise is great and It's definitely got me thinking about how I can lean out my current customer development cycle. Thanks for this

<comment><AUTHOR> Sorry, I should have included a link that automatically unlocked the videos.

Here you go: [http://customerdevlabs.com/2016/04/14/what-mvp-should-you- be...](http://customerdevlabs.com/2016/04/14/what-mvp-should-you-be- building/?mbrStatus=noAlert)

<comment><USER2> Wow thanks :)</comment></comment></comment>


Jepsen: Crate 0.54.9 version divergence - <AUTHOR> https://aphyr.com/posts/332-jepsen-crate-0-54-9-version-divergence <comment><USER2> I have a general question about database reliability that perhaps someone could help me look into.

I love these Jepsen posts, and Kyle Kingsbury's work is amazing.

It all shows that distributed systems are really complicated and difficult to get right. These posts on the open source ones are really great. But how do you go about evaluating a proprietary one?

Let's say my company is looking for a columnar store. We look at the evaluation of Cassandra and think, "Nope."

But then someone says, "Hey! Let's go with Redshift!" How do you know that's any better?

We all know that DB makers claim certain things. Why would Amazon be better at this tricky subject than the people behind ElasticSearch?

My question is that I would really like to know what people think about this?

Is the decision that it's better to go with the unreliable demon that you know? Or is it better to pass the responsibility off to a company like Amazon, hope for the best, and lawyer up if unexpected things happen?

<comment><USER3> There's nothing wrong with Cassandra but its reliability depends on settings you use. For example you should prefer using CRDTs. The article is a good guide to understand what's going on.

RedShift technically is a service for which you pay not a database (I did not use it but I believe it is Postgres - don't quote me on that), so if it doesn't provide what's promised you take it with Amazon.

Anyway the summarize databases. Currently we have two types:

\- relational databases - old and proven, always consistent, but typically not distributed

\- so called NoSQL which I think only worth attention are AP (from the CAP). These databases scale, but are eventually consistent. This means they are consistent most of the time, but not always. It's good for storing things that while important, it's acceptable when some individual entries are wrong or lost (user sessions, shopping carts, tracked information about users etc)

There are also databases like Mongo which are snake oil.

<comment><USER4> Redshift is definitely "based" on Postgres, but its distributed systems components are probably proprietary enough that the concern is valid.

</comment></comment></comment><comment><USER5> Not to be confused with Rust Crates (which I mention because I was confused).

<comment><USER6> Was my first thought as well.

<comment><USER7> It should be referred to as crate.io for this reason

<comment><USER5> Meh. I think a better root solution is picking more unique names. Like, instead of Create, why don't they call it: Rustpkg? Or maybe, Rusputin? You know, a mix of (Grigori) Rasputin and Rust. It avoids all the (many) drawbacks of giving projects too generic of a name, while also making it more memorable and fun!

<comment><USER8> "rustpkg" was the name of the thing Cargo replaced.

</comment></comment></comment></comment></comment><comment><USER9> I think something went wrong here:

      ; For each [version, reads] pair, discard those with one value
      multis (remove (fn k vs
        (= 1 (count (set (map :value vs)))))

</comment><comment><USER10> Is this bug in Crate, or Elasticsearch? I believe Crate bypasses Elasticsearch for some things and accesses shards directly, at least to perform query pushdown operations, but are they also handling the optimistic version control?

<comment><USER7> Crate.io does skip elasticsearch and go straight to lucene in many cases, see [https://crate.io/a/sql-for-elasticsearch/](https://crate.io/a/sql-for- elasticsearch/) for some examples. It's still so new that I don't trust it with master data though. They do have good backup/restore functionality</comment></comment>


HashiCorp forbids its software being used in China - <AUTHOR> https://www.hashicorp.com/terms-of-evaluation <comment><USER2> Hello, I'm a founder of HashiCorp and I'd like to explain this.

First, this document only applies to enterprise evaluation software. This doesn't apply to our OSS software and this shouldn't be linked anywhere near our OSS except in the context of signing up for an enterprise eval.

Most importantly: why is this here? This is NOT a political statement. This is a legal requirement. The encryption we use in Vault is subject to Chinese export control laws and it is illegal for us (by Chinese law) to sell in China.

To be able to sell Vault within China we'd have to restrict the encryption that could be used within Vault to government-acceptable versions.

We don't do this, therefore it is illegal for us to sell in China. We have to include this line in our enterprise terms.

EDIT: Our legal team has updated the copy in our terms to be more explicit. You can read the updated copy in the second paragraph here: [https://www.hashicorp.com/terms-of- evaluation](https://www.hashicorp.com/terms-of-evaluation)

<comment><USER3> It's interesting to me that it's _Chinese_ export control laws that affect you. Normally when you hear about this kind of thing, it's the US export restrictions causing the issue. Does that not apply in this case? And wouldn't you be _importing_ into China? (IANAL, genuinely asking)

<comment><USER4> It's not export controls in the case of China afaik. It's literally 'the party would like to read your data in the name of social harmony'

<comment><USER5> Ya, the word "export" was incorrect in OP's post

</comment></comment></comment></comment><comment><USER6> From Mitchell Hashimoto, the founder of HashiCorp:

[https://twitter.com/mitchellh/status/1266390186054651905](https://twitter.com/mitchellh/status/1266390186054651905)

<comment><USER7> Whoa, wait, the founder's last name is Hashimoto? That's awesome. I always just assumed it was a portmanteau related to hash functions.

<comment><USER8> Ah that's interesting -- I've never associated it with hash functions though I can see how one might be led to.

Hashi to my ears sounds distinctively Japanese (I understand it either means "bridge" or "chopsticks").

</comment></comment></comment><comment> rolls-reus [https://twitter.com/mitchellh/status/1266396356572139526](https://twitter.com/mitchellh/status/1266396356572139526) According to the founder they use a Chinese approved encryption scheme for enterprise versions in China. I wonder what encryption that is.

</comment><comment><USER9> I wonder if this includes Hong Kong

<comment><USER10> Or Taiwan!

<comment><USER11> Why would it include Taiwan? They are separate countries not separate "systems"

<comment><USER12> It says it only applies to the People's Republic of China, and in the notes above it's only because of the laws of the People's Republic of China.

In all practical senses Taiwan is a separate country, but there are reasons not to admit it: [http://www.youtube.com/watch?v=4AivEQmfPpk&t=2m55s](http://www.youtube.com/watch?v=4AivEQmfPpk&t=2m55s)

</comment></comment></comment></comment><comment><USER13> Why exactly they do that?

<comment><USER14> Good question. It's not like IP protection is practical in China--this software WILL be used in China against license. It's also basically impossible to hold Chinese companies (often entangled with the communist government of China) accountable for things like fraud or IP theft.

Maybe it's just a political statement.

<comment><USER15> None of this is true. It's not political, it's not about IP, it's about Chinese law, and it doesn't apply to OSS.

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

<comment><USER16> What they are saying is that even in regards to OSS it wouldn't matter because China has such a disregard for non-Chinese law (and the citizens have blatant disregard for even some Chinese law) and property that they will just outright steal it or otherwise break any law that inconveniences them to just use the software anyway.

</comment></comment></comment></comment><comment><USER17> Weird that there is no official announcement from HashiCorp to explain this decision.

<comment><USER15> [https://news.ycombinator.com/item?id=23351181](https://news.ycombinator.com/item?id=23351181)

</comment></comment><comment><USER18> Nice</comment>


Jeff Bezos Screws Amazon Workers. Now He Wants to Do That at the Washington Post - <AUTHOR> https://www.huffingtonpost.com/entry/washington-post-jeff-bezos_us_59df9245e4b00abf3646fff9 <comment><USER2> Sure, but that's ok because he wants to donate the savings to charity.

</comment><comment><USER3> Don't you get it? The theme is "daring greatly...so long as the little people get squeezed harder and become more powerless..."</comment>


Show HN: Send Secret Messages over Twitter as Public Tweets - <AUTHOR> https://github.com/dpapathanasiou/tweet-secret <comment><USER3> Steganography conceals the existence of the message, not just the contents.

if David Miranda gets stopped at Heathrow and:

        On the following morning, the gener·al requested permission to return the emperor's visit, by waiting on him in his palace.
        A pitched battle follow·ed.
        But the pride of Iztapalapan, on which its lord had freely l·avished his care and his revenues, was its celebrated gardens.
        ...

is in his twitter account, it's in no way plausible that they're just innocuous tweets, and he can be compelled to reveal the secret.

A true steganographic message would have looked indistiguishable from any other tweet that he would have made normally. this is a cute system, but it's not steganography.

<comment><AUTHOR> The output is a function of the corpus.

So if Miranda doesn't usually tweet about the history of Mexico, he can pick other texts (written by him or others) which would sound more plausible as something he might normally tweet.

Having said that, the middle dot is not as unobtrusive as I would like, so perhaps it's better to rethink that part of the system, using some of the other suggestions in this thread.

<comment><USER3> even ignoring the middle dot, just picking a more suitable corpus for that person isn't necessarily going to make this technique look innocuous - it's still a collection of excerpts taken from what looks like random positions within a document. it looks suspicious.

you could imagine a system which uses entirely normal and habitual tweets, but encodes information in choices of synonyms used in the text, or whether or not punctuation was used in certain places, or the timing of the tweet's publication. lower bitrates, but plausibly deniable as to the message's existence.

<comment><AUTHOR> I would posit that a stream of non-sequitir tweets is not necessarily suspicious (depending on the person/account in question, of course).

The classic steganography methods you're describing may appear less _obvious_ (for lack of a better term), but they're also easier to break once the pattern is discovered.

<comment><USER3> just as hard to break if you're doing it properly: one bit per tweet, encoded as 'message ends with period = 1, no period = 0', and that's your ciphertext stream. from then, AES or RSA or a OTP or whatever you want.

Then what you're writing will be functionally indistinguishable from random.

hmm ... but maybe too random, humans are bad at being truly random - <USER2> entropy in your period usage will be too high ... perhaps xor the RSA output with a OTP of something 'random' you scribbled yourself on a page ;-)

<comment><USER4> _" perhaps xor the RSA output with a OTP of something 'random' you scribbled yourself on a page ;-)"_

... seemingly random bits, xored with anything not directly related to the bits in question produces seemingly random bits... There are other ways of transforming a sequence of bits to look less uniform, though.

</comment></comment></comment></comment></comment></comment><comment><AUTHOR> This is a side project I've been working on for the Lisp in Summer Projects[1] contest.

It's a text steganography app using a simple book cipher, written in Clojure.

I welcome any feedback from HN so let me know what you think!

[1] [http://lispinsummerprojects.org/](http://lispinsummerprojects.org/)

<comment><USER5> I could see an advertiser making interesting use of this. "Drink more ovaltine!"

Have you thought about trying to do a public-key based version? People could list their key in their profile.

<comment><USER6> The problem there is the 140 char limit.

<comment><USER7> You can split a sentence across multiple tweets. V1.1?

<comment><USER8> Twitlonger isn't annoying enough?

</comment></comment></comment></comment></comment><comment><USER9> The amusing thing about sending ciphertexts over twitter compared to english text is that you can actually fit in more information, assuming you do the encryption and ciphertext encoding right. That's because twitter transports 140 unicode code points.

(This has nothing to do with steganography, but seems relevant nonetheless. )

</comment><comment><USER10> Cool! One other fun approach may be to use syntactic transformation (topicalization, middle field ordering, etc.) or lexical variation (e.g. through synonyms):

[https://www.cerias.purdue.edu/assets/pdf/bibtex_archive/PSI0...](https://www.cerias.purdue.edu/assets/pdf/bibtex_archive/PSI000441.pdf)

The advantage of such an approach is that you can use coherent text/messages.

<comment><AUTHOR> Thanks, I'll look into those suggestions, especially since I'm not really happy about using the middle dot (it's really _not_ unobtrusive, and the entire system would work better if I didn't use it).

</comment></comment><comment><USER11> I wrote a textual steganography library and CLI in 2011, called Plainsight: [https://github.com/rw/plainsight](https://github.com/rw/plainsight)

Additionally, @workmajj and I wrote TweetFS using Plainsight. It lets you recursively pack up directories and post them as an encoded linked list of Tweets to Twitter: [https://github.com/rw/tweetfs](https://github.com/rw/tweetfs)

I presented Plainsight at Hack'n'Tell NYC in 2011 and a video was recorded: [http://bit.ly/pecGgW](http://bit.ly/pecGgW)

Plainsight uses each byte of the input message to generate tokens. Bits are used to decide how to traverse the token tree, weighted by frequency. The drawbacks are 1) verbosity and 2) incorrect grammar.

One of the lessons of writing Plainsight is that _spam can be used to contain secret messages_. Send enough gibberish to enough people, with your intended recipient included, and you'll look like a spammer--not a spy.

I also wrote a fuzzing tool, called Shag, to find edge cases, e.g. for single- byte inputs: [https://github.com/rw/shag/blob/master/shag.rb](https://github.com/rw/shag/blob/master/shag.rb)

\-- Example 1 (regular text)

Type your message to encode:

       echo 'Meet at Union Square at noon. The password is FuriousGreen.' > cleartext

Then, pipe it through Plainsight:

       cat cleartext | plainsight -m encipher -f sherlock.txt > ciphertext

The output will be Doyle-esque gibberish:

       cat ciphertext | fold -s

       which was the case, of a light. And, his hand. "BALLARAT." only applicant?"
       decline be walking we do, the point of the little man in a strange, her
       husband's hand, going said road, path but you do know what I have heard of you,
       I found myself to get away from home and for the ventilator little cold night,
       and I he had left my friend Sherlock of our visitor and he had an idea was not
       to abuse step I of you, I knew what I was then the first signs it is the
       daughter, at least a fellow-countryman. had come. as I have already explained,
       the garden. what you can see a of importance. your hair. a picture upon of the
       money which had brought a you have a little good deal in way: out to my wife
       and hurry." made your hair. a charge me a series events, and excuse no sign his
       note-book has come away and in my old Sherlock was already down to do with the
       twisted

Now, decipher that ciphertext:

       cat ciphertext | plainsight -m decipher -f sherlock.txt > deciphered
       cat deciphered
       Meet at Union Square at noon. The password is FuriousGreen.

\-- Example 2 (binary data)

       $ dd if=/dev/urandom of=/dev/stdout bs=1 count=10 | plainsight -m encipher -f 1984.txt
       10+0 records in
       10+0 records out
       10 bytes (10 B) copied, 9e-05 s, 111 kB/s
       Adding models:
       Model: 1984.txt added in 0.89s (context == 2)
       input is "<stdin>", output is "<stdout>"

       enciphering: 100%|#####################################################################################################################################################################|474.67  B/s | Time: 0:00:00

       which is a war is real, the proles used mind on the telescreen. He could see through all right to. You have read what said. 'Yes,' only in the Ministry

<comment><AUTHOR> Thanks for hijacking my thread! ;)

Seriously, though, how would your library work for twitter?

It seems that the encoding process creates texts much, much larger than the original message.

<comment><USER11> TweetFS uses the SeqTweet library, which takes care of sequencing the tweets for you. Specifically, see the _list_to_twitter method: [https://github.com/workmajj/seqtweet/blob/master/seqtweet/se...](https://github.com/workmajj/seqtweet/blob/master/seqtweet/seqtweet.py#L36)

One of the use cases of TweetFS is to use Twitter as a 'dead drop'. You'll generate a lot of tweets by doing that, but there's no harm done.

I don't think I hijacked your thread. The other comments also discuss textual steganography.

<comment><AUTHOR> Thanks I'll look more into how TweetFS works.

I was just kidding about the hijiacking comment; don't people know how to interpret emoticons anymore? :D

<comment><USER12> I think the problem is that unlike ":)", too often people use passive- aggressive ";)"s, not meaning them in the friendly way they were originally intended but with a slightly bitter aftertaste.

But this is getting a bit off-topic I suppose... :)

</comment></comment></comment></comment></comment><comment><USER13> The big issue I see is that Twitter detects and delete gibberish as spam. So at best case your posts randomly get filtered when you use this.

At worst case after posting a bunch of gibberish Twitter bans your account.

<comment><USER14> Encode your secret message as a bunch of numbers, xor them your OTP, and then look up users with those numbers and simply re-tweet their most recent message.

Now your message is encoded in the userids of who you retweet.

<comment><USER15> Aren't go just publishing the otp and not the message? Or did I miss something?

<comment><USER16> They're publishing the encrypted ciphertext, which is the plaintext message xor OTP (aka the key). The encrypted ciphertext would be the user id's of all recent retweets.

The receiving party would have to know the OTP to decrypt the message.

</comment></comment></comment></comment><comment><USER17> Very nice! I worked on a similar steganographic system (not for tweets though) that you can find here: [https://github.com/hmoraldo/markovTextStego](https://github.com/hmoraldo/markovTextStego) There you'll find both the source code and a link to a paper explaining how it works and how it differs from other approaches.

</comment><comment><USER18> At Twitter Peak Hype, when journalists were writing silly things like: "Twitter is nothing less than a _new internet protocol!_ ", I had a perverse fantasy of implementing TCP/T(weet).

If someone were to do this, it would effectively subsume all further "I implemented $X on Twitter" posts. Sort of like showing that a language is Turing complete.

<comment><AUTHOR> Isn't that what app.net is supposed to be?

</comment></comment><comment><USER19> Nice project. Considering a stream of tweets how can you find the beginning and the end of a sentence/message?

<comment><AUTHOR> Ευχαριστώ!

There's no obvious way of telling where a "secret" sequence would begin and end.

For now, it might be best left as a coordination issue, similar to the choice of corpus: e.g., you know that you'll be tweeting secretly n times a day, at these specific times only, etc.

</comment></comment><comment><USER20> Or you could use [https://scrambls.com/](https://scrambls.com/) which uses strong crypto and works for facebook or any site. Keeping in mind that any short message protocol is vulnerable to cryptanalysis.

</comment><comment><USER21> For this to be secure (one-time-pad) you can't reuse the corpus. That's a big enough pain that I doubt people will actually do it. Which means you can start decoding their tweets once you collect enough.

<comment><AUTHOR> True, you _shouldn 't_ use the same corpus more than once, so there's always going to be a coordination issue between the sender and recipients.

</comment></comment><comment><USER22> Cool. Much better than my secret twitter message project: [http://www.twhatever.com/tweets](http://www.twhatever.com/tweets) :)

</comment><comment><USER23> So, horse_ebooks could have an ulterior motive?</comment>


What I learned at the Emerging Languages Camp - <AUTHOR> http://journal.stuffwithstuff.com/2010/07/23/what-i-learned-at-the-emerging-languages-camp/ <comment><USER2> The author also presented on his own language, Finch (<http://bitbucket.org/munificent/finch>). It was a great presentation, and the language implementation is _incredibly_ easy to read and understand. I don't see using Finch for any real projects (like many of the languages presented) but it was inspiring to see so many people presenting well-crafted labors of love.

For someone interested in programming language design or implementation, Emerging Languages Camp had a lot to offer. It received universal praise from everyone I talked to.

<comment><USER3> The author's talk on Finch was indeed awesome. He was very funny and modest and self-deprecating, but it was obvious to everyone that he was really smart. And his talk had some of the most quotable bits in the whole conference.

"I'm writing a recursive descent parser by hand because I keep it real." LOL

His listings of the things his language _couldn't_ do were hilarious too.

In response to a question from the audience, he discussed how he designed a programming language for the first time, which was really edifying and an interesting discussion of the mental journey. His answer was really good and I can't do it justice, but it talked about how he solved the problems by working in little stages. He knew that he could break up a text file into tokens, and that's how he built a lexer. Next, he realized that a parser was a lot like a lexer, and recognized groups of tokens, so he could build a parser. So he then had a tree, and he found that he could walk that tree. As he walked the tree, he realized he could emit bytecode. It was a really good description, and better than any single lecture in an entire semester of my college Compiler Construction class.

The fact that the author didn't even know he was going to be able to speak until the day of the presentation, and came up with a very polished and professional and engaging presentation says volumes about his ability. I think everyone really enjoyed his talk, and it really had a sense of joy and fun and discovery about it. And it was funny as hell. There is no doubt that we'll be seeing much more from him.

</comment></comment><comment><USER4> Good article, but I have to nitpick here:

 _Any well-versed programming language person can tell you about both recursive-descent parsers and generated parsers. They'll also tell that generated parsers are the "right" way to do that.

Most of the time that advice will save you from wasted effort, but sometimes I think it keeps people from going down paths that may actually be fruitful. Sometimes the thing that everyone knows is true isn't. (For example, every language I know of with a lot of real-world users actually does use a hand- written parser.)_

Recursive descent parsers are good when 1) you have a simple grammar and 2) you want fewer dependencies. Most lisps have hand-written recursive descent parsers because lisp grammar is easy.

Also, MRI ruby (aka CRuby1.8) uses a generated parser.

<comment><USER5> Yes, I like writing recursive descent parsers but I don't know of any in "industrial" use, beside the lisp parser you just mentioned.

I'd like to know if there are more.

<comment><USER6> LLVM's clang uses a recursive-descent parser to parse C, ObjC, and C++ (<http://clang.llvm.org/features.html#unifiedparser>).

 _Clang is the "C Language Family Front-end", which means we intend to support the most popular members of the C family. We are convinced that the right parsing technology for this class of languages is a hand-built recursive- descent parser. Because it is plain C++ code, recursive descent makes it very easy for new developers to understand the code, it easily supports ad-hoc rules and other strange hacks required by C/C++, and makes it straight-forward to implement excellent diagnostics and error recovery._

</comment></comment></comment><comment><USER7> Glad I read this, because I learned about Frink: <http://futureboy.homeip.net/frinkdocs/> and the FAQ: <http://futureboy.homeip.net/frinkdocs/faq.html>

This guy knows units of measurement.

<comment><USER8> His presentation was a pleasure to watch. I'd seen the pitch for frink in a video some time ago, but he's a charismatic speaker that keeps your attention even if you're roughly familiar with the material.

During the QA portion someone gave him a "gotcha" question only to have the tables turned when it was made clear the speaker new _far_ _far_ more about standards and units of measurement than anyone in that room, city and possibly state.

</comment></comment><comment><USER9> I would prefer a conference about emerging features in languages, since many languages only differs in superficial aspects. Is better to located what new features are needed.

<comment><USER10> There were a number of talks in that vein. Rich Hickey's talk about his experimental "pod" feature in Clojure for safe scoped mutation, Joe Pamer's talk about making F# suitable as a first-class .NET language, and Jonathan Shapiro's talk about the correctness constraints guiding BitC's design all focused more on problem domains and the features necessary to fill those domains than superficial language features.</comment></comment>


One Year Later: Review of PyCharm 2.7 from a Vim User's Perspective - <AUTHOR> http://andrewbrookins.com/tech/one-year-later-an-epic-review-of-pycharm-2-7-from-a-vim-users-perspective/ <comment><USER2> It's very similar to RubyMine; JetBrains' Ruby (Rails) IDE. For the first time in my life I said to myself, "I _need_ to buy this software for my professional toolkit."

It's priceless. The same benefits you mentioned, while being really useful in exploring model associations, Rails API autocompletes and more. I used to use Sublime Text, but really; when I'm working on a big project, I _want_ those extra features to let me know if I'm mucking things up by using the wrong models or missing associations or exploring the codebase.

Money well spent.

<comment><USER3> RubyMine and PyCharm are both handicapped IntelliJ IDEA spin offs.

You could buy IDEA and run RubyMine and Pycharm as plugins. ;)

<comment><USER4> It's annoying when the specialized versions release before the IDEA plugins are tested and released. Reading about the cool new features and not being able to find them in IDEA sucks. :-)

</comment></comment></comment><comment><USER5> I can only agree, PyCharm ist really great work by JetBrains, i love it.

What i think he really missed in features though:

\- VCS integration is really really good

\- Plugins for the Atlassian suite (never open Jira in a browser again!)

\- virtualenv support

\- remote debugging and execution and uploading support

\- vagrant support

<comment><USER6> Totally. And as someone who runs a linux and mac machine the "personal license" is awesomely down to earth.

<comment><USER5> Especially when you bought it on black friday or christmas or whenever they had 75% off :P

I am considering buying IntelliJ next time they have such an offer..

<comment><USER7> I regret not buying Intellij Ultimate during their End of the World sale.

</comment></comment></comment></comment><comment><USER8> WebStorm is my editor of choice, and it has most of the same strengths.

It's amazing though how complicated an IDE can be to develop. I'm not surprised JetBrains really specializes. TeamCity, while good, does not approach the sophisticated of something like PyCharm.

Conversely, the joke at WWDC was that Xcode 5 brings Apple's native tools into the year 2011.

</comment><comment><USER9> One thing that doesn't turn up in that review: default key bindings.

See: [http://www.jetbrains.com/pycharm/docs/PyCharm_ReferenceCard....](http://www.jetbrains.com/pycharm/docs/PyCharm_ReferenceCard.pdf)

vs: [http://www.jetbrains.com/pycharm/docs/PyCharm_ReferenceCard_...](http://www.jetbrains.com/pycharm/docs/PyCharm_ReferenceCard_Mac.pdf)

You'll notice a few major differences, like control-N on windows == apple-O on a mac.

Just weirdly inconsistent and irritating when you're jumping back and forth between different machines.

I'll totally +1 for the terribly average support for themes too. Copy the xml files into my colors/ folder by hand? Really...?

Other that that it's fantastic though~

<comment><USER7> Yeah, I should probably have a "Multiple Platforms" section in there to discuss issues like that different key bindings. Since I've remapped almost everything, I don't notice it as much.

<comment><USER10> IntelliJ and friends are great, but the default keymap is a train smash on most common Linux distros. Whoever thought ctrl+alt+right arrow was a good navigation shortcut?

</comment></comment></comment><comment><USER11> Unless they fix their 64bit Linux version [1] I'm not bothering try it out again and give up within a few minutes.

[http://www.reddit.com/r/Python/comments/182siy/pycharm_27_is...](http://www.reddit.com/r/Python/comments/182siy/pycharm_27_is_out_new_refactorings_integrated/c8bigpc)

<comment><USER12> Try adding these lines:

      -Dawt.useSystemAAFontSettings=on
      -Dswing.aatext=true
      -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel

to the pycharm64.vmoptions file.

<comment><USER13> Hmm, I have a hard time seeing a difference, but this is a large screen and a decent computer. What uglieness should be fixed by this? I use Oracle Java 1.7.0_21-b11 64-bit. Those hundreds of Java flags are a mystery to me.

<comment><USER14> It tells AWT to use anti-aliased fonts, same for Swing, and then set the LookAndFeel to GTK.

</comment></comment></comment></comment><comment><USER15> java swt in linux is still horrible (yes i know there are workarounds such as patching your font [1]).

but if you use jedi and by extension things like youcompleteme[2], vim- dispatch etc. the only thing that's really missing is debugging support and refactorings.

omnisharp[3] does pretty cool refactorings with nrefactory. and the author youcompleteme is interested in having youcompleteme work as some sort of ide daemon, where you could for example add stuff like refactorings as ide features.

vagrant and virtualenv support sounds interesting though.

[1] [http://gleamynode.net/articles/2280/](http://gleamynode.net/articles/2280/)

[2] [https://github.com/Valloric/YouCompleteMe/](https://github.com/Valloric/YouCompleteMe/)

[3] [https://github.com/nosami/OmniSharp](https://github.com/nosami/OmniSharp)

</comment><comment><USER16> I want to believe. I suspect that hacking at large codebases with emacs/vim isn't the way we're going to build complex codebases over the next few decades. But I downloaded the free trial and got out of there after about 5 minutes and went back to shell + emacs. I just can't see how I'd ever really be in control with this complex layer between me and the actual python/django processes executing on my laptop. Without meaning to be gratuitously insulting (but being insulting) I do think IDEs like this make sense for code monkeys in large organizations. But for someone whose job involves actually writing the infrastructure of their django project (as opposed to relying on another department), I'm still not seeing it.

<comment><USER17> Can you elaborate? How do you feel PyCharm removes control? Does it setup your environment in a way which prevents customization?

<comment><USER3> It doesn't. It doesn't do anything to your project.

It does offer awesome VCS integration features. It does offer a powerful debugger. And it gives you an JavaScript IDE that doesn't suck. VIM just cant handle modern JS code.

PyCharm also gives you PEP8 and JSLint support. And its intelligent autocomplete is awesome and makes programming in dynamically typed languages a breeze.

OP just couldn't be bothered to give the product a chance. While he is smugly juggling dozens of shell instances I let the IDE do the work for me.

Jetbrains is making the best IDE around.

<comment><USER16> Smug attack accepted, I deserved that :) I tried to address some points related to your reply in my comment above.

</comment></comment></comment></comment><comment><USER18> I first tried PyCharm when I had to do a project for the Boxee platform , it was my first time doing anything in python and it helped greatly. Even back then the autocomplete was great, debugging just worked and for a complete noob it was perfect. Since then I switched to the full blown IntelliJ IDE and never again will I use anything else.

</comment><comment><USER19> I've used PyCharm constantly for the last few years and its great. A few things about the Django integration annoy me (some valid template constructs are marked as invalid) and the refactoring sometimes causes more headaches than its worth (changing the wrong things). Other than that its great.

</comment><comment><USER20> For those wondering, us Emacs creatures use Rope + ropemacs + rope-mode to achieve the same thing. Vim has access to the same tooling more or less.

<comment><USER21> From the article:

> Rope-based completion was always unreliable, slow or both.

I haven't used rope. Is the author wrong about this?

<comment><USER22> Not in my experience. On Mac OS X in emacs, vim, and sublime text 2 rope based auto complete is pretty poor compared to PyCharm, X Code (5 which I've been using the beta since it's release pretty heavily is really REALLY good at this compared to 4), and Visual Studio.

</comment></comment></comment><comment><USER23> The only major downside I found is its nonnative feel since it's written in Java. Otherwise, it's the best.</comment>


Ask HN: What home or herbal remedies have worked for you? - <AUTHOR> The effectiveness of many ancient medicines, like those practiced in ancient India, China or by the tribes of South America, has not been scientifically validated. But this does not mean they do not work. On the flip side, there's a lot of snake oil selling going on there. So what has worked for you? <comment><USER2> Strong agrimony tea blocks alpha-1 adrenal receptors and strongly fights resipiratory inflammation.

Dried yarrow underneath gauze and bandages directly against the skin to strongly reduce scarring from burns and quickly stop bleeding.

Valerian Root extract absolutely works as a GABA booster to help sleep--though it leads to tolerance by the third day in a row.

Chewing/"dipping" yarrow as an antiviral/antibacterial, especially for respiratory, oral, and digestive systems.

Ginger's great to settle stomach sickness and stimulate healthy digestion.

Strong chamomile tea's boosts sleep quality when it would already be at least "good", and improves recovery from immune system activity. It seems to reduce unhelpful inflammation too.

Garlic fights skin infections (and strongly boosts gut health, and helps in all sorts of other ways >.>) when it's chopped finely, left to sit in the air for 5-10 minutes to activate enzymes, and then cooked for just a minute (no longer) to extract active chemicals into more stable food, so they survive through digestion and don't stress the stomach.

Mahabhringraj oil daily helps avoids hair graying, and helps greatly reduce hair loss. Its 11 herbal ingredients [two primary ones--Mahabhringraj and North Indian Brahmi] are all medicinally sound, as is the 50% sesame/50% coconut oil blend in which they're dissolved.

<comment> a-saleh Can more or less confirm all of these except for Valerian Root and Mahabhringraj oil.

Rest, we used in my family for past three generations, this was the stuff my mom tells me her grandma used when taking care of her.

</comment></comment><comment><USER3> Lemon Balm, chamomile, and Valerian root I've done as nerve tonics.

Echinacea/Goldenseal is my go to for a brewing sinus infection. Typically as a tincture in hot water. I do 3 droppers per big ads coffee cup worth of water, 3 times a day minimum once an infection is in full swing. If I catch it early, two droplets in some hot drink at least 3 times a day for a week or until symptoms stop usually does the trick.

I ended up resorting to it originally because every doc I went to refused to prescribe anti-biotics, and the infection had gotten to the point I could barely swallow, and a case of bronchitis and the asthma issued that come with it were about two or three days out.

Cinnamon is an okay anti-fungal in some cases. Usually use it on plants.

I can't tell you if it's all placebo effect or not, (except for the Echinacea/goldenseal) but the rest have all generally behaved as described in most herbal formularies as you find them in places like Tractor Supply. I've also got a copy of Gerard's Herbal (modern reprint of an old herbal guide from Elizabethan times I recall) for cross referencing with modern literature just to help with figuring out what is modern meme, what is unconfirmed academically, but was important enough to a several hundred odd year ago bloke to commit to paper and duplicate (effort to duplicate gives some level of credibility in my calculus), and what gets updated or preserved knowledgewise between back then and now.

I also experimented only with stuff I grew myself for the most part, and would only buy supplements after I'd determined the plant itself would do anything.

Plants, in short, are awesome. Not a substitute for a good doctor, but can go a damn sight further than a bad or no doctor.

</comment><comment> a-saleh Most often I did have cold or some respiratory inflamations.

I am used to curing myself with large ammount of herbal tea. Ginger. Mint. Chamomile. Thyme. Sometimes I suspect it really is more about heating up with hot liquid (and then swetting it off in a mild fever) than actual enefits of those specific herbs.

Recently I become a fan of cleaning my nasal cavity with salt water. Seems to help with runny nose a lot.

</comment><comment><USER4> Ginger for soar throat, cold, inflammation etc.

Amla - I used to have spring allergies. I tried eating Amla (boiled) 1 to 2 months before the spring season. This helped a lot in relieving the symptoms.

Turmeric, Fennel seeds, Jeera, Cummin, Mustard seeds, Fenugreek seeds, Garlic etc - Regular usage during the usual cooking. It improves overall immunity.

</comment><comment><USER5> My mother (Indian) gave me tips for my extremely dry skin/psoriasis. Mix Coconut Oil and Camphor (kapur in Hindi) and apply it on the skin. It has done wonders and cured of all my dryness/psoriasis patch including scalp. Apply twice a day for best results.

</comment><comment><AUTHOR> Some commentators are just forwarding wisdom passed down from their ancestors and grandma's. Please mention only stuff what you have personally, empirically validated and invalidated - otherwise this thread is only as good as any random google search.

</comment><comment><USER6> Fish oil helps manage my triglycerides.

Ashwagandha is a bit like Valium except I think the side effect/effect ratio is worse -- that is, it makes me chill, but it also makes me clumsy, stupid, and error prone.

Stinging Nettle is good for my urine flow too.

</comment><comment><USER7> I've used a brand of herbal tea called Traditional Medicinals Throat Coat which worked great at reducing my symptoms of a soar throat and/or itchy throat (not sure on the medical name for itchy throat...)

Also, fisherman's friend.

</comment><comment><USER8> > has not been scientifically validated, but this does not mean they do not > work.

I'm wondering the same, but for the opposite : What things did you notice badly affect your health, but has not necessarily been scientifically validated ?

</comment><comment><USER9> Peppermint oil for cough.

I skeptical of essential oils in general, but my wife is not.

Daughter(16) up half the night with a bad cough, wife put a little oil on upper lip. She immediately stopped coughing and went to sleep.

</comment><comment><USER10> Whenever I have a sore throat, I always grab some honey and hot water. Definitely helps relieve the pain. I probably do that more than take aspirin in that case.

</comment><comment><USER11> White turmeric is great to treat any sort of inflammation on skin or internal. Completely kills off abscess.

</comment><comment><USER12> water-only diet cured bladder infection in three days

ginger (any form except powdered) works pain relief like narcotic (imported powdered garlic is chemically sterilized and hurts me - I don't do imported powdered spices)</comment>


Card Trick Leads to New Bound on Data Compression (2010) - <AUTHOR> http://www.technologyreview.com/view/421819/card-trick-leads-to-new-bound-on-data-compression/ <comment><USER2> What a surprisingly content-free article from MIT.

What bound did they break? By how much? In what domain does the bound apply?

(There is no one "compression bound" for lossless compression; there exist infinitely many lossless compression schemes which can compress at least one sequence of arbitrary length to a single bit, and every lossless compression scheme must have an expected compression ratio over all data of 1:1. Hence knowing the domain constraints is important!)

<comment><USER3> Surprisingly "empty" article. "Well folks we've just lowered the bound on data compression - there you have it."

No reference, No Paper not even an example of how it applies. I hope an editor notices it and they pull it out - pretty embarrassing.

<comment><USER4> > Ref: arxiv.org/abs/1011.4609 Bounds from a Card Trick

At the bottom of the article

</comment></comment></comment><comment><USER5> The card trick referred to in the article is likely the one developed by Alex Stone and described in his book _Fooling Houdini_ , [1].

He knew the most important part of any act is showmanship, and he knew that performing well at top-level magic contests required both showmanship and less known tricks, tricks that an expert audience wouldn't be able to puzzle out quickly or easily.

It took him weeks (months? been a while since I read the book) to memorize the sequence of cards in his prepared deck (sequence generated by computer) and weeks (months?) more to go from being to do the trick to being able to perform the trick.

It's a good read - and what I just described only comes in at the end, after his intense and occasionally life threatening research into the world of magic.

[1] [http://foolinghoudini.com/](http://foolinghoudini.com/)

</comment><comment><USER6> The actual paper with the theorems: [http://arxiv.org/abs/1011.4609](http://arxiv.org/abs/1011.4609)

<comment><USER7> It says "submitted to a journal" in 2010,

Does that mean that the paper was accepted, or was rejected 4 years ago and never published?

<comment><USER8> It looks like it was published in 2012, but the author hasn't updated its arXiv metadata: [http://www.sciencedirect.com/science/article/pii/S1570866711...](http://www.sciencedirect.com/science/article/pii/S157086671100075X)

</comment></comment></comment><comment><USER9> De Bruijn sequences are cool. Last time I came across them was a fast way to do bit scans. On the older Intel Atoms, an optimised De Bruijn routine to count the numbers of bits set in a word, is competitive with the x86 intrinsic.

[https://chessprogramming.wikispaces.com/BitScan](https://chessprogramming.wikispaces.com/BitScan)

<comment><USER10> I found out about de Bruijn sequences while brute forcing a digital door lock (it was my own door, my landlord changes the code sometimes). It only works when you are able to keep entering digits until you hit the correct sequence. If the thing resets every four digits, it's useless of course.

A four digit key will yield a 10003 digit de Bruijn sequence so if you push 2.5 keys/s it will take you at most 7 hours to hit the correct key. Doing all keys in sequence 0000, 0001, ..., 9999 will take you at most 28 hours.

Did I find the code? Yes, I asked the neighbor.

</comment></comment><comment><USER11> If the card trick analogy is correct and it depends on probability bounds, that would mean that this new data compression algorithm is lossy and would be rather suited for video compression etc. and not general purpose data, right?

<comment><USER12> No, algorithms people don't do lossy compression (Human/Computer Interaction people tend to do those). However you can do algorithms that fail with a certain probability, then you just repeat it until it succeeds and calculate the expected cost. Specially within information theory, there are a lot of strange techniques dependent on things like this.

<comment><USER7> What a weird way to create artificial boundaries in thr science community.

<comment><USER13> I think Thomas meant that designing a lossy compression scheme inherently involves making decisions about what parts of the data it is OK to lose -- i.e., in audio processing it might be acceptable to drop frequencies outside of the range of human hearing from the compressed output.

</comment></comment></comment></comment><comment><AUTHOR> De Bruin sequences: [http://en.wikipedia.org/wiki/De_Bruijn_sequence](http://en.wikipedia.org/wiki/De_Bruijn_sequence)

</comment><comment><USER14> Really the subject of the article was the article itself.

</comment><comment><USER7> [2010]

</comment><comment><USER15> I liked Pied Piper's backstory better.

<comment><USER16> He probably made the card analogy to cover the real way he came up with the algorithm

</comment></comment><comment><USER17> One weird card trick that will change the way you compress your data!</comment>


How the Internet is Making Us Less Creative - <AUTHOR> http://www.lrb.co.uk/v33/n05/jim-holt/smarter-happier-more-productive

<comment><USER2> For the impatient, skip to the end of the article.

 _It is the connection between memory and creativity, perhaps, which should make us most wary of the web. 'As our use of the web makes it harder for us to lock information into our biological memory, we're forced to rely more and more on the net's capacious and easily searchable artificial memory,' Carr observes. But conscious manipulation of externally stored information is not enough to yield the deepest of creative breakthroughs: this is what the example of Poincaré suggests. Human memory, unlike machine memory, is dynamic. Through some process we only crudely understand – Poincaré himself saw it as the collision and locking together of ideas into stable combinations – novel patterns are unconsciously detected, novel analogies discovered. And this is the process that Google, by seducing us into using it as a memory prosthesis, threatens to subvert._

<comment><USER3> They also point out how difficult it is to keep abreast of the increasing amount of information humanity is generating, and how the Internet assists in rapidly accessing this information. It seems that if ingenuity requires vast knowledge of disparate topics, trolling through the Internet's wide seas of information would be only beneficial to the cause, giving ever larger sets of ideas for mental recombination. I expect creativity will weather this age without tarnish.

</comment></comment><comment><USER4> All this talk about "outsourcing our memory to machines" sounds like a load of zero-sum thinking. It's not that we're shrinking our biological memories and pushing our memories into machines; instead, we're using the internet as another level of the memory hierarchy, allowing us to work with more information, faster. Why would using the web make it harder for us to store information in our biological memory? If anything, it lets us choose to memorize just the important parts, because we can look up trivial details easily.

To use a computer analogy, you could think of our short-term memory as CPU cache, our long-term memory as DRAM, and books as floppy disks. The internet, then, can be compared to a hard drive: much faster than floppies, with a lot more capacity per dollar. (I wonder what would correspond to solid state drives in this analogy. If you can figure out what it is, you can probably make a lot of money by building it. If Google doesn't beat you to it.)

A meta-criticism I have of this article is that it doesn't talk about actually measuring the supposed hurtful effects of the internet on creativity. I know this is a hard thing to measure objectively, but there's got to be _some_ way to elevate the discussion above the level of bluster-laden hand-waving about the Scary New Thing. What testable predictions does the article's thesis make? If anybody has ideas here, I'd love to hear them.

</comment><comment><USER5> Well I for one would rather read a few comments than such a huge long detailed page of script. But I have to say that having scanned the whole page and picked up the key points (I think), it seems to me that the key to the influence on our brains of the internet, or indeed books or any other source of information, is the content itself. I once made a series of radio features for the BBC about children's perceptions of crime. One thing has stayed in my memory - children talking about the impact of watching the news over breakfast. They told me that this left them often shaking with nerves because the focus of the news was so negative - not a good start to the day.

I know that if I start reading lots of bad news when I am feeling really good it has an instant impact on my mood. Recently when I got temporarily gripped by the news about the earthquakes in Christchurch I found myself reacting negatively to completely different things and I couldn't understand why, because I had been feeling really good. It was only the next day, when I went back to the news again and the same thing happened, that I figured out what was going on. This is not because I was worried about the news itself (however shocking it was) but because it was fundamentally bad news, and we react to that emotionally usually without even realising it.

It seems to me that it is more important to focus on what kind of material we spend time on, whether on computers,in books or elsewhere, and consequently what kind of thoughts and feelings we have during the day, rather than whether it is computers themselves that are having the effect. Although sitting looking at a screen all day definitely has an effect on other things like eyesight, so why not the brain too?

As a little aside Bruce Liptom showed that unborn babies experience all the mother's emotions, which sets up many of their main emotional patterns in life. So watch out, mothers-to-be on the internet! You may be affecting your baby's brain.

</comment><comment><USER6> "Yet he doesn't answer the question that really concerns us: why is it better to knock information into your head than to get it off the web?"

Because _you_ still have to make the connection between things which constitutes a thought. How are you going to connect "What that seventeenth century philosopher Locke said" to "What's been happening in Egypt the last month" if Google is the one that remembers them both?

</comment><comment><USER7> At some level, I wonder if length of this article is also to make a point... I'm only about halfway through the article.

</comment><comment><USER8> tl;dr; Woody Allen something something</comment>


Show HN:  - <AUTHOR> http://thusnews.com/syrian-civil-war/ <comment><USER2> Cool idea and nice design. How do you decide where to start a bubble though, and how do you present opposing viewpoints?</comment>


Corona Virus Wiki edited over 500 times in the past day alone - <AUTHOR> https://en.wikipedia.org/w/index.php <comment><USER2> This is the first time in history that information regarding a total global event is being communicated in real time in a decentralized manner to hundreds of millions of people simultaneously. Absolutely fascinating to watch this unfold.</comment>


No Backbone As Google Bows To Korean Government And Bans Users With Fake Names - <AUTHOR> http://www.siliconvalleywatcher.com/mt/archives/2009/04/no_backbone_as.php "What's the point in Google portraying itself as company with strong principles when it won't stand up and defend them? What would it be losing if it refused?" <comment><USER2> This is indeed odd. youtube.kr is a US-based website hosted in the US. I don't see how Korea thinks it has jurisdiction over all websites using korean characters. (If they can demand that youtube.kr require real names, why can't they demand that youtube.com require that? I can log into youtube.kr with my .com account, which is definitely not using my real name. In fact, I am _automatically_ logged in.)

If I were less cynical I would make some comment about this being an April Fool's joke... but it's probably not.

<comment><USER3> South Korea does have the power to regulate youtube.kr. This is because .kr is a country code top-level domain and the registry for .kr domains is the National Internet Development Agency of Korea ([http://en.wikipedia.org/wiki/National_Internet_Development_A...](http://en.wikipedia.org/wiki/National_Internet_Development_Agency_of_Korea)). There are restrictions placed on .kr domains (<http://en.wikipedia.org/wiki/.kr>) such as a requirement to have a local presence in South Korea, etc.

This gives South Korea power to affect youtube.kr. South Korea has no direct power to regulate youtube.com, although it would have indirect power to regulate youtube.com in South Korea via its power to threaten Google that it can take away the youtube.kr domain.

<comment><USER4> So screw South Korea.

I mean, China we can understand. That's a sixth of the world's population so even if their policies are absolutely retarded; there's some sense to Google listening to them in so much as it affects the rest of the world.

But South Korea?

<comment> barry-cotter South Korea is currently ~2.5% of global GDP, China ~6%. The UK is ~3.9%. South Korea is legitimately a big deal, and writing off that market would be dumb, by the most conservative estimate its the 16th biggest economy in the world, and its internet active population is waaay above trend, so its even more important for Google than that alone would suggest.

<comment><USER2> But you don't need a .kr domain to do business in Korea.

</comment></comment></comment></comment></comment><comment><USER5> "we have a responsibility to protect your privacy and security" is compatible with forcing users to use real names. It is not compatible with disclosing private data that the user has entrusted to you.</comment>


Ask HN: What's the boundary to watch for brittle tests when writing unit tests? - <AUTHOR> Because tests are meant to break when code changes. <comment><USER2> Try to only write tests for public/exported methods. Don't test internal functions (there will be exceptions as with anything but this should be a general rule).

Design your interfaces and method signatures in a way which would minimize future need for changes.

For example, do not pass configuration options to your module as option1 and option2, instead wrap them in options/config object and pass that to your module.

This allows you to add more configuration options in the future without having to break any existing interface.

Finally, when it comes to brittle unit tests, an extra layer of functional / integration tests is what you should have.

These tests will be less brittle as they will break in more cases (i.e. if there is an issue on the edges of "units" of your codebase).

The tradeoff will be that functional/integration tests will be slower and more difficult to execute (I suggest using docker-compose to run integration tests in a platform agnostic way).

</comment><comment><USER3> You want to write the tests at the boundary where you want stability, where you want to prevent change.

Sometimes you don't want to prevent change because it's an implementation detail. That can mean private APIs, but also whole layers of abstraction.

Common layering, for example, is:

1\. Low level operation that needs to be stable, so needs tests.

2\. Medium level abstraction layer, not core business logic and builds on stable layer.

3\. High level abstraction, the exposed public business logic API. Public API so needs tests.

Medium layer does not necessarily need tests in this case.

I have a bit higher level discussion of this in a talk I gave in May (first video): [https://codewithoutrules.com/talks/](https://codewithoutrules.com/talks/)</comment>


Cops decide to collect less license plate data after 80GB drive got full - <AUTHOR> http://arstechnica.com/tech-policy/2015/08/cops-decide-to-collect-less-license-plate-data-after-80gb-drive-got-full/

<comment><USER2> The right move for the wrong reasons.</comment>


Plastic Water Bottles Might Have Poisoned Ancient Californians - <AUTHOR> https://www.wired.com/story/plastic-water-bottles-might-have-poisoned-ancient-californians <comment><USER2> This is another reminder of why research into public health and technology can be so important. These Chumash islanders were poisoning themselves with their plastic water bottles. With modern science we discover the poisonous effects and with modern technology we have less poisonous alternatives to this plastic.

I wonder what future research will tell us.

<comment><USER3> The article was pretty clear that the resulting toxin levels were _not_ high enough to cause the problems seen in the skeletal remains.

It's an interesting theory, and I am glad they pursued it. But it appears to be a null result when attempting to explain their health decline.

<comment><USER2> Yeah, it would have been a more interesting if they had explained the Chumash decline.</comment></comment></comment>


Female Mathematician's Program to Solve Fermat's Last Theorem: Almost Lost to History - <AUTHOR> http://blog.sciencenews.org/mathtrek/2008/02/an_attack_on_fermat.html#more

<comment><USER3> "A taste for the mysteries of numbers is excessively rare, but when a person of the sex which must encounter infinitely more difficulties than men to familiarize herself with these thorny researches, succeeds nevertheless in penetrating the most obscure parts of them, then without a doubt she must have the noblest courage, quite extraordinary talents and superior genius." - <USER2> to Sophie Germain

</comment><comment><USER4> "Female Mathematician"?? Sophie Germain deserves the use of her own name, as much as you wouldn't say "Male Mathematician" to refer to Fermat. Sophie Germain was one of the greatest mathematicians of all times.

<comment><USER5> _Sophie Germain was one of the greatest mathematicians of all times._

Well, no. While the term "female mathematician" is oddly dismissive, Sophie Germain is nevertheless famous mainly because she was a _woman_ who did mathematics. This isn't to diminish her remarkable achievements in the face of entrenched sexism, but she was hardly a great mathematician.

In fact, I'd hazard to guess that a plausible list of the 100 greatest mathematicians and theoretical physicists (for most of history there was little distinction between the two) would contain at most two women (Emmy Noether and Maria Goeppert Mayer). I have a theory about why this is the case, but this comment box is too small to contain it.

<comment><USER4> Oh, I might have been wrong, thanks for your reply.</comment></comment></comment>


Memo to Start-Up World: Money is available - <AUTHOR> http://ricksegal.typepad.com/pmv/2008/10/memo-to-start-up-world-money-is-available.html The economic crisis doesn't mean that there is a complete drought in VC money pouring to start ups. <comment><USER2> I wonder why is there no blackberry interest?

Anyone has expreince writing for BB?

<comment><USER3> Bad marketting, honestly, though that applies mostly the kinds of circles HN types hang around in.

The BB SDK is far more powerful than the iPhone SDK, since you can do much more with it - background and startup apps, extensions to existing apps (like having your app's functionality show up in the email client's menu), listening to systems events etc. And it uses Java, so you only have to learn an extra API rather than a whole new language. Their IDE is kinda crappy, but you can use Eclipse or whatever you prefer, so it's ok.</comment></comment>


MySpace to offer email addresses to users - <AUTHOR> http://www.techcrunch.com/2009/01/15/confirmed-myspace-building-stealth-webmail-product/ <comment><USER2> I tip my hat to MySpace. Losing traction to a competitor putting out kitschy services (i.e. Facebook and it's many applications)? Put out a service that actually _revolves around what your users care about and use_. I know personally quite a number of people that use MySpace and Facebook as a means of communicating with close friends, as opposed to traditional email; often which is reserved for more professional or less personal communication requirements.

Already though, I can tell there are going to be detractors "People wont take an @myspace.com email seriously" but I truly believe the idea behind this is to capitalize on connections already made, and simply remove the abstraction of a profile page to talk to the people on your friends list with much easier access.

MySpace just jumped ahead of the curve.

<comment><AUTHOR> I agree. @myspace would also offer a gorgeous lock in to users to their social network.

I've always been suprised social networks didn't offer email /just because/.

<comment><USER3> Facebook lets you send email, not receive. I've always hoped they'd make an email system, if only because they've shown themselves to be experts at avoiding clutter.

<comment><AUTHOR> i guess the (small) issue with facebook is that you don't get a "unique" handle at all, easily changed, I guess.

<comment><USER3> On the other hand, if a good fraction of users were to get email@example.com, then the rest had variations on that theme, suddenly sending email to people would be much easier.

I'm happy with my @me, so I guess I won't worry about it too much.

</comment></comment></comment></comment></comment><comment><USER4> Is it just me, or does it seem that @myspace.com will become equivalent to what @aol was. A few years ago if someone told me their e-mail address was @aol I would never look at them the same way again, it just couldn't be helped. I wonder, in what way the @myspace will be different, will it be more negative?

<comment><USER5> It will no doubt be worse.

</comment></comment><comment><USER6> What's strange is that I have 27 double-verified email addresses on my webapp that are on the myspace.com domain already since 2007. Myspace employees or what?

<comment><USER2> It's possible.</comment></comment>


Bankers want your savings as part of their next bail-out - <AUTHOR> http://ellenbrown.com/2014/12/01/new-rules-cyprus-style-bail-ins-to-hit-deposits-and-pensions/

<comment><USER2> wonderful news... a move like this will speed up the adoption of encryption and virtual currencies.

don't the bankers realize that by acting in their own-self interest they have sealed their fate. the use of the blockchain and cryptocontracts will only hasten their demise... not that they will be missed.</comment>


Facebook sandbagging revenue; 2011 really $12B, not $4B - <AUTHOR> http://launch.is/blog/l016-facebook-sandbagging-2011-revs-really-12b-not-4b.html please Fisk the analysis below. <comment><USER2> I found the suggestions spot-on and highly conventional for a typical web property and I suspect that FB is already working on some of those...

But I also found the suggestions to kind of miss the point of FB (and I'm not an avid FBer). FB has found or is trying to find the right balance of engagement and advertising (cue the digerati: privacy! privacy! privacy! cue the interconsumers: meh...). The article kind of suggests that the balance is both obvious and easy to strike, but, having friends in management at FB, I've heard that it's nothing like that easy. It's easy to look around the web, find big properties/segments (e.g. AdSense, YouTube, news) and then paint on an FB layer; it's quite a bit harder to do so at massive scale without pissing off or freaking out the consumer market and other web properties.

<comment><USER3> This resonates with me. I don't think you could successfully put banner video ads on Facebook's main page without a _serious_ backlash.

It makes sense -- on facebook, the user is providing the content. Facebook just organizes and connects it. With most other sites, they are producing content. People will sell their attention to access content produced professionally. I don't think they'll do that for content that is user generated (and so clearly user generated).

</comment></comment><comment><USER4> What a load of crap.... They don't earn as much as they do because they don't spam every possible place with additional advertising and not competing directly with groupon, youtube, foursquare and google, duh!

Just to 'replicate' a basic functionality of the sites above it would take them lots of time and effort and really not guaranteed to become anything interesting.

And adding way more adds? Really? Well, I suppose they could get away with it for a while, but I'm sure it would kill lots of other important metrics, like user engagement etc. Which I suppose are not less critical for FB then just the bottom line.

</comment><comment><USER5> Not monetizing to their potential? Sure, I'll buy that.

Underplaying it to the tune of $8B+ per year? Yeah, no sale.

If FB was really making that much money, why would they still be raising venture rounds (eg the Goldman investment)? If it was so the founder and early investors could take money off the table, why would they be undervaluing the sale? It would either be not smart for the founders or arguably misrepresentation to the investors.

I maintain my view that FB is still in the hype phase. Pricing will come back to earth at some point, which isn't to say it's not an $XX billion company but the $2B+ they've raised does raise questions about their actual and potential revenue.

Remember that Google raised $20-25M and that was it, as just one data point (but a common point of comparison).

<comment><USER6> I think most of the $2B (1.5B in fact) is a "liquidity" opportunity for employees with significant amount of stock. In that light, Goldman's clients are getting a good deal (and obviously Goldman) and so are the employees selling the stock.

Now, you may wonder why someone would sell a stock they are highly confident will appreciate? When you have $60m, but all of that tied in Facebook stock, you would rather forgo the opportunity to gain another $10m in order to sell a quarter ($15m) now, just so you have some cash to buy a house, a nice car, or whatever you want. At that level of wealth, the incremental benefits of additional money is greatly outweighed by the benefits to diversification and liquidity.

I know that if I had $60m in Facebook stock, even if I believe each share are likely to be worth $40 in two years, I'd be willing to sell a quarter for $25 apiece just so I have a ton of cash at the moment.

So while it's true that it's strange that Facebook is selling so many shares to Goldman, it's less strange if you consider that FB is staying private much longer than Google, and thus has many employees whose wealth is still largely tied to a private, non-liquid stock.

</comment></comment><comment><USER7> how can they be sandbagging if they have never published revenues

</comment><comment><USER8> Sounds like Launch wants FB to end the party at 11.

</comment><comment><USER9> fbvideo.com? really?</comment>


Q&A with YC Partners at the Female Founders Conference [video] - <AUTHOR> https://blog.ycombinator.com/qa-with-yc-partners-at-the-female-founders-conference/ <comment><USER2> "Kat Manalac – Does YC fund and work with later stage companies? Do you want me to kick that over to you?

Anu Hariharan – So yes, yes we do. So the YC continuity fund that was launched two years ago, our primary goal is to really help support the companies in the growth state. So we do invest in companies in the later stage."

She managed to start every sentence with the word 'so'. Very impressive :)

<comment><USER3> People have become comfortable with casual colloquialisms in places where they were not previously appropriate. I've noticed lately that many reporters and contributors on news programs have been saying "so", "you know" and "sort of". The reporter on Bloomberg TV just said "meh". The use of "sort of" irks me the most. At best, it is filler. At worst, it is a tell that the reporter is not completely confident in what they are saying.

<comment><USER4> I hate using filler words, but i have trouble stopping myself. in my head i am thinking while talking:

dont use filler word

dont use filler word

filler word

#@#K!#@!

Its tough</comment></comment></comment>


Why I moved from Ruby on Rails to Python/Django and back - <AUTHOR> http://blog.carlmercier.com/2007/01/30/why-i-moved-from-ruby-on-rails-to-pythondjango-and-back/ <comment><USER2> Kind of an old post, things have changed for both Rails/Django since then.

Though I'd like to comment on part of his article. He says that Django "is not as straightforward as Rails", and then goes on to complain about how Django requires you to pass variables between templates instead of just assigning them as instance variables in the controller and then automatically showing up in the template. I actually like Rails' behavior in this regard, but I think that Django's way of doing it is much more straightforward. You know exactly what is going on. Django as a whole is like that.

He's also trying to code Python in a Ruby or Java style. __methods just don't get used much in Python. Like Guido says, "we are all adults". And come on, having to use parentheses for a function call is bad? That's just lazy. But I've said for some time now, if you are looking for Rails in Python, it isn't Django you are looking for. Pylons is much more similar.

</comment><comment><USER3> "(the need for () at the end of each method call in Python was killing me)" \--Huh? This doesn't seem as an important point at all.

Plus, Django is not an elegant of a framework at all. The api has been developed as patchwork, and it's forms/views/models are easy if you use them for scafolding, but in real apps you have to do a lot of codding around to customize them.

eg. you can bind a form to a model, but you probably don't want to, or just print the forms (often you need your own look). So, while on paper django looks good, in practice it can be frustrating.

Python is a great language, but OOP is not it's forte (at least not the kind of OOP you see in .net or java).

Just use something like web.py, on create your own framework. With python is very easy to do.

</comment><comment><USER4> Many people often try to shoehorn Django into whatever app they're writing and come away with less than ideal experiences. I've always looked at Django as a great app for what it's designed for, which is basically a CMS for trusted users. Sure, it can be used to make almost anything, but anytime I move beyond the trusted-user-CMS area, I avoid it.

<comment><USER5> Having built many different apps in Django in the last year, I strongly disagree with this. Django has a clever admin interface that gives you easy access to every data model you can dream up, but this is only a really neat hack.

Django provides a very clean layer on top of the database, and a great approach to structuring a system (apps, included urls.py, template dirs, templatetags, middleware). As with anything, though, the more complex the task, the more you need to be aware of what it is doing under the hood. Understanding when Django does lazy queries, where things are processed, etc. is very important.

<comment><USER6> _"... Django has a clever admin interface that gives you easy access to every data model you can dream up, but this is only a really neat hack. ..."_

The best thing in django IMOBO is the admin & the fact it makes you concentrate and work on the data first. On the other hand the template engine logic (at least the way some users uggest you use it) [0] is pretty ordinary and unrealistic ( _LJWorld is mostly read hence static templates_ ). I still think I had a better time using tt2 ( _TemplateToolkit_ ).

[0] [http://www2.jeffcroft.com/blog/2007/aug/09/myth-content- and-...](http://www2.jeffcroft.com/blog/2007/aug/09/myth-content-and- presentation-separation/)

</comment></comment></comment><comment><USER7> He's going to go back to ASP.NET again once ScottGu releases MVC framework. Wait and see.</comment>


Ask HN: Simple screen recorder for Mac? - <AUTHOR> I'm looking for a really simple screen recorder to use to keep clients updated on local development. It needs to record smooth video (so react interactivity doesn't look janky), and preferably make it very easy to share those videos.<p>Any recommendations? <comment><USER2> Open Quicktime, then 'File' > 'New Screen Recording'. It allows to select a region of the screen. Sharing has a couple of default, the one for iphone generates small *.mp4 files.

<comment><USER3> This. There's also [http://recordit.co/](http://recordit.co/) which is good for GIFs in PR comments (it costs money for the non-janky version)

</comment></comment><comment><USER4> Kap [https://getkap.co/](https://getkap.co/)

or

Quicktime</comment>