Ask HN: what would you do if you did not have to work? - <AUTHOR>

With all the latest talk about basic income and the future of work (or lack thereof), I am genuinely interested what would HN readers do if they did not have to work. <comment><USER2> You're asking for plans, but I'd like to tell you what actually happened for me. As someone who did this in the past for far too long I've seen the darkness that emerges. I'd rate myself 2/10 in terms of willpower and 8/10 in terms of can-always-find-something-interesting. I probably handled it better than most people would (never ended up unshaven for weeks in a yellowed wifebeater), which to be honest frightens me whenever the topic of not-having- to-work comes up.

A bad day might have looked like this:

1\. Get up at 11AM.

2\. Eat for an hour while watching some Let's Play/V-Log or listening to some podcast.

3\. Start reading blogs and learning which after an hour turns into reading bullshit that leaves my brain a day after.

4\. Play guitar for two hours.

5\. Play videogames for two hours. If lucky with people over skype (the tiniest amount of social interaction for the day)

6\. Repeat the eat-watch-routine

7\. Lift weights for an hour

8\. Repeat the eat-watch-routine

9\. Reddit/HN

10\. Get bored by the general Reddit/HN and read the weird subreddits instead

11\. Do what I call the horny-but-jerking-off-in-5-minutes-is-too-fast routine which I guess releases quite the potent mix of endorphines because I might end up sitting there for an hour with my pants open

12\. If nothing good comes up I use my useless amount of private torrent tracker invites to find some porn I've never seen before (which becomes increasingly rare). If I'm too lazy to do that I just browse around and might come across some weird shit like Japanese women squirting milk on each others out of their ass (I guess that's pretty tame in comparison). Not that it matters, my mind is sometimes so numb, I could jerk off to a car accident

13\. Lament for an hour where my life has gone while doing Yoga and stretching to bottle up some memories

14\. Play a poker freeroll and lose

15\. Refocus and write 20 lines of code for a project that I'll never finish in a hundred years

16\. Throw a coin. Heads I shower, shave and promise myself tomorrow will be the day everything changes. Tails I contemplate suicide again.

17\. Cry myself to sleep if bottled up memories come to light

At the end of the day I'm a better guitarist, one step closer to beeing jacked and one step closer to insanity. That must be the reason why some rockstars are complete lunatics.

<comment><USER3> I am almost sure that you don't have wife or kids. If you did, most of the stuff you listed will become redundant to you. I hear you though. Been there (brief period) while I was single.

<comment><USER2> It's kind of a vicious circle. I wouldn't even play videogames (something I enjoy very much) if I had a girlfriend because I would value the relationship and time spend far more.

But at the same time it was pretty much impossible to find a partner while living such a life. No one finds you attractive. Maybe good enough for one night, but not for a relationship.

People say you shouldn't rely on other people to provide you happiness. But a relationship would have added so so much to my life.

</comment></comment></comment><comment><USER3> I already try to do these things but not with complete freedom because I have to make money and that takes my time. But if I had complete independence, then in order:

1\. Spend time with my family and friends as much as I can.

2\. Travel around the world (with family/friends again)

3\. Teach for free whatever I can.

4\. Get really good at few of the things: Guitar, Martial Arts, handyman at my house etc.

</comment><comment><USER4> Go back to university and study more. I would probably start with arts - literature, music and move towards psychology, philosophy, medicine, economics and if time permitted, some languages. I could happily spend my days learning.

</comment><comment><USER5> I had a couple of years like this after selling a business (for non-crazy money) coupled with stumbling onto an accidental Adsense scenario where I had $2-10k coming in monthly for zero work. In short, I just alternated between goofing off and being bummed out.

Once that faucet dried up after a Google reranking I started working again (still for myself), then got married, had kids, etc. Now I always have tons to do, am upbeat 99% of the time, and doing better than ever! I've learnt working and making money in exchange for what I do is a core part of what keeps me happy and sane.

If a basic income were available and high enough in my 20s, I'd have stayed on it, probably remained single forever, and lived a hikikomori-esque lifestyle.. which is why I remain a little skeptical of some basic income ideas despite appreciating the idea. Would all people be like me? No. But I think a higher basic income for everyone who _holds down a job_ is a far better idea and we already have something mildly like that in the UK.

</comment><comment><USER6> As someone who plans to stop working for income in the next 5 to 10 years, I've put some thought into it.

1) Volunteer. This is the only thing in my list that I know I will do for certain. I don't want to become a sloth, and doing so would seem like a crime against humanity when I have so much to offer. I genuinely like helping people. It's also a great way to meet interesting people. While it's not really a reason, I also find that I'm more of a producer than a consumer.

2) Travel. Nothing too extravagant. I'll still be watching my penny bank so I don't cause myself to have to go back to work for an income.

3) Backpacking. It's important to me to be able to connect with nature sometimes.

4) Write two novels that I already have ideas for.

5) Write essays on the human condition.

<comment><USER7> That sounds like a great combination. I've found that volunteering and traveling are wonderful in themselves, but also 'unlock' the ability to write and produce things I want to produce, rather than sit around and do nothing (and eventually feel bad about it).

I'll be embarking for something similar, but for about a year.

I wish you all the best, and would love to hear what you have to say about humanity.

</comment></comment><comment><USER8> Great question and it's one that is driving my current plans for 2014 "to wake up and do what I want to do".

I would spend a lot more time with my wife and daughter even in the small things such as taking my girl to school and picking her up.

I would spend more time being aware, walking and meditating.

I would then spend a huge chunk of time giving somehow. I have a few projects me and my wife are starting in this area such as running a free course for new parents on how to resuscitate babies, top 5 risks for new borns etc

And travel!

</comment><comment><USER9> I'm in that situation already and if you had asked me this question before, I would have said something along the lines of travel, have fun, or some other variation thereof. The reality is while I did do those things for awhile, what I ended up doing was went back to "work". By work I mean grinding on other things of interest to me.

I can't speak for others but its incredibly tough for me to not proactively work on something I enjoy, especially once you have develop the habit of getting use to working a lot.

</comment><comment><USER10> I'd probably sit around on the Internet most of the day.

</comment><comment><USER11> If I didn't have to work because of money concerns I'd probably become a hobbyist fishing guide, which can still be work in some sense.

If I didn't have to work because of a basic income guarantee I'd probably still work. It would feel different to me, plus a basic income guarantee I doubt will be financial boon in a sense that you could do something other than working.

</comment><comment><USER12> I would just bike around, lay at the beach, and eat great food. And I would not have a care in the world. Serious answer. That would satisfy me.

</comment><comment><USER13> A lot of developers are so because of the need to fix problems, that and a flair for logical mathematics. Sitting on a beach sounds nice but I think it would only be a matter of time before members of this community try to come up with a solution to sitting on the beach.

I think workers work. The satisfaction is in achievement of worth, or at least in the endeavor.

<comment><USER14> If I sat on a beach, I'd have to take a computer with me...

</comment></comment><comment><USER15> I would work. But not for someone else, and perhaps not for any clear goal or achievement. I would work patiently and methodically on long-term projects that could only be possible with that amount of leisure time.

</comment><comment><USER16> Travel. And work on my own side projects ( I guess you can't call them side projects any more, can you). Not for immediate gains, but for the long term goal of building a good product.

</comment><comment><USER17> Whitewater kayaking, lots of it. Learn to surf. Cook nice stuff every day.

There are many things I enjoy more than coding, but coding is sometimes fun, and does pay the bills.

</comment><comment><AUTHOR> I would go on long road trips through interesting places. But I would still create software along the way.

</comment><comment><USER18> Work for myself, on things I'm interested in. Likely nonprofit work in the education space.</comment>


How Trump's Proposed Cuts Affect the Big Snowstorm Forecast - <AUTHOR> http://cliffmass.blogspot.com/2017/03/how-would-trump-administrations.html <comment><USER2> When you embrace an industry like coal and cut funding to industries involved in science it's a step backwards.

Weather is one of the most important factors in business today. Airlines, farmers, tourism, construction, all depend on accurate forecasts. Interesting that this administration doesn't see much value in it.</comment>


260,000 Android handsets infected with malware - <AUTHOR> http://mashable.com/2011/03/06/android-kill-switch/

<comment><USER2> Google reacted in a prompt matter to the fix the problem. This is a risk that will always exist when a software becomes open source and you are downloading third party programs - which the Android Market clearly warns you of this risk before downloading the applications. I personally am not holding Google accountable for this incident and am pleased with the quick remedy to the issue.

Although I do find it ironic that Google fixed the problem by using a backdoor 'kill switch' in the android software to fix the backdoor malware of infected users.</comment>


How To Minimize Your Javascript and CSS Files for Faster Page Loads - <AUTHOR> http://www.maxkiesler.com/index.php/weblog/comments/how_to_minimize_your_javascript_and_css_files_for_faster_page_loads/

<comment><USER2> I've always had an instinctual resistance to using lots of outside building blocks unless there was a real compelling reason. Now, it sounds like using javascript libraries like scriptalicious causes performance problems. Did I read this right?

Also, I understand the need for obfuscation, but to improve page load speed? How?

<comment><USER3> Yes you read it right. Anything you load into the browser, both in terms of size and additional http requests, is a performance hit.

Obfuscation helps improve performance speed by making the variables as small as possible while avoiding name collisions. In practice this probably means a file full of one-letter variables, instead of things like elemResult

Every byte that is in your Javascript that has to be downloaded to the client is another millisecond or more of response time. This is the reason why I wouldn't use huge honking JS libraries unless I was really sure I needed them (call me old-fashioned). Interestingly enough, looks like there is a case to be made for package libraries, where you download one file and it explodes into both the CSS and JS part of your app. Makes sense to me, although I've never tried it.

<comment><USER4> "Every byte that is in your Javascript that has to be downloaded to the client is another millisecond or more of response time."

How many people still use 1KB/s net connections?

<comment><USER3> It was rhetorical. I didn't do the math. So sue me :)

</comment></comment></comment></comment><comment><USER5> I used YUI compressor with langpop, which has a big chunk of javascript:

[http://journal.dedasys.com/articles/2007/11/07/yui- compresso...](http://journal.dedasys.com/articles/2007/11/07/yui-compressor)

</comment><comment><USER6> if you're using rails, just use the asset packager plugin. it's awesome. and gzip your javascript and css -- use mod_deflate if you're using apache. that's all you really need. and mod_expires, if you want to get an 'A' grade from the yslow firefox/firebug extension.

<comment><AUTHOR> I could be wrong but with rails 2.0 it's built-in - so no more need for bundling plugins once it's out (unless you want javascript minfication)

</comment></comment><comment><USER3> Excellent resource. Thanks.</comment>


Which coding language should i learn first? - <AUTHOR> Hey, I wanna learn coding but idk which language should i learn?
Java, C++ or Python 3
Can anyone help me? :D
Cheers, <AUTHOR> <comment><USER2> From your question I presume you don't have much CS / SE core knowledge either. For that reason just learning a "coding language" (as you called it) is probably not going to work out well in the long term.

For that reason I recommend learning Python 3 with a good teaching book, e.g. [https://legacy.gitbook.com/book/wizardforcel/sicp-in- python/...](https://legacy.gitbook.com/book/wizardforcel/sicp-in- python/details)

Charles Simonyi, the guy who managed the MS Word and Excel projects, described "coding" as in encrypting the intent of a program so as to be unfathomable by others. Please use the term 'programming' it has far gentler connotations.

<comment><USER3> Originally, the word "coding" referred to writing machine code. So indeed it's a kind of encryption.

That what we call "compiling" today was called "automatic coding" by Grace Hopper (making machine code by machine rather than human); the word "compiling" referred to the accumulation of code into a larger library, kind of like "linking".

[http://www.bitsavers.org/pdf/univac/HopperAutoCodingPaper_19...](http://www.bitsavers.org/pdf/univac/HopperAutoCodingPaper_1955.pdf)

So of course, a human wrote the program. That bit wasn't coding; that was programming. Then the "automatic coding" made computer code out of it: machine language. Without "automatic coding" the programmer would have to take the higher level description of the program (in a Fortran-like language or whatever) and code it manually.

So basically Simonyi seems to be right on the spot there, even from a historic perspective.

</comment></comment><comment><USER4> What I learned from agonizing over the same decision is that it doesn't matter that much. I'd recommend python or a scheme/lisp variant. The most important thing is to just get started.

<comment><USER2> I would have recommended Scheme as well, but in recent times SICP course has been changed from Scheme to Python. Unlike Scheme, Python is available on all the major operating systems and is supported by a huge number of frameworks and platforms.

</comment></comment><comment><USER5> Python will be the easiest. Java somewhere in the middle. C++ will be the hardest.

I would suggest starting with Python. Once you're comfortable with Python, you should learn Java.

Unless you have a specific need, the next language could be C++, but equally could be Go, or C, or Rust, or Javascript, or Erlang, or Scala, or OCaml, or Haskell, or something else.

C++ is big and complex. I wouldn't recommend it as a starting point -- once you've got a few other perspectives under your belt, tackling C++ will be more productive.

</comment><comment><USER6> C++ if you want speed

Python or Go otherwise.

</comment><comment><USER7> Python.</comment>


Being Evil with the Facebook SDK - <AUTHOR> http://chrismorris.co/2012/04/14/being-evil-with-the-facebook-sdk/

<comment><AUTHOR> These are just some thoughts that were running through my head. I knew that Facebook provided a lot of information about users, but I never really put it into perspective and what the real dangers are of this.</comment>


Technical Interviews at a Startup - <AUTHOR> http://tomblomfield.com/post/15459124407/technical-interviews <comment><USER2> I interviewed with Tom's startup last week. I was impressed by the business logic questions. If you're looking for a job in London, you should apply there. They are a great bunch of hackers working on very interesting stuff.

</comment><comment><USER3> Part of me always balks when a company recommends using GitHub to share code with them. Don't get me wrong, I love GitHub, but posting code using a GitHub free account means you must also open source it. Or perhaps the project you contributed to doesn't host their source with GitHub.

I'd prefer it if they'd just say, "send us a sample of your work, or a link to your source online."

<comment><USER4> if the software is non-open-source, sending a sample may violate NDA and licensing.

in regards to Github, if Git is used already in the company's development process, the candidate would need to show that he or she is familiar with Git. Then Github is the first destination to show that. On the other hand, of course there are plenty of other Git hosting opportunities -- sourceforge, for example.

<comment><USER5> Don't forget bitbucket. They allow unlimited free private repos (limited by space and users).

<comment><USER4> thanks for pointing to bitbucket, I didn't know they offer private repos for free.

at the moment I rent a minimalist VPS for about $35 a year and use gitolite to organise my private repos. Works perfectly so far :)

</comment></comment></comment></comment><comment><USER6> Good post. Personally I would refuse to share my past code. Honest question: Would you be willing to share your code with the interviewee so that try can determine if they want to join you?

<comment><AUTHOR> We'd absolutely be happy to share (parts) our code, and often do.

I've heard other companies give prospective employees a week-long project on a consultancy basis - I think this is a great method of determining if there's a mutual fit. Unfortunately, it's a bit unrealistic to expect most candidates to be able to drop current commitments for a week.

</comment></comment><comment><AUTHOR> OP here. I'd love to how other startups run technical interviews - particularly when you're interviewing for roles that are outside your area of expertise.

<comment><USER4> I think the best would be to find a consultant with the required expertise to run such interviews.

I've been at two on-site interviews at Google, and that was the most exciting experience, especially the first time. Now I know how proper technical interviews should be done. In general, I realized how much more I'm able to do, compared to what I was doing at my place of work.

The general approach is to figure out how the candidate is able to think in a structured and analytical way. It doesn't matter if the candidate doesn't know something -- much more important is to see how he or she is developing the answers during the interview. Of course, the questions should also allow such freedom.

Also useful, is not to ask for definitions of something, but for difference: how A differs from B and why? Then you clearly see if the candidate understands what's behind it, even if they have forgotten some little details.

<comment><AUTHOR> I'm always wary of consultants - we've had some really bad experiences using recruitment consultants.

I absolutely agree that the main aim of an interview is to determine if a candidate is able to think in a structured and analytical way. I'm much more interested in talking about situations when you might choose UDP over TCP, rather than being able to recite the details of a particular HTTP specification

<comment><USER7> Sadly enough, I've been ask the UDP/TCP question many times, so I have a good answer, though I have never studied either in depth. So, in theory that would be a great question. But, it is asked too often to really be of any use.

<comment><USER4> actually a great interview question is what happens when you click a link in the browser. All the steps down to how deep you understand it: through the kernel calls, DNS packets, ARP, Ethernet frames, IP routing, TCP acknowledgements, HTTP headers, MIME types, and so on.

<comment><USER7> How is that good? It's all memorization

<comment><USER4> nope, this is all about understanding the logic and how the system components interact with each other.

Besides, you can dig deeper in any direction, depending on the candidate profile. For a network engineer, understanding on the packet level is important. For a web programmer, the interaction between server and client is important (HTTP headers, MIME types etc, webserver scalability etc.). For a sysadmin, understanding of processes and interaction of applications and OS is important. All those can be derived just from a simple question -- what happens when you click on a link

<comment><AUTHOR> I agree - you can memorise answers on a fairly generic level, but digging deeper in a relevant area, or talking about edge cases, exposes whether a person really understands what's going on.

<comment><USER4> besides, how can one memorize if the questions are unknown?</comment></comment></comment></comment></comment></comment></comment></comment></comment>


Ask HN: I'm making an iPhone based Simulation Game. Advice? - <AUTHOR>

After spending nearly a day playing this->http://www.youtube.com/watch?v=DsMMnnOp7RU.
I thought, wow, if someone made this for a genre i found more interesting i would LOVE it! That genre being music.
So, as you all would know. I got started planning how i was gonna make it.
I came up with the idea of a sim, based on running a record label. Similar in structure the aforementioned game except i would add a few more things that a music type game, like this would need.
I'm completely new to this however and would like some advice on executing it.
I've built a landing page: http://beathub.net
And have already got some buzz and early signups going.
I'd like to know a few things.
1. Is the game as far as you understand it, something you would buy?
2. What suggestions do you have?
3. Do you know any great graphic designers who have experience with games?
Thank you in advance
Tapha. <comment><USER2> Your landing page could have been a lot more attractive, for example writing a list of game features or things players can do in the game.

It might have been worthwhile to show off some game graphics even though they don't exist yet, like a couple sprites or backgrounds. I've played Game Dev Story and its fun. People will pay as long as its enjoyable.

<comment><AUTHOR> Thanks, i literally just threw it up so that i could get the movement going. I will be editing it soon though.

</comment></comment><comment><AUTHOR> Clickable: <http://beathub.net>

Video mentioned: <http://www.youtube.com/watch?v=DsMMnnOp7RU>

</comment><comment><USER3> I'd buy it. Just make it deeper than Game Dev Story.

<comment><AUTHOR> Thanks, i will try!</comment></comment>


Show HN: New bootstrap model for startups – VC but with freelancers - <AUTHOR> https://venturly.io <comment><USER2> What is your proof that I will earn more as a freelancer?

As a freelancer, I have been approached a few times over my 20+ year career by people to work for free in exchange for future revenue share. I have declined this each time and on each occasion, when I followed up a few years (or even few months) down the line, the venture was dead.

So in my personal experience, there is basically zero chance of getting that future income. But I am sure there are _some_ people that have success, so I will grant there is a chance, albeit small.

Yet you make claims about earning more and building my pension. I think this is misleading without actual proof that there is very high certainty that it will work out in the freelancer's favour.

<comment><AUTHOR> This model is borrowed and adapted from venture capital. It's based on return on a risk. As in VC, many ventures fail or have minimal returns, yet VC as a model is successful. Why? Because small percentage of those makes up for the loss on all the other investments. It's a "game of numbers".

As in VC, amount of success would vary. Smart choices would lead to good outcomes, and all is up to you if you're willing to take such risk and what choices to make.

<comment><USER2> I understand that. My issue is with the fact that (a) you make claims about earning more which you cannot back up with numbers and (b) you do not have any obvious disclaimers stating that this is a high-risk proposition and that the freelancers may just as well never see a single cent of return on their time.

So I am taking issue with the fact that your claims are deceptive.

</comment></comment></comment><comment><USER3> This will never work, the reason been if you have 100 projects and 1000 freelancers working on them, what do think will be payout ratio? 1% of them getting paid?. 1) There is no assurance that freelancers will get paid. 2) A good freelancers will never work for free.

My advice, please drop this idea and hop on to something else.

<comment><AUTHOR> There are ways to make sure that payments are to be made when possible and having insights into revenu streams as a third party.

There are pros and cons, like it was listed on the website. It is not for everyone, but some people might need just that approach.

Thanks for honest feedback!

</comment></comment><comment><USER4> What does Venturly give a freelancer that they can't sign for directly with a startup (request to be paid in stock instead of money), which will yield dividends and voting power?

<comment><AUTHOR> What startup hires a freelancer and gives him stock for a one time project? For startups they'd need to give out portion of stock, and for a freelancer, they moght not be getting that much at all. Venturly model would assume that freelancer took a serious risk and would yield higher returns overall.</comment></comment>


Show HN: Instantly Find anything across your email, cloud drives, and more - <AUTHOR> https://www.justgoferit.com/get-gofer <comment><AUTHOR> Hey All,

I'm part of the team at Gofer - a free productivity tool to easily find and manage information from across your different apps and services.

We're looking for productivity enthusiasts who would like to receive early access and try it out :)

Gofer features many cool things, such as smart auto-tagging, allowing to intuitively slice and dice your way to a file or mail in seconds. It's also SAFE, because it runs on the desktop, so no personal information ever leaves your computer. Only the local instance receives permission to read your data.

Its free for anyone to use (we'll be adding paid premium features in the future).

Happy to hear your thoughts!</comment>


Ask HN: How to manage personal expectations and self-doubt when starting? - <AUTHOR> I'm a few days into a new job as an entry-level software engineer at a FAANG. I studied applied math, and worked as a quant analyst at a fund before switching, and also a small startup, but our dev environment was extremely informal and kind of do whatever is appropriate since we were building from scratch. I've always had an enjoyment for coding and solving problems, but right now I feel I'm in way over my head.
My biggest concern is the size/scale of what I'm working on. There are endless holes of methods and implementations, and I have no idea where I end up. For example, I see many classes/methods that basically just join other classes/methods. In my previous roles, where I was either coding just for my own consumption or had full leeway in choosing what and how to build, I knew where everything I did fit.
Just getting my dev environment set up was way over my head. I followed onboarding guides, but it was me typing in commands into my terminal and trusting it - I had no idea what it actually did.
I hear about imposter syndrome a lot but I feel like in those cases they have the skills and not the comfort, whereas I don't have the baseline altogether. I was a good interviewer, DS + algos/Leetcode interviews came naturally to me and I worked hard at them, but that's about it. Before switching I was excited because I felt it would be a great opportunity to learn how these big companies work tech-wise, but now I feel like I was handed the blueprints to the Soyuz spaceship in Braille and told to figure it out. I'm not exaggerating when I say I know 0 about what's going on. My team is extremely accommodating and tells me this is natural, but I feel like they're underestimating how far behind I am.
I'm not terrified about getting fired, but I'd still like to do well in this because it truly interests me. How can I keep myself in check and be honest as to when the "you'll get it with experience" period is over and it's just clear I'm not the right person? <comment><USER2> You're entry level. This is expected.

Ask your manager to set explicit expectations. Ask them what you should do if you find yourself struggling with any of those expectations. Take it from there.</comment>


South African government charged US $10 million for a WordPress theme job - <AUTHOR> http://www.techzim.co.zw/2013/03/south-african-government-charged-us-10-million-for-a-wordpress-theme-job/ South African tech blogs reported that a web development company actually charged the South African government at least R97 million for a website. The website is basically just WordPress (free) and a WordPress theme (about $40) that they clearly didn't modify much. Here's a screenshot of the theme. <comment><USER2> I wish I lance'd this job.

Here is a link with more specifics if you are interested: [http://mybroadband.co.za/news/internet/71822-multi- million-f...](http://mybroadband.co.za/news/internet/71822-multi-million-free- state-website-what-did-it-cost.html)</comment>


WebAssembly and the Death of the App Store? - <AUTHOR> https://medium.com/@theroccob/webassembly-the-death-of-the-app-store-c9bc3f9557c8 <comment><USER2> On point... a great read.</comment>


The point of packaged web apps - <AUTHOR> http://www.quirksmode.org/blog/archives/2013/05/the_point_of_pa.html

<comment><USER2> Hmm... I would have said that the primary point of packaged web apps is that they don't need net connectivity to run. That can be pretty important if you're out somewhere in E-land (or worse).</comment>


Skype multiple service outage notification - <AUTHOR> http://heartbeat.skype.com/2016/12/skype_multiple_service_outage.html <comment><USER2> Microsoft can teach the special course: how to kill successful products 101.

If I were Satya Nadella I would fire top Skype executives first, cannot believe how a rational company can destroy this brand.

<comment><USER3> And all those idiots who started converting Lync to "Skype for business" as well. In addition of the nowadays really quirky working Skype, I have bunch of Lync/Skype for business apps installed as well and they are even more horrible and PITA than the Skype.</comment></comment>


4Chan is down - <AUTHOR> https://boards.4chan.org/w/

<comment><USER2> isn't it obvious? such posts should carry a screenshot of downornot.com page for the concerned site?</comment>


Internal Data Offers Glimpse at Uber Sex Assault Complaints - <AUTHOR> http://www.buzzfeed.com/charliewarzel/internal-data-offers-glimpse-at-uber-sex-assault-complaints <comment><AUTHOR> Since this, Uber has responded: [http://qz.com/632440/uber-explains-why-a- search-for-rape-in-...](http://qz.com/632440/uber-explains-why-a-search-for- rape-in-its-customer-support-inbox-gets-thousands-of-results/)</comment>


Alchemy Micro-Service Framework: Using RabbitMQ Instead of HTTP - <AUTHOR> https://github.com/LoyaltyNZ/alchemy-framework <comment><USER2> As someone who has used RabbitMQ in production for many years, you should rather consider using NATS [1] for RPC.

RabbitMQ's high availability support is, frankly, terrible [2]. It's a single point of failure no matter how you turn it, because it cannot merge conflicting queues that result from a split-brain situation. Partitions can happen not just on network outage, but also in high-load situations.

NATS is also a _lot_ faster [3], and its client network protocol is so simple that you can implement a client in a couple hundred lines in any language. Compare to AMQP, which is complex, often implemented wrong, and requires a lot of setup (at the very least: declare exchanges, declare queues, then bind them) on the client side. NATS does topic-based pub/sub out of the box, no schema required.

(Re performance, relying on ACK/NACK with RPC is a bad idea. The better solution is to move retrying into the client side and rely on timeouts, and of course error replies.)

RabbitMQ is one of the better message queue implementations for scenarios where you need the bigger features it provides: durability (on-disk persistence), transactions, cross-data center replication (shovel/federation plugins), hierarchical topologies and so on.

[1] [http://nats.io](http://nats.io)

[2] [https://aphyr.com/posts/315-jepsen- rabbitmq](https://aphyr.com/posts/315-jepsen-rabbitmq)

[3] [http://bravenewgeek.com/dissecting-message- queues/](http://bravenewgeek.com/dissecting-message-queues/)

<comment><USER3> I spoke to Kyle Kingsbury (Aphyr) about 9 months ago and at that time, the only queue or pub/sub system he thought was relatively safe from partition errors was Kafka. Not sure if his position has changed recently.

<comment><USER4> Indeed, though this is irrelevant to this particular use case.

NATS doesn't have replication, sharding or total ordering. Consistency is a challenge for clustered messaging brokers that need this.

With NATS, queues are effectively sharded by node. If a node dies, its messages are lost. Incoming messages to the live nodes will still go to connected subscribers, and subscribers are expected to reconnect to the pool of available nodes. Once a previously dead node rejoins, it will start receiving messages.

NATS in this case replaces something like HAProxy; a simple in-memory router of requests to backends.

<comment><USER3> Ahh .. OK, that makes it clearer. Thanks.

</comment></comment></comment></comment><comment><USER5> IMO this is an emerging anti pattern to use Rabbit to connect "microservices". It often introduces a single point of failure to your "distributed" system and has problems with network partitions. If critical functionality stops working when Rabbit is down, you're probably doing it wrong.

<comment><USER6> Most real world microservice projects (I've worked on several) already have many single points of failure. Often there is one service that needs to be up for the system to be up (such as the one that processes your customers orders), you don't realise some VMs are sharing a physical disk or everything is dependent on a single router somewhere you've never heard of that will one day run out of memory and drop TCP connections. This is not to mention the risks posed to availability by third-party tracking software that push changes that break web forms (#1 cause of long outages in my experience).

Message brokers like RabbitMQ give you a lot of benefit and introduce only a small number of failure modes. You can obviate tricky service discovery boot orders, do RPC with without caring about whether about your server could be restarted and of course you get a good implementation of pub-sub too. If you stay away from poorly considered high availability schemes I am absolutely fine with recommending it for intra-service communication.

<comment><USER7> Great comment. One thing I don't like very much about microservices is simply that my service often will have some such hard dependency. e.g. if the logging service is down, I lose all logs-based statistics. If the authentication microservice is down, I'm screwed. The parent comment made the excellent point about SPOF, but it seems like for microservices to work correctly, there will always be some SPOFs.

Maybe I'm being too pessimistic. I use microservices, but without significant engineering rigor, I think its a recipe for disaster.

<comment><USER8> > If the authentication microservice is down, I'm screwed.

Well, make sure your sevice is not dependent on those services then. Use signed tokens to only rely on the authenticator for logins. everything afterwards can work it our by themself.

logging: keep your stuff in a queue or logfile, until the log service is back up.

</comment></comment></comment></comment><comment><USER9> Looks pretty cool, but doing RPC over RMQ is quite expensive. I would rather see good abstractions over ZMQ - that would be really cool.

Also as many people here pointed out, RMQ is a single point of failure which might be acceptable for some cases. To me, the problem is that by design this architecture has a bottleneck which is really hard to get rid off.

</comment><comment><USER10> OpenStack has had this as a common design pattern across a lot of the services for a while.

It works quite well for us now - there was a period 2-3 years ago where rabbitmq was the bane of my existence, and the cause of many a page but newer versions have been fine.

We do assume that everything in the queue can go away, and only in flight calls will fail - and (at least in the service I work on) we do retries if something falls through the cracks.

There is a shared library we use for it - [http://docs.openstack.org/developer/oslo.messaging/](http://docs.openstack.org/developer/oslo.messaging/)

It also has drivers for ZMQ, and QPID afaik.

<comment><USER7> Yes, I have worked with the OpenStack messaging queue, and its really amazing how it just works. Also, easy to grab analytics about service usage by querying the queue directly, is amazing.

</comment></comment><comment><USER11> How does this compare to Autobahn / crossbar.io?

[http://autobahn.ws/](http://autobahn.ws/)

[http://crossbar.io/](http://crossbar.io/)

I really like the service discovery in Crossbar ("routed RPC").

<comment><AUTHOR> I had not heard of these before. But they look really interesting. I think they are pretty similar as it is a common pattern, and straight forward solution to many problems.

</comment></comment><comment><USER12> This looks cool. I wrote a less developed than this and unreleased RabbitMQ- based microframework that combines RPC and one-way event streams to integrate an ecommerce site in one datacenter with a back office in another. At another company I used ZeroMQ to make a job processing cluster.

Comments by others suggesting the use of http are kind of missing the point of message queues. The latency added by http(s) made interactive RPC sluggish, and made batch back office updates take hours instead of minutes with AMQP.

If I had Alchemy two years ago I might have used this instead of rolling my own.

</comment><comment><USER13> this is helpful. we already use rabbitmq for our golang services. This would ease the task of setting up publishers and subscribers in the node APIs we're building.

</comment><comment><USER14> I've been working on something similar but decided to go with Kafka as the message bus because I want the messages to persist. This allows for more error recovery solutions and auditing. Still having all that data around also allows me to come up with new ideas to use that days after the fact.

</comment><comment><USER15> I feel like this is a bit silly. Feel like one could just speak HTTP or Thrift, and use etcd or zookeeper for discovery. RabbitMQ just complicates the stack. Also, it's HA options are generally... disappointing.

</comment><comment><USER16> Check out [http://restbus.org](http://restbus.org) , a similar project for .NET.

</comment><comment><USER17> What are you using for general load balancing/availability? A consistent hashring?

<comment><AUTHOR> I do not understand the question. In production we use an ELB hitting multiple routers, on multiple nodes. Not sure how hashring applies to load balancing.

</comment></comment><comment><USER18> Use AKKA

</comment><comment><USER19> as someone who's used RabbitMQ in a SaaS app to run millions of tasks, heed my warning, RabbitMQ is great if you are low on memory but the overhead was too much to deal with. Celery also contributed to this but if I could travel back in time, I would stop myself from using RabbitMQ. Instead, Redis is a much better alternative for micro-service.

<comment><AUTHOR> Redis pub/sub (which I assume you are talking about as an alternative) is fine, but you have to be listening when the message is sent otherwise you miss it.

Another problem is working out if where you sent it there are any listeners, which RabbitMQ deals with return queues. This is important for 404's when a client is trying to talk to a service that does not exist. In Redis you would just post to a pub/sub queue wait till nothing happens and timeout, rather than immediately knowing through a return queue.

<comment><USER20> Actually Redis returns the number of consumers that were subscribed during your publish and received the message, so you can detect that no service is available and return your 404 status. The real limitation for RPC over Redis pub/sub to me is that you can only broadcast your messages to all consumers, and not have them load-balanced between the subscribed applications. So you end-up following a discover/unicast call pattern where Redis doesn't bring much to the table for the actual RPC call. Maybe that's an opportunity for a cool addition to redis...

<comment><AUTHOR> Cheers, I didn't know that about Redis. I actually really like Redis and it simplicity, it would be cool to get more options for passing messages over Redis.</comment></comment></comment></comment>


Learn how to make Data Visualizations with D3.js - <AUTHOR> http://www.dashingd3js.com/table-of-contents

<comment><USER2> Thanks for posting this! Exactly what I was looking for! I really like what the New York Times has done with D3.js in the past would love to be able to create something half as nice as that.</comment>


Wealthier people are less honest than lower classes - <AUTHOR> http://www.spring.org.uk/2012/04/do-posh-people-cheat-more-than-the-lower-classes.php

<comment><USER2> Driving a more expensive vehicle is not an indication of being wealthier. In the Millionaire Next Door, there were arguments showing that there are many wealthy people who live modest lifestyles and those who own expensive, luxurious items, were often living paycheck to paycheck. I think jumping the conclusion here base on cost of the vehicle or vehicle type is wrong.

I know plenty of wealthy people who drive Priuses (far from the luxury vehicle you expect) as well as a slew of other older, common used vehicles on the road. Plus one study is not a good indication to argue such.</comment>


Show HN: Squarecraft.io – an RTS game in-browser - <AUTHOR> http://squarecraft.io <comment><USER2> That's really great man! How did you do it?</comment>


Ask HN: How to Download Linux Mint Kernel Source? - <AUTHOR>

I'm asking here at HN because the Linux Mint forums are useless, no one answers questions at Stackoverflow, and Kuro5hin just makes fun of me whenever I try to ask a serious question.
My specific problem is that I want to build - from source - the exact same kernels as I have on my Linux Mint installation.  I'm pretty sure this can be done but I'll be damned if I can find any documentation as to how to do it.
I need this because I'm going to do some rather serious kernel hacking - not device driver work, but in the core of the kernel.  What I want to do is to run a bunch of userspace tests on an unpatched kernel, then reboot on my patched kernel then run all those same tests.
I am running Linux Mint 16 Petra Cinnamon 64-Bit in VirtualBox on my MacBook Pro, and 17.1 Cinnamon 64-bit natively as well as in VirtualBox on a homebuilt Xeon box.

   $ cat /etc/apt/sources.list
   #deb cdrom:[Linux Mint 17.1 _Rebecca_ - Release amd64 20141126]/ trusty contrib main non-free

   deb-src http://www.linuxmint.com/ trusty contrib main non-free

   $ sudo apt-get update
   ...
   Err http://www.linuxmint.com trusty/contrib Sources
     404  Not Found
   Err http://www.linuxmint.com trusty/main Sources
     404  Not Found
   Err http://www.linuxmint.com trusty/non-free Sources
     404  Not Found
 While it would seem to make sense that the non-free sources aren't posted, I would expect there to be source to at least some of them.

   $ uname -a
   Linux hal9000 3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
 Thanks! -- Mike <comment><USER2> Your apt/sources.list says that you are running __trusty__, not Rebecca or Cinnamon. And Trusty was never a codename for a Linux Mint release.

You should probably edit trusty in that file to the proper codename for your os. A list of valid ones can be found here: [http://packages.linuxmint.com/dists/](http://packages.linuxmint.com/dists/)

Once you've done that, you should be able to run apt-get update, and apt-get upgrade.

Then, I wouldn't be surprised if Debian's instructions on building a new kernel package wouldn't work: [https://www.debian.org/releases/stable/i386/ch08s06.html.en](https://www.debian.org/releases/stable/i386/ch08s06.html.en)

<comment><AUTHOR> thanks. I'll give that a try after I get some sleep.</comment></comment>


Facebook Chat Launches, For Some - <AUTHOR> http://www.techcrunch.com/2008/04/06/facebook-chat-enters-pre-release-beta/

<comment><USER2> Maybe for people who are deeply into Facebook, this is the cat's meow, but this actually makes life more difficult for me, the occasional user. The last thing I need in my life are friends on yet another incompatible IM network.

Facebook is okay, but I'm not giving up the rest of the internet just to interact with their precious social graph. Do they really think otherwise?

</comment><comment><USER3> It's available in my network. I couldn't find it at first, it fits in at the bottom of the screen like a browser toolbar. It acts very much like gchat in gmail.

</comment><comment><USER4> this is great. if they could open up the network fast I'd be happier.

<comment><USER5> Looks like it's pounding the server enough as it is.

</comment></comment><comment><USER6> No luck for me :(</comment>


Frozen airline food to feed those in need - <AUTHOR> https://www.bbc.com/news/uk-england-manchester-52412119 <comment><USER2> Their twitter feed has some pictures. Maybe I shouldn't say this, but I have a soft spot for "institutional" food prep/service... no matter how bad a rep they get. I appreciate feeding a large group of people in a safe and "good" manner (yes, including food served at 35k).

[https://twitter.com/OpenKitchenMCR/status/125376734709088256...](https://twitter.com/OpenKitchenMCR/status/1253767347090882560?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Etweet)

<comment><USER3> Me too!

Relevant How It's Made I found interesting: [https://www.youtube.com/watch?v=8ElKE- qeKYY](https://www.youtube.com/watch?v=8ElKE-qeKYY)

</comment></comment><comment><USER4> I wonder how different airline food tastes when on the ground. I expect generally saltier than normal.

<comment><USER5> ... and the cup of salad dressing doesn't explode when you open it.

</comment></comment><comment><USER6> And for those that miss flying.

</comment><comment><USER7> I wish I could buy frozen airline food at the supermarket.</comment>


If Github ends up selling itself one day, Microsoft will be the buyer (2014) - <AUTHOR> https://twitter.com/jasonfried/status/430871267881672704 <comment><USER2> It's not prescience or genius..... almost no matter what happens, someone somewhere predicted it was going to happen. And with the Internet, it's on record so can be looked up.

Whenever there is a financial crisis, someone goes back and sees who predicted these exact circumstances, which of course someone did because that's statistics for you. But it doesn't make then a genius or prescient.

It just means they are the person who happened to guess what did actually happen. And I tell ya, it aint hard to predict which of the big companies will buy some other highly successful smaller company because there ain't that many acquisitive really big tech companies.

If you want to look like a genius in the future, Tweet a few predictions about random([amazon, google, microsoft]) will buy random([jetbrains, atlassian, twitter]). No one will notice if it never happens but when it does you can stand tall as a true crystal ball gazer who "really called it".

Here's when "The Simpsons" predicted the Trump Presidency. [https://www.youtube.com/watch?v=VXcYMvzZ7jk](https://www.youtube.com/watch?v=VXcYMvzZ7jk) Same thing.

Here is when some other guy predicted - right here on HN - and way back in 2008 - that Google would buy github [https://news.ycombinator.com/item?id=262460](https://news.ycombinator.com/item?id=262460) Now that guy is a genius! Oh wait now he wasn't, it was someone else who made a different guess.

And when those aliens arrive.... you'd better believe there will be a long queue of people lining up to take their title as "genius" and "prescient" and "called it".

</comment><comment><USER3> linkedin employees say microsoft has largely left them alone since acquiring them, so i'm going to assume they will do the same thing with github.

<comment><USER4> What's the point in buying it, then?

<comment><USER5> Income?

<comment><USER4> But GitHub doesn't make a profit. They'd have to change it to make a profit.

</comment></comment></comment></comment><comment><USER6> The basecamp folks have always understood the "business" side of things just as much as coding/tech.

While it may seem prescient, the telltale signs screaming Microsoft always existed.

And if you're worried about GitHub's future, think back to Visual Studio code and how one of the most hated software companies in the world built one of the most love editors, open source none the less

<comment><USER7> Thing is, this was before Microsoft's whole momentum shift. Before they moved Windows to git, before they launched VS Code, etc.

<comment><USER8> That "momentum shift" didn't happen overnight. No doubt the shift was under way long before Nadella took the helm. Proper execution of the shift required a new leader -- that is to say, if Ballmer wanted to make the shift it wouldn't be credible while he was CEO.

</comment></comment></comment><comment><USER7> Out of curiosity I did some googling.

This tweet was made on the day Steve Ballmer left Microsoft, right on the brink of the company's 180 in so many areas. Talk about calling it.

</comment><comment><USER9> Here are HN predictions: [https://hn.algolia.com/?query=Microsoft%20buy%20GitHub&sort=...](https://hn.algolia.com/?query=Microsoft%20buy%20GitHub&sort=byPopularity&prefix&page=0&dateRange=custom&type=comment&dateStart=0&dateEnd=1527811200)

</comment><comment><USER10> My understanding is that this is more or less how Gary Vaynerchuk sky-rocketed to the center of media through a similar(ish) comment about Facebook. Best of luck!

<comment><USER11> That and working 60hr a week for a decade or two.

<comment><USER10> Absolutely but overnight successes tend to have that moment.

</comment></comment></comment><comment><USER12> Very nice, with solid rationale and everything.

</comment><comment><USER13> I hope that guy follows through his bet.

</comment><comment><USER14> This makes me want to choose N medium-size startups and create 5^N Twitter accounts, one account for each possible tweet series of predicted acquisitions by Google, Facebook, Amazon, Apple, or Microsoft.

At the end I'll delete all the accounts but the one that was 100% accurate, and use it to start my own data science election wonk website.</comment>


Securing cookies in Go - <AUTHOR> https://www.calhoun.io/securing-cookies-in-go/ <comment><USER2> The part about man in the middle attacks is as far as I can tell dangerously misleading.

Defaulting to HTTPS is _not_ enough to prevent cookie theft by man in the middle attacks, because a browser will still happily do HTTP connections. (They'll get redirected to HTTPS if you configure the server for HTTPS only, but that's only happening _after_ the Cookie is already transmitted without encryption.)

Traditionally there is a "secure" flag for cookies. (I know little go, but from reading the docs it seems it can be set in http.Cookie with Secure = true, similarly to the httponly flag he's describing.)

However these days there's a better solution: Use HSTS, which enforces HTTPS connections after the first connection has been made. Even better is HSTS preloading, where your domain is added to a whitelist of HSTS domains within common browsers.

<comment><USER3> Caveat: only do this if you're absolutely certain you never want to make a plain HTTP request ever again, because once you're on each browser's HSTS preload list, it takes months to get removed and have the updated list propagated out to browsers. [1]

[1] [https://www.troyhunt.com/understanding-http-strict- transport...](https://www.troyhunt.com/understanding-http-strict-transport/)

</comment></comment><comment><USER4> Well rounded article. The securecookie from Gorilla works quite nicely. A good feature is that you can have key-rotation in the server-side signature function and can gradually introduce new keys to sign your cookies

</comment><comment><USER5> Not requiring explicit parameters for things like domain, etc in this day and age is just ridiculous.

I expect PHP5 to be that way. php7 and golang doing that, in this day and age, is inadmissible.

Yeah you should still be able to write a quick hack and make it work fine without worrying about security, but the language/framework should at least make you explicitly say "set this cookie, and allow all domains and client side access. fine".

<comment><USER6> > Not requiring explicit parameters for things like domain, etc in this day > and age is just ridiculous.

While I agree with the sentiment, domain is probably the worst possible example, because it defaults to the most specific possible configuration of "exactly the same domain".

<comment><USER7> Correct; the same goes for Path, which is often a fun bug for many newer web programmers when they set the cookie on '/login' and then wonder why the cookie isn't being passed on '/store' or even '/'.

</comment></comment></comment><comment><USER8> The passage about Gorilla's securecookie is misleading. JWT only sign the data. It doesn't encypher it. The Gorilla's securecookie, encypher the data and signs the encyphered data, the date and the cookie name.

Note also the existence of github.com/chmike/securecookie which is as secured, and more efficient in size, number of allocations and speed.

</comment><comment><USER9> "SetCookie doesn't return an error", in a core library. I guess there's a rationalization to this folly.

<comment><USER10> It does very little that can cause an error:

[https://golang.org/src/net/http/cookie.go?s=3875:3923#L147](https://golang.org/src/net/http/cookie.go?s=3875:3923#L147)

        func SetCookie(w ResponseWriter, cookie *Cookie) {
        	    if v := cookie.String(); v != "" {
    		    w.Header().Add("Set-Cookie", v)
    	    }
        }

If you want to set the header "Set-Cookie" to the empty string instead of not sending the header, you can just call w.Header().Add("set-cookie", "") yourself, I guess.

<comment><USER11> I would start arguing about the semantics of "causing an error" here, but I don't think it would as productive as reducing it down to this question.

If I as a client of this library call "SetCookie", and after the call, a cookie has not been set (and I was not notified), I would call that an error (or fault, or whatever), independent of implementation.

<comment><USER12> Setting a cookie translates to writing a header down the socket but it isn't written when SetCookie is called. It is written when you use the ResponseWriter as a parameter for a writer method (io.WriteString, for instance).

As SetCookie just adds a new header to an aliased map (Headers) and setting to a map shouldn't fail (how it could?), it makes sense to report any error when the HTTP response is written serialized to the socket, not before. At least, for me, as you can manipulate the response as you wish and you only need to worry about errors on write.

</comment></comment></comment></comment><comment><USER13> Encrypting or signing cookies quickly becomes painful when you have multiple front ends. Either they all need to coordinate around the signing key, or they all need to share the same key, and they need to synchronize on key rotation.

<comment><USER14> multiple frontends as in multiple instances? or different instances.

what I do is set the domain to be specific to my subdomain. (note this really only works when doing subdomain stuff, if you're doing subroute things like Amazon ALB.. then I dunno)

Having things be separated like this is good, since Cookie's can get big fast, you can go over the max cookie size.

</comment></comment><comment><USER15> It's interesting that they're comparing Go the language and Rails the framework. Obviously, it's apples-to-oranges, but it makes sense that people would think about it that way.</comment>


Show HN: Why the name ___? - Why-the-name

Everything and everyone has a name. Ever wondered why the name...?
I was curious and so I put together
Whythe.name which is an attempt to document the story behind a name. Why the name was chosen, how did it come about, the thought process and the history behind every name.
Would appreciate your thoughts/feedback. Thanks a bunch.
http://WhyThe.Name <comment><AUTHOR> Clickable: <http://whythe.name/>

<comment> Why-the-name Thanks Charlie. I thought the URLs in the articles are converted into links automatically but just realized it is so only with comments.

</comment></comment><comment><USER2> Very interesting.

<comment> Why-the-name Thank you phragg. It is something I quickly put together to validate the idea. :) "Very" interesting - does validate it, or at least I believe so :)

</comment></comment><comment><USER3> kewl nag..+1</comment>


Customers Forcing Changes at PayPal - <AUTHOR> http://www.nytimes.com/reuters/2012/11/01/business/01reuters-paypal-risk.html?hp&_r=0

<comment><USER2> Few companies cause me physical discomfort when I hear their name, PayPal will always be one of them (among GoDaddy and Rogers Communications).

<comment><USER3> Paypal and Rogers are due facto monopolies, which naturally leads to evil. GoDaddy achieves that honor squarely by catering to the worst in all of us ("run your website on a nascar driver striptease that never stops teasing!"), and most of us oblige.

<comment><USER4> and most YCombinator companies still use GoDaddy. Bizarre.

</comment></comment></comment><comment><USER5> It's interesting that they list their loss rate at 0.3%. I'm sure that's pretty low compared to their customers. I've seen a lot higher in ecommerce, and for retail shrinkage is usually around 1.5%.

</comment><comment><USER6> I'm currently in the middle of a crappy situation with PayPal. Anecdotal as that may be, I don't think they're ever going to "get better." Besides how they operate their business, their developer API is the work of 10+ years of legacy, cruft, and no innovation.

</comment><comment><USER7> With competition from Square I hope that PayPal is finally being forced to mend its evil ways.

<comment><USER8> I doubt they'll change much outside the US.</comment></comment>


WebApp that help Orginice your mind - <AUTHOR> https://workflowy.com/

<comment><AUTHOR> I used google docs for doing the same until today that I discovered this. In fact i was working on a webapp exactly like this because i miss some features like the #. For me this kind of tree organization is the best for projects, and ideas.</comment>


Ask HN: How many domains will Godaddy lose today 12/29/2011? - <AUTHOR>

Put your guesstimate in comments. <comment><USER2> >9000

</comment><comment><AUTHOR> >21000

</comment><comment><USER3> >25000</comment>


Vine is Shutting Down - <AUTHOR> https://medium.com/@vine/important-news-about-vine-909c5f4ae7a7#.yts8n1tgy <comment><USER2> More discussion here: [https://news.ycombinator.com/item?id=12806324](https://news.ycombinator.com/item?id=12806324)

</comment><comment><USER3> I wonder if there will be an announcement indicating integration into twitter? Or if this is just a straight-out cut in an effort to reach profitability?</comment>


Coffee Joulies review and tests - <AUTHOR> http://www.marco.org/2011/08/10/coffee-joulies-review

<comment><USER2> I've kiteboarded with one of the founders (the younger Dave) in Costa Rica. He IS a nice guy. Its their first product - give them a chance to rectify it.

<comment><USER3> The review looks credible and the temperature graphs are devastating. If they had a prototype that performed like this, it would be just a plain scam. Maybe there is some manufacturing fault? That's the only explanation that wouldn't say something bad about the founders.

<comment><USER2> Everyone makes mistakes. Sometimes they are very big.

</comment></comment></comment><comment><USER4> Well, yeah. Adding a cool metal thing to a hot liquid thing doesn't make that hot liquid thing stay warm longer. It's the same amount of net heat energy, minus the minor averaging effect the slightly cooler metal thing will impart. They're pretty but the claim of making your coffee remain hot twice as long is just silly.

<comment><USER3> The metal is just a wrapping for some kind of wax or whatever. And I must say that I really thought that the idea of removing the initial "hot spike" in favour of longer decent temperature would work.</comment></comment>


Putting GPUs to work with Kubernetes - <AUTHOR> https://medium.com/@samnco/how-we-commoditized-gpus-for-kubernetes-7131f3e9231f <comment><USER2> I keep seeing Kubernetes appear on HackerNews. Is there a quick thing I can read to explain why everyone's so excited about? I know it's container orchestration, but I'm not sure what people are using it for or what pain point it is revealing.

<comment><USER3> [https://vishh.github.io/docs/concepts/overview/what-is- kuber...](https://vishh.github.io/docs/concepts/overview/what-is-kubernetes/)

<comment><USER2> If you'd like to engage with me further, how does a company know it needs Kubernetes? If I'm Soylent and I'm processing a few orders a minute, I'm probably safe with a few redundant monoliths. Do I have to be Uber? What's the middle-ground between Soylent and Uber that would still need this?

Is the answer the same as the question "who needs a microservice architecture"?

<comment><USER4> There are a few killer features that you would benefit at any size and that I really love

* self healing: when you create a deployment/replica set. it will be maintained at all cost, so if the app has a memory leak or anything goes wrong, it will be contained and kept up and running

* Rolling update: even when you run 5 frontends, it is a pain to use capistrano or other tools to just update at git repo. it is literally a one liner in Kubernetes. If you use CI/CD the setup is just a few lines in any Jenkins/Gitlab/Travis...

* Service discovery: the combination of ENV and predictable DNS endpoints is just awesome

* Ecosystem: PaaS, Serverless... Many of the new world infra is built on K8s, so it is a door to the next gen, whether you know you will use it or not.

As for Micro Service Architecture, just starting with the web frontend and a couple of lightly dockerize middleware makes it sooooo simple that you instantly want to get more out of it.

As the overhead of running K8s vs. set of servers is relatively low especially at small scale, it is definitely worth looking at. Happy to do a run through with you and show you how the deployment of a tiered app works as a demo, ping me on @SaMnCo_23 if interested.

<comment><USER5> When running a kubernetes cluster on your own hardware what do you use for storage?

<comment><USER4> You have several options:

* Run Ceph in separate nodes and connect it to the cluster. With Juju, you can do that from the bundle, as Ceph is also a supported workloads. This gives you scale for storage

* Run Ceph within the cluster with a Helm chart. We see that for openstack-helm for example. Also gives you scale, but the lack of device discovery makes it less interesting in my opinion

* Run an NFS server, plain easy but not very scalable.

* Use hostpath, which is the default but doesn't get you scale.

<comment><USER5> So Ceph is the preferred storage provider? I've noticed there is a huge list, including GlusterFS. Do you have experience with any of the other ones?

<comment><USER6> Ceph is not a good solution at all for databases. Your performance is going to be terrible.

Ceph is object-based SDS solution designed to take servers with local drives and create a SAN out of them. In order to do this, they take each LUN (Ceph volume) and scatter the data across all nodes in the cluster. They do not assume that applications will run on these servers themselves... they assume compute is elsewhere, like a traditional SAN. The goal is to replace a SAN with servers, not create a converged platform. Also, Ceph was designed during an age where an Intel server did NOT have tier-1 capacity (8 - 20 TB), which is why they shard a volume across so many servers.

This causes a problem for modern applications like Cassandra, Mongo, Kafka etc, where they like to scaleout themselves and want a converged system, where data is not scattered, but on the node where an instance of that cluster runs. Ceph also disrupts (undo) the HA capabilities that these scaleout applications have (For example, a Cassandra instances data will not be on a node on which it thinks it is).

<comment><USER5> Do you happen to have any suggestions for alternatives to look into?

<comment><USER6> You could look at Portworx (disclosure, I work there so am biased, but you can test it yourself for free)

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> Unprofitable for ETH mining maybe, but it seems like a natural fit to rent time on it to deep learning people with slow training models. Although that could still be unprofitable after the cost of electricity, I guess it's a question of market size/demand. A lot of deep learning is already at big infrastructure players anyway who wouldn't need the service, leaving academics / smaller companies. But maybe some people would find a reliable, scalable GPU cluster valuable.

<comment><USER4> Ahah, good point. Really the ETH stuff was "because I can". But in the same charts repository you will find a Tensorflow chart. My previous series of blogs [0] was about exactly that. A nice addition as well for compute intensive workloads is the use of LXD [1]

Another use case is in media for transcoding. It is not a trivial job to orchestrate transcoding at scale, and Kubernetes with or without GPUs is an excellent solution for that as it is trivial to setup a completely automated job queue.

Also another interesting field will eventually be HPC but there are some constraints about compute that K8s does not tick scheduling wise at this point in time. There is a pluggable scheduler in the works I think, and this will eventually help. Also the LXD example is a nice optimization but it would not replace the scheduler in any way.

[0]: [https://medium.com/intuitionmachine/gpus-kubernetes-for- deep...](https://medium.com/intuitionmachine/gpus-kubernetes-for-deep- learning-part-3-3-automating-tensorflow-deployment-5dc4d5472e91)

[1]: [https://hackernoon.com/job-concurrency-in-kubernetes-lxd- and...](https://hackernoon.com/job-concurrency-in-kubernetes-lxd-and-cpu- pinning-to-the-rescue-b9fb7b44f99d)

</comment></comment><comment><USER8> Great read, on a smaller scale, I have found nvidia-docker with nvidia-docker- compose to be a great solution for deploying docker containers on AWS P2 machines with 8 GPUs.

</comment><comment><USER9> "1060GTX at home but on consumer grade Intel NUC"

A bit OT, but I'd like to see how this works...

Ah, very cool - [https://www.youtube.com/watch?v=wyY- lTmgb8c](https://www.youtube.com/watch?v=wyY-lTmgb8c)

<comment><USER4> Actually, it was a fun DIY project I did a while ago. You can read about it here: [https://hackernoon.com/installing-a-diy-bare-metal-gpu- clust...](https://hackernoon.com/installing-a-diy-bare-metal-gpu-cluster-for- kubernetes-364200254187)

It works, but the GPUs aren't very stable at 4x vs. a normal 16x.

<comment><USER10> That's one problem, another is the size of the powersupply. And maybe that's the _only_ problem, I don't see why a GPU would become unstable when using fewer lanes, all it should do is get slower.

<comment><USER4> I don't know. Maybe the make of the extenders isn't very good, I saw other people with similar issues.

The PSU is the Corsair AX1500i (1500W), with 10x lines for GPUs. It's robust on paper, didn't have any problem with just 4 plugged in.

But I must say... The T630 are very noisy compared to these, but so much more powerful #NotGoingBack

<comment><USER10> I just bought a GTX1080ti + a similar corsair as an upgrade for my 3 year old Dell, it works like a charm.

If you have a PSU that big then that probably isn't the problem. I thought you might be using the PSU that comes with those extender boxes and they usually are very puny (250 W or so).

Do you use it for gaming or for CUDA?

Do you run the 4 GPUs in the extender?

<comment><USER4> Yes, each GPUs has a 4x -> 16x and a 4x-4x extender, in addition to the m.2 -> PCI-e 4x adapter.

So many potential failure points in there. The sole use case is CUDA. Essentially I wanted a portable cluster with GPUs and that did the work for a couple of month. Now it's getting more serious so the switch to T630 makes sense, and I repurposed the NUCs into the control plane of the K8s cluster.

<comment><USER10> I built this long ago:

[https://clustercompute.com/images/image4.jpg](https://clustercompute.com/images/image4.jpg)

Which was a lot of fun.

Do you have all the GPUs internal to the T630?

Any chance of a picture (of the guts)?

I'm seriously thinking of duplicating your effort.

<comment><USER4> Here you go :) [https://drive.google.com/file/d/0B1CCk51NQ4koSmkxSmxWb1E5Y0E...](https://drive.google.com/file/d/0B1CCk51NQ4koSmkxSmxWb1E5Y0E/view?usp=sharing)

Replicating is not very hard. You need a lightweight x86 machine for MAAS, which takes ~20min to install, one VLAN for the iDRAC (IPMI), another for networking that can connect to internet, and off you go. You can also enable KVM power management in MAAS to run the Juju control plane in VMs and save a box if you're limited in compute power.

[https://maas.io](https://maas.io) [https://jujucharms.com/docs](https://jujucharms.com/docs) [https://www.ubuntu.com/containers/kubernetes](https://www.ubuntu.com/containers/kubernetes) for all the goodies.

If you run into problems, I am SaMnCo on #juju in freenode.

<comment><USER10> Ok, so 2 GPUs in there. Have you tried 4 or is that not possible for some reason?

I have plenty of other hardware floating around here so no problem on hooking it all up.

Thank you for the image.

<comment><USER4> I have not, but it is technically possible. the PSU is the double 1100W with the GPU enablement kit. Up to 4x PCI-x 16x full speed. Also up to 1.5TB RAM, and 8x 3.5" HDD or 16x 2.5". I didn't go this far though ($$$...)

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> Is the author of this working on official support or just testing? I know there's a gpu roadmap for k8s, but I can't tell from this blog if this was part of it.

<comment><USER4> Canonical will officially support GPUs when they lands GA upstream. The flag is beta as of now in the Canonical Distribution of Kubernetes. Paying customers either for the managed or supported solutions get a best effort for GPU, and this feature is enabled by default.

<comment><USER12> What is the requirement for privileged containers? The post never explains it.

<comment><USER4> privileged containers are required for the GPU to be shared with the containers.

By default, the bundle come with a "auto" tag, which will activate privileged containers just when GPUs are detected.

You can enforce "false" to remove that, but then you won't be able to run GPU workloads.

Or you can enforce "yes" and have them activated all the time.

Does that answer the question? Not sure if I understood it right.

<comment><USER12> The Kubernetes docs don't say anything about having to use privileged containers for GPU support. Privileged containers are given tens of Linux capabilities; which of those are actually needed in your setup? Or, conversely, which specific step would fail for an unprivileged container?

Just because I want to use a GPU shouldn't require the power to change the clock, switch UIDs, chown files, mess with logs, reboot the machine, etc.

<comment><AUTHOR> Since the GPU libraries are hosted on the node, privileged flag is typically required to make that possible. I'm sure there will be improvements to not require privileged, but today it's mostly a requirement to get anything useful out of containers tapping into GPU.

That said, if you set the allow-privileged flag to false GPU drivers will still be installed but you may not be able to make use of the cuda cores

<comment><USER12> That's weird, because all the times I tried the experimental support, it didn't need privileged containers. From the YAML files, it looks like it's using hostPath directories, but those don't require special privileges, unless you need to write to them:

[https://kubernetes.io/docs/concepts/storage/volumes/#hostpat...](https://kubernetes.io/docs/concepts/storage/volumes/#hostpath)

I suspect that there is a bug somewhere.

<comment><USER12> Ah, wait:

[https://github.com/madeden/blogposts/blob/master/k8s-gpu- clo...](https://github.com/madeden/blogposts/blob/master/k8s-gpu- cloud/src/nvidia-smi.yaml)

You don't need to mount the /dev entries into the container at all. The experimental support creates them automatically for you when you are using GPU resources. Perhaps it's device nodes, not the libraries that required privileges?

<comment><USER4> Hello,

OK I gave it a try and you are absolutely right. For the nvidia-smi, I could run it the /dev/nvidia0, which is cool.

I was also able to run it unprivileged. I guess my mistake was to believe the example from the docs and not test without.

Thanks for sharing that, I'll update my charts and the post accordingly.

<comment><USER12> Awesome! Happy to hear that more containers will run without unneeded privileges.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


Dropbox I.P.O. Could Value Company at More Than $7B - <AUTHOR> https://www.nytimes.com/2018/03/12/business/dealbook/dropbox-ipo.html <comment><USER2> This doesn't seem too over the top. Everyone (outside of IT and most in it) uses Dropbox* even though Google Drive and OneDrive offer more space for free and are arguably better in the different ways (GSuite integration / Office 365 integration). As another reference point Litecoin market cap is about $10B and newly minted BCH is $18B - granted this refers to market cap of the coins not the backing company/orgs but nonetheless I'd know which I'd one been investing in.

* For the record I use Google Drive and Insync - Not promoting Dropbox here.</comment>


Sluts at the Halloween Ball - <AUTHOR> http://www.jamesaltucher.com/2012/11/sluts-at-the-halloween-ball/ <comment><USER2> This is a great piece, but the shock/bait title is a bit overmuch. "Sluts at the Halloween Ball", really?</comment>


The Whale Dying on the Mountain - <AUTHOR> http://www.hakaimagazine.com/article-long/whale-dying-mountain <comment><USER2> >>If the most urgent question of our times is why we fail to care deeply about the most urgent issue of our times, then there are lessons to be learned in the shadow of Comox Glacier.<<

A sobering statement...

Nice write up, and spectacular photography...

I learned that there's actually a term for the remorse I often faintly feel when I think about the Earth my children and grandchildren will inherit...

"Solastalgia", which describes a form of psychic or existential distress caused by environmental change, such as mining or climate change.

</comment><comment><USER3> We fail to care because I expect most people are resigned to the fact that we aren't going to do a damn thing about it.

Climate change is real. Humans are causing it. And we're not going to stop. It's as simple as that.

So why waste emotional energy on the issue?

What I find odd is that folks find that odd. It's actually a pretty rational reaction to the situation.

Far less rational is to think you can convince 8 billion prisoners to solve a dilemma bigger than any of them can possibly imagine.

<comment><USER4> > And we're not going to stop. It's as simple as that.

I think that people who are using emotional energy, as you put it, disagree on this point.

<comment><USER3> _I think that people who are using emotional energy, as you put it, disagree on this point._

And, to be blunt, they're wrong.

There is literally no reason whatsoever that humans will all agree to curb greenhouse gas emissions. That would require that everyone 1) agree climate change is happening, 2) it's their responsibility to address it, and 3) it's worth the "cost" to try and address it.

The vast majority of nations that contribute the lion's share of greenhouse gas emissions are developed western countries. The vast majority of nations that will bear the brunt of the consequences of climate change are poor, eastern and African nations.

So those nations that could have the greatest impact have the least motivation to do anything.

Thus we will continue to pump CO2 into the atmosphere until the immediate opportunity cost of doing so outweighs the immediate opportunity cost of not doing so (since humans are primarily driven by short-term economic needs). That basically requires non-CO2-producing resources to be cheaper than CO2-producing resources, and that won't happen for a _long_ time, particularly in the transportation sector.</comment></comment></comment>


Snapchat Says It's Improving Its App, Service To Prevent Future User Data Leaks - <AUTHOR> http://techcrunch.com/2014/01/02/snapchat-says-its-improving-its-app-service-to-prevent-future-leaks/ <comment><USER2> Way to not apologize or really 'fix' the issue. For all users who don't opt out (which they don't say will be default) this vulnerability will still exist and be exploitable. They'll just make it (somewhat) harder.</comment>


MS Bids $1.2B To Buy Norwegian Search Company - <AUTHOR> http://www.globeinvestor.com/servlet/story/ROC.20080108.2008-01-08T133446Z_01_L08643721_RTRIDST_0_BUSINESS-FAST-MICROSOFT-COL/GIStory/

<comment><USER2> MS desperately needs an internal search tool for their own enterprise info. You simply cant find anything on their intranet, its shocking. This is made worse by constant employee churn and re-orgs.

It would literally be worth the price to MS if all Fast did was help MS get its act together internally!

<comment><AUTHOR> Instead of a $1,200,000,000 solution for that issue, here is a $50,000 solution for them that is even better! :-)

<http://www.googlestore.com/appliance/product.asp?catid=2>

$50K version indexes one million documents.

<comment><USER3> You're forgetting that in this dimension, Steve Ballmer has his board brainwashed: You don't use an iPod, and you don't use Google.

</comment></comment></comment><comment><USER4> I think everyone here has heard of FAST...

</comment><comment><USER5> What is "enterprise internet search"?

<comment><USER6> I do not believe the article mentioned internet, but enterprise search is a big problem to solve. It is estimated that only about 20% of useful corporate data is stored in appropriate formats, i.e. databases. The rest is spread across thousands employee computers in form of word documents, text files, html files, PDFs, etc.

I have not heard of this norvegian company, but I have heard of startups tackling the problem of distributed search across "clowds" of enterprise PCs: each computer is running an agent and listens to a server for commands. A typical use case: a company is being sued over something, so a management may issue a command of searching for lawsuit-related keywords on ALL computers (laptops included) of all employees. The results can be collected, analyzed and even remotely deleted on all PCs.

<comment><USER5> The article did mention internet and that got me confused. Thanks. Here is the company site for reference: <http://www.fastsearch.com/></comment></comment></comment>


CodeFront.io 2014: Front-end Dev Conference, 10 May, [HN discount]! - <AUTHOR> https://codefront2014.eventbrite.com/?discount=HACKERNEWS

<comment><USER2> this is an event from the organisers of kod.io developer conference. kod.io took place in both linz (austria) and istanbul (turkey). it was a very pleasant event for both attendees and speakers.

codefront will be an awesome frontend conference. if you don't believe me, go check [http://codefront.io/](http://codefront.io/) and see it for yourself!</comment>


How the NSA Almost Killed the Internet - <AUTHOR> http://www.wired.com/threatlevel/2014/01/how-the-us-almost-killed-the-internet/all/ <comment><USER2> "The agency, he says, had tracked a high-value target in South Asia for over a decade before learning that he had once applied for a green card—making him, under NSA rules, a "US person." "As soon we discovered that," Ledgett says, "we dropped collection on him under our Executive Order 12333 authority and canceled 14 years of reports.""

Does anyone know more about this? Does that mean I can send in a form and instantly be a "US person" to the NSA, even without intention of actually getting a green card?</comment>


Dial-A-Ride: Boom or Bust (1975) - <AUTHOR> https://books.google.fi/books?id=e-IDAAAAMBAJ&pg=PA82#v=onepage&q&f=false <comment><USER2> Dial-a-Ride was a horrendous failure in Santa Clara County despite the faint critical tone of this article. How it works among a small and/or dense population is another story.

My late father was a leading critic of Dial-a-Ride at the time, mustering his considerable organizational analysis skills to show just how unworkable it was even in the most perfect scenario. To wit: imagine an assortment of riders all lying roughly in a long line across the valley with a common destination. Even in that case, the transit time for the first boarder from origin to destination would be at least 10-15 TIMES direct door-to-door time, or at least 3-4 times as long as taking existing bus routes with transfers (if needed).

In a small town with a well-bounded small center of commerce and residences, sure, that could work.

Here's a postmortem analysis from Stanford: [http://link.springer.com/article/10.1007%2FBF00165244](http://link.springer.com/article/10.1007%2FBF00165244)

VTA's current farebox recovery rate is below 15% and, to my knowledge, has not ever been better than that.

</comment><comment><USER3> I believe the "farebox recovery ratio" of Muni in San Francisco is ~20%. Which means, the actual cost of a bus ride is $11.25 ($2.25/0.2). So, the government is paying $9 subsidy for each rider.

Looking at how municipalities subsidized dial-a-ride, are any subsidizing ride-sharing (uber, lyft) systems? Many uber/lyft rides inside of SF are cheaper than the cost of a muni trip.

<comment><USER4> > fare capture

Terminology "fare capture" refers to the % of rides that are paid (vs "stowaways"), not the $ of expenses that are paid by fares.

> So, the government is paying $9 subsidy for each rider.

This isn't quite right. A proper analysis needs to separate marginal cost from overhead. If the system is not running at capacity, adding more rides would decrease the subsidy per ride.

<comment><USER3> You're right. The correct term is "farebox recovery ratio". [https://en.wikipedia.org/wiki/Farebox_recovery_ratio](https://en.wikipedia.org/wiki/Farebox_recovery_ratio)

</comment></comment></comment><comment><USER5> Dial-a-Ride in Santa Clara county was a nice service, but Santa Clara County is 200 square miles, and at the time, had nothing like a "downtown". Downtown San Jose had almost no tall buildings back in 1975. There wasn't much commonality of trip sources or destinations, and thus most buses had one passenger.

<comment><USER2> oh, there was a handful of tall buildings (I recall seeing the Community Bank and Bank of America buildings using a telescope from the eastern hills), but there was never sufficient density of population or workforce for transit to be cost-effective.

The (lack of) such commonality was key.

SCCTA/VTA's infrastructure was always politically oriented, not need-based. Note how Mineta obtained hundreds of millions of Federal funding for light rail along the Mountain View/Sunnyvale corridor (despite mass reductions of workforce in the area at the time from Lockheed and the Blue Cube)... then quit his House seat early and joined Lockheed Martin's executive ranks.

But I'm sure that was just coincidence.

</comment></comment><comment><USER6> Quite interesting. I grew up in a small town with < 10K people and we used Dial-a-Ride all the time. I think the service is still offered to this day.</comment>


Jeff Lawson of Twilio: When Ideas Collide, Don't Duck - <AUTHOR> http://www.nytimes.com/2014/03/09/business/jeff-lawson-of-twilio-when-ideas-collide-dont-duck.html?partner=socialflow&smid=tw-nytimesbusiness&_r=0 <comment><USER2> "Every industry will become a software industry because of the pace at which software people innovate...Think about Tesla. It's a rolling piece of software."</comment>