China Shows How Surveillance Leads to Intimidation and Software Censorship - <AUTHOR> https://www.eff.org/deeplinks/2016/01/china-shows-how-backdoors-lead-software-censorship <comment><USER2> Government should be an organization serves people rather than trying to control people and limit what people can say or do. If government try to do such things, sooner rather than later, government will create dissent with the people. Without a free society, we won't be able to be awesome. Government's job should be to ensure that everyone gets their basic human needs/rights such as good education, healthcare, maintain fair law and order etc. These acts will create good citizens who will to do greater good for all of humanity. Currently the situation is alarming in many countries including china, usa, north korea etc. I think Croatia is a good model as they have a great society as a result of good education system.

<comment><USER3> >Government should be an organization serves people rather than trying to control people and limit what people can say or do.

What if 55% of the people want to control and limit what the other 45% do and say? It's never as easy as 'government should just do this' because a government needs to have power to fulfill its mandate. Any concentration of power can, and will be abused and there will be cycles of this occurring as the society around it grows more and less apathetic to abuse of power.

<comment><USER4> Tyranny of the majority is still tyranny. There's NOTHING about the concept of democracy that requires majority-rule to be the way to run it. Majority rule is the stupidest and most dangerous way to do any democratic decision-making.

Better options include consensus, multi-stakeholder representation (like needing overall approval from many different groups within society for a decision), and score voting (See [http://electology.org/](http://electology.org/) for more on practical voting systems).

<comment><USER5> However you can work around consensus also by widespread manipulation, coercion, and torture.

<comment><USER6> And government will be irrelevant after the heat death of the universe. Of course any system can be subverted. That doesn't stop some implementations from being better than others.

</comment></comment></comment></comment></comment><comment><USER7> I'm happy to see what happens in China because hopes are that this is a worst case bound for what is going to happen in UK when secure connections will become outlawed.

[https://en.wikipedia.org/wiki/Encryption_ban_proposal_in_the...](https://en.wikipedia.org/wiki/Encryption_ban_proposal_in_the_United_Kingdom)

</comment><comment><USER8> Check out this nightmare of a system China is implementing to use gamification to control populations:

[https://m.youtube.com/watch?v=lHcTKWiZ8sI](https://m.youtube.com/watch?v=lHcTKWiZ8sI)

<comment><USER9> Oh, my god. I've read about this before but that link really drove the point home. What a dystopia we're headed for if this works out well for China, and there is every reason to believe that it could. Thanks for sharing that

<comment><USER10> Oh its ok for corporations in the USA to do this to control purchasing and marketing. But do it for some actual societal good and suddenly its (more) evil?

I'm of two minds on this one. Gamification works in lots of arenas (from pizza coupons to annual reviews). Why not social/public morals?

<comment><USER9> I'm not sure how you can watch the parent's youtube link and still compare the two. They are in different leagues altogether, in my opinion, so I'm finding it hard to relate to your comment. I think it's also pretty hard to define "social/public morals" in a way that is agreeable to most people. Would not linking to tiananmen square, or discussing China's stock market slide be a public good? Are you really comfortable with that kind of censorship?

<comment><USER10> Remember people are not mindless drones. These games are there to let you know how you're expected to behave (like tax incentives, street signs etc). This is different, sure. But not unprecedented.

<comment><USER9> What's different, however, is the level of coordinated surveillance that enables this scheme, as well as the centralized power of coercion that the state yields. Ad-tech companies, financials, silicon valley data silos, surveillance bodies, and most importantly the government are not legally able to coordinate on a level that would allow let them baldly track your purchasing history, your social media presence, as well as your private communications and then assign you an aggregate score! Besides the legal separation issues, their interests aren't nearly as aligned with each other as in the case of China so there are some checks and balances. Then to take that aggregate score and further coerce you by making loans scarce or jobs unavailable is a whole other level. What we're talking about is a totalitarian system of control over the population. Tweaked and targeted on an extremely personal level, and leveraging social pressure and shame. Say what you will about the malevolence of the US government and our capitalistic system but it is simply incapable of this scale of totalitarianism.

<comment><USER8> 100% 1984 on steroids!

It's nuts - and this is what people should revolt against.

Fight club was a documentary :-)

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> I wonder if steganography tools will become more widely used to avoid suspicion from using normal VPNs and cryptography.

<comment><USER12> The Obsproxy and Pluggable Transports are kinda this, aren't?

[https://www.torproject.org/projects/obfsproxy.html.en](https://www.torproject.org/projects/obfsproxy.html.en)

> obfsproxy is a tool that attempts to circumvent censorship, by transforming > the Tor traffic between the client and the bridge. This way, censors, who > usually monitor traffic between the client and the bridge, will see > innocent-looking transformed traffic instead of the actual Tor traffic.

[https://www.torproject.org/docs/bridges.html.en](https://www.torproject.org/docs/bridges.html.en)

</comment></comment><comment><USER13> Great article. If anyone from EFF is reading, the article has a typo in the 5th paragraph, Xighurs should be Uighurs.

<comment><USER14> Fixed. Thanks!

</comment></comment><comment><USER15> China also shows how keeping a closed door to outsiders influence yields having your own healthy market. I think there are few places left, where local IT companies haven't been destroyed by google, facebook and netflix. China has big businesses in all these markets. Stop always only highlighting the bad things.

<comment><USER16> My local IT companies seem to do fine...can you explain?

<comment><USER17> Among your local IT companies is there a search engine more popular than Google? A social network more popular than Facebook? A shopping site more popular than Amazon and eBay?

For better or worse, the economic and political restrictions China enacted allowed for local companies like Baidu, Alibaba and Tencent (makers of WeChat) to utterly dominate the Chinese market. Those same companies are now pretty much the only competitors that can match the American giants I mentioned before. In this area, this was a big win for China - both for companies and customers (money made stays in the country).

<comment><USER16> > For better or worse, the economic and political restrictions China enacted > allowed for local companies like Baidu, Alibaba and Tencent (makers of > WeChat) to utterly dominate the Chinese market

Well, that's the problem and the solution, as you hinted. At worst, the US giant Google is equivalent to what China has done. At best, it's better, because the US government didn't have to meddle quite so much to force such growth to occur.

So I don't really see how Baidu is some terrific example of IT flourishing. If anything, Google, Facebook, and the companies that will follow their inevitable fall are noteworthy.

And if you don't like Google, you have alternatives for every one of its services. Same with Facebook. Really viable alternatives, too.

<comment><USER15> You don't have much understand of how power works, do you?

The typical Silicon Valley start-up has more money than some of the most successful, long standing companies in other countries. Skilled people from other countries will move to the US, because they can get sometimes up to 10 times their usual pay for the same job (and maybe still get less than local US engineers). On the other hand other countries get mostly US losers as expats who can't make it at home and basically live off being born with white skin and having a US passport.

So now that all your smart engineers are gone and you know you don't have enough money to get them back, what are you going to do to compete with the US company? Blocking off your market is one of the few successful strategies (and actually accepted amongst educated people).

China did it and some regard they have quite a good chance to end up on top of the US one day. I'm thinking just about all the new mobile technologies that get much faster adoption in a people that is more willing to experiment with new stuff and basically grew up with mobile internet.

</comment></comment></comment></comment></comment><comment><USER18> The EFF can be a lot more constructive if it didn't spend its time, separating the reasons for censorship from the consequences of censorship, and acting as if the relationship between the two is non-existent.

All the EFF ends up doing is sounding like a propaganda wing of the state department.

There is a reason Obama has to meet with the Tech Industry to talk about the spread of ISIS and other forms of lunacy on the networks. There is a real need for control rods. And our tools are useless. That's the reality.

<comment><USER19> > All the EFF ends up doing is sounding like a propaganda wing of the state > department.

However they end up sounding, the reality won't change that covert surveillance is not good for a country and its citizens.

> There is a reason Obama has to meet with the Tech Industry to talk about the > spread of ISIS and other forms of lunacy

I'm tired of repeating this, but show me one incident, just one where government surveillance has helped stop a terrorist attack and I'll be all in for your surveillance. The reality is that the terrorists of Paris attacks used plain-text SMS to communicate, which shows how ineffective our intelligence systems are.

All that is going to happen with covert surveillance is just more harassment of innocent citizens. What's the guarantee that the agent doing the surveillance is honest and sincere and won't take undue advantage of the data gathered from surveillance?

<comment><USER20> I think Mass Surveillance is a bad idea, extremely high risk and the potential for abuse is high. I also think that it consolidates too much power in one place which is dangerous for the future and the secrecy is a big problem.

That said there is an obvious use for it in helping stop attacks and pretending there isn't is weird to me.

> show me one incident, just one where government surveillance has helped stop > a terrorist attack and I'll be all in for your surveillance

Whether or not these exist they're likely to be classified, it's possible attacks have been stopped - the classification of information makes it hard to know.

Though mass collection can help, if you have intel of suspicious people you could look through the entire history of their communication - see what they've been saying and to whom. When you newly learn that a person is a part of ISIS (for example) you can look through their entire communication stream retroactively. Since the attackers are not always that sophisticated (they used SMS in Paris like you said) you can potentially learn a lot of information by doing this (their network, maybe plans).

They're posting videos of themselves on youtube showing off weapons and locations - I suspect there's a lot of information available in their communication that's useful for stopping attacks. It's a tool you would obviously want if you had to do the job.

That said I think the secrecy is dangerous because it prevents the public from being able to determine what level we'd accept (and legal recourse against abuse). It also is more likely to encourage abuse and since James Clapper lied to congress about it we can't trust the organizations that have tasked themselves to do it.

<comment><USER21> > When you newly learn that a person is a part of ISIS (for example) you can > look through their entire communication stream retroactively.

The problem is the same can be applied to {{political_opinion}} such as $has_been_to_rally(tea_party) or $is_member(nra) or $has_donated_to(aclu). Then, tptb can glean through all the past records of anyone who is starting to gain momentum (and trust me we all have broken laws one way or another if we look finely enough).

My argument against a surveillance state is not based on whether it can stop acts of violence but rather my question is "at what cost?"

<comment><USER20> I agree with you and I think that's a better argument.

The 'it's not effective anyway' argument always struck me as wrong.</comment></comment></comment></comment></comment>


Google gifting Droids to GoogleIO 2010 attendees before conference - <AUTHOR> http://code.google.com/events/io/2010/gift-faq.html I was hoping for something like this and man... I am quite chuffed as one of my Brit friends would say. <comment><AUTHOR> I was hoping for something like this and man... I am quite chuffed as one of my Brit friends would say.

From the FAQ:

"The Nexus One is an unlocked GSM phone and will work in the US, Europe and Canada. The Droid is a CDMA device locked to Verizon and will only work on the Verizon network in the US."

It looks like the type of phone you get is based on the country you indicated you are from when you registered.

</comment><comment><USER2> Its surprising why Google would choose Droid instead of Nexus One for US attendees.

<comment><USER3> Probably to appease Motorola. I was hoping for a Nexus One, but oh well.

</comment></comment><comment><USER4> The Droid is a nice gesture, but will be a brick after the 30 day free service is up! I am on AT&T and won't be paying for a Verizon contract and data plan :(

</comment><comment><USER5> This'll be the second free Droid I've gotten from Google. The first one I ended up selling, the profits from which paid for my trip to GoogleIO. I'll be selling this one too, and using the proceeds to buy a Nexus my damn self :)

</comment><comment><USER6> Yeah, this will now be my second freebie Droid from Google. Not to look the gift horse in the mouth, but some variety would be nice...</comment>


Russia used Facebook to try to spy on Macron campaign - <AUTHOR> http://uk.businessinsider.com/russia-used-facebook-to-try-to-spy-on-macron-campaign-2017-7?utm_content=bufferd8de3&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer <comment><USER2> Facebook social engineering is hardly government espionage. I would expect that every country is doing stuff like this. Where are the real spies and what are they doing?</comment>


Amazon will reportedly soon sell its own private-label groceries - <AUTHOR> http://techcrunch.com/2016/05/15/amazon-will-soon-sell-its-own-private-label-groceries/ <comment><USER2> Most grocery stores have their own brands, even the small to medium regional stores. So this should not come as a surprise that a large store will develop its own brand.

What I do want to see is the packaging. Most items are meant to be sat on shelves, and displayed to the consumers. But Amazon items won't need to sit on store shelves (just distribution centers) and don't need the packaging to sell themselves. Will Amazon come up with novel packaging optimized for delivery, or will it be more of the same?

<comment><USER3> As a kid, the grocery store's generic brand came in yellow boxes with black letter that stated what was in the box (e.g. "Corn Flakes"). There were no other markings.

I can't see Amazon letting a cereal box sit in front of someone while they eat and not try to sell them a Kindle.

<comment><USER4> That sounds like loblaws/superstore's "no name" brand: [http://imgur.com/aEkQBfx](http://imgur.com/aEkQBfx)

It's actually a really great instantly recognizable brand, for all its generic-ness.

<comment><USER5> hey look, it's [https://xkcd.com/993](https://xkcd.com/993) in the real world!

<comment><USER6> One of the best parts of the movie Repo Man (1980s) was this exact thing: [http://static1.squarespace.com/static/5583664de4b088692d5198...](http://static1.squarespace.com/static/5583664de4b088692d519822/t/55d8e857e4b07faafaaf06d1/1440278617640/)

Also just an all around fantastic movie in general.

<comment><USER7> I must confess that I am old enough to remember that this was based on an actual brand, "Plain Wrap", which was the store brand of the long-defunct Alpha Beta supermarket chain: [https://pbs.twimg.com/media/CU25MNEU8AAbnvx.jpg](https://pbs.twimg.com/media/CU25MNEU8AAbnvx.jpg)

They actually used to stock all the Plain Wrap items in a single aisle, and the effect was like a consumer sensory deprivation tank.

</comment></comment></comment></comment></comment></comment><comment><USER8> I've inadvertently purchased a lot of low quality junk from Amazon lately propped up by fake reviews and shady third-party dealers peddling counterfeit goods. If they want to sell me vitamins and food, they need to fix their brand. Are they a supermarket that is in control what they sell, or are they a back-alley bazaar that's strictly buyer-beware?

<comment><USER9> Be careful if you return too many of those shitty products, they __will __close your account, even if you have a Prime membership. Amazon is shady as fuck and an untrustworthy retailer. The way they treat employees is beyond atrocious. Amazon makes Walmart look ethical and honest in comparison.

<comment><USER10> Your anecdote is the opposite of my experience.

<comment><USER11> Same. Well, just the first point. I've returned a ton of stuff from many sellers without a problem and sometimes I was not required to return the actual object (I just got money back).

</comment></comment></comment></comment><comment><USER12> This should surprise no one. Do you purchase things? Amazon's goal is to sell you them. Then, after it figures out how you buy them, they'll work their way up and down the supply chain to improve their margins. Done.

Disclaimer: Former Amazon employee

<comment><USER13> Amazon: More Wal-Mart than Wal-Mart.

</comment></comment><comment><USER14> This is how Standard Oil completely dominated their market, vertical integration brought prices so low no-one could compete.

Once same-day delivery and/or drone delivery takes off I predict the grocery store market will start to look similar to retail music/book stores.

<comment><USER15> Standard Oil's vertical integration brought low prices to what was essentially a process that has a single input and a handful of outputs. The vertical integration of Amazon would involve billions of inputs and billions of outputs. They aren't even remotely comparable, and it is likely that, due to diseconomies of scale, a vertically integrated Amazon would be less efficient than they currently are.

<comment><USER14> I was talking specifically about Amazon Fresh and the retail grocery market. Not Amazon as a whole.

The input/output dynamics don't change very much in that context (by strictly producing commodity style products), except the potential for higher-margins and more efficient distribution channels.

</comment></comment></comment><comment><USER16> I cannot foresee how this will play out in the long term for the end consumer. In the short term, consumers get a whole lot of convenience and lower prices. What happens after a large chunk of other stores have gone out of business? How would any new player even approach entering the market? It almost seems impossible unless Amazon systematically screws up and leaves a gap for someone to exploit.

<comment><USER17> Google Express is an interesting counter to this - the ease of online ordering while using the local stores as local inventory holders. It mostly works (though it doesn't do fresh groceries where I am). I comparison shop amazon vs. whatever's on express, and it's pretty common to find what I want more cheaply via a local vendor, particularly Costco.

I really, really hope this model makes it possible for local shops to coexist with Amazon for those of us weird enough to want to shop online. (I say that because it's worth remembering that nobody posting here is "normal" from the perspective of consumer online habits.) I can't imagine local places are going to out-compete Amazon when it comes to high $/lb or $/cm^3 items where the amortized cost of shipping is low, or cases where it's something with very slowly-moving inventory, but shipping gallon jugs of vinegar is going to have a very hard time competing against Costco.

(oblig. disclosure: Google's paying my salary this year but this comment has nothing to do with me hacking Tensorflow.)

<comment><USER18> First : According to research - "Shoppers see value and are willing to pay for the convenience of these services. A MAJORITY of shoppers consider $6 to $10 a reasonable fee for delivery to their homes, and $3 to $5 for in-vehicle or in- store pickups."

And i would add - many would probably be willing to pay something between those numbers for delivery to a fast pickup point on their way from work.

So what if we start talking about parcel lockers for food(as there are in some places), which increase last mile delivery productivity 10x according to some ? And if we designed robotic parcel lockers, built to height, so we could optimize land productivity ? And fully/mostly robotic order fulfillment ? And once eCommerce takes some grocery share, grocery prices will rise somewhat. And of course, online will have a larger selection(which tends to impact prices,by competition).

It's not clear Costco will win.

</comment></comment></comment><comment><USER19> Amazon already has their "Amazon Basics" line of products for common items. Groceries should come of no surprise.

</comment><comment><USER20> Curious, will such a move by Amazon make 3rd party sellers fear them more and move to other marketplaces like jet.com or ebay.com? Given amazon's margins really come from its marketplace, they might cannibalize that? Yes, amazon's value for 3rd party sellers is its massive distribution compared to others but its a supply/demand game. If 3rd party sellers start to move to other platforms, maybe jet/ebay can spend more to acquire more demand?

</comment><comment><USER21> Given the recent problem with fakes on Amazon I worry when they move to food - in China they now fake even eggs, rice, amongst others - how will they stop that getting started sold to their customers?

</comment><comment><USER22> This is part of Amazon's broader strategy to completely upend traditional retail. I wouldn't be surprised if Amazon follows up by launching physical stores in city centers to shelf these private label items, in addition to its Kindle, Fire TV and Echo products. I can also see Amazon stocking online best- seller items in these stores and have the stores act as last-mile pickup locations and drone delivery centers. Just think about the amount of foot traffic these Amazon stores would generate!

</comment><comment><USER23> I'm suprised no one had mentioned instacart in this thread. Instacart has partnered with 12 grocery chains in SF. Many of them (including wholefoods) pay instacart commission and there prices are the same as in-store. With these partnerships, instacart could deliver greater diversity of products at lower costs.

They've got a long way to go to, but are building a formidable counter to Amazons grocery play.

</comment><comment><USER24> What a stupid idea...

At the point where globalisation is proving to be a very bad idea, amazon comes out with this.

I will never use this service that's for sure.

</comment><comment><USER25> Digital wal mart is coming for our grocery stores.

<comment><USER26> So, you mean like how Walmart already is?

<comment><USER25> Yah pretty much. But for some reason tech people think Amazon is better than walmart. I'm not convinced we should be enamored with technology and ignore the actual economics of their business.

</comment></comment></comment><comment><USER26> I wish I could say that this decision is why I quit AmazonPrime and quit doing business with them already, but I already chose to do that due to how badly they treat customers, how high their prices are, and how limited their selection is.

Amazon doesn't provide useful value to consumers anymore, and before they roll out any more services or private label products, they should step back and see why all their customers are jumping ship (yes, quite a few people already have).

Edit: For those downvoting me, explain why you think I shouldn't have quit Amazon. They do not have good pricing, they don't have a good selection for a lot of things I want to buy, the Subscribe & Save and Pantry programs are extremely limited, and they keep shoving programs I can't use at me (Kindle related stuff, their Netflix and Google Music clones, etc).

I don't see the point in paying a per item price premium on top of a $100/yr fee for what amounts to a broken UX.

<comment><USER27> I'm guessing you're being downvoted because no one can figure out which Amazon you are referring to...certainly not the one selling a massive selection of items at very competitive prices with fast free shipping and the functional website located at amazon.com

<comment><USER28> Or one that mistreats their customers.

I bought mite spray for a plant. The ad showed it come in a sprayer but it didn't; just a normal bottle. I told amazon that the product page was inaccurate, but that I had a spare sprayer bottle so I didn't care. They still refunded the purchase price and told me to keep it.

I lost a shipment of nearly $200 of books: USPS said it was delivered but I didn't receive it. Amazon send me a replacement shipment via 2-day for free with zero hassle. When the first shipment showed up weeks later, I emailed amazon. They gave me a coupon for returning them.

Amazon has proactively refunded movie purchases because they detected streaming issues. It was my wifi router acting up.

UPS -- _not_ amazon -- had trouble delivering a gift and I had to talk to a customer service agent at amazon. Amazon gave me two free months of prime for UPS's mistake.

While I wish they would kick knockoff electronics vendors off their site, it's hard to say that amazon doesn't take care of their customers.

I'm averaging over 60 orders per year with virtually no hassle. I click and stuff shows up at my doorstep. It's like living in the future :D

<comment><USER9> They knowingly sell bad products and when you return enough of them, they'll close your account. I'd say that's some pretty bad mistreatment for their Prime customers.

<comment><USER29> You've made that comment twice on this page with nothing backing it up.

<comment><USER30> I've read stories like this too:

[http://www.theguardian.com/money/2016/mar/18/banned-by- amazo...](http://www.theguardian.com/money/2016/mar/18/banned-by-amazon- returning-faulty-goods-blocked-credit-balance)</comment></comment></comment></comment></comment></comment>


Ask HN: Pick My Career - <AUTHOR>

I understand that this isn't news, but I really need some advice. I'm 26 and am returning to college. I initially planned on studying Psychology, but it doesn't interest me as much as it used to. Lately I've been spending my free time teaching myself Algebra (I was a wreck in High School) and SQL, and I'm enjoying it. I would like to do something related to math and/or computers, but with the cost of schooling as high as it is right now, I want to ensure that I am making a wise investment. I'm also looking for something rather recession-proof. I have about $1,000 in credit card debt and $6,000 in student loans. Any ideas? <comment><USER2> I'll probably get downvoted, but I have to say it, I feel like these kinds of Ask HN are getting a bit ridiculous. I'm sure it's just my knee-jerk reaction to the title "Ask HN: Pick My Career".

Don't ask a bunch of strangers what you should be doing. In most cases, it doesn't really matter anyway - what is more important is that you do SOMETHING, then if you don't like it, try SOMETHING ELSE. You can figure these things out for yourself - and from the sounds of it, you probably already know what your interests are and what your budget is.

Pick your own career / college major / text editor / programming language / what to eat for lunch / what music to listen to when coding / what city to live in / what video games to play / what drugs to use / where to meet members of the opposite sex / etc.

</rant>

<comment><AUTHOR> The title was written in jest. I appreciate that you took the time to reply, but wish you could have offered me some constructive guidance. If not, I think a simple downvote would have sufficed.

<comment><USER3> We can't downvote stories on this site, only upvote or flag.

</comment></comment></comment><comment><USER4> 1\. Your college major doesn't determine your career. That's a flat-out myth.

2\. WHY are you going back to school? What benefit does it and the debt that'll come with it give?

3\. How many more classes do you need to graduate?

4\. Have you tried out programming? Gone and seen how hackers work every day? Are you sure you want to follow that path? It's a specific type of person who LOVES this work. Many others find themselves disillusioned quickly.

<comment><USER5> _1\. Your college major doesn't determine your career. That's a flat-out myth._

This is one assertion I see an awful lot here that rather bothers me. You cannot become a medical doctor without the proper degrees. You cannot become a teacher (where I live, at least) without the proper degree (it's not _technically_ required, but no employer will come within a hundred yards of you if you don't have it). You can't become a whole pile of potentially- interesting, reasonably-well-paying things without the correct degree. You can program without a degree, but the notion that there is therefore no connection between getting a degree and success in your chosen career path is ridiculous.

<comment><USER6> I think what is important here is that the degree gives the _potential_ for a certain career field - but does not guarantee a job in that field (and does not mean you are stuck in that field if you later decide you hate it).

One thing you might consider is that relevant work experience goes just as far for getting on a trajectory as the education. Trying to be hired as a teacher might be just as hard with an education degree if all you've done is worked on oil rigs as it would be if you had worked in a childrens museum for five years but had no formal degree.

</comment></comment></comment><comment><USER7> Some ideas:

It seems from comments in this thread that you are already back in school, studying, uh, nothing in particular, I guess. If you're sure you're interested in math/computers, then majoring your studies in computer science (possibly with a second major in mathematics) may be a good route.

But no degree recession-proofs your life. You have to do that yourself. Programming work is easily outsourced to whoever does it cheapest (and ostensibly, adequately). Be an engineer; create things, build things, develop things that people actually need or want. Solve problems people have. Focus your career on how you can make others' lives better. That kind of work isn't easily outsourced.

Read this: [http://philip.greenspun.com/ancient- history/professionalism-...](http://philip.greenspun.com/ancient- history/professionalism-for-software-engineers)

And this: [http://www.amazon.com/Thou-Shall-Prosper-Commandments- Making...](http://www.amazon.com/Thou-Shall-Prosper-Commandments- Making/dp/0471218685)

But like bhousel said... we're a bunch of random people on the internet. You know you dreams, ambitions, interests, abilities, etc., way better than we do. Probably, the more specific your questions, the more useful our answers can be.

</comment><comment><USER8> I would not go back to college unless it was absolutely necessary for my chosen vocation. The tuition/debt plus opportunity cost is just too high. So if you want to be a teacher or accountant, then a degree makes sense. But if you want to code, teach yourself, find freelance gigs to hone your skills, and then look for a job. If you just want to learn for the heck of it, get a library card. It's cheaper and will give you a better education.

</comment><comment><USER6> If you feel like you have time to explore who you are and what you want to do, I'd suggest casting a wide net and taking some survey courses in potential areas of interest for you. If you like Psych and SQL you might enjoy Sociology - see if your school has a statistics programming class for the social sciences (usually uses software called SPSS).

</comment><comment><USER9> I'm an English major turned programmer. Just a heads-up, from what I've seen in people I've interviewed for programming jobs, college teaches you very few programming skills (lots of theory, though) that are useful in the real world (of hacking). I'm self-taught (C++, Perl, PHP, Javascript, SQL), and the best hackers I've worked with were too.

<comment><AUTHOR> How long did it take you to learn all of that? Was your English major worth the investment?

<comment><USER9> I have been teaching myself programming over the past 10 years. I started doing freelance web design while in college and it's been a steady income ever since. I had a profitable internet business in college as well (a comparison shopping site with affiliate links that predated mysimon.com!).

The most valuable part of college was the experience, the people I met, and the T1 connection in the dorms. Studying English taught me how to quote Shakespeare and write sentences like the last one with parallel structure. Occasionally I wax poetic about the similarities between sonnet form and object-oriented PHP.

</comment></comment></comment><comment><USER10> Statistics. I think statistics will be in high demand over the next few decades as we all try to make sense of the mountains of data that have become available.

Just think of all the things we _aren't_ tracking right now. There aren't a lot of people who are well equipped to analyze that sort of volume of data.

</comment><comment><USER11> Computer Science with as much emphasis on video encoding and streaming media as you can. I'm a freelance Digital Archivist and one of my clients (a multinational telecommunications company) cannot find anyone to fill the position. They have one guy who has been with them for 8 years, but need another.</comment>


Tracking scroll depth to reveal content engagement in Google Analytics - <AUTHOR> http://runtingsproper.blogspot.com/2010/03/google-analytics-tracking-content.html

<comment><USER2> Nice idea! Can break in mobile sometimes...</comment>


The rise of lighttpd (excellent web server) - <AUTHOR> http://pinderkent.blogsavy.com/archives/79

<comment><USER2> Well, server optimization has been my primary hobby for the past month, and I'd like to make some clarifications about a few things the article says.

Saying that Lighttpd supports "CGI scripts, Ruby on Rails, Pylons, TurboGears, Django, Quixote, webpy, Mongrel, Catalyst, Mason, Joomla, AWStats, and so much more" is kind of misleading. Lighttpd can do a few things: it does fast cgi (fcgi support explains about 75% of the examples in that list), it can serve static files, and it can proxy requests to other servers. Lighttpd doesn't "support Mongrel", because Mongrel is another server. What Lighttpd does is use something akin to mod_proxy to send certain requests somewhere else, that somewhere else might be a Mongrel cluster that is running on port 8080 (hence it "supports" Mongrel).

That proxying service is where the majority of Lighttpd usage has been. A typical efficient setup these days (YouTube does along these lines) is to have lighttpd accept incoming requests and if the request is for a static file then it serves the request (because it is very lightweight (i.e. minimal) it is more efficient than Apache at serving static media), and if it is for dynamic content the request is passed to Apache, which then passes it back to Lighttpd, which passes it back to the requester (this means that "heavy" Apache threads will be dedicated to a request for a shorter period of time since it only has to communicate/wait for Lighttpd instead of the actual requester).

Lighttpd on its own isn't necessarily the best solution (an example from my experience is that mod_python and Apache become more efficient at serving dynamic content than fcgi and Lighttpd as the numbers of requester per second get very high). Usually a combination of a light frontend server and Apache in the backend can provide the best performance (again this is at high numbers, at lower numbers lighttpd is probablly equally or more efficient).

As a final note, I'd really recommend Nginx over Lighttpd if you are looking for a light http server to serve static content, support fcgi, and/or proxy to other servers. The biggest reason? Lighttpd leaks memory and has to be restarted occasionally because every couple of days (under heavy usage) it dies. Not a great feature in a production server.

</comment><comment><USER3> The big win of lighttpd/nginx is that they're single-process [1] multiplexing servers. Apache spawns dozens (or hundreds) of processes/threads and relies on the OS to distribute resources. This critical difference is why they're so much more efficient and generally faster. The epoll mechanism in Linux has widened the gap even further.

Brad Fitzpatrick created a software load balancer in Perl that handles all the requests for LiveJournal based on this principle.[2]

1\. A small number of processes may be used to take advantage of multi- processor machines.

2\. <http://danga.com/perlbal/>

</comment><comment><USER4> The "rise" of lighttpd? I think it's dying now. Apache 2.2 and Nginx are the kings of the hill.

<comment><USER5> It seems every 6 months or so, one of these single process, select based servers comes out as the "apache killer", only to fall prey to a later successor. Anyone else remember boa?

<comment><USER3> That's not really true at all. BOA did almost nothing but serve static files and there was no consistent development. Same is true of thttpd and all the rest.

Lighty and Nginx are becoming full-featured multiplexing servers. It's a lot of work to add features when all the code must be super reliable and non- blocking. No serious open source effort has ever been made. Zeus has been the only option for years, but it's commercial and expensive. They've made millions filling this void.

</comment></comment></comment><comment><USER6> If you're running Rails using Mongrel, beware that Zed Shaw (Mongrel's principal author) has stopped recommending lighttpd: <http://mongrel.rubyforge.org/docs/lighttpd.html>

</comment><comment><USER7> I love it. Though I'm not an expert in optimized configuration of servers. I guess that's sorta the point.

</comment><comment><USER8> we moved from lighttpd to mongrel a few months and couldn't be happier.</comment>


The Case for iTunes - <AUTHOR> https://anderegg.ca/2019/04/12/the-case-for-itunes <comment><USER2>
        My biggest worry is that a new "Marzipan"
        music app won't have any of these features.

Well, that's the real problem: is Apple still willing to create, and capable of creating, great desktop software? Apple's plan to break up iTunes is an excellent idea, in theory. If the replacement apps are bad apps, it doesn't matter how good the rest of the plan is.</comment>


Codegen for type safety in Go - <AUTHOR> https://www.calhoun.io/using-code-generation-to-survive-without-generics-in-go/ <comment><USER2> There are also a couple of code generation tools availbale such as [https://github.com/cheekybits/genny](https://github.com/cheekybits/genny) and [https://github.com/joeshaw/gengen](https://github.com/joeshaw/gengen)</comment>


Coronavirus Diary: Ethically sourcing data for the fight against disease - <AUTHOR> https://github.com/joshua-s/coronavirus-diary <comment><USER2> Folks, this is skunkworks open source. [https://github.com/joshua-s/coronavirus- diary](https://github.com/joshua-s/coronavirus-diary)

Please, pour your time into this app. Check it out, build a bit, commit. Don't kibitz about legal issues, HIPAA, app store policy, etc. Yes, I know. I'm in healthcare, working this at the federal policy level, attorneys, senior tech folks and senior federal officials are involved.

The policymakers and healthcare leadership are asking for answers that the data science teams tell us the current data can't provide. We need higher resolution data, and we need it now. Thus, this app, which collects data on device and only ships it to a backend if the user authorizes it.

I need you to build it. You need you to build it. Your family needs you to build it. There are two possible worst case scenarios: 1) we're in the thick of it now, and this is going to blow up now. 2) we luck out, spring weather saves us, and it comes back with a vengeance in October or November.

Need more developers:

* security engineer

* iOS engineer

* Android developer

* Dart engineers

* Flutter developers

* Engineers with health industry experience

* backend infrastructure

* backend security

Goal: 1-2 months to MVP deployment. Maybe sooner if people pile on.</comment>


Object.observe() - <AUTHOR> http://www.html5rocks.com/en/tutorials/es7/observe/ <comment><USER2> "A revolution is coming. There's a new addition to JavaScript that's going to change everything you think you know about data-binding. It's also going to change how many of your MVC libraries approach observing models for edits and updates. Are you ready for some sweet performance boosts to apps that care about property observation?"

On one hand: this looks cool.

On the other hands: wheeee time to rewrite _everything_ again!

Should we just plan on rewriting all web code every 1-2 years?

</comment><comment><USER3> "This site works best in Google Chrome".</comment>


Cofounder of Vine and HQ Trivia Dies at 35 - <AUTHOR> https://www.businessinsider.com/colin-kroll-hq-trivia-and-vine-cofounder-found-dead-2018-12 <comment><USER2> The New York Times is also reporting that it was due to a drug overdose. If you, or anyone you know, needs help, know that today is a great day to get sober. There's a meeting near you with other addicts who can help you start a journey to recovery.

For AA meetings: [https://www.aa.org/](https://www.aa.org/)

For NA meetings: [https://www.na.org/](https://www.na.org/)

Don't leave your loved ones like two of my parents left me! The journey is hard, but your family will love having you around for a full and happier life.

</comment><comment><USER3> rumors are drug overdose, will be interesting if its accidental vs suicide and whether opioids are the cause

sad either way RIP

<comment><USER4> Could you elaborate on the "whether opioids are the cause" part?

<comment><USER5> Huge amount of the opioid crisis is due to unintended overdose from fentanyl in the drug supply that was not meant to be there. Lots of people accidentally dying because their cocaine, xanax, or other pills have too much fentanyl.

[https://www.drugabuse.gov/related-topics/trends- statistics/o...](https://www.drugabuse.gov/related-topics/trends- statistics/overdose-death-rates)

<comment><USER4> If it is opioids and it was not intentional, then it was reckless behavior. To me it seems as if we are trying to preemptively blame the substances for what is the user's fault. I can already see the headlines and pushing the war on drugs even more.

What do you think is ought to be done, if anything? I am leaning towards education, harm reduction policies, etc.

<comment><USER6> Decriminalisation or legalization would mean no fentanyl in the heroin supply and therefore many fewer unnecessary deaths.

<comment><USER7> Not just decriminaliation/legalization. Would also need a pretty decent amount of regulation to ensure dealers aren't serving impure products. Cutting with fentanyl is done as a cost saving technique. Due to it's potency at low doses, dealers can get away with selling less product for the same cost since users will get just as high.

<comment><USER6> For sure. My definition of legalisation also includes policing people who sell one thing and call it something else. Just like with regular goods.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Wow. I want to wait until all the details are figured out, but my initial reaction is - if you're going through some stuff, know that there are people out there willing to listen and help you through it.

<comment><USER9> there is no mention of depression. Regarding depression, who are those people who want to listen? I have found it that instead of being helpful people use it as a "I told you so" moment.

<comment><USER10> I'm sorry you've had that experience. Mental health is still such a taboo topic; for everyone who can respond with empathy, there are just as many who don't know how to talk about it or otherwise react constructively.

<comment><USER11> Given that's true, we all know those around us are not well equipped to help, and therapist are so impersonal, it does often seem pretty pointless...</comment></comment></comment></comment>


Henry Kissinger Leaves Theranos Board of Directors - <AUTHOR> http://www.nytimes.com/2015/10/29/business/theranos-facing-criticism-says-it-has-changed-board-structure.html?partner=rss&emc=rss <comment><USER2> Why was noted war criminal Henry Kissinger on the board of a medical testing startup in the first place?

<comment><USER3> Why is Dr Rice on the board of Dropbox in the first place?

</comment></comment><comment><USER4> leaves the board of directors to join the board of counselors.

same same but different. Although this does look like Theranos is is some kind of death spiral with the bad press it has recently received.</comment>


Is K8s Too Complicated?  - <AUTHOR> http://jmoiron.net/blog/is-k8s-too-complicated/ <comment><USER4> Right tool for the right job. Is K8s too complicated? For some use cases it is.

They probably should do a better job of discouraging certain use cases, but calling their elevator pitch "bullshit" is hyperbolic.

There are exceptions to every rule, but a good rule of thumb is cluster size. If you're managing less than 25 servers than K8s is _probably_ over kill. As you start to creep north of 40 servers K8s really starts to shine. The other place K8s really shines is dynamic load. I manage anywhere from 600-1000 16Gb VMs, I can't imagine doing it without K8s.

If cluster size isn't a good rule of thumb then application architectur probably is. If no one person in you company has a complete mental model of the application architecture or it is impossible because it is so complex, again container orchestration might be a good way to go.

Final point: If you're struggling with K8s swallow your pride and buy a managed solution, then learn as you go.

<comment><USER5> Even though I fully agree with you, running a little 3 node cluster just for fun is amazing. Thanks to Rook and an Nginx ingress controller with kube-lego, I'm able to deploy applications leveraging distributed storage and getting tls secured endpoints without a single ssh session. This, in my point of view, is absolutely powerful.

Shameless plug, I've been working on a project explaining how to run small scale clusters in the cloud for more than a year: [https://github.com/hobby- kube/guide](https://github.com/hobby-kube/guide)

<comment><USER6> You may want to update your tutorial to use cert-manager because kube-lego is in maintenance-only mode

<comment><USER7> You mean, it's stable. That sounds like a good reason to use it, not to avoid it.

<comment><USER6> Not really; I had an issue that silently broke renewals. When I found the open issue that corresponded to it the maintainers were herding people to cert- manager. There are a lot of issues where they are doing that (besides very obviously at the top of the README with warning symbols).

At the very least it's eventually going to break on newer versions of Kubernetes. Maintenance-only != LTS.

<comment><USER8> Maintenance-only usually means deprecated. There are some areas in the software world where maintenance-only can last a long time and can be de facto LTS. The Kubernetes ecosystem is not one of them.

</comment></comment></comment></comment></comment></comment><comment><USER9> If you follow that link on Twitter, there are a lot of reasonable answers to his (rhetorical?) question - "In a single tweet — can you name a technical benefit you and your team have gained by switching to Kubernetes?"

"Sensible configuration, fast deployments, awesome community, and flexible control plane...among others"

"single root of truth for configuration"

"predictable deploys"

"Standardized orchestration, which makes talent easier to find."

"the capability to deploy on more than one platform, more than one cloud."

"Not called in at midnight when an entire node segment went down due to hardware failure."

"The ability to deploy hundreds of services within minutes."

<comment><USER10> I would argue that those were benefits of switching to _any_ containerised infrastructure with an orchestrator, though. You could probably obtain most of those benefits with Nomad or Mesos.

<comment><USER11> Maybe. But the question wasn't about the advantages of k8s over other containerization systems.

<comment><USER10> I know, you're right of course.

It's kinda like all those "we rewrote our Ruby app in Go and it's 1000x faster so Go is awesome" articles. Containerisation is good for those things, but it's still possible that Kubernetes is an excessively complex solution to the problem!

<comment><USER11> Fair enough. To your original comment, I was part of a large transition from bare metal servers and custom rolled CI, deployment, monitoring, etc over to using Mesos and the end result was infinitely more pleasurable and productive to work with as an engineer.

</comment></comment></comment></comment></comment><comment><USER12> Ok, I'll bite.

I posted this in another thread, but check this out: [https://stackoverflow.com/questions/50195896/how-do-i-get- on...](https://stackoverflow.com/questions/50195896/how-do-i-get-one-pod-to- network-to-another-pod-in-kubernetes-simple). That's the amount of crap I waded through trying to rubber-ducky myself into figuring out how to get two pods to talk to each other. In the end, I copied a solution my friend had gotten, and it's still not great. I'd love to be able to use Ingress or Calico or Fabric or __something __to get path routing to work in Kubernetes, but unfortunately all the examples I 've seen online suffer from too much specificity. Which is the Kubernetes problem - it can do everything so trying to get it to do the _one_ thing you want is hard.

Here is the kubernetes cluster I ended up building. If anyone has any ideas on how to add path routing let me know - [https://github.com/patientplatypus/KubernetesMultiPodCommuni...](https://github.com/patientplatypus/KubernetesMultiPodCommunication)

<comment><USER13> I think part of the problem is that I can't immediately understand what is actually being done. You say you want a per se React frontend to talk to a Node.js backend. But that's not really a pod-to-pod communication issue; both frontend and backend will be communicating with the user's browser, outside the cluster.

Secondly, you deployed an Nginx ingress controller. You don't need to deploy more than one of these in your whole cluster, so you can go ahead and separate this from your program's deployment manifests. Typically, cluster add-ons are installed by running kubectl -f with a URL to a GitHub raw URL, or, if you want to be much cleaner, using Helm (basically, a package manager. It installs with one command and then you can use it to install things into your Kubernetes cluster easily, such as an Nginx ingress controller.)

If you're wondering why the process is such a mess, it's probably just because Ingress is still new. In the future, support for more environments will probably come by default, without needing to install third party controllers. Already, in Google Cloud, GKE clusters come ready with an Ingress Controller that creates a Google Cloud load balancer.

As a side note, I found that the nginx ingress controller was not working by default in my cluster. I noticed some errors in the logs and had to change a parameter with Helm. Don't recall what it was, unfortunately.

<comment><USER12> The problem with adding the Ingress controller via Helm (and with a lot of other Kubernetes abstractions) is that it spits out _a lot_ of code that is then difficult or impossible to reason about. `Helm Ingress --whateversyntaxdefualt` spits out 1000+ lines of Ingress controller code that is essentially two deployments with a health check and auto spin up, but it's complicated. In production can I use this or is there a security hole in there? What if the ports the health check are using overlap with other ports I have assigned somewhere else? What if something equally silly?

Maybe Kubernetes is new so that's why it's so wild west, but it really feels like a pile of bandaids right now.

<comment><USER13> I have read through the nginx ingress controller code in Helm before deploying it into production.

What you're saying is pretty much the result of my biggest gripe with Kubernetes, though it's one I don't have a lot of ideas of how to fix; there's too much damn boilerplate. 1000 lines of YAML to store maybe 100 relevant lines.

That being said, can you trust that there is not a security vulnerability when you deploy i.e. NGINX alone? Your answer should not be yes. Even if you read through every single line of configuration and understand it, it doesn't mean something isn't wrong. Google "nginx php vulnerability" for an example of what I mean; innocent, simple configuration was wrong.

I read the Helm chart for nginx ingress because I wanted to understand what it was doing. But did I _have_ to? Not really. I trust that the Helm charts stable folder is going to contain an application that roughly works as described, and that I can simply pass configuration in. If I want to be very secure, I'm going to have to dig way, way deeper than just the Kubernetes manifests, unfortunately. There's got to be some code configuring Nginx in the background, and that's not even part of the Helm chart.

<comment><USER14> > What you're saying is pretty much the result of my biggest gripe with > Kubernetes, though it's one I don't have a lot of ideas of how to fix; > there's too much damn boilerplate. 1000 lines of YAML to store maybe 100 > relevant lines.

I think that's more a helm issue than a k8s issue. I've been using helm in production for over a year and k8s for almost three years. Prior to adopting helm we rolled our own yaml templates and had scripts to update them with deploy-time values. We wanted to get on the "standard k8s package manager" train so we moved everything to helm. As a template engine it's just fine: takes values and sticks them in the right places, which is obv not rocket science. The issues come from its attempt to be a "package manager" and provide stable charts that you can just download and install and hey presto you have a thing. As a contributor to the stable chart repo I get the idea, but in practice what you end up doing is replacing a simple declarative config with tons of conditionally rendered yaml, plug-in snippets and really horrible naming, all of which is intended to provide an api to that original, fairly simple declarative config. Add to that the statefulness of tiller and having to adopt and manage a whole new abstraction in the form of "releases." At this point I'm longing to go back to a simpler system that just lets us manage our templates, and may try ksonnet at some point soon.

<comment><USER15> The stable chart thing is so weird. Internally use we some abstractions, but I looks at stable charts and it requires so much time just to understand all of what's going on. Everything is a variable pointed to values, and you can't reason about any of it.

It seems like the hope is, just ignore it all, and the docs are good, and just follow them, but I don't live in any kind of world I can do that.

And the commits, and the direction of all of them seem to go more and more impossible to read conditionally rendered symbols.

I've had such a challenge understanding and using helm well enough. Small gotchas everywhere that can just eat up tons of time. This doesn't feel like the end state to me.

<comment><USER14> > It seems like the hope is, just ignore it all, and the docs are good, and > just follow them, but I don't live in any kind of world I can do that.

Yep, agreed, we've used very few charts from stable, and in some cases where we have we needed to fork and change them, which is its own special form of suck. The one I contributed was relatively straightforward: a deployment, service and a configMap to parameterize and mount the conf file in the container at start. Even so I found it a challenge to structure the yaml in such a way that the configuration could expose the full flexibility of the binary, and in the end I didn't come anywhere near that goal. You take something like a chart for elasticsearch or redis and its just so much more complicated than that.

<comment><USER15> Right, I'm in particular working on charts for ELK, and it's just a mess. I just took down all my data (in staging, so all good) due to a PVC. The charts won't update without deleting them when particular parts of the chart change, but if you delete them, you lose your PVC data.

So I find the note in an issue somewhere stating, this is.. intentional?.. and that of course you need some annotation that will change it.

Let alone the number of things like, xpack, plugins, the fact that java caches the DNS so endpoints don't work on logstash, on and on.

It seems like everyone is saying operators are going to be the magical way to solve this, but if anything it seems like one set of codified values, that don't address any of the complexity.

<comment><USER14> You're using a statefulset? Here's a tip: you can delete a statefulset without deleting the pods with `kubectl delete statefulset mystatefulset --cascade=false`. The pods will remain running, but will no longer be managed by a controller. You can then alter and recreate the statefulset and as long as the selector still selects those pods the new statefulset will adopt them. If you then need to update the pods you can delete them one at a time without disturbing the persistent volume claims, and the controller will recreate them.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> I suppose we have to assume that we should use the right tool for the right job, and all that. And I'm sure that the Kubernetes folk know what they're doing. But I definitely think that it's too complicated without a cutting-edge Kubernetes expert in place to manage it. And even then, it's just a _building block_ for a larger system.

I've tried maybe half a dozen times to get started for relatively small workloads – let's say between 5 to 50 servers. There seems to be a lack of any good documentation on how to get started – sure, I can spin up a couple of pods on a cluster or whatever, but then actually taking that to an easy-to- deploy, load-balanced, publicly-accessible infrastructure seems to be much harder.

It's maybe a lack of some kind of official, blessed version of a "this is how you should build a modern infrastructure from container to deployment" guide. There are so many different moving parts that it's hard to figure out what the optimal strategy is, and I've not found much to make it easier.

Maybe there's actually a niche for a nice and simple "infrastructure in a box" kind of product. I'd love something like Heroku that I could run on my own bare metal, or on AWS – the various solutions I've tried were all lacking.

In the end I've fallen back to using the Hashicorp stack of Nomad and Consul. This seems to work in a much simpler way that I can actually wrap my brain around – I get a nice cluster running balanced across machines, deploying and scaling my applications as required, and it was super easy to set up with good documentation.

I've been nervous about this approach because of how Kubernetes-mad the industry seems to have gone – so maybe it'll be worth another look when there are some more comprehensive solutions in place that make it easier to get started!

<comment><USER16> I've worked as a developer on 2 major managed k8s providers. Using k8s is easy but operating it is not. The biggest reason is that every cloud provider is using different underlying technologies to deploy k8s clusters. See for example all the different kinds of ingress controllers.

<comment><USER17> And it doesn't help that docs sometimes mention how you do things assuming you're using Google Cloud, other times with examples for Google, AWS, Azure, or bare metal, other times minikube or some other smaller scale wrapper, and other times it's not clear what kind of platform the commands should 'just work' on as-written.

I had a 'fun' time figuring out the basics of things like ingress controllers in a bare metal setup because of this mishmash of docs.

</comment></comment></comment><comment><USER18> The OP linked to a set tweets from Joe Beda (author of Kubernetes) that read "When you create a complex deployment system with Jenkins, Bash, Puppet/Chef/Salt/Ansible, AWS, Terraform, etc. you end up with a unique brand of complexity that _you_ are comfortable with. It grew organically so it doesn't feel complex."

Kubernetes is a convention over configuration framework for operations. And by doing that it allows you to easily build on its abstractions.

At GitLab the Kubernetes abstractions allowed is to make Auto DevOps that automatically builds, runs tests, checks performance, diagnoses security, and provisions a review app. We could have made that with gitLab CI and bash but it would be much harder for people to understand, maintain, and extend.

Having an abstraction for a deployment is something that doesn't even come by default with Jenkins as far as I know. Now that we have that as an industry we can finally build the next step of tools with the usability of Heroku but the control, price, flexibility, and extensibility of self-hosted software.

</comment><comment><USER19> I started with k8s beginning this year and from my point of view, the documentation is not good - and a major pain point when trying to get started.

Each part on its own is good and well written, but it lacks the overall picture and does not connect pieces well enough. For example, the schema definitions for the all the configuration files are not linked from the official docs (at least I wasn't able to find them). The description of how to get started with an On Premise setup is scattered over multiple pages from multiple tools.

So from my point of view, things could be improved for beginners.

<comment><USER20> The kubernetes up and running book gives a better big picture view than the documentation online does. It does a thorough job of developing motivation and context for using a broad swath of the system in a cohesive way.

<comment><USER19> I actually own that book and I definitely recommend it!

</comment></comment></comment><comment><USER21> K8s is a beast, and it has a fairly specific workflow, which for most people is not a good fit.

For example you need to understand that certain workloads dont fit well on the same box (DBs and anything IO/memory sensitive for example)

Then there is the "default" network setup where each node is _statically_ assigned a /24\. (because macvtap + dhcp is "unreliable" and inelastic apparently.)

Now, I've heard a lot of talk about you either use k8s or ssh to manage a fleet of machines. That pretty much a wrong comparison.

K8s provides two things a mechanism for shared state (ie. I am service x and I can be found on ips y & z) and a scheduler that places containers on hosts (and manages health checks.)

If your setup has a simple config scheme, (using a simple shared state mechanism, like a DB, or a filesystem, or DNS) or you have no issues with creating highly automated deployments using tools like CF, chef, anisble cloudformation $other, then k8s has vanishing returns (it sure as hell doesn't scale to the 50,000 node count, because its so chatty. )

Basically its a poor man's mainframe, where all the guarantees of a process running correctly regardless of what is happening to the hardware has been taken away.

<comment><USER22> Wow. I guess I am not the first person to look at K8s and think, "they re- invented the mainframe".

</comment></comment><comment><USER23> The best tools work at multiple levels and operator skills. Imagine a tool that can do everything from pound in a nail to launch a spacecraft. In an ideal situation, a carpenter can grab it and pound some nails and a rocket scientist can launch a Mars mission with it.

In the worst case, the tool forces you to learn how to launch spacecraft before you can pound nails.

In my limited experience (having twice now made attempts to get up to speed and actually accomplish something with K8s) it felt an awful lot like learning rocketry to pound nails. I may have had an entirely different experience if I had come looking to do a moon shot.

</comment><comment><USER24> Having worked with Docker Swarm previously - Kubernetes seems like they added 5 layers of abstractions and at the same time made it feel more low-level.

I think Kubernetes has all the building blocks to be great but desperately needs a simplified flow/model and UI for developers who just want to run their apps.

<comment><USER25> I prefer to work with Swarm as well, but I bump into stability issues now and then. It's probably not on par with Kubernetes

</comment></comment><comment><USER26> I feel like managed Kubernetes solutions are a completely different beast from on-prem physical deployments, and that when people talk about how Kubernetes isn't complicated, they are probably running a webapp on GKE or Minikube on a DO droplet, or something similar.

Running Kubernetes on your own private, on-prem infrastructure - <USER2> services that live outside the cluster, exposing your cluster services, rolling your own storage providers, adding a non-supported LoadBalancer provider, managing the networking policies, etc., etc. - can quickly become an incredibly messy and complex endeavor.

</comment><comment><USER27> Couldn't agree more with - "Like a lot of other tech that has ostensibly come out of google, it will likely have at least one major source of complexity that 95% of people do not need and will not want. "

We really need to understand our applications, their architecture, and then the right way to build and run them. I've talked with many people focused on k8s and losing sight of what they are trying to build and why.

</comment><comment><USER28> "In a single tweet — can you name a technical benefit you and your team have gained by switching to Kubernetes?"

"The missing step in a comprehensive OSS devops strategy, from code (git) build (Docker) test (Docker) to deploy (Kube), which enables push-button CICD like no one has gotten right since Heroku."

<comment><USER29> If they'd got it as right as Heroku then deployment (or CD configuration) would be a one liner once a server is set up and scaling etc. would be configurable via a very simple web console or CLI.

Unless I missed something, last time we tried k8s (admittedly ~6 months ago) it was woefully far from that goal.

<comment><USER30> Although it didn't come out of the box, my deploys are now one-liners. The command builds, tests and packages my app into a docker image, then bumps the version number on the k8s deployment which triggers a rolling update of production pods. I'm very happy with my current deployment flow, mostly because it works reliability and I can forget about what it's doing under the hood.

</comment></comment></comment><comment><USER31> The hidden cost of K8S is you have to shift a lot of things: configuration management, secrets, CI/CD, monitoringn users' habits...

But it's worth it :)

</comment><comment><USER32> Suppose I'm an application developer who is only interested in infrastructure because there needs to be some to run my stuff.

In this scenario, would I actually learn Kubernetes, or would it make more sense to go to straight to a PaaS solution? Like OpenShift (which uses k8s in the backend, I believe), or Cloud Foundry, Stackato etc.

I always get the impression that k8s has a lot of good ideas, but doesn't provide everything out-of-the-box for actually deploying complex application. How true is that?

<comment><USER33> My advice is to go directly to a PaaS. I work for Pivotal R&D in and around Cloud Foundry, so that's my personal horse. But I'd rather that you used _any_ PaaS -- Cloud Foundry, OpenShift, Rancher -- than roll your own.

Building a platform is _hard_. It's really really hard. Kubernetes commoditises _some_ of the hard bits. The community around it will progressively commoditise other aspects in time.

But PaaSes already exist, already work and either already base themselves on Kubernetes or have a roadmap to doing so.

To repeat myself: building PaaSes is hard. Hard hard hard. Collectively, Pivotal, IBM, SAP and SUSE have allocated hundreds of engineers in dozens of teams to work on Cloud Foundry. We've been at it non-stop for nearly 5 years. Pivotal spends quite literally _millions of dollars per year_ testing the everliving daylights out of every part of it [0][1]. (Shout out to Concourse here)

I fully expect Red Hat can say the same for OpenShift.

Really. Use a PaaS.

[0] [https://content.pivotal.io/blog/250k-containers-in- productio...](https://content.pivotal.io/blog/250k-containers-in-production-a- real-test-for-the-real-world)

[1] [https://content.pivotal.io/blog/you-deserve-a- continuously-i...](https://content.pivotal.io/blog/you-deserve-a-continuously- integrated-platform-here-s-why-it-matters)

<comment><USER34> Building PaaS abstractions on top of Kubernetes is an order of magnitude easier than doing what you guys did with Cloud Foundry. Building something that can scale to 250k Containers is monumentally hard, but with K8s, it is taken care of for you: [https://kubernetes.io/docs/admin/cluster- large/](https://kubernetes.io/docs/admin/cluster-large/)

If you are a large enough organization, it is quite feasible to setup Kubernetes, chose an ingress solution and then build templated configurations that generate K8s yaml flies and run your deployments with Jenkins. I am not saying it is easy, but you don't need any expertise with bin packing algorithms and control loops, and really is in the sweet spot of "devops" engineers.

<comment><USER33> > _Building PaaS abstractions on top of Kubernetes is an order of magnitude > easier than doing what you guys did with Cloud Foundry_

It's worth noting Kubernetes didn't exist when Cloud Foundry started. Neither did Docker. The reason Cloud Foundry built two generations of container orchestration technology (DEA/Warden and Diego/Garden) was because it was partly inspired by direct experiences of Borg, as Kubernetes was. Folks had seen the future and decided to introduce everyone else to it.

The point here is not whether sufficiently large organisations _are able_ to build their own PaaSes. They absolutely can. Pivotal's customer roster is full of companies whose engineering organisations absolutely dwarf our own.

The question is: _should_ you build your own? This is not a new question. Should I build my own OS? My own language? My own database? My own web framework? My own network protocol? My own logging system? My own ORM?

The general answer is: no, not really. It's not the most effective use of your time, even if it's something you'd be perfectly able to achieve.

<comment><USER34> I know Kubernetes wasn't around when Cloud Foundry was started. That wasn't my point. Some of your argument was that building Cloud Foundry was hard (and I agree!), therefore you need a vendor's PaaS. That isn't true.

If an engineering organization takes Kubernetes and adds their own tooling around it to turn it into a PaaS for their org, that isn't in the same league as building their own Database or what you did with Cloud Foundry originally.

<comment><USER33> I brought up the history as a lot of people don't know it.

I think we've made our respective points.

And hey, for folks building tooling around Kubernetes, I'm pretty much obliged to mention PKS and Concourse :)

</comment></comment></comment></comment></comment></comment><comment><USER35> If you can't even spell out the name, it's too complicated.

</comment><comment><USER36> I've been a Mesos/Marathon user for the past few years. I love it for its simplicity. Install the agent, point it at Zookeeper, and you're done.

I've got a catalog of Puppet manifests for managing the cluster that I hope to publish one day soon.

</comment><comment><USER37> K8s comes with the inherent dependence that you are using a cloud infra with a lot of the setup done right.

Most importantly - ingress. Getting your ingress on k8s is still a big issue.

I'm not sure about all of these statements that networking in k8s is superior to swarm. For the longest time, it was a huge mess to configure weave vs flannel vs calico. Arguably it was because of the third party implementation themselves, but then I would argue that comparing the superiority of k8s to docker swarm is an apples to oranges comparison...Since swarm's networking was always built in and opinionated.

For a long time , it worked much better than k8s.

</comment><comment><USER38> "I suspect that a significant source of programmers flooding into management is the decreasing wavelength of full scale re-education on how to accomplish the exact same thing slightly differently with diminshing returns on tangible benefits."

Wow. I'm curious to see how others are interpreting this sentence.

I've got:

I suspect many developers opt to move on to management largely because of frustration with having to learn new abstractions with increasing frequency and decreasing benefit.

<comment><USER39> I agree. Most of software engineering has turned into resume driven development, and engineers can only keep up at it for some time.

Kubernetes did not have to be so complicated. Docker swarm just proved it. If it takes 10 engineers to really program and manage your kubernetes instances, what problem did it solve again?

</comment></comment><comment><USER13> >In a single tweet — can you name a technical benefit you and your team have gained by switching to Kubernetes?

\- Continuous delivery made easier

\- Code-as-infra you can deploy anywhere (Pi, GCP, AWS...)

\- Ability to pack VMs tighter, viewing your cluster as a pool of resources.

Kubernetes may seem too complicated if you miss the point. It's throwing the baby out with the bathwater, but it's doing so with purpose. Kubernetes didn't become popular by accident.

The benefit is hard to explain for the same reason that it's hard to learn: it's a complicated piece of tool that solves a problem most people don't understand. That problem is scheduling. Most people view systems administration as the practice of managing machines that run programs. Google flipped the script: they began managing programs that run on clusters, probably about as early as any other company, if not earlier.

The key insight here is that with Kubernetes, you are free from the days of SSHing into machines, apt-get installing some random things, git cloning stuff, and setting up some git hook for deployments. No matter how much more advanced your process is, whether you have God's gift of a Chef script, or you have the greatest Terraform setup in the world, you're still managing boxes first, and applications second, in the traditional model. You have to repeat the same song and dance every time.

To be fair, Kubernetes is not the only platform to provide this sort of freedom. Obviously, it's based on Google's famous Borg, and Docker Swarm also exists in this realm, as well as Apache Mesos. I think Kubernetes is winning because it picked the right abstractions and the right features to be part of itself. Docker Swarm did not care enough about the networking issues that came with clustering until recently. Specifically, one of the first problems becomes "What if I need multiple applications that need to be exposed on port 80?" _Kubernetes IMMEDIATELY decided that networking was important, providing pods and services with their own IP addresses first thing, including LoadBalancer support early on._ In my opinion, pods and services are the sole reason why Kubernetes crushed everything else, and now that other solutions are catching up and implementing better abstractions, and other solutions for networking are appearing, the problem now is the massive headstart Kubernetes had. Kubernetes let you forget about managing ports the same way you forget about managing machines. Docker Swarm wasn't offering that.

Yeah, it took a few paragraphs to explain why it makes sense, but once you "get" it, it's hard to unget.

That does not mean that Kubernetes is not too complicated. It's probably way too complicated for most of us, and a lighter solution with similar properties would be fine. But that doesn't mean the complexity is all a waste; it's just not useful to all of us.

</comment><comment><USER40> disclosure: im an engine mechanic with a lot of interest in Linux as a hobby.

Kubernetes seems like a great alternative to stuff like openstack that seems like it requires an entire datacenter to get going properly, but I feel like the hype (k8s? really?) is outliving the reality.

youre also bucking up against a problem where on smaller scales, it just seems easier to use something else. Maybe not "agile" and all that nonsense but certainly easier.

<comment><USER41> OpenStack is used mostly for the layer beneath Kubernetes. We use it to provision the VM's/networking for the Kubernetes cluster itself.

Kubernetes might not make sense for your small scale projects but it's great when used for enterprise scale microservices. It makes deployments easier, faster and more secure (with things like network policies, namespacing and RBAC).

<comment><USER15> We run Kubernetes under Openstack, which can deploy hosted Kubernetes. Lots of variations.

</comment></comment></comment><comment><USER42> It depends on your context. Having moved from ECS on AWS to K8s on GCP I found kubernetes simpler despite its vast number of concepts. It has the correct abstractions for a microservice architecture, and it made us write less boilerplate code to manage and deploy services.

</comment><comment><USER43> Too complicated for whom?

We just gave up on Mesos. It has been impossible to hire a team to support Mesos, which in many ways, is simpler than k8s while delivering greater scale[1]. But it's been me and one other guy building the whole thing when we planned on having ten. We're planning on replacing it with something else, and New Guy wants that something else to be k8s. Or wanted. Then we spent an hour or so asking "So, how will you handle failure mode (that happened) X?" or "What about the teams that need Y?" and no ECS is looking real good to this guy.

At the literal end of the day, when a bug causes masters to lose quorum at 2am, do you want to be fixing that, or do you want an AWS or Azure team to be fixing that. When you have a hundred apps happily running but the coordination framework is down, so that if you lose and agent, or get lots of traffic, the system that would add or replace capacity is _down_ , how fun is that? Well, we didn't have an outage, because all the apps were up and running, but thank goodness we didn't lose an agent of get a spike in traffic. You live in constant terror, because it never gets so bad (site down), but you have lots of near death experiences where you race against time to fix whatever fun way the system failed. God forbid you upgraded to the release (of Marathon) that has a failure mode of "shut everything down" ( _we_ didn't, because I'm "overly cautious", but others did).

Now for some companies, where they have the need for a huge cluster, and the cash and reputation to be able to hire for it, then Mesos or k8s seem like a great idea. But for everyone else, use ECS and have a team at AWS keep that thing running.

[1] I suspect it's probably easier to hire people for k8s, and at the same time more difficult to hire people who can actually do the work. k8s looks simpler than mesos, but is far more complicated. Mesos has a smaller following, but those I've met know what they're doing and respect the problem. And Mesos didn't get everything right, but it's "righter" than k8s IMHO. There's a need for a Mesos 2. =)

</comment><comment><USER44> There are certainly many moving parts- but there's nothing quite like running kubectl create -f <somefile> and sitting back to watch your entire application stack spin up

</comment><comment><USER45> A better question would be how much simpler does k8s make thing compared to all the rube goldberg scripts admins have written over the years? A lot.

</comment><comment><USER46> K8s does a relatively good job at tackling a very large problem space, but it never tried to tackle the _other_ problem space: learning and using complicated things quickly and easily.

The fact that there is no tool to walk a human through building commonly reproduced configuration files is proof that humans were an afterthought.

</comment><comment><USER47> Yes. There wouldn't be so many different vendor solutions if it wasn't. I wouldn't say that the complexity isn't warranted, and it obviously can be wrangled in and once you know it it's not all that bad.

Conversely, it wouldn't be as popular as it is if the value it provided wasn't clear.

</comment><comment><USER48> I've always sorta felt they solved the problem backwards, focusing on the infrastructure and not on running applications. Now we have all these competitors/confusion around orchestrating running an app. They could have just copied Heroku's CLI as a base starting point and ease adoption.

</comment><comment><USER49> For a system that needs to take care of a great deal of different use cases on a wide variety of infrastructure, k8s is surprisingly simple in context.

However I also think for a great deal of "every day" use cases solutions like GKE, EKS, Rancher, Cloud 66,... are good enough.

</comment><comment> brown9-2 Interesting that the article never mentions the word "container" (outside of a quoted tweet).

If you don't want a cluster management system that can schedule your many containers over a pool of many nodes, then yes Kubernetes is not aiming to solve your problems.

</comment><comment><USER50> Yes it's too complicated. But I think it's a low level tool that most people will use via an abstraction built on top. We use Rancher which makes using kubernetes a breeze.

</comment><comment><USER51> Side note - i stumbled across an attempt to rebuild K8 from scratch in python (it looked like a learning attempt) - but i forgot to bookmark it - <USER3> seen something similar

<comment><USER52> Are you sure it was k8s, and not maybe docker?

[https://github.com/tonybaloney/mocker](https://github.com/tonybaloney/mocker)

</comment></comment><comment><USER53> this: $WORK

Maybe the most concise statement I've seen on the meaning of employment in our times. ..really reminds me of PG's refragmentation essay [http://paulgraham.com/re.html](http://paulgraham.com/re.html)

</comment><comment><USER54> Is there a link to the tweet where he asked "what did you benefit from using K8?"

<comment><USER54> ok it's [https://twitter.com/krisnova/status/994242908315312129](https://twitter.com/krisnova/status/994242908315312129)

</comment></comment><comment><USER55> Am I the only one who thinks it should be K8S, with a capital "S"?

<comment><USER56> It's a numeronym. From the horse's mouth: [https://twitter.com/dankohn1/status/982013434555523072](https://twitter.com/dankohn1/status/982013434555523072)

</comment></comment><comment><USER54> what are some of the downsides of K8? any horror stories?

<comment><USER41> You need to hire people who are competent with a new, quickly evolving technology. That means it's hard to hire someone good and it's expensive.

The upside is that you can replace multiple "normal" ops people with just a few K8 folks but that also requires a bit of culture change of how you do development.

<comment><USER15> I started a year ago on a team, and there are so many different technologies, things to know, gotchas everywhere, that even competent people can struggle outside of taking a single domain and owning it.

It is not remotely easy to actually use and understand all parts of a massive system, at least ours.

</comment></comment></comment><comment><USER57> Yes, it's madness, unless your system is actually that complicated.

And I'm not sure designing a system to the strengths of k8s is wise either.

</comment><comment><USER58> Might be, but one thing it certainly is not: worthy of yet another acronym. Call the thing by its name, kubernetes. T2t w3d be so m2h e4r to r2d.</comment>


Ask HN: Who's hiring part-time software engineers as employees (not freelancers) - <AUTHOR> I'd like to encourage companies that are hiring part-time to post here. <comment><USER2> There's a who's hiring on the first of the month. That might be an appropriate or optimal time to post this.

That being said, it's unlikely that anyone wants part time given the difficulty people have finding, attracting, and retaining developers.</comment>


Show HN: iOS App Packager – Share Your App Without Requiring Testers to Register - <AUTHOR> http://blog.placeit.net/ios-app-packager/

<comment><USER2> I really like the idea. Testing on ios is beyond a major pain. When I read the title to the post, I thought you found some way to install on a real device without having to go through the testflight process (and submit the app to apple for beta review) via a simple install link. But it seems that the tester needs to have Xcode (i.e. be a developer caliber installer). This doesn't take away from the idea, though. Any improvement in ease of testing is huge.

I previously used testflight before Apple acquired it. They recently shut down the standalone website. I found that process way easier than the current process. All I had to do was send an email to a non-technical user and the app was installed. Now it's more hoops to jump through and ladders to climb.

<comment><AUTHOR> Yes the current process is ridiculous.

That's true. We didn't get around having to install Xcode. Would be great if we could though. Suggestions would be great.

</comment></comment><comment><USER3> Oh, i really know, this problem. Nice idea!

</comment><comment><USER4> No download link provided?

<comment><AUTHOR> Sry it's there now. Refresh</comment></comment>


Netflix Redesign - <AUTHOR> https://medium.com/eso-designs/netflix-redesign-c5929fdde7e#.c8h6mu9hq <comment><USER2> Okay, I get this is a design oriented post but the page was still loading content related resources (a couple of GIFs it seems) and was over 70+MB before I decided to just leave.

A good 7 or 8 seconds had passed as I watched the source size climb.</comment>


RAWGraphs: a missing link between spreadsheets and data visualization - <AUTHOR> https://rawgraphs.io/ <comment><USER2> I hate to be that person but the donation banner ad at the top means only about 20% of the screen shows the content. Can't really read what this is about except through a narrow slot.

<comment><USER3> Not that it excuses bad design, but I always have Kill Sticky Headers [https://alisdair.mcdiarmid.org/kill-sticky- headers](https://alisdair.mcdiarmid.org/kill-sticky-headers) , or one of the other suggestions at [https://news.ycombinator.com/item?id=15123638](https://news.ycombinator.com/item?id=15123638) , ready to deploy in such situations.

</comment></comment><comment><USER4> Covering half the screen with a blinky distraction begging for "donations" before I even know your product is, is not the way to get them.

</comment><comment><USER5> This is pretty neat and will undoubtedly be useful to some! It reminds me of a more fleshed out version of the graphing tool QZ made before their acquisition.

[https://quartz.github.io/Chartbuilder/](https://quartz.github.io/Chartbuilder/)

</comment><comment><USER6> To the devs:

On mobile your header and the additional donation banner (which I don't see an easy way to remove) take up about 45% of my screen, so it's very hard to see what's on the page in question.

I understand you want donations, but I don't even know what this is yet and it's pretty hard to find out given the very tiny window into your content. I'm not the kind of person to donate to something without knowing what it is, and at this point you're actively dissuading me from finding out. That's a good way to get less donations and less users.

<comment><USER7> I opened the page, saw some blinking thing that I could not removed and immediately closed the page.

What is this? 1995?

</comment></comment><comment><USER8> This is pretty awesome, I wish there was a quick way to test this out locally with a npm install.

</comment><comment><USER9> Small suggestion, but I wish the gifs spent more time on each image. When I'm trying to make out small details in screenshots it takes longer than the brief amount of time allowed. Better yet, click to zoom screenshots.

</comment><comment><USER10> This looks pretty cool, can it be embedded in a webapp to allow users to create graphs with the webapp's data?

<comment><USER11> Seems to be open source ([https://github.com/rawgraphs/raw](https://github.com/rawgraphs/raw)) so you should be able to.</comment></comment>


Obama cancels Y Combinator visit because of "security considerations" - <AUTHOR> http://blog.sfgate.com/nov05election/2014/05/06/obamas-two-days-in-bay-area-y-combinator-out-walmart-in/ <comment><USER2> "Obama's star turn at a Democratic National Committee fundraiser at Y Combinator in Mt. View has been changed to a new location because of logistics and security considerations. The event, co-hosted by Yahoo CEO Marissa Mayer and Y Combinator CEO Sam Altman, is now slated at the Fairmont Hotel in San Jose, sources say."

</comment><comment><USER3> Odd from my experience (I helped with a campaign when President Bush made two trips down to Georgia for us). The Venue security and logistics of the trip are vetted and verified by the Secret Service and White House travel office well before an announcement is made. Makes me wonder if the Political Affairs office is not in sync with the Secret Service. Which would not surprise me because the Protective Detail Secret Service agents that I met were some of the nicest coolest people you could hope to meet, while the Political Affairs people tended to be pricks to say the least.

</comment><comment><USER4> Link bait B.S.</comment>


Youtube of an rss reader I built 3 years ago. - <AUTHOR> http://www.youtube.com/watch?feature=player_embedded&v=UWnb7o0utfA I wanted to post this because some of the features are something i'd like to see in some of the new rss readers that are being built.  I still use it and have enhanced it since then, but not as much as I'd have liked.  It's become what I like to call my reference project for learning new languages and such.  I first built it back in 2007 in asp and sql server, then moved to asp.net.  The version in the video is built under LAMP with a python rss importer.  It's also a single page web app getting all data via calls to an api.  I started rebuilding it in ruby a while back but never found the time to complete it.  also if your interested I chronicled the work I did on a blog, http://www.tubejumper.com/ <comment><AUTHOR> I wanted to post this because some of the features are things i'd like to see in some of the new rss readers that are being built. I still use it and have enhanced it since then, but not as much as I'd have liked. It's become what I like to call my reference project for learning new languages and such. I first built it back in 2007 in asp and sql server, then moved to asp.net. The version in the video is built under LAMP with a python rss importer. It's also a single page web app getting all data via calls to an api. I started rebuilding it in ruby a while back but never found the time to complete it. also if your interested I chronicled the work I did on a blog, <http://www.tubejumper.com/></comment>