Version control: best practices - <AUTHOR> https://blog.rainforestqa.com/2014-05-28-version-control-best-practices/

<comment><USER2> > Good, descriptive commit messages

All of the examples given in the image going that heading I'd say are mediocre at best.

The code changes should tell you what has changed, if I'm looking back through your commit history what I'm usually trying figure out is why you've changed something.

A ticket number is often the single most useful thing, ideally followed why a very brief what you've changed and as much information on why you've changed it as you think would be useful.

<comment><USER3> I think the point was mostly that 'lol' or 'meh' is a completely useless comment. It's true that there's a lot of room for improvements in the given example. Still, they do provide some context to people who actually understand the application they are working on.

Does anyone know of good open source project that uses Git messages extremely well that we could use as an example?

<comment><USER2> Yes, they are clearly vastly superior to 'lol', 'meh' or worse 'fix'. Still, I think my point stands that they could be better.

<comment><USER4> Yes, totally! We picked some examples quickly just to demonstrate that people can do better "lol", "fix" or "meh". There is still room for improvements and we have better ones, too.

</comment></comment></comment></comment><comment><USER5> Adding to GitHub Pull Requests, I recommend opening them early. This allows reviews to happen early and often, instead of reviewing one giant chunk of changes at the end which may get rejected because it has too many problems.

Plan out the tasks in your PR to communicate what still needs to be done -- I like to use GitHub Flavored Markdown task lists.

Here's a fish script I use when creating a new branch. It opens a PR before I even write a single line of code.

        # Usage: git-new-branch 120-fix-foo-issue
        function git-new-branch --description 'Creates a new branch and opens a Pull Request for it'
          git checkout -b $argv[1]
          git commit --allow-empty -m 'Empty commit to open PR'
          git push origin HEAD
          git pull-request  # Opens your default text editor for PR title. Uses hub.
        end

<comment><USER6> You can also convert issues (which often are created before writing code, as the reason for the changes) to pull requests:

[http://stackoverflow.com/questions/4528869/how-do-you- attach...](http://stackoverflow.com/questions/4528869/how-do-you-attach-a-new- pull-request-to-an-existing-issue-on-github)

<comment><USER5> I think having an issue attached to your PR is much better than converting your issue to a PR. Here's a good discussion about why it's been deprecated: [https://github.com/github/hub/commit/4f70dd126f46dec14fc341c...](https://github.com/github/hub/commit/4f70dd126f46dec14fc341c97c18efae417743c7)

</comment></comment></comment><comment><USER3> Although many of these tips might seem trivial and obvious, I've often seem developer who self-identified as 'senior' not follow these practices.

Git and Github are communication channels and you should think about effectively communicating with your audience when you are using them. Very much in the same way that you are when you are writing emails.

The other interesting point about Git is that, very often, you are your own audience when you're revisiting the history of particular months after you've written the original code. You should definitely start thinking about your workflow a little more.

</comment><comment><USER7> I'd be very hesitant with "commit often". Each commit should represent a finished bit of a bigger feature.. Each commit should compile (...generally. With exceptions). Commits that fix spelling, or change some spacing issues end up cluttering the history and making it hard to see what's being actually done. When someone looks over your code they should see things like:

commit1: he/she added some methods

commit2: refactored some code

commit3: he/she plugged in the methods created into the refactored code

etc.

The branch as a whole should be a finished feature. Keep the features small- ish. Try not to have a branch that living on it's own for a long time. You can merge the master branch into it, however you'll slowly be out of sync with your team b/c they don't really know what you're up to.

The only thing I absolutely detest in Git, is that is no quick method to change history on local changes. Say I add a method and make a commit - then I do a bunch of other work and 10 commits later I realize that the method I had written needed to be const. Instead of be able to edit that commit and add the const labels, I end up having to make another commit that no one cares about and no one really should have to look at. It just makes the history incredibly cluttered and make it a lot harder to find the commits I'm interested in.

The workaround is to make a new branch and cherry pick changes - but it's a huge PITA and easy to mess up

Aside:

Does anyone know what diff tool is best for working in C++? The diffs I commit (using kdiff) can sometimes be mind-boggling hideous b/c the diff program parsed things in some strange way.

<comment><USER8> _The only thing I absolutely detest in Git, is that is no quick method to change history on local changes. Say I add a method and make a commit - then I do a bunch of other work and 10 commits later I realize that the method I had written needed to be const. Instead of be able to edit that commit and add the const labels, I end up having to make another commit that no one cares about and no one really should have to look at. It just makes the history incredibly cluttered and make it a lot harder to find the commits I 'm interested in._

I think you can use git rebase --interactive to reorder the new commit and squash it with the older: [http://stackoverflow.com/questions/3921708/how-do- i-squash-t...](http://stackoverflow.com/questions/3921708/how-do-i-squash-two- non-consecutive-commits)

Of course, that requires manual labor (brrr), but that's nothing that a small script can't automate. I'd do it myself if we used git where I work.

<comment><USER7> Thanks for the pointer. In truth, I use a GUI (gitExtentions). I like it a lot more than the command line. Hopefully this is implemented somewhere. I'll look into it!

</comment></comment></comment><comment><USER9> I used to use feature branches more heavily but these days _Branch By Abstraction_ tends to be my first choice.

[http://continuousdelivery.com/2011/05/make-large-scale- chang...](http://continuousdelivery.com/2011/05/make-large-scale-changes- incrementally-with-branch-by-abstraction/)

</comment><comment><USER10> Looks very sensible. We tend to not have a long running dev branch, and just cut features branches off master, similar to the 'how github uses github to build github' presentation [1].

Is anyone making squashing part of their workflow? We seem to prefer just plain merges with rebase.

[1] [http://zachholman.com/talk/how-github-uses-github-to- build-g...](http://zachholman.com/talk/how-github-uses-github-to-build- github/)

<comment><USER11> Instead of squashing _everything_ into a single master commit for each bugfix (which I've seen teams do), I use a merge commit to signify a set of commits that comprise a single feature or fix. (`git merge --no-ff`)

I make use of squashing when there is a clear group of commits that all change the same few lines of code or are conceptually part of the same incremental change. But then each incremental change (from working state to newer working state) I leave as a separate commit.

</comment></comment><comment><USER12> I do contracts for many startups and I am surprised how many don't follow a good practice.

</comment><comment><USER13> The branching model that I use with my team projects used to be like this - master was always production code, development was always code ready for QA, and features would be branched off and development. It worked great for larger projects that had releases that were weeks apart, but a lot of our projects are very small and may have several minor changes go to production in a short amount of time.

We decided to kill our development branch and just create feature branches off of master. If multiple devs are working on the same project scheduled for the same release, we will create a release branch and they can branch features off of that.

An open pull request into master is how we initiate the QA process, and all remediations are discussed in there. When the pull request is merged and closed, we all get an email so we know to update our local code. It's been working really well so far for both our small and large projects.

<comment><USER4> Just an FYI, with this model, we still do multiple deploys each and every day :)

There might be a point where this won't work for us anymore, it's always time to change.

Also, this is not because a branching model works for a team that it will for all teams and projects.

Like any in-house, process the branching model will evolve with the team and it's requirements to be efficient.

<comment><USER13> We ran into a couple issues (none of them significant)

1\. When someone merges their branch into development for QA, it's going to be there (with or without issues) for anyone else who merges for QA after that. If the first merge has bigger issues than expected, it's a bit of a pain to roll it back and re-merge the later branch. Without the development branch as a base for our QA, we just QA things one feature/release branch at a time. This lets us easily send back branches that aren't ready for production and move on to a different branch that is before any merging takes place.

2\. We weren't sure how to handle pull requests with the development branch always being there. We used to set development as our "default" branch in github, so any pull requests would be automatically merged into there. That got a bit confusing, though, as most of us were so used to merged pull requests representing a change that has already been reviewed and accepted as production-ready. And as for the merge to master, should we submit another pull request? It just seemed like an unnecessary extra step in a lot of situations.

But you are absolutely right. Different flows work for different teams and projects. I'm sure as our team evolves, so will our workflow.

<comment><USER4> For #1, we use Fourchette ([https://github.com/jipiboily/fourchette](https://github.com/jipiboily/fourchette)), which means we have a Heroku fork of our QA env for each GitHub PR.

For merges to master, we submit other pull requests that we call "Release: ...". We can then see if CI and Rainforest tests are passing, if all is green, then we merge! :)

</comment></comment></comment></comment><comment><USER14> Nothing very new here, but it still amazes me the sheer amount of devs that ignore these simple best practises. So it's always nice to have these reminders every now and then.

</comment><comment><USER15> One thing that bothers me is when a commit has multiple changes that aren't related. A commit message will say "Implemented feature X", and that's true, but it's also making a small change to feature Y, which isn't mentioned in the commit message. It makes reading the diff harder because you have extra noise in there and it also makes it harder to answer the question of "Huh? Where did this small change to feature Y come from?".

<comment><USER4> Commits with unrelated changes should be multiple commits.

</comment></comment><comment><USER16> Nice article! I've got a question though, why do you guys branch from "Staging" ? Personally, I branch from "Master" or "Production" and the reason is that "Staging" may have "features" that need proper testing and the "development to production cycle" be longer and I don't want that to be included. Does this make sense ?

Can you explain me how you prevent that from happening ?

<comment><USER4> We use Fourchette ([https://github.com/jipiboily/fourchette](https://github.com/jipiboily/fourchette)), which means we have a Heroku fork of our QA env for each GitHub PR.

Also, once something is on develop/staging, it is about to be shipped. If there is any bug in there, they are they should be fixed ASAP.

As we grow, we might have to do things differently, we'll see, but this works really well for us right now. :)

</comment></comment><comment><USER17> When reviewing a pull request I find it hard to see the changes made since my last set of comments and to find unanswered comments (especially when the comment was on a diff hunk that is now gone). When responding to a review I find it likewise hard to find comments that I haven't responded to yet. Rietveld or gerrit solves all of these issues very easily. Do you have any tips on how to deal with them in github/bitbucket pull request UI?

</comment><comment><USER18> Good post, though I'd add that you should avoid rebase and force push. I've seen both used an add nothing but confusion / breakage.

See: [http://geekblog.oneandoneis2.org/index.php/2013/04/30/please...](http://geekblog.oneandoneis2.org/index.php/2013/04/30/please- stay-away-from-rebase)

<comment><USER19> These kind of vague blanket statements doesn't do anybody good.

rebase and force push are _bad_ _if_ you run those commands over commits that are already committed into remote branches that are shared by others (mainly the master branch).

You definitely can (and probably should) rebase on your own branches and be fine with force pushing into your own branches (even "remotely", like on a PR'd branch). However once you are touching shared branches, you should definitely not run rebase/force push.

The basic rule is if you are on a branch and you need to use rebase to do squashes or amendments, you are okay as long as you do `git rebase -i origin/master` (assuming origin/master is updated and that master is what you branched off of). Running a normal rebase should not affect any committed changes as it takes your parent branch (origin/master) and runs your commits on your local branch over it.

</comment></comment><comment><USER20> superb..</comment>


Modern life is lonely – We all need someone to help - <AUTHOR> https://www.theguardian.com/commentisfree/2017/dec/16/modern-life-lonely-isolation-hardwired-lives <comment><USER3> Lately I've become more and more convinced that indeed, modern society sucks, or at the very least that I, and people like me, am not well equipped to flourish in it. I'm sure some people are though, but I suspect they are becoming the minority.

Few days ago I also read Ted Kaczynski's essay[1], and it's hard for me not to acknowledge how right he is on many points.

However, I do believe it is possible to survive all this, and that stoicism is a way. Kaczynski wrote for instance :

"It is true that primitive man is powerless against some of the things that threaten him; disease for example. But he can accept the risk of disease stoically. It is part of the nature of things, it is no one's fault, unless it is the fault of some imaginary, impersonal demon. But threats to the modern individual tend to be MAN-MADE. They are not the results of chance but are IMPOSED on him by other persons whose decisions he, as an individual, is unable to influence. Consequently he feels frustrated, humiliated and angry."

Is it not possible for the modern man to accept the drawbacks of modern life, including loneliness, just as stoically as the primitive man was accepting adversity and death? Whether adversity is man-made or "natural" should not matter for the individual. From the stoic point of view, in each case it is just an external factor.

It seems to me that as long as someone understands what is happening to him, he can make his mind at peace with it, whatever it is. Was it not after all one of the lessons of Epictetus, that what matters is not so much what happens to us, but how we react to it? That as long as we are ready for the worst, we can not really be troubled by it?

1\. [http://editions-hache.com/essais/pdf/kaczynski2.pdf](http://editions- hache.com/essais/pdf/kaczynski2.pdf)

<comment><USER4> It's also possible to live differently. I played the stoic for decades until the isolation of being a business owner living in a city pushed me over the brink.

I've struggled with loneliness my entire life - and adult life has been worse than childhood. I started boarding school at six - and while I was homesick for some time, the camaraderie of other inmates, uh, students, was the only thing that kept me mildly sane - I had people to look out for and protect, and similarly people looked out for and protected me.

As an adult, I've unwittingly repeatedly chosen lonely paths - <USER2> frequently for several years before settling down and starting a business. I spent my days surrounded by people with nobody to relate to - I can be friendly with employees and clients, but I can't be friends. I can't confide about what worries me.

Either way, I broke - I spent most of 2016 having anxiety attacks that'd see me vomit for weeks on end, to the extent that I ended up hospitalised several times with severe dehydration and hypoglycaemia. I passed on the reins and left.

I now live on the edge of a village in the middle of nowhere north wales. I have drinks or go for walks with with my 93 and 84 year old neighbours most days. I've made friends with all sorts, just by saying hello to folks as they walk past the cottage.

My financial future is uncertain - but as I write this I am so happy it brings tears to my eyes.

We've really forgotten what's important - and there's a story about a chap called Midas that we could all do to learn a thing or two from.

<comment><USER5> Thanks for this, the first half of the comment perfectly sums up my last few years.

I've moved out of London to try and live a more comfortable and less hectic life in a smaller city, now I find I'm so alone I want to move back to the city just to be with my friends.

I'd love to be in the middle of nowhere, or anywhere else in the world, but the "friends" problem is always so understated. I _need_ friends(hip), or I don't function. Even as an "antisocial" person, as my friends like to say, friendship is the most important thing in life.

Funnily, the fact that I'm being productive while a big part of myself is just a huge hole is impressive in itself.

<comment><USER6> It feels like beeing a black hole, with a thin crust of human on top, sometimes it hurts so much, that you can allmost hear a sucking, swirling sound.

</comment></comment></comment></comment><comment><USER7> Personally, going to Church has helped me suffer less with loneliness. I've made meaningful friendships, and relationships with people from all sorts of backgrounds. It has given more meaning to my life than anything I found at work, or by random socialising.

Of course, YMMV. Please take this as a random anecdote, not as evangelism.

<comment><USER8> I know a few people who have suggested attending a Unitarian Church ([https://en.wikipedia.org/wiki/Unitarian_Universalism](https://en.wikipedia.org/wiki/Unitarian_Universalism)) as a way to get the social benefits of church without having to subscribe to a religious belief. Many congregations include atheists and agnostics.

<comment><USER9> There is also Sunday Assembly: [https://www.sundayassembly.com/](https://www.sundayassembly.com/)

"The Sunday Assembly was started by Sanderson Jones and Pippa Evans, two comedians who were on the way to a gig in Bath when they discovered they both wanted to do something that was like church but totally secular and inclusive of all—no matter what they believed."

<comment><USER10> Had no idea such a thing existed. Thanks for the information.

</comment></comment></comment></comment><comment><USER11> I think a large part of the problem is that the younger generations have grown up with pretty strong expectations placed upon them to do things like go to college (at whatever cost), land a white collar job, climb the ladder, etc.

The obvious solution is to own your decisions and start doing what _you_ think is right for you, but it's far easier said than done to step out from under the expectations you've been saddled with your entire life.

<comment><USER12> Expectations and also demands; as the precariat grows, and the unnecessariat under it, there's steadily more risk to striking out on one's own.

Certainly a six-figure salary is not necessary for happiness, but if you find yourself working long hours to make rent in some midwestern town it's going to cut into your opportunities for self-discovery and joy. And if you got wise a bit too late, after picking up federal student loans, you might well find that your dream career is genuinely off the table. (Found your true calling as a firefighter? Better keep up on those loans or you'll lose your license.)

It seems like we've created a system where the straight-and-narrow is increasingly narrow, and the cliffs around it are increasingly high. It's still worth finding one's own path, but in both social and purely-practical terms it's gotten steadily harder.

<comment><USER13> > It seems like we've created a system where the straight-and-narrow is > increasingly narrow, and the cliffs around it are increasingly high. It's > still worth finding one's own path, but in both social and purely-practical > terms it's gotten steadily harder.

On the one hand yes, on the other hand mobility at every level has never been greater, even if still not at the optimal level.

<comment><USER14> Can you provide some evidence for this claim? Inequality has grown pretty systematically since the '70s, and though I don't have the link, there was a study recently demonstrating that it's harder to move up than it was for our parent's parents...

</comment></comment></comment></comment><comment><USER15> Best solution to loneliness is to gain massive debt, become dirt poor, and battle daily with attention deficit issues while you struggle to learn and become productive enough to get a job in the software industry with a pretty horrible work history, an incomplete bachelors, and a near worthless associates.

Living one rung lower on Maslow's hierarchy makes you forget about the desire to be around people, or even leave the house (father's) all that often (2% of the time).

Granted, I think maybe my concern for my health (irrational or not) has been exacerbated, so I've traded loneliness for frequent panic attacks concerning whether or not I might have cancer or a heart defect. On the plus side, I know for a fact that I've torn back muscles weight lifting, so all I really need is the medicaid office to get back to me after submitting my 4th application with no phone calls or emails as to my status.

<comment><USER16> Ouch. Hope it gets better.

Have you tried subreddits like [https://www.reddit.com/r/Anxiety/](https://www.reddit.com/r/Anxiety/), /r/offmychest/, or something like 7 cups of tea?

As the story relates, we're more like to offer practical advice here on HN rather than the emotional support you probably need right now.

It does, honestly, get better. You're making the right moves, even if it does all look desperate right now.

<comment><USER15> Danke. I'm cool for the most part right now. I've come to embrace my anxiety to an extent. If I'm able to type, then that means it's mostly not affecting me at the moment. Late night just has me feeling a lack of inhibition and dis- concern for my privacy on these matters.

As far as caffeine goes, I don't know what I'd do without it. Up until recently I was on 2 doses of 3 cups (measurement unit) of espresso per day, but I've realized that I needed to up the dosage, or at least the source. So I went down to 1 dose of 3 cups of espresso + 1 caffeine pill later on, 1 Monster Energy (lowest caffeine content of all my sources I believe), and 1 cup of green tea. This also has the side benefit of pain relief from the muscle tear issues.

As for software development, I'm in the process of learning the ins and outs of OAuth and OpenID Connect prior to implementing a sign up and login. Using Node, so it seems like there is a wealth of tutorials out there for passport, and apparently many of them are insecure (or so I've read), so I want to fully understand the concepts behind the most commonly accepted as secure protocols for Authorization and Authentication. Please correct me if I've said anything gibberish; still learning.

<comment><USER16> Caffeine can cause anxiety, I gave it up for a while when I started suffering from panic attacks and it helped. I was lucky that I had no withdrawl headaches.

Also, sleep. Good sleep, a bit of regular exercise and a bit of a routine are a great deal of help to stablizing your mood and anxieties.

OAuth and OpenID are completely, ridiculously, utterly, pathetically over- complicated. It's one of the worst specs ever released. You do not need to know it to be a professional developer. Most professional developers will have no clue how it works. Trust me, I have over a decade of experience. If you can get a plug and play library, I really would just do that. Especially while learning development.

I mean, if you're enjoying it, go ahead, but OAuth is basically stupid. A cruel joke inflicted on developers and a lesson in how not to make a spec.

<comment><USER15> Understood, and that's generally what I've been taking away from it, but I have a mind towards security and while I don't need to fully understand it to be a developer, I must understand it for my own purposes, as I would (1) feel completely ashamed of myself for blindly following tutorials, especially on this topic, and (2) would not want to adopt the liability that comes with implementing an insecure system for a client that has a bigger wallet than me and wants to crush me financially even further for making a mistake that harmed their customers or business. Is such a scenario likely? I don't know; doubtful, but still, I'd feel like an impostor.

Truthfully, the spec itself doesn't seem too difficult to understand; it's mostly my inability to stay focused that causes me the problems I deal with when studying and coding. Perhaps the true culprit of our times are browser tabs; the more I have open, the more overwhelming it becomes to consume them.

As for caffeine and anxiety it's better than the depression that I feel with a lack of caffeine. Caffeine also has a kind of analgesic effect, or rather maybe the lack of caffeine causes me to have more pain in my spine for some reason. Sleep isn't too difficult with chronic melatonin use. Your body never adapts to melatonin as with other substances, so you can maintain the same dose (5mg in my case) with consistent efficacy. I'm out within 30 minutes after taking melatonin.

</comment></comment></comment></comment></comment><comment><USER17> For the past year, I've been working on the social isolation problem. Here's the idea we're currently developing. Would love to hear folks' feedback. Would you be excited about using this?

"A social app, like Tinder but for hangouts with friends.

See what your friends want to do, and swipe right to show you're interested. You can also join hangouts in the global feed to instantly expand your social circle. Hangouts are capped at 10 people so you can actually get to know each other. Post things you want to do, like "Hike in John Muir". When 10 people swipe right, a chat opens up so you can coordinate when to meet & who is down to go."

<comment><USER18> These ideas always ended up becoming dating apps in the past so the idea to restrict it to your existing social circle is a smart one. I would consider using it if it was well executed.

<comment><USER19> But what if I want to build one up? I think something like a dating app (but not for dating) could work. You'd just have to do some a policing to avoid the trend towards people trying to find love, since both apparently don't work together.

</comment></comment></comment><comment><USER20> We're paying the price for the proliferation of existentialism, and it's flavor of capitalism and justice.

"You're on your own" is good when reaping rewards and thriving in a meritocracy, but not when you need help, are losing, or just want warmth.

But a healthy dose of loneliness is what has us reaching for each other.

So we should all just give in, and reach for each other.

Natural feeling tend to take care of themselves, so long as we're capable of being honest.

Of course, that's the other issue.

<comment><USER21> How are you defining "existentialism" here?

<comment><USER20> "I think therefore I am." The essence that precedes the thought. "Our actions are the outcome of our being."

The notion that success is reserved for the deserving, and criminals are devils that require punishment. That there are good and bad people; good do good, and bad do bad. All we need to do is sort them. And that all depends on our individual essence, our free will.

Everything good pre-exists and we shall be the judge.

As opposed to,

"There are no actors, only actions" and "We are the sum of our actions."

"I think therefore I'm thinking."

"I committed a crime, got caught, and that is why I'm in jail."

"I witnessed his birth, I changed his diapers, I taught him how to walk, and he follows me around. He must be my son."

I actually don't have the name for the latter philosophy. I really wish I knew. It's along the lines of Nietzsche and Aristotle, but I can't say they put their finger on it. Any pointers welcome.

It also holds the key:

"I'm lonely. And that's the only reason I need you by my side."

That's all we need.

<comment><USER21> The latter philosophy is called, uh, existentialism, so I'm not sure quite what happened here.

<comment><USER20> Then what flavor is it?

With one existence precedes all phenomena.

With the other phenomena precedes all existence.

</comment></comment></comment></comment></comment><comment><USER22> I think I have suffered from loneliness before. A stomach-stabbing loneliness really. No friends to truly communicate, going on car drives with no destination/intention but to just think, walking in the evening hoping someone would strike a conversation, etc. Though I find my loneliness usually arises because I expect something different than what already is. Expecting something different than what is is a way to suffer (accept what is, and you're free?). Consequently, I find that I must make a home out of this loneliness. You know how when you move into a new place and you are organizing or reorganizing or maybe decorationing your work station at home to make it feel comfortable and home-y? Well, that's what I think I had to do internally to make my loneliness not loneliness. I suppose convert loneliness into solitude.

Then again, I have this vague thought that many people suffer from loneliness (depression, etc) because of how we are raised, how society, culture, civilization, have molded our minds. I think in modern day, consciousness is everything. But because it's an unknowable object, we ignore it or worse: pretend it doesn't exist. Consequently, we end up hard-headed in a matrix of half-baked beliefs, lonely, depressed, fearful, and anxious. I don't know, the whole social order I think is set up in order to avoid the unknowable, if you will, of what everything is. The idea that the radio is blaring at all times. That we are all taught to listen to channels but never taught to turn it off and listen to the silence. If only we were to listen we would see that from the unknowable arises a reflection; the consciousness of everything, the I-am. At this point, I think, sort of in the poverty of true humility, everything that appears is seen as a miracle. The birds chirping in the morning is as much of a miracle as being in the perfect spot in the knowable universe for life to exist. The question then arises: Why is it that we remain deaf/blind running around anxiously in the noise when pure consciousness is right here out in the open all the time?

Above all: I think loneliness may be combated through several forms: reading really good fiction, doing drugs (weed in particular), having passionate sex, or any form of escapism. I find that the latter are only temporary ways to combat loneliness. If we would like to conquer loneliness, making a home of yourself and reflecting on what truly is is really important.

<comment><USER23> Have you thought about taking upon more responsibility? Be it to your community, to a volunteer organization, pets, and even plants. Modern society is malnourished when it comes to the sense of belonging.

"The higher degree of responsibility that you agree voluntarily to try to bear the richer your life will be." -Jordan Peterson

</comment></comment><comment><USER24> And talk about modern online dating. It takes defeat to a wholly new level. Back in the day one could be rejected by a handful of ladies in a conventional setting (bar, club, whatever). Now when you're dating online you can instantly rejected by an infinite number of women \o/

;-)

</comment><comment><USER25> Modern society may have issues, but it as bad as it is usually portrayed.

10,000 years ago, you would live in a tribe. If you were not popular among your tribe, it is likely you would be either exiled and forced to live in solitude and die during winter or be constantly subject to violence.

2,000 years ago, you would live only to work in a farm or be in a state of perpetual war. To make things worse, literacy rate was something around 0.001%, if you were lucky.

1,000 years ago, you would be essentially doing the same while dying from a plague. There was no sanitation of any kind.

200 years ago, you would be working at a factory and going to war every 30 years.

100 years ago, there was no radio or TV, so you still had stuff like this: [https://en.wikipedia.org/wiki/Tulsa_race_riot](https://en.wikipedia.org/wiki/Tulsa_race_riot)

About 60 years ago women were predominantly housewives and were vulnerable to all sorts of abuse.

So no, right now things are better.

<comment><USER26> Wait, do you think that the Tulsa race riot happened because people didn't have radio or TV? Wtf?

Race riots occurred in this country because of the acute structural contradiction between the white settler-nation and the other nations; these contradictions have not been resolved by radio and TV in the interim. We will see more of these riots in the future.

<comment><USER25> I do not think that.

But I think is that more people would not have been OK with that level of violence and destruction if they had a chance to actually see it, rather than presented through words on a newspaper.

</comment></comment></comment><comment> wu-ikkyu >How can a person be expected to be happy with, and in, themselves when the eternal message is: "Try harder, do better, climb higher, don't fail"?

"Success is as dangerous as failure. Hope is as hollow as fear.

What does it mean that success is as dangerous as failure? Whether you go up the ladder or down it, Your position is shaky. When you stand with your two feet on the ground, You will always keep your balance.

What does it mean that hope is as hollow as fear? Hope and fear are both phantoms That arise from thinking of the self. When we don't see the self as self, What do we have to fear?

See the world as your self. Have faith in the way things are.

Love the world as your self; Then you can care for all things."

-Lao Tzu

</comment><comment><USER27> We have to meet people more in real life.

Humans need face to face contact to be fully happy.

Why, as supposedly modern humans, do we have to rediscover this?

<comment><USER28> Its how we live and dine. Prehistoric humans ate, hunted and lived together as tribes while at the same time acting very antisocial to other competing tribes. We are built to be social at the same time we are also built to be wary and even hostile to people we dont know. Its a contradiction. If you are not eating and living with anyone then you are most likely lonely. The answer is to find a community that eats and dines and live together.

</comment></comment><comment><USER29> I don't think number of lonely people increases, they just become much more visible. Social networks and other changes in modern society make loneliness acceptable and people stop hiding it.

<comment><USER30> At the same time, social networks create an illusion for lonely people so they feel accompanied. It's not all that bad.

<comment><USER31> Junk food isn't bad once in a while.

But if you eat junk food all the time, it's pretty obvious that one of the immediate consequences of eating junk food every day is the general decline of your health.

So it goes for social media. Social networks are the junk food of socializing. And don't get me started on what that does to someone's sense of self, well- being, norms, ethics, morality etc.

Maybe this picture will be illuminating to you[1]. It succinctly summarizes what I'm trying to say.

I should probably mention the image might be NSFW.

[1] [http://artfucksme.com/wp- content/uploads/2014/12/controversi...](http://artfucksme.com/wp- content/uploads/2014/12/controversial-illustrations-gunsmithcat-luis- quiles-2-700.jpg)

</comment></comment></comment><comment><USER32> I think individualistic cultures like the West can only work by teaching their members many subconscious habits for pushing away other people. That's great because it enables individual creativity (not to mention freedom from some ugly hierarchies we'd rather forget about), but the flip side is that people feel more distant from each other.

Thankfully, solving this problem doesn't require changing all of society. You can solve it for yourself: take a few years to notice and unlearn your habits for pushing away other people. I'm confident that you have many such habits right now, from the way you stare at your phone in public, to your posture and facial expressions every minute of the day.

To give you a picture of the end result, imagine a stereotypical immigrant from a more collectivist culture. Their reputation for openness isn't undeserved.

</comment><comment><USER19> Not having things in common with others doesn't exactly provoke loneliness. You can be lonely around people you have a lot in common with. Worst thing is that if you don't start a conversation you won't even know whether you do have anything in common.

</comment><comment><USER33> This is actually why I am so concerned with (as in: working towards) the elimination of all jobs. "But what will people do?" I am often asked, as if the worth of someone is determined by their job. They can write bad poetry or watch TV, but I suspect and hope that a lot of the time will be spent with others. Humans are social animals.

<comment><USER34> So, just tons of STDs and overpopulation?

<comment><USER35> Sure, having sex is more fun than being lonely.

<comment><USER34> Until the consequences of finite resources kick in...

<comment><USER33> _Particularly_ in an environment where the marginal cost of goods is nil, price signalling should resolve this. Consider the economics of Simon, Hubbert et al vs Erlich, Malthus et al.

</comment></comment></comment></comment></comment><comment><USER36> I don't know, I have a wife and a few friends and loneliness doesn't enter into the picture anymore.

If I was lonely I think I'll go somewhere where board games are played and there find an unlimited company.

</comment><comment><USER37> I have always been lonely all my life. I will use this to my advantage.

</comment><comment><USER38> "needing some comfort, had been showered instead with practical solutions to a practical problem, which had just upset her even more"

When something bad happens to someone you care about, don't say "What happened?" That focuses on the problem. Maybe they don't want to talk about it.

Ask "Are you OK?"

You can always say this even if there's nothing wrong.

If they say "Yes, why?", they're your friend.

If they say "Fine." then they don't trust you.

If they tell you "No, ..." they think you're a close friend.

Then ask "What can I do to help you? You're not alone."

Focus on the solution.

If you want to know if someone trusts you, just ask "Are you OK?" and they will tell you.

<comment><USER39> Unfortunately, "I'm fine" is a strongly ingrained default reaction in some circles. I feel this largely depends on culture (e.g. the British 'stiff upper lip' ideal) and negative media influence (personally, I'm thinking of the misguided idea of 'real men don't cry').

How do we get through that barrier?

<comment><USER40> In many cases, respect the cultural difference, don't try to make other people into what you prefer.

There is a difference between emotional intelligence and willingness to freely express emotion. "I'm fine" in many cases just means "no, thank you".

</comment></comment></comment><comment><USER41> We need a return to primitive values. Money is the problem, it is the driving factor in virtually every problem we have today directly and indirectly</comment>


One Giant Leap: The Apollo 11 Moon Landing, 50 Years On - <AUTHOR> https://timesevents.nytimes.com/onegiantleap <comment><AUTHOR> I just got back from the NYT event, and it was phenomenal. The video doesn't capture the beauty of the live event, but worth watching anyway.

From the page:

 _The performers who are bringing these historic moments to life include: Lauren Ambrose, Jeff Daniels, LaTanya Richardson Jackson, Samuel L. Jackson, Dakin Matthews, Arian Moayed, Kristine Nielsen and JoAnna Rhinehart, with special guests Rosdely Ciprian and Thursday Williams. Directed by Tony winner (and nine-time nominee) Bartlett Sher and produced by Cambra Overend.

Following the reading, Michael Barbaro of "The Daily" hosts an onstage conversation with Michael Collins, command module pilot on Apollo 11; Peggy Whitson, the first female commander of the International Space Station; and Poppy Northcutt, the first female engineer to work in NASA's Mission Control, starting with Apollo 8._

<comment><USER2> What was it like at the event that isn't captured? Was there a party afterwards?

<comment><AUTHOR> Content-wise is the same, so you're not missing anything (and there wasn't any after-event party or reception).

But the video doesn't do justice to capture the same gravitas of the actors reading it live, and the back-and-forth of the cameras to focus on who's speaking is annoying - e.g., some folks intentionally interrupt each other; that worked beautifully live, but not so much on video.</comment></comment></comment>


Compiling Ruby, RubyGems, and Rails on Snow Leopard - <AUTHOR> http://hivelogic.com/articles/compiling-ruby-rubygems-and-rails-on-snow-leopard/

<comment><USER2> I don't know why people advise others to splat their compiled 3rd party software all over /usr/local when /opt is there specifically for that purpose.

Also, enabling pthread on 1.8 has some significant performance problems unless you're using REE. For more reading on that:

[http://timetobleed.com/fix-a-bug-in-rubys-configurein-and- ge...](http://timetobleed.com/fix-a-bug-in-rubys-configurein-and- get-a-30-performance-boost/)

<comment><USER3> i don't see a difference between /opt and /usr/local , I just think it's a matter of preference

<comment><USER2> The difference is stuff installed in /opt is encapsulated inside its own folder, whereas everything in /usr/local is shared (one bin dir, one lib dir, etc).

So if I want to uninstall Ruby from /opt I do something like this:

        rm -rf /opt/ruby-1.8.7

To uninstall Ruby from /usr/local is a lot more work.

<comment><USER3> you could actually do the same in /usr/local. all you need to do is install all packages to their own folder (eg /usr/local/custom/ruby-1.8.7) and then symlink the binary to /usr/local/bin.

<http://github.com/mxcl/homebrew/tree/> is a package manager that tries to do just that

<comment><USER4> Seems like you might as well do it in opt then, since it is far less common to encapsulate things in folders in local.

</comment></comment></comment></comment></comment><comment><USER5> I have been fighting for hours trying to get the mysql gem installed for Ruby 1.9.1 on snow leopard. If anyone knows some helpful info for getting this to work please help me. I have a thread running at: [http://stackoverflow.com/questions/1357997/snow-leopard- ruby...](http://stackoverflow.com/questions/1357997/snow-leopard- ruby-1-9-1-mysql-gem-huge-problems)

<comment><USER6> <http://isitruby19.com/mysql></comment></comment>


How to Send iOS 10 Notifications Using the Push Notifications API - j-q-j https://blog.pusher.com/how-to-send-ios-10-notifications-using-the-push-notifications-api/?utm_source=hacker-news&utm_medium=website&utm_campaign=ios-10 <comment> j-q-j iOS 10 Notifications let you send rich media and interactive actions. Use this Swift tutorial to start sending more engaging push notifications to iOS users.</comment>


An invisible framework for enforcing type checking at runtime – Python - <AUTHOR> Hello all. I would like to share with you a project I have been working on. I called it "invis", and basically it is an "invisible" micro framework that allows you to ensure/enforce types at runtime for both builtins as well as user-defined (e.g. your own classes, or a numpy ndarray). The README.md contains a tutorial on how to use it and naturally I can answer any question. https://github.com/dxflores/invis <comment><USER2> Thanks for sharing. Could you explain why you choose such design for solving problem?

There are plenty tools that enforces types for function or class by wrapping them in some decorator, and for me such approach more invisible then one used in "invis"</comment>


Akio Morita: Sony's Guru Of Gadgets (1998) - <AUTHOR>

<comment><AUTHOR> He was a major inspiration to Steve Jobs and the rebirth of Apple. A great read.</comment>


Ask HN: I seem to suck at interviews. I don't want to. Please advise. - <AUTHOR>

Dear HN,
I have convinced myself I'm terrible at interviews to the point that it has become a self-fulfilling prophecy now. In spite of being a good developer (never had any problems at work and have launched two side projects into the wild), I seem to always perform less-than-stellar in interviews. Something happens before and during an interview and I am unable to impress easily.
I have a Masters degree in CS from a good school. I code in C extensively and do a lot of RoR work on the side. I wouldn't say I'm at the top end of programmers by any measure but I'm good. I can get things done, intelligently and efficiently. Years ago, I didn't make it through a pretty major exam (one of the toughest entrance exams in the world - the Indian IIT JEE) and I suppose somewhere in my mind, a fear has been lodged. I am still trying to regain that lost confidence.
I get an uneasy feeling in my stomach before one, I never feel that I'm prepared and in fact, out of my fear I don't even attempt to prepare much. I just tend to wing it which makes it worse. I know I would have done well at most of the jobs where I didn't get through the interviews (google included). I hate the fact that someone gets to judge me sitting across the table. I just want to tell them, give me the damn job and I'll prove to you that I can do it.
I wish most coding interviews were of the kind where you went off to do a project and came back a day or two later with your code. Unfortunately, most still require you to think on the spot.
How do you deal with interview anxiety? I have one on-site this Friday and I really, really want this job. <comment><USER2> You get good at interviews the same way you get good at coding... do it a lot.

Start applying to lots of companies, especially companies where you do not or are not sure you want the job. Go with the goal of getting practice interviewing instead of getting the job. Not caring if you get the job will take the pressure off of the interview.

When you do not get the job, ask for feedback as to why. Ask questions about the feedback, drill in. If it is a recruiter giving you the news, ask them if you can speak with the hiring manager or if she can request more feedback from the hiring manager, or since you got the managers contact information in the interview, email them and tell them you are trying to get better at interviewing and ask them for some feedback and advice.

Then one day, you will start getting job offers. As for this Friday, while you cannot stop wanting it, look at it this way: It is either going to be good practice, or you will get the job. Either way win-win.

</comment><comment><USER3> I work as an IT recruiter in the UK so hopefully I can help.

The key to success in any interview is preparation. In the lead up to an interview it is imperative that you adequately research the company. I don't just mean reading the 'About Us' section on their website but detailed research. Look up previous press releases, media coverage etc. If you get an opportunity to talk to a past or present employee, regardless of whether they are in a similar role or not, take it.

Have a list of _relevant_ questions prepared. Not questions you think may impress but questions that relate specifically to your role and questions based on the direction the company are heading always go down well. One ridiculous mistake I see people make time and again is bringing in a copy of their CV to the interview and referring to it for dates or specifics, this basic error tends to leave people thinking that they shouldn't bring in any material to an interview which isn't entirely true. I have had some outstanding feedback from various clients who were massively impressed with candidates who pulled out a concise, printed list of questions at the point of the interview where they asked them if they had any questions for them.

More and more companies (with the exception of Google) now acknowledge the fact that an important aspect of the interview is that it is an opportunity for the candidate to ensure that it is the right company for them.

If you go in to an interview thinking, I need this job, I need to impress then you will always be on the back foot. Take a consultative approach to an interview and you will blow them away. What I mean by consultative is that you need to acknowledge the fact that the company is already confident that on paper you have the skills that they are looking for, otherwise they wouldn't waste their time seeing you. The reason they want to speak to you face to face is to ensure that you were being truthful about the claims you make on your CV and to ensure you have a likeable, professional personality and to ensure you have a genuine interest in joining their company.

Unfortunately 'personality fit' is a huge factor in the recruitment process these days. I say unfortunately as it is almost impossible to quantify so the advice I give my candidates is to be honest and be yourself, that way, if they feel that your personality doesn't align with what they look for in an employee you have just avoided joining a company where you would have to suppress your personality and conform to what they feel is acceptable. In my opinion this would be a nightmare over a long period of time.

 _I know I would have done well at most of the jobs where I didn't get through the interviews_ At some point during an interview you will most likely be asked to point out some of your weaknesses. I would honestly recommend repeating the above quote from your original post verbatim. Let them know that you strengths shine through when you get your head down and get stuck into the actual job but you sometimes struggle to communicate that during an interview without sounding clichéd. Everyone says 'I'm a hard worker with a great work ethic' but how many of them fulfil that claim on the job? You know you're a hard worker, you know that you can prove it if given the opportunity and at this point I would turn it around on them, ask them: How long does it take you to figure out if someone is as good at the job as they claim to be during the interview? Honest employers will say anywhere between 2 to 6 weeks. I would then point out that you are not interested in telling them what they want to hear but you only want to be honest and you know full well that you can do this job and you can do it really well and that will become immediately evident when they hire you.

Once again, be prepared. I know you struggle with this but if you really want the job, put time aside to make sure you are prepared.

Feel free to ask any other questions & I'll do my best to give you honest answers.

Good luck.

</comment><comment><USER4> Well, part of life and work is being able to deal with stressful situations gracefully and with a clear head. So, I don't fully agree for example that you would have done well at Google if you could not run the gauntlet of their interview process.

A big part of the issue is most likely that you are making the interview and job opportunity to be a more significant thing than it really is in the grand scheme of things. Don't approach it with a completely careless attitude, but go in looking at it more like a casual first date where you are BOTH getting to know each other equally.

If you don't know something specifically, then say so, maybe describe how you would find the answer in real life. Be aware if you rely too much on "crutches", maybe you need to reassess your skills if you can't write 100 lines of code without finding half the answers on Google (just generalizing here).

<comment><USER5> Social skills and work skills are neither inclusive or mutually exclusive.

I have a friend with high functioning autism that could not get a job to save his life, but can look at the symptoms of any production bug and tell you the problem in less than 10 seconds. Seriously we gave him 7 records from a database once that had date problem, by looking at the pattern he deduced that 1 of the systems was un-patched for a daylight savings bug. not only that but by the timestamp intervals he pinpointed which of the 50 servers it was.

In a production support environment this guy is indispensable and his social skills are of no consequence, but if it where not for me vouching for him over and over until the company hired him, he would have never gotten the position.

So much so, that I have gotten him every one of his jobs and at every job they love him after they get over the shock of his complete lack of social skills.

So just because the author experience stress and anxiety in social situations, it does not 1 for 1 translate into poor performance in work related tasks even if they are stressful.

</comment></comment><comment><USER6> It might seem like a big scary test, but it's not. Sure, that's how things were in academia where you've been most of your life, but interviews are only superficially like tests. So the first thing is, stop worrying about the outcome and focus on the problem you are trying to solve. Not, 'how do I pass this interview?', but 'is this the right job for me?'. As soon as you start thinking like that, you'll see that you and the interviewer are there to solve the same problem, and you are on an equal footing.

The question 'is he good enough?' is just one among many - and at this stage it's the one you can do the least about, so try to let go of that. Sure, you can study long-term and increase your chances of passing certain types of technical interview. But if the job is really a good fit for you, you'll already be doing that kind of study because you're interested regardless of whether you need it for an interview.

Of course, practice is still useful. Don't just practice being interviewed, practice giving interviews - then you'll get an idea of what the interviewer is thinking. Will this guy fit in my team? Is he going to stay interested in the job?

One other tip- try and make sure you have other possibilities before you go into an interview so you don't have to feel like everything is riding on this moment.

<comment><USER7> Very well put, completely agree. A cursory interpretation could equate this to mere confidence, a trait that some people are able to exude more than others. But keep in mind that an interviewer interprets confidence on a scale as well, from 'lack there of' to 'hubris.' Acknowledging the importance of a successful hire from the interviewer's standpoint frames the dialogue on a more even playing field. I place a very strong importance on the two aspects nezumi mentions above, "Will this guy fit in my team? Is he going to stay interested in the job?" I want to make sure I do right by my current employees and hire an individual with an attitude/outlook that is complimentary; and I want to make sure I'm not wasting anyone's time by hiring below their payscale for a position they will abandon shortly thereafter. Empower yourself by thinking of the process primarily as a dialogue, one where you are also gaining perspective on the company. Nothing says 'pass' like a interviewee who has no questions of their own.

Note: I am not a hiring mngr on the programming side, I do work and hire for fairly technical marketing positions at large web company you know well.

</comment></comment><comment><USER5> Tell them _give me the damn job and I'll prove to you that I can do it_ seriously can do attitude goes a long way. I got a job once a long time ago by saying, give me 2 weeks and I guarantee that I will be one of your best developers, that you guys will rave about me, and that you will wonder how you ever did it without me. I then told them, if they where not that overwhelmingly happy with me that they could send me on my way without paying me a dime of salary for that 2 weeks. I was unemployed at that time so I had nothing to loose and was confident in my abilities enough that I knew that they would be happy with me. The where impressed with my confidence and it showed that I was willing to risk none payment, because I was sure of my abilities. It is better than any reference you can provide, because only a fool would offer such a guarantee if they only had mediocre development skills.

</comment><comment><USER8> May I say something regarding your experience with IIT-JEE? I know atleast three people whose parents had set their hopes unrealistically high about IIT.

When they didn't get through, they just lost it. They completely lost every bit of confidence they had, lost interest in studies, and fucked up their college and careers for good.

I don't blame the parents. Every parent thinks his son/daughter is the next Einstein and instills this "get into IIT or you are an utter failure in life", and sadly this gets drilled into their heads pretty early in life.

What needs to be understood is that not every genius in India gets into IIT, because there just aren't enough seats, and there are too many really smart people around. At the end of it, only those who are smart AND work insanely hard get into. And I really don't think any less of anyone who doesn't, like the parents and the students themselves shouldn't.

Get this in your head: It doesn't matter if you got into IIT or not. At some point, no one cares. Hell, I don't even have a college degree yet because I keep dropping years, and there are still companies trying to lure me with good development jobs and attractive salaries, which freshers start earning only a few years down the line! (I am still a student in India by the way)

If you have a masters degree in CS in a good school and have got to the Google interviews, you must be a pretty smart programmer.

Get this in your head, and build some confidence.

</comment><comment><USER9> A couple things spring to mind:

* Acknowledge your fear/unease up front, hopefully with a little bit of humor. "I get a bit nervous during interviews" and the accompanying "don't worry - relax, can I get you a drink?" sort of banter may help take the edge off. You've explained that you're a bit uncomfortable, but ideally they'll see you working through that.

* Bring code samples. You may be more at ease discussing something that's physically in front of both of you.

* References - it might help to bring some written references with you. Depending on how the interview is going, you may be able to point out something in writing that pertains to what you're discussing (previous projects, etc). "Sometimes I forget some of these things and need to have my notes with me" or some rationalization like that, done smoothly, won't seem out of place at all. _Some_ may see it as the sign of someone who's sharp and on the ball, able to go beyond 'winging it' and prepare with extra material even when it's something which is difficult to do.

There's no universal way to deal with it - everyone's reasons are different. That said, make an effort to prepare even if you're not at ease with it.

</comment><comment><USER10> When you go to an interview, think about the guys on the other side, the interviewers. Imagine they are also under stress, that they are having a hard time finding a decent candidate, they are scared they won't be able to do their job properly, or that their lack of knowledge on the subject will show through, even though they're the ones asking the questions. Try to see the interviewers as human beings, find some natural point of empathy with them (children? a bad cough? traffic difficulties ?) unrelated to the interview. If there is more than one, concentrate on whoever you feel most affinity with.

Even if your technical knowledge is limited, concentrate on your strengths: practical experience, a positive attitude, fluent communication, a good fit with the company ethos, a positive contribution to the working environment, etc. That's two thirds of it right there; it's not all technical. Investigate the company and make sure you understand what distinguishes it from the competition in terms of company culture. Try to understand the company's vision statement and what it entails.

Also think that you have a broad choice of jobs on the market, that these guys have to convince you to work for them: they have to show they are offering a good working environment, decent career prospects, a competitive salary package. Be the opposite of desperate: you're in a strong position, you have all the choices, they have to entice you.

Even if I can't answer all their questions. I generally behave as if I were a very valuable potential asset for the company, which they will have to work hard to acquire. I certainly don't think they are doing me any kind of a favour by offering a job: how would their company function without decent workers?? If I have any doubts about the company, its training policy, its promotions, its financial viability, I ask them, I put the interviewers on the defensive, so they try to convince me that it is worth my while to work for them.

When you get to the financial part, don't sell yourself short, and don't look greedy either. I find that a 10% raise on my previous package usually strikes the right balance. Sometimes you can ask for 15%, and then let the guys negotiate it down to 10%, so they have the impression they got a bargain.

Usually this approach catches interviewers on the wrong foot and reverses the roles. I get a lot of offers, even though I don't have a degree in IT, and I'm an average programmer (I studied philosophy).

To sum up: \- be empathic with the interviewer \- be positive about your market prospects \- have a deep understanding of this particular company's vision, why you want to work for them, what positive contribution you can make \- be upfront if you have any qualms about the company or the role \- be clear about your strengths and know that you are not being judged exclusively on your technical abilities \- make the interviewers work to convince you to sign a contract

</comment><comment><USER11> Simply tell the interviewer that you suck at interviews, but that you're willing to work for a week for free to show them what you can do in a realistic setting.

Almost risk free for them, and a win for you if you can deliver.

Also, it wouldn't hurt to have a previous employer on call that can vouch for your abilities. If the 'process' doesn't work well for you try to bend it to your liking.

This approach will not work with large companies by the way, they do things 'by the book' for fear of liability, but a sympathetic interviewer at a smaller company would be a good place to try this strategy.

If I were the interviewer and you'd approach me with such candour I would almost certainly give you the chance (the 'almost' is a caveat against some unknown quantity that would trigger my red flags).

</comment><comment><USER12> The point of a job interview is to tell a narrative.

Think about what type of narrative you want to tell. It needs to be...I am the best X for you. You know your own life, so you just plug in those experiences into your narrative and you have an awesome interview.

Basically, once you do this you only have to worry about your competency. Which you sound very competent, so that is less of a concern and you can now relax because you have both the job down both is skills and narrative department.

</comment><comment><USER13> Perhaps it helps you to look at those interviews from a different perspective. Since you would have to spend some time with the company, you have the right to ask questions too. Turn the interview into a discussion. At least for me this is much more easy to handle.

For example, instead of waiting for a question to test your knowledge about their language of choice, you could ask them whether they use it this or that way and mention your level of experience. If they still ask the question and you do not know the answer, you can at least say 'nope, no clue what you are talking about', without the feeling that they only know what you don't know.

If possible make some educated guesses about their infrastructure and ask questions that reflect that you did your homework.

Already said, but important enough to repeat: Be honest. If you are nervous, tell them. If you do not know an answer, admit it. If you are not sure if you understood something, ask again.

</comment><comment><USER14> As long as you're capable technically, the best thing I can ask you to do is smile. When you smile, even on phone interviews, you come off as sounding confident. A smile changes 'I'm not sure, but I imagine it works like this...' from a 'nervous candidate' to 'honest but thoughtful' even though the words are the same.

</comment><comment><USER15> I've dealt with this during every job search. The simple solution that's helped me is to simply go to as many interviews as I can. You'll always be nervous on the first interview. I don't know any way around that. But I've found it hard to not be nervous after having been to 3-5 interviews in 2 weeks.

Apply to jobs above and below your current qualifications simply for the practice of interviewing. That way when you interview for a job you're excited about you'll have been in the same situation several times and can focus on the questions asked instead of being nervous.

Good luck.

</comment><comment><USER16> Two interview strategies I've always wanted to know how to hanlde.

How do you handle not knowing something in a trivia centered interview? For example; what datastructure does a database index use?

Is there a good way to say you don't know without looking unqualified?

Also what if you used a certain technology A LOT say 5 years ago and now you remember nothing about it off the top of your head. How do you say "Yeah, I can do that, but I can't tell you much about it"? This is assuming you didn't know about that requirement before the interview to refresh your memory.

<comment><USER6> There are really only a couple of uses for trivia questions in technical interviews: verifying someone's resume (i.e. if you claim to be skilled in some area, trivia questions should be, well, trivial) and as a jumping-off point for a discussion to see how you think.

So handle it the same way as you would in your day-to-day work: ask questions, try to figure it out.

If they really are just interested in your rote memorisation of documentation, consider that this might not be such a great place to work.

If you used something 5 years ago, sure you can't remember the fine details, nobody expects that. But you should still be able to discuss the technology intelligently. Even if the details are gone the concepts should still be there, and fluency in concepts is what a good technical interview will be about.

<comment><USER5> _There are really only a couple of uses for trivia questions in technical interviews: verifying someone's resume (i.e. if you claim to be skilled in some area, trivia questions should be, well, trivial) and as a jumping-off point for a discussion to see how you think._

I have always found hiring managers who use this, tend to me developer come manager and tend to have a superiority complex. I have never liked trivia questions because the interviewer generally tries to find some obscure item, that is unknown to 90% of people just getting work done and the only reason they know it is that they goggled "really hard tech trivia that will make me feel superior when all the applicants don't know it"

</comment></comment></comment><comment><USER17> I don't personally know you, so it's difficult to say for sure, but it sounds like you probably just aren't terribly comfortable talking in front of people you don't know well.

The key is to basically stop caring what strangers think of you. You could try doing karaoke or amature night at like a standup club or poetry reading. Strike up conversations with complete strangers.

Another thing to keep in mind, if your personality doesn't mesh well with the interviewer, there is a good chance that you wouldn't have fit in well with the corporate culture.

</comment><comment><USER18> "I never feel that I'm prepared and in fact, out of my fear I don't even attempt to prepare much."

Well, try preparing then. Try doing a "mock interview" with a couple of friends. Practice answers to the typical dumb interview questions ("What is your greatest strength?"). Bring along a nice looking "portfolio" folder with your resume, samples of work, that kind of thing, that way you have something to talk about and visually distract yourself from being nervous.

</comment><comment><USER19> One way to practice interviewing is to conduct more interviews. Yes, I'm suggesting that you volunteer to interview candidates at your current job.

</comment><comment><USER20> Your problem sounds mostly psychological. You may have a case of anxiety disorder (<http://en.wikipedia.org/wiki/Anxiety_disorder>). See a professional counselor if this is bothering you to the point that it is robbing you of your happiness.

<comment><USER21> As someone with anxiety disorder, I can say agreed and I suspect this to be the case. This is also my problem, but medicating before an interview doesn't help a whole lot more either.

<comment><USER20> While medications can help, they are short term solutions. Psychotherapy is a longer term solution and can help resolve the issue in a few years time.</comment></comment></comment>


When Ayn Rand Collected Social Security and Medicare, After Years of Opposition - <AUTHOR> http://www.openculture.com/2016/12/when-ayn-rand-collected-social-security-medicare.html <comment><USER2> < _A different principle and different considerations are involved in the case of public (i.e., governmental) scholarships. The right to accept them rests on the right of the victims to the property (or some part of it) which was taken from them by force._ >

She answered this question regarding accepting public scholarships but the principle is the same. The money was taken from her by force so she had every right to recoup her losses.

[http://aynrandlexicon.com/lexicon/government_grants_and_scho...](http://aynrandlexicon.com/lexicon/government_grants_and_scholarships.html#order_3)

<comment><USER3> It wasn't taken by force but instead by Rand's personal complicity and implicit consent by living within a society that has decided to enact the Social Security and Medicare programs and levy fees and taxes associated with those programs. And given that she received more than she put in, there was no principle for her to stand behind.

<comment><USER4> If that's the case, then I hope you will be just as eager to take personal responsibility for the US's war crimes, if the day of reckoning ever comes. But I have a feeling you will instead try to focus on your personal efforts to end US wars, rather than get sucked into the implication that being a US citizen made you a de facto supporter of the war crimes.

<comment><USER3> I would be the first person you might ask to admit my complicity in war crimes perpetrated by my government. I am involved in anti-war and pro-human movements but I readily admit that my quality of life is built on the backs of many innocent lives and deaths.

<comment><USER4> So, you're just as much of a hypocrite as Rand? She also dedicated her life to ending behaviors she hated in the US government, but was nevertheless subjected to the consequences of her failure to stop them.

<comment><USER3> No, I am what you would call honest and imperfect, whereas Rand is dishonest and imperfect.

<comment><USER4> No, you're not. You live in the US. You pay taxes. Those taxes pay to kill/torture/subjugate people around the world. If you don't leave the country, giving up an entire life that you made for yourself with friends and family here, then you are the exact same type of hypocrite. You say you hate the wars. You even take some actions to try to stop them, but in the end, you pay for them and/or work for the entity that is perpetuating them.

(note: I obviously believe neither of you are hypocrites. I'm just trying to make a point.)

<comment><USER5> You may have won an Internet Argument(TM) (or they gave up). The glory!

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> You pay for social security and medicare your entire working life with a separate direct tax. It is not an entitlement or a handout, it is quite similar to a pension.

<comment><USER7> It's supposed to be. But due to demographic shifts and dishonest officials the program now requires ample supply of young workers in order to be able to pay out the benefits to older workers. Inevitably, benefits get cut.

If trends continue, the program will eventually turn into pure welfare.

<comment><USER6> Most of the supposed difficulties with social security and medicare are entirely manufactured by politicians to push some specific agenda for an industry who would benefit directly from particular changes, if not privatization.

FICA is essentially just an automated savings program, it's not particularly complex.

</comment></comment></comment><comment><USER8> If someone threatens to put you in a cage if you don't give them your money, are you a hypocrite for getting your money back from them that they took from you, at a later date?

<comment><USER9> That's akin to Nozick's argument, not Rand's.

If Rand wanted to prove a point, she should have sued for her money instead of collecting it in a tidy monthly check. The former would be completely frivolous, but also necessarily consistent with her ideology. As it was, collecting social security and then confabulating the reasons reeks of intellectual bankruptcy.

<comment><USER8> No, Rand wants everything to be determined by lawsuits. But if the law/governmemt is corrupt, there is no reason to just sit there and take it while you are being abused.

This is a fully consistent argument.

It is morally OK to steal money from thieves who took your money.

</comment></comment></comment><comment><USER10> "If all men were angels, no government would be necessary." -James Madison

Since Tragedy of the Commons and the reality of human nature, libertarianism is a dog-whistle for utopian anarchism ("rugged individualism"), a nearly polar-opposite over-reaction to another failed utopian system: communism. The proven (still flawed, and often recalibrating) workable middle-ground, balancing competing tyrannies is something approaching democratic socialism... America though is currently much more on the libertarian side for poor people and welfare state for the rich due to the undue, corrupting influences of billionaires' lobbyists and their money (tax code, corporate welfare, etc.) In countries like the UK, France and other parts of Europe there is guaranteed healthcare... In America, if you are dying in an ER and broke without Obamacare, you will likely be forced into bankruptcy from hospital bills.

</comment><comment><USER11> The real question is, if her welfare expenses equaled or exceeded what she had "stolen" would she have stopped taking it back and been happy to die?

</comment><comment><USER4> This argument, which I see come up every few years, is disingenuous and misleading propaganda at best. I don't even like Ayn Rand, but to have her name smeared by anti-intellectual shit like this so much worse than the overly-simplified libertarian utopias she tried to convince us could exist.

Edit: apparently I need to have a supporting argument for why this is "anti- intellectual shit" or else I face a ban or something. The reason: Ayn fought to change the US into something that fit her vision of a properly organized society. She failed to make that change, and the US continued to be organized in a manner that she very much disagreed with. The fact that she participated in the legal framework that she was subjected to doesn't make her a hypocrite, nor does it imply that she changed her opinion of welfare states at the end of her life. The fact that the author of this article comes to this conclusion, or the fact that he even thinks its noteworthy to rub in her face her failures to insight the changes wished for, is anti-intellectual shit.

<comment><USER12> citation needed. Inspired by Rand's naive theories, greenspan and his ilk did indeed implement a policy of robbing those producers of wealth that did not also happen to be owners of politicians. That is a fact in my books. Interesting article thanks for the post.

<comment><USER13> Robbing producers of wealth that did not also happen to be the owners of politicians is directly contrary to Rand's moral system.

</comment></comment></comment><comment><USER7> Social security was supposed to be an investment program so the benefits were earned after years of contributions.

The problem is, demographics have changed and so it became a welfare program. To make matters worse, it became unsustainable without significant cuts, which makes the payroll tax not a required investment but a regressive penalty.</comment>


ARM creators Sophie Wilson and Steve Furber - Part Two: the accidental chip - <AUTHOR> http://www.reghardware.com/2012/05/03/unsung_heroes_of_tech_arm_creators_sophie_wilson_and_steve_furber/print.html

<comment><USER2> Steve Furber was the head of the Computer Science department at Manchester University when I studied there 10 years ago, I believe he still is.

He took us for a course about ARM processors and how to program them via assembly code. It was tough to say the least but interesting, the text book was the one mentioned in the article. At the time we realised that ARM was a big thing, but looking back we definitely didn't realise how big it would become.

</comment><comment><USER3> If the power lines to the processor were not connected, then what leakage was powering it? Was it running only off the minimal electricity transmitted when data was moved into/out of the processor?

<comment><USER4> usually CMOS chips have input protection diodes which prevent the input pins from rising too high above the power lines or too far below ground, which causes SCR latchup - essentially a short from power to ground. This also means that CMOS chips can often be powered by input pins alone.

I've even experienced this with a stepper motor driver which didn't have the main power lines hooked up (but did have logic power), where 3A were going through these diodes to run the motor. So I'm not sure how that particular anecdote says much about the power usage of the ARM chip.

</comment></comment><comment><USER5> I was lucky enough to have lunch with Steve Furber and my two of my old college lecturers a few months ago. A very fascinating man with lots of history.

</comment><comment><USER6> This "accident" reminds me of what I read a week ago in the article "How geniuses think". And it was this: "GENIUSES PREPARE THEMSELVES FOR CHANCE. Whenever we attempt to do something and fail, we end up doing something else." So when you're up to something interesting drop everything else and study it. It might pay off.

Link article (<http://www.creativitypost.com/create/how_geniuses_think>)

</comment><comment><USER7> dup: <http://news.ycombinator.com/item?id=3923421>

</comment><comment><USER8> I hope Furber updates his ARM book again some day.</comment>


Markov Chains Explained - <AUTHOR> http://techeffigy.wordpress.com/2014/06/30/markov-chains-explained/ <comment><USER2> Some advanced techniques applying Markov chains to load testing. I submitted to HN but no-one was interested in it as a stand alone. Maybe people already interested in them here would like to see how to make them dance in practice.

[http://edinburghhacklab.com/2014/03/taming-randomized- load-t...](http://edinburghhacklab.com/2014/03/taming-randomized-load- testing-2/)

</comment><comment><USER3> It's nice to see an explanation of Markov chains (and some techniques for predicting their behaviour) targeted at a wide audience. My only complaint is that the provided definition of a Markov chain is somewhat unclear and imprecise (as pointed out already by lambdaphage). An alternative definition that I like a little better is given below.

A Markov chain is a sequence of random variables X_1, X_2, X_3, ... with the property that the distribution of X_t given the complete history X_1, ..., X_{t-1} is identical to the distribution of X_t given only the previous state X_{t-1}. Intuitively, this means that the state X_{t-1} sufficiently summarizes the history of the chain so that knowing the earlier states of the chain does not allow you to better guess the next state. This property is called the Markov property.

For those looking for a free and in-depth reference, I encourage you to check out Byron Schmuland's course notes: [http://www.stat.ualberta.ca/~schmu/stat580/2012notes](http://www.stat.ualberta.ca/~schmu/stat580/2012notes). He also links to several other free references for Markov chains on his course webpage: [http://www.stat.ualberta.ca/~schmu/580](http://www.stat.ualberta.ca/~schmu/580).

<comment><USER4> Thank you for the clear explanation.

In a previous comment, I sought to further understand how the Lottery possesses the Markov property. Based on your definition above, I can see that it does simply because the distribution X_t of winning numbers has the same dependence on X_{t-1} as it does on X_1, ..., X_{t-1}, that is, zero. Do I have that correct?

<comment><USER3> Yes, exactly. More generally (and for the same reason), any sequence of iid random variables will form a Markov chain.

For an example without the Markov property, consider the sequence of random variables X_1, X_2, ... with X_1 being either -1 or 1 with equal probability, and X_t being normally distributed with mean X_1 and standard deviation 1.

Knowing the history X_1, X_2, ..., X_{t-1} gives you the exact distribution of X_t (since you know X_1), while only knowing X_{t-1} gives you much less information. This fails to be a Markov chain because the state X_{t-1} doesn't "remember" which of the two possible distributions is being used.

<comment><USER4> Awesome. Thanks! Again, very clear. This is interesting stuff. It makes me curious about applications of stochastic processes in general - time to read the course notes you linked. They look like fun problems to program and model.

Edit: Wikipedia, of course, has a good overview of applications of Markov chains. [http://en.wikipedia.org/wiki/Markov_chain#Applications](http://en.wikipedia.org/wiki/Markov_chain#Applications)

</comment></comment></comment></comment><comment><USER5> The Markov property does not require dependence on the previous state-- it requires that the distribution of the next state given the history of the chain be the distribution of the next state given the current state. The lottery trivially satisfies this property since tomorrow's winner doesn't depend on today's winner at all.

<comment><USER6> This is correct. Sadly, the first paragraph of the article contains some glaring errors.

"For Markov chains to be effective the current state has to be dependent on the previous state in some way;"

This is trivially untrue. A sequence of independently and identically distributed (iid) random variables _is_ a Markov chain. An iid sequence is clearly effective at many things (e.g. Monte Carlo integration).

"Not every process has the Markov Property, such as the Lottery, this weeks winning numbers have no dependence to the previous weeks winning numbers." As lambdaphage pointed out, the Lottery does have the Markov property.

<comment><USER4> I'm interested in the above article and the above two comments, however, I don't understand the Lottery example. Can you clarify how it does have the Markov property?

I'm not seeing how the distribution of possible winning numbers relates at all to the current state. I'm trying to phrase this in the language of the above two comments. Help me out if I've got it all wrong. =)

<comment><USER2> The Markov property is that you can model the system as being dependent on the immediately previous state + noise.

The lottery ignores the previous state and is defined purely by the noise, so it is a (trivial) markov process.

More complex systems depend on the entire history (e.g. to model a poker player you have to consider all of their actions up to the current). Newtonian systems are markov, if you know the state of the system you can run it forward in time deterministically. Even if your knowledge of the state of the Newtonian system is not fully known, you can still run the distribution of states forward in time precisely.

current_state = previous_state + process_noise

typically expressed in matrix math but the idea is as simple as that.

</comment></comment></comment></comment><comment><USER7> Among my favorites is Claude Shannon's model of language as a Markov processes in his seminal paper on information theory [0]. His presentation of ergodicity is also remarkably clear compared to the usual muddle about ensemble and time averages.

(The book version of Shannon's paper [1] is even a bit better.)

0\. [http://www3.alcatel- lucent.com/bstj/vol27-1948/articles/bstj...](http://www3.alcatel- lucent.com/bstj/vol27-1948/articles/bstj27-3-379.pdf)

1\. [http://www.amazon.com/Mathematical-Theory-Communication- Clau...](http://www.amazon.com/Mathematical-Theory-Communication-Claude- Shannon/dp/0252725484)

</comment><comment><USER8> This is an excellent introduction to first and second-order Markov chains. Please re-post once you've got (Python?) code snippets. Gifs are really helpful at illustrating these principles.

There's a typo: You have the word "leaving" twice in a row.

</comment><comment><USER9> Interesting article, would have been helpful when I was writing a paper on Google PageRank since it is a markov chain. I do think it would be valuable to talk about equilibrium distributions and how you can determine the tendency of the system

<comment><AUTHOR> How does PageRank use Markov Chains? That's an interesting idea.

<comment><USER10> It models the web as a Markov Chain where web pages are states and the transitions are the outgoing links.

<comment><USER9> Exactly and the actual page rank of the site comes from finding the equilibrium distribution from the transition matrix, which in this case is called a Google matrix.

</comment></comment></comment></comment><comment><USER11> A good way I found to store and use markov chain data was through the filesystem. Each words gets its own file, and every word that comes after that word is put in that file. The problem of the probability of one word coming after another solves itself if you just let the word be added to that list multiple times, one for each occurrence.

<comment><USER12> But a file system forms a tree whereas a Markov chain is a directed graph, cycles allowed. Or are you thinking of a file system with cyclical symlinks?

<comment><USER13> As I understand it you would have, as an example (example as a cycle):

        file: As
        contains: I an a

        file: an
        contains: example

        file: example
        contains: example as

Here "as" points to "example", and "example" points to "example" and to "as". You have your cycle: pick a random file (get example) pick a random word (get as), lookup as (open the "as"-file), pick a random word (get "as" again, then "an" then "example" … ).

No links needed, the words are the links -- for US English, and words no longer that 8 characters, you could this on FAT16.

(The files are vertices, and they contain a list of edges to other vertices, in the form of the name of the vertices).

<comment><USER11> Yeah, that's how I had it. Newlines separating the words, and the chars that can't go in the filesystem get escaped to base64 or something.

</comment></comment></comment></comment><comment><USER14> " No more randomly changing parameters until approximately close to the mandated testing scenario! " \--> "I have not developed a function that goes from desired frequencies to Markov probabilities ... So I prefer tuning the transition matrices by hand. "

So he did a bunch of work and the net result is he still has to manually search a (different) parameter space? How often are the load testing requirements changing that this is any kind of net time savings at all?

</comment><comment><USER15> Here's a Mark V. Chaney text generator in 16 lines of quasi-functional Ruby. Considerably simpler than the table method. if you keep all successors to a word (including duplicates) in an array, any random selection of the array works. No need to compute probabilities.

[https://gist.github.com/michaelfeathers/2cf9e1599e06d0563f2e](https://gist.github.com/michaelfeathers/2cf9e1599e06d0563f2e)</comment>


Open Standard Media Player (HTML5, jQuery) - <AUTHOR> http://www.mediafront.org/project/osmplayer

<comment><USER2> This really doesn't work so well with ClickToFlash installed. I couldn't watch any of the movies on the demo player by clicking on any of the play buttons. They seem to be (I assume) hiding the video behind a poster image and trying to start the video playing before they remove the poster. With ClickToFlash as I never see the flash player to click I just get stuck looking at the poster frame.

Also the name, OSM, is very similar to Adobes "open" player framework, OSMF, <http://www.opensourcemediaframework.com/>. That could get confusing.

Other than that nice idea.

<comment><USER3> Why's it trying to play flash if you've got an HTML5 browser that supports H.264?

</comment></comment><comment><USER4> (prefix edit: I am railing against their demo, not the technology itself. Worked fine on chrome/vista ultimate. Does anyone know if it works for icecast streaming audio?)

Really, really don't like the interaction design of the thumbnail chooser. It's quite annoying to use. Other than that, neat toy I suppose...

If I've said it once, I've said it a million times: if you roll your own scrollbars, make sure they work like the scrollbars everywhere else on every operating system you plan on supporting. E.g., if a container is scrollable, it should listen to the mousewheel. If you can't get your special custom scrollbars to support the mousewheel, DON'T BUILD THEM.

The auto-scrolling-when-highlighting-the-top-or-bottom-thumbnail is also quite annoying. Think about this:

1\. I see the bottom thumbnail, want to click on it

2\. Thing moves automatically. Whoa.

3\. All of a sudden, the thing I wanted to click on is _no longer under my mouse cursor_. Now I have to _think_ and move my cursor yet again

4\. Rollover actions like this _do not work on touch mobile devices_ (thank god)

</comment><comment><USER5> With Chromium on linux, and ffmpeg-nonfree, this is the only player that works _reasonably_ well. Seeking is still a little borked for me and unreliable.

Youtube' html5 player, jillion's player, etc. dont work reliably for me. I'm not sure whether that is chiefly due to difference of the encoded video itself.

</comment><comment><USER6> This looks like an interesting project with alot of potential, but with Chrome on OSX the video for Theora wouldn't play past the opening title, the mp4 was jerky and sucked up most of the available CPU and the others didn't work at all.

For this to be useful for websites to embed they need to make the player easily theme able, like jwplayer for flash (I didn't look at the docs, so this may already be in place).

Good luck to them, they have a nice start!

</comment><comment><USER7> Nice, but I'm still anxiously awaiting the release of SublimeVideo: <http://jilion.com/sublime/video>

<comment><AUTHOR> Looks great, too. Thanks.

</comment></comment><comment><USER8> Really, really buggy in opera.. They kinda missed the point to jQuery if its not cross browser.

</comment><comment><USER9> Crashed here: Chrome on Windows 7 (64).</comment>


Matrix – An open standard for decentralized persistent communication - <AUTHOR> http://matrix.org/ <comment><USER2> This looks like an excellent alternative to Telegram or Signal group chats. Telegram group chats work so darn good, but they're not end-to-end encrypted if you want to be able to access them from more than one device. Signal/WhatsApp group chats are end-to-end encrypted but aren't nearly as seamless.

Self hosted but not end-end-encrypted would be a good compromise i believe. I love that there's a web client. Has anyone really put it to work? I'd love to hear how well it works, in practice.

</comment><comment><USER3> See this thread from a couple days ago for more discussion: [https://news.ycombinator.com/item?id=11794914](https://news.ycombinator.com/item?id=11794914)

</comment><comment><USER4> Ok, so this is "decentralized" in the sense that a communication from one client will be sent directly to another client, but you still have to have a centralized discovery method. Correct me if I'm wrong, but doesn't WebRTC already cover the same bases? I think I might be missing what is really new or interesting here.

<comment><USER3> Matrix is not peer-to-peer. It's decentralized in the sense that it's federated. Like email, (or other messaging systems before it, like XMPP,) each user's account exists primarily on a specific server, but they can choose which server that is, or run their own, and it doesn't change their ability to message anyone else in the system or for anyone else to message them.

<comment><USER5> so will it die the same way as xmpp?

death by spam

<comment><USER6> Oh, does XMPP have trouble with spam? I guess it makes sense, since it works like email, but I have never received any.

<comment><USER7> Not Spam issue itself, but there's been a lot of spammy bot accounts created on many domains, which is the reason why In-Band registration is disallowed on most of the public domains. It has also been said that when Google still federated, a major part of the federation was for spam accounts to connect to Google, and only very few actual humans used federation, so they just cut it.

<comment><USER5> it wasnt said... it was the official reason Google gave for shutting it down.

</comment></comment></comment></comment></comment></comment><comment><USER6> Can you send a message directly to a specific person (who might not await it) or is it all about chat rooms?

<comment><USER3> The data model isn't different for 1-to-1 chats. You're still in a room, it just has only two people in it. Differentiating between the two visually (or otherwise) would be a feature of a Matrix client.

<comment><USER6> OK, but would the recipient of my message have to actively connect to a room to receive it, or can I send one out of the blue and have it come through?

</comment></comment></comment><comment><USER5> this claims to solve very hard problems that eluded many great minds so far. paint me skeptical.</comment>


When Steve Jobs met Don Knuth - <AUTHOR> http://www.folklore.org/StoryView.py?project=Macintosh&story=Close_Encounters_of_the_Steve_Kind.txt <comment><USER2> Note the comment:

from Mike Boich: I was actually present for this. My recollection was that Don Knuth's response was more along the lines of "I seriously doubt that". (It was still quite amusing though!)

</comment><comment><USER3> I imagine Woz would have gotten a very different response!

</comment><comment><USER4> Guess Knuth bluntly meant that Jobs was lying. Hardly any one could have managed to digest "all" his books.

<comment><USER5> I think there are people that can read and digest all his books, especially in SV, but Knuth would have known about them already or something.

</comment></comment><comment><USER6> I am sure I have heard this before as an anecdote, not involving Steve Jobs (I recall it was someone at a church that Don Knuth happened to attend).

I am too lazy to check snopes for this though.

</comment><comment><USER7> any info on if this is true? also, did Knuth mean Job's was full of it that "he read all his books" or just full of it in general? ;)

<comment><USER8> Maybe Knuth was more of a rebel back in the day, but somehow I can't imagine him having that sort of response.

In Randall Munroe's Authors@Google talk [<http://www.youtube.com/watch?v=zJOS0sV2a24>], Don Knuth asks him a question at ~21:30 and at ~25:30 Randall asks Knuth about this very anecdote. Knuth's response is "I've been told this story a number of times...but I was impressed by him more than he was impressed by me."

</comment></comment><comment><USER9> "You're full of shit."

Which great innovator isn't?

Seriously, think about what goes into it. You have to believe that you are capable of changing the reigning viewpoint, that almost _everybody_ else in the field is wrong. Without an epic ego, great innovators would never get started.

<comment><USER10> Your comment seems to be more relevant to your own issues than to the actual story, but let me just point out that the "Steve Jobs" character in the story (let's ignore the question of whether or not it's actually true) isn't demonstrating an "epic ego" at all. He's being cloyingly sycophantic.

What does a man with an epic ego say when he meets Donald Knuth? Probably "Hi, nice to meet you".

</comment></comment><comment><USER11> I love that quote.</comment>