Ask HN: Has HN been slow/spotty loading for you? - <AUTHOR>

I love HN. I love it that PG built it himself. It's not easy. I applaud him for it. This isn't a complaint but an inquiry.
The last couple days (especially around peak times) HN seems to have slowed dramatically. Pages take multiple seconds (think, 10 to 20) to get served and even the up/down vote images fail to load.
Is it just me? <comment><USER2> I've had the images fail to load, as well as the stylesheet (so all the text comes up as Times New Roman.)

<comment><USER3> I think it may be due to failing dns lookup. It has been for me anyway. The images and css are on ycombinator.com and not news.ycombinator.com.

</comment></comment><comment><USER4> It is slow for me as well. It seems that page needs some optimizations in order to be served and rendered faster when the server is under heavy loads.

1\. I checked responses using FireBug plugin and it seems that pages are served uncompressed. For example the front page of the site (only html) is 31K uncompressed, with gzip compression it becomes 6.3K (80% smaller size means 80% less bandwidth to use). Most of web servers support compression.

2\. All pages seem to be generated on every request, e.g. no HTTP cache is used on server side. Because I did not found any response headers set by caches. If for example, each page was cached just for 1 to 5 seconds it will reduce the stress on database and cpu significantly. On the other hand it will not impact user experience, because cached version is short lived and fresh results will appear on time. For example the front page is the most requested page of the site, assume that it is requested 100 times per second which means 100 queries to the database etc. If this page is cached for 1 second queries and html composition is reduced to 1 time per second. Personally, HTTP caching on server side is my favorite choice because you don't need to modify the program to use it. (super-fast Varnish cache is the most flexible solution I found).

<comment><USER2> Wouldn't server side caching run into issues since the page is different for each user? For instance, all the vote up/down buttons seem to have your username hardcoded into them as the href.

<comment><USER4> Yes you are right. I did not notice it. HTTP cache is effective on resources that are same for all users.

One possible solution is to decouple the personalized data and load it separately using AJAX. Votes are already implemented in a similar way.

Generally, I am proponent of HTTP caching. It requires some modifications of web sites in order to be effective but still the whole system remains less complicated, compared to implementations of cache on back-end (like `memcached').

For example reddit, which is similar to HN, is in constant struggle with their cache subsystems ([http://blog.reddit.com/2010/05/reddits-may-2010-state-of- ser...](http://blog.reddit.com/2010/05/reddits-may-2010-state-of- servers.html)). I believe it can be avoided by keeping cache and web site code apart.

<comment><USER2> I know rails has the concept of caching HTML snippets, so you still have the page construction cost, but you avoid the database calls.

</comment></comment></comment></comment><comment><USER5> I can't find the HN story, but I seem to remember that PG was rebooting the server quite regularly. It must be pretty difficult when you're looking at having to toss up continuing to use the language with it's limitations or start looking at changes to Arc.

Maybe a front-end cache like nginx would help?

<comment><USER6> As stated elsewhere it really seems to be a problem with the static content hosted on ycombinator.com (maybe they aren't being cached very well browser side).

I don't know how well something like a front end cache would do to speed up content delivery as I suspect news.yc has a lot more users logged in than normal websites which might take away the advantages of a front end cache.

<comment><USER7> Webkit's resource tracker shows that most of the static content is taking anywhere from 10-14 seconds to be requested, and then loading with a 304 not modified.

The page, from the news.ycombinator subdomain is loading quick, as is the tracking code. (180ms latency)

Firefox works the best for me, as it seems to just time out and not request anything.

</comment></comment></comment><comment><USER8> 10 to 20 seconds? That's pretty speedy. I've seen pages take minutes to load. I've noticed the slowness you speak of for a couple of weeks now.

<comment><AUTHOR> That is slow for the HTML document to be returned (not rendered, but just returned).

<comment><USER9> He is saying that there are HN pages that take minutes to load.

</comment></comment></comment><comment><USER10> news.ycombinator.com is loading in sub-seconds, but it uses stylesheets and images hosted on ycombinator.com (a separate server) - which is taking 20s+ to respond.

<comment><USER11> It's been slow for me as well past 1-2 weeks and yes, it's problem with static files - they take 20-30s to load.

Caching seems to be fine - I'm getting 304s for stylesheets and images (and they are served from local cache according to firebug and chrome dev. tools) which means it actually takes 20-30s of wait time for the server to just return the headers.

I wonder if it might be problem with Keep-Alive which is on (with 15 sec. timeout I think) - there's probably bunch of apache processes / threads sitting idle waiting for connections to close and with the amount of traffic hn gets I would imagine there's quite a few of them.

</comment></comment><comment><USER12> Yes, I noticed it too.

I don't know what the backend is, but if it's on a single shared machine it might be too many inquires on the hardware at once. Maybe ask the hosting company to move it to a machine with a lower load.

<comment><USER13> As of 2 years ago, it was hosted on a "3.0 GHz Core whatever, 12 GB RAM, 64-bit FreeBSD 7.1" - it's certainly not a shared machine. (<http://news.ycombinator.com/item?id=516122>)

rtm is the sysadmin for HN (yes, that rtm: <http://en.wikipedia.org/wiki/Robert_Tappan_Morris>).

<comment><USER14> IIRC, pg said that ycombinator.com (which is where all of HN's static content is served from) was on shared hosting.

<comment><USER13> It looks like ycombinator.com is hosted by SliceHost (<http://www.whoishostingthis.com/ycombinator.com>).

</comment></comment></comment></comment><comment><USER15> It is running slow. YC is doing interviews this week, so PG/RTM are probably chatting to noob founders instead of looking at HN server stats.

</comment><comment><USER16> I have not had any noticeable problems in the past week.

</comment><comment><USER17> Pages load fine for me, however submitting a comment is taking longer than usual.

</comment><comment><USER18> I'm looking at this page in Safari inspector. The only element that took more than milliseconds to load is prowidget.php (but that may be related to its size, and my slow ass connection).

inspector has flagged 3 elements with "You could save bandwidth by having your web server compress this transfer with gzip or zlib": item, news.css and propres.php

</comment><comment><USER19> It took this page about a minute to load for me and the images are still loading a couple minutes later.

</comment><comment><USER20> Nope I am having the same issues, glad to know it's not just me!.. although it seems to vary on the time of day.

</comment><comment><USER21> Yes, and I've checked that it's not the connection or the browser. I'm on XP, so it's likely not the OS either.

<comment><AUTHOR> I've tried it on OS X with Chrome & Safari + iOS. Same results.

</comment></comment><comment><USER22> Are you having issues with iphone/ipad? Sometimes I too have problem with HN site on my iphone.

</comment><comment><USER23> Yes, it's been pretty slow lately. The other day it wouldn't load at all for a brief time.

</comment><comment><USER24> For me it took 1.5 minutes to submit a comment. Lets see how long this one takes! :)

</comment><comment><USER25> Definitely slower than usual.

</comment><comment><USER26> reading from iPhone is hit and miss. it seems to tell safari on iphone to use older page content. iPad at same point in time always seems to get current stories.

</comment><comment><USER27> Yea definitely slower

</comment><comment><USER28> Okay for me, though, I am in GMT+3.

</comment><comment><USER29> It's not just you.

</comment><comment><USER30> Posting seems slower than it used to be. I'm sure PG is on the case. No complaints. I'm glad HN exists.

</comment><comment><USER31> If I just answer "yes" without a long dissertation, will I get downvoted by the elite here? My guess is yes.</comment>


Show HN: Soda Player, a "modern" player app - <AUTHOR> http://www.sodaplayer.com <comment><AUTHOR> Hey!

We are releasing the first beta version of our app: Soda Player (for Mac and Windows).

We're a bunch of internet geeks that were getting tired of how hard (and how many different apps it takes) to do one very simple thing, playing videos in a _modern_ way.

Here is what it can do:

\- The app can play local, web and Bittorrent video files in all formats instantly.

\- The app embeds its own _custom_ VPN that is used to protect your privacy when playing non-local files.

\- The app will automatically find subtitles in many languages for whatever you are playing (we're very proud of our matching algorithm, from our tests it works better than current subtitles tools out there).

\- Best part for the end, all of the above works on Chromecast and Airplay, just one-click away!

We've worked pretty hard and we would love to hear your feedback and suggestions (and bug reports!).

You can download the app at [https://www.sodaplayer.com](https://www.sodaplayer.com) (it's in open beta at the moment, but we may temporarily put the beta on hold if we get too many users, so get it fast!).

Cheers!

<comment><USER2> it's clean, fast, easy, and secure. where do you store the temporary downloaded file though? or does it store any temps file? cheers man, looking forward to many improvements ahead.

<comment><AUTHOR> Thanks! The app uses some disk cache (when transcoding or watching something using bittorrent) that is automatically cleared when the app closes. We follow each platform's standard so the app uses the default temporary folder for each OS.

</comment></comment></comment><comment><USER3> I really hate landing pages like this.

[http://imgur.com/a/lqban](http://imgur.com/a/lqban)

<comment><AUTHOR> It's a beta, be nice :)

More seriously, you make some good points (you forgot the "I thought the page loaded already scrolled down"), and we have spend more time on the app itself than the website, we will work on some improvements very soon.

<comment><USER3> Simplify. What do you want people to do?

Looking at this you want them to live chat, social media it up and go to product hunt.

Remove all that and make people download it.

</comment></comment></comment><comment><USER4> I strongly dislike you've obfuscated all your code. But as far as I can see, it's a HTTPS proxy, WebTorrent, FFmpeg and Electron. It's look really nice, so kudos for that.</comment>


Why We Aren't Developing For Ouya - <AUTHOR> http://techcrunch.com/2013/05/18/why-we-are-leaving-ouya/

<comment><USER2> This bothers me. I'm not above some criticism for Ouya[1], but let's at least keep it in realistic realms and in ways that can be used to improve the product. By the end of this, not only was I not convinced it was a failing of Ouya, even if I were, there was no indication of what Ouya could do better to fix it.

They assumed you'd use the controller to move a pointer around on the screen, instead of highlighting different buttons. Have they not played console games? I can think of only a handful of console games that have a free-form pointer, and it's only for the gameplay (the point-and-click adventure game and the ill-informed PC strategy game to console port): the menus outside of gameplay are still direction-driven.

Direction-driven, focus-based menus are very easy to build. You could go the very easy way with a state machine, or you could even hack your way through it with a bunch of counters and switch statements. To me, it actually fits easier into the framerate conscious style of programming for games much, much easier than a point-and-click interface, as you don't have to do any hit checking. Not that hit checking itself is very hard, either.

Regardless, the menu system should be abstracted enough from the game code that it wouldn't be an issue to rip it out completely and build a new one from scratch. My impression is that this is the real issue. It's not that direction-based menus are difficult to make, it's that it's difficult to make any sort of changes to the type of spaghetti code that game developers and mobile developers and small startup developers (God help us when they come in the same package) write when they naively assume they "don't have time" to write good code. This isn't limited to these fields, but these particular types of people tend to be the least matured into their programming.

But yeah, be the workman who blames his tools. It's Ouya's fault that you can't write the bare simplest menu style in the field of gaming.

[1] The wifi might be slow (I don't know if I have an interference problem yet) and some of the controller buttons get snagged on the inside edge of the faceplate if I press them too hard. The wifi might not be their fault and I can fix the faceplate on my own. Brand new hardware from a brand new company is going to have some rough edges (literally, in this case).</comment>


Software Sucks Because QA and Testing Are Underpaid and Misunderstood - <AUTHOR> https://medium.com/@tracyrolling/software-sucks-because-qa-and-testing-are-underpaid-and-misunderstood-907f44d1f7b5 <comment><USER2> _" A great tester is proud to break things."_

That might (or might not) be true, but this statement is part of why software sucks. Testing software will certainly involve breaking things. But a lot of software testing is confirming that the damned thing actually does what it says on the tin. It reminds me of a long-discarded interview question: test a blender. Candidates would throw rocks in it, flip it on/off a million times, turn it on upside down, etc. One thing that I'd guess 90% missed: throw some fruit in it and confirm that it will make a smoothie. A software tester's primary goal is not to break software, it is to give a report on the current state of the product: what works, what doesn't.

The other reason software sucks is because we call the team "QA", as if to imply that if it makes it past those folks, we're done. If it were truly "quality assurance", then a test team would have leeway to say, "there are no unit tests, we're not accepting this build". A _QA_ team could tell the dev team that they will run static analysis tools on the code before a build is released. Or whatever, you get the idea. But software development as it is currently practiced does "QC", or quality control. The QC team has little bearing on the quality, they're just there to make sure it's not a steaming pile, and to give the rest of the team a direction in which to point that finger. If QA teams were allowed to do actual QA, maybe software would suck a little less.

<comment><USER3> Making sure it works is a management problem. It's effectively ensuring people are solving the right problem. Testers can point things out but they won't get far saying the premise is wrong.</comment></comment>


Ask HN: First time to speak at a tech conference tomorrow, any tips? - <AUTHOR> I've prepared a bunch, but anyone have any tips/experiences/what to expect? I'll be talking about things I've learned to get better as a developer (junior -> intermediate). <comment><USER2> Good luck!

If you are capable of doing so, try to avoid verbal fillers, especially "you know" and "umm". Ideally, you pause and let the audience catch up. It is a lot harder to do this in practice, especially if you are not practiced with public speaking (Toastmasters is excellent for this).

Nervousness can make people speak faster. Don't worry about getting through all of your slides, if you have slides. It's not a race to the Q&A slide. Confidence can be projected by speaking assuredly.

If you don't have a podium, avoid jamming your hands in your pockets. That feels and looks awkward. Try simply just hanging your arms at your side, relaxed, bringing your hands up when you want to gesture.

If there is a room in which you are speaking, stand near the entrance and shake people's hands as they enter. This is a simple trick to make yourself less nervous if you are not as comfortable speaking to strangers as you are to people who you know. The idea here is that by shaking hands, you've already "met" some of the audience.

Finally, don't be afraid to share your mistakes and failures and even make a joke about them. Failure makes you relatable to the audience.

<comment><AUTHOR> Thank you! Those are all helpful tips. Yup, I have sort of a script written. Instead of "you know", I'll just try pausing. I might actually reference this thread in the presentation just to show my human side. :)</comment></comment>


Kindle Fire could be hotter than iPad this holiday season, study finds - <AUTHOR> http://www.bgr.com/2011/11/10/kindle-fire-could-be-hotter-than-ipad-this-holiday-season-study-finds/

<comment><USER2> Seth Meyers nailed it:

 _"In an effort to compete with the iPad, Amazon Wednesday unveiled their new tablet computer called the Kindle Fire which will retail for $199. It's expected to sell well among parents who always buy the wrong thing."_

</comment><comment><USER3> It looks like a decent tablet and it's $200, what's not to like? I'd rather have an iPad but there is a good chance I'll pick up a Fire based on the "bang for your buck" factor.

</comment><comment><USER4> If it has the right software and is easy enough to use, I can see this happening. Given the choice between a $400 iPad and a $200 Kindle Fire I think I can see a lot of people taking the cheaper option.

Whether it is sustainable will depend on the performance/usability of the Kindle. The problem with current iPad competitors is that at best, they come in at the same price point as the iPad and fall far short in terms of usability.

<comment><USER5> The cheapest iPad 2 is $499. Are you talking about the one year old iPad?

<comment><USER6> You can find refurbished iPad 1s online for $250-$300.

</comment></comment></comment><comment><USER7> Speaking as someone who pre-ordered the original iPad, has an iPad 2, has bought iPads for everyone in the family, and loves the iPad -- I preordered a Kindle Fire.

The funny thing is that the iPad started out as a media consumption device but rapidly became a pretty decent all-round device (it doesn't replace a "real" computer but it sure reduces the need to have one around), but it's still 1.5lb and quite big for, say, reading in bed. I prefer reading an iPad to reading a book (I'm reading Clash on Kings in paperback right now, and almost wishing I'd paid -- double -- for the Kindle version) but I'd prefer reading something as small and light as a Kindle to an iPad if it had a color backlit display. (I'd have bought a color Nook if they could play Kindle books.)

Oh look, the Fire has a color backlit display.

<comment><USER8> The nook reads kindle books just fine with the right calibre plugins.

</comment></comment><comment><USER9> Considering the iPad has been on sale for the last 2 years and have already sold millions, I don't find this surprising since the Kindle Fire just went on sale.

Now if Apple had released a iPad 3 at the same time as the Kindle Fire was released for pre-order, that would be more surprising.

</comment><comment><USER10> Amazon will soon be the Nokia of tablets and eReaders. Not fancy, but cheap.

<comment><USER11> Nokia produced the best mobile phones back in the day, solid quality and fair price. They just missed the smartphone trend and when they still could get back they refused to be mere "hardware-producers" and out of pride they didn't cooperate with Android.

So in no way Amazon and Nokia are comparable.

The only thing I don't like about the Kindle Fire is that (although Android is used) the Android-Market will not be useable

<comment><USER12> I'm actually glad the Fire won't have the Market on it. Presuming it does sell like hotcakes; the Fire (and any related Amazon devices) becomes incentive for Google to ensure that Android stays open. Forcing a fork (by closing the source) would shatter the Android developer community; bigger devs have to use more resources to stay compatible with both sides, smaller ones have to choose a side, and some would decide to leave altogether for a more stable platform. Even if Google "won" the fork, they can't afford to send developers away.

Flip side, there's the possibility that this is exactly the scenario Amazon is hoping for.

</comment></comment></comment><comment><USER13> "CEO Tim Cook reportedly thinks further Android fragmentation brought about by the Kindle Fire will drive consumers to the iPad."

Fragmentation, eh? That's what Apple thinks will be the downfall of Android tablets?

I wonder if the following was ever said about Apple in the past:

CEO Steve Jobs reportedly thinks that further PC fragmentation brought about by yet another PC maker will drive consumers to the Mac.

<comment><USER14> > I wonder if the following was ever said about Apple in the past?

Probably not, but these are different markets, and Apple is in a drastically different position.

I don't own a crystal ball, and I try not to pretend I do, but I do like to play devil's advocate, so I'll take the opposite position here and say that fragmentation _does_ matter in the post-PC market because Apple managed to define the segment, first with the iPhone and followed it up with the iPad.

With the iPhone and iPad, consumers who are used to the traditional PC computing experienced were introduced to a closed-loop vendor relationship. For all the warts that we (geeks) see, this is a fantastic experience for many consumers.

Case in point: this last week, I was in Ohio (I live in Florida). I had a problem with my MacBook Pro, and I had none of the things I needed to fix it. I used the Apple Store app to schedule a Genius appointment, dropped my laptop off, had lunch, and walked out of the store with a fully functional laptop, all within the span of a couple hours. My partners now take this level of service for granted. We recently switched to all Apple equipment after very positive experiences with iPhones and iPads.

When you contrast this to the typical PC vendor relationship, there are stark contrasts:

* Where do I take my Dell/HP/Acer computer to be repaired?

* When I call Dell/HP/Acer, what is the experience like?

* What are the costs associated with the repair?

In the case of Apple, it's Apple, Apple, and (often) zero. I have AppleCare on my MacBook Pro, but as it turns out, it didn't matter. Apple will perform simple software fixes at the Genius Bar for free, even if you're not covered by warranty. Are there cases where it would have cost me money? Plenty, but there wouldn't be any confusion over who I need to talk to. This leads to a high level of satisfaction [1].

Fragmentation has a significant impact on the consumer experience. "Android" has become a brand, but there is no consistency in revision, manufacturer, or expectation of service. All of these lead to open questions and insecurities in the minds of consumers. As the price of the device and term of commitment extends in to hundreds of dollars and multiple years, the opportunity for a negative experience compounds. Next thing you know, Uncle Dave is standing in the Verizon store frustrated because the counter clerk doesn't know why all his email account won't work with his phone. Why can't he run the app he just downloaded from the internet? When will updates be available for his phone? Lot's of open questions.

1 - [http://www.engadget.com/2011/09/09/apple-tops-j-d-power- cust...](http://www.engadget.com/2011/09/09/apple-tops-j-d-power-customer- satisfaction-survey-grim-reading/)

</comment></comment><comment><USER15> This doesn't come a huge surprise. Since a consumer could buy a kindle, 2 kindle touches, and a kindle fire (or some combination) for the same prices a the lowest model iPad. These prices are going to make kindle products really popular for gifts during the holiday season. I think they are going to do extremely well.

</comment><comment><USER16> I would be interesting to do this survery at the start of december , after some 5 million(or more) people would get their pre-ordered kindle fire and use it, talk about it and show it to their friends.

</comment><comment><USER17> Makes sense to me. I was already looking into buying a Kindle Fire for my mom. Don't have the money for an iPad.

</comment><comment><USER18> Speculation.

</comment><comment><USER6> Personally I prefer a refurbished iPad 1. I can get one for $250-$300 online.

<comment><USER7> Don't see why you got down voted. It's a valid opinion. Speaking as someone with an iPad and iPad 2 (both of which I love) they're a tad heavy for reading in bed. So are thick paperbacks, but the Kindle and Kindle Fire might just win on this factor alone.

<comment><USER6> I use my iPhone 4S as an e-reader before going to sleep. my iPad 2 for the rest of the day. my 4 year old son is using our old iPad 1 and he loves it.</comment></comment></comment>


Google's Common Expression Language for Expression Evaluation - <AUTHOR> https://opensource.google.com/projects/cel <comment><AUTHOR> # Fast, portable, non-Turing complete expression evaluation

Common Expression Language (CEL) is a non-Turing complete language designed for simplicity, speed, safety, and portability. CEL is designed to be evaluated without a sandbox, making it ideal for use within latency critical applications.

## Features

      - Familiar C-like syntax common to C++, Go, Java, and TypeScript.

      - Gradual typing with first-class support for Protobuf and JSON types.

      - High performance evaluators in C++ and Go with a rich set of standard operators.

## How Google uses Common Expression Language __

Google uses CEL as the expression component of IAM and Firebase security policies, as well as within Istio Mixer configs.</comment>


Ask HN: Going semi-freelance, quitting the 8-5? - <AUTHOR>

hey all you HN'ers, I've been mulling over this decision this weekend and thought I'd get some input from people who are actually doing it.
I got an offer from someone I do a lot of freelance work for on the side for a full time job as a technical lead/lead programmer type position. Offers me the ability to telecommute, flex hours and paid healthcare, on top of that it matches my current salary pre-healthcare.
So in your experience fellas, what are some serious pros/cons to this? I grew up in family businesses and am no stranger to keeping myself disciplined and motivated, so hopefully that won't be much of an issue.
Any input is greatly appreciated, thanks!
EDIT: Forgot to make it clear, it's still a freelance position, but the contract will have guaranteed hours/pay/schedule to cover us both. <comment><USER2> If you have a sense of unease, then maybe your gut is trying to tell you something.

How reliable is this person? How long is the work guaranteed for? What backing is there for the guarantee? Have you done due diligence on their business? What would happen if it doesn't work out? How does your work add value to their business? What happens after you sort out the current problems? or complete the scope of work?

Whatever you decide upon, make sure you document everything! The very act of minuting every decision, seems to improve the quality of decision making. Of course, you want to make sure there are unambiguous, signed-off specs for all work to be done.

<comment><AUTHOR> All very good points indeed.

I've been working for this person for over three years with side-business, we have a solid understanding of each other and I understand their brands and projects because of this. I also know that the work is steady enough that the company is still going and growing after those three years.

The scope of work luckily is an ongoing thing, basically the position is technical lead for one of their largest clients and also technical lead on a lot of new business as well.

I'll admit, there is a large degree of impulse in my decision here (turned in resignation today ack!), but also I've been working towards this goal for years now and have built a solid relationship and understanding with them, if nothing else it will be a lot of new and exciting experience and I think the next logical step in my career. I just can't see myself moving any further/faster with my current company.

There is always a contract though (I have one with them right now already for the projects I'm working on).

We'll see how it goes, hopefully it turns out alright and I won't have to go out in search of another job in the near future haha!

Thanks for your input, very well thought out.

</comment></comment><comment><USER3> In general it sounds like a great deal -- freelance-type hours but with a regular paycheck and health benefits.

I had a similar position once and it was great for my family. I never had to miss anything important and had no commute. The only con was lack of face-time with peers.

What are your concerns? It sounds like you are looking for some hidden gotcha.

EDIT: I posted my comment prior to your edit. So, here's my counter-edit :-)

I suggest talking to an accountant. He/She will be able to tell you what costs to keep track of and how to put aside enough for taxes -- and possibly if you're getting a good deal.

<comment><AUTHOR> Thanks, and yes, I am looking for some kind of hidden gotcha, because it sounds a little too good to be true. Maybe I'm just skeptical as it will be my first job outside of a corporation in this field.

Thanks for the input, the lack of face-time I can handle, right now my "peers" at work are all uninterested COBOL programmers aside from the one other .NET guy, so I won't be missing much haah.</comment></comment>


Study: Want a smart baby? TV's not going to help - <AUTHOR> http://www.cnn.com/2009/HEALTH/03/03/babies.watch.TV/index.html I thought this article about early brain development was interesting. Sorry if it is not Hacker News-ish, I mean no harm ;) <comment><USER2> _Researchers did not have data on what kinds of programs the toddlers were watching._

</comment><comment><AUTHOR> I thought this article about early brain development was interesting. Sorry if it is not Hacker News-ish, I mean no harm ;)</comment>


Interview with Deliveroo couriers appealing bargaining-rights decision - <AUTHOR> https://www.theguardian.com/commentisfree/2018/may/24/deliveroo-couriers-dystopia-union <comment><USER2> Serious question: If the conditions are just that bad, why even bother to work for them? There seems to be some sort of equilibrium to me where if it gets bad enough, no one will simply want to do this job, and choose to take some other low paying job (e.g. retail, fast food, etc.).

<comment><USER3> That's true to a certain extent, but experience (19th century beginning-of- industrialization) has taught us that the floor (i.e., the equilibrium) is bad enough that we don't want that sort of circumstances. In other words, it turns out that people want to work to eat so badly that they'll put up with working 14-hour days and letting their 10 year old children work in factories that literally kill 10's of them per year.

I'm not saying gig workers' circumstances are nearly as bad as those in the 19th century, I'm just illustrating the principle. The discussion then continues at 'what is an acceptable equilibrium'. Of which certain people, unsurprisingly, find that today's is not OK.

Note that I'm not saying here which side of the discussion I side on (that's a political question not worth rehashing here I think), just pointing out the (rather obvious) argument against total market freedom in this particular market (labor).

<comment><USER4> Concretely though, in London, it takes under a day to find a "real" job in a restaurant or a bar just by walking around and handing out CVs, even if your English is _very_ bad.

Deliveroo bikers have chosen Deliveroo over those, and there must be a reason for that, which the article fails to mention.

I'm also not taking sides, I just want to point out it's flat out wrong to say "if they're doing this in these conditions, it is probably because they don't have a choice".

<comment><USER5> > it takes under a day to find a "real" job in a restaurant or a bar just by > walking around and handing out CVs

Have you done this?

<comment><USER6> Anecdata, but I have seen it happen many times. My cousin came to Toronto for a few months and wanted some under the table income. I was buying some pastries in a bakery I liked around that time, and noticed they had a hiring sign. I told her about it and she was working there a couple days later.

A former coworker had a similar story. He got into a fight with his wife because she was spending all day in facebook instead of finding a job, so out of frustration and spite he went out to pretty much the first pizza joint he could find and talked to the manager. 30 mins later she now had a job.

Heck, I have another cousin with schizophrenia who managed to land a security job (he didn't last unfortunately due to his condition worsening), but it goes to show finding a low pay job isn't some insurmountable task.

<comment><USER7> Opposing anecdata, my SO's sister had an ivy league degree and spent 3 months looking for jobs until she got the only job she could, front of house work at a bakery. Every other job, service jobs included, turned her down.

Another friend with a strong public school degree who floated around for months interviewing until she moved back with her parents, then finally got a job at the local library.

<comment><USER6> I wonder if over-qualification in resumes plays a role. In the book Nickel and Dimed[1], the author explicitly hid the fact she had higher education even from colleagues. And whereas she complained a lot about working conditions, finding a job per se wasn't a challenge at all (to the point she could even decide between two options at one point), even being restricted to non- intensive labor jobs due to health reasons.

[1] [https://en.wikipedia.org/wiki/Nickel_and_Dimed](https://en.wikipedia.org/wiki/Nickel_and_Dimed)

<comment><USER8> Over-qualification definitely makes a difference. An employer will be reluctant to hire someone that's likely to snag a higher-paying job in a few weeks.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> My brother works as an inventory clerk in a small-town factory in the midwest that makes small batches of custom metal parts sold to other factories.

He has been there several years and is one of the more skilled employees, and makes just under $18,000 per year. No retirement or profit sharing benefits. The work conditions are unsafe, with lax enforcement of safety policies for forklifts, stacks of containers, cleaning chemicals. Most employees are expected to perform the duties of the equivalent of 2-3 workers, including staying late without being paid overtime. The work can be physically grueling at times, even for my brother as inventory clerk, and much worse for some of the general factory floor workers.

The company has three salespeople who make The Office look like it was written by Norman Mailer. They interrupt people to go on diatribes about trite motivational anecdotes, talk about how you have to work hard to get places, and then sit in separate offices playing solitaire on their computers with the door open so that anyone can see them doing it. The company's absentee owner comes in every once in a while and holds catered lunches for the sales team, and literally excludes the ~10 other staff in the warehouse who actually do all of the work. Sales people make 5x-10x what the other staff make, and receive bonuses in the form of fully paid family vacations when they close big sales contracts, despite the fact that the rest of the staff often has to do tons of work to close the contracts, even including assisting the sales people with creating their PowerPoint slides, or pointing out statistical errors in charts and things.

My brother personally has saved them hundreds of thousands of dollars, possibly over a million, just in 2017, by catching quality control issues with batches of metal they received from an overseas supplier, which could have caused the company to lose one of their critical contracts. He also has had to fill in as a last-minute delivery driver for the company delivery van, working late into the night to drive all over a rural area delivering metal parts when the regular delivery driver was out sick.

My brother has 10 days of paid vacation and it's a dogfight every time he wants to use them. His last raise (of $0.25 per hour) was more than a year ago.

The company actively preys upon people with past criminal records, knowing that they are hard up for employment in a region where employment is already hard to find, and that once they are hired they will put up with any degree of degrading treatment. (My brother does not have a criminal record, but about 75% of the general warehouse staff do, and many did not finish high school and have a hard time even understanding the terms of their employment. The current staff are sometimes asked informally if they know any people with criminal records to recommend for open positions). This isn't a case of an employer helping the community by fairly considering ex-criminals for open roles. It's a situation where they tacitly _target_ these people on the assumption they won't have to treat them fairly or respectfully, and can exploit them to a greater degree because they'll have fewer options to leave.

My brother does not have enough personal savings to move away, and likely would have to have a job lined up that paid relocation before he could even consider it, otherwise just moving to a new location would put him at the point of insolvency. Literally, the option of quitting is logically not an option, because it directly implies insolvency and, probably, a dangerously high risk of suicide. So, despite whatever superficial sense one might want to say he is "in a free labor market," it is just disingenuous junk nonsense. No matter how frugally he lives, his amount of salary is just so egregiously low that it could never be possibly to work his way into a better life situation. Not even decades of savings could do it for him, even if he was living at the absolute most extreme end of frugality (which he pretty much already is). He is just not paid a wage that can possibly sustain a viable savings rate, and there are no other jobs nearby, and moving is not economically feasible.

He doesn't have a college degree (dropped out of college due to severe diagnosed clinical depression and anxiety attacks -- still has student loans of course), but is highly intelligent, curious and resourceful. He is one of the few people who can make me laugh. He's a beautiful musician in his spare time, a wonderfully witty writer, and generous with his free time spent helping his friends and family and trying to do odd jobs for extra money when he can find opportunities (not often).

And there are many people in the US with even worse employment exploitation situations than my brother -- and vastly worse situations around the world. His story is already so bad we should be morally outraged by it, and it's not even among the worst stories you'll hear. I can't imagine what it's like to be in a similar situation to his, and then to add racial abuse, sexual harassment, or other forms of discrimination or marginalization on top of it.

It just blows my mind sometimes how ignorant we all can be of the genuine _exploitation_ in our labor market. There's no sense in which it's a morally acceptable reflection of some market equilibrium. It's just: one side has inherited power and uses power to accrue and entrench more power; the other side is literally in serfdom. Even when people "earn" positions of power through economically productive output, it's on the backs of people in these situations, and through infinite other forms of mass exploitation, in the form of regulatory capture, backroom deals, outright fraud, and manipulation of publicly provided resources. The part attributable to any one person's work ethic or natural talent is so fleetingly small that it's just shocking how we still try to glorify it and hold it up as an example of why they "earned" power and wealth, and why those being exploited somehow are always to blame for it.

<comment><USER4> This is very well put and the way you describe the intra-company blue-collar / white-collar divide is on the money. You are right, this sucks.

I'm more skeptical about not being in a free labor market. I know many people in London who get by on the minimum wage (~16K). I doubt the cost of living in a small-town factory in the Midwest is comparable to the cost of living in London.

It's a shitty situation, sure, but it sounds like a far cry from not being able to change jobs because a single day without any income would lead to insolvency.

<comment><USER10>
      I know many people in London who get by on
      the minimum wage (~16K).

What sort of rent are they paying?

<comment><USER11> It's not ideal but you can share a house with a bunch of people through rent- sharing websites for £200-400 depending on the zone. I personally used that for a short stay while searching for something decent closer to zone 1 to share with my friends, and saved some money at the same time. It definitely wasn't as awful as I was expecting.

<comment><USER9> In some ways, this type of solution assumes one to be a young person, without obligations like e.g. a newborn to take care of, or types of mental illness that might make it untenable to like in a dorm-like environment further into adulthood.

For people who can sustain this situation, it does offer ways to have a higher quality of life even on a low salary. But a lot of people have families to raise and personal situations to manage that are fundamentally incompatible with it, requiring them to afford other living arrangements, creating a bigger stress factor upon on their budget.

</comment></comment></comment></comment></comment><comment><USER12> I have worked as a Deliveroo courier in London for a good while. I had no problems with it.

The issue as I see it is with people relying on their employer, client, whatever you wish to call it.

Business is business. If you treat it as anything other, you will eventually encounter issues (especially at the lower end).

The union stuff should be seen in that framework. It's a negotiation.

I got on my bike, made ten quid an hour in some free time, got a bit of exercise, and that was that. It's obviously not a career.

It's kind of frustrating to see people hypothesise. Go and apply and do it and see what it's like, the barrier to entry is near zero.

</comment><comment><USER13> One thing to note, whilst article claims that nobody would utilise the substitution clause, this is false. It's unusual, but it does happen. I work for a business with Deliveroo couriers as customers, and it's occasionally asked by some of them whether we support substitute drivers.

</comment><comment><USER14> On a different reading and assessment:

Many jobs, no, most jobs are combinations of small individual parts of a whole action. And this shows that piecemeal work by dozens of different people not only works, but bypasses the whole level of employee/employer level controls.

Take a lawyer's job for example.. The research can be farmed off crowdsourced style. Nobody has to know what the case is about, only the search parameters given. All the gruntwork can be contracted can be cheaply contracted with little knowledge about the actual case. Then, a paralegal, again contracted out, can sign the appropriate NDA and do the paperwork for the filing. And finally, the actual lawyer just signs their name after a quick review. This is doable right now.

We also see this in medical establishments, where interns (aka: unlicensed people) can actually do surgery under a doctor's license. I could see mega- health orgs using maybe 4-5 doctors, and hire hyperspecialized interns to do the gruntwork. The doctors would primarily overview routine stuff and take over in catastrophes.

The only people who're safe right now are us automators. My labor = 1000 or 10000 physical laborers, as my tools (computers) give me leverage of a massive multiplier. A journeyman's tools maybe provide *5 labor speedup. And these contract delivery people are literally 1x. (It's shitty to compare, but that's what capitalism already does with $$$/yr)

<comment><USER15> Except lawyers and doctors are highly protective of their employment and status. There's often a numerus clausus in universities, limiting the number of doctors that enter the field. And there's the FDA which controls medical practices, and since they consist of medically trained people, they are probably also highly protective of the status quo.

<comment><USER16> > There's often a numerus clausus in universities, limiting the number of > doctors that enter the field.

The number of doctors that enter the field is limited not by the number of people who graduate with medical degrees, but by the number of residency positions available for training. Every year, we graduate more medical students than we have residency slots available, and that's not including foreign graduates who do their medical studies abroad but want to practice in the US. There is no artificial limit for residency slots; the limit is the amount of funding available.

Most of these are heavily subsidized by the government. Hospitals are free to create their own positions in addition, if they can fund them themselves. Very few do, because residency programs actually lose money on margin.

</comment></comment></comment><comment> kyle-rb >Such a system encourages riders to travel at dangerous speeds: once, 25-year- old Mohaan came off his motorbike and badly injured his knee cap, but continued to his destination for fear that terminating the job would get him the sack.

So this is basically Snow Crash.

</comment><comment><USER17> Too bad the governments of the world seem more interested in protecting the corporations than the general population.

<comment><USER18> Government is a corporation. Corporations are the government.

</comment></comment><comment><USER19> To me, the real takeaway is this:

> unlike, say, immigration law, there is weak enforcement of employment law.

For me in the US, this is the crux of the current wave of anti-immigrant sentiment. The problem isn't "immigrants stealing our jobs." It's shitty jobs that don't cover basic costs and have inhumane working conditions. But the people in power have done a great job of misdirecting people's attention to immigrants. Boy are they going to be disappointed when all the immigrants are gone and they still can't make a living.

<comment><USER20> Shouldn't the decrease in available labor as a result of decreased immigration lead to wage increases? Particularly for jobs that aren't going to be shipped overseas (construction, manual labor..).

EDIT: I know the topic of immigration can evoke strong emotions. I'm just pointing out that a decrease in labor pool ought to increase wages. Isn't this just law of supply/demand?

<comment><USER19> You would think that. The problem is they still can't find people to fill the jobs. (Or maybe more accurately, people believe they are above doing those types of jobs.) Take for example this Planet Money piece [1]:

>Tom Deardorff has had to compete for workers. He's raised their pay by actually quite a lot. Back in 2006, working the celery field paid about $8.70 an hour. Now it pays more than $21 an hour. [...] Tom says his workers all are documented and that even _doubling wages hasn 't solved the labor problem_.

[1]: [https://www.npr.org/2018/05/03/607996811/worker-shortage- hur...](https://www.npr.org/2018/05/03/607996811/worker-shortage-hurts- californias-agriculture-industry)

<comment><USER21> If he paid $100 per hour, I think he'd probably find enough people to do the job.

If that causes celery prices to rise so high that no one wants to buy it, then maybe celery just isn't an economically viable crop.

</comment></comment></comment></comment><comment><USER22> Good that it is absolutely not an one-sided article, favoring the viewpoint of the union exclusively. Garnered with some anecdotes of somebody having had an accident on the job once, or people sometimes not having assignments, to make it all seem oh so horrible.

I would guess a lot of these Couriers are quite happy with their existence. It enables them to earn some money on the side, while they try to become starving artists or whatever.

In any case, the cure for worker exploitation is not more rules. It is creating more jobs. Then workers with bad jobs can simply switch to a better job.</comment>


Ask HN: As a programmer, would you want a 3D Printable Modeling for programmers? - <AUTHOR>

Lately, with the advent of 3D printing, I get lots of questions about how to make the 3D models for 3D printers. Coming from a programming background, this can seem overwhelming.<p>As a programmer or an engineer, would you like to read a primer to learn how to make 3D models using programming-based modeling CAD like OpenSCAD? Or would you find it easier to learn how to use an interactive CAD, like Blender, TinkerCAD, or Sketchup? <comment><USER2> I was overwhelmed when I first started. I took a class in High School about CAD and 3D modelling but forgot most of it. I used Sketchup to mess around. I had a project I wanted to build and learn on my own. I just found it a little too time consuming. I followed some Sketchup video tutorials that help learning how to switch tools quickly and talks about the tools that are best for certain shapes. From what I have noticed 3D modelling is a lot of trial and error.

<comment><AUTHOR> Thanks for the response! What would you say was your biggest hurdle getting started at the time?

<comment><USER2> Measurement scale. Working with fractions of an inch. I also had difficulties with alignment. These are things that improve with practice.</comment></comment></comment>


Ask HN: Where do you host your explainer video? - <AUTHOR>

<comment><USER2> Does anybody watch explainer videos? I never do and if I you can't explain yourself w text you can find yourself another prospect.

<comment><AUTHOR> Now that was an incredibly useful answer to my question. Thank you so very much.

</comment></comment><comment><USER3> Wistia.com</comment>


Jaco Is a Low-Power Robot Arm That Hooks to Your Wheelchair - <AUTHOR> https://spectrum.ieee.org/the-human-os/robotics/medical-robots/robot-arm-helps-disabled-11-year-old-girl-show-horse-in-competition <comment><USER2> That is pretty cool!

I would like to see a video of it working but it seems like a very handy thing for quadriplegics.</comment>


Cirrus Vision – Single-engine personal jet aircraft - <AUTHOR> http://money.cnn.com/2017/05/19/luxury/personal-jet/ <comment><USER2> Its speed and range specs are so poor that it is joke of a jet. It performs worse than many turboprops. Can totally see no point in owning this.

There are no 'real' jets below Embraer Phenom 100 $4M price tag, sorry. Cessna Mustang at $3.3M but it doesn't have 'real' toilet. Or Eclipse 550 at $3M but it has none at all.

There are aftermarket conversions of old Cessna Citations like Sierra, they start from $1M used or $2M new and provide a killer value compared to any of these, with 3000-4000km range, full size toilet and much bigger/comfier cabins.

<comment><USER3> I mean this with sincere curiosity - why do the toilets dictate the 'realness' of a jet?

<comment><USER2> Definitely. There is no potential for charter operations for a plane with no toilet. Many companies learned it the hard way trying to operate the Eclipse. With no charter market, plane is dead because there are never enough hobby pilots to buy it to pay back sunk costs. For low-range flights <600 miles where operating without toilet is feasible, helicopter works better.

</comment></comment></comment><comment><USER4> > The experienced pilot sitting beside me assured me I couldn't crash the > plane. It pretty much wouldn't let me.

Isn't this what Airbus used to say?

Since computers are doing more and more of the flying, the one thing that is heard on Cockpit Voice recorder before the rash is "What is the plane doing?" There is a lot of research in this domain, there is no way we will go back to full manual flying, but there is a lot of research in how to let the pilot know what the airplane is doing in a clear manner that is obvious even during a stressful situation.

Two examples of planes crashing because of misunderstanding between the pilots and the computers:

\- [https://en.wikipedia.org/wiki/TAM_Transportes_A%C3%A9reos_Re...](https://en.wikipedia.org/wiki/TAM_Transportes_A%C3%A9reos_Regionais_Flight_402) The reverser deployed on one side, did not let the pilot know, the computer cut the power on that side, did not let the pilot know why, the pilots assumed there issue was the power being cut off for no reason, so reapplying it making the situation worse

\- [https://en.wikipedia.org/wiki/Scandinavian_Airlines_Flight_7...](https://en.wikipedia.org/wiki/Scandinavian_Airlines_Flight_751) The pilots reduce power on one-side because of surging in that engine, the computer saw that as an anomaly and increased power in both engine resulting in the break up of both engine. The computer never told the pilots what it was doing, the pilot had never been briefed on this mechanism. The captain retired as he felt he could no longer flying safely if he didn't know what the planes were doing.

<comment><USER5> Yep, it's all fun and games until your ASI goes haywire because of ice or a bug in your pitot tube, see

[https://en.wikipedia.org/wiki/Air_France_Flight_447#Final_re...](https://en.wikipedia.org/wiki/Air_France_Flight_447#Final_report)

However one thing I _DO_ find clever about the Vision is their fully integrated AOA indicator as a primary instrument. This seems to be gaining traction in the industry overall, which should have positive impact on flight safety.

</comment></comment><comment><USER6> For $2 mil, you get a brand new plane with jet engine, modern cockpit for two pilots, and a parachute for the entire plane. I'd say that's revolutionary. No toilet? Is that such a big deal on small planes like this?

<comment><USER7> Considering you'll have to land before 1100 km and that shouldn't take more than an hour and a half, I'd say it's more nitpicking than a real issue. Just take it into account and go to the toilet beforehand, with some plastic bags or empty bottles for emergencies.

</comment></comment><comment><USER8> How does this compare: [http://www.velocityaircraft.com/airplane-models- vtwin.html](http://www.velocityaircraft.com/airplane-models-vtwin.html)

<comment><USER9> Incomparable, other than they both fly.

The Cirrus vision is a certified, pressurized turbofan aircraft. The Velocity is an experimental, piston engined unpressurized aircraft.

It's like comparing a garage-built VW replica with a Maybach.

</comment></comment><comment><USER10> Regarding bathroom comments:

This seems to be a personal vehicle for very rich people. Most cars don't have bathrooms either.

<comment><USER11> But even the very rich need to use the bathroom from time to time, and landing a jet is significantly more involved than stopping a car for a break.

<comment><AUTHOR> "relief station" portable toilet that is available as an option "just in case of emergency,"

[http://m.aviationweek.com/ebace-2015/cirrus-closes- personal-...](http://m.aviationweek.com/ebace-2015/cirrus-closes-personal-jet- finish-line-after-10-year-stretch)

<comment><USER12> Hard to imagine paying $2 million for a plane and shitting in a bucket behind a curtain.

<comment><USER13> There's a good story about that... [https://medium.com/@JohnLeFevre/the- roadshow-aka-the-worst-p...](https://medium.com/@JohnLeFevre/the-roadshow-aka- the-worst-private-plane-trip-of-all-time-3eb88ab42b18)

</comment></comment></comment></comment></comment><comment><USER14> I expected to find a modern equivalent to the Bede BD-5J ( single-engine, single-seat ) but it's just another small-cabin jet. Even Gulfstream tried that back in the 1980s with the single-engine Peregrine.

</comment><comment><USER15> Fuel consumption works out to between 2 and 4 mpg, depending on payload.

</comment><comment><USER16> Do the parachutes work reliably?

Presumably once it's deployed you lose all control, and land wherever, which might be okay if you land on a field, but what about a lake?

<comment><USER17> There is a joke among Cirrus owners that the way to deploy the parachute is to pull it with your right hand, and then call your insurance agent with your left hand. The implication is that the aircraft is likely a total loss from that point.

Of the ~100 Cirrus parachute deployments to date, about 15 planes were repaired and put back into service. There were about 150 survivors and 1 fatality in those deployments. Cirrus says deployments have never failed when the system was being used within limits. I wasn't able to find the circumstances of that death, but the numbers show that yes, the parachutes are reliable.

As you point out, they can't protect you from whatever you land on -- lake, volcano, piranhas, etc.

<comment><USER18> Yeah but who really cares if the plane is a loss? If you pull that lever, you are doing it because you would otherwise probably die. I'd say that's worth a total loss.

<comment><USER17> I doubt anyone does care. You might have misinterpreted the joke as advice not to use the mechanism when it's needed. It's just making light of the next step after surviving having crashed your plane.

</comment></comment></comment></comment><comment><USER19> No toilet? Pass.</comment>


Ask HN: Totally depressed with my situation - <AUTHOR> Hii guys,i belong from india and i am totally depressed by my current situation.Brief way of how i think : I am totally fascinated by technology and how much it contributes to our daily life. The problem here is that everything here is about "rote learning" and marks and nothing much else . I feel totally depressed by this and i am not able to motivate myself to do anything because i hate this thing.Learning is about enjoying and having fun with it and building stuff.Due to this mentality i have just about wasted  my B.tech engineering in Computer Science and can't seem to do anything at all.Future looks quite bleak with no jobs.<p>What can i do now? <comment><USER3> Hang in there. Things will get better.

I know a lot of people who feel the same way. In computer science, you can make your own path to a job:

1\. Do interesting projects in open source 2\. Using (1), apply for internships - offer to work unpaid 3\. Using (2), get relevant experience on your resume 4\. Apply for jobs - there are interesting startups that look more at skill than degrees.

These steps have nothing to do with your degree at all. You are quite lucky to be in CS where the skills matter more than the degree - make use of it!

<comment><AUTHOR> Okay a brief more about me: 1)Missed out on gsoc by a little bit .. My idea discussion thread [https://groups.google.com/forum/#!topic/archesproject/Ys4ejT...](https://groups.google.com/forum/#!topic/archesproject/Ys4ejTfEuTU)

2)After that kept on looking for open source projects ... found some to do as well ... but could not sustain it.One of the major problems is that i like to interact and discuss things and when that doesn't happen,i get disconnected!!I belong to a local engineering college in delhi and it becomes hard to find people who discuss stuff about opensource and other things.

</comment></comment><comment><USER4> Money or Grades cant buy you back what college could take from you - <USER2> fascination by technology.

Set your priorities and decide if that degree is worth the cost.

And what akg_67 said: Focus on what you like. When something depresses you, do something different.

<comment><AUTHOR> okay i have thought of dropping out quite a lot but i don't see any people replicating in india anything of the sort of silicon valley guys who dropped out.I understand that india is still in its nascent stage and it will take time for a tech company from india to have a global impact but even then i don't see any dropouts who made a huge impact in tech sector in india.So how can i take such a risk?

</comment></comment><comment><AUTHOR> One more thing i wanted to know, Can Indians get selected to various job links of startups or others posted in HN?What's the deal with it?

<comment><USER5> You can get selected, but only problem is not all of them sponsors. If they do, you are in luck.

</comment></comment><comment><USER6> Break out of the indian culture and look to get a sponsored visa by a company overseas perhaps.

</comment><comment><USER7> If you don't think anyone will give you the opportunity to build stuff, just ...

Hire yourself.

<comment><AUTHOR> Hmm .. Wow .. I have been looking for some project to build,can you suggest something which can be really useful ? Web development would be cool!

</comment></comment><comment><USER8> Why not end school with your best and go from there?

<comment><AUTHOR> School seems like hell!!I just literally don't want to go there in the morning and just want to get back as soon as possible.The problem here is i don't find any excitement there.People just don't care about coding and tech and teachers have hard problems solving problems and it's a vicious cycle as jobs will only come by marks and marks will only come by "rote" learning.

<comment><USER9> Get into hacker mentality. Do what you need to do to get what you want! If you want job and job will come by marks, then focus on marks. If you want marks and marks will only come by rote learning, then focus on rote learning.

If you believe there is another way to go about it, you should try doing that. If getting depressed will get you there, then go at it otherwise you are wasting your time and energy by getting depressed.

Focus on things that you can control, focus on influencing things that you can influence. But if things you can't control or influence then either hack it or don't worry about it.</comment></comment></comment>


Ask HN: Engineers, how do you decide when it's time to quit? - <AUTHOR> I've been at my company for a few years, and I've become a domain expert in many areas of the business that people rely on. I enjoy my coworkers and have great hours as an engineer, but I'm paid 20% under market rate and feel like I'm not really being challenged (unless I go out of my way to create a challenge for myself).
I feel as though I'm growing content with my position, and don't want to leave unless I find something perfect. Am I being naive in my desires?
How do you decide when it's time to leave a business that you, for all intents-and-purposes enjoy growing with?
(this is a throwaway account as my coworkers know my normal account) <comment><USER2> When I'm motivated enough to ask others what they think, it means I'm look for validation of either one or the other. So I say you should quit. Now you feel? there is your answer.

Don't look for perfect, but do look around for a while. Update your linkedin profile and the recuiters will come quickly.</comment>


How I Solved Instagram's Hashtag Problem - <AUTHOR> https://medium.com/upcurve-labs-blog/how-i-solved-instagrams-hashtag-problem-af90227e581a#.s6u5lmdkk <comment><AUTHOR> Would love to have some feedback on this app from the Hacker News community.

Comment your thoughts, suggestions and bugs findings here, lets have an active discussion to make this better for all.</comment>


Rohingya turn to blockchain to solve identity crisis - <AUTHOR> https://www.theguardian.com/world/2018/aug/21/rohingya-turn-to-blockchain-to-solve-identity-crisis <comment><USER2> A people's lack of identity in a nation is a _civil_ problem. Technology does not solve civil problems. I don't see any indication in this article how blockchain-based identities will solve the civil problems faced by the Rohingya people; specifically, if the nation they are in does not want to grant them citizenship or basic rights, I don't see how asserting one's identity in the blockchain solves that.

The article states: _" Noor's goal is to give Rohingya the power to reclaim their identities with a resilient system that their host countries will recognise, allowing them access to social programmes, legal rights, education and healthcare."_ But that's begging the question. The problem is that the state won't recognize them. Why would a blockchain based solution change that?

<comment><USER3> It's valuable to remember facts today, before they're forgotten, even if today's institutions don't attach the desired significance to them.

<comment><USER4> > _It 's valuable to remember facts today_

The last thing you want to do to an oppressed minority in an autocratic state is compile a public membership list. This article is someone tagging their pet fad to a humanitarian crisis.

<comment><USER3> I doubt an identity system designed today would have JPEGs and plain text in a great big XML file. More likely it'd contain digital signatures of hashed documents, including structures that could verify but not reconstruct biometrics. So the blockchain (or "list," if you prefer) would be able to answer yes/no questions, but that's it.

</comment></comment></comment></comment><comment><USER5> Blockchain person: "Hey just prove to me you're a real Rohingya refugee and I'll add you to my blockchain"

Rohingya refugee: "But isn't a blockchain supposed to be trustless. Aren't we just trusting you to verify me?"

Blockchain person: "Yeah whatever, do you want to be on my blockchain or not? I got a lot of funding for this"

Rohingya refugee: "Sure okay"

Rohingya refugee Myanmar government: "Hey I'm a real person. I'm on this fella's blockchain. That proves it."

Myanmar govenrment: "We don't care."

</comment><comment><USER6> I'm close to some aid workers in this part of the world. There appear to be a bunch of wide-eyed technologists desperate to foist blockchain on the whole crisis, from recording health records to this. That the "Rohingya are turning to it" rather than a few people are Really Excited About Blockchain is not well supported.

<comment><USER7> Sadly, the history of people faced with difficult, complex problems turning to opportunistc 'one weird trick' quacks out of desperation is long and depressing.

</comment></comment><comment><USER8> "Immutable record" doesn't really work with "birth", "death", or "accidentally incorrect details".

Allowing mutability to any of those things doesn't work well with preventing hostile forces with far more resources from corrupting your records — even a bug free implementation should, on topics like this, _presume_ the hostile attackers can mount a 51% attack.

(I'd go further and assume hostile actors could mount a 99.99% attack when it's homeless stateless refugees fleeing hundreds of thousands of armed malitia).

<comment><USER9> if you treat the blockchain as an event-sourced datastore, you could publish amendment updates. Then you can rebuild the original record and all the amendments into a latest-accurate record.

<comment><USER8> How do you know which "death" records are accurate? Or if such records are complete?

<comment><USER9> It's impossible to know without eg signing the record with the person's key, but you can at least see the history of modifications so information can't be hidden by overwriting or deleting it.

<comment><USER8> Overwriting and deleting are not the only ways to hide things. Truth can be hidden if buried under a randomised pile of noise, of "corrections" and counter-corrections - who would rely on a database which needs to be cleaned up against deliberate hostile damage?

<comment><USER9> presumably you would want to restrict writing anyway. I thought that was implicit - any open-write platform is going to go to shit if it's immutable.

<comment><USER8> Then you (still, but this time explicitly) remove the only benefit blockchain really provides — of not needing to trust anyone involved.

<comment><USER9> I'm not arguing that using a blockchain makes sense here - I'm firmly in the anti-blockchain-overuse camp. I was making a point about how you could provide a mutable record within an immutable event chain.

<comment><USER8> Then we are in agreement — I was mistaken about your position mainly because of your "implicit"-ness argument.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> Putting disenfranchised poor people on a list to keep track of them that is controllable by whoever has the most electricity/money doesn't sound like a form of empowerment.

<comment><USER11> But blockchain!

</comment></comment><comment><USER12> How is the blockchain useful here? Why don't they maintain a git repository as a distributed database and issue digital identity cards using X.509?

<comment><USER13> Part of an undertaking this big is securing funding and political/social support. Being a bit "trendy" helps with those.

<comment><USER14> This is the most plausible rationale for doing it with blockchains (see also: many other blockchains)

The whole system appears to rely on a trusted group certifying the [probable] authenticity of an individual's records and Rohingya refugee status, in which case you might as well let them host it on a well-backed up regular database...

<comment><USER3> It's possible, even easy, to insert fake attestations that biometric B corresponds to identity I. But an append-only log has the advantage over other databases that a simple older-record-wins heuristic is likely to prefer genuine identity records.

A regular database has no way to make it infeasible to insert fake old records. Sure, you can publish checkpoints. But that doesn't work so well when you're up against a government that wants to erase your entire ethnicity.

<comment><USER14> Isn't the _sufficiently determined government_ with the ability to compromise an organization's computers almost as much of a threat to carry out 51% attacks on its private blockchain as to successfully target distributed copies of database checkpoints?

(In practice, I think the Myanmar government's strategy would simply be to disregard the database rather than to attack it anyway, on the basis the local prejudice against the Rohingya isn't based around their numbers or individual identities but the claim that they are actually Bangladeshi illegal immigrants lying about Myanmar ancestry and land)

<comment><USER3> Yes, it is a threat. That's why I'm not sure why they're not just using Ethereum. Well, I think I know why -- "let's use Ethereum!" isn't a fundable startup idea. But it's too bad, because I have a feeling Myanmar doesn't have even enough compute power to double-spend a single CryptoKitty.

And yeah, a government would certainly try to ignore facts it didn't like.

</comment></comment></comment></comment></comment></comment><comment><USER15> I don't think it's a very good idea to record immutably and publicly your "indesirable" status. Sounds like it will just make ethnic cleansing easier

<comment><USER16> Ordinarily, I'd agree with this, except to look at how this series of events transpired, one gets the sense that the aggressors in this scenario did not give a shit about identity as they went about (and continue to go about) dealing death (and worse) to pretty much anything in front of them.

In this case it seemed to be based on regions or zones in rural territories. Anybody in those towns or villages, was in the wrong place at the wrong time, and no amount information was going to make a difference.

I don't think they were going around, checking names and marking clipboards. By all accounts, there was nothing orderly about this one. Little more than a perimeter walked down to a kill zone. The people that got away had to move fast, and of the ones that made it out of the round up, it seemed to be children and people who played dead.

So, add computerized record keeping to the mix. Will it be used to hunt people down? It's probably a concern worth considering, but really the modus operandi seems to be search and destroy eviction from a territory, to clear out an area, not understanding and targeting network nodes in a constellation of peers.

</comment></comment><comment><USER17> Don't blockchains need miners to validate every transaction? Who exactly is going to be running all these computers, and why? What happens when the internet goes down?

<comment><USER3> Would you prefer your local bureaucracy to do those things on paper?

<comment><USER17> Not a question of preference, and not a troll - I'm actually curious about how/if it could work in practice.

<comment><USER3> I don't know. But all the questions asked by OP would be applicable to any computerized system, and I doubt that a identity system designed today would operate entirely offline.

</comment></comment></comment></comment><comment><USER18> What happens if you lose your identity card? Do you have to redo the test, and now there are two of you on the blockchain?

<comment><USER19> The right way to do it is put a revocation record of the old identity on the blockchain.

<comment><USER10> Who has authority to do that?

<comment><USER20> > Who has authority to do that?

 _crickets chirping_

</comment></comment></comment></comment><comment><USER21> "We have a problem."

"Solve it with block-chains!"

"You've not heard my problem yet."

"Doesn't matter!"

<comment><USER3> Did you read the article? The population has real, historical reasons not to trust the traditional centralized provider of identity. A trustless solution is an option worth considering.

Blockchain-overuse snark is not the solution to every blockchain proposal.... especially if you haven't heard the proposal yet.

<comment><USER2> But the difficulty is that the traditional centralized provider of identity is the _state_ , and they are the arbiter of identity because they have power. Being the state in power is why they decide anyone's identity. Declaring your own identity does not change the power dynamic.

<comment><USER3> That's a good point, and I hope nobody is taking the position in this thread that someone has legal rights just because a digital signature matched. Unless the legal body grants that privilege, the match has no meaning.

A decentralized solution removes the question who maintains a centralized database. That's important because, as you say, the answer to that question has always been the state. Which means it's never really been a question.

If you're cool with the government owning your identity -- and truly having the power to erase your entire existence, so they're not denying you any rights because there is no "you" \-- then it doesn't matter. But for some people, it might matter to be able to point to something other than the mirror and say "I exist, and not just because I say I do. This matters because [this entity] is taking actions that are inconsistent with my existence and implied rights."

It's a small step, but it's one that opens up options that don't exist today.

<comment><USER17> A decentralized solution still needs to be hosted by _somebody_. Where is it expected to live? On the PCs of Rohingya refugees?

<comment><USER3> I don't know. Maybe on a Raspberry Pi running on your bookshelf and the bookshelves of 1,000 more people around the world. We wouldn't have that choice if it were centralized.

<comment><USER20> And when you've got this network of RPis running, the Myanmar government simply says "Nope we don't recognize those individuals as citizens. But thanks for compiling a convenient persona non grata list for us!"

</comment></comment></comment></comment></comment></comment></comment><comment><USER22> Modern nation-state is a racket and oligopoly.

So-called "recognized states" make monumental efforts at disallowing creation of new states and at making citizenship scarce, to help keep their monopoly. This doesn't seem to be in the benefit of Earth's people, and also amount of "unrecognized states" grows year by year. Previously, this backlog could only processed by holding a World War.

It's an elephant in a room and I'm quite surprised I've never seen this idea discussed seriously anywhere.

<comment><USER23> The creation of new states is far from a panacea for solving these sorts of conflicts. South Sudanese and Eritrean independence appears to have generally made their lives more miserable, for example.

The real issue is that cultural identity is a very fluid concept, and states can try to steer their citizenry to express a very broad, inclusive notion of cultural attachment (as France and Germany did in the late 19th century) or a very narrow and exclusive sentiment (as the Ottoman Empire did).

<comment><USER22> I think being South Sudanese or Eritrean is much better than being murdered for being a separatist, on ethnic cleansing scale.

What's with the Ottoman Empire in the late 19th century? You seem to refer of it as of something well-know and yet I have no idea.

<comment><USER24> He's talking about the millet system, overlaid with a veneer of constitutionalism and parliamentary activity.

<comment><USER22> After reading about millet system, I still do not understand why it corresponds to "a very narrow and exclusive sentiment".

<comment><USER24> Seriously? If you're only judged by the laws of your own community?</comment></comment></comment></comment></comment></comment>


Fathom.io is an easy-to-run cloud that supports the OpenStack APIs - <AUTHOR> http://fathom.io/

<comment><USER2> Wow - wasn't quite ready for this to go public, but I guess the (Octo)cat is out of the bag now. FathomCloud is an experiment in a really lightweight cloud, supporting existing cloud APIs, starting with the OpenStack API. It uses LXC so you can set it up on any Linux machine, even on EC2. It's also an experiment in trying to figure out new functionality that may be missing from OpenStack or other clouds.

Anyone that builds an XaaS (or even a complex website) ends up building a management layer on top of their cloud; there's no point in everyone rebuilding the same thing, and it should probably have a sane API. FathomCloud can replace that management layer.

There are definitely lots of rough edges. If anyone wants to try it out, please email me with any issues and I'll do my best. And I'm happy to answer any questions!

</comment><comment><USER3> The IPv6 looks interesting, but how do the containers talk to the rest of the internet?

<comment><USER2> Great question! Every container gets an IPv6 and an IPv4 address. The IPv4 address is private (behind NAT), the IPv6 address is routable. So outbound traffic from the instance works to both IPv4 and IPv6.

For a simple instance, inbound traffic only works over IPv6. That's not really practical today, so there's support for floating IPv4 addresses. You can assign one IPv4 to an instance running a load balancer (haproxy, nginx), and then that uses IPv6 to talk to the backend instances. That's going to be documented within the week (I hope!)

Sadly, EC2 doesn't support IPv6, so we use protocol 41 (which wraps IPv6 in IPv4 packets), giving each EC2 instance a 2002: address. They can then talk to each other, or to other FathomCloud instances. They can talk to IPv6 servers that have a 2002: address configured.

Finally, most end-users don't have IPv6 either. There's a trick using SSH and tunnels to give you a quick-and-easy VPN, so you can get onto IPv6 from any machine. I'm going to blog about this, as it's the easiest way to get IPv6 and you get a VPN for free.

So it's a bit messy in the details, but with IPv4 floating IPs I think it all works. Using a single floating IPv4 to a loadbalancer is "the right thing to do" anyway in a cloud webserver setup. And I think it's totally worth it to say goodbye to NAT forever!

</comment></comment><comment><USER4> Is this using the OpenStack codebase or are the APIs reimplemented from scratch?

<comment><USER2> The APIs are re-implemented from scratch, from the OpenStack docs. The docs are pretty good, and the OpenStack community has been pretty good about improving them where there were gaps as well.

Part of the idea was not to use _any_ of the existing OpenStack code. Otherwise the temptation to copy-and-paste from OpenStack would have been too high, and copying and pasting defeats the whole purpose of doing a second implementation.

Equally, while I think there are some concepts that I hope will make it into the official OpenStack (such as a consistent Swift), there can be no copy and paste 'upstream' either because of the language barrier, which means that FathomCloud can be a true playground for experimentation.

<comment><USER4> IMHO that's good. I've done some OpenStack work (a JS client), and I think it could benefit from an alternate implementation - there was too much reverse engineering involved.

<comment><USER2> Sounds interesting - would love a link to your work if it's open source!

<comment><USER4> I raised a bug on CORS support[1], and then switched over to doing it all Serverside.

I was writing a cross-provider control console. Got a fair way along, but haven't released it.

[1][https://bugs.launchpad.net/oslo/+bug/987044](https://bugs.launchpad.net/oslo/+bug/987044)

<comment><USER2> Cool idea. I don't see any reason not to support CORS; all the OpenStack requests require a custom Auth http header anyway, so I don't think there's any danger in turning on CORS there. I didn't see anyone in the Launchpad bug report that was against it.

The only call that I think _might_ be dangerous to expose is the login API, but that should be rate-limited and / or have lockout anyway.

I've opened a bug to support CORS in FathomCloud. It's not a lot of work (I already have the filter in the repo, it's just not configured in). I just want to think it through to make sure it's safe: [https://github.com/fathomdb/cloud/issues/50](https://github.com/fathomdb/cloud/issues/50)

<comment><USER4> If you follow the bug links there was actually an attempt made to fix it, but it was rejected as being incomplete.

I haven't chased it up, but I think it's an important use-case.

<comment><USER2> Thanks for pointing out the patch - I'll review the discussion.

It's definitely an important use case - no argument here :-)</comment></comment></comment></comment></comment></comment></comment></comment>


Bring Us Your Genes: An Icelandic company's quest to conquer disease - <AUTHOR> http://nautil.us/issue/26/color/bring-us-your-genes

<comment><USER2> A point assumed in the article is that MS among others is due to genetics. Pathogen(s) are another possible casual trigger.

To quote "our genes didn't evolve to kill us".</comment>


The Man in the Zebra Suit Knows the Secret of the Stripes - <AUTHOR> https://www.wired.com/2017/01/man-zebra-suit-knows-secret-stripes/ <comment><USER2> Slight scew..

All animal patterns come from same source..

[http://popmath.org.uk/rpamaths/rpampages/leopard.html](http://popmath.org.uk/rpamaths/rpampages/leopard.html)</comment>


XDomain: A pure JavaScript CORS alternative - <AUTHOR> https://github.com/jpillora/xdomain

<comment><USER2> This is an interesting hack: a host script can communicate with scripts in an iframe via the postMessage API and relying on the fact that a script running in the frame can make same-domain requests.

I am worried that people will choose this option just because it is easier rather than use what is technically the right thing to do. (CORS) Please don't use this unless you really have to. The arguments against CORS in the Readme aren't really compelling. The web is messy enough as it is.

<comment><USER3>
        > Please don't use this unless you really have to

CORS is not fully supported in older versions of IE. So that essentially means that we need to resort to these hacks just for IE.

<comment><USER4> It would be nice if we could forego these hacks, as @jabo mentioned, hacking around lack of support is our only choice. If it's not iframe+postMessage, then it'd be flash - either way it's suboptimal.

</comment></comment></comment><comment><USER5> XDomain is not a CORS polyfill as incorrectly stated in the readme. If it actually supported CORS, you could configure it with Access-Control-* headers and it would magically work. I wrote pmxdr[1] and libxdr[2] 5 years ago, which enable the same functionality while also actually supporting CORS headers, so it _does_ magically work after dropping in.

[1]: [https://github.com/eligrey/pmxdr](https://github.com/eligrey/pmxdr) [2]: [https://github.com/eligrey/libxdr](https://github.com/eligrey/libxdr)

<comment><USER4> Accepted your PR, this is indeed a CORS alternative, not a polyfil.

I did think about utilizing CORS headers, however by placing a proxy.html file on your domain, you can be seen as implicitly allowing cross-domain requests. I've added a simple DSL to the script tag to futher restrict access. To only accept requests from 'foo.master-domain.com', just do: <script ... master="foo.master-domain.com">

Adding CORS to XDomain is an unnecessary complication, CORS requires modifying the server code, CORS can cause superfluous requests and CORS sucks.

RE: pmxdr: since you don't replace XMLHttpRequest, it doesn't work after dropping it in. Does jQuery's $.ajax magically work? Angular's $http?

</comment></comment><comment><USER6>
        Conceptual Overview

        XDomain will create an iframe on the master to the slave's proxy.
        Master will communicate to slave iframe using postMessage.
        Slave will create XHRs on behalf of master then return the results.
        XHR interception is done seamlessly via XHook.

This sounds like some rather complex hack and to promote this as a silver- bullet instead of CORS seems a little odd or maybe even irresponsible to be honest.

        Q: But I love CORS

        A: You shouldn't. You should use XDomain because...

Can you ensure that browsers or ad blockers won't block this kind of behaviour. Do you really want to go through those hoops just to save you from setting up a (server-side) proxy in the worst case, or try to get who you need to use CORS with to allow it on their domain?

<comment><USER7> > Can you ensure that browsers or ad blockers won't block this kind of > behaviour

> [...] or try to get who you need to use CORS with to allow it on their > domain?

There's no fundamental security difference between this and actual CORS since it requires the actual domain specifically serve a particular response to allow it. Either you have the ability to serve the proxy file from a particular domain and the general ability to set CORS headers, or you don't.

<comment><USER8> I'm sorry, I've not looked at the code yet, but are you saying that being able to drop a html-file in some misconfigured servers public ftp-directory, or on some blogs upload folder is equivalent to being able to set http-headers?

That's only true if CORS accept html-meta tags as replacement for http headers (which I don't think it does)?

Again, I might be missing something, not having looked at the code yet, but it sounds like a rather strong statement.

</comment></comment></comment><comment><USER9> For me XDomain is an essential tool to get CORS working in IE, for example when building a SPA with the API on a different domain. Very easy to implement and works transparently without needing to change anything else.

</comment><comment><USER10> > IE uses a different API (XDomainRequest) for CORS...

This is true and is pretty sad. I'm sure MS had various internally-focused reasons for it, but it has really held the world back. That said, it appears they finally got with the program as of IE10[1].

[1] [http://caniuse.com/cors](http://caniuse.com/cors)

</comment><comment><USER11> Cool stuff!

This concept is pretty much how I started with SockJS. I realized that by using the iframe/postmessage it is possible to get decent "realtime" in all the browsers. For example Opera had EventSource but it didn't support cross domain. But it did support iframe/postmessage....

To make things even more exciting the iframe was loaded with proper (third party) cookies, so it is theoretically possible to use cookie-based authorization (at least to some extent).

Cookies are also required in long-polling scenarios to get sticky sessions, think: JSESSIONID.

But the problem is browsers nowadays block third party cookies and CORS just works, so there is _no_ need for the postmessage hack. Sadly...

</comment><comment><USER12> The Dropbox example doesn't seem to work for me: [http://jpillora.com/xdomain/example/dropbox/](http://jpillora.com/xdomain/example/dropbox/)

I'm on latest Chrome, OS X and get this error:

      [blocked] The page at 'https://dl.dropboxusercontent.com/u/14376395/html/proxy.html'
      was loaded over HTTPS, but ran insecure content from
      'http://jpillora.com/xdomain/dist/0.6/xdomain.js': this content should
      also be loaded over HTTPS.

<comment><USER4> Used to be able to load HTTP->HTTPS (though not HTTPS->HTTP), now it looks like both are blocked. Fixed.

</comment></comment><comment><USER13> There is another competitor in this space: EasyXDM. I've used it for about 5 months now, and I have to say it's pretty awesome.

<comment><USER9> But doesn't EasyXDM require you to do all calls using their library? XDomain is drop-in.

<comment><USER5> The library EasyXDM uses internally to support CORS is pmxdr. I wrote pmxdr and libxdr to be a CORS XHR drop-in.

<comment><USER9> Ok, pmxdr seems more like it. I want to continue using my jQuery and Angular requests without messing with the procedure.

EDIT: Or, actually pmxdr doesn't look like drop-in in the sense I mean at all. I want to use jQuery's $.ajax and Angular's $http. I need to have a look at libxdr.

EDIT2: Same thing.

<comment><USER5> Yeah, it's only a drop in for XMLHttpRequest.</comment></comment></comment></comment></comment>