Is there any evidence that, in the long run, startups are net job generators? - <AUTHOR> Is there any evidence that, in the long run, startups are net job generators? <comment><USER2> I remember around the year 2000, there was a newspaper clipping about a guy that had received an award. It might have been a nobel prize, but I cannot remember now.

He essentially proved that mergers and acquisitions destroyed jobs. Yes this seems intuitive, but he backed it up with proof.

Large companies are ingrained in their industry, and when you see them in the news, it is usually related to mergers and acquisitions.

So if larger companies do not create jobs, who creates them then?

I would say it is successful startups. Are they net job generators, I do not have any data to prove or disprove that. But I can say that new innovation provides more opportunities for job creation.

</comment><comment><USER3> Definitely. Remember that startups include the hugely successful ones. If Google and Facebook had been started in Spain instead of the US, do you think Spain would have more jobs now?

</comment><comment><USER4> For programmers, obviously. For steel workers, or taxi drivers, definitely not.

<comment><USER5> I doubt it. Even for programmers effects of start-up scene are not allways positive.

<comment><AUTHOR> This is also my initial impression. But is there any published study in favor or against this view?

</comment></comment></comment><comment><USER6> I think the books are balanced. First the startups generate jobs. Next "government intervention" imposes a minimum wage, and startups replace half of work-force with.. technology. Like it just happened recently in the USA with some food chain as I've heard.

<comment><USER7> Would a minimum wage push the startups to replace their workforce?</comment></comment>


Google OpenID 2.0 is deprecated - <AUTHOR> https://developers.google.com/accounts/docs/OpenID

<comment><USER2> I thought OpenID and OAuth 2.x were supposed to be long lived APIs? I wonder how many logins will break because website owners aren't willing or aren't able to fix their authentication credentials framework.

<comment><AUTHOR> It becomes quite cumbersome to deal with it.Because, we are using freshdesk crm for one of our project.We were expecting user will get login through google openid. After we had gone live we got struck to deal with Google openid login. We approached freshdesk support also, then left us since they are depending on Google.</comment></comment>


Elon Musk shares first look into the Boring Company's 'disturbingly long' tunnel - <AUTHOR> https://www.businessinsider.com/inside-elon-musk-boring-company-tunnels-2018-11 <comment><USER2> What's the ground like where they dug this tunnel? Is it mostly rock, or more clay-like? Does the type of ground make a big difference regarding speed of boring and cost? Are there materials the boring machine can't cope with?</comment>


Snorby: Rails UI for network security monitoring - <AUTHOR> http://snorby.org/

<comment><USER2> I think its beautifully done.</comment>


Why the EU Cookie Law is wrong. - <AUTHOR> http://blog.madebyhd.us/post/21471343305/why-the-eu-cookie-law-is-wrong

<comment><USER2> The bit about talking to browser vendors is kind of off the track.

Microsoft would be against, but Google would be happy to oblige ? Seriously ? Google Analytics is probably the most widespread user of tracking cookies out there.

Besides, while I agree that this regulation is very weird, and very hard to justify, saying that it is about governments controlling the web and reducing free speech is something I don't really agree about. By saying that, you put this legislation in the same category as SOPA and friends, which are very different beasts.

Namely, SOPA and related regulations are about the content, while this is about technicalities. This doesn't impose any restrictions on the users, it forces websites to do things differently. Maybe it will put a charge on website creators, but it won't restrict anything. Plus, SOPA is about protecting the rights of non-internet companies, while the Cookie Law is about protecting users against internet companies.

Yes, it's misguided. But, for once, it takes the side of users, and not the side of companies.

</comment><comment><USER3> > _First problem being cookies have been obsolete for a few years now. With > the recent developments in new storage mechanisms like Local Storage, > cookies are no longer needed anymore. Local storage has even implemented in > every modern browser (and IE8+). What does this mean? Well it's simple… If > you don't update your browser, some of your favorite sites aren't going to > work._

Okay, one more time: neither EU Directive 2009/136/EC [1] nor the local laws that implement that directive are specific to cookies. They are worded such that they apply to all mechanisms that involve storage on the client.

Take, for example, the UK Privacy and Electronic Communications Regulations. Regulation 6 of the Privacy and Electronic Communications Regulations 2003 (PECR) [2], after applying the 2011 amendment [3] that includes the changes necessitated by Directive 2009/136/EC, reads:

        (1) Subject to paragraph (4), a person shall not store or gain access to
            information stored, in the terminal equipment of a subscriber or user
            unless the requirements of paragraph (2) are met.

        (2) The requirements are that the subscriber or user of that terminal
            equipment-

            (a) is provided with clear and comprehensive information about the
                purposes of the storage of, or access to, that information; and

            (b) has given his or her consent.

        (3) Where an electronic communications network is used by the same person to
            store or access information in the terminal equipment of a subscriber or
            user on more than one occasion, it is sufficient for the purposes of
            this regulation that the requirements of paragraph (2) are met in
            respect of the initial use.

        (3A) For the purposes of paragraph (2), consent may be signified by a
             subscriber who amends or sets controls on the internet browser which
             the subscriber uses or by using another application or programme to
             signify consent.

        (4) Paragraph (1) shall not apply to the technical storage of, or access to,
            information—

            (a) for the sole purpose of carrying out the transmission of a
                communication over an electronic communications network; or

            (b) where such storage or access is strictly necessary for the provision
                of an information society service requested by the subscriber or user.

No mention of cookies, and "information stored, in the terminal equipment of a subscriber or user" would seem to apply to solutions that use HTML5 local storage, ETag headers, Flash LocalSharedObjects or any other similar technologies.

[1]: [http://eur- lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2...](http://eur- lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2009:337:0011:01:en:HTML)

[2]: <http://www.legislation.gov.uk/uksi/2003/2426/contents/made>

[3]: <http://www.legislation.gov.uk/uksi/2011/1208/contents/made>

</comment><comment><USER4>
      With the recent developments in new storage mechanisms
      like Local Storage, cookies are no longer needed anymore.

...

      If you don't update your browser, some of your favorite
      sites aren't going to work.

      Second problem here is the fact that it only affects
      countries in the EU.

Coming soon: Firefox EU Edition?

<comment><USER5> > <https://addons.mozilla.org/fr/firefox/addon/ghostery/>

Protect your privacy. See who's tracking your web browsing and block them with Ghostery.</comment></comment>


Diaspora? - <AUTHOR>

Any news re Diaspora? After so much hype, it's like they dropped off the face of the earth. <comment><USER2> Probably haven't come back from their $200K holiday yet. Or they spent their 15K rentacoder budget and are trying to figure out how they can pay someone to write it for them without dipping too deeply into their hooker and coke money.

In all seriousness though, didn't they plan to have a working version by the end of this month? I wonder will they manage...

</comment><comment><USER3> I was a kickstarter backer for Diaspora and I haven't heard a peep from them since they asked for shipping info for the backer rewards, and even their twitter feed was last updated on the 18th.

Also, joindiaspora.com doesn't seem to be up at the moment. I really hope that they're just incredibly busy.

</comment><comment><USER4> "that means they are busy".</comment>


Portmapper – A New DDoS Reflection Attack - <AUTHOR> http://blog.level3.com/security/a-new-ddos-reflection-attack-portmapper-an-early-warning-to-the-industry/

<comment><USER2> Can someone ELI5 this?

<comment><USER3> Portmapper, or rpcbind, which provides services typically used in Intranet services like unix file sharing, allows for a spoofable requester address in its udp connection. This allows an attacker to make a "request" of the service on behalf of a victim IP. This request with its amplification factor can be used to DoS the victim IP. Typically one would expect rpc services like this to be behind a firewall/vpn and not exposed on the Internet. Their second graph illustrates that very little rpc activity flows over their network typically, again underscoring that you just dont expect it in the wild.

This is really just a "well it took 30 years to become a problem", and if you operate a network this is an APB for what is now a less frequently used service as an attack vector. Also a good warning to admins to check their firewalls and DMZ hosts...</comment></comment>


Brexit's Impact on London's Tech Startup Sector - <AUTHOR> https://jackgavigan.com/2016/06/28/brexits-impact-on-londons-tech-startup-sector/ <comment><USER2> The op assumes, the degree or some certification recognised by the Home Office has any relationship with skills and capabilities. It is not, especially in software engineering, therefore people who has no degree but e.g. many years of experience will be kicked out.

"[In the USA] Of the 7.6 million STEM workers counted by the Commerce Department, only 3.3 million possess STEM degrees. Viewed another way, about 15 million U.S. residents hold at least a bachelor's degree in a STEM discipline, but three-fourths of them—11.4 million—work outside of STEM." [http://spectrum.ieee.org/at-work/education/the-stem- crisis-i...](http://spectrum.ieee.org/at-work/education/the-stem-crisis-is-a- myth)</comment>


Ask HN: I really want to start a startup but I don't know what to do. - <AUTHOR>

I need some advice:
I really want to start a startup but I don't know what to do.
I worked at friend's startup for over a year but it wasn't my startup, and it wasn't my dream.  I feel I'm capable of learning or using any technology I might need - that's not my barrier.
My barrier is that I'm just not exactly sure what I would do.  Sometimes the options seem so numerous that it's overwhelming.  I have many interests which makes it hard to narrow my focus.
Ideally, I will be building a product or service that I can charge for, e.g. not an ad-based service.
Any ideas on how I can overcome this hump?
Thanks, ~Henry <comment><USER3> What in your life would you pay for, that does not exist?

What do you know others will pay for, that does not exist?

What is your unique intersection of talents, interests and experiences, that might allow you to find a new angle on something?

Don't start with the idea of "a startup". Look for a way you can make life sufficiently better for a sufficient number of people/companies with sufficient ability and willingness to pay. The startup is the vehicle by which you trade your solution for money.

<comment><AUTHOR> This is part of what holds me back. I have a lot of ideas for startups but I'm not sure that some/any of them will be revenue-generating.

Maybe a better starting point for me is to post some of the ideas and see what kinds of responses those get.

However, picking a project that will generate money does not necessarily mesh with making the project that is most interesting to me, which adds to my confusion.

~Henry

<comment><USER3> It is entirely sensible not to go ahead with a startup if you're not sure about whether and how it would be a successful business. You'll never know for sure, but it makes sense to have a good idea of whether you have a market, for example, before putting in all the work of building the thing.

Putting out your ideas and getting responses is a good way to start. Start an ASK HN post, explain what you're doing, and put each idea as its own reply to your post. Then people can reply to each idea separately, and you'll get a conversation on that.

Remember: the idea itself isn't always fascinating to hear. Basecamp - <USER2> management for teams; Posterous - simple blogging. And so on. So don't worry if your ideas get an "It's been done" response. What matters is whether there is room in the market for you, for your price point, for your feature set, for your marketing strategy, and so on.

</comment></comment></comment><comment><USER4> I'm a big fan of throwing things against the wall until something sticks. Success is not about having THE great idea; it's about being persistent and determined. Don't think too much about HOW to start, just START! Then never give up, and success will come (probably sooner rather than later).

<comment><USER5> I am also a huge fan of this. Even if you don't have the big hit, you have a good chance of stumbling across something decent that can sustain you while you search for the big hit. The problem with this technique is I never know where to draw the line between "wasting your time" and "staying determined".

<comment><USER6> Since freshman year of college, this is what I did too. I had tons of ideas and off the top of my head, at least 6 of them made it into the construction stage. The score: 4 busts, 1 nice acquisition, and 1 evolved into a business I'm currently working on. Aim for success, but don't be discouraged by failure if you learn from it. Also, market response to your ideas is 100% unpredictable. Users/customers vote with their attention and wallets and not with their words of encouragement/discouragement. Don't run your idea past anyone... just do it. One of my bigger failures was the one most congratulated by peers and one of my bigger successes was mocked before it became a cultural phenomenon. Good luck and have fun!

</comment></comment></comment><comment><USER7> Here are some suggestions I've seen on HN and elsewhere. Your mileage may vary. :-)

1) Work on something that interests both you and a cofounder. 2) Choose a potentially huge market. 3) Compete with big, dumb competitors in a market with no current winner. 4) Build something you would use yourself. 5) Build something for businesses, because there's less competition than there is for the trend-of-the-week in the Valley. And you can charge them money. 6) Choose an interesting hypothesis, and be prepared to pivot as you learn about the market.

Any other suggestions for choosing between startup ideas?

</comment><comment><USER8> Get out and talk to people. If you don't have a good startup idea then join someone else's. I'm looking for people to work with right now (Edinburgh).

</comment><comment><USER9> WHY do you want to do a startup? Because it's fashionable?

Working at a startup is a good goal-- it's a fun work environment with a small tight-knit team.

STARTING a startup should be fueled by either a missionary zeal or a desire to gamble with 2+ years of your life to make a big pile of money (the average time to liquidity for VC backed startups is ~7 years). If you don't have one of those two, I can all but promise you'll burn out and/or get bored.

My advice: wait for an idea/market that you love to pop into your head that you can't ignore. In the meantime, work at a startup for a decent salary (don't sacrifice much salary for options-- it's a sucker's bet).

<comment><AUTHOR> These are good questions...

I want to start a startup because I: \- Want to do something I care about, slash it's meaningful to me. I'm tired of realizing other people's ideas. \- I want to make important decisions and have responsibility for their repercussions. \- I want to create a lifestyle that I'd enjoy more for myself, including not having to be tied to a specific location. \- I want to do something 'important' (a relative term, I know). I'm tired of wasting my time and talent on silly projects and bug fixes. \- Money is important but not everything. Ideally I'd be earning as much as I do now from my corporate gig but that's not even necessary.

I'm willing to gamble a couple of years of my life, but as I said, I'm not sure what to do/make. I agree that working for options is a sucker's bet, hence leaving a previous startup after working there a year.

Thanks for getting me to clarify this. ~Henry

<comment><USER9> check this: [http://www.youtube.com/watch?v=u6XAPnuFjJc&feature=playe...](http://www.youtube.com/watch?v=u6XAPnuFjJc&feature=player_embedded)

Don't "do what you love"... "Love what you do". Aim at something rewarding in autonomy and mastery rather than holding out for a "cause" (if you want to maximize happiness). If you find a cause ("something important") anytime during this process, you can chase that too. But if you look at 100 people who really love what they do with their lives, I think it's surprising how few of those jobs fall into the "something important" bucket.

</comment></comment></comment><comment><USER10> If you have not read the Request for Startups Paul Graham has started posting for YC I highly recommend reading it here <http://ycombinator.com/rfs.html>.

These can spark ideas to work on while possibly providing an edge to be accepted into YC. The other road I'd advise is to think about things you're already passionate about. If you can find a passion you can monetize you have most of the battle won IMO (tip: start blogging about it and build an audience which may also turn into your first customers).

</comment><comment><USER11> I was in a 'similar' stage 2 years ago. I grouped with 3 of my friends and started having conversations on a daily basis. All of us came from different background -tech, finance, marketing, research; but had the same start-up itch. We threw ideas on the wall, critiqued them, followed up with some research. Eventually we found our start-up idea which btw has evolved into something completely different in 2 years. So: 1\. Form a core group 2\. brainstorm, read, research 3\. DO IT

<comment><AUTHOR> Great idea, Oxy, thanks for sharing this too. I like the idea of socializing this process as well as working on it daily. ~Henry

</comment></comment><comment><USER12> Put your toe into the water, cheaply. Take one idea and start building your thinking around it, on 'paper'. Think about problems you'll have to solve, look at the market for it, maybe write some code. Think about what success with that idea would feel like - some ideas you might not want to follow for a few years.

This way you can try a few ideas without committing too many resources. Just keep moving forward every week until you find something that really grabs you and where you think you have an edge. Then hammer it.

</comment><comment><USER13> Don't be in a rush. Just give yourself time to explore and think about problems, and you'll know when you hit on the right idea. If you rush it you'll probably end up forcing it too much.

</comment><comment><USER14> 1- Pick a technology that's going to change a >$1B industry or create one.

2- Go talk to people in those industries to test out product ideas. Don't do this haphazardly: read 4 Steps to the Epiphany. Its editing is brutal (well, non-existent), but the ideas are vital. It doesn't matter if your original idea is shit; talking with people that have problems and money to resolve them will give you more.

3- Find a co-founder with complementary strengths. They can't just be a business person.

</comment><comment><USER15> I'm in exactly the same spot. What I did for the last 6 months or so was hanging out here on hacker news (taking the air in), bouncing ideas off with a friend and collecting and refining ideas on a password-protected wiki page.

With a bit of luck there'll come a startup with said friend out of this later this year.

</comment><comment><USER16> There's a lot of other good comments here. Some might be relevant to you, some might not be.

Here's my advice: If you don't have the AH-HAH moment, don't do it.

More rigid framework:

\- what's the problem you're trying to solve?

\- who is your customer?

\- why would they pay for it?

</comment><comment><USER17> You definitely have to read Getting Real by Jason Fried of 37Signals.

By reading this book you'll know every single detail how to direct your idea to reality, at least it happened to me...

<http://gettingreal.37signals.com/>

</comment><comment><USER18> If you have many idea and interest and whan to start a business (earning money), then you are in a good position. My advice would be to sort the idea by ease of testing and potential benefits. Use this sorting as heuristic and try them out and see what sticks.

</comment><comment><USER19> Here's a tip: don't be a "wantrepreneur".

Get out there, focus on ONE THING and execute.

</comment><comment><USER20> Why do you want to start a start-up?

Perhaps it may be wiser to work for a start-up if an idea hasn't jumped at you. Just keep an open mind and look out for things you can do better, more efficiently. Then make a system out of it.

</comment><comment><USER21> WWPGD?

1\. <http://www.paulgraham.com/ideas.html> 2\. <http://ycombinator.com/ideas.html>

</comment><comment><USER22> Wait. Be patient.

</comment><comment><USER23> First make a small startup that sells ideas for startups.

Even if sales don't pick up, it might come in handy.

<comment><USER24> PG was very eloquent on his take as why this might not be such a great idea (from <http://www.paulgraham.com/ideas.html>): _Actually, startup ideas are not million dollar ideas, and here's an experiment you can try to prove it: just try to sell one. Nothing evolves faster than markets. The fact that there's no market for startup ideas suggests there's no demand. Which means, in the narrow sense of the word, that startup ideas are worthless._

</comment></comment><comment><USER25> Relax on your desire to join a startup, get some outside interests, and find a problem you want to solve.

I have too many ideas. :(

</comment><comment><USER26> welcome to the club!</comment>


All the crazy things happenin in SF because of its out-of-control housing prices - <AUTHOR> https://www.businessinsider.in/miscellaneous/all-the-crazy-things-happening-in-san-francisco-because-of-its-out-of-control-housing-prices/slidelist/63193375.cms <comment><USER2> Jerry Brown has a 6.5 billion dollar surplus mostly from shafting the hell out of working californians. Then in LA they're working to remove the last of the affordable housing such that if you make less than 250k a year in income you can look at choosing between rent and food. What good is this huge surplus if we're running working people to suicide? They hit me aggressively for back taxes to the point where I wind up choosing between food and rent. How much better could I do as an engineer if I could eat healthy food and have a healthy place to live? How does it help in the long run to turn out working people into working homeless? How does it help when the most talented and capable are driven to choose between homelessness and suicide?</comment>


John Lennon – Fans Recreate Poster That Inspired – "Lennon's Poster" - <AUTHOR> https://www.youtube.com/watch?v=-tw3D3vBxfY <comment><AUTHOR> The inspiration for the track "For the Benefit of Mr Kite", although they didn't think to put that in the video't title.

Lovely idea though.</comment>


Google to Add Social Features to Gmail - <AUTHOR> http://www.nytimes.com/2010/02/09/technology/companies/09social.html?hpw

<comment><USER2> wsj.com version of topic is already in discussion. <http://news.ycombinator.com/item?id=1110703></comment>


Are getters and setters object oriented? - <AUTHOR> http://arkanis.de/weblog/2010-12-19-are-getters-and-setters-object-oriented

<comment><USER3> Getters and setters aren't object-oriented, and for that matter they aren't good examples of encapsulation, either. It varies from case to case, but cherry-picking, if I have an account, I don't care whether I write account.balance = $100 or account.setBalance($100). What I _ought_ to be doing is defining semantically rich methods such as account.deposit($100).

<comment><USER4> I agree that getters and setters aren't object oriented. It was the whole point of my blog post to make people think about that. It wasn't written for people who already understand that, though… otherwise it would be quite a bit shorter. ;)

The sad thing is that way to much people think "getters and setters" when they hear "object orientation". Maybe even "Eclipse will do that for me". Needless to say that encapsulation isn't understood then, too. But encapsulation is bigger topic of it's own and would have been to much for that post.

While talking about that with other people I got the impression that just explaining the way it was meant to be does not work well. Especially if a professor and many books tell otherwise. Therefore I try to make people think for their own about the problem. Showing the problem, how it is solved and how it can be solved in other situations. I don't know if I succeeded in that.

<comment><USER3> Well, I upvoted the article and I think I tweeted it as well. So it passed the "It made me think" test, thank you!

</comment></comment></comment><comment><USER5> The university I went to for my undergrad very much drilled it into us that Getters and Setters are the thing to do. I got out into the working world after that and it seems everyone else was taught the same thing. When I actually came to change things it never seemed to help and I always had to rewrite mountains of cruddy things. It came to the point that I would automate so much of the code generation using python. If I can automate it with a tiny fraction of the code then there is certainly something wrong with the design and premise.

These and other similar things drove me to hate OOP and software engineering. It seems like people always missed the proper abstraction. Then I discovered Haskell and wandered more into the theoretical aspects of computer language theory. I now have an appreciation for OOP but not the way I was taught...

</comment><comment><USER6> And ruby has a nice solution for this. It allows methods ending in = to act as setters clean overrides and provides methods (attr_accessor and friends) to generate vanilla getters and setters for you. You _can_ access instance variables via instance_variable_get but that's not recommended.

<comment><USER7> Objective-C is similar -- you have "setters" and "getters", but since there is no direct ivar access and you have the convenient @property syntax, you end up with a reasonably similar end result.

<comment><USER8> There is direct ivar access, but no sane person uses it outside of the class itself :P

</comment></comment></comment><comment><USER9> I seem to recall the whole getter/setter thing becoming popular with JavaBeans (note not EJBs). Java didn't have a nice way of identify something as a "property" that could be exposed graphically through an IDE interface so adopted a syntactic convention. This soon became adopted as "best practice" even though I suspect 99.9% of getters and setters do nothing but expose an underlying field - as with most programming "best practices" very few people can actually tell you what the benefits are supposed to be.

<comment><USER10> The sad thing is all JavaBeans needed was named arguments to the constructor rather than relying on setter names. It's a lot more complicated for every class to let instances be created in a mostly-uninitialized state, relying on a bunch of setter calls in an unspecified order to make the instance actually usable. For one thing, there's no language-supported way to make a setter mandatory, you can't do any better than blowing up _at runtime_ if it wasn't called.

<comment><USER11> Spring prefers setters and getters (the constructor support is not as good), and this makes it harder to communicate what is optional configuration with defaults and what is essential.

</comment></comment></comment><comment><USER12> Using property overloading to implement getters/setters in PHP is terrible practice. It's slow, makes the code hard to manage and introduces unexpected behavior.

          function __set($property, $value){
                if ($property == 'speed'){
                   // ...
                }
          }

Just write the damn setter or no setter at all but please don't use property overloading for this!

         function setSpeed($value) {}

<comment><USER13> His implementation leaves much to be desired, but there are better ways of doing it.

<http://pastebin.com/JiEXp6Za>

<comment><USER4> The example is the most simple way I could think of. It should only show that is is possible not what is the perfect solution (if there is any).

Of course you could throw in some runtime reflection and variable function calls to make it more maintainable. However for me it needs to pay of… I don't want to maintain such a system for just a hand full of properties. I like to keep complexity "flat" and so I often stick to the direct language features. But on large projects the code you linked could really come in handy. Thanks. :)

</comment></comment></comment><comment><USER14> There's a more interesting point to be made about getters and setters than the article offers. In my opinion, getters and setters are a little stinky because by nature they expose internal attributes of the class, even if they wrap them up in method calls. See [http://stackoverflow.com/questions/565095/java-are- getters-a...](http://stackoverflow.com/questions/565095/java-are-getters-and- setters-evil) .

<comment><USER15> The entire point of a getter/setter is to hide the internal attributes of the class behind a layer you can later change, and therefore they aren't "actually" exposing the internals, they just happen to be implemented that way at the moment but may later change.

However, the problem is that they are a code smell, specifically of a designer that doesn't really "get" OO. If you really have it all set up correctly, it should be rare for you to have one object do nothing more than query another object's internals, the first object should be telling the second object to _do something_ , and shouldn't need the internals, wrapped by functions or otherwise. For all the teaching and the way it is the "official paradigm" of software engineering, very few people actually understand it well enough to use it properly. The end result is that the getter/setter user rarely finds they actually have any use, because anyone making pervasive use of them has so many _other_ flaws in their design that they are going to have to rewrite everything anyhow.

<comment><USER16> You almost always need to have a client object observe the state of an instance - clients need to marshall it for the network or log some information about it, etc. So getters make sense.

It's a problem when people assume that getters and setters must always occur in pairs. They shouldn't! Getters can expose whatever is needed to communicate the object's external identity and state. Setters are mostly a code smell. You should pass whatever you need to a constructor and use behavioural methods to mutate the internal state after construction. For instance, a Car class can have a getSpeed(), but shouldn't (in a clean design) have a setSpeed(). It should have stepOnTheGas() or increaseSpeed().

Getters and setters make classes into little more than verbose structs.

Obviously everything I've said is aimed mainly at Java-ish languages, which was the focus of the OP's comment.

<comment><USER15> "You almost always need to have a client object observe the state of an instance - clients need to marshall it for the network or log some information about it, etc. So getters make sense."

It's always a challenge to figure out when to cut off my discussion since I could go on for quite a while :) But definitely there's some cases for them.

Another example where they do make some sense is when it really _is_ a verbose struct. A "Point", 2D, 3D, or otherwise, is generally a struct. You may have some basic methods on it, but you're going to be examining the internals of it an awful lot for anything nontrivial. (And I've fiddled with some serious OO design patterns, like layering transforms on the Point objects themselves, and the problem is that performance has always been terrible then.) You know you have one of these cases on your hands when you realize that you don't even need the getter/setter, you might just as well expose the internals, because the internals _are_ what the object is.

(Like most, I was educated into OO dogma, and one of the earlier clues that something was wrong with it were these sorts of things that simply _weren't objects_ and shouldn't be. A Point is just a Point, and trying to abstract the point usually isn't worth it. You very well may want to layer abstractions on top of that that provide further guarantees, and I usually stick some methods on the Points for syntactic convenience, but the Point is not itself a very good object.)

Also, if you're marshalling, you do need _some_ sort of symmetry for getting and setting, though I prefer the getSomethingMarshable() and setWithSomethingMarshalled() (or constructWith...() ) blob approach you often see in the dynamic languages.

</comment></comment></comment></comment><comment><USER17> IIRC the property overloading in PHP is slow, especially compared to hardcoding the getters and setters, so you're better off hardcoding them. Property overloading in itself is a neat feature for syntactic sugar, for example an object with (semi-)dynamic properties like in an ORM. Other properties of classes, those nog generated on the fly, are better off with the getters and setters written out.

</comment><comment><USER18> It's somehow unbelievable how long this getter/setter convention has been used (at least?) in java - People mindlessly generating them with their IDE - <USER2> nobody cared to question it and/or think of a better way before.

Not sure if "they are OO" (and what's the point?), but I think getters and setters usually are not needed and only add a lot of useless boilerplate code. Maybe in your boss's eyes it might look like you've been writing a lot of code. :)

But of course sometimes they are useful, and those times I think python's approach would be a better way. Maybe some other languages have even better ways to accomplish this?

</comment><comment><USER19> Getters and Setters violate encapsulation just as much as accessing properties directly, so I don't bother with them unless I'm forced to. In languages like C++ they can make sense due to a need of allocating and freeing memory of things within the object, but it's still not OOP. What you have when you're using getters and setters is a fancy struct with methods, not an OO class. (There is a significant difference.) Stop pretending you're not using a struct and just access things directly or start following a 'draw thyself' model. Both approaches work.

<comment><USER4> I very much agree, but saying it in such a way won't help others to understand that. That is persons that haven't understood the significant difference right now.

</comment></comment><comment><USER20> Getters and setters are a lip-service to the actor model.

</comment><comment><USER21> One of the issues the whole setter/getter convention creates is that, for instance, I'm now reluctant to write a setter method that _does more than just set the field value_ [1], because some other programmer or some tool might expect that it is no more than a property mutator.

[1] Example: child.setParent(parent) would perform parent.children.add(this)

</comment><comment><USER22> Languages are based on widely understood conventions. If it looks like I'm writing to or from a variable, then let that be what happens, because that's how 98% of programmers will understand it to be.

Don't just change it, because the change seems "cleaner". You are breaking convention in a major way, and this will surely lead to worse code in the future.

<comment><USER3> Yes, but if a language provides a mechanism whereby what look _in other languages_ like property accessors can actually be implemented as method calls, then in that language, 98% of programmers ought to--like true scotsmen --expect that it might be a variable and then again it might be a method call.

Case in point: In Ruby, foo.bar and foo.bar= are never property accessors, it's just that sometimes there exists code such that foo.bar returns @bar and foo.bar= sets @bar.

</comment></comment><comment><USER23> getter and setters are not necessary, but offer nice syntactical sugar to a language.</comment>


Svarog Engine, a path tracing game engine made with C++, GLFW3, and OpenGL 4.6 - <AUTHOR> https://github.com/coderguy1777/SvarogGameEngine <comment><AUTHOR> Svarog Engine works primarily on Linux as of now, as it is my development environment for it, but contributions to enable windows support are always welcome, just make a pull request and ill merge it upon review.</comment>


Show HN: Privy Beta – Professional Marketing Tools for All - <AUTHOR> http://privy.com/beta

<comment><AUTHOR> Hey everyone,

I am one of the developers over at Privy and we have been working on a new beta product to get our marketing tools (previously only for brick and mortar businesses) into everyone's hands. It'd be great if you could sign up, poke around, use it for your own stuff, etc. and give us some feedback. It's also free while we work on what our customers want, so no need to worry about paying for anything!

Thanks!</comment>


Ask HN: Why don't progress bars ever work properly? - <AUTHOR> I'm sending a text on my iPhone and the progress bar slowly moves from 25% to 50%, but then moves like a snail from 50% to 75%, then it zips to 100%.
Why are progress bars broken? Ideally wouldn't the progress be consistent from 1% to 100%? This reminds me of loading for old flash games, it was never correct.
Anyone know an answer? <comment><USER2> Multiple factors influence the task being run, for a download it will be the speed that may vary, something being processed may vary too along the processing, same thing happens with file copy, many small files tend to be slower than a large one, and copying a mix of the will cause that too.

<comment><AUTHOR> But isn't there a way you can trick the visual of the progress bar to be smooth and consistent instead of jumping around or is this an impossible development task?

<comment><USER3> Yes, there are all kinds of ways to do that.

But typically you see stuff like:

for ( i = 1; i < 10; ++i ){ DoSomethingUseful( i ); DeterminateProgress( i, 10 ); }

So each iteration of the loop, the bar advances by one-tenth its maximum length, without regard to what DoSomethingUseful actually does.

Chalk it up to lazy coders and tight-fisted bean counters.

</comment></comment></comment><comment><USER4> Progress bars should show what? Percentage of "progress", ie. of the work done, or percentage of time spent processing the whole task?

In the first case, if a task is subdivided in 4 subtasks, we can assign 25% for each subtask, but if the third task takes more time, then the progress bar will move slower for this subtask.

In the last case, how do you predict the future?

</comment><comment><USER3> Quite likely their accuracy is not tested by the software publisher. To the extent they are tested at all, they are tested using their own servers, in- house, perhaps over a LAN.

It is very important to test code under the same configuration that it will actually be used by real users.

In the case of network I/O, quite commonly the progress bar jumps when some data has been transferred into a kernel buffer, but the actual transmission of the data takes place in the kernel, and is not directly visible to userspace code.

</comment><comment><USER3> What really gets me down is when an indeterminate progress indicator is displayed during a determinate process.

There's no real way to know ahead of time how long a DNS lookup will take, so an indeterminate indicator is appropriate for that.

But when downloading a large file, the size of the file is often declared at the very start, in its HTTP header, yet we commonly get a spinning whirligig or a barber pole rather than an advancing bar.</comment>


Richard Stallman's rider - <AUTHOR> https://secure.mysociety.org/admin/lists/pipermail/developers-public/2011-October/007647.html <comment><USER2> I've helped to organize large conferences in the past, and right now I'm organizing a reception to honor some prominent Boston-area acousticians. Given those experiences, I would absolutely _love_ to have this kind of a rider for honorees and speakers. It removes a lot of guesswork in planning large events and would make things go smoothly.

Sure, some of the statements in the rider might seem odd, demanding or even irrelevant, but it's all there black and white. It would save a ton of time coordinating with speakers beforehand making sure everything is in accordance with their (and our) expectations, and also save time in putting out fires during/after events when we find out that things are _not_ set in accordance with their expectations.

I've never seen RMS speak at an event (although I've been to events where he has attended), but from reading this I now know what to expect if I ever wanted to him to speak at an event. I would request that other notable speakers develop a similar rider, especially if you've had unpleasant surprises at past events. Let everyone know what they're getting into when they invite you.

edit: I accidentally a couple of words

<comment><USER3> Agreed, I started reading it thinking I'd be very frustrated afterward, but this has the right amount of detail and no requests that are too unreasonable for a venue to handle. The event sponsor may have to deal with some of the more tricky ones, but I really wouldn't mind executing this rider. Especially compared to some of the ones I've seen.

<comment><USER2> Actually I think that some of those details _are_ unreasonable, but at least (as an event planner) I would rather know that up front rather than finding out midway through the planning process and it being to late to find another speaker.

Put it another way - if I had invited RMS and he sent that rider, I'd probably say "no thanks, we'll find someone else" but at least it would be at an early enough point that there would be time to find someone else.

</comment></comment></comment><comment><USER4> All of his demands are either directly related to his health or the moral causes that he champions. He is specific and verbose.

Some of these things might seem strange to people who are younger than 50 years old, and aren't flown around the world to give hundreds of talks.

I think that this demonstrates the value of a clear and verbose contract.

<comment><USER5> "All of his demands are either directly related to his health or the moral causes that he champions."

Did you read the same list I did? He requests to stay in somebody's home but specifies a list of foods he doesn't like and demands he be consulted on any meals he's served. Some of his demands relate to his cause, and a few to his health, but overall I'd say he comes across as overly particular and demanding. I guess if he's heavily in demand he can get away with it as there will always be someone willing to accommodate him, but that someone won't be me.

<comment><USER6> Written out in black-and-white it seems rather cold and heartless, but it merely clarifies what would be a normal practice.

If a guest in your house is uncomfortable/unable to eat what you're having, and has given no prior notice, then it can be quite a problem to find out right when mealtime is approaching.

This is a sensible way of avoiding unnecessary conflict.

<comment><USER7> Right -- I've done my share of being a guest of and a host to many people of different cultures, and a decent share of his points are either a "how to be a good host" checklist, or removing the difficult aspects of being a good host to him (i.e., guessing the needs of a guest who may not express them directly).

I think I'm generally a good host, because I read people well. But armed with a document like this, even someone who reads people terribly could be a good host to rms with minimal effort. It doesn't look very hard once you know what he's hoping for; some of his points (like saying he sometimes makes suggestions that may cause inconvenience, and please let him know... like his request that hosts not offer to help him with everything) are basically "I know how to be a good guest if you let me."

I've been in those situations (carefully avoiding praising things for fear that your hosts will find some way of giving them to you...), and it's really quite frustrating.

If I was a constant guest (and constantly faced with the same frustrations), I'd start compiling a document like this. Over time -- and I'm pretty sure this has been underway for a long time (notice the reference to changing the tape when recording him?) -- I suspect it would grow as this one has.

</comment></comment></comment></comment><comment><USER8> My funniest memory of Richard Stallman is once he was invited to give the commencement speech at my local university, Lakehead University. He was pretty oblivious to the fact he was at a graduation, and not at any point in his speech did he address the students and their future. All he talked about was free software, how copyright was bad, and that the university should be using free software. Most of the students were pretty pissed off at him because he ruined one of the most significant moments in their life. He didn't even say, congratulations well done on graduating, or even a simple "hello." He only spoke about free software.

I think the video is still up on the university's website somewhere. If you're interested in it, I could try to find it and post it.

<comment><USER9> You can't blame that on Stallman. He has always been completely clear and up front about what he will and will not speak about. And he always agrees on the topic ahead of time with who ever is arranging the event.

In other words. Who ever arranged this graduation obviously did a horrible job, and is the person you should blame.

<comment><USER10> I think it's fair to assume most people have basic "people" skills, humility, manners etc. Unfortunately that isn't the case with Stallman. He's an obsessive fundamentalist only concerned with one topic.

<comment><USER11> That fact is well known.

If your university hired someone who only spoke Mongolian, would you be upset at the speaker, or the idiot who hired him?

<comment><USER12> If your university hired someone who only spoke Mongolian but spit in people's faces when they extended their hand for a handshake, would you be upset at the speaker or the idiot who hired him?

RMS lacks basic social graces. He preaches to the choir but somehow still manages to piss them off with pedantic shit like GNU/Linux. Why doesn't he just copyright it so he can plaster the GNU logo all over everything and be done with it.

<comment><USER13> _"If your university hired someone who only spoke Mongolian but spit in people's faces when they extended their hand for a handshake, would you be upset at the speaker or the idiot who hired him?"_

If their spitting was common knowledge, as RMS's eccentricities are, then yes. Of course I would be upset primary with whoever booked them...

</comment></comment></comment></comment></comment></comment><comment><USER14> This is wonderful, in so many different ways. I've read quite a bit of the FSF material--which is invariably specific, clear and verbose--and it's interesting to read material in the same style, but about a completely different topic.

For example, under "Hospitality":

"In some places, my hosts act as if my every wish were their command. By catering to my every whim, in effect they make me a tyrant over them, which is not a role I like. I start to worry that I might subject them to great burdens without even realizing. I start being afraid to express my appreciation of anything, because they would get it and give it to me at any cost. If it is night, and the stars are beautiful, I hesitate to say so, lest my hosts feel obligated to try to get one for me."

<comment><USER15> Ever visited an Arabic country?

Whatever an American might think, this is THE major problem - not terrorism - but being 'hospitalitied' to death!

<comment><USER16> You are so right. When I visited Egypt years ago, the amount of "helping" was so over the top. It really does get in the way.

</comment></comment></comment><comment><USER17> Heh ... reminds me of the story of Van Halen's rider - no brown M&Ms or they have the right to not play the event (without penalty)! This actually served a purpose. The had exacting specs for some of their pyrotechnics. They reasoned that if someone had adhered to the rider carefully enough to notice the M&Ms clause, they likely would have been exacting for the other specifications as well.

<comment><USER18> > The had exacting specs for some of their pyrotechnics

... and their electrical gear (amps and so on), and possibly the sheer weight of everything they'd be bringing on to the stage, and the simple fact that, at the time that rider was drawn up, Van Halen was playing venues that had never had a serious rock band of their kind before and were likely to be unprepared to the point of putting the fans at risk of being killed, which has happened a few times (that Whitesnake concert is the most recent, I believe).

<comment><USER19> Are you thinking of Great White and The Station nightclub fire?

<comment><USER18> Yes. Thank you.

</comment></comment></comment></comment><comment><USER20> This is charming; gives a sense of the guy; seems like it would be useful information. Who thinks to say "do not buy me a parrot"?

<comment><USER21> For such a specific rule, it must have happened before.

I'd wager somebody once gave him a parrot for breakfast.

"Good morning, sir. Your host ordered you a breakfast of eggs over easy and a parrot we've named Lenny, The Open Source Linux Parrot sponsored by Coke®."

<comment><USER20> I mean obviously, I bet nothing happened before. Who gives someone a parrot?

But he has a short graf on why you shouldn't give him Coke. I had no idea about the "Killer Coke" story. Clearly, he reads up on this stuff; he just wants to share how inhumane the parrot pet trade is, I'd guess.

But still! It's charming in this context.

<comment><USER22> It may well have happened. I helped organized his talk at Concordia University a few years ago, and this text was slightly different back then. It specified that he'd like to meet a parrot. But that's it. Just was one sentence, giving little information. Given that this is his standard text, I bet someone bought a parrot at one point over the last few years, and that prompted this seemingly peculiar addition.

</comment></comment></comment></comment><comment><USER23> I, too, was disappointed by Richard Stallman' talk. We were a bunch of students in a conference in general software engineering. And he was invited to give a talk about copyright and freedom.. cool, right?

Not exactly. He came in and started acting like he really didn't wanted to be there and didn't care at all about us, the place and the organizers. I'm usually not the kind to judge someone else dressing but Stallman' look was terrible. Not terrible like in "old geek" or whatever; terrible like I had pity of him. Seems like he didn't washed for days.. anyhow, let's continue for the talk.

Before even starting, he started yelling "OPEN THE LIGHT", " I SAID OPEN THE GODAMN LIGHT". That was crazy as hell. Basically, what he wanted to say is "Please, open the light because I don't want my audience to fall asleep". But jesus, there's a way to say things and a way to _say_ things.

And, as much as I wanted to like him and the talk, it was extremely boring and even false at some points.

And, with all that, it just makes me really sad. It makes me sad because this is such a genius and a legendary hacker but it seems that he stopped _trying_.

It's like if you see someone trying to open a door by pulling really hard when it's clearly written _push_. And, you see that person getting frustrated and over frustrated about the fact that the door doesn't open.

For me, Richard seems like that. There _are_ ways to make things change. But you have to adapt. As someone already said "It's easy to go outside and whine, but true revolutioners dress up and change things from inside the system." (or something like that).

Stallman could give _so much_ if he wanted just a little bit, but he decided to keep _pulling that door_.

 _Look, we get it, it's supposed to be called GNU os and not Linux._ But there's a way to explain that to total newbies that don't know the history of _unix_ es. It's not by being frustrated in front of an audience that people will _understand_ and _change their minds_.

Or when he talks about freedom, it seems so theoretical. Yeah right, Ubisoft should publish their code open sources and preserve the right on their assets. But comon, there are lots of money and families involved. Even thought it would be nice to have everything open source, in practice, you have to make trad-of. And, in my opinion, it's better to be practical and try to make the world a little better, rather than being an extremist and changing nothing.

There's a reason why it's called Linux and not GNU; and yelling after everyone won't change that.

<comment><USER24> I feel for you. Stallman seems to think we all live in some free love hippie commune where we can all just give source code away. The world doesn't work like that and his fundamentalist attitude doesn't take people's need to eat lunch into account. You can't deny his skill and the great work he's done. Free software has its place in this world but so does proprietary code too.

This rider while not being supremely high maintenance is riddled with superfluous explanations and liberally sprinkled with his own politics. Just write a damn list and get it over with. Save your speeches for the events, not the rider.

<comment><USER25> Stallman has an uncanny ability to predict the future in regards to our industry. Everything he predicted has happened already or it will.

Trusted computing? It is here, it is popular and because of Apple it is also considered cool. It doesn't matter that the device you paid for is not your property anymore, people love shiny. Also, trusted computing got rejected by the market when Microsoft tried it, but now Microsoft is back on the horse and this time they'll succeed, because hey, we'll do anything for the sake of our grandmas, including giving up liberties for our future children.

Building proprietary lock-in on top of open-source? Yep. Before 2001 when OS X got released, Linux was the future of computing in our eyes. Fast forward 11 years later, go to any software-related conference and you'll see 85% of all software developers with a MacBook in their lap. Basically OS X destroyed Linux's chances on dominating the future desktop.

Uncompetitive advantages by any means necessary, including patents (which is something new)? Yep ... Java may be GPL.v2, but Oracle can kick the living crap out of you by using their patents and trademarks on it. On the whole, Sun releasing OpenJDK was nothing more than a publicity stunt of a dying company, just like the JCP was, to give the illusion of an open standard.

        The world doesn't work like that and his
        fundamentalist attitude doesn't take people's
        need to eat lunch into account.

I think he earned the right to behave like a fundamentalist. You can agree or disagree with him, but if you do disagree, you should give a more detailed answer than " _the world doesn't work like that_ ".

Because in fact the world does work like that. People have always helped each other in return for favors or for the greater good. The emphasis on individuals and individual gains is rather new and our economy is the one that resists, but considering the depression we are in, our economic systems don't really do a good job apparently ;-)

You may not feel it now, even though it's 2011, but our lives and the lives of our children will depend greatly on software functioning for us. When certain software will stop functioning for individuals, make no mistake about it, that will be life-threating.

Also, software companies can yield great control over our lives and can do great damage already. Remember when Google was the underdog just 11 years ago? Look at them now ... with a push of a button they can delete you from the Internet.

Proprietary software pays the bills, but that doesn't mean it isn't a really big socio-political problem that needs to be fixed, sooner rather than later.

So yeah, keep buying iPhones, but when the shit hits the fan Stallman will be there to teach you again why it was a bad idea; or he'll be dead with nobody to take his place.

<comment><USER26> > Basically OS X destroyed Linux's chances on dominating the future desktop.

Yeah, because the constant feuds within the Linux community, the failure to settle on a common desktop platform, the crowd of "I-want-to-write-yet- another-irc-client" devs, and the utter lack of appreciation for end-user needs all have nothing to do with it.

What Stallman in particular and the Linux community in general fails to understand is that a broken or badly designed software for which you have the source is more of a prison to the user than a well-made, closed source one.

Before you flame me, I've been part of the Linux community from 1995 to 2008, and I dare say I was more than an annecdotic contributor. I still support the idea of free software, but community development simply doesn't scale.

<comment><USER25> Considering the huge progress that was made in the 90'ties on Linux and the lack of progress done after OS X came, I think it is safe to assume that OS X played a major role here.

Software needs resources to get created and lots of it. As a company or as an individual, you can't sink time and resources into software that isn't at least popular. You can try to invest in something, but sooner or later resources dry out, priorities change, etc, etc...

Desktop Linux seems to me that it was created by stitching obsolete software and quick hacks together with glue and spit. Even broken as it is, I still marvel at how functional it is for me. And even unpopular as it is, there are some normal people using it, which goes to show that it isn't totally broken or insane.

        broken or badly designed software for which
        you have the source is more of a prison to the user
        than a well-made, closed source one.

I don't agree there - having the source is a huge advantage, even if you aren't capable of modifying it. Just as with cars, you don't necessarily have to go to the parent company and you don't have to fix it yourself. You can always choose a local shop for repairing and tunning.

        community development simply doesn't scale

I wonder why are you saying that, when server-side Linux and related software is such a huge hit.

You can also point out to some desktop software that is free software, that is sponsored and yet community driven and that is usable. That's Firefox and it's the reason why we came out eventually from the dark-ages of IExplorer's domination.

<comment><USER26> > Considering the huge progress that was made in the 90'ties on Linux and the > lack of progress done after OS X came, I think it is safe to assume that OS > X played a major role here.

Progress in software development is not linear. You quickly get the basics done, and then the devil in the details. Also, the Gnome vs. KDE feud didn't help one bit.

That said, OS X being exactly what Linux dreams to be (Unix with a beautiful and useable UI, scriptable apps, reusable components, and a modern development platform), I know I'm not the only one to whom it provided a haven after years of Linux-induced frustration.

> Desktop Linux seems to me that it was created by stitching obsolete software > and quick hacks together with glue and spit. Even broken as it is, I still > marvel at how functional it is for me. And even unpopular as it is, there > are some normal people using it, which goes to show that it isn't totally > broken or insane.

No disagreement here.

> I don't agree there - having the source is a huge advantage, even if you > aren't capable of modifying it. Just as with cars, you don't necessarily > have to go to the parent company and you don't have to fix it yourself. You > can always choose a local shop for repairing and tunning.

In theory it's true, in practice it rarely is, since taking over a code base of any significant size is a very hard challenge. I've yet to encounter a situation like you describe, or even hear about one. When the software doesn't work, you replace it, source available or not.

> I wonder why are you saying that, when server-side Linux and related > software is such a huge hit.

Because the audience being other tech geeks, it's a much simpler endeavor.

> You can also point out to some desktop software that is free software, that > is sponsored and yet community driven and that is usable.

Sponsored free software is usually mostly developed by the company sponsoring it, the community comes a distant second. This is a scheme which works, though, as the company has the final say. I hope it will keep on growing.

<comment><USER27> _In theory it's true, in practice it rarely is, since taking over a code base of any significant size is a very hard challenge. I've yet to encounter a situation like you describe, or even hear about one. When the software doesn't work, you replace it, source available or not._

Even if you're replacing the software, having the source allows you to ensure that your replacement is fully backwards compatible with the original, and, if it is not, enables you to implement a compatibility shim that fixes those issues.

 _That said, OS X being exactly what Linux dreams to be (Unix with a beautiful and useable UI, scriptable apps, reusable components, and a modern development platform), I know I'm not the only one to whom it provided a haven after years of Linux-induced frustration._

You can't _just_ blame the Linux community, though. I agree that the community could do a lot of things better (especially with regards to UI development). However, one big obstacle the Linux community has to work against is hardware support. Windows is the dominant OS - manufacturers essentially subsidize Microsoft by providing Windows drivers for their product. Apple, by choice, writes OSX to only work on a very limited subset of devices that have been approved by Apple. Linux has neither of those advantages.

In theory, the fact that Linux is open should make it easier for programmers to make their own drivers and release those drivers to the community at large. In practice, because of many of the concerns that you've cited, proprietary drivers still outclass Linux drivers for a number of components, including WiFi, ACPI power management, and graphics.

<comment><USER26> _Even if you're replacing the software, having the source allows you to ensure that your replacement is fully backwards compatible with the original_

Same answer : True in theory, very rarely practical in reality. The only thing that really matters is the spec of the data format used by the program.

 _You can't just blame the Linux community, though._

I agree, it's not just that, but it's the main reason. 15 years since the start of KDE and there's still no sign of a unified, viable platform. If there was one, hardware support would follow.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER28> "I do NOT use browsers, I use the SSH protocol. If the network requires a proxy for SSH, I probably can't use it at all."

I wondered if this applied to all net usage or just email, turns out he never uses a web browser, ever. If he needs the contents of a web page, he emails a daemon which wgets the page and emails it back to him: <http://lwn.net/Articles/262570/>

<comment><USER29> This takes me back. In the early/mid 90s, particularly in Universities, internet was slow as molasses and many of us used these mail interfaces, for web and also for FTP (FTPmail). In many places email was given most of the bandwidth and it was a lot faster like that. Big files would come Uuencoded in several parts. In Uni, usually pics of Cindy Crawford and Erika Eleniak among others.

Now it seems incredibly geeky but back then it wasn't anything remarkable at all.

<comment><USER30> My first web usage was via message exchange with a local BBS which did UUCP e-mail exchanges every 4 hours. I e-mailed my request to an e-mail <-> web gateway at CERN, and got my page back in the next exchange.

Thankfully that only lasted a year before I got proper access.

And yes, I remember FTPmail, as well as similar gateways for Gopher, Veronica, Archie, WAIS... I feel old now.

</comment></comment></comment><comment><USER31> Love the part about the parrot, and Richard is right about never buying a wild parrot as a pet. My parrot was hand raised from an egg until he was old enough for us to care for him.

Richard is also right not to own a parrot himself because he has to travel a lot. When I have to occasionally travel, a lady who my parrot likes a lot takes care of him (expensive!) but he still gets some separation anxiety being away from me and my wife.

I can't imagine not owning a parrot, but I advise other people to not get them unless they have a lot of time for a pet. I literally spend over an hour a day playing with him, in addition to his hanging out on my shoulder while I work and write (My wife and I both work at home). It is great when he flies about 20 miles per hour to me, flairs up and thump!, lands on my shoulder. One issue, at least for my parrot, is that he always needs to be in the same room as either my wife or I if we are home. He seems really happy as long as he is with us.

</comment><comment><USER32> My favorite

 _If you can find a host for me that has a friendly parrot, I will be very very glad. If you can find someone who has a friendly parrot I can visit with, that will be nice too._

</comment><comment><USER27> I don't see anything there that's especially unreasonable. When Stallman gives a speech he knows he's representing GNU and the FSF. The rider basically obligates the organization to tell Stallman in advance what kind of venue he's going to, and warns the organization that there will be a large crowd, so that they should plan accordingly. In his position, I'm sure that I'd have similar clauses in any agreement to talk.

<comment><USER33> I'm not sure if the message was posted to the list to criticize Stallman or whatever.

And I was thinking the same thing as you, _until I got down to the second half_ of the rider.

Spoiler: it involves cats, parrots, hygiene, social awkwardness, and just about every other minute little detail. The sheer length of the piece might also be considered a turnoff.

<comment><USER34> Yep, it gets scary...

Tip: _never_ use the word breakfast near him.

<comment><USER35> Alternate interpretation: he has had overly solicitous people fret over why he's not eating breakfast, and would rather simply put the topic out of everyone's minds. He comes off as a solidly decent person in the rest of this letter; losing his composure at the mention of breakfast seems out of character.

</comment></comment></comment></comment><comment><USER36> "So there I am, in Sri Lanka, formerly Ceylon, at 3 in the morning, looking for 1000 brown M&M's to fill a brandy glass, or Richard Stallman wouldn't go on stage that night."

<comment><USER6> Just fill it with parrots.

I mean, that wasn't specifically mentioned as a no-no.

</comment></comment><comment><USER37> I'm still amazed at this man. You can like or dislike his views, but he has more dedication and, more importantly, integrity in every hair of his impressive beard than most people can ever hope to have in their entire body.

<comment><USER10> Many insane people get obsessed by things. That doesn't make them impressive. It's sad IMHO.

<comment><USER37> There's a fine line between genius and madness, and in my opinion, rms treads it rather nicely. As I said, if anything, you have to acknowledge him for sticking to his beliefs no matter what. Whether that's obsession or dedication is subjective and for everyone to decide for themselves.

</comment></comment></comment><comment><USER38> Whatever you do, do _NOT_ let him stay in the home of someone you respect or like.

I've done it twice, and both parties ended up literally burning the sheets, and wouldn't discuss further what had happened.

<comment><USER39> Bit late, I've already done that. :) Although I don't remember hearing any horror stories, other than an amusing anecdote about how his ultra-free netbook wouldn't connect to the wireless, whereas the proprietary Macbook worked perfectly...

<http://www.ukuug.org/newsletter/17.2/#repor_paul_>

<comment><USER40> Why would you expect any different? Wifi is pushing the bleeding edge of how proprietary a technology can be. Short of buying a semiconductor fab and replacing every access point and wlan chipset on earth, there is not a lot Stallman can do to prevent this problem. (Even then, the FCC does not care for radios that can be modified by their users. So this is why he has to advocate for Free Software: it's already illegal in some applications.)

</comment></comment></comment><comment><USER41> His demands are surely the cumulative result of years of travelling, giving speeches, dealing with cat fur, losing numerous tickets etc. I would be surprised if he wasn't this systematic.

</comment><comment><USER42> The man is thorough. This line made me lol:

"I do not eat breakfast. Please do not ask me any questions about what I will do breakfast. Please just do not bring it up."

</comment><comment><USER43> I think my favorite piece, aside from the parrots, is this: "If the police want information about free software, they are welcome to come to my speech."

</comment><comment><USER44> Given the kind of talks he does, I can see where he's coming from with this; it sounds like the kind of list that was built up over time.

In general, I would imagine he doesn't want to repeat the kind of incident that happened at linuxworld 99, where the he was given the torvalds award[1].

1 <http://www.youtube.com/watch?v=bDxMJQLXmBE>

<comment><USER45> _...so we can call it "GNU slash Linux"_

I never knew he pronounced the _slash_ in GNU/Linux. Not very brandable IMO.

<comment><USER46> I think he pronounced it "GNU plus Linux" the time I attended one of his speeches. I don't know if he keeps on doing that, but it seems more elegant and positive than the slash.

</comment></comment></comment><comment><USER47> I apologize up front to those of you who take the following comments as me being purposefully obtuse. That's not my intent.

I am not familiar with the intricate details of his message but on the surface it seems to me to be at odds, at some level, with the idea of it being ok to have a parrot as a pet. Software needs to be free or humans have a right to have free access to software but it's okay to keep a bird in a captive environment. Birds are meant to fly. Even if parrots aren't kept in a cage they're still kept within some confines. For those of you who have ever seen first hand a bird who surfs on wind drafts, remaining stationary in the air in the process, either on the edge of a canyon or just in a field somewhere; or a bird swooping through the Grand Canyon gets a sense of the freedom I'm inferring these birds are being deprived of.

I'm perfectly willing to admit that I'm missing some piece of the puzzle but it seems hard to me to be able to reconcile these two ideas. Do you think he's ever thought about this?

<comment><USER48> I had a parrot once. I have the following to say:

Parrots should never be physically confined, either by cages or (god forbid!) chains. If they like you, they will hang around you on their own accord. After a while they seem to regard some humans as family. Mine would follow my mom around like a dog.

As far as I know, they do not surf wind drafts, but they do require exercise. Therefore, you should have an open space. Either that, or take it outdoors at a safe location (no roads!) for it to fly. But most importantly, let it climb some tress, they love it - even more if it has fruits or seeds. It was difficult convincing mine to get out of trees - we usually had to resort to bribing.

They can eat human food to some extent, mainly fruits and grain. I had trouble with parrot rations, because it was very picky and only ate what it wanted to (mostly the peanuts) and left the rest.

If you do get a parrot, get a couple. It makes them happier and safer (a cat might attack and seriously hurt one - but it is unlikely to kill). A cat attacking two parrots would die before doing much.

I don't really think that a pet parrot would be unhappy per se, provided the above holds. I can agree with RMS when he says that wild parrots would become unhappy.

Unfortunately, mine was a wild one. What's more, judging by the behavior, he seemed to be the leader of his group - the others seemed to follow and imitate him. However, it was also the most docile and appeared to be the happiest one. The others didn't seem to be so well. But we did treat him as well as we could.

The vet could not determine the cause of its death. I get the impression that, since it is an uncommon pet even here, he didn't have any previous experience. I think whatever it was, an experienced vet could have saved him. And I found years later that sunflower seeds have to be eaten in moderation, as they are very fatty.

I am having a hard time using the pronoun "it". His death haunts me to this day and it's been almost two decades now.

I never got any other pets.

<comment><USER49> How do they feel about breakfast?

<comment><USER50> No one has ever asked and lived to tell the tale.

</comment></comment></comment></comment><comment><USER51> This is one of the least crazy and nicest riders I've ever read.

<comment><USER52> It's also nicely explicit and consists of a lot of "tell me if you plan to do [x] up front so we can agree or disagree".

The more common "policy" is for speakers to not list all these things in advance, but then threaten to pull out at the last minute when they find out they were paired with another keynote speaker they don't like, causing mad panics to smooth things over or find replacements.

<comment><USER51> That is what is so great about it: it's specific.

If you look at the smoking gun's archive, you'll see the more seasoned touring bands have the same level of specificity.

When you are respected, in demand, etc you know how people will screw you and prevent it in writing.

</comment></comment></comment><comment><USER53> """ Food:

I do not eat breakfast. Please do not ask me any questions about what I will do breakfast. Please just do not bring it up. """

Love it. Anyone know why?

<comment><USER54> As someone who does not eat breakfast, I imagine it's to avoid the kind of response I get when I tell my host I don't eat breakfast:

"Oh, are you sure? It's no trouble? It's good for you! Breakfast is the most important meal of the day! Why not just eat breakfast with us?" etc. etc.

<comment><USER55> I can empathize with that, since I also have some traits that raise similar responses, which I'd rather avoid.

But I'd better word my request as "please don't question my choices" instead of going into that much detail about them, which is precisely what I'd like to avoid in the first place.

</comment></comment></comment><comment><USER56> Thanks for this, but I can't help feeling like something of a voyeur for reading. It really is a burden to be in a position where your communications are divulged publicly, to be dissected. He's hardly Van Halen.

<comment><USER57> This is a document designed to be given to complete strangers while making arrangements for his speaking engagements. It's not _that_ personal, really.

</comment></comment><comment><USER58> TLDR: Don't buy a parrot for RMS's sake.

</comment><comment><USER59> I detest Richard Stallman, probably not justifiably because I respect the work that he did 20 years ago, but cannot stand the man's absolutism today.

However "I can speak in English, French, and Spanish." surprised me, and I see him in a different light, strangely.

<comment><USER60> If you want to get to know him a bit better, read his (freely licensed) biography: <http://static.fsf.org/nosvn/faif-2.0.pdf>

<comment><USER59> Thank you, I'll read it over summer.

</comment></comment></comment><comment><USER61> Very thorough... even includes advice about parrot acquisition.

</comment><comment><USER62> We invited rms to speak at SkyCon '07[1], but he double booked and ended up not coming to Ireland.

The rider has changed significantly since I received it in late 2006 - <http://diffchecker.com/851d9eU>

Can anyone point me toward more unique copies of this rider? I would like to be able to keep track of the changes over time.

[1] <http://skycon.skynet.ie/2007/>

</comment><comment><USER63> For a rider so detailed, I'm shocked that there are no details on performing "Free the Software". How will I know which key it is supposed to be?

</comment><comment><USER64> For comparison purposes, you can download the Foo Fighters' concert rider here:

[http://www.thesmokinggun.com/documents/celebrity/foo- fighter...](http://www.thesmokinggun.com/documents/celebrity/foo- fighters-2011-tour-rider-872903)

Perhaps Stallman's rider would be better received if he had provided it as a coloring book...

</comment><comment><USER65> I had the opportunity to see Richard Stallman speak, to participate in a Q&A session afterwards, and to ask him a few specific questions. I think he's a great man, whose acting with a huge amount of conviction and commitment to what he believes in - I have huge respect for this.

I also think he's a bit crazy, but then so am I! I feel he could make a bigger impact for his cause if he was more moderated and accessible in his views, but I respect his views none the less.

I think a detailed rider like this is generally a good thing, as it allows people to prepare more effectively. And from talking to the people who organised the event I attended, I think he's actually much more chilled out and reasonable than some of the things in the rider make him seem.

</comment><comment><USER66> I particularly enjoyed this part of the rider:

" Bus and train tickets:

If you buy bus or train tickets for me, do not give my name! Big Brother has no right to know where I travel, or where you travel, or where anyone travels. If they arbitrarily demand a name, give a name that does not belong to any person you know of. If they will check my ID before I board the bus or train, then let's look for another way for me to travel. (In the US I never use long- distance trains because of their ID policy.)

Don't give them your name either: please pay for the ticket in cash. "

It's fascinating to see how far into the experience he lays out his expectations and concerns. The "no Coke" mentioned elsewhere here is also an interesting requirement.

</comment><comment><USER67> you need to know what I dislike:

       avocado
       eggplant, usually (there are occasional exceptions)
       hot pepper
       olives
       liver (even in trace quantities)
       stomach and intestine; other organ meats
       cooked tuna
       oysters
       egg yolk, if the taste is noticeable, except when boiled completely hard
       many strong cheeses, especially those with green fungus
       desserts that contain fruit or liqueur flavors
       sour fruits, such as grapefruit and many oranges
       beer
       coffee (though weak coffee flavor can be good in desserts)
       the taste of alcohol (so I don't drink anything stronger than wine)

<comment><USER68> By pure coincidence, the exact set intersection for "things rms has stuck up his ass and been unable to extract."

<comment><USER69>
        T

</comment></comment></comment><comment><USER70> Some of the things in the rider are definitely odd, but the only one that I would really consider unreasonable is the "GNU/Linux" thing. Yes, I know that the GNU project has done a lot of work for Linux, but on the other hand there are a lot of Linux distros that do not use an all-GNU userland anymore.

<comment><USER71> I wonder what the "least-GNU" distro is at this point. Are there any that use LLVM/clang and uclibc, for example?

<comment><USER72> Android is essentially GNU-less.

<comment><USER73> Well, the Linux kernel is GPL.

</comment></comment></comment></comment><comment><USER74> I wonder: If he's sleepy and you don't provide a couple of Pepsi's, does he just nod off in mid-speech? "Let me remind you, it's not just Linux, it's Zzzzzzzzzzzzzzz..."

</comment><comment><USER75> ESR looks infinitely more reasonable by comparison: <http://www.catb.org/esr/travelrules.html>

<comment><USER69> The fact alone that he can make ESR seem like a reasonable person by comparison must be a legitimate superpower of some kind.

</comment></comment><comment><USER76> > Please do not ask me any questions about what I will do breakfast.

Is this a dialect or a typo. I would have thought he'd have said "... about what I will do FOR breakfast"

</comment><comment><USER77> I'll just leave this here: <http://edward.oconnor.cx/2005/04/rms>

</comment><comment><USER78> Mr. Stallman is neither nice in manner or smell. His ideas, while visionary at times, are not pragmatic. He is his own worst enemy. Perhaps, however, it takes an unfriendly, smelly man to trumpet the ideas of freedom in the digital age. I'm ok with that.

<comment><USER79> I thought about voting that down or not. Instead I'm just going to comment. This smell thing is really uncalled for, isn't it. I must admit that I always admired what he does, but - maybe like you - I have come to the conclusion that this guy is probably not a nice person. Probably.

Also, he kind of comes across as a one-trick pony. He literally can only think about one single issue. I believe when he thinks about the entire universe, he just looks at free and proprietary software and he's done. There is nothing else. Yes, maybe that's what it takes. Maybe visionaries can't be nice. Maybe successful people _have_ to be assholes. Then again, I hope not.

<comment><USER80> Last time I rummaged around his personal site, he had social and political commentary not focused on libre software issues.

</comment></comment></comment><comment><USER81> Make sure you feed him, otherwise this happens:

<http://www.youtube.com/watch?v=I25UeVXrEHQ>

</comment><comment><USER82> Who the HELL cares about this guy?

</comment><comment><USER83> "I usually decline to participate in "open source" or "Linux" events. See <http://www.gnu.org/gnu/gnu-linux-faq.html> for why it is incorrect to refer to the operating system as "Linux"."

Ah, this never gets old.

Also, using Pepsi to keep awake.

Are all riders this god damn picky? It wouldn't surprise me. I imagine there is a great amount of antagonism between performers/speakers/etc and the venues.

<comment><USER33> I've never read GNU's Linux FAQ that I can remember, but this section is interesting in light of the GNU kernel's history:

Question: Isn't writing the kernel most of the work in an operating system?

Answer: No, many components take a lot of work.

If I recall correctly, work on the GNU kernel began in the mid-80's (HURD in 1990?). I'll leave the correlation to the reader.

<comment><USER84> Linux was a good kernel that was better than what GNU had at the time, and it was compatible (technically/legally) with the rest of GNU, so it deprecated Hurd.

Sure, if enough folks wanted to, they good finish Hurd. But what's the point? They should go work on Linux.

<comment><USER33> Hurd isn't deprecated in the eyes of GNU. So far as I'm aware, they still desire a kernel under the GNU name.

</comment></comment></comment></comment><comment><USER85> If there is something else interesting and unique in this link, please tell me about it. Maybe I will be interested.

<comment><USER86> At a guess, then you'll mail your daemon to fetch the page, to be mailed back by the daemon?

<comment><USER85> Only after I find a trustworthy wi-fi connection that'll allow proxy-less SSH.

<comment><USER87> This entire comments thread has a higher than expected level of subtle/downplayed humor. I appreciate subtle humor, but I don't know if Hacker News is the place for it.

<comment><USER85> That's odd. I found no references to either subtle or downplayed humor in the rider.

You sir, are really subtle with your humor.

</comment></comment></comment></comment></comment><comment><USER88> RMS is quite unkempt, his feet stink like a hobo. In general he has a retarded way of dealing with people, not a nice person to be in touch with.

Just my 2 cents. PS: I did not mention his philosophy, neithe if his ideas are wrong. I just said he's got a bad personal hygiene and that he is has a retarded way of dealing with people, here are some quotes: <http://edward.oconnor.cx/2005/04/rms> It is plain wrong to offer condolences to a father with a newborn child and thus retarded.

<comment><USER89> RMS is a delightful man (I've had the pleasure of interviewing him at length in person), and his demands are completely in line with his philosophies. His dedication to free and open-source ideals, if impractical, is also inspiring and rare.

Saying he has "a retarded way of dealing with people" is perhaps too general. I myself found him enchanting and enlightening in our interactions. Maybe you just didn't like the way he treated _you_.

<comment><USER90> > open-source ideals,

You didn't read the part of the rider about "open source".

<comment><USER37> Your parent said "free and open source". Tiny but important difference.

</comment></comment></comment></comment><comment><USER91> I read the entire thing and all I could think about it was: Too Much Information. Seriously.

<comment><USER18> TMI is what a rider is there for. Its whole purpose in life is to enable _everything else_ to run smoothly, so _it_ needs to lay things out in detail that is nothing short of exacting, and if it verges on the anal-retentive that's just a few fewer things for people to worry about later.

</comment></comment><comment><USER92> And yet I doubt that satisfying each of these requirements would actually make him less cranky.

</comment><comment><USER93>
      If you can find a host for me that has a friendly parrot, I will be very very glad.

love it

</comment><comment><USER94> To be completely honest, after what he wrote about Steve Jobs' death, I don't feel like paying much attention to RMS anymore.

<comment><USER95> Much like Steve Jobs, RMS is a visionary. Most visionaries aren't necessarily pleasant people in any conventional sense, they can be peremptory, irritatingly specific and detailed in their demands.

<comment><USER10> Please don't compare the two.

Steve Jobs created a massive company. Thousands of jobs. He created products we all love and use.

Stallman just goes around ranting mad rants at people.

<comment><USER73> Comparing the two is a bit like comparing Thomas Paine to Thomas Edison.

Stallman created a movement. A movement that largely predicted the ways technology and society interact. I think in 100 years people will still using the GPL. I can't say that about the iPod.

<comment><USER10> BS. Free software existed well before Stallman.

<comment><USER96> Do you have any examples please?

<comment><USER97> The first BSD work predated GNU by a good seven years.

<comment><USER73> The first BSD license is not Copyleft.</comment></comment></comment></comment></comment></comment></comment></comment>