Looking for a Job? Let GitHub Help - <AUTHOR> http://github.com/blog/553-looking-for-a-job-let-github-help

<comment><USER2> Major potential flaw.

If I am looking for a new job I'm generally not going to put that information anywhere my employer might find it because then I'd be concerned that the urgency of my job search might suddenly increase substantially. Therefore I don't want to put my information anywhere where employers might search and find me.

Yes, they can put something on it to say, "Employer can't find their own employees." But that is too easy to circumvent either on purpose or accidentally through a clueless recruiter.

I'd want to see the design of phase 2 before deciding whether I'd dare participate in phase 1.

<comment><USER3> I'm not sure why they include the "available for hire" checkbox. Seems like if you didn't have that it wouldn't look like you were looking for work. Putting your info on LinkedIn, for example, doesn't automatically mean you're looking around. A lot of people in my work group, for example, are on LinkedIn (including our boss) and we don't assume that means they're looking.

I'd suggest they lose the "available for hire" box.

<comment><USER4> That suggestion is (perhaps) in the users' interests, but it is directly against the customers' interests. Follow the money: prospective _employers_ pay to identify/contact people who are actively looking for work. They are not interested in paying to contact people who will not accept job offers.

Prospective _employees_ pay nothing. They are not the customers of this system. It will serve their interests... when it is reasonably practical to do so without trodding on the toes of the _paying customers_.

Prospective employers are not worried that prospective employees might find themselves suddenly separated from their previous employer -- indeed, _that is sort of the general idea_.

<comment><USER2> Take it one step farther. After a couple of well-publicized bad situations they are likely to find the most desirable users becoming reluctant to check that checkbox. And then the model breaks down, which is not in anyone's interest.

I hope they figure it out before that situation arises. But until I'm confident that they understand that, I won't be comfortable with that service.

<comment><USER5> A good middle ground is search rankings - users who are "looking for a job" have their ranking bumped-up on search results (shown to employers). Not to the very top mind you (too obvious!) - but enough to come ahead of non- lookers.

This way - the employers get a good result on their search for prospective hires and employees get plausible denaibility.

</comment></comment></comment></comment></comment><comment><USER6> This is a much better idea than jobs.stackoverflow.com -- find people who have publicly produced something of executable value, rather than those that are publicly addicted to a MMO hint line.

<comment><USER7> There's no one stopping you to put links to your projects that are hosted on GitHub or somewhere else.

</comment></comment><comment><USER8> I think this is a really neat idea. Lets people get some well deserved kickback from their open source coding, hopefully.

<comment><USER4> I think Github is very adroit at extracting value from other people's open source coding. (I don't say that as a criticism of Github.)

<comment><USER9> I think this is true, but it's important to bear in mind how much they contribute back, not just through the community they support, but directly in terms of code they've open-sourced. They could get away with doing this a lot less than they do, and deserve credit for how dedicated they are to open- sourcing their code.

</comment></comment></comment><comment><USER10> Interesting feature, I wonder what caused it to come about. Perhaps GitHub is looking to hire and wanted first pick :D

GitHub has a lot of little hidden features these days. The ability to do code review is there, but very hidden, any plans for improving that workflow? On the topic of hidden features is there a graph showing off what features people use (and don't?) I was recently told about one that has been around for a long time that I just didn't know about. no doubt there are others.

</comment><comment><USER11> This is a really really good idea. I expect clued-in companies use this to search for developers instead of LinkedIn (if GitHub charges less than LinkedIn for access to the hiring profile). We'll finally have something like a "portfolio" for developers, where you can _show_ your code in a slick UI instead of _talking_ about it on your blog etc.

<comment><USER12> Why would github have to charge less for a more valuable service?

<comment><USER11> Great question. Thank you for challenging my assumption. I thought they'll have to charge less at least at first because they'll have a smaller pool of candidates.

<comment><USER13> The right there would be what we call a feature.

</comment></comment></comment></comment><comment><USER14> Nice idea, but I already maintain my resume, and a linkedin profile. I'd prefer to just link to those.

<comment><USER15> I was going to say cut-n-paste your blurb... [so you get keywords]

But then it occurred to me that maybe doing cut and paste from webpage A to webpage B is a missing feature.

I dont think microformats or frames answer this need well.

It seems the most basic feature of a web mashup, so why dont we see this as a trivial standard?

<div src=url id=div_id />

Ive used plone before as a companywide repo for project docs, but one feature I wanted was to do this for subsections of a page. This would have solved that problem.

<comment><USER16> How would this differ from iframes?

<comment><USER15> Without knowing exactly why, my feeling is iframes are broken. If not.. why arent iframes used in say yahoo and google customisable home page mashups?

Differences :

granularity - share one div, not whole page

scope - how should javascript interact between the inclusion and the whole page? [ Im not sure.. this wasn't on the radar when iframes were designed I guess ]

</comment></comment></comment></comment><comment><USER17> This may be obvious, but how do I search GitHub as an employer? Do you just view a lot of different individual profiles?

<comment><USER2> The plan is that in phase 2 they will introduce a search interface for the convenience of employers.</comment></comment>


Use a robot to walk around (Firefox only) - <AUTHOR> http://meetzippy.com/ <comment><USER2> This would make a good "Show HN".

Is there information about the setup?</comment>


Supporting Black Engineers with Aston Motes, Dropbox Employee #1 - <AUTHOR> https://www.youtube.com/watch?v=ticjeKVgA7Q <comment><AUTHOR> One question for this community related to the discussion: why DON'T you start a startup?

We talk a bit about having enough wealth to feel secure, like you can't lose it all. (17 min in [https://www.youtube.com/watch?v=ticjeKVgA7Q&t=1020s](https://www.youtube.com/watch?v=ticjeKVgA7Q&t=1020s) )

PG has a whole post on this: [http://www.paulgraham.com/notnot.html](http://www.paulgraham.com/notnot.html)

What is your reason?</comment>


Ask HN: What's some "one sentence" wisdom you've learned or created? - <AUTHOR> It doesn't have to be one sentence but try to be concise. Something you'd end a code review comment with or mention to a Jr dev that's easy to remember.<p>Today I realized "there's a fine line between credit and blame" but that's a little too pessimistic to be real advice. <comment><USER3> "Don't do people favors if they don't ask for them."

Sometimes in the corporate life, you imagine that X would like to have Y, and you put in a lot of effort to make Y happen. And then X is not even aware that Y took effort, or worse, you misinterpreted, and X is annoyed that Y happened. Better make sure that X really wants Y and asks for it.

</comment><comment><USER4> Change is a process.

It has been my experience that to change anything with an organisation takes a while. First you present your proposed change or new process. No one understands or pay attention. Once you implement and showcase the new process, expect objections as it dawns on people they might have to change how they do things. Don't take offense at the objections (which should have been aired at first meeting but no one was paying attention). Just agree to note them and then a week later present same thing you presented. Now you will find most people have processed the change and might even have tried new process or read the documentation. Now the change begins. It's a process.

</comment><comment><USER5> "Your code should reflect your ontology."

Meaning that you should strive to program so as to encode the structure, relationships, and qualities of the objects of your task/domain. If you do it faithfully, then your code will be logically consistent and bug-free. I think this is most directly possible in declarative programming.

</comment><comment><USER6> The race is not to the swift or the battle to the strong, nor does food come to the wise or wealth to the brilliant or favor to the learned; but time and chance happen to them all. - <USER2>

Life does not always make sense, sometimes best efforts and best preparation fail. That is okay

<comment><USER7> My favorite variant of this is the version from Jean-Luc Picard on Star Trek: The Next Generation:

"It is possible to commit no mistakes and still lose. That is not a weakness. That is life."

</comment></comment><comment><USER8> "If someone does something once, they will do it twice"

This is in some ways depressing, but its always been true for me. Individual actions that are outside the realm of someones common patterns are extremely rare. So if they act in a certain way, expect that going forwards. Be cynical.

<comment><USER9> Maya Angelou said it like this: "When someone shows you who they are, believe them the first time."

</comment></comment><comment><USER10> "Easy choices, hard life. Hard choices, easy life."

</comment><comment><USER11> "If you have no backup, you have no data. If you have one backup, you have no backup."

<comment><USER12> Backups you've never tested are not a backup

(backups encrypted with a key no one has access to are not a backup)

<comment><USER13> If only I could have convinced my previous department head of this.

</comment></comment></comment><comment><USER14> Commandments I refer to often:

1\. Make it work, then make it work well

2\. The user doesn't give a shit how it's made

3\. If you can't measure it you can't improve it

4\. The problem is more important than the solution

5\. Write code that is easy to delete

6\. Buy right buy once

</comment><comment><USER15> Never attribute to intelligence what can be sufficiently explained by stupidity.

<comment><USER16> s/intelligence/malevolence/

Stupidity is more likely than bad actors. Usually.

<comment><USER15> The original expression is "malice" yes. But it becomes much more generally applicable with "intelligence" imo.

</comment></comment></comment><comment><USER17> I've got a bunch more, but these are some of my favorites ( after reading that it was for a mentee relationship, I had to remove some)

\- You impact your environment, regardless of your participation, and even your presence

\- Perception is a weak approximation for reality

\- Value the opportunity to be wrong, because eventually you'll lose the privilege of being told so

\- The greatest barrier to getting things done, is not doing things

</comment><comment><USER18> This might sound silly, but the following, cited in Getting Things Done, helped me a lot:

"The middle of every successful project looks like a disaster"

Whenever I have setbacks, delays, whatever, this sentence can help me put things into perspective and keep at work rather than panicking. (Although of course, sometimes, things look like a disaster because that's what they are...)

</comment><comment><USER19> I like these three:

Eating the menu isn't the same as eating the meal. (I believe from fritz pearls).

Thinking is hard that's why most people go straight to judgement. (C Jung)

There's nothing more disgusting that a person with tons of resources (money, time, imagination) but who has no taste. (Paraphrase of Goethe)

</comment><comment><USER20> Parkinson's Law of Data: "Data expands to fill the space available for storage"

Most frequent use: Justifying quotas on NAS/SAN devices. People retain more stuff when they think a shared drive has 500GB free than they do when they see 2TB free.

<comment><USER4> Interesting that means people don't read the unit of measurement, just the number 500>2.

</comment></comment><comment><USER21> The most general problem cannot be solved.

</comment><comment><USER22> Bad news does not age well.

<comment><USER23> My interpretation of your aphorism: bad news is not forever.

<comment><USER24> not aging well implies the thing gets worse the older it is. So, a more accurate interpretation would be "bad news gets worse the older it is" Although that seems unlikely to be what was intended.

<comment><USER25> I read it the same way, with the sentiment of "People will be more upset if you delay telling them bad news."

e.g.

"We got a letter for past-due rent yesterday, and I'm telling you now"

vs.

"We've been getting letters for past-due rent the last few months, and I'm telling you now."

</comment></comment></comment></comment><comment> T-A Never eat a grapefruit in front of a computer screen.

<comment><USER26> Story please.

</comment></comment><comment><USER27> Not tech related:

Don't complain about being bored. Bored/boring means that people around you (e.g. family) aren't dying.

<comment><USER28> Seems like the same logic as "finish your food, there are starving kids in Africa"

</comment></comment><comment><USER29> \- If you think you should ask the question, then you probably Already know the answer (questions that start with "should", "do you think", etc.

\- when in doubt, keep it out (tru for most things from cooking to sex to commentary)

</comment><comment> ISO-morphism Doubt your own infallibility

</comment><comment><USER30> "It doesn't matter what they do. It matters what you do."

</comment><comment><USER31> _ « if you can not afford to buy it, you certainly can not afford to build it »_

To eager business leads saying that a software or service is too expensive and we should build it internally instead...

<comment><USER32> That's been quite false in my experience - quite a few times it was much easier / simpler / cheaper to build than buy, because there wasn't an offering good enough, and the cost of adaptation was on the order of the cost of building.

Many SAP and Oracle-software (not the DB, the other stuff) implementations fail, and take years to do so, after costing as much as building in house would have (and likely succeeded).

For some things, it's true - but I wouldn't consider this "generally applicable wisom"

</comment></comment><comment><USER33> No single raindrop thinks it is to be blamed for the flood.

</comment><comment><USER34> Treat people like children and they'll behave like children.

</comment><comment><USER35> "It's lonely at the top in whatever you do"

</comment><comment><USER36> "Measure twice, cut once"

<comment> pickle-wizard No matter how many times I cut, it is never long enough.

<comment><USER37> "I've cut it twice and it's still too short."

</comment></comment></comment><comment><USER38> Making work complex is easy; keeping things simple is hard.

Success has a thousand fathers; failure has none.

</comment><comment><USER39> You train people how to treat you.

</comment><comment><USER33> If you can't do something about it, don't worry. If you can, then do, and don't worry.

</comment><comment><USER40> "Getting better is just screwing up less" - Adam Savage

</comment><comment><USER41> if you don't test it then it doesn't work.

</comment><comment><USER32> Well, it's life wisdom, but it has applications in software development (though not necessarily in a commit message ...)

Overabstraction is generally much worse than underabstraction.

The right level of abstraction is worth it's 'wc -l' in gold.

Murphy was an optimist. Everything that can go wrong, will, but at the most inopportune time (while demoing for the biggest client ever, for example).

The new thing can save you 10% at best, but easily cost you 50% (in delays, unexpected costs, bugs, ...); Prefer boring and established.

Everything has a context. "readability" is not absolute, it depends on your target audience.

Your dev/test machine should be slightly weaker than your user's to guarantee a usable product.

Most people decide if something was brave or foolish only in retrospect.

The best time to plant a tree is 20 years ago, but the next best time is today. That's extremely true for refactoring/code changes/decision making in general.

Praised be those who have nothing to say, and nevertheless remain silent (supposedly a German saying). Keep your descriptions short and to the point, don't go on rambling.

Most people, most of the time, aren't rational, but rationalizing (part of the problem is that we really believe the stories we tell ourselves, even though they are mostly post-hoc rationalization). Is that really why you did that?

Most people like to complain and blame things they can't change, but fear acting on things that they can change.

The game is mostly rigged against you (unless you are the incumbent. Then, the game is rigged by and for you - but you already knew that ...).

History is written by the victors, so take anything you weren't there to witness with a grain of salt -- including science history. (e.g. Barbara McClintock and Danny Shechtman were pariahs until they weren't, but evidence is being whitewashed). Extremely true for office and dev politics. And there are always politics.

Those who cast the votes determine nothing. Those who count the votes determine everything (supposedly by J.G.Stalin). Are you really a decision maker, or just imagine yourself to be?

</comment><comment><USER42> Motion.

Everything changes when you're in motion.

</comment><comment><USER43> When in doubts, do the right thing.

</comment><comment><USER44> The higher, the fewer.

</comment><comment><USER45> "You can work from anywhere" is just a big lie!</comment>


Ask HN: Does Karma affect the rank of a submission? - <AUTHOR> I understand that going to the 1st page of HN needs people to upvote but does Karma affect the ranking. e.g. A & B shared 2 links at the same time.
A's account (10 Karma) shared a link, got 100 upvotes within an hour.
B's account (2000 Karma) shared a link, got 100 upvotes within an hour.
Will B's link get a higher rank on the top page? <comment><USER2> Keep in mind that flagging drags a story down.

In my experience, story quality plays a big role and luck a somewhat smaller one. Because what makes a story good on Hacker News can be a bit different than what makes it good on other sites someone with 2000 karma is probably more likely to submit a better story -- e.g. right now this submission about a fourteen year old Linux text book: [https://news.ycombinator.com/item?id=11352295](https://news.ycombinator.com/item?id=11352295) is on the front page -- simply based on the likelihood of greater engagement and more experience.

My observation is that many stories that get 100 upvotes in an hour generate low quality discussions and disappear due to flagging, though there are exceptions.

My unsolicited advice is to write good comments and post good articles and not get to tangled up in trying to optimize around timing.

Good luck.

</comment><comment><USER3> I'm pretty sure it does not.

<comment><AUTHOR> Thanks. This means the impact of submitting a link with a new account and a high Karma account are the same, right?

<comment><USER4> Some people have favorite submitters, and so well established accounts may get more readers, and hence more upvotes, than newer accounts. Your question included the proviso that both submissions got the same number of upvotes in the same time - that might not happen with accounts that have difference karma.

And not all upvotes are equal. The software has voting ring detection that is good, but not perfect. Submissions often get quite a lot of upvotes that don't convert to karma for the user simply because not all upvotes are regarded as "genuine". Those upvotes might not count towards the submissions ranking, but I don't know.

What I do know is that there is "secret sauce" and that it's generally pretty good, although not perfect. Trying to game the system is rarely successful, and trying to understand it from the outside is going to be really hard.

Personally, I submit stuff I think is going to be of interest, I read stuff that looks like it might be interesting, and then I walk away. The internet in general has taught me not to care.</comment></comment></comment>


Why the Apple Tablet is not going to save the electric sheep - <AUTHOR> http://blog.jedwhite.com/2010/01/why-apple-tablet-is-not-going-to-save.html

<comment><AUTHOR> Well, to be fair there are only the two metaphors :) And they're only used to open and close the post. I don't think that's really overdoing it. Maybe it's a subjective thing, but I don't think a little whimsy is out of place on a personal blog, and not all writing should be in point form.

</comment><comment><USER2> This article makes one great point that could have taken a single paragraph, but the hyperbole and forced metaphors are thick. Ugh.</comment>


Ask HN: Should I try building weather prediction models using machine learning? - <AUTHOR> Is it realistic for a developer new to machine learning to attempt building weather prediction models with "off the shelf" open source tools? What about hardware? Is it possible to get decent results with modest hardware? (for example, a small cluster of AWS instances). <comment><USER2> Depends on what you're trying to forecast and what you want to use the forecast for. If you're just curious, go for it. If you're planning on trading NG futures, well... go for it, but expect to be disappointed.

I'd bet the biggest hurdle you'll face is getting quality data.

<comment><USER3> _I 'd bet the biggest hurdle you'll face is getting quality data._

I guess it depends on what you're looking for, but at least some weather/climate/earth-surface stuff can be grabbed right off the air from the various satellites. Some of that stuff is beamed down unencrypted and anybody with the right receiver setup (which can be as simple as an RTL SDR dongle, AFAIK) can grab the data and use it.

[http://www.rtl-sdr.com/rtl-sdr-tutorial-receiving-noaa- weath...](http://www.rtl-sdr.com/rtl-sdr-tutorial-receiving-noaa-weather- satellite-images/)

[http://noaasis.noaa.gov/NOAASIS/pubs/Users_Guide- Building_Re...](http://noaasis.noaa.gov/NOAASIS/pubs/Users_Guide- Building_Receive_Stations_March_2009.pdf)

You can also download a lot of data here, although it presumably wouldn't be as timely as getting it direct from the satellite.

[https://www.ncdc.noaa.gov/data-access/satellite- data/satelli...](https://www.ncdc.noaa.gov/data-access/satellite- data/satellite-data-access-datasets)

</comment></comment><comment><USER3> I don't know, but it sounds like it would be fun to try. Other than that, all I can add is that I saw this come across my inbox a while back, and it seems like something you might find interesting:

[https://climate.apache.org/](https://climate.apache.org/)

<comment><AUTHOR> Thanks for that, it looks interesting.

</comment></comment><comment><AUTHOR> OP here. I did find this post which was fascinating (but a bit simplistic since it uses only temperature as an input):

[https://arnesund.com/2015/05/31/using-amazon-machine- learnin...](https://arnesund.com/2015/05/31/using-amazon-machine-learning-to- predict-the-weather/)

</comment><comment><USER4> Weather prediction is an unsolvable task to begin with.

<comment><AUTHOR> I don't understand your comment. Since 100% accuracy is unachievable we shouldn't try at all?

Wouldn't a prediction with 80% accuracy still be enormously useful in most use cases?</comment></comment>


Hello, World - <AUTHOR> https://m.whitehouse.gov/blog/2015/05/17/hello-world <comment><USER2> Spoiler:

Bob always chooses the same as his flip, Alice always chooses the opposite of her flip.

      B A
      H H - Bob chooses heads, Win
      H T - Alice chooses heads, Win
      T H - Alice chooses tails, Win
      T T - Bob chooses tails, Win

<comment><USER3> My experience arriving at this solution made me a bit curious as to how others solved it. Was there reasoning involved before you arrived at a strategy and verified it, or did the strategy just come to you? Did you try multiple strategies, and if so, was there a method to generating/iterating on them, or were they just coming to you and you tried them?

<comment><USER4> Brainteasers tend to follow a particular pattern. The amount of information the various Alices and Bobs and Charlies have seems at first glance to obviously be inadequate to the task they're given. Then a closer examination reveals that there's some sublte extra scrap of information, and you can generally assume than that the answer is to use that to trace out the possibilities to find the actual answer.

So knowing that, I just looked for what extra, non-obvious piece of information A and B had. It seems impossible to guess what the results of a coin-flip are in another room. But the players also know the result of their own flip, and so basing a strategy on that extra info is certainly going to be the answer. From there, since there are so few combinations of such a strategy, getting the right answer is pretty trivial.

I like this brain teaser (and I suspect the reason that Felton likes it as well) because it shows this general pattern for brain teasers very clearly. The "extra" piece of information is pretty obvious with a moments thought. And once you have it, the number of possible strategies using it is small enough that you can see the correct one quickly.

A lot of other brain teasers require a lot of pen and paper work even after you've guessed the "trick" in order to work through all the possiblities. So this is sort of a nice, boiled down "essence du brainteaser".

<comment><USER5> One of the main challenges, however, seems like it would rear its head as soon as you leave the confines of a defined brain teaser, where you know for sure that there is a "trick" even if you can't see it, and real world situations such as in programming, where you don't yet know if the specific problem is solvable at all.

<comment><USER3> I noticed something similar when I was studying math: Exercises of the variety "Prove x" or "Disprove x" were much more than twice as easy as exercises of the variety "Prove or disprove x".

</comment></comment></comment></comment></comment><comment><USER6> Some discrete mathematicians are interested in this sort of problem, which they call "simultaneous hat guessing". There are quite a few papers, in case anyone is interested and unfamiliar with this sort of thing.

Another fun problem, probably better known, is sequential hat guessing: take 100 people in a line, arranged so that each person can see everyone in front of them, but no-one can see any of the people behind them. Everyone is given either a red or black hat to wear, but no one can see the color of their own hat, or the hat of anyone behind them. So the person at the back of the line can see everyone's hat but their own, the next person can see everyone's hat except the first person and their own, etc.

Now starting with the back of the line, each person is asked to publicly guess the color of their hat. The participants are allowed to agree upon a strategy, how many people can they guarantee guess correctly?

Things get crazy if you allow an infinite countable line of people, and put ear-muffs on anyone so that no one gets to hear anyone else's guess. Surprisingly, you can still save almost everyone (if you allow the axiom of choice).

<comment><USER7> Yes, this is a great one. Unless I'm mistaken, the best strategy has potentially one error, but all the rest would get it right, yes?

<comment><USER6> that's exactly it

</comment></comment></comment><comment><USER8> I haven't looked at any of the solutions. Or any of the other comments.So at the risk of posting a redundant comment :

Alice guesses that Bob's coin is the same as hers. Bob guesses that Alice's coin is the opposite to hers.

It's fairly straightforward. I'd like to know the computer science angle to this though.

EDIT: From the computer science that I know :

We need to find an invariant that all permutations of coin flips always satisify. Intuition tells us that Alice's coin might be the same as Bob or vice versa :

If you construct a truth table :

      Alice  Bob     Alice's Coin same as bob    Bob's opposite to Alice

      H      H               YES                            NO

      T      T               YES                            NO

      H      T               NO                             YES

      T      H               NO                             YES

The expression :

      Alice's coin same as Bob || Bob's opposite to Alice

Always evaluates to true. So Alice can guess her flip and Bob can guess the opposite.

But what if we had Alice , Bob and George and atleast one of them had to get the other two right ?

Is there a general pattern ?

      Alice Bob George
      H     H   H
      H     H   T
      H     T   H
      H     T   T
      T     H   H
      T     H   T
      T     T   H
      T     T   T

Will try and figure it out over dinner :D .

</comment><comment><USER9> This is off topic, but when the next president takes office, all of current whitehouse.gov content will be gone and replaced, no?

<comment><USER10> I'm guessing they will do something similar to when Obama took office: [http://georgewbush-whitehouse.archives.gov/](http://georgewbush- whitehouse.archives.gov/)

<comment><USER11> Very clever. So I'm assuming they just don't write any links that involve using the full domain. (i.e. /somepage instead of [http://www.whitehouse.gov/somepage](http://www.whitehouse.gov/somepage))

<comment><USER12> Link rewriting is a standard feature of wget.

</comment></comment></comment></comment><comment><USER13> "Coding is exciting: you can decide what is supposed to happen, and the computer will do it…the only limit is your skill and imagination!"

Someone didn't learn about the halting problem :-)

</comment><comment><USER14> Bonus points: What if only one of them gets a coin to flip and then they must both come to an agreement on what the result was. They can talk but the NSA overhears everything they say and can crack every cipher they use. Can you maximize the chance that the NSA can't guess who got that coin AND Alice and Bob agree on the correct result?

Note: An open problem. You can look up cryptogenography for current results.

</comment><comment><USER15> From the first link: I find it difficult to believe that in the entirity of Jimmy Carter's Navy career, he wrote zero lines of code.

<comment><USER16> Jimmy Carter aside, what kind of code do navy people write?

<comment><USER17> During Carter's era or today. In 90 I was trained for a year in computer engineering for our sonar computer mainframe including Assembly. The idea was that if we were on deployment and a bug caused a problem we could potentially figure it out and maybe fix it without stopping the mission. I was programming on my own for 8 years prior to that as a hobby so was actually correcting the instructor on a couple of occasions. There is also the rate DT which does programming all the time I think. I wanted to get into that rate but the wait was a year and I was impatient.

</comment></comment></comment><comment><USER18> Reminds me of Dr Ebert's hat problem: [http://web.csulb.edu/~tebert/hatProblem/nyTimes.htm](http://web.csulb.edu/~tebert/hatProblem/nyTimes.htm)

</comment><comment><USER19> I think I was slow coming up with this, but basically I wrote a lot of tables out and came up with...SPOILER...

Alice always guessing the same as what she flips and Bob always guessing different.

But - my question is this: Are there any other possible solutions to this puzzle?

Either way, I'm pretty sure this is just an Illuminati code plot from the White House to find the world's top coders and recruit them into some CIA program.

</comment><comment><USER20> OK, we get it, most HN readers were able to solve the puzzle in a minute or two. Most of us have done interview problems much more difficult.

I'm more interested to know what people think about Obama's proselytizing of computer science. It seems like a great move to me. Is he going about this in a smart way? Do you think he'll get the results that he's looking for?

</comment><comment><USER21> It seems too simple to be right, but can Bob just say heads all the time, and Alice say tails all the time?

<comment><USER22> No, there are two different coins. So if Bob flipped heads (which Alice guessed tails for) then they lose.

</comment></comment><comment><USER23> I solved (believe) the puzzle in 3 minutes.

A says B result is the same as A result. B says A result is different from B result,

so that A covers (H,H) and (T,T), B covers (H,T) and (T, H), so always A or B is true, so they always win.

</comment><comment><USER24> Just adding the Python test I used:

[https://gist.github.com/mmcclellan/4b01bf781393395526e3](https://gist.github.com/mmcclellan/4b01bf781393395526e3)

</comment><comment><USER25> One writes down what s/he sees. The other writes down what s/he does not see.

<comment><USER14> So, "a paper" and "a gigantic ostrich juggling American Space Kangaroo"?

<comment><USER25> LOL. Good one!

</comment></comment></comment><comment><USER26> fun.

[https://gist.github.com/pipermerriam/d1b5a24230f2f9ec4446](https://gist.github.com/pipermerriam/d1b5a24230f2f9ec4446)

<comment><USER27> slightly less verbose:

[https://gist.github.com/1751cebe44d88dc7db15](https://gist.github.com/1751cebe44d88dc7db15)

<comment><USER28> `zip toss toss` only produces 2 of the possible outcomes. Try `liftA2 (,) toss toss` instead.

<comment><USER29> There's always [(a, b) | a <\- toss, b <\- toss]. It's not as Haskell-y, but it's simpler.

</comment></comment></comment></comment><comment><USER30> Can't Alice just always pick heads, and Bob always pick tales?

<comment><USER31> This fails if Alice flips heads and Bob flips tails.

</comment></comment><comment><USER32> > The puzzle is this: Can you think of a strategy Alice and Bob can use that > is guaranteed to win every time?

Raise campaign finance from the wealthy so that they can make it past the lesterland election[0].

Now that you have a war chest and are in the general election you just need to raise more capital from the 0.1%, buy more advertising, hire the best staff in Washington and bam!

I know this is not the coding question at hand, but a more important question on how unequal our political system is and I couldn't forgo the opportunity to ever so gently show the obvious reality - once you past the lesterland wealthy elite and get their backing, winning is only a matter of time.

[0] [http://lesterland.lessig.org/](http://lesterland.lessig.org/)

<comment><USER33> If Lessig's theory is correct then how in the world is pot being legalized?

</comment></comment><comment><USER34> If the answer is 'at least one of them always write down "heads or tails"', then lol

<comment><USER34> I had assumed there was no real solution and figured it being a clever semantic play.

I stand corrected, very nice puzzle :)

</comment></comment><comment><USER35> I have zero respect for someone who would take a role like that.

<comment><USER36> So you have no respect for a researcher who took rhe stand against Microsoft in the Microsoft antitrust case?

<comment><USER35> Absolutely. That makes him even worse.

"Antitrust" is a bogus concept.

It is never and was never in the public interest.

It is also a massive violation of the rights of companies and their shareholders.

Consider that if Windows/IE were really that bad, people would have just switched more readily to a Microsoft competitor. Desktop-quality Linux would have come about/come about sooner, or something equivalent.

This is an example of the point that there is no such thing as a monopoly unless it's created through legal channels (i.e. is granted by the government).

There is _no business_ that can't be competed against with sufficient capital.

And the global economy accumulates spare capital over time (because in the net, the species produces more than it consumes).

Even "natural monopolies" are a function of a mistaken way to implement property rights, as opposed to being "natural." Because you can always build underneath or around whatever is already there.

edit: This is a serious intellectual comment that deserves to be read. It also matters a lot for our industry. Consider Google in Europe right now.

<comment><USER37> Ok, I've read it. I agree it is serious. But I think it's also wrong. Monopolies can be abused in ways that make it almost impossible to compete against them. Let's use Windows as an example. Some companies that sell Windows boxes also sell Linux boxes. (Dell for example.) Of course, the Linux boxes are less popular. But why not sell a computer that can dual boot? People would be a lot more willing to experiment with Linux if they didn't have to install it themselves. Indeed, around 1999 a young company was trying to popularize its new operating system: BeOS. I am quoting from this site:

[http://birdhouse.org/beos/byte/30-bootloader/](http://birdhouse.org/beos/byte/30-bootloader/)

"[...] Be was engaged in enthusiastic discussions with Dell, Compaq, Micron, and Hitachi. Taken together, pre-installation arrangements with vendors of this magnitude could have had a major impact on the future of Be and BeOS. But of the four, only Hitachi actually shipped a machine with BeOS pre-installed. The rest apparently backed off after a closer reading of the fine print in their Microsoft Windows License agreements. Hitachi did ship a line of machines (the Flora Prius) with BeOS pre-installed, but made changes to the bootloader -- rendering BeOS invisible to the consumer -- before shipping. Apparently, Hitachi received a little visit from Microsoft just before shipping the Flora Prius, and were reminded of the terms of the license."

<comment><USER35> If Windows started sucking, people would switch. Demand would arise for a better alternative. In the long run, companies and consumers are not going to choose a significantly inferior product.

There are no specific examples that will get you out of this.

Actually, it Windows already kinda does suck, which is why so many people (even companies) use Apple. And there are lots of other alternative OSs.

<comment><USER38> Unfortunately the example given and the "windows tax" is a perfect example. Microsoft had such size and control over the industry they could strangle competitors at birth. Who knows what they would have done without this tiresome legislation.

<comment><USER35> If that were true, Linux, BSD, and Apple OS would not exist.

The only strength that is strong enough to strangle competitors at birth is the long arm of the law.

In other words, the only way to keep out competition is to use force.

That is precisely what is disallowed in a free market, i.e., in a rights- respection nation.

</comment></comment></comment></comment></comment></comment></comment><comment><USER39> _... Obama [...] became the first president to write a line of code ..._

Wasn't the Dictator of Singapore earlier with his Sudoku?

This is a ridiculous stunt, and it sets the wrong accents. Coding is being hyped while the people who actually keep us alive and in good condition work 3 jobs and can't afford health insurance.

Meantime, Obama destroys the Constitution and betrays the People of the U.S. to the NSA and their ilk like none did before. I think I'm getting sick.

<comment><USER40> You mean the PM of Singapore? Anyway, they are obviously referring to POTUS's only. (You can bet eg Dr Angela Merkel wrote some code in her time as well.)</comment></comment>


Higher Quality 2D Text Rendering (2013) - <AUTHOR> http://jcgt.org/published/0002/01/04/ <comment><USER2> If you're interested in this, I recommended reading about Patrick Walton's work on Pathfinder: [https://pcwalton.github.io/2017/02/14/pathfinder.html](https://pcwalton.github.io/2017/02/14/pathfinder.html)

<comment><USER3> it's missing the images :(

<comment><USER4> Try the wayback machine:

[https://web.archive.org/web/20170215003338/http://pcwalton.g...](https://web.archive.org/web/20170215003338/http://pcwalton.github.io/blog/2017/02/14/pathfinder/)

</comment></comment></comment><comment><USER5> Back when I was making games (and game engines), whenever I had to render text, I used freetype to render to a memory buffer, and uploaded that as a texture. Two triangles / one quad per "label".

For this use case, where text labels don't change that often or are that many, the approach suggested in the article (two triangles / one quad per glyph, and having to do kerning by hand) sounds unnecessarily complex.

<comment><USER6> Were you still rendering individual glyphs into a font cache and then rendering those textures into a single text texture? It seems like it would be pretty expensive to always render each individual glyph from the font engine every time instead of caching the results.

<comment><USER5> No, just rendering the string every time it changed. For the kind of games I was making, text didn't change that often, so caching it worked fine.

</comment></comment></comment><comment><USER7> There is also the Slug library[0] for anyone interested. It is based on this paper[1].

[0]: [http://sluglibrary.com/](http://sluglibrary.com/)

[1]: [http://jcgt.org/published/0006/02/02/](http://jcgt.org/published/0006/02/02/)

</comment><comment><USER8> Seems like FreeType auto hinting is broken if it shifts the right vertical stroke over by one column for no clear reason. The inner portion of the loop has less then 50% coverage.

</comment><comment><USER9> "This document is trying to connect to: [http://jcgt.org"](http://jcgt.org") Come on, guys.</comment>


Systemd-Homed: Systemd Now Working to Improve Home Directory Handling - <AUTHOR> https://www.phoronix.com/scan.php?page=news_item&px=systemd-homed <comment><USER2> > So do I understand it correctly? The solution to SSH remote login is to not > have it?

> With systemd-homed access to the home directory is simply impossible unless > the luks keyphrase (aka "user password") is specified (i.e. tje user logged > in) since the data store is after all fully encrypted unless the user logs > in. Thats a good thing btw: the user's data should be protected from the > system unless the user is actually logged in. Now, ssh public key auth > doesnt deal with passwords hence just using ssh pk auth means we couldnt > unlock the luks volume simply because we have no keyphrase to unlock things > with. So the PAM module that unlocks homed volumes actually enquires the > client for the password explicitly if this happens. Unfortunately this is > not sufficient for this to work with openssh since its pam hook-up doesnt > support asking questions via pam after authentication.

> That said people suggested we maybe should provide a stub account you can > log into with a fixed password that instead of a shell just spawns a program > that queries you for username and password and then allows you to unlock the > specified home directory.

I get that GNU is not Unix but why do this guy hates Unix so much?

<comment><USER3> My guess is that this is not meant for systems you'd ssh into. That this particular feature is designed specifically for use on laptops.

<comment><USER4> Huh? I ssh into my laptops all the time...

<comment><USER5> It's only a problem if you want to use an encrypted home and ssh into your laptop while not logged locally.

I mean, no one likes the current situation but it was deemed an acceptable trade off considering there is a work around.

</comment></comment></comment></comment><comment><USER6> Systemd has always been hyper focused on the desktop/laptop experience, and then justified for other use cases. Desktop is by a rediculously huge margin the least important use case. So something like systemd-homed does not make any sense in a server setup but I can basically guarantee it will be forced upon server setups, just like systemd-resolvd was.

Ironically the very small percentage of users that use Linux on the desktop tend to be of the more die-hard variety that don't welcome systemd's view of the world.

In the end systemd is an extremely bad steward of Linux.

<comment><USER7> My organization has been very happy with using systemd on servers. Having an init system that can automatically restart failed services, and with decent sdependency management is a big win. We've also been able to replace many 50-100 line long init scripts with systemd unit definitions that are 10 lines long, and considerably more readable than the bash init scripts they replaced. We've had some bad experiences too, logins being "slow" because something went wrong and left 1000s of leftover session units in a weird state, systemd vulnerabilities requiring reboots occasionally. But systemd has had a net- positive impact.

<comment><USER8> nothing precludes a reasonable shell library from making initscripts 10 lines long:

[http://cvsweb.netbsd.org/bsdweb.cgi/src/etc/rc.d/cron?rev=1....](http://cvsweb.netbsd.org/bsdweb.cgi/src/etc/rc.d/cron?rev=1.6&content- type=text/x-cvsweb-markup&only_with_tag=MAIN)

this does not require systemd cruft and all of it's over-opinionated facebook- youth narcissistic my-use-case is all that matters tentacles.

<comment><USER9> Aren't you replacing systemd with run_rc_command? This is just as opinionated, but with less features.

(In particular, will the error be logged if the program fails to start due to bad config file? And how do I describe "only start once "volume X" is mounted?j)

<comment><USER8> > Aren't you replacing systemd with run_rc_command? This is just as > opinionated, but with less features.

sure, but this is a 'reasonable shell library' rather than the 'systemd cruft + tentacles' that I mention.

want it to do something else?

write your own functions.

want "an init system that can automatically restart failed services, and with decent dependency management"

here you go:

        # cat /etc/daemoncheck
        #! /bin/sh

        docheck() {
            initscript="/etc/rc.d/$1";
            if [ -x "$initscript" ]; then
                $initscript check > /dev/null \
                    || $initscript start
            fi
        }

        docheck ntpd
        docheck inetd
        docheck dhcpd
        docheck tftpd

& throw that, or similar in cron or make it run in a while loop. Nothing precludes some rudimentary shell script being bundled as part of a simple shell-style init system out of the box.

I don't need 5000 lines of C code, multiple binaries, 10 layers of symlinks, and all of the rest of it. a few hundred lines of shell that anyone who knows shell and how to read manual pages (that are kept up to date on the actual system, not bad HTML needing 10 tools to render the last time someone thought to update the documentation) can understand the entierty of in literally one sitting.

<comment><USER9> Thanks for the example -- because this is exactly why I am glad we had systemd!

I do remember using the gentoo's rc system, and writing the script very much like you wrote here, and it always "kinda works". Specifically, how is "$initscript check" will work? I have seen three approaches:

\- Sometimes, "check" searches for the process with the given name. That can fail if you are on multi-user system, and a user runs a server on non-standard port.

\- Sometimes, "check" checks for .pid file, and that process with given pid exists. This can fail if you have high process churn, and your PID got reused.

\- Sometimes, "check" does completely strange things. Like check that PID file exists, but not the contents -- so it would work fine if you use start/stop commands, but will not notice if the server crashes.

So yes, you can do it in shell, and it will work.. most of the time. And hey, you can always fix it -- the first time you discover that your server did not restart, you'd edit the script and add port checking... and then upgrade it to better kill runaway processes.. you can keep going and going.

In the end, I think it all brings you back to old pets vs cattle debate. If your server is manually provisioned, each process is carefully tuned, then shell scripts are for you.

If you just want to say "install something_d" and have things work, across thousands of systems, at the expense of uglier config and non-optimal file layout -- then more advanced inits are way better.

</comment></comment></comment></comment></comment></comment><comment><USER10> All I've got to say is that I'm glad the BSDs make decent workstations even though desktop isn't their primary use case. Because I'm reading this and thinking, "Oh, hell no."

I'm reacting like this because I honestly don't get it. Why does systemd need a subsystem that touches /home?

<comment><USER9> It is all described in the first slides, I'd summarize it as "encrypted decentralized roaming profile".

It's a pretty specialized feature - I'd myself would not want to use it. But I can think of some situations where this can be very handy.

And from the practical standpoint, it is not that bad. As far as files access goes, it is compatible with everything, and quering password db will also work. The only thing that changed is how you create interactive users, and it's not like it was standardized before.

<comment><USER10> I think I get it now. This is for _corporate_ desktop, not necessarily personal use.

</comment></comment></comment><comment><USER11> Reading the slides this seems really interesting. A way to allow you simple copy your home (that may be in an encrypted loop file) to a Pendrive and have all your configuration anywhere seems like a big win. This will make the only stateful thing in my system (my home directory) much easier to backup and move.

Also the death of /etc/shadow and /etc/passwd (state in a directory that should only contain configuration files). And encrypted home on suspend.

Like most systemd things, this should be completely optional. Also like most systemd things, people will complain that this is unnecessary bloat.

<comment><USER12> It is completly optional, also it is optional to use home encryption (this comes up a lot when people want to log in on a remote server with a user that uses homed).

homed users and conventional users can exist side by side.

<comment><USER13> Funny, that's what I heard when systemd was introduced: "it's completely optional." And yet today I don't think I would use both hands counting the Linux distros _without_ systemd, though far more than that number tried and finally gave up.

<comment><USER11> > though far more than that number tried and finally gave up.

I think people either should try to maintain their own distro, be a maintainer for their distro of choice or stop complaining about the decisions maintainers from their distro take for them.

I mean, at least in Arch systemd seemed to be the obvious choice: it reduced the complexity for the maintainers. Arch used to be a combination of multiple shells scripts maintained by Arch package maintainers. Since systemd they can use the .service file that multiple programs already have upstream, or they can write themselves one that is much easier and less error prone than the shell script approach used before.

I am sure that the maintainers from Debian, Ubuntu, Fedora, OpenSUSE, Madriva, etc. all analyzed the advantages/disadvantages of migrating to systemd vs. maintaining their in-house solution (that they all had before, one way or another). If you still discord from them, why are you using one specific distro? You can pick any other one that is not using systemd, like Devuan, Void Linux, Alpine, etc.

<comment><USER13> My point was that many who tried to avoid systemd found it to be very difficult, despite the vague assurances up front that it would be "optional." Now "the maintainers" (i.e., Lennart and friends) are contemplating making the file system more opaque.

Instead of saying it will be optional, just say it up front: this is what Red Hat wants, so it's coming to your distro soon too, whether you like it or not, because it will become a dependency of systemd, or vice versa.

It's the lying about it that I can't stand.

<comment><USER9> > "the maintainers" (i.e., Lennart and friends)

Huh what? The Debian discussion was completely in the open, and I recommend reading it, so you know why people choose systemd.

There was no Lennart's influence, everyone was their own people. No one had red hat agenda. All they wanted a better init system, it ended up being a choice between systemd and upstart, and systemd won with a small margin. A later GR vote across thousands of debian debs confirmed the decision.

Really, why do those theories gets repeated? We are not talking about commercial companies and back room office politics, it is all in the open.

<comment><USER14> If they opted for gnome it was going to be hard to avoid also picking systemd.

<comment><USER11> Hard, not impossible. Void Linux is using elogind: [https://github.com/void- linux/void-packages/blob/master/srcp...](https://github.com/void-linux/void- packages/blob/master/srcpkgs/gdm/template)

And BTW, if you don't like the way that Gnome is going you can fork it or use another desktop. There are multiple desktops for Linux that are very polished and doesn't depend on systemd.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> There's a problem with loading the home directory as a loopback block device from roaming USB disks - untrusted filesystems aren't safe to mount.

From [https://lwn.net/Articles/755593/](https://lwn.net/Articles/755593/) "Unprivileged filesystem mounts, 2018 edition":

> There's little we can do to prevent people from exploiting flaws in the > filesystem's on-disk format. No filesystem has robust, exhaustive > verification of all it's metadata, nor is that something we can really check > at runtime due to the complexity and overhead of runtime checking. [...] "Go > run your filesystem in userspace with fuse if you want stronger security > guarantees."

But the same topic is also discussed in many similar articles, e.g. more recently regarding the likeliness of opening new bugs for everyone using automount since the new EROFS filesystem has been merged into the mainline kernel.

<comment><USER16> Yes this is a problem. To address this systemd-homed is careful to validate the user record enclosed in the volume first (which includes checking its signature against the keyring of accepted record signers) and checks whether the provided user password can unlock it. Only after this validation and that the fs actually matches the record we will mount it. Thus as long as the employer trusts its employees enough things should be reasonably safe.

(To make this happen the user record is embedded into the LUKS2 header metadata so that we can use it before mounting the fs)

<comment><USER17> Hi, Lennart. My question isn't related to what you were answering in this comment but it's related to some problems I have to deal since I'm constantly moving my /home folder from a distribution to another.

I always have to delete files like ~/.local/share/applications/ _.desktop because otherwise it will show stuff that shouldn 't be available in a freshly-installed distribution and it makes me think it's _"contaminated"*. I wanted to know how this new implementation deals with those cases.

BTW, congratulations! You made a systemd "hater" like me agree with you. I would be really grateful if this solution made me forget about cleaning up my home before a new install. Have a nice day!

</comment></comment></comment><comment><USER18> (Incoming downvotes. Sorry I can't contain myself. Yes, it's sarcasm and I hate that I feel like I have to preface this)

>>>

      improve
        intransitive verb
            To raise to a more desirable or more excellent quality or condition; make better.
        intransitive verb
            To increase the productivity or value of (land or property).
        intransitive verb
            To become better.

>>>

Either we need a new definition, or start calling it GNU/systemd

edit: What I'm actually trying to get at is- "are all distros that implement systemd expected to jump on every major architectural change that Lennart&co come up with?" Is this not asking a lot? That's a ton of weight and a lot decisions that have been traditionally owned by the distros. Maybe nobody actually wants to think about this stuff, though.

<comment><USER19> > What I'm actually trying to get at is- "are all distros that implement > systemd expected to jump on every major architectural change that Lennart&co > come up with?"

Yes.

> Is this not asking a lot?

It isn't. Especially since Lennart & co. have done most of the hard work.

> That's a ton of weight and a lot decisions that have been traditionally > owned by the distros.

That's kind of the point. The goal of systemd is to provide a single, unified, comprehensive Linux platform and undo some of the fragmentation that has occurred in the Linux space between distributions. For example, systemd service files work the same irrespective of distro. Upstream developers need supply only one service file that can then be used on all distros.

<comment><USER20> >> That's kind of the point. The goal of systemd is to provide a single, unified, comprehensive Linux platform and undo some of the fragmentation that has occurred in the Linux space between distributions.

Huh I guess I hadn't thought of it that way. I've always viewed the "fragmentation" (opinionated differences giving the end-user more choice) between distros as a feature, not a bug. I don't know, I still feel the "systemd or not" choice still comes off a bit ham-handed. But maybe it doesn't matter anymore (considering that all old/big distros that wanted to implement it probably already have, and any new one is free to use it or not). Probably also has to do with the barrier-to-entry of using Linux being far lower than it used to be (maybe in part due to systemd?)

<comment><USER21> > _I 've always viewed the "fragmentation" (opinionated differences giving the > end-user more choice) between distros as a feature, not a bug._

I see this opinion quite often and I think it's based far too much on "ancient wisdom" and not actually grounded in reality.

Because in practice, the fragmentation has meant that people creating/selling cross-platform desktop apps take one look at linux and think: "Yeah, this isn't worth it".

It means a poorer user experience for Linux novices (and even advanced users), because documentation doesn't always match what's on their desktop. They're missing binaries. Arguments are different. Things are implemented differently not even for the sake of being different, but simply because there was no opportunity to reuse the work, so none was reused (and now backwards- compatibility is in the way of changing that).

It also means that there's a ridiculous amount of duplicated work between all the distributions. That duplicated work takes a toll on _all_ distributions, which run on limited, usually-volunteer manpower.

Those distributions with less manpower, the ones that will actually try new things rather than do something slightly-different, are the ones that are more likely to die. The fragmentation between things that are essentially-the-same creates a higher effort barrier to creating actual new things.

systemd is slowly fixing all of this, _and thank fuck_.

<comment><USER20> I smell what you're steppin' in. It (especially in combination with flatpak/appimage/the-dockerization-of-everything) somewhat protects users from poor decisions that might be made unwittingly by application developers (who, rightfully, should be working on making the best application possible, rather than digging into the brambles of "proper" packaging. For smaller projects with a limited number of maintainers, anyways.)

That's all good and well I think. My biggest peeves will always be around its logging and whatever systemd-resolved tries to do.

</comment></comment></comment></comment></comment><comment><USER22> There was a recent /r/linux thread regarding this.([https://reddit.com/comments/d6w03y](https://reddit.com/comments/d6w03y)) Lennart responds to some questions people had.

<comment><USER23> > User records are not frequently updated and are not typically updated by > multiple players simultaneously.

Would love to see what Lennart measured and how he came to this conclusion.

<comment><USER24> Is this difficult to believe, do you delete users hundreds of times a day ?

<comment><USER22> Well he is 'reinventing' home directories as an independent concept. This storage artifact could be updated frequently and over the network. The concern may be insignifcant until this homed feature has its limits stretched.

<comment><USER9> That quote s about user record - full name, password, expirations, limits etc.. how often do you change this?

It does not apply to user files, there is a completely different mechanism for them

</comment></comment></comment></comment></comment><comment><USER25> So instead of writing a PAM module like normal people... Wait, it already exists. pam_mount, used to typically mount ecryptfs.

Welcome to NIH.

<comment><USER16> Uh oh. This is implemented via a PAM module too. But it does substantially more than pam_mount so not sure what you want. It's like claiming that UNIX 'find' is NIH because 'ls' already can show directory listings.

</comment></comment><comment><USER26> I'm confused. Why can't they remote login to a box with their home directory encrypted?

Is it not enough to have the pubkey stored outside their home? e.g.

        # /etc/ssh/sshd_config
        AuthorizedKeysFile /var/ssh/%u/authorized_keys

Once they authenticate they can run cryptsetup or what-have-you. To me that sounds way better than having randos guess your luks passphrase.

<comment><USER27> Yes, that's certainly a solution.

Or using a certification authority for users (TrustedUserCAKeys in sshd_config), so that any user that has a signed certificate, and owns the corresponding private key, would be allowed to login. No further updates of authroized_keys files needed.

And, to further automate the ssh login, maybe your LUKS container could have a second (Nth) key-slot being a random key RSA-encrypted with the other machine's identity private key? ([https://bjornjohansen.no/encrypt-file-using- ssh-key](https://bjornjohansen.no/encrypt-file-using-ssh-key) for examples)

But generally, I really dislike the use of LUKS in this case, as I think a filesystem based encryption (not encrypting whole block devices) would make more sense. I understand that this isn't as mature as LUKS, though.

</comment></comment><comment><USER28> May be this is a naive question, but it talks about making home directories portable. In that case how does it resolve when two different users on two different machines with the same username try to move it to the same stick ? How does it guarantee unique UIDs across different machines ?

</comment><comment><USER29> So this is how systemd takes over the Linux file system?

</comment><comment><USER30> I think we need less dependence on systemd, not more. It's already a mess.

<comment><USER21> I'd like to see you construct an actual reasonable argument that it's a mess, that isn't based on hearsay or just "I liked it better the old way".

</comment></comment><comment><USER31> This actually looks like a really interesting idea, though I'm curious to see how well it'd handle the combination of both local and shared storage.

</comment><comment><USER32> Cancer now working to improve brain tissue handling.</comment>


The Evolution of Lisp - <AUTHOR> http://www.infoq.com/presentations/Lisp-Guy-Steele-Richard-Gabriel

<comment><USER2> Just FYI, Richard Gabriel will be doing a keynote talk at the upcoming Clojure/West conference in San Jose, Mar 16-17, 2012. Other keynotes include Rich Hickey (creator of Clojure), Stu Halloway, and Bradford Cross. Schedule is here: <http://clojurewest.org/schedule>

Gabriel's talk is 'Engineering(,) A Path to Science: "I don't want to die in a language I can't understand"' and the abstract is here: <http://clojurewest.org/sessions#gabriel>

</comment><comment><USER3> I don't know why the video was so small... I had to re-write the page just to see it at a reasonable size.

<http://jsfiddle.net/8Zhas/embedded/result/>

</comment><comment><USER4> If nothing else, this was great to watch for the delectable geek humor.

</comment><comment><USER5> So scheme started out as an AI project and turned into a dialect of lisp when they realized that the actor model was isomorphic to lexical scope..</comment>


GitHub Nodeload2: Downloads Reloaded - <AUTHOR> https://github.com/blog/900-nodeload2-downloads-reloaded

<comment><USER2> Great example of people that know how and when to appropriately use node.js.

<comment><USER3> Agreed. It's refreshing to be able to see knowledgable people arrive at better solutions.

I love the fact that they come up with the best solution that solves the problem based on their skill set at that time; and when either their skill set improves or the technology improves, they actually go back and replace the current solution with a better one (even if the better solution requires a change of programming language)!

It shows the true power behind hiring the right people. It's not as much about the number of years of experience with a technology stack, as it is proof of a person's ability and willingness to learn new skills.

</comment></comment><comment><USER4> On a tangent, I wonder if GitHub has any plans to serve binary downloads for projects in the future? Given how sleek the site is, this could make it the one-stop shop for many projects.

<comment><USER5> Unless I'm missing something, it already can.

"Downloads/add new download" allows you to upload various files and title them.

See <https://github.com/shabble/terminal-things> (hit the downloads button on the mid right)</comment></comment>


New secret-spilling flaw affects almost every Intel chip since 2011 - <AUTHOR> https://techcrunch.com/2019/05/14/zombieload-flaw-intel-processors/ <comment><USER2> Comments moved to [https://news.ycombinator.com/item?id=19911715](https://news.ycombinator.com/item?id=19911715).

</comment><comment><USER3> Direct link to the bugs' central webpage, which is far more informative than this article: [https://cpu.fail/](https://cpu.fail/)

Included are the papers describing each exploit as well as links to PoC repositories.

Edit: here's a link to the blog describing ZombieLoad, which is perhaps the best high-level overview: [https://www.cyberus- technology.de/posts/2019-05-14-zombieloa...](https://www.cyberus- technology.de/posts/2019-05-14-zombieload.html)

<comment><USER4> The first is on Hacker News as [https://news.ycombinator.com/item?id=19911715](https://news.ycombinator.com/item?id=19911715) .

It hyperlinks to [https://zombieloadattack.com/](https://zombieloadattack.com/) , which is currently on Hacker News as [https://news.ycombinator.com/item?id=19911341](https://news.ycombinator.com/item?id=19911341) .

<comment><USER5> Here's "Zombieload" on Intel's Web site:

[https://software.intel.com/security-software- guidance/softwa...](https://software.intel.com/security-software- guidance/software-guidance/microarchitectural-data-sampling)

</comment></comment></comment><comment><USER6> DUPLICATE MODS

DUPLICATE

For every major story, there's always a TechCruch blogspam at the top of the index, sometimes with less votes than the actual sources they're duplicating.

Just add "sponsored" in front of it and get it over with.</comment>


53 p.c. of Indian households defecate in open: World Bank - <AUTHOR> http://www.thehindu.com/sci-tech/health/policy-and-issues/53-pc-of-indian-households-defecate-in-open-world-bank/article5367467.ece?homepage=true

<comment><USER2> so the soil will be very very fertile! good for you India, good for you!</comment>


Andy Ngô documents violence engulfing Portland and Seattle - <AUTHOR> https://mobile.twitter.com/mrandyngo <comment><USER2> Andy Ngo is not a good source for anything.

<comment><USER3> Why so?</comment></comment>


Barclays CEO pay slashed after he tried to identify whistleblower - <AUTHOR> http://money.cnn.com/2017/04/10/investing/barclays-ceo-pay-cut-whistleblower/index.html?iid=hp-stack-dom <comment><USER2> This is a good example of why CEO pay is wrong. In any normal job, if your salary gets "slashed", you quit your job.

Doesn't this undermine the argument that CEOs need outrageous salaries to be incentivized to work, if you slash their salary, and they keep working?

<comment><USER3> They didn't touch his salary. It was his bonus (what they euphemistically describe as his "variable compensation award") that took the hit.

Taking a hit to your bonus because you messed up big time is perfectly standard.

<comment><USER4> "Absolutely standard" for whom? What percentage of the workforce even has one, excluding $50 gift cards and other such token gestures?

<comment><USER5> I'd assume most tech workers. Most that i'm personally aware of 'bonus' have an individual performance multiplier attached. Can get <Standard> * 2 or <standard> * .5 depending how well you (and/or the company) performed that year.

<comment><USER6> Haven't had one for the last 5 years.

The job I'm starting in next month has though.

Here in Norway bonuses doesn't seem to be considered mandatory.

<comment><USER7> If it's mandatory, then it's not a bonus. It's just salary.

<comment><USER6> Poor wording from my side I guess. I mean it seems like some companies has to offer bonuses to attract talent while only very successful companies or companies that sometimes compete for top talent offer it for engineers here.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> He claims he didn't know it was wrong. Yea right.

<comment><USER9> To be fair people completely devoid of empathy often don't know why causing suffering is wrong. Until it happens to them at least.

</comment></comment><comment><USER10> Is anyone ticked that for an article about Barclays and Banking, I get a video talking about Trump's "town hall"?

</comment><comment><USER11> ... but no (slight) slap on the hand, and not even going to bed without dinner ...

</comment><comment><USER12> Poor guy... he only made $5.2 million...?

<comment><USER13> His mistake was not working as a CEO in the USA... everyone knows CEOs there make hundreds of trillions of dollars. /s</comment></comment>


Show HN: How a machine learning model understands logo similarity - <AUTHOR> Hi HN,
I'm a co-founder of Aesthetic, a new kind of research tool for designers.
Our upcoming app lets designers search the world of design using images or text. To understand and improve the quality of our visual similarity models, we want a more intuitive way to interpret some of the distances between our logo corpus.
My co-founder Andrew Look created this awesome tool using Tensorflow, Inception, t-sne and a subset of our logos corpus.
We just published a cool video of it, published it our website. See it here: www.aesthetic.com
And, here's another data viz that we didn't post on our landing page: https://gph.is/g/aNWDeoq <comment><USER2> Posts without URLs get penalized, so you should make a new post that points to your site, then post your text as a first comment in the thread. If you do, email email@example.com so we can make sure that it doesn't get flagged. You might also include the backstory of how you came to work on this and explaining what's different about it. That tends to seed discussion in a good direction.

Edit: I took a quick look at www.aesthetic.com and it appeared to be a signup form rather than something users can directly try out now. If that's the case, it would be better to wait before reposting your Show HN: see [https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html).</comment>


Ask Hn: review my weekend project - <AUTHOR> http://nolaladies.com

<comment><AUTHOR> I've seen everyone liked the (slightly creepy, I admit) "find girls near me" apps over the last few days, so I made one for my home. I think that whoever scales this type of thing to the whole US or even the biggest n cities could make a decent revenue stream out of it if it's done right.

</comment><comment><USER2> What is a Nola Lady? From latin "does not want"?

<comment><AUTHOR> NOLA is New Orleans, LouisianA, usa. Definitely not clear to a global audience</comment></comment>


TCC version 0.9.27 is out - <AUTHOR> http://lists.nongnu.org/archive/html/tinycc-devel/2017-12/msg00015.html <comment><USER2> TCC (Tiny C Compiler) is very underrated in my opinion. It is so fast that almost anything compiles instantly, and it is so simple, that it is a great way to start with C.</comment>


Simple Domain registration APIs? - <AUTHOR>

Hi all,
I am currently creating a site where, as part of it, I want a user to be able to choose and register a domain name. So far, the only way I've found to implement this is to sign up for one of various reseller accounts and they all want several hundred dollars of deposit or other payments. They all seemed to be geared towards hosting resellers too.
Does anyone know a really simple service I can use where I sign up and get charged on a pay-as-you-go basis?
Thanks in advance. <comment><USER2> Contact the guys at domai.nr I've talked with them before. They have a integration with godaddy that is able to check availability and earn a comission if the user buys a domain name through the service. They also use 101domain for obscure .nr, .ly., etc TLDs

</comment><comment><USER3> I've looked around for something like this quite a bit. The best I found were via eNom, InternetBS, and GoDaddy - but they were all pretty terrible and / or felt skeezy.

If you find something good, let us know!

<comment><AUTHOR> InternetBS seems to be what I want - minimal setup fees - so I'll give it a whirl. Thanks for the tip. As for something better, if I find (or make!) something I'll let you know.

</comment></comment><comment><USER4> <http://www.directi.com> is another reseller with an API

</comment><comment><USER5> You might talk to @chrislunt about this. I know that he went through the ringer evaluating options with his last start-up, Nombray.

<comment><AUTHOR> I'll give him a ping and see what he says, thanks</comment></comment>