Ask HN: What can we actually do to protect net neutrality? - <AUTHOR>

I'm not talking about signing petitions, or sending letters to congress or the FCC. I'm talking about real, practical measures that we, the users and content creators, can take to protect network neutrality.
In a world where the majority of expertise lies in the hands of the people who care about an open internet, how can we be content to have the free flow of information held hostage by a handful of multinational corporations?
What collective measures can we take, or are being taken, in order to tip the balance of power away from major providers and into the hands of the end users? How do we build a decentralised telecommunications network? <comment><USER2> [https://mayday.us/](https://mayday.us/)</comment>


Ask YC: Is anyone here using GTD? - <AUTHOR>

David Allen's system for organizing tasks from "Getting Things Done" was fairly popular on reddit in the early days, then the name seemed to have fell into oblivion.
At first I thought it might be a fad, then I gave it a read and the system does make a lot of sense.  It may be an overkill for most people, but for things like running a startup, the amount of juggling may be able to justify the system's complexity.
I was wondering if anyone else here is using some form of GTD to organize your work and/or non-work related tasks.  Why and why not?  How do you use your GTD system?  How do you organize if you are not using it? <comment><USER2> I use my own hacked version of GTD, albeit very simplified, partly because, well, I guess I don't have that much to do :D. GTD still has a cult following and has several sites that cover it a lot (<http://www.43folders.com> and <http://www.lifehacker.com> among several)...

There have been several discussions regarding GTD at YCNews (<http://news.ycombinator.com/item?id=15450>) and I am sure these should answer your question.

My approach has been explained well at lifehacker ([http://lifehacker.com/software/feature/practicing- simplified...](http://lifehacker.com/software/feature/practicing-simplified- gtd-335269.php)). I came across another article ([http://www.emaginacion.com.ar/cym/get-organized-with- hipster...](http://www.emaginacion.com.ar/cym/get-organized-with-hipster- pda/)) and currently trying to build that into my system.

If you were to use searchYC.com you will find several discussions regarding GTD (<http://www.searchyc.com/GTD>)

At the end of the day, GTD is merely another tool that aids in keeping track of everything you do. But its __effectiveness__ lies in your ability/dedication to sticking to the system. Although over time my simplified system has served me well, I do occasionally find myself slipping. A little tweak here, a little tweak there, wash, rinse, repeat...

Hope this helps.

<comment><AUTHOR> Thanks for all the info. I kind of have the feeling that in the end it depends on how much you can stick to it, like every other time management methods. :)

</comment></comment><comment><USER3> Yes, I've used it for years. I think it's pretty good. Here's the biggest problems with it, by my observation:

1\. It's easy for your "next action list" to keep growing and growing and... until your head explodes and you fall off the system. I guess the only way to avoid this is to be ludicrously conservative about what you commit yourself to do.

2\. You have a deadline on a project that is falling behind, so what you decide to do is postpone all your other todos and just work on this one thing for a few days. In this time, you're not really "on the system" and it again falls apart.

3\. You're in a lazy period and just plain don't care about the system and it falls apart.

If you can avoid those three problems, it may work for you.

In terms of technology, I recommend you sit down with Y combinator startup appjet.com and write your own implementation- that's what I did... If you don't customize it to your own quirks it doesn't work as well, from my experience.

<comment><USER4> can we use it? or is it private?

<comment><USER3> It's too idiosyncratic so I have it as private- Just writing all the instructions for the non user friendly commands would take me too long and the program would be incomprehensible without knowing them. I want to strip it down and make it usable to others as a starting point for writing their own app, but don't have the time right now...but it is a plan I have...

</comment></comment></comment><comment><USER5> I use iGTD (a great GTD-style application for the Mac) to manage most of my life. For real dev tasks I use Jira, everything else goes into iGTD: Phone calls I have to make (call mom, return recruiters message), errands I need to run (pickup dry cleaning, drop off library books), work tasks (write arch doc for phase 5, review code for project X), personal projects, home tasks (run laundry, spent an hour reading a book and drinking tea), etc... Being able to switch between viewing tasks by project and by context is a HUGE win for me, and having a single repository for my tasks, with easy hot key input from any application is great.

My stress level has gotten so much lower since I started using iGTD.

</comment><comment><USER6> I've incorporated GTD into my daily workflow (I use Emacs and have written a GTD module). Personally, it's worked very well for me - especially in reducing my stress levels.

The key (I've found) is to capture _everything_ in buckets. You can then process each bucket based on your energy-level/schedule.

</comment><comment><USER7> I find the best way to get things done is to write them on a notepad (Moleskine highly recommended) and do them. My weakness is procrastination (which I am doing now) and I the only advice I will give is don't even think about trying to get over procrastination, just do what ever you need to do.

</comment><comment><USER8> I touched on a bit of my process here recently:

<http://news.ycombinator.com/item?id=122203>

I use a Google spreadsheet (or Excel) and sort/execute it all according to its value divided by its cost (ROI).

<comment><AUTHOR> That was a great post. Actually that post is the reason it got me thinking and started this thread. I sounds like it would fit every well with GTD. The book gave a very general idea of how to prioritize tasks, and you method would plug in very well for work-related tasks. Thanks for sharing!</comment></comment>


Embracing failure is a good way to fail - <AUTHOR> http://scripting.com/stories/2010/08/06/embracingFailureIsAGoodWay.html <comment><USER2> I'm sorry, but I find the underlying point hard to swallow:

"Later, when [the company] did work, I realized that moment, while locking the front door that night, was when the company turned around. When we went from being in crisis mode to being a winner, for one very simple reason. I tried to visualize failure, and couldn't do it."

So, because you were unable to imagine yourself failing, you succeeded?

Doesn't this smell distinctly of self-actualization and other hocus-pocus? Especially since the article leads with:

" One night I was leaving the office and I knew the next morning I was going to lay off a quarter of the company and cut the salaries of everyone else in half."

So, you were able to recognize that you failed to provide one quarter of the company jobs which you presumably offered them and also failed to live up to paying the salaries of everybody else but you were, at that very moment, unable to imagine a situation where... you failed to save the company?

Maybe I'm oversimplifying, but this is, in the words of Winer "really convoluted and it's really wrong."

</comment><comment><USER3> People who say "failure is not an option" are hopeless pollyannas. Success does not happen because you refused to accept failure as a possible outcome. Success is a product of hard work, talent, timing and luck in varying measures.

I've failed in 9 out of 10 projects I began on the web since 1995. I have been fortunate that the 1-in-10 successes have enabled me to continue trying new ventures. If I refused to acknowledge failure, would 10 out of 10 projects I launched be a success? It would be foolish to think so.

</comment><comment><USER4> Embracing failure is a good way to fail and also a good way to succeed. If succeeding in business was as easy as following a mantra we'd all be millionaires. Time has told us that Winer made arguably the right decision, but time has not told us whether Google made the right decision to kill wave.

If either philosophy was right all of the time YC would just put a checkbox with "Embrace Failure?" on the application and be done with it.

Wisdom is knowing when to apply the right knowledge.

</comment><comment><USER5> Is success also not be an option if you haven't visualized it?

If you don't have a plan for revenue much less profitability or acquisition, I'd say that you haven't 'visualized success' the way you would do so for failure in this parable — on the basis of not dying, not traction.

Given the (IMO, correct) disdain for business plans and worship of 'making something people want', there seems to be a big inconsistency here.

</comment><comment><USER6> I never thought I'd see Dave Winer and Jason Fried singing from the same hymn- sheet. Dave has a lot of experience through running his businesses over the years and it's a shame he doesn't share his evergreen wisdom on these matters in this way more often.

</comment><comment><AUTHOR> Followup: [http://scripting.com/stories/2010/08/07/visualizingFailureDa...](http://scripting.com/stories/2010/08/07/visualizingFailureDay2.html)

</comment><comment><USER7> What happens when you have no trouble visualising what will happen when you fail?

Sometimes it's quite simple to see. Failing means no rent money......etc.

</comment><comment><USER8> "when bad things happened, we just calmly laid out all the options, and failure was not one of them."

\-- _Apollo 13 FDO Flight Controller Jerry Bostick regarding the source of the movie quote "Failure is not an option"._</comment>


Show HN: Cairn – A tiny library for improved styling in React Native - <AUTHOR> https://github.com/adamterlson/cairn <comment><AUTHOR> Author here. I welcome any feedback or questions!</comment>


Robinhood now valued at $11.2B with new fund backing - <AUTHOR> https://www.bloomberg.com/news/articles/2020-08-17/robinhood-now-valued-at-11-2-billion-with-sundheim-fund-backing <comment><USER2> Robinhoods advertising is disgusting. Encouraging people who make very little money to gamble that money on the stock market is just taking advantage of those who don't know any better - do you really expect to compete with the investors paying 20k for a Bloomberg terminal, who get all the news 15 minutes before you can even hear about it?

If they had been advertising about how low their fees are, and how you can invest your savings in ETFs or something I would have no problem with it since that is a reasonable thing to do. But suggesting that the average low income person should be day trading is just predatory.

I even saw an ad (not 100% sure if it was Robinhood but a similar product) that was telling a story about how someone was in tens of thousands of dollars in debt, and day traded until they were out of debt. All these trading apps seem to be targeted at people who will almost certainly lose money, and who generally don't have much to lose. I mean I have no problem with an app advertising an easy way to do day trading, just don't act as if it is anything other than gambling.

<comment><USER3> I'm not sure I can say I'm disgusted by assuming hourly workers are intelligent.

Why is it that investing is gambling only for the poor? Is the implication the poor people are less informed and less intelligent?

> do you really expect to compete with the investors paying 20k for a > Bloomberg terminal, who get all the news 15 minutes before you can even hear > about it?

Not if you're day trading, of course not. But letting someone who stocks sodas all day buy a couple Pepsi shares seems highly legitimate. The stock market will be more intelligent with more opinions in the pool, not less.

<comment><USER2> Stock picking is gambling for pretty much everyone, even professionals don't beat the market most of the time.

Income is somewhat correlated with intelligence, but thats not the issue I have with marketing to lower income people, since as you said there are lots of very smart people at all income levels. The problem is that lower income people have less to lose, and are less able to recover from losses, so I am more concerned with them loosing money than if a well paid professional looses their bonus or something in the market. Also lower income people are more likely to try more risky methods of getting money, and are more likely a member of a vulnerable demographic (ex. pyramid schemes have a lot of success targetting recent immigrants without much income).

I think there is a lot of value in letting someone who stocks sodas all day buy some Pepsi stock if they have some money free to play around with. I've done some day trading, it's a little fun (and a lot stressful, so no more). The problem I have is when Robinhood tries to convince that person stocking sodas that they have some special insight that will let them beat the market and make money investing. That's how you get people investing and loosing more than they can afford.

<comment><USER4> > even professionals don't beat the market most of the time.

Most professionals beat the market all the time but is diminished after the cost deduction of the pro. The pro always gets paid.

</comment></comment></comment></comment><comment><USER5> There's some discussion here about how destructive/unwise trading services like Robinhood can be.

If you're looking for an alternative, I've had a great experience with "robo- advisers" (Betterment, specifically). Many of the same advantages as something like Robinhood: $0 account minimum, 100% digital (create and manage your account through the website/app, no paperwork, no representatives), easy to cash-out with just a couple days' notice. The difference is that they automatically allocate a diversified portfolio for you and let you control simple things like the stocks/bonds percentage you want to have (a proxy for risk-tolerance). They do general investment accounts (analogous to index funds), as well as IRAs and savings. Fees are modest and automatically deducted from your growing balance. Dividends and gains are automatically re- invested in a tax-efficient way.

For several years now I've put all of my excess money into Betterment aside from some basic emergency savings. If you want a minimal-effort way to make your money grow and/or don't have much to invest, I highly recommend it.

Also: I promise I'm a real person and this isn't a shill :)

<comment><USER6> Tell us how well Betterment did for you.

I highly doubt it beats S&P 500 so you can do better by using Robinhood and invest into S&P 500 tracking stock like IVV. And the risk is more or less the same. It's not like Betterment would do well if S&P 500 tanks.

I used Wealthfront for a while and I switched to trading stocks.

The idea of roboadvisor sounded nice but their returns are sub-par because their allocation strategy is, by necessity, very risk averse. They put a lot of your money into bonds and similar sub-2% investements while in the last 50 years S&P returned 8% on average.

That 8% return is about as risk free as you can get and paying Betterment fees to do worse than that makes no sense to me.

BTW: if you invest in FAANGT (FAANG + Tesla) equal-weight portfolio, you'll do several times better than S&P 500 with very little risk. At lest for the next few years.

<comment><USER7> The S&P isn't risk-free! The only risk-free asset is US Treasury bonds, because we assume US Treasury can't default on payments.

The goal of a robo advisor, for most people, is not to beat the S&P, but to balance risk and reward according to the individual's time horizon and risk profile _without any manual intervention_.

Beating the S&P is a fun game for people who want to spend time on it, but this isn't for the general populace.

If you want to beat the S&P and you're okay with above-average risk, but also want a completely hands-off approach, I would suggest 100% PSLDX [1]. It's a hybrid active/passive mutual fund that uses buy derivatives (futures and swaps), collateralized by bonds, to boost S&P returns. The high (1.01%) fee only looks high until you look at the returns; most years, it does 20-30%. Its return in 2019 was 52%. In theory, it should do only slightly worse than the S&P in a bad year.

Another interesting futures-based fund is NTSX [2]. It's pretty new, but it's consistently beat the S&P since inception, and did very well in the March dip.

[1] [https://www.morningstar.com/funds/xnas/psldx/quote](https://www.morningstar.com/funds/xnas/psldx/quote)

[2] [https://www.morningstar.com/etfs/arcx/ntsx/quote](https://www.morningstar.com/etfs/arcx/ntsx/quote)

<comment><USER8> A fund like psldx magnifies in both directions.

It's easy to get enamored when the market is doing well.

<comment><USER7> I would say that PSLDX has proven itself. Max drawdown since inception (2008) is about the same as VFINX, less than VTIAX/VGTSX. Return in 2008 was -33%, compared to -37% for the S&P 500. In March, it dipped more than the S&P, but not terribly so. The only year it didn't significantly outperform the S&P was 2013.

</comment></comment></comment></comment></comment><comment><USER9> America is great. Online gambling is illegal but you can have an app to punt the market all day. Options might as well be roulette for most people.

<comment><USER10> > America is great. Online gambling is illegal but you can have an app to punt > the market all day

Not all day. If you have less than 25k you are subject to pattern day trading restrictions.

I guess, if you have money, anything goes.

<comment><USER11> Isn't that only with non-cash accounts?

<comment><USER10> Indeed.

But now you need to wait for the cash to settle, which takes about two days.

<comment><USER12> Options trades settle the following day, not +2 like shares.

<comment><USER10> TIL

Thanks!

</comment></comment></comment></comment></comment></comment><comment><USER13> Regardless of how you feel about their marketing practices, it is clear that investors are investing in the customer base.

As Robinhood continues to grow, they can/will offer more and more products (mortgages, bonds, DAFs, etc), eventually becoming a one-stop shop for millennials/zoomers/whatever.

For example, currently if you want to invest in a crowdsourced real estate fund, you need to use something like Cadre/Crowdstreet. If RH can eventually support all these possible investment avenues, they will have a lot of room to grow in the retail space.

Given their current laissez-faire approach to investor education/responsibleness, the question will become whether this level of investing ease is good or bad.

<comment><USER14> There's a lot that can be better here and Robinhood's approach to getting a foothold has been smart.

I use Fidelity for everything, but their software is mediocre at best. I hear vanguard is worse.

The regular banks are ten times worse than fidelity for basic actions.

Other startups that have tried to make this better (Simple Bank comes to mind, but there are a couple of others) typically sell out or only focus on basic banking which is not helpful.

Robinhood has better software and is positioning themselves to be a serious player long term.

<comment><USER15> I would choose Schwab over Robinhood any day of the week. I used robinhood and its data/metrics with stocks was extremely lacking and un-sophisticated. In addition order fulfilled timing was slow, I would never trade large amounts of stock with the app. Its all showy UI and bright colors. Which is fine as it seems to be getting alot of users using that method and the idea of "why use your Dads/Moms trading stock trading platform"?

<comment><USER10> > I would choose Schwab over Robinhood any day of the week

Don't you have to prove to them that you actually know something about options before they let you trade? Robinhood... you check a box.

<comment><USER16> Not really. You ask for level 1-4 options trading and they have you select from a dropdown how many years experience you have. It gets approved quickly. I've done this on TDA, IBKR, Merrill Edge.

</comment></comment></comment></comment></comment><comment><USER17> I think it's great to lower the barrier of entry to financial services and such but one thing I feel is lacking is the education component. There's not enough explanation, warnings, and documentation in the UI or on their site because of the effort of getting people to invest as quickly as possible.

<comment><USER18> For anyone that hasn't used it, they literally have a discover tab for options with things like "I think it's staying the same" with the recommendation to create an iron condor and some possible positions you can open [0]. Although they may have changed it as my app only shows learn more now and does not directly show you positions you can open.

[0]: [https://old.reddit.com/r/wallstreetbets/comments/9bw90v/robi...](https://old.reddit.com/r/wallstreetbets/comments/9bw90v/robinhood_added_the_option_for_training_wheels/)

<comment><USER10> > with the recommendation to create an iron condor

Have you tried? The interface is good if all you want to do is buy or sell a single option. If you try an iron condor, with 4 options, it's difficult to get a picture of what you are doing. Max profit, max loss, greeks for the combined options, etc.

Some other platforms allow you to setup an iron condor with a single click, then move strikes around and see the numbers change.

Heck, even the greeks for a single option are kinda hidden before you buy. Many people don't even know you can see them before buying. It is also difficult to compare greeks between different options.

Spreads in general are not very visible in RH(and are a 'higher level'). It should encourage people to use them more to minimize risk.

<comment><USER19> It's like 10 clicks to go from seeing the greeks for one option to seeing the greeks for another. You have to go all the way to the page where you're choosing how many contracts to buy/sell before you can click to see them.

It's really weird.

</comment></comment></comment></comment><comment><USER20> We're going to see some really interesting things happen once Robinhood files for IPO and goes public (and options on Robinhood are available for trading for hungry WSB users). I would not put it past them to send Robinhood stock to unimaginable heights (and possibly swallow the entire market in a black hole in the process). Unlikely, but again this is 2020...

</comment><comment><USER21> With the obscene amount of speculation going on their platform and the losses that are likely to follow - the irony of the name Robinhood will not be lost on the historians of financial markets. Devil take the hindmost.

<comment><USER22> If the outlook was this ominous, why would VCs invest? It doesn't make sense. Surely they see something in the pitch deck?

<comment><USER23> I believe they meant losses to Robinhood users, not Robinhood.

<comment><USER21> Yup. They already installed bulletproof glass at the Robinhood headquarters because of disgruntled "customers".

</comment></comment></comment></comment><comment><USER24> It's surprising to see that Robinhood doesn't have an Roth IRA account offering. It seems like it would be a good thing to nudge the new generation of investors towards.

<comment><USER25> WeBull does. Their Asian (?) competitor that offers accounts to US-based customers.

</comment></comment><comment><USER26> As of this writing, their Website is still broken. Try to pull up any stock or ETF and it's stuck infinitely loading. But if you log out, they work.

Compare this logged in, vs logged out.

[https://imgur.com/tLztAxa](https://imgur.com/tLztAxa)

[https://robinhood.com/stocks/SPY](https://robinhood.com/stocks/SPY)

</comment><comment><USER27> I personally enjoyed most of my experience with Robinhood.

I used them for ~3 years but was recently forced to move to an alternative when it became clear that maintaining any sizable margin account with them was going to become cost prohibitive. The 5% APY they are charging is a slap to the face when you start discovering rates between 1-2% elsewhere. I also wanted a brokerage that could service IRA accounts and other more complex items.

One area where Robinhood could have improved for me (not related directly to the market) is in their web interface. I noticed performance issues when trying to review history and other large data sets, regardless of browser vendor. On a few occasions I was forced to switch to my mobile app in order to verify a transaction. It feels like they just need to rewrite this thing to be server rendered. There's absolutely no reason I need 5+ megabytes of javascript framework on my client in order to display a 4 column table of basic financial figures.

<comment><USER9> > start discovering rates between 1-2% elsewhere

There is only one retail broker that offers this. Everywhere else is more [https://www.schwab.com/margin/rates](https://www.schwab.com/margin/rates)

<comment><USER27> IBKR offers similar rates and is what I moved to.

<comment><USER9> Yeah that is the "only one retail broker"

</comment></comment></comment></comment><comment><USER28> My first foray into buying stocks in the U.S. was with Robinhood, nothing about the app screamed "gamble away your hard earned money" or "make poor financial decisions" so I'm baffled how people label it as some kind of stock casino and absolve people of personal responsibility, but that's just me..YMMV

</comment><comment><USER29> My investing strategy has always been to just allocate a certain amount of money per pay period to high growth mutual funds through a Morningstar 5-star rated fund. I wonder what I'm missing out on with things like this.

<comment><USER30> the excitement of losing your money...

</comment></comment><comment><USER31> Sounds like another SoftBank deal. Private Equity capturing all the equity, only for it to be dumped on the public market and have its value decline precipitously.

Etrade's market cap: $11.8 billion. Charles Schwab: $44.66 billion.

<comment><USER32> Robinhood's has only two things going for it.

1\. It has a massive userbase that most likely doesn't have exposure to the larger financial world

2\. They have a large enough user base, where they can route orders through dark pools and HFTs. It's good for the user because contracts have a narrower spread and they can give the user the price they saw when they sold it (vs Schwab, which gives you direct access to the market so you need to set limits)

3kinda. Their App is quite good compared to Schwab.

I'm not sure if either 1 or 2 makes them worth 12 billion, but they did get me free trades on Schwab which was nice.

EDIT. Removed misleading example

<comment><USER33> This is wrong. People (Citadel) buy for only one reason. They can make money off of it.

Take a look at this link. Trade execution improved in the UK when they made PFOF illegal. [https://www.cfainstitute.org/en/advocacy/policy- positions/pa...](https://www.cfainstitute.org/en/advocacy/policy- positions/payment-for-order-flow-in-the-united-kingdom)

Robhinhood cancels decision to enter UK. [https://www.cnbc.com/2020/07/21/robinhood-scraps-launch- of-i...](https://www.cnbc.com/2020/07/21/robinhood-scraps-launch-of-its- investing-app-in-the-uk.html)

<comment><USER34> >This is wrong. People (Citadel) buy for only one reason. They can make money off of it.

That doesn't mean they're making money at your expense. Random hn comment that explained it better than I could: [https://news.ycombinator.com/item?id=23774476](https://news.ycombinator.com/item?id=23774476)

<comment><USER33> No, they are stop hunting.

<comment><USER34> Care to elaborate?

<comment><USER33> Sure. The trading is done in lower volume assets like non S&P 500 and Options market. This is actually the orders where Robinhood gets most of its money. Say you put up trades and stop loss and trailing stop loss. These orders are sent to and purchased by Robinhoods customers (Citadel and Virtu). Citadel and Virtu act like dealers. They take the opposite side of your trade and also know where your stop losses are. Because these are lower volume stocks, they can push prices around, force you to sell at a loss and then prices go back to where they were a few moments ago.

[https://www.jstor.org/stable/2962317?seq=1](https://www.jstor.org/stable/2962317?seq=1)

This link describes what is going on.

This happens all the time in forex markets. During lower volume periods, they go after the stop losses. Only market where this doesn't really happen is futures because all trades occur on a centralized exchange.

My recommendation switch to a broker like Tradestation and route your trades through the IEX exchange to avoid getting duped.

<comment><USER35> Customer orders are tagged in the market (thus available to all participants) due to laws governing market participant behavior. These orders are essentially static, while all other institutional orders with direct market access are fluid. Customer orders are profitable _in aggregate_ in the same way playing professional poker is profitable: a constant stream of less equipped/informed money.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER36> Until Robinhood came along I thought transaction fee was how brokerages make money. It really was a surprise to me when these guys made it zero. I still don't understand how they make money though.

On a different note, I don't think they are in anyway different from the other brokerages, the only reason these guys became popular is because of the zero transaction fee trick. It was a good one but there might not be more tricks left for new entrants. The software is written from scratch in 2018/19 so obviously it will take the shape of that time, nothing great about that.

<comment><USER37> > I still don't understand how they make money

I implore you to look into it [1]

[1] [https://fortune.com/2020/07/08/robinhood-makes-millions- sell...](https://fortune.com/2020/07/08/robinhood-makes-millions-selling-your- stock-trades-is-that-so-wrong/)

</comment></comment><comment><USER38> Why would anybody trade on their platform after them going down during a key day[0]? It's obvious they can't be trusted.

[0]:[https://www.cnbc.com/2020/03/09/robinhood-app-down-again- dur...](https://www.cnbc.com/2020/03/09/robinhood-app-down-again-during- another-historic-trading-day.html)

</comment><comment><USER39> Might be an unpopular opinion but I think RH is great for financially literate retail users. Zero commission especially on options is incredible. They need to work on trading workflow or at least have an alternative for experienced users.

</comment><comment><USER40> [https://archive.is/Kbk8s](https://archive.is/Kbk8s)

</comment><comment><USER41> Wish there could be a way or culture of raises like this that are a mere 1.7% equity didn't count.

</comment><comment><USER42> Some real safety police in this comment section, since when was advertising honest?

</comment><comment><USER43> Think they'll do well...but I really don't want my money anywhere near them - as investor or investee. Move fast & break things isn't the way to go in large scale finance. The debacle about their service being down during key moments proved that pretty conclusively

</comment><comment><USER44> Why can't they generate cash?

</comment><comment><USER45> Turns out frontrunning retail trades is profitable, who would have guessed?!

<comment><USER46> I'm retail and if someone was front running me they would be broke by now. A lot of the brokers have terms where they trade against your position.

</comment></comment><comment><USER33> Horrible company. If its free, your the product. People (Citadel, Virtu) only buy for one reason, they can make more money from it.

Payment for order flow (PFOF) is illegal in the UK and investors have seen better execution rates. Robinhood is illegal in the UK.

Links to CFA report stating order execution improvement after canceling PFOF and Robinhood canceling UK launch.

[https://www.cfainstitute.org/en/advocacy/policy- positions/pa...](https://www.cfainstitute.org/en/advocacy/policy- positions/payment-for-order-flow-in-the-united-kingdom)

[https://www.cnbc.com/2020/07/21/robinhood-scraps-launch- of-i...](https://www.cnbc.com/2020/07/21/robinhood-scraps-launch-of-its- investing-app-in-the-uk.html)

To be fair, TD Ameritrade is just as bad. TD Ameritrade and TD clearing combined have 606 reports slightly worse than Robinhood.

Its amazing what you can learn from looking at other countries that are specialists in an industry. For example, Tesla, hydrogen fuel cells, and Japan but that is a story for another day.

<comment><USER47> >If its free, your the product.

Like my bank account?

You don't need to sell order flow to make money when people are letting you hold their billions. Trading 212 already offer commission-free trading in the UK.

<comment><USER33> Your trades. They don't make most of their money from S&P 500 trades but outside of that and mainly option trades are big money maker for them.</comment></comment></comment>


Ellsberg: WikiLeaks attacks parallel Pentagon Papers. - <AUTHOR> http://www.ellsberg.net/archive/public-accuracy-press-release <comment><USER2> Daniel Ellsberg's an amazing counter-example to everybody who says "these new technologies are only for the young."</comment>


What's that sound Wile E. Coyote makes as he's plummeting towards the ground? - <AUTHOR> http://blog.pmarca.com/2007/12/whats-that-soun.html <comment><USER2> pmarca made quite a leap here . . . I'm not buying it

<comment><USER3> True, but I think Wile E. might be at that stage where he's feeling around underneath him for the ground that used to be there. :)</comment></comment>


The Case for the Cab (1976) - <AUTHOR> http://www.technologyreview.com/fromthearchives/542381/from-1976-the-case-for-the-cab/ <comment><AUTHOR>
        Decades before Lyft and Uber, a scholar of transportation argued that
        the most efficient public transport system might be an army of less-
        regulated taxis.

The scholar is "Martin Wohl, a professor of transportation system planning at Carnegie Mellon University", he died in 2009, the year Uber was founded [0]

He co-authored a book "The Urban Transportation Problem" in 1965 [1]

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

[1] [https://books.google.com/books/about/The_urban_transportatio...](https://books.google.com/books/about/The_urban_transportation_problem.html?id=4ye3AAAAIAAJ)

</comment><comment><USER2> A taxi medallion, the artificially scarce license to operate in New York, cost $35,000 in 1976. In 2014 a medallion sold for $1.3m. In 2015 a medallion sold for $900,000, presumably as a result of Uber and Lyft.</comment>


The Tanab - <AUTHOR> http://WWW.THETANAB.COM <comment><AUTHOR> The word "TANAB" is derived from a native word meaning rope. We believe that the formative years of ones personal and professional life required navigating - and our hope is that THE TANAB will help you keep it all together.

</comment><comment><AUTHOR> The word "TANAB" is derived from a native word meaning rope. We believe that the formative years of ones personal and professional career are important - and our hope is that THE TANAB will help you keep it all together.</comment>


Show HN: Sqreen, a Web application protection platform - <AUTHOR> https://www.sqreen.io <comment><USER2> I had to dig several pages in to the "how it works" page until I saw that Sqreen is a gem and inferred that it is for Ruby applications and perhaps Rails only.

My recommendation is to put the use case on the front page...better yet in the "Web application protection platform" level description. An added benefit would be to reduce the amount of "what Sqreen is not". It would help people determine "not for me" more quickly and helping people is what your company is trying to do.

Good luck.

<comment><AUTHOR> Hi brudgers,

I'm surprised since it does appear on the home page ([https://www.sqreen.io](https://www.sqreen.io)), under the second section "^Made (by | for) developers".

Anyway, thanks for your feedback, we'll improve on this!

<comment><USER2> I suspect the surprise is grounded in familiarity with the product and its content. You're an expert on sqreen. Potential customers are not.

A screenshot of a generic text editor juxtaposed against explanatory text probably should be considered burying the lead. The heading doesn't seem like a natural place to put technical requirements/limitations/implementation_details in the content hierarchy.

I'd add that the idea that the software is made by developers is something better shown implicitly than stated explicitly. It's mostly line noise to other developers looking at developer tools [I mean name a developer tool that wasn't made by developers].

</comment></comment></comment><comment><AUTHOR> Hi everyone! We have been working under the radar during last year to provide you with the simplest way to secure your Web applications. We are a bit like New Relic, but for security. The Ruby on Rails support just went into public beta, and we are planning to release Python support soon. We would be glad to hear what you think about our solution!

We also announced our 2.3M$ seed funding round today.

<comment><USER3> What other languages / frameworks will you support in the future?

<comment><USER4> Here is a sneak peek of the soon to be announced Django support: [https://asciinema.org/a/43989](https://asciinema.org/a/43989). Drop us a line if you want to have more information about your stack support!

</comment></comment></comment><comment><USER5> Looks great! I like the way rails 5 has been shaping up lately and now this. Just signed up!

Congratulations on your seed funding news. I wonder how did you guys manage the launch and closing a round simultaneously?

<comment><AUTHOR> Thank you so much marvindanig. We've been working very hard, and we gathered a great team! Release and funding schedule were close so we decided to align both today!

<comment><USER5> Would you also notify/email incase of an advanced threat?

Right now it feels as if I have to keep looking at yet another dashboard for something to blip across the feed.

<comment><AUTHOR> Yes, we are planning actionable email reports, Slack integration and custom web hooks for advanced threats. We are also planning a weekly summary of the malicious activity over your applications.</comment></comment></comment></comment>


Facebook Shareholders Suck…(Or, Why This Is Not Bubble 2.0) - <AUTHOR> http://techcrunch.com/2011/12/17/facebook-shareholders-suck-or-why-this-is-not-bubble-2-0/

<comment><USER2> Facebook is extremely overvalued. You cannot rationalize a 80B market cap for facebook on annual revenues of 2-3B, considering how Zynga's business model is faltering (social gaming fad waning), and a large part of facebook revenue comes from Zynga.

Also, Tumblr is becoming the new 'it' social network site. And Google & Apple & Amazon will continue to launch social products to erode market share (measured by social activity, and not eyeballs).

Lastly, since common folk are pulling out of equities, and the US economy is following Japan's deflationary path, after her property bubble, P/E should likely converge to a value of 8, which was seen in Japan.

Therefore Facebook @ 16-21B is a better valuation, but still overpriced in a deflationary macro environment.

</comment><comment><USER3> He has a (semi-)valid point but he distorts it by not understanding what a bubble is.

The problem is his definition, "A bubble occurs when an asset moves up today only because it moved up yesterday", is wrong.

A Bubble is actually when people have unreal expectations of how much stock will move up tomorrow. Or as economists say...

"a widespread cognitive bias that leads market participants to drive stock price above their value in relation to normal valuation standards"

So in the case of "bubble 1.0" the bright future of a few truly valuable companies (Amazon, Google, etc...) led to a cognitive bias in favor of ALL internet companies. Those other companies are what made it a bubble.

So his point about Facebook may be a valid one. It may be like Amazon and Google 15 years from now. That's a complicated question involving how willing people are to re-establish social connections, how likely it is that a competitor will come along that's superior to Facebook and whether social sharing is "a phase" or not.

But Facebook's eventual value does not negate "Bubble 2.0" as it might just be the company that helps create the cognitive bias and not necessarily one that benefits from it.

</comment><comment><USER4> I like the fact that the author brought up these two points.

1\. "Facebook is a mini-Internet. It's an organized Internet. We've all moved our home pages to be our Facebook pages. Companies flash their Facebook page on their commercials now instead of their own websites. So imagine the value of the entire Internet."

2\. "In 1999-2000, the public was given the chance to have a venture capitalist-style portfolio. It didn't work."

1 has some truth to it but not entirely correct. Facebook has done a great job on social graph capturing but as far as mapping the internet, it has not done well nor did it intend to act like a repository of web in the first place. There will be services like that in the future, very soon. For 2, I think he has a point, but of course the general public's investing pattern is different from a VC's. It's the average Joe's preference. If you ask a 90 year old to drive a porsche, she'll come back and complain how bad the driving experience is and how close she was to have a heart attack from it.</comment>


The Man That Saved My Sister - <AUTHOR> https://medium.com/@ANoffsinger/the-man-who-saved-my-sister-53cf22dd23f4 <comment><USER2> Should be "The Man Who...

</comment><comment><USER3> What a great story to share.</comment>


First image of SpaceX spacesuit - <AUTHOR> https://www.instagram.com/p/BYIPmEFAIIn/ <comment><USER2> So now you'll look stylish as well when you when you take your first step on Mars.

<comment><USER3> This suit is only a flight suit and can not be used for EVA as it lacks a life support system and heat exchanger. That being said their EVA suit will probably look similary cool so you're still right ;)</comment></comment>


Ask HN: Fun challenges for a 9 year-old math whiz? - <AUTHOR>

Hello Hacker Newsers!
Friends of mine have a 9 year-old son who recently scored in the 98th percentile in his school's math tests.  The teachers now want to put him in 7th year math class (he is in 5th year) and apparently sent him home with some multiplication tables which he memorized instantly as he also has photographic memory.
It doesn't help that he lives (and goes to school) in a rather rural part of New Zealand, an hour outside of Wellington.  Neither does the fact that his school recently fired their principal and is in a bit of turmoil ever since, leaving less time for teachers to focus on individual kids.
(Moving to a different town or having him commute to a different school aren't really options for his family at this time.)
When I heard about all this I was wondering if there aren't better ways to engage him and allow him to develop his skills, rather than memorizing tables.  I was thinking that something less dull, more animated and colorful would be better suited to give him some inspiration and encourage him to pursue his strong suits.
He doesn't know his way around computers particularly well (yet) but he likes playing games on his PSP and so I thought games might be a good angle to get him started on something fun to do with computers.
A few ideas I've had so far:
* Lego Mindstorms
* Arduino Starter Kit, BASIC Stamp or similar
* MIT's Scratch ( http://scratch.mit.edu/ )
* Chess, though I'm not sure what the best software or website would be to get him started
* His parents were also thinking about getting him involved with "Mathletics" ( http://www.mathletics.co.nz/ ) although I don't know anything about it.
I was hoping I could tap into the vast pool of amazing knowledge that is the Hacker News community.  Any other ideas, recommendations, or advice?
Note that he's an avid soccer player and his dad (a photographer, film set designer, guitar player, skateboard maker, and builder) has the artistic and hands-on angles covered, so if you feel like giving advice along the lines of "there's more to life than maths" please refrain from doing so -- this question is specifically about cultivating his skills relating to maths and logic.
Many thanks in advance! <comment><USER3> At the very least you can have him progress through the mathematics tree at Khan academy which would further his education a bit. If you haven't heard of it, you can check khanacademy.com

The site includes exercises with a bit of a game element attached where you earn badges for completing certain achievements.

<comment><AUTHOR> Of course, how could I forget about Khan academy. Good point, thanks!

</comment></comment><comment><USER4> You could ask him to add the integers from 1 to 100.

<comment><USER5> I passed this 'test'/suggested a clever way of solving it at a relatively early age, but have always been pretty poor at Maths. I think it's more indicative of a problem-solving intuition than maths skill, or even thew child's conception of integers.

<comment><USER6> If you didn't notice, he was joking due the fact that there's a story which Gauss did the same,

</comment></comment></comment><comment><USER7> Point him at Project Euler.

Books: (remembered fondly from my childhood & adolescence)

The World of Mathematics (ed. Newman)

Symbolic Logic by Suzanne Langer

How to Solve it by Polya

One, Two, Three, Infinity by Gamow

What is Mathematics by Courant & Robbins.

<comment><AUTHOR> Thanks for reminding me of Project Euler, great idea.

I haven't heard about any of these books (I grew up in Germany) but I've forwarded the list to his parents. Cheers, much appreciated!

</comment></comment><comment><USER8> hey another kiwi on hn ;-) "better explained" is cool for the aha sort of insights. get him pygame and get him to make his own games to play - <USER2> could go in all sorts of directions. have him bounce around MIT's OCW - he may not get it but being able to follow his nose and his own passions independently should solve the isolation problem (i recommend the physics lectures, really great demonstrations and some meaty maths). don't let anyone tell you it's too advanced - it may take him a while but that's better than letting him think it's all too easy and get bored

<comment><AUTHOR> Hi there, great ideas! I agree the hard way is the way to go, it's how I got started myself. Thanks for the suggestion re: physics lectures, sounds really good.

Pygame is an awesome idea too, actually you've inspired me to put Ubuntu on an old notebook and give it to him so he has something to hack on (right now he shares his parent's Macbook.) Nothing too flashy but should be enough to get him going at least with some 2D stuff.

Cheers!</comment></comment>


Adam Liaw: five simple dishes, and the mistakes you're making with them (2015) - <AUTHOR> <comment><USER2> You probably intended to include this link: [http://www.theguardian.com/lifeandstyle/australia-food- blog/...](http://www.theguardian.com/lifeandstyle/australia-food- blog/2015/oct/15/adam-liaw-five-simple-dishes-and-the-mistakes-youre-making- with-them)</comment>


Generating Permutations - <AUTHOR> http://typeocaml.com/2015/05/05/permutation/

<comment><USER2> You can also simply iterate through permutations in lexicographic order, again taking O(n) time for each iteration. Specifically, given a_1, ..., a_n as the current permutation, to generate the next one, find the largest i for which a_i < a_{i + 1}. Then, find the largest j > i such that a_j > a_i. Swap the elements at indices i and j, then reverse the sub-array of elements at indices (i, n]. (The initial permutation should be the one with a_1, ..., a_n is ascending order, and the final permutation will have them in descending order (the case in which no i as described can be found))

</comment><comment><USER3> Another option is to use a factoradic[1]. The advantage with a factoradic is that you can index directly to any permutation without having to find its predecessor first.

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

<comment><AUTHOR> Yeah, factoradic is awesome.</comment></comment>


Rubyists, we must do better - <AUTHOR> https://timriley.info/writing/2020/06/08/rubyists-we-must-do-better/ <comment><USER2> The entitled generation is now adult, and they demand safe-for-work cereal names, movies and open source libraries. You must comply lest you be added to the big social media blacklist of people-who-did-not-agree-with-us.

What should be considered offensive is to distract from what really matters right now (the BLM movement) to discuss a stupid name for a code linter. A very daft display of privilege.

<comment><USER3> "adult"

</comment></comment><comment><USER4> What a ridiculous argument to be having in times like this. It's clearly named for the movie Robocop, and even if it wasn't: not all countries suffer from an abusive militarised police force like the USA does.

I can understand the appeal to move away from master/slave and blacklist/whitelist naming conventions, but you have to draw the line somewhere and I think objecting to the name of a project just because it contains the word "cop" is way past that line. We use the term "cop" in a different context in the UK ([https://www.oxfordlearnersdictionaries.com/definition/englis...](https://www.oxfordlearnersdictionaries.com/definition/english/cop_2)), so why should someone in Bulgaria care about the American usage of the word? Should I be abusing someone to have "fanny packs" renamed because the term could be deemed sexist in the UK?

<comment><USER5> Regarding whitelist/blacklist I haven't seen evidence that

1\. It originates from a racist usage. 2\. It is primarily used with reference to racist ideas.

I still think that there may be reason to change it: e.g. allowlist/blocklist may be more easily understood, but whitelist/blacklist may be more easy to recall (since it is more standard terminology).

Interestingly, along the same lines as whitelist/blacklist, certain Chinese and Japanese have historically called Caucasians red-haired peoples, with connotations of otherness. One wonders if in another century someone would argue to change the colors of the red-black tree.

</comment></comment><comment><USER6> Good that the author did not succumb to such frivolous requests from delicate sunflowers in changing the name when it is only and only based primarily in context to the 'Robocop' film and nothing else.

This PC-nonsense has to stop.

</comment><comment> kalium-xyz The spread of the Americans culture worries me, in a lot of countries the police are your friends and they do actually maintain social order yet still people will parrot these and other movements calling out agaisnt the police causing social disorder.

<comment><USER7> I think some parties are taking the protests and broadening their spectrum; from protests against police violence to becoming against the police entirely.

That last one isn't going to work in practice, regardless of your own libertarian or anarchist ideals.

<comment><USER8> Camden, NJ, has seen some success disbanding the police force and reconstructing it as a community force.

[https://www.citylab.com/equity/2018/01/what-happened-to- crim...](https://www.citylab.com/equity/2018/01/what-happened-to-crime-in- camden/549542/)

</comment></comment></comment><comment><USER9> Rubies are often mined using slave labor. I hope they consider renaming the language, surely they don't want to stand with slavers?

/s

</comment><comment><USER10> I don't understand why anybody would like to change the name of a technical product for an unrelated political issue in a specific country.

This is extremely biased and prejudiced!

Globally not all police are like in the US.

I admire the police in my country (Finland). They are professional and courteous.

<comment><USER11> > I admire the police in my country (Finland). They are professional and > courteous.

This is a great point and one that needs to be heard more throughout this debate.

Changing RuboCop's name due to BLM isn't just inserting politics into software, it's inserting _American_ politics into software. "Cop" might be a negative here, but positive in other places. Demanding a name change of an internationally-used tool due to a localized problem is nothing short of cultural imperialism.

Its great that American policing is finally coming under scrutiny and that we're starting to see institutions bend to the pressure of change. But it's critical that we keep a level head during this time and separate the modern culture of American policing (a negative) from the idea of a police force (a positive). I'd love to see a shift in this communication, not just in the Ruby community in a worldwide a community; a shift from "All cops are bad" to "Here is what good cops look like". Places that are proud and admiring of their police forces need to speak up about it and why they feel that way and lead the rest of the world by example.

<comment><USER12> Please explain to me how renaming a package from "rubocop", which is based on a movie about american police and american politics, to something like "rubyopinion" is "injecting politics"?

</comment></comment></comment><comment><USER13> The funny thing here is that RuboCop is an obvious pun on Robocop which is a satire of privatized police forces and corporate corruption.

But I'm not here to tell people what they should not be offended by. Telling people "you shouldn't be offended by X" is as bad as "we should keep politics out of software."

Instead of "keeping politics out of software" how about we try to listen to each other and be civil to each other even when we disagree? Which I think this posts articulates the argument for very well. I'm a lefty but this goes for all sides.

<comment><USER14> No. This attitude of attacking developers because of political insensibilities of clueless people is not acceptable. The author is dead wrong in that article. Not the ruby community has to be better, these people have to be blocked from it. There is no point in being nice to people so unreasonable and just plain in the wrong, this position does not deserve to be heard.

<comment><USER13> To me "be civil to each other" means don't attack people because of your political perspective. It's ok to have a political idea about say, the name of an OSS package, but if you request a change be kind about it, lay out your reasoning and don't expect that you are going to automatically get what you want.

</comment></comment></comment><comment><USER15> And still we let GitHub block Iranian citizens from accessing their repos.

I'm pro BLM, and I'm really outraged by the behaviour of police across the US.

But this has nothing to do with software names, and it is so a US-centric point of view.

</comment><comment><USER16> This is absurd.

<comment><USER17> Which part?

<comment><USER18> The idea that a globally used library should be renamed because of the issues in one country today.

Many countries have had issues with the police for decades, but no one cares. And there's plenty of countries with good police.

</comment></comment></comment><comment><USER19> I do care about all of the BLM movement, I really do. I can't stand racism or any other sort of hate towards minorities or any other group of people.

That being said, can we please keep politics away from software development? We already have good fights to battle, and changing whitelist / blacklist or master / slave isn't really helping to the cause.

This matter obviously is not only related to Rubyists, Rustaceans, Gophers or any other programmer group anyways.

I don't see the point in moving politics to software: if you really want a change you should vote for better leaders and fight in different ways. I don't think anybody will ever be offended by reading "whitelist" or "master". Truth is that nowadays everybody gets offended by anything.

Please, do not answer to this comment if you intend to make the discussion political. I feel that it is right to speak up for your rights, but I feel that it is best if we generally keep the discussions apolitical, whenever possible

<comment><USER20> In my more paranoid moments I suspect that some of these disputes are false flags meant to discredit the social justice movement. In particular, some of the issues raised seem purpose built to piss people off without hope of achieving real inclusiveness or equality goals.

That I can't tell if that's the case or not is equally alarming.

<comment><USER21> I offer another option: bad actors that are taking advantage of the disputes to further their own agendas. Only, it's not an option, it's more of a documented reality. And it's even _more_ alarming.

</comment></comment></comment><comment><USER22> This reminds me of the Factory Girl vs FactoryBot after #metoo movement.

I'll go create a gem called covid now and wait for the fireworks...

/s

</comment><comment><USER23> This whole issue is incredibly stupid. The naming does not offend me, and anyone who is offput by it needs to learn not to be.

</comment><comment><USER24> I think the real issue here is that maintaining communities of diverse people is hard work. It's not what a lot of maintainers sign-up for originally. It can be exhausting to try to keep the community aligned to a code of conduct in a way that's fair and allows open discussion. Worst of all, few people want to do this but it comes with the territory of a large open-for-contribution project.

Perhaps the solution is for each community to fund a community manager role. Maybe community management as a service would make sense if each individual project doesn't require a full role itself (a startup opportunity perhaps). Does anyone know of any open source projects that currently employ a community manager?

</comment><comment><USER25> It's just incredible to me how many people want to introduce churn amongst the entire Ruby community over this. We're talking about thousands of hours at least just to make the change and probably a lot more in following broken links. I could understand if the name was offensive in isolation, but it's not and hasn't ever been. Now suddenly external forces change that? Good luck to the folks who want to fork the project. It's super hard and will drain the life out of you

</comment><comment><USER26> the 'copy' command should be removed from all operating systems and software too!

<comment><USER21> Nah, just replace it with the community_scribe_of_appropriate_self_hatred. It can be aliased to 'scribe' if it helps, though it loses some of it's power.</comment></comment>


NSNotificationCenter is Probably an Anti-Pattern - <AUTHOR> http://blog.jaredsinclair.com/post/136408895215/nsnotificationcenter-is-probably-an-anti-pattern <comment><USER2> The problem of messages sent to deallocated objects isn't unique to NSNotifications, the same thing can happen with calls to delegates[1]. This problem can easily be solved by (a) using weak references, or (b) by searching your code for "addObserver" and making sure there is a matching "removeObserver" for every call.

While I agree with the author that often delegates are a nicer pattern, I wouldn't go as far as calling NSNotificationCenter an anti-pattern. I also think that limiting its use to global notifications is not good advise.

My advise for using NSNotifications is whenever you want loose coupling between objects.

For example, I have an app that displays an iTunes-like status view at the top of the window. I don't want all the query objects and the status view tightly coupled. Instead, my query objects post notifications when the status changes, and the status view observes them. Using notifications lets me separate concerns, and avoid coupling between model and view layers.

Also, another powerful feature of NSNotifications is that an observer can decide on its own when it is no longer interested in notifications. When you have block-based completion handlers, there's usually no way to unregister a completion handler. This can lead to crashes as well, when a long-running request times out after the user has already closed the window.

[1]: There was a pretty severe bug in OS X 10.10 that caused views to be retained after their window was closed, so that many apps all of the sudden crashed when the views sent messages to their delegates which were deallocated. A workaround was to make sure to make sure that controllers call setDelegate:nil on their views in the dealloc method -- just like with NSNotificationCenter.

<comment><USER3> I have about a million of these and similar log entries:

        WindowServer: _CGXRemoveWindowFromWindowMovementGroup: window 0x1d is not attached to window 0x4d

My El Capitan installation is fresh. Didn't help. I think reading the logs in OS X since Yosemite, does make OS X feel buggy and it should probably not work as well as it does. :-/

<comment><USER4> Sorry, total outsider to OS X/iOS programming. What logs are you referring to? Just curious

</comment></comment></comment><comment><USER5> Not really much of a strong argument. Notifications, KVO and delegation are indeed the methods that are typically used. I don't really think he's making a strong argument not to ever use NSNotifications, though I'd agree they should ideally be bigger stuff related to application state changes.

Delegate is probably the most fool proof way to do it and is pretty much protected by the compiler to give you the warnings you might need and doesn't require much template. But ultimately there are a lot of things where it's frankly a one to many scenario and delegation is out of the picture.

I suppose I've continually grappled fixing both bugs in KVO and NSNotification, and it seems like Notifications are much easier to find by just searching for the const string to audit the observers. KVO is tricker especially if there are keypaths and what if the name of the property is changed? The whole thing happens in the runtime so it's basically a nightmare.

So ultimately yeah, you can clean up KVO and make a better implementation. I've written something that makes a intermediary object that managed some of the trickier aspects of KVO (having to call super and pass a context and dealloc etc). But now I'm at a new place and I wouldn't put the effort into getting everyone on board into using that code instead of the usual Foundation stuff.

<comment><USER6> Academically the article may hold water, but I tend towards your thinking. There are just as many articles that will declare the values of loosely coupled systems as there are for tightly-coupled. The truth is, most software of any size is a combination of the two.

In many cases, directly-related pieces should probably have a tight understanding of what's happening with their neighbor or ancestor or descendant, and delegates are great for this. But sometimes, I want my software to announce that certain things have happened, or completed, or whatever, and _not_ care who, if anyone, is listening, and NSNotificationCenter is brilliant for this. For instance, a top-level UI feature like an indeterminate progress indicator doesn't need to know of every single bit of work being performed by lower levels of the software, and tightly coupling them - even along a delegate chain of some sort - is fraught with potential edge cases. Simply listening for start and end announcements means dozens of not hundreds of lines of code eliminated, and maintaining a crazy delegate chain unnecessary.

In any case, I've found this pattern extremely helpful and useful, and is one of my favorite bits of working with Objective-C (and now Swift).

</comment></comment><comment><USER7> In an app I'm working on currently I've opted to use [https://github.com/slazyk/Observable- Swift](https://github.com/slazyk/Observable-Swift) instead of KVO and NSNotificationCenter. So far I've been pretty pleased by the experience and I hope something like this works its way into the ecosystem.

<comment><USER8> Look into RxSwift. You'd get the same API in Ruby, JS and other languages as they try to follow the same documentation outline.

</comment></comment><comment><USER9> Notifications are appropriate when you have multiple listeners which is so common that (fwiw) I'd like to see delegates replaced with some more elegant form of notifications that can also carry trace info for debugging.

</comment><comment><USER8> It is an anti-pattern. I hate when apps push notification a cross controllers. Pub/Sub should only be used internally like a ECS pushing update, add, remove and other callbacks.

</comment><comment><USER10> Very much agree, almost every time I've seen custom notifications they've been a huge source of pain across the app.

<comment><USER11> (Global) notifications are sometimes the only sane way to deliver a message from one part of your application to another one without explicitly wiring them together. If you're working with some kind of plugin system they're also incredibly useful to deliver state updates to plugged-in components.

Once your codebase reaches a certain size, an event bus is a very powerful pattern that, if applied correctly, will keep your classes/functions/... decoupled.

Naturally, there is a huge potential for misuse, but that argument probably applies to any design pattern.</comment></comment>


Teams losing coin toss pay penalty  - <AUTHOR> http://www.ft.com/cms/s/0/7087e55a-8462-11df-9cbb-00144feabdc0.html

<comment><USER2> Requires me to register ... I'm not _that_ interested ...</comment>


Nvidia  Loses Huge GPU Order Due To Linux Blob - <AUTHOR> http://www.phoronix.com/scan.php?page=news_item&px=MTEyNTE

<comment><AUTHOR> Two other articles linked in the OP about Nvidia and linux:

Linus Torvalds Calls NVIDIA The Worst Company Ever, [http://www.phoronix.com/scan.php?page=news_item&px=MTEyM...](http://www.phoronix.com/scan.php?page=news_item&px=MTEyMTc)

and, NVIDIA PR Responds To Torvalds' Harsh Words, [http://www.phoronix.com/scan.php?page=news_item&px=MTEyM...](http://www.phoronix.com/scan.php?page=news_item&px=MTEyMjk)

Both are well worth reading.

</comment><comment><USER2> Because Bad NVidia (shame! shame!) wouldn't give their source code to the Chinese.</comment>


Where Is Everyone? - <AUTHOR> Hacker News used to have a vibrant and thoughtful population of commenters.<p>What happened? <comment><USER2> Have you read the guidelines in relation to your apparent perception that quality is decreasing?

</comment><comment><USER3> I clicked on here expecting a discussion of the Fermi paradox.</comment>


Twitter Is Betting Everything on Jack Dorsey. Will It Work? - <AUTHOR> http://www.vanityfair.com/news/2016/06/twitter-is-betting-everything-on-jack-dorsey <comment><USER2> Well-researched and solid writing. I'm surprised this isn't higher on HN.</comment>


French Court Allows Reverse Engineering of Skype Protocol - <AUTHOR> http://translate.googleusercontent.com/translate_c?depth=1&nv=1&rurl=translate.google.com&sl=auto&tl=en&u=http://www.numerama.com/magazine/27296-la-justice-francaise-blanchit-le-cassage-du-protocole-de-skype.html&usg=ALkJrhh_j0I0TnInzEe43zrZ74keHKwjnA <comment><USER2> A friend of mine, @ouanilo (french), actually reversed the Skype protocol: [http://www.oklabs.net/skype-reverse-engineering-the-long- jou...](http://www.oklabs.net/skype-reverse-engineering-the-long-journey/)

Wondering why it didn't really get out there tho.

The rest of the website has more information about the journey, and an actual fake Skype client.

</comment><comment><USER3> The court follows the EC Directive for legal protection of computer programs, specifically Article 6. Every EU country should have laws in place that allow for reverse engineering within certain limits.

See page 4 [PDF]: [http://eur- lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2...](http://eur- lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2009:111:0016:0022:EN:PDF)

</comment><comment><USER4> Sometimes, we can be proud to be french ;-)

For interoperability purpose, "reverse engineering is a legal practice, and that the distribution of software using a protocol found in this way is not illegal"

<comment><USER5> There are many reasons to be proud to be French, but since the French law is just an implementation of an EU directive this is hardly one of them.

<comment><USER6> Frankly, I never understood why anyone should be proud because they happen to be of a certain nationality.

<comment><USER7> Why is it so strange to be proud of the blessings of good fortune?

If you are born beautiful, can't you be proud of it?

If you are part of an ancient and rich civilization, can't you be proud of it?

<comment><USER8> You can respect it and count your blessings but what are you proud for if you didn't contribute anything to it?

Now if you are part of an ancient and rich civilization and you continue to further that civilization, that you can be proud of.

<comment><USER9> If one does enough regression in analysis, even your contributions and works can be traced to genes and environment you didn't exactly choose.

Why wouldn't personal beauty, health or intelligence be considered part of that civilization - and if I procreate, I am furthering it :)

<comment><USER8> Well procreating is an achievement in itself, so it is something you can be proud of.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> I wonder what would have happened in the United States. I think the DMCA probably couldn't be construed to apply to this, but I guess accessing Skype's servers could be considered exceeding authorized access, similar to the 3Taps case ([http://www.mediapost.com/publications/article/207055/#axzz2i...](http://www.mediapost.com/publications/article/207055/#axzz2iWzTwYAH))...

</comment><comment><USER11> Reverse engineering of protocols should be as American as the First Amendment!

<comment><USER12> I'm pretty sure it's legal in the US as well. The gold method is two teams: One reverse engineers and writes documentation, and the second team implements based on the documentation and never sees the original.

The question is if it's legal to talk to the skype servers this way.....

<comment><USER13> This is known as [http://en.wikipedia.org/wiki/Clean_room_design](http://en.wikipedia.org/wiki/Clean_room_design)

</comment></comment></comment><comment><USER14> I really hope Pidgin/Audium leverages the source code, or someone else does it and makes a Pidgin plugin. The native Skype client on Linux crashes quite a bit.

</comment><comment><USER15> Protocols are like languages, in the sense that they aren't the data or protection of data, but provides a structural framework for communicating. Languages are also in itself not information, and not secure, it's only when you apply security that happens.

This can be compared to letting people try reverse engineer some indigenous language in my eyes.

</comment><comment><USER16> Hmm... it seems European law seems to fair a lot better then American law when it comes to attempted abuse by big companies.

I don't know if it's just because the judges are more sane but well done. I think I respect the french slightly more now :)

<comment><USER17> The EU company sold skype to an american company. Now they don't care to protect it.

</comment></comment><comment><USER18> I'm afraid that this, while a significant decision, will lot mean much in practice. Companies can play cat and mouse indefinitely, and have more resources than hobbyists, if they need their protocols to remain secret.

<comment><USER19> A French company should now be able to offer a chat messenger which is interoperable with Skype for sale, potentially giving it to keep up with the cat and mouse game.

<comment><USER20> It will be easy for free software to offer such a solution, the problem is that commercial software probably can't promise much about how much or how long it will be interoperable. I'd be reluctant to pay for a commercial skype client that can break tomorrow.

<comment> m-r-r In the case of Skype, your right: Skype can probably change their protocols and ruin the work of the reverse enginners. But this would have a price: Skype users would have to install the last version of the client to be able to communicate with their contacts. If Microsoft started to modify the Skype protocol each week, the users would probably get tired of updating their client weekly and they would use another software.

For others proprietary softwares, breaking the compatibility with old versions is hardly conceivable: If Photoshop or AutoCAD where suddenly unable to use read and write the terabytes of data created by their users, those users would probably throw their PC through the window and never buy again a proprietary software...

</comment></comment></comment></comment><comment><USER21> Didn't Microsoft basically reverse engineer Google's Youtube API's to make that WP8 Youtube app? I wonder if Google will consider integrating a reverse engineered Skype into Hangouts. Not that I'm particularly excited myself about joining a fully spied upon chat service, but it would be an interesting move.

</comment><comment><USER20> Wasn't this the case with ICQ? That is, once the protocol was reverse engineered, all the protocol authors had to do was change it slightly and the 3rd party implementations had to play catch up.

</comment><comment><USER22> Can someone explain why this is a significant decision ?

</comment><comment><USER23> Eet iz formidable!

</comment><comment><USER24> This makes me laugh, mostly because it will alienate the French govt from the US Govt, but also because its basically anti-IP.

<comment><USER25> You forgot the main reason : because it goes against your preconceived ideas about "The French".

<comment><USER24> I'm not sure I follow, the only preconceived ideas I have about the French relate to food and music. If the French want to tick off the USGovt, I have no quarrel.</comment></comment></comment>


How (and When) to Limit Kids' Tech Use - <AUTHOR> https://www.nytimes.com/guides/smarterliving/family-technology <comment><USER2> This is something I'm currently struggling with wrt my son. It's challenging.</comment>


By example: Continuation-passing style in JavaScript  - <AUTHOR> http://matt.might.net/articles/by-example-continuation-passing-style/ <comment><USER2> What the author is missing: tail recursion in constant space is an implicit requirement for practical use of CPS transformations. In fact this is probably the single biggest reason for wanting efficient tail calls in a language.

ECMA doesn't require efficient tail recursion. Caveat programmer.

<comment><USER3> Good point. True.

If you're going to do real CPS programming in JavaScript, you'll want to use a trampoline or a timer mechanism to reset the stack.

But, in most cases, you do a little computation and then block waiting for an event.

When the continuation gets invoked by the event-handling loop, the stack is reset.

<comment><USER2> _When the continuation gets invoked by the event-handling loop, the stack is reset._

You're not compiling to C here: "the stack" may be a chain of heap-allocated activation records that are still live as far as GC is concerned. What you're describing might work but you'd want to test it to be sure.

EDIT: On reflection I agree that the setTimeout() approach should free the stack, however it's implemented.

</comment></comment></comment><comment><USER4> Twisted (a python asynchronous network programming framework) does something similar, but inverted. Twisted functions return a Deferred object without blocking. A Deferred is a promise of a value, so rather than passing the callback into the function, you register a callback with the deferred, and the function promises to call it later.

This type of thing has a few nice properties -- you can easily register more than one callback, as well as using them as a pipeline (kind-of like monads in haskell), which are awkward to implement with callbacks.

As an aside, in python you can trick generators into turning synchronous- looking code into asynchronous, which can actually make things look a lot neater if done properly -- i'll provide code if anyone's interested.

<comment><USER5> > python you can trick generators into turning synchronous-looking code into > asynchronous

Example: <http://dieselweb.org/lib/> or <https://github.com/saucelabs/monocle>

Although Diesel2 is much more interesting, with greenlets support. No more messing about with `yield`, since the blocking functions themselves force a context switch. <https://github.com/jamwt/diesel>

<comment><USER4> That looks really interesting, though it seems a bit dangerous -- greenlet feels like a bit of a hack.

I wish I'd found diesel before twisted; it seems a lot more elegant if you don't need any of the built-in protocols. The twisted model is good, there's just too much of it.

</comment></comment></comment><comment><USER6> Could someone explain how the 'call/cc in javascript' from the article is supposed to be used?

      function callcc (f,cc) {
        f(function(x,k) { cc(x) },cc);
      }

<comment><USER3> Suppose you wrote a compiler that translates to JavaScript in continuation- passing style. (Or suppose you wrote all your JavaScript in continuation- passing style.)

That's the implementation of call/cc.

For how to use call/cc, I recommend my other article on continuations:

[http://matt.might.net/articles/programming-with- continuation...](http://matt.might.net/articles/programming-with-continuations --exceptions-backtracking-search-threads-generators-coroutines/)

<comment><USER6> I found this link before posting the question but I still can't imagine how to use javascript call/cc implementation from your article (on the other hand I think I know how to use call/cc in scheme). Maybe I am too tired today.

If you posted a simple example of JavaScript written in continuation-passing style and using this call/cc implementation probably everything would be clear.

</comment></comment></comment><comment><USER7> People interesting in this article might also like Eric Lippert's articles on the subject.

[http://blogs.msdn.com/b/ericlippert/archive/2010/10/21/conti...](http://blogs.msdn.com/b/ericlippert/archive/2010/10/21/continuation- passing-style-revisited-part-one.aspx)

They're more from a language design perspective rather than the more practical article here.

</comment><comment><USER8> Basically, this article is just about what callbacks are and how they are all nice and convenient?

<comment><USER3> No. I think you're missing the point.

Continuations become a highly constrained kind of callback in continuation- passing style.

Callbacks by themselves don't make for a nice intermediate format for compilation, or a way to model exceptions or distributed computation.

They only gain these abilities when constrained as continuations in CPS.

<comment><USER9> For good descriptions of using CPS as an intermediate representation in a compiler, check out Appel's _Compiling with Continuations_, Guy L. Steele's "Rabbit" thesis, Krantz's "Orbit" thesis, and chapter 12 of the first edition of _Essentials of Programming Languages_ (they cut it from later editions, unfortunately). Appel uses ML, the rest use Scheme.

</comment></comment></comment><comment><USER10> doesn't jquery already do this with $.post?</comment>


Here's what happens when Heroku goes down - <AUTHOR> http://gigaom.com/cloud/heroku-exec-takes-us-behind-the-scenes-when-clouds-fail/?utm_source=dlvr.it&utm_medium=twitter <comment><USER2> One way to reduce outages and bugs would be to put an incentive plan in place that pays _bonuses_ to the folks on-call for each time they fix a problem while on-call.

This would have two effects:

\- Management would strongly encourage the design and implementation of systems that fail less, which results in less payout of these bonuses.

\- Employees would want to more willingly be part of the on-call process.

Imagine a group of your workforce eagerly waiting to fix an impending failure while another opposite group is eagerly making sure those guys don't get paid a bonus.

And, you could tie it all together with bonuses for everyone when you meet certain performance levels.

<comment><USER3> And employees would also put bugs in to reap the reward.

<comment><USER2> I certainly don't disagree that there are opportunities to game the "system," but in startup environments there are lots of people keeping a close eye on development and production environments. Someone gaming it will quickly be exposed.

Just to clarify, I'm not recommending this approach to enterprise corporate environments where layers upon layers of management and developers could easily derail what I am suggesting.

But for the startup, it is worthy of consideration.

</comment></comment></comment><comment><USER4>
      In most cases the pages, which arrive about two or three
      times during a 24-hour on-call period, require the engineer
      to take down the problematic instance and restart it.

I've never held a position that required a pager, but I always assumed that pages to on-call support people were for emergencies only. This seems like they're paging for non-emergency things that need to get looked at; wouldn't an email work just as well?

<comment><USER5> When an instance is "degraded", they need to start another instance quickly, or else the apps hosted on that instance will be down for good. So it's an emergency.

I think they don't have enough confidence in their detection of "degraded" instances to do it automatically, so it requires human intervention.</comment></comment>


Fluffing your CV with skills - <AUTHOR> Perhaps I get more cynical as I get older, but I get really annoyed when applicants put 'fluff' on their CV.
I've recently been interviewing for low to mid level IT jobs.<p>To give a few examples of the things I've come across in the last month:
* SSH protocol
Several applicants have listed this. It always gets my attention because a) I don't believe simply being able to connect to a host via SSH is a noteworthy skill, b) if you're actually into the protocol itself I will probably love you.
It always turns out to be the former. I try to salvage that by asking some more pointy questions such as 'explain to roughly how I would tunnel with putty?' which get blank stares.
* Linux command line
This is touch and go in terms of relevance. I guess it depends just how junior you are, as well as the specifics of the role (yes I would tailor my CV to a role). When I ask you what 'cat' does I would expect an answer. Said person could not tell me what the default shell was under CentOS.
Again, a lot of people fall short under questioning. Being able to change directories does not qualify for a CV mention.
* PHP (Zend OO)
Very specific example but this applies to any scripting/programming language mentioned on the CV. If you claim something specific, be prepared to answer specific questions. If you put 'Zend OO' and it turns out you read the cover of a book about Zend (literally admitted) and 'did a course in OO PHP' whilst your real work is fully procedural, please be prepared for a frown.
Now, am I being too cynical with these juniors? Perhaps working in a city like London makes it hard to see the forest for the trees, but I am sorely disappointed with perfectly capable people ruining their own chances by senselessly fluffing their CVs. <comment><USER2> I think your cynicism is merited. It never ceases to amaze me how many competent people there are in the world who are incapable of articulating their own competence. However, on some level, I'm rather glad for that, because most people don't want to hear how awesome you are. In fact, most hiring personnel don't want to hear how awesome you are, so it's better to let your work speak for itself.

I edit CVs on the side (because I'm an editor), and I find people 'fluff' their applications for a wide variety of professions.

The advice I generally offer is this, and maybe you can confirm/deny whether it applies to your hiring approach?

1) Wage war on adjectives, they offer the reader nothing and merely take up space. 2) Talk about projects, not positions or skills – in the course of discussing the project, discuss honestly what skills you brought to it and what your role was; articulate what you learned on the way; and tell me the conclusion of the project. It can be bullet points, but let it tell a story that's easy to understand. 3) Discuss outcomes. If your project was scaled, resulted in a sale, became a template for similar initiatives, or made your colleagues' lives easier, discuss that outcome.

It would be nice to learn whether I'm steering people in the right direction, if you don't mind sharing... In any event, when I have to advise on a new hire, I usually appeal to those three criteria when reading a resume, and I toss anything that doesn't meet it.

</comment><comment><USER3> I remember when I was just out of college, I was terrified at how little I could put on my resume. I had a couple internships, sure, but it just felt really sparse. It made me really wrack my brain to come up with as many "skills" as possible. I literally felt like I was trying to trick companies into giving me a chance, since I didn't have much "proof" of my potential. Now that I have plenty of experience, I have a lot more to work with, and it's way easier (especially since I have been on the other side of the resume-reading exercise, so I know what I'd look for).

Hopefully more students can learn what it's like from the company's side and have a better picture for what they're expecting. If they are going for a low- level position, I'd give them a break on the resume and experience, and really dig for potential. Everyone has to start somewhere.

<comment><AUTHOR> Agreed on giving them a break in the end. I do tell them straight on that fluffing skills isn't a good idea as it sends the wrong message. We do have a technical component and group discussion stage to try and coax out the talent.

It's amazing how some people completely fumble the interview and sometimes even technical component, yet convince people in the group chats.

</comment></comment><comment><USER4> I would also note that if you're/they're using a recruiter, the recruiter often does this stuff. A recruiter contacted me for a local start up I was interested in, so I sent my resume along and they "made some small adjustments" and sent it back. They added things like "MS Access", "Agile Development", etc. Some other things just randomly pulled out of a hat.

As a side note; I can tell from your tone that you are indeed a cynical old man. The interview processes you describe are intentionally trying to make the person look stupid, and not ascertain what they know.

"Said person could not tell me what the default shell was under CentOS.", how is that relevant to being able to use a linux command line? I understand that many devs probably think being able to cd/ls counts for linux command line ability, which obviously isn't enough.

<comment><AUTHOR> That followed up from asking if they knew what Bash was. Is it wrong to expect them to know it's the shell and it's generally the default? I suppose my post must make me come across rather horrid, but I'm generally quite nice in interviews! :) It's not about looking stupid, I gladly take 'I don't know' or 'good question, I want to look that up' as an answer. It's embarrassing for everyone to ask what are generally easy questions on the topic that was on the CV and get a total blank stare.

</comment></comment><comment><USER5> I think you're being overly generous here by calling it 'fluff'. I'd call it 'lies'.

I'm like you. A couple of months ago I screened a candidate who listed 'Object-oriented Javascript' in second place on his list of skills. I asked him a really tough, brutal question to test this limits of his knowledge on this:

"How do you do object orientation in JavaScript?"

Blank look. Silence. Okay, let's help him out: "Well, JavaScript doesn't give you a 'class' keyword or an 'inherits' keyword. So how would we write OO code?"

"... To be honest, I've only ever done it in jQuery." he said.

"Oh right, okay. I've never done it in jQuery. How does it work in jQuery?" I asked. Silence again. No hire.

I have no idea why people expect this stuff to pay off. It wasn't a front-end job; OO JS wasn't a job requirement and wasn't listed on the job ad. Why put it so high up on your CV if you don't know anything about it? Why put it on there at all?

<comment><USER6> Yeah, outright lies like that are definitely bad. But various recruiters have asked me to add some skills to my CV that I personally considered not interesting enough to mention.

Like Scrum. I've worked in Scrum, and I love it. But I didn't really consider it a skill until recruiters pointed out that clients wanted clear Scrum experience.

I've listed SOAP. Is it a skill? It's fairly trivial to work with. (Though I'm amazed some people manage to mess it up. Tools do everything for you. How do you mess that up? But somehow they do.) But I've got experience with it, so I list it, though I'm hardly a SOAP guru.

I don't list Linux, because I'm no system admin. I do know my way around the command line, but everybody programmer can do that, right? Right?

So I've got some skills listed that I consider fluff, but they're not lies. I consider them fluff because they don't really add much, and are certainly not on the same level as a language or framework, but I list them anyway because hiring managers care about them.

</comment></comment><comment><USER7> One of my best friends does hiring at a very large corporation; one of the tricks that he has taught me, is that a lot of companies will run a CV through automated software, culling any CVs that do not match the keywords the job description is looking for, so I do not see it as a major deal adding the "fluff" to get through these (flawed) systems. In fact, if you were an applicant, and A/B tested your resumes, I'd probably hire you straight away.

<comment><AUTHOR> So the moral is: tailor your CV to the type of corporation you're applying to?

</comment></comment><comment><USER8> Not only the fluff, but the folks that put dozens of languages and technologies that are unrelated to one another. Being a polyglot myself, I still end up focusing on one or two languages to the point that I'd be comfortable putting them on a resume (t spec). IMO, if you are not able to field extremely deep questions on a language/tech you shouldn't list it.

</comment><comment><USER9> Fluff is caused by job seekers perception of what are the 'must haves' for a CV.

Try reviewing CV's for Customer Service roles and you will be amazed at the fluff folk put under hobbies & interests.

People assume that they need to list their skills in a nice, ordered, bulleted list and panic when they perceive said list to be too short or insufficient.

</comment><comment><USER10> Headline made me come here to learn how to best fluff a CV. Left utterly disappointed ;)

Let me try to answer the question: The issue is probably, that with most softer CV skills are way harder to determine for the true level of mastery of an applicant. Most larger organizations might anyway be only interested in one particular element of your CV and take the rest as decision making support supplements. Unless the applicants where specifically applying for SSH, Linux or PHP/Zend jobs it might be just "stuffing" to signal that they have some idea of the subject and are willing to further develop their skills in that direction.

</comment><comment><USER11> I am recently out of College, and I don't have a job, so let me see if I can give you an example of the curve, and clarify why your expectations seem to be wrong.

I don't know where I would have used CentOS (I'd guess bash is the default interactive shell, but I don't know for sure).

Most people in Linux classes would use Putty on Windows to log into the school machine. I installed Linux Mint, other's used bash on Mac OS X, and I know of one guy who ran Arch. That puts us slightly ahead of the curve.

So I know local bash commands. I know enough make to compile my c code with a Makefile that I copy and modify. As

I have to look up ssh and rsync options. When would I, as a student, really be doing stuff across linux machines? I have picked up a bit of bash scripting (helped by the fact that I learned perl, and perl is closer to bash then you would think), but that's less than usual. Most people who know Python script in python and so on, and may ignore linux commands and pipelining in favor of their preferred language's built in's.

The Zend thing is a little weird, but most people going into entry level jobs expect to learn the specific framework on the job. Hell sometimes the specific language. I don't know if I would list Zend on my resume if I had only that guy's experience, but a course in OO PHP is pretty specific for a college course. Unless Zend is driving PHP usage like Rails did for Ruby, The guy expected to be able to demonstrate the capacity to learn it and understanding of the underpinnings (PHP and OO), not actually how to do it. Apparently that guy got an interview, and more modest people probably didn't.

I certainly list Perl and will say I can do OO Perl code, but I have never used Moose, just old fashioned blessed hashes.

At entry level, you should hire the person, not the skills. Have they written code for something outside of a school project? Have they written code for their personal use? Are they still learning? Can they articulate their understandings of relevant concepts clearly? Can they program something in their preferred language and one or two more to show the ability to generalize?

A good entry level candidate can do most (but not necessarily all) of the above.

Entry is about talents, not skills, and that's what you should be looking for.

Maybe my expectations aren't par for the course where you are, but remember that the best candidates, the guys who have been programming since they were 8 and write their own lisp compilers, they have jobs lined up before they graduate.

You can always contact professors at local schools who teach classes relevant to your job openings, and ask them what gets a good grade, and what is an average grade.

Calibrate your expectations. Expect people who aren't qualified will try to get the interview anyway. Expect that people won't know as much as you, or even as much as you did when you were just graduated.</comment>