Steve Jobs' Philosophy of Life - <AUTHOR> http://www.theobjectivestandard.com/blog/index.php/2011/10/steve-jobs-philosophy-of-life/ <comment><USER2> Does it seem odd to anyone else to position Jobs as an Objectivist in line with Rand's ethics when he was avowedly a Buddhist? Not everyone who makes stuff and cares about quality control is an "ethical egoist," or whatever you call it.

<comment><USER3> It does seem odd, especially since objectivists are about as second-handed as it gets. "Objectivism" is not a philosophy; it's a support group in New York for emotionally broken rich people.

<comment><USER4> Can you explain how objectivists are second-handed?

<comment><USER3> Most "objectivists" are intellectually unoriginal. They've taken Ayn Rand's philosophy literally because it sounds good to an adolescent mind and is illustrated with reasonably well-crafted stories, not on any actual merits.

One of the most obvious failings of objectivism is that it doesn't even make sense on its own terms. Ayn Rand's "productive elite" had a mix of artists, intellectuals, scientists, and business people in it. Yet objectivism as usually deployed is nothing more than apologism for the existing, status quo, corporate elite: one that houses few intellectuals and no artists. Ayn Rand conflates economic and intellectual excellence despite _loads_ of evidence (in the society we actually have) to the contrary.

I would actually prefer socialism to corporate capitalism driven by private- sector social-climbing and bureaucracy. Socialism may tax the most productive in order to feed mediocrities. Ok, fine. Guilty as charged. But the status quo in America is to have mediocrities in positions of incredible power and influence and that's worse.

<comment><AUTHOR> >Most "objectivists" are intellectually unoriginal. They've taken Ayn Rand's philosophy literally because it sounds good to an adolescent mind and is illustrated with reasonably well-crafted stories, not on any actual merits.

Do you realize that some of the leading Objectivist philosophers have studied all other schools of philosophy, can speak about it freely, and understand it deeply? Would you posit that said Objectivist philosophers have adolescent minds?

Are you familiar with Mr. John Allison IV? He is an Objectivist and former CEO of BB&T (BB&T Corporation (Branch Banking & Trust) (NYSE: BBT) is an American bank with assets of $157 billion (March 2011)).

"Reasonably well crafted stories, with no actual merits"?

>Yet objectivism as usually deployed is nothing more than apologism for the existing, status quo, corporate elite: one that houses few intellectuals and no artists

You are absolutely wrong and have said nothing factual. No true Objectivist apologizes for the corporate elite - especially if said corporate elite earned its elite status through pandering to government and the status quo. As for artists, are you familiar with, for example: <http://www.cordair.com/>? Would you not call that art?

>I would actually prefer socialism to corporate capitalism driven by private- sector social-climbing and bureaucracy. Socialism may tax the most productive in order to feed mediocrities.

I would prefer _neither_ \- because neither system protects the individual. Both systems eventually fail - one being far more nefarious in its crony and duplicitous ways. At least the Socialists didn't hide what they were after.

</comment></comment></comment></comment></comment><comment><USER5> "Live as if you were to die tomorrow. Learn as if you were to live forever." -Mahatma Gandhi

If you are interested in Steve Job's philosophy of life, you may find value in learning about Stoicism.

> Montaigne was fond of an ancient drinking game where the members took turns > holding up a painting of a corpse inside a coffin and cheered "Drink and be > merry for when you're dead you will look like this."

Emotions like anxiety and fear have their roots in uncertainty and rarely in experience. Anyone who has made a big bet on themselves knows how much energy both states can consume. The solution is to do something about that ignorance. Make yourself familiar with the things, the worst-case scenarios, that you're afraid of.

[http://www.fourhourworkweek.com/blog/2009/04/13/stoicism-101...](http://www.fourhourworkweek.com/blog/2009/04/13/stoicism-101-a-practical- guide-for-entrepreneurs/)

</comment><comment><USER6> "He embraced first-handedness or independent thinking: a primary orientation not toward others' opinions, but toward reality as you see it."

This is such a simple concept, but it is probably the most rarely employed thought process in all of society.

Original thoughts are rare and usually lucky. No reason to look down on anyone for being original - there's nothing new under the sun. Independent thinking, however, is far more rare then it has to be.

</comment><comment><USER7> It seems wrong to me that the post doesn't apparently attribute these quotes (and they are all from the same source) to Steve Jobs' Commencement Address at Stanford in 2005, or say anything about their context.

<comment><AUTHOR> I agree. I would highly suggest pinging the author about that omission.

</comment></comment><comment><USER8> <http://imgur.com/fEcCZ>

</comment><comment><USER3> Steve Jobs was an interesting man who led an unusual and great life, and I have a lot of respect for him for what he's done, but I don't think his "philosophy of life" is very practical for average people. By his late 20s, he was at the point of never having to work again. He _could_ work for fun. This doesn't take anything away from him; he worked very hard and produced excellent products. My point is that what worked for him doesn't work for most people. If you are a person like Steve Jobs in an average position, you're looking at a string of 6- to 12-month jobs and eventual unemployment once your CV looks like Ypres.

Once you're independently wealthy and don't have to work anymore, it's a really great idea to de-condition yourself from social climbing and people- pleasing and all the other idiocies that enter life when one has to manage others' perceptions of oneself. In fact, it's necessary to do that if you want to do anything great; otherwise, you'll be mired in mediocrity because that's what most people like and want. But if you're a normal person who has to pay the bills, to throw all of that social stupidity to the wind is putting the cart a bit before the horse.

If I have kids, I'm not going to tell them to "follow their dreams" or "do what you love, and everything else will take care of itself". We don't live in a good enough world for that. It's just not practical advice.

<comment><USER4> My father likes to use the quote, "Whether you think you can, or you think you can't - you're right."

This is a Henry Ford quote and seems to apply to this situation. You can either believe you can 'follow your dreams' or believe following dreams is reserved for a select few others.

Jobs didn't say everyone can become a billionaire. He said everyone can follow their dreams. He's right.

>> By his late 20s, he was at the point of never having to work again. He could work for fun.

He had been working for fun from the beginning.

<comment><USER3> _You can either believe you can 'follow your dreams' or believe following dreams is reserved for a select few others._

It's between those two extremes. If I decided my dream was to be a movie star, I'd be out of luck.

 _He had been working for fun from the beginning._

He did something really smart. He started working (for fun, as you said) before he had to. At 20, it would have been socially acceptable for him to go back to college. Since he was working but didn't _have to_ work, he could achieve a lot. This, combined with the luck of being substantial after a few years of working life, enabled him to "work for fun" for probably most of his work life.

<comment><USER4> > If I decided my dream was to be a movie star, I'd be out of luck.

Steve Jobs specifically advised people to do what they love. If your dream were to be a movie star, it would follow that you love to act.

There are myriad opportunities for actors to practice acting. So I don't see how you couldn't follow your dreams, i.e. do what you love.

> He did something really smart. He started working (for fun, as you said) > before he had to.

I don't understand how someone's age precludes them from following their dreams.

I'm sensing a defeatist attitude. If you are convinced that it's impossible to follow your own dreams, it will be a self-fulfilling prophecy.

If, instead, you believe that you can follow your dreams, you will look for opportunities to spend your time (even 10 minutes a day at first) following that dream.

Perhaps you can respond with the specifics of your personal dream and how it is not possible to follow it so we can steer this discussion in a productive direction.

<comment><USER3> I'm not a defeatist. I'm a realist. The "you can be whatever you want to be" bullshit that kids are fed is destructive. It's not true. Not in the least. I'm all for more moderate formulations of that, such as "pay attention to what you want, not what others expect of you" and "value your integrity and creative freedom highly; money and esteem are unimportant in comparison". I can get behind those ideals. I do not think it is responsible to tell young people that when they are adults they will be able to define their role in society and have society say, "OK, sounds good, and here's the money to pay your bills". It don't work that way.

We have a generation of neurotic, emotionally stunted, psychological cripples in this country, and one reason for that is that we've had 40+ years of kids being told they could be whatever they wanted, only to reach bitter disappointment in adulthood upon discovering reality. Which means that normal lives feel like abject failure to them. If they grew up with lower expectations, they might not be so miserable.

Our parents weren't told this shit, because our grandparents grew up in the fucking Great Depression and knew better.

Every time you tell a kid, "You can be whatever you want to be", you're setting him up for despair if he ends up in an average job and social position. You're better off telling him that life is hard and full of compromises and that most of whether he succeeds or not is out of his control, so he should focus on the 1% he can actually control. I am all for inspiring people to do work they love instead of the work that is best-paid or most esteemed, but they need to be prepared for sacrifice.

 _I don't understand how someone's age precludes them from following their dreams._

Like it or not-- and I'm definitely in the "not" camp because I think it's disgusting-- in the work world people are judged on where they got to at what age. That's why this "follow your dreams" bullshit is so pernicious. It leads to people (after chasing rainbows for several years) working entry-level jobs at 30, which means they are very unlikely to be taken seriously ever-- they're too far behind.</comment></comment></comment></comment></comment>


Offer HN: Let Me Give You Ideas For Your Business - <AUTHOR> http://ypprojects.tumblr.com/post/66886540653/let-me-give-you-ideas-for-your-business

<comment><USER2> Inspired by twitter and snapchat:

You call a friend over the phone but, here's the twist, it will hang up automatically after 15 secs. Better make it quick.

Value proposition: \- Nobody has time for calls that last more than 15 secs nowadays \- You're more likely to pickup the line if you know it's 15 secs instead of letting go on the voicemail. \- If it's someone you don't like, it will only be 15 secs

Pricing Model: \- Waiting to receive a $3B offer, turning it out, accepting a $12B one for Christmas.

Audience: \- Everyone who used a phone and is ready for the phone experience 2.0.

Yes, I'm kidding!

<comment><USER3> Even though you're kidding...

1\. 30 seconds would give you enough time for a bit of back and forth, while still being refreshingly brief.

1.1 Or, make it just under a minute, as you'd otherwise be throwing away the fraction of the minute not used.

2\. Block the caller from calling again for x minutes, set by the receiver.

<comment><USER4> I like 30 seconds. Call the service SmallTalk. If you get sufficiently popular, you could advertise on Who Wants to be a Millionaire. "You've chosen to use your 'phone a friend' lifeline. Remember, you only have 30 seconds. We'll have the guys from SmallTalk connect you to your mother."

<comment><USER3> Could also partner with providers on data/sms/'SmallTalk' plans.

I'd love to be able to get a hold of call connection data and see what the average cost-per-minute of a call is. I'm sure there's a lot of calls where it runs 1 min 10 sec. or so, and that 50 seconds is wasted but still charged (as it's per-minute).

It would be interesting to try to get the partner provider to value a 'SmallTalk' call around what the actual profit for a call is (vs. published rates), for a little more transparency (and cost control) to the pay as you go market it would make sense in.

</comment></comment></comment></comment><comment><USER5> Alright, hear me out on this one: SnapchatSnapchat.

Our company will make you a Snapchat clone (put it on the app store, advertise it, the full 9 yards), but after 30 days it just _disappears_. I need an idea for the revenue model.

<comment><USER6> _I need an idea for the revenue model._

Just tell your investors that you had a business plan written out, but you saved it in SnapBox...

</comment></comment><comment><USER7> Snapco:

A free saas + iaas cloud platform that provides all the plumbing and infrastructure necessary to launch your startup in 90 days ...or else.

If your startup doesn't achieve exit or real revenue target within 90 days, you forfeit ownership to Snapco.

Else, Snapco takes a percent of exit proceeds and ongoing revenue.

</kidding>

</comment><comment><USER8> FoodSnap

You take a photo of everything you eat. The app organizes the photos by day. The daily digest view shows you everything you ate for that day.

This could be used for dieting (perhaps looking at everything you ate that day before going to sleep helps you realize how much you actually ate, as opposed to not thinking about it when you're munching bite by bite).

This could be used for personal discovery (probably everything you eat has an effect. You can start to become more vigilant of your food patterns by keeping a visual journal).

This could be used for medical purposes (need to monitor what you're eating, etc).

Anyhow, probably v1 is very simple. Version A might involve image detections. Version B might just get some mechanical turks to identify what you ate to make the visual data textual. Version C might let you make quick notes after you take the photo.

Brainstorm to where the app is something people pay to download or use.

[edited typos]

<comment><USER9> It looks like a few people have had this same idea:

MealLogger: [https://play.google.com/store/apps/details?id=com.wellnessfo...](https://play.google.com/store/apps/details?id=com.wellnessfoundry.meallogger.android&hl=en) [https://itunes.apple.com/us/app/meallogger-photo-food- journa...](https://itunes.apple.com/us/app/meallogger-photo-food- journal/id340837652) Odish: [https://play.google.com/store/apps/details?id=net.odish.app&...](https://play.google.com/store/apps/details?id=net.odish.app&hl=en)

I don't know much about those apps though, so I don't know if they're actually any good.

<comment><USER10> There is even an app (MealSnap: [http://techcrunch.com/2011/04/05/too-lazy-to- count-calories-...](http://techcrunch.com/2011/04/05/too-lazy-to-count- calories-now-you-can-just-take-a-picture-of-your-meal/#)) that goes a step further and returns back calorie estimates from a photo. (But I haven't personally used it so I can't say how good that one is either.)

<comment><USER11> It's not very good. I had that idea around the same time, tried to use MealSnap, gave up and decided the problem was on the wrong side of the difficult/interesting balance for me. After looking at the photos I took for ~a week, I felt that as a human I'd be wildly inaccurate with the calorie counts, so how on earth could a machine be better?

(Though, I was eating in a company cafeteria. Combining photos with geolocation for popular restaurants could be a good start to a more reliable, if sparse, approach.)

</comment></comment></comment></comment><comment><USER12> I'm an entrepreneur and my circle of colleagues includes other entrepreneurs, designers, developers, marketers, etc. We generate 3 ideas per second about my business. I'll pay you $5 to _not_ give me three ideas about my business.

<comment><USER13> I accept your offer. You have 24 hours to send me $5 (billing details to follow), or else you shall receive my three ideas about your business.

<comment><USER12> I've sent you $5 via PayPal.

</comment></comment></comment><comment><USER14> From Pipedrive's HTML:

01010111011001010010011101110010011001010010000001 10100001101001011100100110100101101110011001110010 11100010000001101000011101000111010001110000001110 10001011110010111101100010011010010111010000101110 01101100011110010010111100110001011001100100100000 110101010011010100111101001111

I'd suggest making it harder than Googling 'binary to ASCII conversion'! :)

Edit: text overflow.

</comment><comment><USER15> So many ideas: [http://www.youtube.com/watch?v=8BjrHpZwRFo](http://www.youtube.com/watch?v=8BjrHpZwRFo)

<comment><USER16> Also [http://www.youtube.com/watch?v=Cr3EYyOVg88](http://www.youtube.com/watch?v=Cr3EYyOVg88)

</comment></comment><comment><USER17> Just make a Snapchat clone that lets you send pictures from your photo gallery, I REALLY NEED IT. I don't have many relevant pics to make and send via Snapchat but I do have lots of stupid pictures that I want to forward to my friends.

<comment><USER18> I have built that, or at least something similar, and no one uses it :(

<comment><USER19> Well? Put your link up, man! I suspect your problem (like my own, alas) may be an aversion to self-advertising.

<comment><USER18> Yeah, that's exactly what it is. I have even more so of an aversion if I am not that active in the community.

</comment></comment></comment></comment><comment><USER20> Flashprint: we print whatever you want and send it to you on an airtight envelope. Once it's exposed to air you have 10 until it becomes a blank page.

I want 20 billion, cash no stock.

<comment><USER17> This would be Snapchat hadn't Internet been invented.

<comment><USER21> Ha ! An analogue version of Snapchat

</comment></comment></comment><comment><AUTHOR> OP here - I'm going to respond to everyone who drops me an email at adam [at] ypprojects.com or comments in here. If you comment in here, though, please leave your email address.

<comment><USER22> Just wanted to post that if you enjoy giving feedback and suggestions, you could register at criticue.com. You give feedback to webpages/apps and get credits for reviews of your own stuff. I have gotten decent feedback for my sites there, although mostly I just like opining on others' work!

</comment></comment><comment><USER23> \- Thanks for sharing</comment>


Want privacy? Tell Apple to integrate PGP into Mail and OSX. - <AUTHOR> http://www.apple.com/feedback/macosx.html

<comment><AUTHOR> Larry Page could also avoid a future media debacle like this by integrating PGP into Gmail/Chrome.

Accusations would end very quickly when the response is "Just use PGP".

[http://www.google.com/tools/feedback](http://www.google.com/tools/feedback)

</comment><comment><USER2> And OTR/ZRTP in their chat/video-chat apps. Not just Apple, though, but every company that offers such services, if they want me to trust my data with them again. Same goes for the cloud storage services.</comment>


Ask HN: How to start earning $500/month in passive income in next 12-18 months? - <AUTHOR> I am a Ruby on Rails developer from Bangalore, India. Currently working for a startup in Bangalore as a full time employee.
Few months ago there were lots of posts on HN related to passive income. This gave me thought about having passive income which will give enough freedom to work on my own ideas/project fulltime.
In India one can easily live on $500/month, so keeping that in mind I have setup a timeline of 12-18 months(which I think should be enough) to generate that much amount.
Right now I don't have any savings which I can invest to earn and I've free time available around weekends.I am working on few ideas of my own, but those will not necessarily generate income.
So what would you do suggest me to do? <comment><USER2> I run Built With Bootstrap ([http://builtwithbootstrap.com](http://builtwithbootstrap.com)) that brings close to $2,000 on average each month in "mostly passive" income.

How? Here are a few things that have helped:

1) I got lucky - I jumped on something early and got picked up quickly and rode on the back of a giant gorilla as it kept getting higher and higher - right place, right time

2) I keep costs low - I use Tumblr (free) and cheap, pluggable services like Campaign Monitor, Wufoo, Buffer, and IFTTT to automate a lot of the process.

3) Don't be afraid to ask for money - I started doing this very early on, but even that wasn't soon enough! People will pay if there's a benefit, so don't be afraid to ask.

4) Keep it simple - I write brief emails, I don't respond to everything and I only spend a few hours each week on the site - updating content, checking stats, emailing etc.

5) Get multiple sources of revenue - I use a number of affiliates as well as offering traditional advertising.

6) Be social - Twitter, Facebook, Tumblr, Pinterest, Google+ - BWB is on all of these. I try to engage with people and respond to things

7) Start a mailing list - this is not to be overlooked!

I hope this gives you some helpful ideas :) don't be afraid to ask any questions.

<comment><USER3> It's a nice and clear summary. You could probably expand it into mini book - one page per each point listed - and sell it for additional revenue...

<comment><USER4> It'll take some work. You'll need to put an interesting quote on each page and then some anecdote from the author's life that may or may not be related to the the point at the top of the page. If author does not have enough interesting stories to write up, they may have to borrow them from reddit or such.

<comment><USER5> This sounds like about 1-3 days of work.

</comment></comment></comment></comment><comment><USER6> If you're willing to work five hours a month on your passive income project, then I suggest doing five months of work on Passive Rails Consulting, as that has minimal execution risk.

Can I make a suggestion? Most people who say "passive income" spend a lot of time fantasizing about the lifestyle relative to actually producing value. It is not terribly difficult to produce value as a programmer. Concentrate on producing value. If you achieve that, you'll trip over $500 a month. Most of the straightforward ways involve identifying a problem for a class of business that you're positioned to solve and then solving it in return for money.

If you want concrete suggestions with regards to markets and form factors, in lieu of repeating myself I'll post a link to an old comment: [https://news.ycombinator.com/item?id=5904316](https://news.ycombinator.com/item?id=5904316)

<comment><USER7> I completely agree with this.

Generally, completely passive income is massively harder and more time intensive to generate than minimal-time-investment income (which is what Patrick suggests above). I have both completely passive and minimal-time- investment income sources, and the passive ones have been MUCH harder and longer work per dollar over the last few years.

Focus on optimising your $/hr (and your hr/month) rather than going for hr == 0 and you'll likely hit your goal much faster.

<comment><USER8> I'm genuinely curious how "passive income" is defined if it takes significantly more time.

<comment><USER9> You invest time up front, then reap the rewards. Residual income may be a better term for what most people call passive income.

Most of my income is residual, and I love it, but there was a big hump to get over at the start.

<comment><USER8> Thanks for the clarification. That makes sense to me :)

</comment></comment></comment></comment></comment><comment><USER10> I'd give a read to Start Small, Stay Small (www.startupbook.net) and other startup literature. Study Paul Graham's essays (www.paulgraham.com).

Random ideas:

\- Start something like skoshbox.com, but with Indian goodies. You may not realize it, but foreign countries crave Indian tastes and flavors. I would probably pay for a monthly delivery of Indian spices and sweets.

\- Start a podcast on a passion of yours. Offer free newsletter and video lessons, then charge for premium content or up-to-date episodes and consulting.

\- Omegle meets paint. A collaborative canvas for children of different nationalities to meet on the Internet. No chat, no video/audio – just the canvas. Revenue may come from ads, sponsors, educational programs within the platform.

EDIT: to whoever downvoted my post, may I ask why?

<comment><USER11> A monthly delivery of Indian spices would be incredible. If you could get it past the Canadian food inspection agency, I'd definitely subscribe (and possibly get your logo tattooed on my arm)...:)

<comment><USER12> I had been thinking of starting this service. Good quality spices are expensive. Also I think shipping costs are relatively higher from India compared to developed world. Considering these points the subscription price would have to be slightly high. Do you think there would be enough interest at a relatively high price point?

<comment><USER13> I'm confused about the need. Although I live in a small English town (pop 110,000) which has a number of shops selling a wide variety of spices.

Would you be selling small kits of spices to prepare a meal, with a recipe delivered at the same time?

<comment><USER12> Me and my wife love quality spices and experimenting with different recipes. We had been thinking of starting our own business. Sending out Indian stuff monthly is one of the ideas we had been toying with. When one thinks of stuff from India, spices seem to come at the top of the mind. (honestly we haven't thought this through yet; the idea was inspired from a Japanese candy service). I am aware that spices are available in most places in the west these days. But I guess it is not easily accessible in all the places. Convenience can be reason for someone to subscribe to the service. Another value add is accompanying details introducing the spice, its properties, uses and some sample recipes.

This is a time intensive operation. As of now, I m not convinced the returns would be high enough.

</comment></comment></comment></comment></comment><comment><USER14> Since you're a developer, you already have the most important asset, which is the ability to basically create anything (web services related, obviously). From there, it's "just" a matter of finding something to build that other people will value and then telling as many people as possible about it.

The best way to figure out what to build is by thinking about what YOU would find useful, and then build that. Don't get too big with the idea, though. Just analyze your day-to-day routine and ask yourself what kind of little piece of software would make your day 1%-5% less annoying.

For example, I'm a developer but also a startup founder. I've wasted entire days doing repetitive email follow-ups to investors, partners, customers, etc., which means I wasn't committing code. So I put aside a weekend and built a system to automate my email follow-ups. After it worked well for me, I showed it to some colleagues, they started using it, too, and before I knew it, I had a nice little SaaS app going. With another weekend of work, I added a frontend and billing system, and I launched it as [https://autopest.com](https://autopest.com).

(I'm including the link at the suggestion of some of the other folks in this thread, and also to show how it matches well with their advice -- target B2B, build a SaaS app, keep it simple, rely on quick solutions like Bootstrap and Stripe, etc.)

Step two is getting people to it. Best way I found for that is social media -- especially Twitter. It only takes me 15 minutes a day to be "active" on Twitter, I can easily target BizDev people and GrowthHackers (my target audience), and slowly but surely, they start signing up. It's been a few months and I'm on pace to hit your $500/mo target in the next 30 days.

Best of all, because I built something that _I REALLY WANTED_ , even if no one ever pays me another penny, I'll still come out ahead because the thing I built works really well for me.

</comment><comment><USER15> I have several passive income sources. I started a community websites since 2006 which generates me around $1500/mo in passive income.

Have you any ideas what tools might make your (dev) life easier? You can create a small productive/utility SaaS app. Use bootstrap if you don't have any design skills. Use PayPal/Stripe to setup a (recurring) payment system in a day.

Test using lean methodology, buy a domain, create landing page with bootstrap, pricing page, and a fake sign up page. Takes max a week. Then spend another one week driving some traffic from Google/Facebook ads to see if there's any interest. Usually Facebook, if targeted well, is way cheaper. Start using Google once you know your LTV (Life Time Value of customer) and conversion. Start by spending for example $20.

One tip: Don't target US customers in Facebook for polling interest, they are harder to convert, and from my experience around 10x/20x more expensive than Asian/Spanish speaking countries.

After you see interest, try to find a quick way to see if people are willing to pay. This might not as easy as most users want to use your product before paying. You might explain the product in better detail after the signup and ask what they want to pay for it.

After you are able to confirm if people are willing to pay for your service, only then spend serious time building.

You can apply the same tactic if you're selling an e-book, maybe the spices idea as someone mentioned before.

Good luck!

<comment><USER16> And how long did it take until you make $1500 / mo ? And how many time you spend to build it up ?

</comment></comment><comment><USER17> From Bangalore too. Amateur programmer, but have a ton of experience and networks in a niche sector. I pull in decent amount of money in passive income.

(1) I would say focus first on value rather than money. I delivered my service for free or on trial basis for almost 6 months before clients signed up to pay.

(2) As a freelancer, focus on long-term retainer relationships, built on your value-proposition. And work with clients who have solid reliable cash flows. This way, your income would be guaranteed via 1-2 year contracts.

(3) Please stay away from consumer focused businesses/services if you are looking for small side income (this can be your focus for your big main start- up idea). B2B is always better. The only exception I think is if you get lucky in the app economy or if you could build 1m+ page-view site (Amit Agarwal)

<comment><USER18> What is "B2B"?

<comment><USER19> Business to Business; so when you sell your product/service to other companies instead of to individuals (which would be B2C; business to consumer).

<comment><USER18> Ah, I see... Thanks for the info!

<comment><USER20> In the future you can avoid downvotes by searching rather than asking HN for the answer to an easily google-able question.

</comment></comment></comment></comment></comment><comment><USER21> Meta: if you respond with "I run a small project and it is generating X per month for me", would you please provide links? I know it seems self-promoting but in reality in discussions like this it is very interesting.

<comment><USER22> I find people in these discussions rarely want to share their actual products/sites. If I had to speculate as to why, I'd say that many of them profit from having found a micro-niche with minimal competition, so it makes sense for them to keep it to themselves.

<comment><USER23> In my case, it is a niche with some competitors. I don't share because I don't want to relate the project with me (I'm not worried if someone find it). I don't share it even with friends.

Also it is an SEO experiment, all my traffic (97%) is Google organic.

It's ~4 months old, has 75k hits/month and generate USD 60. It still growth 100% month over month.

I need some months to return the money I invested (designer, domain, ...), but I don't even count my time. I'm learning more from this project than with anything else I already did.

</comment></comment></comment><comment><USER24> There is a strange obsession here on HN with passive income. Yet I haven't seen any good examples of passive income, which were built without significant effort or time. Income is anything but passive.

Here's a better way to look at it:

You want to earn $500/month? As a good Ruby developer, you can earn that much in _two days_ doing contract work. And no, it doesn't matter if you're based in Bangalore, you could be based in Belgaum and it wouldn't matter, as long as you had a good internet connection.

You can make more money while doing work you enjoy, instead of trying so hard looking for passive income. And you can save up, invest that money and buy solid chunks of time to totally focus on your crazy startup ideas.

<comment><USER25> I own a forum that makes me $1500/month. I haven't logged in for 6 months. All the effort was done in 2007.

Contract work, like 9-to-5 employment, is the opposite of what people have in mind when they say "passive income". The goal of passive income isn't to get something for nothing. It's to create something that generates income that isn't linked 1:1 with your time.

<comment><USER24> I meant that you can earn enough in 2 days, and then spend the rest of your time building a product which you really want to build and get off the time- selling treadmill.

</comment></comment></comment><comment><USER26> You don't want to earn a passive income. You want to leave your job. Fine. Except that looking for passive income stream is not the best idea out there.

If you can contract for $80/hour for US/EU clients (really possible), you'll need to work only 40 hours to cover a 6 month expenses.

But that won't probably be enough for one month, once you start earning it. You've been warned ;)

<comment><USER18> " _If you can contract for $80 /hour for US/EU clients (really possible)_"

Do you have more info/advice about that? I've often flirted with the idea of online freelancing for overseas companies... But a lot of the freelancing sites either seem too dodgy/cheap, or elitist about "github" commits and the like.

<comment><USER26> The internet has got fair pricing. You can work for $10/hour or $300/hour. It depends on the value you bring, and your negotiations.

Now how to get the clients. I'll leave you to figure out that part on your own.

</comment></comment></comment><comment><USER27> Either you can sell your own product/services or sell someone else's product/services ...

\- Take advantage of growing e-commerce in India - sell other peoples product ... buy directly from manufacturer and sell it to consumers thru platforms like Flipkart, Snapdeal, etc. ... most of the manufacturer in tier-2 and 3 cities dont have a clue about e-comm selling so help them out and make a good return...

\- Start affiliate business (selling other people's products/service) online...

\- Create your own product/service and sell it thru your own e-comm store or thru Amazon or Ebay or Yahoo stores.

\- Start writing a blog and make it so popular with your amazing content that you can make money thru Ads, affiliate marketing and/or by email marketing.

\- You can also start a drop-ship store and sell to the consumers in north- america, europe and/or australia.

\- there are small businesses on sale on Flippa (however you need to learn how to find a good one) that can easily make you $6k a year .... find a business that is of your interest/passion ....

Good Luck!

<comment><USER28> Drop-shipping is a still-born idea. 99.9% of the time you will not make money, and will spend time advertising someone else's product.

Same with "buy from the manufacturer" \- unless you have a lot of storage space, and enough money to hold a lot of inventory, you can't even get into that business. That's assuming the product can even be stored for long periods of time without depreciating (pretty much all of electronics is out of the question then).

Many of Flippa businesses have fake numbers, be very careful. They buy traffic to get Analytics, and when they get a few months of it, they post it on Flippa.

<comment><USER27> Dropship: In india its an untapped opportunity ... someone can just create a fortune by even tapping 1% of the market - of course its a little bit of work.

Buying from Manufacturer: again its a haven if you can find a niche product ... there are millions of manufacturers in small cities in india who create fantastic products ... you do little bit of research about what is selling or trending and start with small inventory .... some investment for trial and error is required but not difficult to catch a niche in couple of months ...

Flippa: now a days flippa has become more careful about listing fake sites - there are many tools ... one of the is services offered by Centurica ... they do thorough due-diligence for you (especially revenue and profit claims)...

<comment><USER28> > _there are millions of manufacturers in small cities in india who create > fantastic products_

Such as?

</comment></comment></comment></comment><comment><USER13> Good quality videos of construction equipment aimed at children. Put those on Youtube with ads. Link to a website that has affiliate links to stores that sell toy versions of the equipment - Bruder is one manufacturer to investigate. Gently adsense that page. Careful SEO.

</comment><comment><USER29> Build curated lists of small businesses in the US. I mean really quality spreadsheets, with city, state, address, owner name, contact name, email, phone, etc. Do this for business categories, like: bakeries, caterers, dentists, doctors, plumbers, etc. For the doctors and such, I would focus on small town entities who are not part of a large medical practice.

Then you sell exclusive, limited access to the list. The internet is virtually littered with small SaaS applications which are targeted toward small businesses. They are selling software for bookkeeping, time tracking, shift planning, appointment reminders, practice management, etc. These SaaS products have LTV numbers such that direct calling is worth their time.

<comment><USER30> For UK: [https://www.duedil.com/](https://www.duedil.com/)

</comment></comment><comment><USER31> Build a pile of small (Ruby) applications. Small in terms that the prototype could be delivered in weeks, and only needs a few weeks till production. So first step is to fine "easy jobs" that you can solve faster then others, and sort out the bad customers. I offer 2% discount if they pay invoices within a week. Only two type of customers would pay late: Those with a cash flow problem, and those with an account problem. Drop them! Also drop any kind of toxic customers. Keep the good ones.

Offer a maintenance contract of $50 per month for the server and the software to the good customer. A year later you will have 4 or 5 contracts paying half of your bill, for doing backups once a week, installing security updates, writing invoices, and perhaps sometimes writing an email to the customer or even patching a bug.

You can play around with own ideas, once you have a semi passive income. I would try to solve a problem with a software as a service.

<comment><USER32> Can you give some examples?

</comment></comment><comment><USER33> $500 per month is $6000 per year. $100,000 in high dividend stocks may generate close to that much in dividends per year. So contract for $100 per hour for 1500 hours in the next 18 months. Then make a good investment.

<comment><USER34> How does one identify high dividend stocks?

<comment><USER35> just stick to an index fund - never hand pick securities!

<comment> zupa-hu sure, that's what the big winners do (pun intended)

</comment></comment></comment></comment><comment><USER36> 1) Find a niche area of interest and build a web site and put AdSense ads on it

2) Promote the website a bit

3) Profit.

The trick is working out what your niche is that hadn't already been done by someone else.

I lucked out with some websites in the UK about fuel consumption (for cars) a few years ago. I invested a weekend of my time and a little promotion effort and it snowballed - initially it made maybe £1 a month for the first year to 24 months but now I get about 150,000 hits a month which with ads earns a decent amount of money (more than you are looking for)

</comment><comment><USER37> [https://news.ycombinator.com/item?id=2547254](https://news.ycombinator.com/item?id=2547254) [http://www.quora.com/Is-it-hard-to-build-market-and- maintain...](http://www.quora.com/Is-it-hard-to-build-market-and-maintain-a- web-app-that-makes-at-least-1-000-a-month)

</comment><comment><USER38> Since March this year, I have been able to build a semi-passive income of around $1500 per month (lowest around $1000 and highest $2000) by building/selling items on CodeCanyon.

Granted it's not truly passive income, rather semi-passive. That said, with minimal monthly efforts, the money comes in each month.

<comment><USER39> aren't they taking 50% of your sales?

<comment><USER40> Huh, and here is another idea - build CodeCanyon clone but take 20% :)

<comment><USER41> Onarbor takes code and only 10%, [https://onarbor.com](https://onarbor.com)

<comment><USER38> Nowhere near the same amount of exposure. Yes, you'll earn a higher percentage, however with the lower number of sales, the money you pocket will be significantly less.

</comment></comment></comment></comment></comment><comment><USER42> I haven't given up on passive income, but I try to work smarter not harder. That being said what I do would be considered semi passive income. Since consulting work isn't consistent I've spent about 2 years building up a network of design online vinyl lettering and graphics sites that require little to no daily work on my end. I outsource production and shipping and take a good piece of each sale. On average I devote 30 minutes a day handling emails, phone calls, and submitting POs. I've automated nearly everything once an order is placed from generating the vector cut files to submitting purchase orders. My image generating api does all that magic [http://ionapi.com](http://ionapi.com) (closed beta) and a few of the sites [http://boatdecals.biz](http://boatdecals.biz) [http://letteringhq.com](http://letteringhq.com) and [http://racegraphics.com](http://racegraphics.com). Slowly building on past work over these two years I've went from making nothing to being able to live off of the income of these businesses.

So my main advice is start somewhere and don't find yourself so indecisive you do NOTHING. There are lots of opportunities in small niches especially. Pick one you love and try to tap into something. Myself, outside of being a developer I know signs and graphics pretty well, so it was a logical direction to go.

</comment><comment><USER43> I started a youtube channel 2 year ago. Just for my personal use. When I want to show someone something, to be able to upload it, if it's not on youtube yet. So I invested 10 minutes per month to upload some videos that I think interesting to share. After a year I saw that to0 many people watch my videos. So I activated ads on my channel. My last video was a year ago I think. And Google still sends me 200-300$ monthly. I've invested only 2-3 hours totally on channel.

</comment><comment><USER44> #1 This is way easier, and can last longer, if the business involves user retention.

#2 Study other micro-businesses carefully.

#3 Apply an existing model to a brand new area or technology.

Personally I think the passive income concept is crap. It is real but is a concept that people who don't want to work hard eat up so is used in business opportunity marketing heavily.

There are things that can produce revenue for a long period of time after your initial upfront investment where you work really hard for a while for free or at a great loss (investing money in assets vs just your own time.) However, the nature of traffic flows online & technology mean if you use the revenue for personal consumption rather than re-investing it in the business one day a few years from now you will wake up no better off than the day you started. In some circumstances where the individual increases their standard of living or takes on debt, they will end up much worse off.

Not speculation, I have watched this happen to friends.

As a programmer your best opportunities are most likely writing tools and code that can be resold multiple times. Huge chunks of redundant work is done by freelance developers.

</comment><comment><USER45> You are trapped on a catch 22: you want free time to work on cool projects but need one of these projects to drip $500/mo so you can free up your time to work on cool projects ;) This is how I did it: 1\. Get to zero debt. Cut your credit cards. Keep one at home to pay for online services/emergencies. 2\. Aim to make double of what you think you need/mo. 3\. Go freelance and sign paid SLAs/Support Contracts. After 2yrs/4-6 projects you will have stable monthly checks and if you play it smart most of your maintenance tasks will be automatic. Add 1-2 projects to the mix/year. 4\. Don't grow, don't hire help. That will turn you into a manager+programmer and the train will lose track. Be like the expert doctor: if you are good clients will line up. 5\. Pick good value projects: short (1-2 months), well paid, at least 2 yrs of SLA, 50% upfront. 6\. Save!!!!!!!! 7\. Quit your current job when you find your first client, not before. Work is essential to a happy life, not only "paid" work. Find a good balance.

</comment><comment><USER46> It's me or passive income posts in HN flourish on weekends?

<comment><USER47> It's because we're not in work

</comment></comment><comment><USER48> I think, You should join Freelancing sites like freelancer.com You can also try fiverr.com,

Alternatively, You can try to write your experience for others like DigitalOcean. DigitalOcean will pay you $100 for per approved article. You can try DigitalOcean here [https://www.digitalocean.com/community/get-paid-to- write](https://www.digitalocean.com/community/get-paid-to-write)

And if you are not interested in writing for others or writing as a freelancer, Why don't you start your own Ruby on Rails tutorial blog. A blog can make you more than $500/month by using Google Adsense or Affiliate Marketing. As a blogger, I believe that, Blogging is the best ideas to make money online and the possibilities are endless. But here, In blogging at first you will have to spend around $50.

Now choice is yours.....

</comment><comment><USER49> I am from Bangalore. I freelance as a python developer.

Tough this is not passive income this might give an idea: Billing $20/hr (that's what we get in Bangalore), getting $500 a month from a single client is very easy. But finding few more clients will get you more than what you want. You will also get a lot of time. Toughest part is getting the client, good clients usually come from your contacts.

Another thought, finding customers for your SaSS product will not be difficult if you have a good circle, attend conferences and workshops in Bangalore which will build you this circle.

I do a day job as openstack dev, freelance on django, and also working on my own ideas - I am doing this to pursue my passion of traveling(digital nomad). :)

<comment><USER50> How can we contact you?

<comment><USER49> my email is: shabi (at) fossix (dot) org, my skype id is my HN username

</comment></comment></comment><comment><USER16> Play lottery, win and live from the money.

This advise is good as as 90% from the other postings i read here ;-)

<comment><USER11> If my addiction to entrepreneuring doesn't abate, this will be my retirement plan...:)

</comment></comment><comment><USER51> I started [http://www.startupoffers.net](http://www.startupoffers.net) to put together a list of offers and discounts for services and products that might be used by startups (and that I usually use myself) - all money is from affiliate links. This was meant to generate passive income unfortunately it hasn't taken off and mostly because I did almost zero marketing other than a few social media links here and there. so i don't know if it is not a good idea or it just hasn't be marketed right!!!

 __if anyone interested in helping it get to profit email me at HNhandle at gmail.com

</comment><comment><USER52> It's not easy. I had the same plan a few months ago. Thought I'd share my own (ongoing) story, maybe it will give you some ideas. Some background, I'm a engineer at a YC company in San Francisco. I was also looking for a passive income side project and after a few attempts from scratch sputtered I happened upon a website auction at flippa.com for an interesting webapp: www.postrgram.com

I spoke with the owner over Skype about it, he'd run the site for a couple years, had invested a lot of time into getting the licensed mosaic software tuned correctly, but had put virtually nothing into marketing and was still printing orders himself with a giant industrial Canon printer. Not surprisingly he was tired of it. I realized the printing process could be automated and business could potentially be expended by integrating with Facebook and offering a free digital option if the customer allowed a post on their wall. Long story short I bought 80% of the business a few weeks ago and I'm working on those things right now. I'm sure there will be snags in the road but I'm on my way toward my primary goal of getting a product on the market that will not require my time to run on a day-to-day basis. Currently income is less than 1000/month but I hope to see that grow.

My advice when thinking about a project like this yourself (and it's fine to start from scratch, though that's not what I did) is to take the basic tenants of running a startup to heart and just apply them on a micro scale:

1) let the real world inform your choices. In my case I happened upon a product that already had some validation. In your case maybe you just need to find that one pain-point you can help solve. Always be thinking of ideas, ask your friends, read a lot.

2) be efficient. get good at rapid prototyping and shipping ideas for validation. Always be asking yourself this question: is this the most valuable thing I can be doing with my time right now? Force yourself to move fast. You'll get better at learning what works and what doesn't.

3) Consider finding a partner who you can join forces with. Two people can be more effective than the sum of their parts. Not to mention expanding your network of friends and contacts is in many ways more valuable than wealth.

4) follow the money. It sounds crass but after all it is the goal and it's also the most tangible effect of providing value to someone. Even at a micro scale if you're not converting customers it's a red flag.

5) my personal style is to be be wary of saturated markets like social networks, mobile apps, etc. on the flip-side i personally feel there's potential in the blogging landscape and popular product integrations (like widgets).

Sorry that ran a little long, I'm on a road trip right now (not driving), just some stream of thought ideas. Good luck!

<comment><USER53> If anyone is interested in tech like this, I'm selling a Rails app that makes a photomosaic from your Facebook photos. It's no longer online, but there's no licensing the photomosaic part, cos I built it myself. Contact me at <my HN handle>firstname.lastname@example.com.

</comment></comment><comment><USER54> I'm a Rails developer from Hyderabad,India . I did some freelance work for a client from USA at $12/hour . Ofcourse I realised that I was making next to nothing after taxes(20 %) and oDesk fees, So I quit .

I've been searching for a simple income generating idea too for the past few months . I'm torn between trying to build a well paying freelancing career vs building a Saas product/service that's going to pay over time .

I tried to contact you but your email isn't public. Ping me if you wanna bounce some ideas regarding this sometime !

<comment><USER55> can you share some ideas? from hyd as well ;)

</comment></comment><comment><USER56> It's easy to make that much on ads and ad removal upgrade fees for a semi- popular game on mobiles (Android, iOS). You don't have to be on the charts. I make that easy and only ever made top 200, I think. Games are a nice category for new entrants because Flurry reports have shown that as a genre they aren't super sticky. Users flow in and out of new offerings constantly.

</comment><comment><USER57> OK I'll give away a really simple one for the lazy: start your own hosting (reseller) company. Grab a dedicated, throw up some billing software and sell a shared hosting plan to every Tom, Dick and Harry that you know. At $9.99 / month for essentially unlimited email, space, transfer you should be able to clear a few hundred bucks a month in a few months.

</comment><comment><USER58> Listen to James Altucher's podcast with SJ Scott. He made 40k last month by continuing to publish several books to amazon.

<comment><USER59> Link[0] for the lazy. I'm kinda curious as I had fun writing some articles in the past and know someone who's been talking about writing book for Amazon/Kindle. Might be fun.

[http://www.stansberryradio.com/James-Altucher/Latest- Episode...](http://www.stansberryradio.com/James-Altucher/Latest- Episodes/Episode/591/Ep-23-How-To-Go-From-0-40-000-a-Month-Writing-From-Home)

</comment></comment><comment><USER60> you could buy domains on park.io and then sell them immediately on Flippa. For example, see: [http://blog.park.io/articles/park-io-users-making-money- flip...](http://blog.park.io/articles/park-io-users-making-money-flipping- domains/)

</comment><comment><USER61> Make something that people are willing to pay for. I have a series of project, each makes a relatively small amount/month but all together make a decent passive income, not enough for me to live on but I am sure that you can probably do something similar. Try many ideas and see if you can find something people need.

<comment><USER62> Some examples would be nice. What are these small projects?

Selling apps? Ad based revenue? SaaS?

</comment></comment><comment><USER63> Become French resident, you will have a guaranteed living income of 434Euros (600$)

<comment><USER64> Really?!

As an EU citizen can't I just relocate there and collect without ever having contributed to french social security?

Doesn't seem to make much sense...

<comment><USER65> Sure you can do that, you need to stay at least 3 months before asking for it first.

Note that how much you get is barely enough to live (but it fulfills its goal which it to reduce poverty).

(and there's a good chance the program will be scraped at some point, since while it fulfilled its goal with reducing poverty, it didn't have much impact in term of employment and there is still a ceiling effect even so it was supposed to remove them).

(and I'm not sure which part of reducing poverty doesn't make much sense, and as a EU citizen you can profit from any wellfare system within the EU)

</comment></comment></comment><comment><USER66> Sell Indian pharmaceuticals by post? There's some margin there I'm sure.

<comment><USER67> Already a huge amount of competitors out there.

<comment><USER68> Take bitcoin, have a nice minimal site and decent package tracking.

</comment></comment></comment><comment><USER69> echoing the prior comment: you have to actually do something of value before it can be positioned as the gift that keeps on giving :)

</comment><comment><USER70> you can open a producthunt or hackernews focused on indian startups..

</comment><comment><USER71> Kindle singles.

<comment><USER72> This is not entirely passive (at least, in my experience) because in order to get people to continue to buy your books long after they are published, you need to continue publishing (unless you hit the kindle lottery and are wildly successful immediately).

<comment><USER71> As in publish new revisions?

<comment><USER72> No, entirely new books/stories. New books can get a nice bump in sales if they make it into the "New and Noteworthy" list or if Amazon mentions them in their "New books in [x category]" emails. Publishing a revision to an existing book does not change the publication date.

</comment></comment></comment></comment><comment><USER73> how about freelancing?

</comment><comment> longtime-lrkr www.possiblestartups.com A startup idea generator.

</comment><comment><USER74> forget it. you guys are negative.

</comment><comment><USER75> Passive income is generally a unicorn

<comment><USER76> yes and is it just me but don't all these "passive" posts seem to be very spammy.

<comment><USER18> Or perhaps people are desperate for it? It is a bit of a "over the rainbow" type of idea. I.e. getting a continuous stream of money for once-off work/idea.

</comment></comment></comment><comment><USER77> What I suggest you to do first is to stop working on the ideas that will not generate any money...

</comment><comment><USER78> Everybody in the world loves incense.

Make a beautiful webpage with a mystic style and offer all kinds of incense, scents, shivas, buddhas, elephants, spiritual stuff all over the world.

In no time you'll be as big as amazon.

</comment><comment><USER79> Step 1 make 500/mo after 2mo of work. Step 2 repeat every 2mo. .... Be multimilionnaire.

Bonus: Believe in fairy tales. Get a free, pink flying pony.

Also - all developpers are now multimillionaires with the passive income magic formula.

Im astonished this keeps poping up.

<comment><USER80> Why are you so negative, people learn something new with such threads.

</comment></comment><comment> heart-os No, no, it is not a Unicorn: Open Source, Open Company, Helping Others make money will do it bu growing a very large network of people. This way you too can use the software to make a few dollars. See an open company is many minds in, and very few well made products out: [https://github.com/regenerate/snippets](https://github.com/regenerate/snippets) Everybody takes the product, and for as long as it was aimed at money making; they make money. You need a lot of products of this kind, similar to how a supermarket has many products for sale: [https://github.com/revenue/awesome- revenue](https://github.com/revenue/awesome-revenue) Go ahead ask about specifics, I think a lot about this. I dedicated this whole decade to helping people with passive income, without asking for anything in return. My focus is non-programmers, young families. The big idea is: A Global, Paying, Mechanical Turk similar to this: [https://www.mturk.com/mturk/welcome](https://www.mturk.com/mturk/welcome)</comment>


Show HN: A tea discovery and discounts site - <AUTHOR> http://puretea.co <comment><USER2> Chrome on a mac here...your fonts are quite jacked up. check your console for errors.

</comment><comment> grif-fin Chrome on pc here...I clicked on Jasmine tea go to product - I get a white page with log errors regarding amazon.com.</comment>


Understanding the working of X11 from the ground up (2017) - <AUTHOR> https://magcius.github.io/xplain/article/index.html <comment><USER2> Author here. I stopped working on this a few years ago, so now's as good a time as any for an overly-long, rambly, unedited retrospective.

When I started this, I was working on GNOME's window manager full-time, and wanted to learn intricately how X11's drawing model worked, so over the course of a few weeks in a hotel room, I recreated large parts of X11's drawing model in a web browser, fixing artifacts as I went along, until I feel I had a really good grasp of it. My initial test scene was a traditional desktop-like approach with a taskbar and xeyes, both of which are still in the codebase today, but untested [0].

I didn't know what I wanted to do with it, until I settled upon using snippets of it to build a long-form article. I learned a lot about the difficulty of writing, of pedagogy, of that blurred line between being technically correct 100% of the time vs. telling a few small lies here and there to keep the flow consistent and help people see the broader picture.

At my day job, I had mostly moved onto Wayland, where some of the bits I picked up here really helped me design better protocols and systems. My goal with the series was to try to be as neutral as possible, and my original design was to have a giant caution sign around "Author Opinion Zones" where I would talk about how certain design features haven't held up well in practice. But quickly, people on Hacker News or Phoronix or Reddit seemed to skim the article, pick up a piece here or there, and go on straight to bashing Wayland, gleefully unaware that I was one of the people making it.

So, the end result was that I basically stopped working on Xplain basically after the second article. The COMPOSITE article was one I made after a colleague was having trouble understanding COMPOSITE, and I figured it was easier to write with my framework than explain in a chatroom, and maybe some others would appreciate it.

I have a deep passion for sharing my knowledge, and Xplain was the format I first really used to do it widely, so I tried to keep it exciting for me by changing it from "Xplain" to "Explanations", and opening up the topics from X11 to just about anything, but at some point I was just unhappy working on it.

The last thing I was working on was a continuation of my Basic 2D rasterization article, where I had a fun code editor you could use to make your own graphics [1] [2], but as fun as the technology was, I couldn't find a satisfying flow to the article, so I stopped it. Parts of it were later recycled for an article on the histories of 2D and 3D graphics. [3]

Around mid-2016, I had stopped working on Linux and open-source graphics entirely, and by 2017 I had exited the open-source industry completely and jumped ship to professional game development. I still have a deep love for graphics and a passion to explain things. I just released a new side project a few days ago for it, even.

Here's some stuff I'm working on these days. It's much cooler than X11/Wayland flamewars, in my opinion.

[https://noclip.website/](https://noclip.website/)

[https://blog.mecheye.net/2018/03/deconstructing-the-water- ef...](https://blog.mecheye.net/2018/03/deconstructing-the-water-effect-in- super-mario-sunshine/)

[https://www.youtube.com/watch?v=8rCRsOLiO7k](https://www.youtube.com/watch?v=8rCRsOLiO7k)

\--

[0] [https://github.com/magcius/xplain/blob/gh- pages/src/clients/...](https://github.com/magcius/xplain/blob/gh- pages/src/clients/xeyes.js)

[1] [https://u.teknik.io/XdSbC.webm](https://u.teknik.io/XdSbC.webm)

[2] Sort of up here at [https://magcius.github.io/xplain/article/rast2.html](https://magcius.github.io/xplain/article/rast2.html)

[3] [https://blog.mecheye.net/2019/05/why-is-2d-graphics-is- harde...](https://blog.mecheye.net/2019/05/why-is-2d-graphics-is-harder- than-3d-graphics/)

<comment><USER3> The examples in this link don't work for me in the latest Firefox or Chromium (or Brave) on Linux. [https://blog.mecheye.net/2018/03/deconstructing-the- water-ef...](https://blog.mecheye.net/2018/03/deconstructing-the-water-effect- in-super-mario-sunshine/)

Edit: neither does anything here: [https://noclip.website/](https://noclip.website/)

<comment><USER4> It doesn't work in Firefox for Mac either.

It does in Chrome.

<comment><USER5> Using Firefox nightly on 2015 Macbook Pro and it works just fine

<comment><USER4> Firefox 69.0.1 on 13" 2015 MBP.

</comment></comment></comment></comment></comment><comment><USER6> Looking over this stuff, I get an uneasy feeling. X was a brilliant solution to problems 35 years ago, where you barely had enough memory for a full frame buffer and the graphics model was primitive (no antialiasing or transparency). From what I've seen, Wayland is a good solution for the model maybe 15 years ago, where you're willing to accept the frame-and-a-half latency hit from having a compositor in the path.

Basically, my question is whether anybody is working on a solution for the hardware we have today, where there are hardware overlays, the GPU throughput is orders of magnitude higher than what's needed to composite a desktop, but we still care about memory bandwidth, largely because all of resolution, bit depth, and frame rate is still going up. And you really want to be able to schedule every pixel that gets presented with a high degree of timing accuracy.

I've become familiar with Windows, but feel like it's a bunch of hacks. They will promote a window to an overlay, but it's all a heuristic, and I'm pretty sure latency will stutter while it does the transition in and out. And the new flip-model stuff actually regresses the ability to do smooth window resizing.

I'm not even sure macOS is working on lowering latency. I haven't seen any mention from them of hardware overlays.

Most of the attention these days seems to be in the VR/AR space, where latency is obviously important, and there's more of a green field with respect to legacy compatibility, but I'd love to see this problem space actually solved on the desktop. Doing this right is not easy - it probably requires some form of soft real time discipline across the graphics stack (including GPU scheduling) so you can race the beam.

<comment><USER2> I have a lot of replies to this, but the back-and-forth format that HN has isn't the best for collaborative discussion. Imagine us sitting in a room with a whiteboard, rather than bickering at each other at loud volume. If you're ever in south bay area and want to meet up at a coffee shop, let's :)

> Basically, my question is whether anybody is working on a solution for the > hardware we have today, where there are hardware overlays, the GPU > throughput is orders of magnitude higher than what's needed to composite a > desktop

Hardware overlays are... not that popular on desktop devices? You just stomp on the gas pedal with bandwidth and power consumption on consumer desktop gaming GPUs. Besides a couple YUV planes and a cursor overlay, you don't see that much in the way of CRTC capabilities on desktop. All of that's happening in the mobile space, because of power consumption reasons, where you basically have an SNES PPU in your CRTC with multi-plane compositing.

I remain unconvinced that compositors need to add a frame and a half of latency. 16ms is a lot of time to render a frame, and composition isn't too difficult of a task. It just comes down to buffer handoff, which can be smoothed out over time. Similarly, the new flip-model isn't the thing that makes smooth resizing difficult, buffer allocation and resizing has always been a pain and racy on Windows/X11. This is one of the things that Wayland fixes -- it was actually _the_ thing that caused Kristian to start Wayland forever ago.

Presentation and timing is something I think _should_ be possible, but I don't think it makes sense for every app to have to handle it. Multi-monitor scenarios are what make global timing difficult, and having per-monitor surfaces is just a pain to deal with from an API standpoint; if we did the work to have per-monitor timing information and split surface rendering, nobody wants to go through the work to set up two devices and present different ones at the right time.

You might protest that all monitor timing is roughly the same these days, but someone hooking up their laptop to a projector, you get radically different timing.

In many respects, I think graphics is in a local minima right now: it works well enough and we understand it well enough that nobody's really interested in pushing us to the next thing. VR/AR research might, but that's been relatively unimportant as a target platform, commercially.

<comment><USER7> > If you're ever in south bay area and want to meet up at a coffee shop, let's > :)

For what it's worth, I would be very interested in chatting about this too, as this is my area right now. I'm working on what will hopefully become the Firefox OS compositor integration library, with an eye toward optimum power consumption, and am knee-deep in details of cross-platform composition. It's a very interesting topic.

<comment><USER8> This topic is also of interest to me. I work on a compositor integration protocol called virtio-wayland that is intended to allow Wayland apps running inside of VMs to communicate with a Wayland compositor on the host, shared memory and all. It's used for the Linux apps support for Chrome OS.

<comment><USER6> I don't get to the south bay often, but sounds like it might be good to have a little compositor meetup. I can certainly vouch for pcwalton's interest and knowledge in the topic :) Follow up by email?

<comment><USER7> Sounds good to me!

</comment></comment></comment></comment></comment></comment><comment><USER9> Money Quote:

> So, a lot of the design of X11 is giving clients and apps a large set of > tools to design and implement their app, without any real opinionated design > about how an app should be made. An X client can use this tool or that tool > to battle this tradeoff or that tradeoffs, and neither is fundamentally a > wrong choice.

That is something that can not be said about Wayland. Besides the "every frame is perfect" mantra Wayland has no design philosophy at all. It is also a weak argument to introduce a new protocol. With modern drivers it is rare to experience tearing on X11 and on some occasions it even makes sense to disable vsync (e.g. competitive gaming).

The introduction of Wayland was a mistake because X11 has a huge ecosystem with lot of little programs and a large diverse users base. Almost every Unix OS supported X11 at some point. There is a reason why Intel still stuffs the i368 instruction set in their processors, Microsoft Windows still can execute programs from 1995 and IBM is still able to make money with vastly overpriced mainframes. Successful systems have the tendency to stay and accumulate cruft as a result. The abandonment of X11 will be a heavy blow to the FOSS community (and maybe that is exactly the intend).

<comment><USER7> As someone who is working with X11, I strongly disagree. It really needs replacing badly. It doesn't even _work_ ; only a few code paths even get tested on for example GLX, which is why complex X11 apps like browsers need blacklists.

> There is a reason why Intel still stuffs the i368 instruction set in their > processors

If you want a CPU analogy, Wayland is more like ARMv8, which was mostly a clean break in terms of the AArch64 ISA, but which still supports 32-bit at the process level. 32-bit and 64-bit code cannot be intermixed in the same address space, but you can run 32-bit and 64-bit apps simultaneously on the same OS, analogously to the way you can run X11 and Wayland apps on the same Wayland desktop using Xwayland. This actually worked out beautifully, and I would have preferred that x86 had followed the same trajectory.

<comment><USER10> > As someone who is working with X11, I strongly disagree. It really needs > replacing badly. It doesn't even work; only a few code paths even get tested > on for example GLX, which is why complex X11 apps like browsers need > blacklists.

Blacklists are needed because OpenGL drivers for specific hardware have bugs and can have missing functionality. Those can affect Wayland too, since the same drivers are used.

Modern Xorg supports direct rendering well, Keith Packard authored a lot of modernized infrastructure such as DRI2/DRI3, and even support for VR (work he's been doing for Valve).

There's also the important VK_display_timing extension implementation he's done with Croateams Alen Ladavac:

[https://twvideo01.ubm- us.net/o1/vault/gdc2018/presentations/...](https://twvideo01.ubm- us.net/o1/vault/gdc2018/presentations/Ladavac_Alen_ElusiveFrameTiming.pdf) on Xorg

Sadly, I don't see much more recent activity from him or Alen about these topics, but it shows that Xorg is still the main platform of inovation for Linux real-time graphics needs.

</comment></comment></comment><comment><USER11> What's fascinating to me is that X11 and Windows started at complete opposite ends of the spectrum.

Then X11 never managed to be a really effective window manager on a local workstation while Windows became really, really good at remote displays.

<comment><USER12> I feel like this is short changing X. I have seen it as a good local solution over 20 years or so.

Did you ever see those 90s commercial Unix workstations? Like from SGI?

How about a Nokia N900? X on a smartphone. It ran pretty well. Today's smartphone hardware would run circles around that thing so I can only assume if somebody ported X to those it would also do fine.

I feel like people see things they don't like or imperfections and bash the whole thing as useless. X had a lot of mileage. I use it frequently today and don't see a lot of problems.

</comment></comment><comment><USER13> This was a really nice demo! It can even be used to understand concepts used in the HTML5 canvas, such as aliasing. Hell, it could possibly used as en entry to learning how to program ray tracers. At the bare bones, construction of complex bodies in POV-Ray was used by Constructive Solid Geometry hearkening back to the basic union, xor, intersection, etc, operations done in the demo, at least on a conceptual level.

</comment><comment><USER14> I haven't used linux as my primary OS for many years now. If not X11 or Wayland, what other alternative? Is there some other relevant development going on?

<comment><USER15> OpenBSD is still actively developing xenocara, which is their fork of X11.

<comment><USER16> That still counts as "X11" IMO.

</comment></comment></comment><comment><USER17> _> I've made a personal decision to leave the Linux, X11, and Wayland worlds mostly behind._

I understand X11 has a lot of unfixable problems, but what's wrong with Wayland world?

<comment><USER18> I'm running Sway WM right now, a Wayland compositor that implements an i3-compatible window manager, and in fact working on the code (hopefully merging my first contribution soon.)

I'd say the biggest issue is really maturity. I actually find Wayland to be a surprisingly nice piece of software engineering. I don't know if I like the architecture really, but it comes together fairly nicely in the end.

For example, there's unanswered security questions. It would be good if applications couldn't just go and manipulate and spy on other apps like they can with X11. Wayland indeed solves this issue, but it leaves other problems. How do I capture the desktop?

wl_roots offers some extensions that help alleviate the problem, but they don't solve the full problem; for example, you can capture the screen, for which programs and an OBS plugin exists, but there's no upstream Wayland extension that can make WebRTC desktop capture work. I think what we really need is the ability to integrate policy and consent requests, but I'm not sure whether there's progress on that front, or how long it will take. Once the problem is solved, upstreamed to WebRTC, and that upstream version trickles down to Electron apps, Firefox and Chrome stable versions... well, things will be in a better place.

Speaking of web browsers, today Firefox still has some issues to go before it is fully working in Wayland natively. You can do it today, but it is not perfect; there are sometimes places in the code where it assumes it is running on X11, and things simply break. The screenshot tool is just flat out not present when running under Wayland due to the above issue.

Applications are slow on the uptake too. XWayland covers most of them, but it is not perfect. Like anything that captures the screen, of course, is not going to work under XWayland, but also, XWayland apps may behave a little off. In Sway WM, one bug is that when the mouse travels from an X window to a Wayland window, sometimes it behaves as though the mouse is still hovering over the X window at the last position it touched, which leads to tooltips showing up where they shouldn't. There's still a decent amount of GTK2 apps, and even Qt apps aren't all Wayland yet; Krita plans to start working on support I believe next year.

In my case, here's the itch I'm currently scratching: Sway WM also does not have support for drawing tablets. I found this out, by, well, loading up a drawing program and noticing the lack of pressure sensitivity. So, that's what I'm currently working on. Needless to say, this is a non-starter for anyone that relies on a graphics tablet, although if you are just using GNOME 3 it is unlikely to be an issue since I'm sure GNOME 3 supports graphics tablets just fine.

NVIDIA drivers are still a pain in the neck. I gave up and bought an AMD graphics card, and frankly I can't recommend it enough. Basically everything works better on Linux, but certainly Wayland works better. It's worth giving up some raw power. Still, for many people the proprietary NVIDIA drivers are going to need to work, and today support varies from lackluster to poor depending on what compositor you use.

<comment><USER19> > The screenshot tool is just flat out not present when running under Wayland > due to the above issue.

That's odd - it's present (and functioning) in my Firefox (69.0.1) running on Gnome-on-wayland

Firefox is generally quite crashy, however, which I'm guessing is Wayland- related

<comment><USER20> So Firefox supports screenshots when running on the Gnome compositor, but not running on sway? Looks like we're heading into interesting times where applications are getting tied to certain DEs with little to no cross- compatibility.

<comment><USER21> IDK. Sway is my daily driver. I just checked Firefox, and the screenshot tool works as expected (including clipboard). So unless GP is talking about capturing non-Firefox windows with that tool, I do not have that issue.

This Firefox instance is running on native Wayland. The only issue I have with it is sometimes the coordinates for the context menu are wrong.

But yeah, there might be compat issues, if some protocols are required for stuff. But Wayland itself is the baseline: you'll always be able to draw windows and interact with them.

What's left to extra protocols isn't guaranteed to work: control of the compositor with a client, for instance (color correction, virtual keyboard, screenshots, window placement, screen geometry, window decorations, etc.) is completely up to the compositor (and the protocols it can speak with the client). So is other stuff, like graphics tablet input (with pressure sensitivity, tile, etc), minimizing windows, window miniatures as used for KDE's taskbar as well, I think.

But then, it's not like everything worked flawlessly everywhere on X either :) And as long as the baseline is solid, we can build on it.

<comment><USER18> I may have done something wrong. I am not highly knowledgable here. For example, I just learned of Pipewire.

That said, the problem occurred for me when using the NixOS package firefox- wayland. It is possibly better to use upstream firefox with Wayland, but I have not tried; I am just running firefox on Xwayland for now.

<comment><USER21> I don't know how the Firefox package is built on NixOS, but I just run the one from Arch Linux with the following environment variables:

        MOZ_WEBRENDER=1 MOZ_USE_XINPUT2=1 GDK_BACKEND=wayland

</comment></comment></comment></comment></comment></comment></comment><comment><USER22> This is a bit of topic but:

Every time I see the X11 protocol, I realize that the UNIX philosophy (everything is a file) is dead.

It's a pity that instead of improving the speed of the file system, everyone started to ignore it, hence making it's speed even less important, and on and on...

And now nobody uses the file system for these purposes.

<comment><USER23> How do you think it should have evolved? I personaly think posix way of filesystem needs to be changed into specialized oject filesystems, but I am not sure what object filesystem for a UNIX OS should look like specially since it needs to be generalized into something all the other sub-systems can benefit from.

<comment><USER22> Personally I also preferred the 'Everything is an object' from the lisp machines. However, I also believe that files are an acceptable object format, since if several applications know how to manipulate a file format, it's basically duck typing.

I believe file systems could have a more formal method to query the file's format, and has less latency so that applications could use files as an inter communication format.</comment></comment></comment>


Blockchain-Based Voting Could Fix Election Security in the United States - <AUTHOR> http://bitcoinist.net/blockchain-based-voting-could-fix-us-election-security/ <comment><USER2> I'm not convinced that blockchain technology will even get us halfway through to having a good virtually unhackable online voting system, but I do think it will be vital for any future online voting system.

I think authentication into the blockchain will have to play a big role as well, and I don't think it should be only digital. I think everyone should be served some kind of _physical_ "voter ID" _for free_ by the government, that allows voters to be recognized by the blockchain when they vote. Then it should also allow them to verify if their vote was registered when they get home.</comment>


$9000 bounty paid for Python bugs - <AUTHOR> https://hackerone.com/reports/55017

<comment><USER2> As a security engineer, I'm really happy to see news like this enter the mainstream more and more on HN. These bounties are well deserved.

For those of you who would like to try and earn bounties like these, I recommend the same books I always do:

1\. _The Art of Software Security Assessment_

2\. _Gray Hat Python_

3\. _The Web Application Hacker 's Handbook_

This is your ethical hacker starter kit. The first two are good for foundational knowledge and will show you how to find the bugs worth something. The third book is specialized for web applications, which is still great but not quite as lucrative.

You will also want to check out CTFs, _Cryptography Engineering_ and the Matasano Crypto Challenges.

If you're looking to join a top tier security firm, Matasano is great for those who like offices and Accuvant (my employer) is great for those who like working fully remotely.

<comment><USER3> These books are probably great but if you look at some of the best/worst bugs found in the past few years, there's one tool that seems to come up over and over again: afl-fuzz.

I recon that the easiest way to get started with bug hunting might be to just set up afl-fuzzing on some trivial code that has lots of potential for going wrong. Stuff like JSON/HTML/HTTP parsing in C is a great candidate to find integer overflow or buffer overrun bugs in (some of the bugs in this list are exactly that). Throw some CPU time for the fuzzing, and pretty soon you should have a handful of repro cases.

The nice thing about these is that the bugs could be very trivial to fix but have enormous security consequences.

If someone wants a suggestion for a project to try some fuzzing against, the new h2o/libh2o web server and its HTTP parser component (picohttpparser) look very well written but not very well tested (only a handful of hand written, hard coded test cases). I'm pretty sure there's one or more potentially disastrous bugs in it.

edit: almost all bugs in this list seem to be integer overflow bugs. That hints that these issues were found using a static analysis tool like ClangAnalyzer or Coverity.

<comment><USER2> Please don't start this way. Michal Zalewski didn't write afl fuzzer so it would be used without deep technical knowledge. It's actually _not_ for beginners at all despite how powerful it is.

As a general rule to start in security work, you will want to know how to program in at least one language competently, then move on to theoretical understanding of vulnerabilities, then finding them painstakingly by hand, and finally by automation.

It's perfectly fine to use afl (or other similar tools), but understand that using an automated tool without first knowing how to do things by hand and groking the theory will stunt your growth and make it hard to progress very far.

Pop open a weakened VM and exploit a few buffer overflow bugs the old fashioned way before you use a fuzzer. With code review, learn the nuances of each language before you automate your audit. You shouldn't have to rely on an automated tool to find out register globals is on in PHP (as one example).

<comment><USER4> I realize there's a philosophy that it's best to start from the lowest levels and work one's way up. It's one I can empathize with, in spirit, though I disagree.

The same logic means that people shouldn't use static code analysis tools, or valgrind, or even debuggers, until they acquire deep technical knowledge. While I think all of these tools help reinforce the principles.

 _If_ someone starts with the fixed and unwavering goal of security analysis in mind, then perhaps I can agree with you. If however someone is only curious about security analysis, and finds that spending a year to "grok the theory" is a high barrier, then even clumsy use of semi-automated tools may provide more concrete incentive to learn the underlying skills.

While I don't believe you are correct, another question is, how many white hats do we end up with? Even if it takes 2 years to learn security skills by using automation, and only 1 year without automation, if after 10 years there are 500 following your path, while 10,000 following my path, then that's a net gain for the good side, yes? (I assume that there is such a thing as "good enough", and that it's relatively stable. Obviously if there is only a market for 500, and your 500 are always better than my 10,000 then that changes the dynamics.)

Finally, it's also good to have even the script kiddies on the side of good than the side of lolz.

<comment><USER2> _> > The same logic means that people shouldn't use static code analysis tools, or valgrind, or even debuggers, until they acquire deep technical knowledge. While I think all of these tools help reinforce the principles._

This probably sounds controversial, but I agree. I don't think you should use Valgrind until you understand how Valgrind works. This doesn't mean early C programmers shouldn't use Valgrind - you can read the documentation and theory behind Valgrind in a day. But definitely _do_ that. I think maybe "deep technical knowledge" wasn't the right term for me to use. A better term would be "technical understanding" \- know how it works, and know how to find the different classes of bugs it can find, but you do not need to be capable of writing the tool yourself.

Now let me clarify this, and my earlier point about afl - I think you _should_ use them, and generously, and pretty much always once you know what you're doing. But if you use them without understanding the fundamentals, you will get caught up in false positives/negatives. Always use it as a supplement, not a crutch.

However, I agree with what you're saying about someone's level of dedication to security analysis. Using afl is better than not using afl, so if you're not a dedicated security guy, then you're definitely right that someone should use it.

I would still caution anyone that using an automated tool without fully understanding how it works will lead to an incomplete picture of the application's security posture.

<comment><USER5> This idea of people not using tools until they understand how they work (or in the Matasano shorthand, until they can implement them, in "build your own light saber" fashion) is I think very true of professional testers, but not true for developers.

If your full-time job is going to be about developing a radar for assumptions that developers make and a deviousness about breaking those assumptions, tools --- and most especially opaque tools --- totally hamstring you. We both know plenty of testers that develop a kind of blindness from relying on tools too much.

But I'm guessing most of HN doesn't really understand the mindset that's involved in pentesting full-time. I certainly wouldn't tell a developer that they should avoid valgrind.

</comment></comment></comment></comment></comment></comment><comment><USER6>
        $9000 bounty paid for Python bug (hackerone.com)

There's 10 of them. So, $900 paid out for each one. A job well done in discovering and disclosing them and the payout is generous nonetheless, but the title is wrong.

<comment><AUTHOR> Well the issue focused on one key point (integer overflow).

As for your speculation that it is $900 per bug, that is wrong, too. The minimum payout per bug is $1500.

I don't really care about the semantics, so you'll have to deal with the title.

<comment><USER7> An easy fix would be to rename "bug" to "bugs", then everyone should be happy.

</comment></comment></comment><comment><USER8> Where's the $9000 come from?

<comment><USER9> Software companies of late pay developers to find bugs in their security. Read more here: [http://blog.codinghorror.com](http://blog.codinghorror.com)</comment></comment>